nixpkgs/pkgs/applications/networking/nym/default.nix

57 lines
1.4 KiB
Nix

{ stdenv
, lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, openssl
, Security
, libiconv
}:
rustPlatform.buildRustPackage rec {
pname = "nym";
version = "0.11.0";
src = fetchFromGitHub {
owner = "nymtech";
repo = "nym";
rev = "v${version}";
sha256 = "sha256-bZXbteryXkOxft63zUMWdpBgbDSvrBHQY3f70/+mBtI=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"sphinx-0.1.0" = "sha256-/NW6jHZIi2Pe/m6o86FR0pLsSuRVuLYNTTPU7JEf/Us=";
};
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security libiconv ];
checkType = "debug";
passthru.updateScript = ./update.sh;
checkFlags = [
"--skip commands::upgrade::upgrade_tests"
"--skip allowed_hosts::tests::creating_a_new_host_store"
"--skip allowed_hosts::tests::getting_the_domain_root"
"--skip allowed_hosts::tests::requests_to_allowed_hosts"
"--skip allowed_hosts::tests::requests_to_unknown_hosts"
];
meta = with lib; {
description = "A mixnet providing IP-level privacy";
longDescription = ''
Nym routes IP packets through other participating nodes to hide their source and destination.
In contrast with Tor, it prevents timing attacks at the cost of latency.
'';
homepage = "https://nymtech.net";
license = licenses.asl20;
maintainers = [ maintainers.ehmry ];
platforms = platforms.all;
};
}