nixpkgs/pkgs/tools/networking/shadowsocks-libev/default.nix

50 lines
1.4 KiB
Nix

{ withMbedTLS ? true
, enableSystemSharedLib ? true
, stdenv, fetchurl, zlib
, openssl ? null
, mbedtls ? null
, libev ? null
, libsodium ? null
, udns ? null
}:
let
version = "2.4.7";
sha256 = "957265cc5339e020d8c8bb7414ab14936e3939dc7355f334aec896ec9b03c6ed";
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "shadowsocks-libev-${version}";
src = fetchurl {
url = "https://github.com/shadowsocks/shadowsocks-libev/archive/v${version}.tar.gz";
inherit sha256;
};
buildInputs = [ zlib ]
++ optional (!withMbedTLS) openssl
++ optional withMbedTLS mbedtls
++ optional enableSystemSharedLib [libev libsodium udns];
configureFlags = optional withMbedTLS
[ "--with-crypto-library=mbedtls"
"--with-mbedtls=${mbedtls}"
]
++ optional enableSystemSharedLib "--enable-system-shared-lib";
meta = {
description = "A lightweight secured SOCKS5 proxy";
longDescription = ''
Shadowsocks-libev is a lightweight secured SOCKS5 proxy for embedded devices and low-end boxes.
It is a port of Shadowsocks created by @clowwindy, which is maintained by @madeye and @linusyang.
'';
homepage = https://github.com/shadowsocks/shadowsocks-libev;
license = licenses.gpl3Plus;
maintainers = [ maintainers.nfjinjing ];
platforms = platforms.all;
};
}