python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / networking / innernet / default.nix
blob8c7660f695f6224d4d58270b95498d618a284ec2
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , llvmPackages
6 , sqlite
7 , installShellFiles
8 , Security
9 , libiconv
10 , innernet
11 , testers
14 rustPlatform.buildRustPackage rec {
15   pname = "innernet";
16   version = "1.5.5";
18   src = fetchFromGitHub {
19     owner = "tonarino";
20     repo = "innernet";
21     rev = "v${version}";
22     sha256 = "sha256-jUL7/jHjfgpLg6728JQETbBcC2Q3G8d31oiwhkS+FD0=";
23   };
24   cargoSha256 = "sha256-qQ6yRI0rNxV/TRZHCR69h6kx6L2Wp75ziw+B2P8LZmE=";
26   nativeBuildInputs = with llvmPackages; [
27     llvm
28     clang
29     installShellFiles
30   ];
31   buildInputs = [ sqlite ] ++ lib.optionals stdenv.isDarwin [ Security libiconv ];
33   LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
35   postInstall = ''
36     installManPage doc/innernet-server.8.gz
37     installManPage doc/innernet.8.gz
38     installShellCompletion doc/innernet.completions.{bash,fish,zsh}
39     installShellCompletion doc/innernet-server.completions.{bash,fish,zsh}
40   '' + (lib.optionalString stdenv.isLinux ''
41     find . -regex '.*\.\(target\|service\)' | xargs install -Dt $out/lib/systemd/system
42     find $out/lib/systemd/system -type f | xargs sed -i "s|/usr/bin/innernet|$out/bin/innernet|"
43   '');
45   passthru.tests = {
46     serverVersion = testers.testVersion { package = innernet; command = "innernet-server --version"; };
47     version = testers.testVersion { package = innernet; command = "innernet --version"; };
48   };
50   meta = with lib; {
51     description = "A private network system that uses WireGuard under the hood";
52     homepage = "https://github.com/tonarino/innernet";
53     license = licenses.mit;
54     maintainers = with maintainers; [ tomberek _0x4A6F ];
55   };