77 lines
1.5 KiB
Nix
77 lines
1.5 KiB
Nix
|
{ 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";
|
||
|
};
|
||
|
}
|