Install this version:
emerge -a =net-proxy/shadowsocks-libev-3.3.6-r1
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =net-proxy/shadowsocks-libev-3.3.6-r1
Or alternatively:
emerge --autounmask-write -a =net-proxy/shadowsocks-libev-3.3.6-r1
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PV="v${PV}"
inherit cmake dot-a systemd
DESCRIPTION="A lightweight secured SOCKS5 proxy for embedded devices and low end boxes"
HOMEPAGE="https://github.com/shadowsocks/shadowsocks-libev"
#repack with git submodule populated: libbloom, libcork, libipset
#SRC_URI="https://dev.gentoo.org/~dlan/distfiles/${P}.tar.xz"
SRC_URI="https://github.com/shadowsocks/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
IUSE="debug doc"
RDEPEND="net-libs/mbedtls:0=
>=net-libs/libbloom-1.6
net-libs/libcork
net-libs/libcorkipset
>=dev-libs/libsodium-1.0.8:=
dev-libs/libev
net-dns/c-ares
dev-libs/libpcre
"
DEPEND="${RDEPEND}
sys-kernel/linux-headers
doc? (
app-text/asciidoc
app-text/xmlto
)
"
PATCHES=(
"${FILESDIR}"/${P}-werror.patch
"${FILESDIR}"/${P}-doc.patch
)
src_configure() {
local mycmakeargs=(
-DWITH_EMBEDDED_SRC=OFF
-DWITH_STATIC=OFF
-DWITH_DOCS="$(usex doc)"
)
cmake_src_configure
}
src_install() {
cmake_src_install
strip-lto-bytecode
find "${D}" -name '*.la' -type f -delete || die
insinto "/etc/${PN}"
newins "${FILESDIR}/shadowsocks.json" shadowsocks.json
newinitd "${FILESDIR}/shadowsocks.initd" shadowsocks
dosym shadowsocks /etc/init.d/shadowsocks.server
dosym shadowsocks /etc/init.d/shadowsocks.client
dosym shadowsocks /etc/init.d/shadowsocks.redir
dosym shadowsocks /etc/init.d/shadowsocks.tunnel
use doc && dodoc -r acl
for i in debian/${PN}*.service; do
systemd_newunit $i $(basename $i)
done
}
pkg_setup() {
elog "You need to choose the mode"
elog " server: rc-update add shadowsocks.server default"
elog " client: rc-update add shadowsocks.client default"
elog " redir: rc-update add shadowsocks.redir default"
elog " tunnel: rc-update add shadowsocks.tunnel default"
}
Manage flags for this package:
euse -i <flag> -p net-proxy/shadowsocks-libev |
euse -E <flag> -p net-proxy/shadowsocks-libev |
euse -D <flag> -p net-proxy/shadowsocks-libev
net-libs/mbedtls:0= >=net-libs/libbloom-1.6 net-libs/libcork net-libs/libcorkipset >=dev-libs/libsodium-1.0.8:= dev-libs/libev net-dns/c-ares dev-libs/libpcre sys-kernel/linux-headers doc? ( app-text/asciidoc app-text/xmlto )
net-libs/mbedtls:0= >=net-libs/libbloom-1.6 net-libs/libcork net-libs/libcorkipset >=dev-libs/libsodium-1.0.8:= dev-libs/libev net-dns/c-ares dev-libs/libpcre