Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
1.6 kB · 67 lines
Nix
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768{ lib, fetchFromGitHub, nixosTests, rustPlatform, stdenv, installShellFiles, cmake, libsodium, pkg-config, nix-update-script,}:rustPlatform.buildRustPackage (finalAttrs: { pname = "rosenpass"; version = "0.2.2";
src = fetchFromGitHub { owner = "rosenpass"; repo = "rosenpass"; tag = "v${finalAttrs.version}"; hash = "sha256-fQIeKGyTkFWUV9M1o256G4U1Os5OlVsRZu+5olEkbD4="; };
cargoHash = "sha256-vx6kSdDOXiIp2626yKVieDuS9DD5/wKyXutMiKMKn24=";
nativeBuildInputs = [ cmake # for oqs build in the oqs-sys crate pkg-config rustPlatform.bindgenHook # for C-bindings in the crypto libs installShellFiles ];
buildInputs = [ libsodium ];
# nix defaults to building for aarch64 _without_ the armv8-a # crypto extensions, but liboqs depends on these preBuild = lib.optionalString stdenv.hostPlatform.isAarch64 '' NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -march=armv8-a+crypto" '';
postInstall = '' installManPage doc/rosenpass.1 '';
passthru = { tests = { inherit (nixosTests) rosenpass; }; updateScript = nix-update-script { }; };
meta = { description = "Build post-quantum-secure VPNs with WireGuard"; homepage = "https://rosenpass.eu/"; license = with lib.licenses; [ mit # or asl20 ]; maintainers = with lib.maintainers; [ wucke13 ]; teams = with lib.teams; [ ngi ]; platforms = [ "aarch64-darwin" "aarch64-linux" "x86_64-darwin" "x86_64-linux" ]; mainProgram = "rosenpass"; };})