narsil: bbc8fc5efd779ec885045f9b8d903d0df1bec1b2 -> f5ec6bd6b8013f2a2b74fc45b6f4c5374...
[NixPkgs.git] / pkgs / by-name / cj / cjdns / package.nix
blobb08ab4d6bb857d8e8c5bf49768cb582dda846d5b
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   rustPlatform,
6   nodejs,
7   which,
8   python39,
9   libuv,
10   util-linux,
11   nixosTests,
12   libsodium,
13   pkg-config,
14   replaceVars,
17 rustPlatform.buildRustPackage rec {
18   pname = "cjdns";
19   version = "21.4";
21   src = fetchFromGitHub {
22     owner = "cjdelisle";
23     repo = "cjdns";
24     rev = "cjdns-v${version}";
25     sha256 = "sha256-vI3uHZwmbFqxGasKqgCl0PLEEO8RNEhwkn5ZA8K7bxU=";
26   };
28   patches = [
29     (replaceVars ./system-libsodium.patch {
30       libsodium_include_dir = "${libsodium.dev}/include";
31     })
32   ];
34   cargoLock = {
35     lockFile = ./Cargo.lock;
36     outputHashes = {
37       "libsodium-sys-0.2.6" = "sha256-yr6wh0njbCFZViLROcqSSoRFj7ZAMYG5lo1g0j75SN0=";
38     };
39   };
41   nativeBuildInputs =
42     [
43       which
44       python39
45       nodejs
46       pkg-config
47     ]
48     ++
49     # for flock
50     lib.optional stdenv.hostPlatform.isLinux util-linux;
52   buildInputs = [
53     libuv
54     libsodium
55   ];
57   env.SODIUM_USE_PKG_CONFIG = 1;
58   env.NIX_CFLAGS_COMPILE = toString (
59     [
60       "-O2"
61       "-Wno-error=array-bounds"
62       "-Wno-error=stringop-overflow"
63       "-Wno-error=stringop-truncation"
64     ]
65     ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") [
66       "-Wno-error=stringop-overread"
67     ]
68   );
70   passthru.tests.basic = nixosTests.cjdns;
72   meta = with lib; {
73     homepage = "https://github.com/cjdelisle/cjdns";
74     description = "Encrypted networking for regular people";
75     license = licenses.gpl3Plus;
76     maintainers = with maintainers; [ ehmry ];
77     platforms = platforms.linux;
78     broken = stdenv.hostPlatform.isAarch64;
79   };