diff --git a/pkgs/tools/networking/innernet/default.nix b/pkgs/tools/networking/innernet/default.nix index abc7aca61a32..4573db5879e1 100644 --- a/pkgs/tools/networking/innernet/default.nix +++ b/pkgs/tools/networking/innernet/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, rustPlatform, fetchFromGitHub, llvmPackages, linuxHeaders, sqlite, Security }: +{ lib, stdenv, rustPlatform, fetchFromGitHub, llvmPackages, sqlite, installShellFiles, Security }: rustPlatform.buildRustPackage rec { pname = "innernet"; @@ -10,11 +10,37 @@ rustPlatform.buildRustPackage rec { rev = "v${version}"; sha256 = "sha256-Z4F5RYPVgFiiDBg6lxILjAh/a/rL7IJBqHIJ/tQyLnE="; }; + cargoSha256 = "sha256-WSkN5aXMgfqZJAV1b3elF7kwf2f5OpcntKSf8620YcY="; + + nativeBuildInputs = with llvmPackages; [ + llvm + clang + installShellFiles + ]; + buildInputs = [ sqlite ] ++ lib.optionals stdenv.isDarwin [ Security ]; + LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; - nativeBuildInputs = with llvmPackages; [ llvm clang ]; - buildInputs = [ sqlite ] ++ lib.optionals stdenv.isDarwin [ Security ]; - cargoSha256 = "sha256-WSkN5aXMgfqZJAV1b3elF7kwf2f5OpcntKSf8620YcY="; + postInstall = '' + installManPage doc/innernet-server.8.gz + installManPage doc/innernet.8.gz + ''; + + doInstallCheck = true; + installCheckPhase = '' + if [[ "$("$out/bin/${pname}"-server --version)" == "${pname}-server ${version}" ]]; then + echo '${pname}-server smoke check passed' + else + echo '${pname}-server smoke check failed' + return 1 + fi + if [[ "$("$out/bin/${pname}" --version)" == "${pname} ${version}" ]]; then + echo '${pname} smoke check passed' + else + echo '${pname} smoke check failed' + return 1 + fi + ''; meta = with lib; { description = "A private network system that uses WireGuard under the hood";