diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/tang/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/tang/default.nix | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/tang/default.nix b/nixpkgs/pkgs/servers/tang/default.nix new file mode 100644 index 000000000000..e6581921fcb7 --- /dev/null +++ b/nixpkgs/pkgs/servers/tang/default.nix @@ -0,0 +1,76 @@ +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, asciidoc +, jansson +, jose +, http-parser +, systemd +, meson +, ninja +, makeWrapper +, testers +, tang +, gitUpdater +, nixosTests +}: + +stdenv.mkDerivation rec { + pname = "tang"; + version = "15"; + + src = fetchFromGitHub { + owner = "latchset"; + repo = "tang"; + rev = "refs/tags/v${version}"; + hash = "sha256-nlC2hdNzQZrfirjS2gX4oFp2OD1OdxmLsN03hfxD3ug="; + }; + + nativeBuildInputs = [ + asciidoc + meson + ninja + pkg-config + makeWrapper + ]; + + buildInputs = [ + jansson + jose + http-parser + systemd + ]; + + outputs = [ + "out" + "man" + ]; + + postFixup = '' + wrapProgram $out/bin/tang-show-keys --prefix PATH ":" ${lib.makeBinPath [ jose ]} + wrapProgram $out/libexec/tangd-keygen --prefix PATH ":" ${lib.makeBinPath [ jose ]} + wrapProgram $out/libexec/tangd-rotate-keys --prefix PATH ":" ${lib.makeBinPath [ jose ]} + ''; + + passthru = { + tests = { + inherit (nixosTests) tang; + version = testers.testVersion { + package = tang; + command = "${tang}/libexec/tangd --version"; + version = "tangd ${version}"; + }; + }; + updateScript = gitUpdater { }; + }; + + meta = { + description = "Server for binding data to network presence"; + homepage = "https://github.com/latchset/tang"; + changelog = "https://github.com/latchset/tang/releases/tag/v${version}"; + maintainers = with lib.maintainers; [ fpletz ]; + license = lib.licenses.gpl3Plus; + mainProgram = "tangd"; + }; +} |