depot/third_party/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
Default email f34ce41345 Project import generated by Copybara.
GitOrigin-RevId: b73c2221a46c13557b1b3be9c2070cc42cf01eb3
2024-07-27 08:49:29 +02:00

57 lines
1.5 KiB
Nix

{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security, CoreServices }:
rustPlatform.buildRustPackage rec {
pname = "shadowsocks-rust";
version = "1.20.2";
src = fetchFromGitHub {
rev = "v${version}";
owner = "shadowsocks";
repo = pname;
hash = "sha256-sfGt68XpezLKTRlnhjUTive83SA3aXF6uNLwmTCG3tU=";
};
cargoHash = "sha256-p1mPLJIEc3wSfweQfRrlnvAN0t7Ag7d+dxkGUP886Rs=";
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
buildInputs = lib.optionals stdenv.isLinux [ openssl ]
++ lib.optionals stdenv.isDarwin [ Security CoreServices ];
buildFeatures = [
"trust-dns"
"local-http-native-tls"
"local-tunnel"
"local-socks4"
"local-redir"
"local-dns"
"local-tun"
"aead-cipher-extra"
"aead-cipher-2022"
"aead-cipher-2022-extra"
];
# all of these rely on connecting to www.example.com:80
checkFlags = [
"--skip=http_proxy"
"--skip=tcp_tunnel"
"--skip=tcprelay"
"--skip=udp_tunnel"
"--skip=udp_relay"
"--skip=socks4_relay_connect"
"--skip=socks5_relay_aead"
"--skip=socks5_relay_stream"
"--skip=trust_dns_resolver"
];
# timeouts in sandbox
doCheck = false;
meta = with lib; {
description = "Rust port of Shadowsocks";
homepage = "https://github.com/shadowsocks/shadowsocks-rust";
changelog = "https://github.com/shadowsocks/shadowsocks-rust/raw/v${version}/debian/changelog";
license = licenses.mit;
maintainers = [ ];
};
}