1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 pkg-config,
6 openssl,
7 rustfmt,
8}:
9
10rustPlatform.buildRustPackage rec {
11 pname = "zeronsd";
12 version = "0.5.2";
13
14 src = fetchFromGitHub {
15 owner = "zerotier";
16 repo = "zeronsd";
17 rev = "v${version}";
18 hash = "sha256-TL0bgzQgge6j1SpZCdxv/s4pBMSg4/3U5QisjkVE6BE=";
19 };
20
21 cargoHash = "sha256-xIuMANJGRHbYBbhlVMXxIVrukW1NY7ucxO79tIdPSpI=";
22
23 strictDeps = true;
24 buildInputs = [ openssl ];
25 nativeBuildInputs = [ pkg-config ];
26
27 RUSTFMT = "${rustfmt}/bin/rustfmt";
28
29 # Integration tests try to access the ZeroTier API which requires an API token.
30 # https://github.com/zerotier/zeronsd/blob/v0.5.2/tests/service/network.rs#L10
31 doCheck = false;
32
33 meta = with lib; {
34 description = "DNS server for ZeroTier users";
35 homepage = "https://github.com/zerotier/zeronsd";
36 license = licenses.bsd3;
37 maintainers = [ maintainers.dstengele ];
38 };
39}