diff --git a/pkgs/servers/networking/rustus/default.nix b/pkgs/servers/networking/rustus/default.nix new file mode 100644 index 000000000000..a656a80958f5 --- /dev/null +++ b/pkgs/servers/networking/rustus/default.nix @@ -0,0 +1,71 @@ +{ stdenv +, lib +, fetchFromGitHub +, rustPlatform +, nix-update-script +, pkg-config +, openssl +, Security +}: + +let + pname = "rustus"; + version = "0.7.2"; +in +rustPlatform.buildRustPackage { + inherit pname version; + + src = fetchFromGitHub { + owner = "s3rius"; + repo = pname; + rev = version; + hash = "sha256-In/GKtQbp52Zg1cePMJds9aagS3Ga/CKIM+k2efFnKs="; + }; + + cargoHash = "sha256-6pOXiTRquxumoS8fD/yjZI4fh8mGeF2XT4rvkjx0AuU="; + + env.OPENSSL_NO_VENDOR = 1; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.isDarwin [ + Security + ]; + + passthru.updateScript = nix-update-script { }; + + # too many tests fail for now + # doCheck = false; + # checkFlags = [ + # # tries to make a network access + # "--skip=tests::curl_http_ockam" + # "--skip=medium_file_transfer" + # "--skip=medium_file_transfer_large_chunks" + # "--skip=medium_file_transfer_small_chunks" + # "--skip=tiny_file_transfer" + # "--skip=tiny_file_transfer_small_chunks" + # # tries to do IO + # "--skip=cli_state::tests::integration" + # "--skip=cli_state::tests::test_create_default_identity_state" + # "--skip=cli_state::tests::test_create_named_identity_state" + # "--skip=kafka::integration_test::test::producer__flow_with_mock_kafka__content_encryption_and_decryption" + # "--skip=kafka::portal_worker::test::kafka_portal_worker__metadata_exchange__response_changed" + # "--skip=full_flow" + # "--skip=run::parser::tests::detect_circular_dependency" + # "--skip=run::parser::tests::test_parse_config_with_depends_on" + # "--skip=util::tests::test_process_multi_addr" + # ]; + + + meta = with lib; { + description = "TUS protocol implementation in Rust."; + homepage = "https://s3rius.github.io/rustus/"; + license = licenses.asl20; + maintainers = with maintainers; [ happysalada ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bb09ae7e5de9..b97c431fd842 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25463,6 +25463,10 @@ with pkgs; exabgp = callPackage ../servers/networking/exabgp { }; + rustus = callPackage ../servers/networking/rustus { + inherit (darwin.apple_sdk.frameworks) Security; + }; + exim = callPackage ../servers/mail/exim { }; fastnetmon-advanced = callPackage ../servers/fastnetmon-advanced { };