diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix new file mode 100644 index 0000000000000..6a024b72f73e9 --- /dev/null +++ b/pkgs/tools/networking/shadowsocks-rust/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, libsodium, Security }: + +rustPlatform.buildRustPackage rec { + pname = "shadowsocks-rust"; + version = "1.7.0"; + + src = fetchFromGitHub { + rev = "v${version}"; + owner = "shadowsocks"; + repo = pname; + sha256 = "0mqjm54mp6c9mfdl3gf01v9vm2rjll8fw63n6j4qgv01y4hrsm4f"; + }; + + cargoSha256 = "1m0p40z6qx6s0r1x6apz56n2s4ppn8b2cff476xrfhp6s1j046q7"; + + buildInputs = [ openssl libsodium ] + ++ stdenv.lib.optionals stdenv.isDarwin [ Security ]; + nativeBuildInputs = [ pkgconfig ]; + + # tries to read /etc/resolv.conf, hence fails in sandbox + doCheck = false; + + meta = with stdenv.lib; { + homepage = https://github.com/shadowsocks/shadowsocks-rust; + description = "A Rust port of shadowsocks"; + license = licenses.mit; + maintainers = [ maintainers.marsam ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 21175bcf2e4cb..d4e0331f67be2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5447,6 +5447,10 @@ in shadowsocks-libev = callPackage ../tools/networking/shadowsocks-libev { }; + shadowsocks-rust = callPackage ../tools/networking/shadowsocks-rust { + inherit (darwin.apple_sdk.frameworks) Security; + }; + sharutils = callPackage ../tools/archivers/sharutils { }; schema2ldif = callPackage ../tools/text/schema2ldif { };