diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index 97b94c5756a7..8d6bcccb9dae 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -525,6 +525,14 @@ systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/var/www" ]; automatically if stateVersion is 20.09 or higher. + + + udpt experienced a complete rewrite from C++ to rust. The configuration format changed from ini to toml. + The new configuration documentation can be found at + the official website and example + configuration is packaged in ${udpt}/share/udpt/udpt.toml. + + We now have a unified option interface diff --git a/pkgs/servers/udpt/default.nix b/pkgs/servers/udpt/default.nix index 2849f8c7e743..b807d1f0d267 100644 --- a/pkgs/servers/udpt/default.nix +++ b/pkgs/servers/udpt/default.nix @@ -1,45 +1,21 @@ -{ stdenv, fetchFromGitHub, boost, sqlite, cmake, gtest }: +{ stdenv, rustPlatform, fetchFromGitHub }: -stdenv.mkDerivation { +rustPlatform.buildRustPackage rec { pname = "udpt"; - version = "2017-09-27"; - - enableParallelBuilding = true; - - # Suitable for a network facing daemon. - hardeningEnable = [ "pie" ]; + version = "3.1.0"; src = fetchFromGitHub { owner = "naim94a"; repo = "udpt"; - rev = "e0dffc83c8ce76b08a41a4abbd5f8065535d534f"; - sha256 = "187dw96mzgcmh4k9pvfpb7ckbb8d4vlikamr2x8vkpwzgjs3xd6g"; + rev = "${pname}-${version}"; + sha256 = "1g6l0y5x9pdra3i1npkm474glysicm4hf2m01700ack2rp43vldr"; }; - doCheck = true; + cargoSha256 = "1cmd80ndjxdmyfjpm1f04rwf64501nyi6wdsj7lxidgd1v92wy2c"; + verifyCargoDeps = true; - checkPhase = '' - runHook preCheck - - make test - - runHook postCheck - ''; - - buildInputs = [ boost sqlite cmake gtest ]; - - postPatch = '' - # Enabling optimization (implied by fortify hardening) causes htons - # to be re-defined as a macro, turning this use of :: into a syntax error. - sed -i '104a#undef htons' src/udpTracker.cpp - ''; - - installPhase = '' - mkdir -p $out/bin $out/etc/ - cp udpt $out/bin - cp ../udpt.conf $out/etc/ - # without this, the resulting binary is unstripped. - runHook postInstall + postInstall = '' + install -D udpt.toml $out/share/udpt/udpt.toml ''; meta = {