diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/udpt/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/udpt/default.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/udpt/default.nix b/nixpkgs/pkgs/servers/udpt/default.nix new file mode 100644 index 000000000000..9e9816c941d9 --- /dev/null +++ b/nixpkgs/pkgs/servers/udpt/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchFromGitHub, boost, sqlite, cmake, gtest }: + +stdenv.mkDerivation rec { + name = "udpt-${version}"; + version = "2017-09-27"; + + enableParallelBuilding = true; + + # Suitable for a network facing daemon. + hardeningEnable = [ "pie" ]; + + src = fetchFromGitHub { + owner = "naim94a"; + repo = "udpt"; + rev = "e0dffc83c8ce76b08a41a4abbd5f8065535d534f"; + sha256 = "187dw96mzgcmh4k9pvfpb7ckbb8d4vlikamr2x8vkpwzgjs3xd6g"; + }; + + doCheck = 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 + ''; + + meta = { + description = "A lightweight UDP torrent tracker"; + homepage = https://naim94a.github.io/udpt; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ makefu ]; + }; +} |