Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 77 lines 1.5 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 pkg-config, 6 asciidoc, 7 jansson, 8 jose, 9 http-parser, 10 systemd, 11 meson, 12 ninja, 13 makeWrapper, 14 testers, 15 tang, 16 gitUpdater, 17 nixosTests, 18}: 19 20stdenv.mkDerivation rec { 21 pname = "tang"; 22 version = "15"; 23 24 src = fetchFromGitHub { 25 owner = "latchset"; 26 repo = "tang"; 27 tag = "v${version}"; 28 hash = "sha256-nlC2hdNzQZrfirjS2gX4oFp2OD1OdxmLsN03hfxD3ug="; 29 }; 30 31 nativeBuildInputs = [ 32 asciidoc 33 meson 34 ninja 35 pkg-config 36 makeWrapper 37 ]; 38 39 buildInputs = [ 40 jansson 41 jose 42 http-parser 43 systemd 44 ]; 45 46 outputs = [ 47 "out" 48 "man" 49 ]; 50 51 postFixup = '' 52 wrapProgram $out/bin/tang-show-keys --prefix PATH ":" ${lib.makeBinPath [ jose ]} 53 wrapProgram $out/libexec/tangd-keygen --prefix PATH ":" ${lib.makeBinPath [ jose ]} 54 wrapProgram $out/libexec/tangd-rotate-keys --prefix PATH ":" ${lib.makeBinPath [ jose ]} 55 ''; 56 57 passthru = { 58 tests = { 59 inherit (nixosTests) tang; 60 version = testers.testVersion { 61 package = tang; 62 command = "${tang}/libexec/tangd --version"; 63 version = "tangd ${version}"; 64 }; 65 }; 66 updateScript = gitUpdater { }; 67 }; 68 69 meta = { 70 description = "Server for binding data to network presence"; 71 homepage = "https://github.com/latchset/tang"; 72 changelog = "https://github.com/latchset/tang/releases/tag/v${version}"; 73 maintainers = with lib.maintainers; [ fpletz ]; 74 license = lib.licenses.gpl3Plus; 75 mainProgram = "tangd"; 76 }; 77}