biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / networking / innernet / default.nix
blob4627ef34367c2893f33ad83461fc6f2355088ac5
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , sqlite
6 , installShellFiles
7 , Security
8 , libiconv
9 , innernet
10 , testers
13 rustPlatform.buildRustPackage rec {
14   pname = "innernet";
15   version = "1.6.1";
17   src = fetchFromGitHub {
18     owner = "tonarino";
19     repo = "innernet";
20     rev = "refs/tags/v${version}";
21     hash = "sha256-dFMAzLvPO5xAfJqUXdiLf13uh5H5ay+CI9aop7Fhprk=";
22   };
24   cargoHash = "sha256-39LryfisVtNMX2XLPh/AEQ1KzVtwdE3wuTaTbxGMaBI=";
26   nativeBuildInputs = [
27     rustPlatform.bindgenHook
28     installShellFiles
29   ];
31   buildInputs = [
32     sqlite
33   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
34     Security
35     libiconv
36   ];
38   postInstall = ''
39     installManPage doc/innernet-server.8.gz
40     installManPage doc/innernet.8.gz
41     installShellCompletion doc/innernet.completions.{bash,fish,zsh}
42     installShellCompletion doc/innernet-server.completions.{bash,fish,zsh}
43   '' + (lib.optionalString stdenv.hostPlatform.isLinux ''
44     find . -regex '.*\.\(target\|service\)' | xargs install -Dt $out/lib/systemd/system
45     find $out/lib/systemd/system -type f | xargs sed -i "s|/usr/bin/innernet|$out/bin/innernet|"
46   '');
48   passthru.tests = {
49     serverVersion = testers.testVersion { package = innernet; command = "innernet-server --version"; };
50     version = testers.testVersion { package = innernet; command = "innernet --version"; };
51   };
53   meta = with lib; {
54     description = "Private network system that uses WireGuard under the hood";
55     homepage = "https://github.com/tonarino/innernet";
56     changelog = "https://github.com/tonarino/innernet/releases/tag/v${version}";
57     license = licenses.mit;
58     maintainers = with maintainers; [ tomberek _0x4A6F ];
59   };