summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-proxy')
-rw-r--r--net-proxy/3proxy/3proxy-0.9.4.ebuild (renamed from net-proxy/3proxy/3proxy-0.8.9.ebuild)23
-rw-r--r--net-proxy/3proxy/Manifest2
-rw-r--r--net-proxy/3proxy/files/3proxy-0.8.8-gentoo.patch43
-rw-r--r--net-proxy/3proxy/files/3proxy-0.9.4-function-pointer-fix.patch58
-rw-r--r--net-proxy/3proxy/files/3proxy-0.9.4-gentoo.patch38
-rw-r--r--net-proxy/3proxy/metadata.xml10
-rw-r--r--net-proxy/adzapper/adzapper-20110915-r2.ebuild21
-rw-r--r--net-proxy/adzapper/metadata.xml3
-rw-r--r--net-proxy/cntlm/cntlm-0.93_beta5-r4.ebuild (renamed from net-proxy/cntlm/cntlm-0.93_beta5-r2.ebuild)34
-rw-r--r--net-proxy/cntlm/files/cntlm-0.93_beta5-buildsystem.patch8
-rw-r--r--net-proxy/cntlm/files/cntlm-0.93_beta5-configure-clang16.patch31
-rw-r--r--net-proxy/cntlm/metadata.xml6
-rw-r--r--net-proxy/dante/dante-1.4.1-r6.ebuild (renamed from net-proxy/dante/dante-1.4.1-r1.ebuild)41
-rw-r--r--net-proxy/dante/metadata.xml3
-rw-r--r--net-proxy/dnsproxy/metadata.xml17
-rw-r--r--net-proxy/haproxy-dataplaneapi/Manifest6
-rw-r--r--net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.8.0.ebuild27
-rw-r--r--net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.8.1.ebuild27
-rw-r--r--net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.9.ebuild27
-rw-r--r--net-proxy/haproxy-dataplaneapi/metadata.xml8
-rw-r--r--net-proxy/haproxy/Manifest23
-rw-r--r--net-proxy/haproxy/files/haproxy-1.7-contrib.patch31
-rw-r--r--net-proxy/haproxy/files/haproxy.confd-r1 (renamed from net-proxy/haproxy/files/haproxy.confd)2
-rw-r--r--net-proxy/haproxy/files/haproxy.initd-r8 (renamed from net-proxy/haproxy/files/haproxy.initd-r6)8
-rw-r--r--net-proxy/haproxy/haproxy-1.6.11-r2.ebuild164
-rw-r--r--net-proxy/haproxy/haproxy-1.6.14.ebuild158
-rw-r--r--net-proxy/haproxy/haproxy-1.7.10.ebuild159
-rw-r--r--net-proxy/haproxy/haproxy-1.7.11.ebuild159
-rw-r--r--net-proxy/haproxy/haproxy-1.8.13.ebuild169
-rw-r--r--net-proxy/haproxy/haproxy-1.8.18.ebuild169
-rw-r--r--net-proxy/haproxy/haproxy-1.8.19.ebuild169
-rw-r--r--net-proxy/haproxy/haproxy-1.8.9.ebuild169
-rw-r--r--net-proxy/haproxy/haproxy-1.9.6-r1.ebuild173
-rw-r--r--net-proxy/haproxy/haproxy-1.9.7.ebuild173
-rw-r--r--net-proxy/haproxy/haproxy-1.9.9999.ebuild173
-rw-r--r--net-proxy/haproxy/haproxy-2.4.23.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.4.25.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.4.26.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.4.9999.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.6.14.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.6.16.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.6.17.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.6.9999.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.7.11.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.7.9.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.7.9999.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.8.7.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.8.9.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.8.9999.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.9.6.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.9.7.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-2.9.9999.ebuild218
-rw-r--r--net-proxy/haproxy/haproxy-9999.ebuild218
-rw-r--r--net-proxy/haproxy/metadata.xml6
-rw-r--r--net-proxy/hatop/Manifest2
-rw-r--r--net-proxy/hatop/files/hatop-0.8.2-python312.patch73
-rw-r--r--net-proxy/hatop/hatop-0.8.2.ebuild (renamed from net-proxy/hatop/hatop-0.7.7.ebuild)18
-rw-r--r--net-proxy/hatop/metadata.xml2
-rw-r--r--net-proxy/havp/files/havp-0.92a-gcc12-time.patch11
-rw-r--r--net-proxy/havp/havp-0.92a-r3.ebuild (renamed from net-proxy/havp/havp-0.92a-r2.ebuild)55
-rw-r--r--net-proxy/havp/metadata.xml13
-rw-r--r--net-proxy/http-replicator/Manifest2
-rw-r--r--net-proxy/http-replicator/files/http-replicator-3-missing-directory.patch51
-rw-r--r--net-proxy/http-replicator/files/http-replicator-3-unique-cache-name.patch31
-rw-r--r--net-proxy/http-replicator/files/http-replicator-3.0-callrepcacheman-0.13
-rw-r--r--net-proxy/http-replicator/files/http-replicator-3.0-repcacheman-0.44-r2201
-rw-r--r--net-proxy/http-replicator/files/http-replicator-3.0-sighup.patch20
-rw-r--r--net-proxy/http-replicator/files/http-replicator-3.0.conf46
-rw-r--r--net-proxy/http-replicator/files/http-replicator-3.0.init20
-rw-r--r--net-proxy/http-replicator/files/http-replicator-4.0_alpha2-ipv6.patch68
-rw-r--r--net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r2.conf46
-rw-r--r--net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3-pid.patch101
-rw-r--r--net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3.init21
-rw-r--r--net-proxy/http-replicator/files/http-replicator.service11
-rw-r--r--net-proxy/http-replicator/files/http-replicator.service.conf3
-rw-r--r--net-proxy/http-replicator/http-replicator-3.0-r8.ebuild93
-rw-r--r--net-proxy/http-replicator/http-replicator-4.0_alpha2-r7.ebuild78
-rw-r--r--net-proxy/http-replicator/metadata.xml8
-rw-r--r--net-proxy/lyrebird/Manifest2
-rw-r--r--net-proxy/lyrebird/lyrebird-0.1.0.ebuild46
-rw-r--r--net-proxy/lyrebird/metadata.xml8
-rw-r--r--net-proxy/metadata.xml3
-rw-r--r--net-proxy/microsocks/Manifest2
-rw-r--r--net-proxy/microsocks/files/microsocks.confd4
-rw-r--r--net-proxy/microsocks/files/microsocks.initd14
-rw-r--r--net-proxy/microsocks/metadata.xml11
-rw-r--r--net-proxy/microsocks/microsocks-1.0.2.ebuild30
-rw-r--r--net-proxy/microsocks/microsocks-1.0.3.ebuild30
-rw-r--r--net-proxy/mitmproxy/Manifest2
-rw-r--r--net-proxy/mitmproxy/metadata.xml20
-rw-r--r--net-proxy/mitmproxy/mitmproxy-4.0.4.ebuild83
-rw-r--r--net-proxy/mitmproxy/mitmproxy-9.0.1.ebuild74
-rw-r--r--net-proxy/nutcracker/Manifest3
-rw-r--r--net-proxy/nutcracker/files/nutcracker-0.2.4-use-system-libyaml.patch64
-rw-r--r--net-proxy/nutcracker/files/nutcracker-0.3.0-use-system-libyaml.patch15
-rw-r--r--net-proxy/nutcracker/files/nutcracker-0.5.0-configure-bashism.patch11
-rw-r--r--net-proxy/nutcracker/files/nutcracker-0.5.0-md5_signature-lto-mismatch.patch12
-rw-r--r--net-proxy/nutcracker/files/nutcracker-0.5.0-use-system-libyaml.patch62
-rw-r--r--net-proxy/nutcracker/files/nutcracker.confd9
-rw-r--r--net-proxy/nutcracker/files/nutcracker.initd39
-rw-r--r--net-proxy/nutcracker/metadata.xml2
-rw-r--r--net-proxy/nutcracker/nutcracker-0.2.4.ebuild43
-rw-r--r--net-proxy/nutcracker/nutcracker-0.3.0.ebuild43
-rw-r--r--net-proxy/nutcracker/nutcracker-0.4.1-r1.ebuild26
-rw-r--r--net-proxy/nutcracker/nutcracker-0.5.0.ebuild51
-rw-r--r--net-proxy/nylon/Manifest1
-rw-r--r--net-proxy/nylon/files/nylon-1.21-libevent.patch63
-rw-r--r--net-proxy/nylon/files/nylon.conf37
-rw-r--r--net-proxy/nylon/files/nylon.init22
-rw-r--r--net-proxy/nylon/metadata.xml7
-rw-r--r--net-proxy/nylon/nylon-1.21-r2.ebuild35
-rw-r--r--net-proxy/obfs4proxy/Manifest7
-rw-r--r--net-proxy/obfs4proxy/metadata.xml15
-rw-r--r--net-proxy/obfs4proxy/obfs4proxy-0.0.7.ebuild48
-rw-r--r--net-proxy/obfs4proxy/obfs4proxy-0.0.9.ebuild49
-rw-r--r--net-proxy/pingtunnel/files/pingtunnel-0.72-musl.patch10
-rw-r--r--net-proxy/pingtunnel/files/pingtunnel-0.72_makefile.patch4
-rw-r--r--net-proxy/pingtunnel/metadata.xml6
-rw-r--r--net-proxy/pingtunnel/pingtunnel-0.72.ebuild33
-rw-r--r--net-proxy/piper/metadata.xml2
-rw-r--r--net-proxy/piper/piper-1.14.ebuild11
-rw-r--r--net-proxy/polipo/Manifest1
-rw-r--r--net-proxy/polipo/files/config8
-rw-r--r--net-proxy/polipo/files/polipo.crond-222
-rw-r--r--net-proxy/polipo/files/polipo.initd-565
-rw-r--r--net-proxy/polipo/files/polipo_at.service11
-rw-r--r--net-proxy/polipo/metadata.xml8
-rw-r--r--net-proxy/polipo/polipo-1.1.1-r4.ebuild61
-rw-r--r--net-proxy/polipo/polipo-9999.ebuild61
-rw-r--r--net-proxy/privoxy/Manifest4
-rw-r--r--net-proxy/privoxy/files/privoxy-3.0.28-strip.patch47
-rw-r--r--net-proxy/privoxy/files/privoxy-3.0.32-gentoo.patch (renamed from net-proxy/privoxy/files/privoxy-3.0.19-gentoo.patch)49
-rw-r--r--net-proxy/privoxy/files/privoxy-3.0.33-configure-c99.patch34
-rw-r--r--net-proxy/privoxy/files/privoxy-3.0.33-configure-msan.patch13
-rw-r--r--net-proxy/privoxy/metadata.xml20
-rw-r--r--net-proxy/privoxy/privoxy-3.0.33-r1.ebuild159
-rw-r--r--net-proxy/privoxy/privoxy-3.0.33.ebuild (renamed from net-proxy/privoxy/privoxy-3.0.28.ebuild)77
-rw-r--r--net-proxy/privoxy/privoxy-3.0.34.ebuild (renamed from net-proxy/privoxy/privoxy-3.0.26.ebuild)81
-rw-r--r--net-proxy/ratproxy/Manifest1
-rw-r--r--net-proxy/ratproxy/files/ratproxy-Makefile.patch19
-rw-r--r--net-proxy/ratproxy/metadata.xml17
-rw-r--r--net-proxy/ratproxy/ratproxy-1.58.ebuild43
-rw-r--r--net-proxy/redsocks/files/redsocks.init53
-rw-r--r--net-proxy/redsocks/files/redsocks.init-r245
-rw-r--r--net-proxy/redsocks/metadata.xml2
-rw-r--r--net-proxy/redsocks/redsocks-0.5-r2.ebuild (renamed from net-proxy/redsocks/redsocks-0.5.ebuild)26
-rw-r--r--net-proxy/redsocks/redsocks-9999.ebuild26
-rw-r--r--net-proxy/rejik/Manifest2
-rw-r--r--net-proxy/rejik/metadata.xml2
-rw-r--r--net-proxy/rejik/rejik-3.2.11.ebuild (renamed from net-proxy/rejik/rejik-3.2.10.ebuild)45
-rw-r--r--net-proxy/shadowsocks-libev/Manifest3
-rw-r--r--net-proxy/shadowsocks-libev/files/shadowsocks-libev-local_at.service11
-rw-r--r--net-proxy/shadowsocks-libev/files/shadowsocks-libev-redir_at.service11
-rw-r--r--net-proxy/shadowsocks-libev/files/shadowsocks-libev-server_at.service11
-rw-r--r--net-proxy/shadowsocks-libev/files/shadowsocks-libev-tunnel_at.service11
-rw-r--r--net-proxy/shadowsocks-libev/files/shadowsocks.initd9
-rw-r--r--net-proxy/shadowsocks-libev/metadata.xml2
-rw-r--r--net-proxy/shadowsocks-libev/shadowsocks-libev-3.2.4.ebuild83
-rw-r--r--net-proxy/shadowsocks-libev/shadowsocks-libev-3.3.5.ebuild (renamed from net-proxy/shadowsocks-libev/shadowsocks-libev-3.2.5.ebuild)21
-rw-r--r--net-proxy/sqtop/Manifest1
-rw-r--r--net-proxy/sqtop/files/sqtop-2015.02.08-ncurses.patch15
-rw-r--r--net-proxy/sqtop/metadata.xml18
-rw-r--r--net-proxy/sqtop/sqtop-2015.02.08.ebuild29
-rw-r--r--net-proxy/squid/Manifest6
-rw-r--r--net-proxy/squid/files/squid-4.17-use-system-libltdl.patch16
-rw-r--r--net-proxy/squid/files/squid-6.2-gentoo.patch (renamed from net-proxy/squid/files/squid-4.3-gentoo.patch)57
-rw-r--r--net-proxy/squid/files/squid-6.4-gcc14-algorithm.patch12
-rw-r--r--net-proxy/squid/files/squid.initd-r6 (renamed from net-proxy/squid/files/squid.initd-r5)8
-rw-r--r--net-proxy/squid/metadata.xml51
-rw-r--r--net-proxy/squid/squid-4.6.ebuild276
-rw-r--r--net-proxy/squid/squid-6.5.ebuild386
-rw-r--r--net-proxy/squid/squid-6.6.ebuild391
-rw-r--r--net-proxy/squid/squid-6.7.ebuild391
-rw-r--r--net-proxy/squidguard/Manifest2
-rw-r--r--net-proxy/squidguard/files/squidguard-1.5_beta-gentoo.patch50
-rw-r--r--net-proxy/squidguard/files/squidguard-1.5_beta-protocol.patch130
-rw-r--r--net-proxy/squidguard/files/squidguard-1.6.0-gcc-10.patch54
-rw-r--r--net-proxy/squidguard/files/squidguard-1.6.0-gentoo.patch33
-rw-r--r--net-proxy/squidguard/files/squidguard-1.6.0-stdlib.patch22
-rw-r--r--net-proxy/squidguard/metadata.xml2
-rw-r--r--net-proxy/squidguard/squidguard-1.6.0-r1.ebuild (renamed from net-proxy/squidguard/squidguard-1.5_beta-r2.ebuild)63
-rw-r--r--net-proxy/squirm/files/squirm-1.26-fno-common.patch25
-rw-r--r--net-proxy/squirm/files/squirm-1.26-gentoo.patch5
-rw-r--r--net-proxy/squirm/metadata.xml5
-rw-r--r--net-proxy/squirm/squirm-1.26-r1.ebuild10
-rw-r--r--net-proxy/sshuttle/Manifest5
-rw-r--r--net-proxy/sshuttle/metadata.xml18
-rw-r--r--net-proxy/sshuttle/sshuttle-0.78.5.ebuild53
-rw-r--r--net-proxy/sshuttle/sshuttle-1.1.1.ebuild74
-rw-r--r--net-proxy/sshuttle/sshuttle-1.1.2.ebuild78
-rw-r--r--net-proxy/tayga/files/tayga-0.9.2-Fix-implicit-function-declaration.patch16
-rw-r--r--net-proxy/tayga/files/tayga-0.9.2-static-EAM.patch6
-rw-r--r--net-proxy/tayga/files/tayga.initd2
-rw-r--r--net-proxy/tayga/metadata.xml18
-rw-r--r--net-proxy/tayga/tayga-0.9.2-r1.ebuild25
-rw-r--r--net-proxy/tayga/tayga-0.9.2-r2.ebuild31
-rw-r--r--net-proxy/tayga/tayga-0.9.2-r4.ebuild (renamed from net-proxy/tayga/tayga-0.9.2-r3.ebuild)18
-rw-r--r--net-proxy/tinyproxy/Manifest2
-rw-r--r--net-proxy/tinyproxy/files/tinyproxy.service9
-rw-r--r--net-proxy/tinyproxy/files/tinyproxy.tmpfiles.conf2
-rw-r--r--net-proxy/tinyproxy/metadata.xml7
-rw-r--r--net-proxy/tinyproxy/tinyproxy-1.11.1_p20230201.ebuild (renamed from net-proxy/tinyproxy/tinyproxy-1.10.0-r1.ebuild)31
-rw-r--r--net-proxy/torsocks/Manifest2
-rw-r--r--net-proxy/torsocks/files/torsocks-2.4.0-clang16.patch13
-rw-r--r--net-proxy/torsocks/files/torsocks-2.4.0-configure.patch23
-rw-r--r--net-proxy/torsocks/metadata.xml11
-rw-r--r--net-proxy/torsocks/torsocks-2.4.0-r2.ebuild (renamed from net-proxy/torsocks/torsocks-2.2.0.ebuild)25
-rw-r--r--net-proxy/trojan/Manifest2
-rw-r--r--net-proxy/trojan/files/README.gentoo14
-rw-r--r--[-rwxr-xr-x]net-proxy/trojan/files/trojan.initd30
-rw-r--r--net-proxy/trojan/metadata.xml10
-rw-r--r--net-proxy/trojan/trojan-1.10.0.ebuild47
-rw-r--r--net-proxy/trojan/trojan-1.16.0-r2.ebuild72
-rw-r--r--net-proxy/tsocks/Manifest1
-rw-r--r--net-proxy/tsocks/metadata.xml6
-rw-r--r--net-proxy/tsocks/tsocks-1.8_beta5-r8.ebuild78
-rw-r--r--net-proxy/tsocks/tsocks-1.8_beta5-r9.ebuild4
-rw-r--r--net-proxy/wwwoffle/metadata.xml2
-rw-r--r--net-proxy/wwwoffle/wwwoffle-2.9i-r2.ebuild (renamed from net-proxy/wwwoffle/wwwoffle-2.9i-r1.ebuild)65
-rw-r--r--net-proxy/ziproxy/Manifest2
-rw-r--r--net-proxy/ziproxy/files/ziproxy-3.3.1-giflib5.patch46
-rw-r--r--net-proxy/ziproxy/files/ziproxy-3.3.2-Fix-clang-build-errors.patch42
-rw-r--r--net-proxy/ziproxy/metadata.xml2
-rw-r--r--net-proxy/ziproxy/ziproxy-3.3.2.ebuild (renamed from net-proxy/ziproxy/ziproxy-3.3.1-r1.ebuild)40
224 files changed, 7339 insertions, 5113 deletions
diff --git a/net-proxy/3proxy/3proxy-0.8.9.ebuild b/net-proxy/3proxy/3proxy-0.9.4.ebuild
index ba16aeca0092..99192030df48 100644
--- a/net-proxy/3proxy/3proxy-0.8.9.ebuild
+++ b/net-proxy/3proxy/3proxy-0.9.4.ebuild
@@ -1,18 +1,23 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
+inherit toolchain-funcs
DESCRIPTION="A really tiny cross-platform proxy servers set"
-HOMEPAGE="https://www.3proxy.ru/"
-SRC_URI="https://github.com/z3APA3A/3proxy/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://3proxy.ru/
+ https://github.com/3proxy/3proxy/
+"
+SRC_URI="https://github.com/3proxy/3proxy/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ppc ~sparc x86"
-IUSE=""
PATCHES=(
- "${FILESDIR}"/${PN}-0.8.8-gentoo.patch
+ "${FILESDIR}/${P}-gentoo.patch"
+ "${FILESDIR}/${P}-function-pointer-fix.patch"
)
DOCS=( README cfg )
@@ -20,15 +25,17 @@ HTML_DOCS=( doc/html/. )
src_prepare() {
default
+ tc-export CC
cp Makefile.Linux Makefile || die
}
src_install() {
local x
- pushd src >/dev/null || die
+ pushd bin >/dev/null || die
+ dolib.so *.so
dobin 3proxy
- for x in proxy socks ftppr pop3p tcppm udppm mycrypt dighosts icqpr smtpp; do
+ for x in ftppr mycrypt pop3p proxy smtpp socks tcppm udppm; do
newbin ${x} ${PN}-${x}
[[ -f "${S}"/man/${x}.8 ]] && newman "${S}"/man/${x}.8 ${PN}-${x}.8
done
diff --git a/net-proxy/3proxy/Manifest b/net-proxy/3proxy/Manifest
index 120f5c7f4106..45d5f8ce6708 100644
--- a/net-proxy/3proxy/Manifest
+++ b/net-proxy/3proxy/Manifest
@@ -1 +1 @@
-DIST 3proxy-0.8.9.tar.gz 497006 BLAKE2B c57e98eb586dfacefd530e091fecbee274d8104698ca082b71ea0607294199cb7db63fc32787236b7e797c928a7ba4f7bafa3ef35551bef76aacfbdf1f259fff SHA512 35153882fec7077b05b23f9cea91443126a8a9faf9818915612e0739196a8bd1f00e0bcefb339a86bad10bb0c1b9891bd06847934787f4758ec55e6cc2e9e815
+DIST 3proxy-0.9.4.tar.gz 610340 BLAKE2B 7b98cc26fc943fcf15a6518a7adb79ccc79d8250b359f97318e9a48b4bb2643a88ee5fed49216d4ee71b436d0a21231e148f616c78b1dfab8b0b720a4223ccfd SHA512 d3316f6ee1217e580ce593a7bfd9d76672487a89862f247373b0acf3ea207887c758168e33b25db9fc974063deab0826c20d455cab2536d03eee49d8bddda6b5
diff --git a/net-proxy/3proxy/files/3proxy-0.8.8-gentoo.patch b/net-proxy/3proxy/files/3proxy-0.8.8-gentoo.patch
deleted file mode 100644
index 1f8d478cd086..000000000000
--- a/net-proxy/3proxy/files/3proxy-0.8.8-gentoo.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- a/Makefile.Linux 2016-12-16 20:24:53.809856430 +0200
-+++ b/Makefile.Linux 2016-12-16 20:26:24.912859170 +0200
-@@ -10,11 +10,11 @@
- BUILDDIR =
- CC = gcc
-
--CFLAGS = -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL
-+CFLAGS += -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL
- COUT = -o
- LN = gcc
- DCFLAGS = -fpic
--LDFLAGS = -O2 -pthread
-+LDFLAGS += -pthread
- DLFLAGS = -shared
- DLSUFFICS = .ld.so
- # -lpthreads may be reuqired on some platforms instead of -pthreads
-@@ -39,12 +39,12 @@
- include Makefile.inc
-
- allplugins:
-- @list='$(PLUGINS)'; for p in $$list; do cp Makefile Makefile.var plugins/$$p; cd plugins/$$p ; make ; cd ../.. ; done
-+ @list='$(PLUGINS)'; for p in $$list; do cp Makefile Makefile.var plugins/$$p; cd plugins/$$p ; $(MAKE) ; cd ../.. ; done
-
- DESTDIR =
--prefix = /usr/local
-+prefix =
- exec_prefix = $(prefix)
--man_prefix = $(prefix)/share
-+man_prefix = $(prefix)/usr/share
-
- INSTALL = /usr/bin/install
- INSTALL_BIN = $(INSTALL) -m 755
---- a/src/stringtable.c 2016-12-16 20:24:53.811856430 +0200
-+++ b/src/stringtable.c 2016-12-16 20:26:48.288859873 +0200
-@@ -38,7 +38,7 @@
- /* 24 */ NULL,
- #ifndef TPROXY_CONF
- #ifndef _WIN32
--/* 25 */ (unsigned char *)"/usr/local/etc/3proxy/3proxy.cfg",
-+/* 25 */ (unsigned char *)"/etc/3proxy/3proxy.cfg",
- #else
- /* 25 */ (unsigned char *)"3proxy.cfg",
- #endif
diff --git a/net-proxy/3proxy/files/3proxy-0.9.4-function-pointer-fix.patch b/net-proxy/3proxy/files/3proxy-0.9.4-function-pointer-fix.patch
new file mode 100644
index 000000000000..9c51f90f1df1
--- /dev/null
+++ b/net-proxy/3proxy/files/3proxy-0.9.4-function-pointer-fix.patch
@@ -0,0 +1,58 @@
+Use poll with nfds_t type
+
+Fixes: https://github.com/3proxy/3proxy/issues/895
+Bug: https://bugs.gentoo.org/881015
+Upstream-PR: https://github.com/3proxy/3proxy/pull/907
+
+diff --git a/src/common.c b/src/common.c
+index e8106e2..27ad390 100644
+--- a/src/common.c
++++ b/src/common.c
+@@ -157,7 +157,7 @@ int
+ WINAPI
+ #endif
+
+- mypoll(struct mypollfd *fds, unsigned int nfds, int timeout){
++ mypoll(struct mypollfd *fds, nfds_t nfds, int timeout){
+ fd_set readfd;
+ fd_set writefd;
+ fd_set oobfd;
+diff --git a/src/structures.h b/src/structures.h
+index 8d41374..ee778c2 100644
+--- a/src/structures.h
++++ b/src/structures.h
+@@ -69,6 +69,7 @@ int mutex_unlock(int *val);
+ #ifdef WITH_POLL
+ #include <poll.h>
+ #else
++typedef unsigned int nfds_t;
+ #ifdef WITH_WSAPOLL
+
+ #define poll(A,B,C) WSAPoll(A,B,C)
+@@ -84,7 +85,7 @@ int
+ #ifdef _WIN32
+ WINAPI
+ #endif
+- mypoll(struct mypollfd *fds, unsigned int nfds, int timeout);
++ mypoll(struct mypollfd *fds, nfds_t nfds, int timeout);
+ #ifndef POLLIN
+ #define POLLIN 1
+ #endif
+@@ -701,7 +702,7 @@ struct sockfuncs {
+ int (WINAPI *_getsockname)(SOCKET s, struct sockaddr * name, int * namelen);
+ int (WINAPI *_getsockopt)(SOCKET s, int level, int optname, char * optval, int * optlen);
+ int (WINAPI *_setsockopt)(SOCKET s, int level, int optname, const char *optval, int optlen);
+- int (WINAPI *_poll)(struct pollfd *fds, unsigned int nfds, int timeout);
++ int (WINAPI *_poll)(struct pollfd *fds, nfds_t nfds, int timeout);
+ int (WINAPI *_send)(SOCKET s, const char *msg, int len, int flags);
+ int (WINAPI *_sendto)(SOCKET s, const char *msg, int len, int flags, const struct sockaddr *to, int tolen);
+ int (WINAPI *_recv)(SOCKET s, char *buf, int len, int flags);
+@@ -718,7 +719,7 @@ struct sockfuncs {
+ int (*_getsockname)(SOCKET s, struct sockaddr * name, socklen_t * namelen);
+ int (*_getsockopt)(SOCKET s, int level, int optname, void * optval, socklen_t * optlen);
+ int (*_setsockopt)(int s, int level, int optname, const void *optval, socklen_t optlen);
+- int (*_poll)(struct pollfd *fds, unsigned int nfds, int timeout);
++ int (*_poll)(struct pollfd *fds, nfds_t nfds, int timeout);
+ size_t (*_send)(SOCKET s, const void *msg, size_t len, int flags);
+ size_t (*_sendto)(SOCKET s, const void *msg, size_t len, int flags, const struct sockaddr *to, SASIZETYPE tolen);
+ size_t (*_recv)(SOCKET s, void *buf, size_t len, int flags);
diff --git a/net-proxy/3proxy/files/3proxy-0.9.4-gentoo.patch b/net-proxy/3proxy/files/3proxy-0.9.4-gentoo.patch
new file mode 100644
index 000000000000..57a9b479f1e3
--- /dev/null
+++ b/net-proxy/3proxy/files/3proxy-0.9.4-gentoo.patch
@@ -0,0 +1,38 @@
+diff --git a/Makefile.Linux b/Makefile.Linux
+index 4f3f2b3..f15f6ff 100644
+--- a/Makefile.Linux
++++ b/Makefile.Linux
+@@ -8,13 +8,13 @@
+ # library support. Add -DSAFESQL for poorely written ODBC library / drivers.
+
+ BUILDDIR = ../bin/
+-CC = gcc
++CC ?= gcc
+
+-CFLAGS = -g -fPIC -O2 -fno-strict-aliasing -c -pthread -DWITHSPLICE -D_GNU_SOURCE -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITH_NETFILTER
++CFLAGS += -fPIC -fno-strict-aliasing -c -pthread -DWITHSPLICE -D_GNU_SOURCE -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITH_NETFILTER
+ COUT = -o
+ LN = $(CC)
+ DCFLAGS =
+-LDFLAGS = -fPIE -O2 -fno-strict-aliasing -pthread
++LDFLAGS += -fPIE -fno-strict-aliasing -pthread
+ DLFLAGS = -shared
+ DLSUFFICS = .ld.so
+ # -lpthreads may be reuqired on some platforms instead of -pthreads
+@@ -40,13 +40,13 @@ PLUGINS = StringsPlugin TrafficPlugin PCREPlugin TransparentPlugin
+ include Makefile.inc
+
+ allplugins:
+- @list='$(PLUGINS)'; for p in $$list; do cp Makefile Makefile.var plugins/$$p; cd plugins/$$p ; make ; cd ../.. ; done
++ @list='$(PLUGINS)'; for p in $$list; do cp Makefile Makefile.var plugins/$$p; cd plugins/$$p ; $(MAKE) ; cd ../.. ; done
+
+ DESTDIR =
+ prefix =
+ exec_prefix = $(prefix)
+-man_prefix = /usr/share
+-chroot_prefix = /usr/local
++man_prefix = $(prefix)/usr/share
++chroot_prefix = $(prefix)/usr/local
+
+ INSTALL = /usr/bin/install
+ INSTALL_BIN = $(INSTALL) -m 755
diff --git a/net-proxy/3proxy/metadata.xml b/net-proxy/3proxy/metadata.xml
index f9ccb9ec7eab..ae0815838456 100644
--- a/net-proxy/3proxy/metadata.xml
+++ b/net-proxy/3proxy/metadata.xml
@@ -1,11 +1,11 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>powerman-asdf@yandex.ru</email>
<name>Alex Efros</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -21,6 +21,6 @@
like to say secure - but it's just a beta) and yet functional.
</longdescription>
<upstream>
- <remote-id type="github">z3APA3A/3proxy</remote-id>
+ <remote-id type="github">3proxy/3proxy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-proxy/adzapper/adzapper-20110915-r2.ebuild b/net-proxy/adzapper/adzapper-20110915-r2.ebuild
index 60b6800c1ef1..ad1c9b1d8a42 100644
--- a/net-proxy/adzapper/adzapper-20110915-r2.ebuild
+++ b/net-proxy/adzapper/adzapper-20110915-r2.ebuild
@@ -1,27 +1,28 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
MY_P=${P/zapper/zap}
-inherit eutils
-
DESCRIPTION="Redirector for squid to intercept advertising, page counters and web bugs"
-HOMEPAGE="http://adzapper.sourceforge.net/"
-SRC_URI="http://adzapper.sourceforge.net/${MY_P}.tar.gz"
+HOMEPAGE="https://adzapper.sourceforge.net/"
+SRC_URI="https://adzapper.sourceforge.net/${MY_P}.tar.gz"
+S="${WORKDIR}"/${P/per/}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="alpha amd64 hppa ppc sparc x86"
-IUSE=""
+KEYWORDS="~alpha amd64 ~hppa ppc sparc x86"
RDEPEND="dev-lang/perl"
-S="${WORKDIR}"/${P/per/}
+PATCHES=(
+ "${FILESDIR}"/20110915-flush.patch
+)
src_prepare() {
- epatch "${FILESDIR}"/20110915-flush.patch
+ default
+
# update the zapper path in various scripts
local SCRPATH="/etc/adzapper/squid_redirect"
sed -i \
diff --git a/net-proxy/adzapper/metadata.xml b/net-proxy/adzapper/metadata.xml
index ce554bb8d936..3af09d386fd0 100644
--- a/net-proxy/adzapper/metadata.xml
+++ b/net-proxy/adzapper/metadata.xml
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
- <longdescription>Redirector for squid that intercepts advertising, page counters and some web bugs</longdescription>
<upstream>
<remote-id type="sourceforge">adzapper</remote-id>
</upstream>
diff --git a/net-proxy/cntlm/cntlm-0.93_beta5-r2.ebuild b/net-proxy/cntlm/cntlm-0.93_beta5-r4.ebuild
index 2e86f2f75b59..91df0610c922 100644
--- a/net-proxy/cntlm/cntlm-0.93_beta5-r2.ebuild
+++ b/net-proxy/cntlm/cntlm-0.93_beta5-r4.ebuild
@@ -1,28 +1,28 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit eutils systemd toolchain-funcs user
+EAPI=8
+
+inherit systemd toolchain-funcs
DESCRIPTION="Cntlm is an NTLM/NTLMv2 authenticating HTTP proxy"
HOMEPAGE="http://cntlm.sourceforge.net/"
SRC_URI="http://ftp.awk.cz/pub/${P//_}.tar.gz"
+S="${WORKDIR}/${P//_}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
-
-S="${WORKDIR}/${P//_}"
-src_prepare() {
- eapply -p0 "${FILESDIR}"/${P}-buildsystem.patch # 334647
+RDEPEND="
+ acct-group/cntlm
+ acct-user/cntlm
+"
- default
-}
+PATCHES=(
+ "${FILESDIR}"/${P}-buildsystem.patch # bug #334647
+ "${FILESDIR}"/${P}-configure-clang16.patch
+)
src_configure() {
tc-export CC
@@ -30,8 +30,7 @@ src_configure() {
econf
# Replace default config file path in Makefile
- sed -i -e 's~SYSCONFDIR=/usr/local/etc~SYSCONFDIR=/etc~' \
- "${S}"/Makefile || die "sed failed"
+ sed -e 's~SYSCONFDIR=/usr/local/etc~SYSCONFDIR=/etc~' -i "${S}"/Makefile || die
}
src_compile() {
@@ -49,8 +48,3 @@ src_install() {
insopts -m0600
doins doc/cntlm.conf
}
-
-pkg_postinst() {
- enewgroup cntlm
- enewuser cntlm -1 -1 -1 cntlm
-}
diff --git a/net-proxy/cntlm/files/cntlm-0.93_beta5-buildsystem.patch b/net-proxy/cntlm/files/cntlm-0.93_beta5-buildsystem.patch
index d553e8661484..d6df267582d4 100644
--- a/net-proxy/cntlm/files/cntlm-0.93_beta5-buildsystem.patch
+++ b/net-proxy/cntlm/files/cntlm-0.93_beta5-buildsystem.patch
@@ -1,8 +1,8 @@
Gentoo Bug#334647:
Respect CC, CFLAGS, LDFLAGS (with gcc).
Support verbose building via 'make V=1'.
---- configure.orig 2012-10-02 14:01:48.735669564 +0200
-+++ configure 2012-10-02 14:23:01.224271511 +0200
+--- a/configure.orig
++++ b/configure
@@ -10,7 +10,7 @@
# This can be disabled if neccessary.
#
@@ -57,8 +57,8 @@ Support verbose building via 'make V=1'.
rc=$?
if [ $rc -ne 0 ]; then # -o -n "$OUT" ]; then
---- Makefile.orig 2012-10-02 15:31:03.986270993 +0200
-+++ Makefile 2012-10-02 15:40:10.277689068 +0200
+--- a/Makefile.orig
++++ b/Makefile
@@ -16,14 +16,13 @@
CC := gcc
VER := $(shell cat VERSION)
diff --git a/net-proxy/cntlm/files/cntlm-0.93_beta5-configure-clang16.patch b/net-proxy/cntlm/files/cntlm-0.93_beta5-configure-clang16.patch
new file mode 100644
index 000000000000..3cfde3cbbd5a
--- /dev/null
+++ b/net-proxy/cntlm/files/cntlm-0.93_beta5-configure-clang16.patch
@@ -0,0 +1,31 @@
+Based on https://sourceforge.net/p/cntlm/bugs/79/ but rebased on our cntlm-0.93_beta5-buildsystem.patch.
+--- a/Makefile
++++ b/Makefile
+@@ -20,7 +20,7 @@ LIBS := $(shell [ $(OS) = "SunOS" ] && echo "-lrt -lsocket -lnsl")
+ LDFLAGS := -pthread
+ CYGWIN_REQS := cygwin1.dll cyggcc_s-1.dll cygstdc++-6.dll cygrunsrv.exe
+
+-CFLAGS=-D__BSD_VISIBLE -D_ALL_SOURCE -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=200112 -D_ISOC99_SOURCE -D_REENTRANT -D_BSD_SOURCE -DVERSION=\"'$(VER)'\"
++CFLAGS=-D__BSD_VISIBLE -D_ALL_SOURCE -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=200112 -D_ISOC99_SOURCE -D_REENTRANT -D_BSD_SOURCE -D_DEFAULT_SOURCE -DVERSION=\"'$(VER)'\"
+ ifeq ($(DEBUG),1)
+ CFLAGS += -g -O0
+ endif
+--- a/config/gethostname.c
++++ b/config/gethostname.c
+@@ -1,3 +1,5 @@
++#include <stdio.h>
++#include <string.h>
+ #include <unistd.h>
+
+ int main(int argc, char **argv) {
+--- a/configure
++++ b/configure
+@@ -67,7 +67,7 @@ rm -f $CONFIG
+ for i in $TESTS; do
+ printf "Checking $i... "
+ printf "#define config_$i " >> $CONFIG
+- OUT=`$CC $CFLAGS $LDFLAGS -D_POSIX_C_SOURCE=199506L -D_ISOC99_SOURCE -D_REENTRANT -o config/$i config/$i.c 2>&1`
++ OUT=`$CC $CFLAGS $LDFLAGS -D_POSIX_C_SOURCE=199506L -D_ISOC99_SOURCE -D_DEFAULT_SOURCE -D_REENTRANT -o config/$i config/$i.c 2>&1`
+ rc=$?
+
+ if [ $rc -ne 0 ]; then # -o -n "$OUT" ]; then
diff --git a/net-proxy/cntlm/metadata.xml b/net-proxy/cntlm/metadata.xml
index 86bbb0e6615e..24e3b165e6ec 100644
--- a/net-proxy/cntlm/metadata.xml
+++ b/net-proxy/cntlm/metadata.xml
@@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
- <longdescription lang="en">
- NTLM authorizing proxy. Upstream seems dead, but this is still a good
- alternative to ntlmaps.
- </longdescription>
<upstream>
<remote-id type="sourceforge">cntlm</remote-id>
</upstream>
diff --git a/net-proxy/dante/dante-1.4.1-r1.ebuild b/net-proxy/dante/dante-1.4.1-r6.ebuild
index 071cd7d26cab..816b15f70428 100644
--- a/net-proxy/dante/dante-1.4.1-r1.ebuild
+++ b/net-proxy/dante/dante-1.4.1-r6.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit autotools ltprune systemd user
+EAPI=7
+
+inherit autotools systemd
DESCRIPTION="A free socks4,5 and msproxy implementation"
HOMEPAGE="https://www.inet.no/dante/"
@@ -10,21 +11,26 @@ SRC_URI="https://www.inet.no/dante/files/${P}.tar.gz"
LICENSE="BSD GPL-2"
SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="debug kerberos pam selinux static-libs tcpd upnp"
CDEPEND="
+ sys-apps/shadow
+ virtual/libcrypt:=
kerberos? ( virtual/krb5 )
- pam? ( virtual/pam )
+ pam? ( sys-libs/pam )
tcpd? ( sys-apps/tcp-wrappers )
upnp? ( net-libs/miniupnpc:= )
- userland_GNU? ( virtual/shadow )
"
-DEPEND="${CDEPEND}
- sys-devel/bison
- sys-devel/flex
+DEPEND="
+ ${CDEPEND}
+ app-alternatives/yacc
+ app-alternatives/lex
"
-RDEPEND="${CDEPEND}
+RDEPEND="
+ ${CDEPEND}
+ acct-group/sockd
+ acct-user/sockd
selinux? ( sec-policy/selinux-dante )
"
@@ -42,13 +48,16 @@ PATCHES=(
src_prepare() {
default
- sed -i \
+ # 780039
+ sed -e 's/-all-dynamic//' -i dlib/Makefile.am dlib64/Makefile.am || die
+
+ sed \
-e 's:/etc/socks\.conf:"${EPREFIX}"/etc/socks/socks.conf:' \
-e 's:/etc/sockd\.conf:"${EPREFIX}"/etc/socks/sockd.conf:' \
- doc/{socksify.1,socks.conf.5,sockd.conf.5,sockd.8} \
+ -i doc/{socksify.1,socks.conf.5,sockd.conf.5,sockd.8} \
|| die
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die
+ sed -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' -i configure.ac || die
eautoreconf
}
@@ -94,9 +103,5 @@ src_install() {
docinto examples
dodoc example/*.conf
- prune_libtool_files
-}
-
-pkg_postinst() {
- enewuser sockd -1 -1 /etc/socks daemon
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/net-proxy/dante/metadata.xml b/net-proxy/dante/metadata.xml
index 47c971ca58ca..7e79d0661fcb 100644
--- a/net-proxy/dante/metadata.xml
+++ b/net-proxy/dante/metadata.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person"><email>robbat2@gentoo.org</email></maintainer>
-<longdescription>A free socks4, socks5 and msproxy implementation</longdescription>
</pkgmetadata>
diff --git a/net-proxy/dnsproxy/metadata.xml b/net-proxy/dnsproxy/metadata.xml
index a737ca9d17d4..60494b11b52b 100644
--- a/net-proxy/dnsproxy/metadata.xml
+++ b/net-proxy/dnsproxy/metadata.xml
@@ -1,9 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>The dnsproxy daemon is a proxy for DNS queries. It forwards these queries to
-two previously configured nameservers: one for authoritative queries and another
-for recursive queries. The received answers are sent back to the client unchanged.
-No local caching is done.</longdescription>
+ <!-- maintainer-needed -->
+ <longdescription>
+ The dnsproxy daemon is a proxy for DNS queries. It forwards these queries to
+ two previously configured nameservers: one for authoritative queries and another
+ for recursive queries. The received answers are sent back to the client unchanged.
+ No local caching is done.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">awaw/dnsproxy</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-proxy/haproxy-dataplaneapi/Manifest b/net-proxy/haproxy-dataplaneapi/Manifest
new file mode 100644
index 000000000000..f699534e5d7a
--- /dev/null
+++ b/net-proxy/haproxy-dataplaneapi/Manifest
@@ -0,0 +1,6 @@
+DIST haproxy-dataplaneapi-2.8.0-vendor.tar.xz 2346260 BLAKE2B 9c8dbd3de567bb910bc52bc1cf008cb36326cbc40f79108acc1d984d45ed8f34fa7179b4e1d8d7917f1a13da847b1d4f249e4b64a57361a5cd3c6287b6050199 SHA512 0742aae5270a150239654b94d0a8ff226a47932825dfd908c9a531a5f6a9d8d5263761cc83f1dcc206bcae39fba498f80a66a1e6f2df501695ca38e75961200f
+DIST haproxy-dataplaneapi-2.8.0.tar.gz 739904 BLAKE2B 1e1c1b504f070489808a101fafabcc499e1ba1369b08a9cf1b930f6adc8a315506225ba7535d626cbec9fc6483e4ae262e49809557a80b7e7aa712e37da01b4e SHA512 601eb1c1d37525a1e406c9eb99e933bb785ac2ffe430f9e53cb5c551695856283cd42aef16ff239e6525eec686c09582e05f2ddea8c63bda2fcf1a86610ea027
+DIST haproxy-dataplaneapi-2.8.1-vendor.tar.xz 2400460 BLAKE2B 9993a94eb24ba505f4916cd5493973cbb2d98eb374a30f3ad3b685f0751e8712d184903b6e2af8ab546c0ceceae563cb7b87774f1c96b83bd854f1124fabd57c SHA512 73d84ff4d94fac7af7420537ddd480f25f361f768854135bc53bc9117bb6b004e98415f2b31660b743feacfedcce3ac0bbc045069f70f13cc4644d55c1f7d2a3
+DIST haproxy-dataplaneapi-2.8.1.tar.gz 749241 BLAKE2B 1dafb2f91fb2372151bb8e07a011305ecfb10f8cc0f27849e40b88672d81fe22dcd068de45bc6027bedb1581dabe69a44cff61a3cd5a5d1ba093ac924204610a SHA512 840f3d4826a4aa999e812e598d4c5c63dae30c6059c66567fa8f3215492ba2dd8edaa4a38a74c0c57da014cd5684408493a7b334c98998832787767f45abf270
+DIST haproxy-dataplaneapi-2.9-vendor.tar.xz 2385844 BLAKE2B 9e4dbaabb6c53eb331b5b8a589bd8910bf4eac7dcb4ceee3392c83f45337c7b6d66e8c41c4286b955f502994ac6f40b05eb80865a69bdf96b21b5bd26ea636e3 SHA512 0c0e1df60b1339ed568ad6531fb0ec701ab8d971c2e310bb216afc7c3859dd5687029cab9e62bfb4368a751bc1fd40be29f9cf1ee8de4d52c77e98f60e82c7fd
+DIST haproxy-dataplaneapi-2.9.tar.gz 759654 BLAKE2B 0666668902ffa4e806d86d8079819504bd79b60cf4c254c3eef72618e15734b5f3d0dde410fcc3e26d1965bb6af62f1ffee91fab8c491d59d28cf1e264630611 SHA512 8a709f94ea67d15dc55bdd262d4b423398cc6a82136ce3af7b4d052963f51eeb9d364949639c2d46a227aa6b1cdb2aee6a9f307b0975634aacbfa0e9988adf86
diff --git a/net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.8.0.ebuild b/net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.8.0.ebuild
new file mode 100644
index 000000000000..7f31a72b4a64
--- /dev/null
+++ b/net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.8.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module
+
+DESCRIPTION="haproxy dataplane api / sidecar"
+HOMEPAGE="https://github.com/haproxytech/dataplaneapi https://www.haproxy.com/documentation/dataplaneapi/latest/"
+
+SRC_URI="https://github.com/haproxytech/dataplaneapi/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ http://gentooexperimental.org/~patrick/${P}-vendor.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+S="${WORKDIR}/dataplaneapi-${PV}"
+
+src_compile() {
+ ego build -o ./build/dataplaneapi ./cmd/dataplaneapi/
+}
+
+src_install() {
+ dobin build/dataplaneapi
+ dodoc README.md
+}
diff --git a/net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.8.1.ebuild b/net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.8.1.ebuild
new file mode 100644
index 000000000000..10b3b3affc66
--- /dev/null
+++ b/net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.8.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module
+
+DESCRIPTION="haproxy dataplane api / sidecar"
+HOMEPAGE="https://github.com/haproxytech/dataplaneapi https://www.haproxy.com/documentation/dataplaneapi/latest/"
+
+SRC_URI="https://github.com/haproxytech/dataplaneapi/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ http://gentooexperimental.org/~patrick/${P}-vendor.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+S="${WORKDIR}/dataplaneapi-${PV}"
+
+src_compile() {
+ ego build -o ./build/dataplaneapi ./cmd/dataplaneapi/
+}
+
+src_install() {
+ dobin build/dataplaneapi
+ dodoc README.md
+}
diff --git a/net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.9.ebuild b/net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.9.ebuild
new file mode 100644
index 000000000000..10b3b3affc66
--- /dev/null
+++ b/net-proxy/haproxy-dataplaneapi/haproxy-dataplaneapi-2.9.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module
+
+DESCRIPTION="haproxy dataplane api / sidecar"
+HOMEPAGE="https://github.com/haproxytech/dataplaneapi https://www.haproxy.com/documentation/dataplaneapi/latest/"
+
+SRC_URI="https://github.com/haproxytech/dataplaneapi/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ http://gentooexperimental.org/~patrick/${P}-vendor.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+S="${WORKDIR}/dataplaneapi-${PV}"
+
+src_compile() {
+ ego build -o ./build/dataplaneapi ./cmd/dataplaneapi/
+}
+
+src_install() {
+ dobin build/dataplaneapi
+ dodoc README.md
+}
diff --git a/net-proxy/haproxy-dataplaneapi/metadata.xml b/net-proxy/haproxy-dataplaneapi/metadata.xml
new file mode 100644
index 000000000000..2ce0e74f9864
--- /dev/null
+++ b/net-proxy/haproxy-dataplaneapi/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-proxy/haproxy/Manifest b/net-proxy/haproxy/Manifest
index 3bdac2029b77..d1a83192bfa9 100644
--- a/net-proxy/haproxy/Manifest
+++ b/net-proxy/haproxy/Manifest
@@ -1,10 +1,13 @@
-DIST haproxy-1.6.11.tar.gz 1574029 BLAKE2B 553f74c2c24a1b07cef2acc6fbc4def1bbe81e41a7b01ba44937c6ff2e14c1f1a4f1472dde229ecef1ed3170f4e89d356324cb2ce1e7d7064837f37fbd4c3b46 SHA512 73ff1c7301197b3bd75a3b1355787419676854d132ce2dcdacb2a296e297dcdfc52b0c571a4fb715e369f1126e1a58196fabb21f828c880f15904032da78e434
-DIST haproxy-1.6.14.tar.gz 1583859 BLAKE2B 91695f0b3d901ba70b6bce6572c2f549479c28010ed391b20faae7cd1fd84cdb181e560353337eb9230e38ac2570673725884c131501820c3ef4559ef12f95f2 SHA512 389be3935d901af1fb3a748b5bf73a454578a3ca3e4cc0b881980c2f1e875c47feb2681b42f8d9244d70777261a965c8e47cf5175b7790ff995bff8333902a11
-DIST haproxy-1.7.10.tar.gz 1750937 BLAKE2B 26d970862e415b079d4130fd00564677584a7aad74d6812cabed36de9a629321330434b7d4fdf7c2e8b2945b7f394ca33e444158e7fa9b49937db501ea33e78a SHA512 ca6c50848c559ee2ffb9af2d281c3931473dd90d1686d95d962cf604cd92d2feb2b63e006e217cf9078cf08fdd73dc523318c97e13400bc0ef325de47111394e
-DIST haproxy-1.7.11.tar.gz 1752129 BLAKE2B 1947ab837f6b81761eec931e97c7349462561abecc78b2b58b285ebb4b0ae498753d236f3a243d3b5c1115a9ff6e5fe9392d428314a6342e2c1907d6886e09e4 SHA512 48ee30a1057e92971c041b088b6aef16d6843da9ecee9b738aaa64bb55d3c3b0be090a37bb5fc63ac42fe34ce994820349cc770756136c823051039fa6d01f74
-DIST haproxy-1.8.13.tar.gz 2063046 BLAKE2B 9ebccf2520719cdf209bc9a87bf28d015b5b673e0d017d5387af4025f930ac401f6a2cfa851583ffe6b6645b7b91ad255bb5db737688a1f310958072a11c8a80 SHA512 54d4cb0721a3868267d7e085b3d3bb050384e4279eb49e88abb925bb3ea8cc39ef9069bdc99b7b18a23fd22e0d29e24dfcb8a0507ddca9243a845e4418be9cc5
-DIST haproxy-1.8.18.tar.gz 2080500 BLAKE2B fcc51fbe6c496dbf99e49add4b582ec9357c94daebaea6396e131b4e6f323fdcc11d40039b9de9b6e2762c46863a1efd5062524df3d42991eef73ae3a42a9787 SHA512 7bcdc8fd110bb77fa3b1f735474218fb766b7701b87e939249697cb780aedf039b3d8f59cbfb5fa271473ad789df4ac60a64cbb6c61330e1125a13676ad25fc0
-DIST haproxy-1.8.19.tar.gz 2080757 BLAKE2B 46a97620f3b5c3f205e8b9d6e49acca8e107a1e6918ac18c036b9c3408666348400f8d9f6f4a4103e7f206c6373b25a224536c0969e2dad1013c2320b07b0ced SHA512 f62b0a18f19295986d26c5c60b6b1ad55850a175bed67a359282cc37a4c630a0c2be51d608226b4316f2e69c3008c20a1cb91ce10f86311219355973a050e65b
-DIST haproxy-1.8.9.tar.gz 2057051 BLAKE2B d81d18f68a27ae8a77660c1ecb1dfc28599263ebfd57f25ea574af2b101b35eb7a1a89ba4034b55dfa89673ae6ac4c0dca5428b4b494a02184b1b157850ce96b SHA512 e59c29af3a39d6212f012ae8341b169436e10e42fadaf8f1aa68d2bb7ee181fd1fe3b74640bfcd8c37c17dfc5062b36bd69d90290d7c59cd3e4648ef2ab1c8dd
-DIST haproxy-1.9.6.tar.gz 2363063 BLAKE2B b3ccf1b7f9d82144b42f2ee5db7b4367a380d3d8d14145ed097b5329831fb9c9454023c04c3e542d9591e377f5f9c4e0630801414ce44b950b99718a971d88af SHA512 3b823005f02d035435838689ddbf50c4fd9fc14af20450c413526cda7a29eb01ee01f68d6867545ebf966235688eedeeb3d00f5e6011727486d53e881d8e73b6
-DIST haproxy-1.9.7.tar.gz 2373430 BLAKE2B 604eb99a15baa885c8956871a418b99a8ad1f6a08a9afb3d9c423ecf1d5dd0ba77e312bb325b09ede6471b1663619b77a2d9c25d66b52274f6c904bf1fa5ca85 SHA512 3a901849fa4db15676e22dd11f8309a810fcfc38519d1e8488c1e3cd8341c82dccbfe3b083c37920a0d04d5c8b7fa7a2f0910e488693c2e8ffda1511a307bc09
+DIST VTest-af198470d7ce482d3d26eb9ca3f246a438739366.tar.gz 196700 BLAKE2B d740e19104a91b4cf978596ccda861974e96c9ed85a49c91e996c5bc6dde40f1cdcf49e6a75243aba7bf59abfd8d2c051a7ee574bab22f9e512d74376c9e1738 SHA512 cdc62271bb75ef7032745a457e1a54a84bcaadce73324272462b647383177338c5c2c8a17993d6344840e8ce0308a7e6f0df9bb766ebe0e8d4ee6dd4914e188c
+DIST haproxy-2.4.23.tar.gz 3652465 BLAKE2B 271fd166365f5589653b6651d30306689e99710c27964e70a126469c3b9b616af2923be2276fc8c87362303388ee2bf28e80ca8bfa02dc45bc0e2d931e33e685 SHA512 d40203f9bf4f4a76dce09d0b1c785060d545dd8b7907b752d7fec9b12d7e2e4c2c7aca915d72c79e19040a75bd7d338c0783f9897cf1a46bdb047e336a0aa227
+DIST haproxy-2.4.25.tar.gz 3664305 BLAKE2B b02eca0ef2719fad33c8db65b6568706cff3af9b19e2e0656970986b59116c054972341b5efd010907adb8d664fe1f72dd29feeab6a7b8bb9508e65c3bed9076 SHA512 bffe50c4155f28743fc4368e08f5912d137ac8fcad2bea70b9fb171be6a1c46c82e24059634add0b42a1d8da7d6fc76bf5287ffa8d4d530d46dbe522ad51a9e1
+DIST haproxy-2.4.26.tar.gz 3670267 BLAKE2B 073ca954935021fe1986492181137324b8e4a3cdcae0e079e7a817e8dd7ad8b0097a4da57de116ed9c5932565e30962504dc18bf0ce40ac77fb384aa6527e6d2 SHA512 6397e5938fde77915786514def120472791f58e273cffb4562c9a74bda02300413f862e1dfcea33f5ba7b67753c156a326b4a63efadb107f85f6922fc2b89427
+DIST haproxy-2.6.14.tar.gz 4067797 BLAKE2B 20439faeca2c3e789542cf34d988f4de2ef643e7dd1214cad4cb2d70e39b047f32bd180cd8c410a4f7b17f7ed891938bf1b18e21d20bb41eef603ae99619810d SHA512 5acfaffba8df65d4dbbc57cdb61fd4a9e415214ee2dc8dabc3877da5501c46f4abe64a4512999ebd391e03d38f8ed146fe8a6a5deb90197c5255325f8749a601
+DIST haproxy-2.6.16.tar.gz 4084854 BLAKE2B 15a33d6d88de9181d4b1b05d59d32f1c76496e3c8d4a8be8d762ff5945a3e56d416f463473dfb9e3c266032458dab737264fea0d18f467e66cca016da33c9fdc SHA512 81d55c46debe61f691cd0d8ccefd6eb8b5387ce1f4591ed7011ddbcc13b521f708499c9921983c9089e7f9ffcf1ed545d5b6124a92409b78def1f7eb1044e147
+DIST haproxy-2.6.17.tar.gz 4094829 BLAKE2B c1be1ef756883ca8edbad738630bbabae5c108d34c7eee6833029210c06be481dd0eb6261fb27959bb8c0cd5eebab432b6b6c2ca7a6da258f7a5dab8dbc81688 SHA512 b8e9768e768d6de10bec5811998ecbfed27d51d32dcb821ac320d02930530a950f5e2833e804284a1ae46df15bd636145bc147e55ffc7a0ca78008ebdb0d3f81
+DIST haproxy-2.7.11.tar.gz 4213212 BLAKE2B ca5713d694b8d709188457dd821218d3474d05dd63ed6d3906d98bf4b24b2ea9847b032d6264c7e80a59043a9e085595fdcbdc0dec44137f0b7d71f1189688e0 SHA512 1e5298397e8759cb260997bf23336b9aa62b56ca7dd832cb4155526d9e7c5c664122e33717ce5be34bbf1539a85a8fbdb6e535aa056d2c232673a4034446288a
+DIST haproxy-2.7.9.tar.gz 4186553 BLAKE2B a2c7e92d008886ac5b5cf9f67be808bed68faea41b4bc25a3e5e187a4a2116bc37c40a5df9e2f640dba6c79caea39615eff434e904470e67d7703125a5ffc7e2 SHA512 774d0ae7a402fae0805706f4b88891162e18179f6ad9c2d0916ae30be2502409afdd11dfbbbce9b49564c7e14e8625e4a26751bbfc3b19e3e13ac12c8cc19495
+DIST haproxy-2.8.7.tar.gz 4376705 BLAKE2B ae145fe6b642f860af814c2c43e84452a0bbc1b545b1b11eb07c65d903b97e42576b94e1774838b32b29ce32778941b79222669fc7615779c49f2ced85bf3fdc SHA512 dd2fe2ccd5d8805da3f7544451507b182377c34a9951747643c04cb9ee178b7be0978d56a0586c59771c2bb955765d3e961f6f06187afb768dc1fd27f08da464
+DIST haproxy-2.8.9.tar.gz 4383096 BLAKE2B 5db0bc2d568989f4c319d0c9f1d7cbf2b0e235fce76ccc2c5688059ffbdcfda0f0d3958c5fc332f01e6fbcf38fb3d9e5e453c44df9baae5bbba16a9db8e0d761 SHA512 087dfe318bd56c3b1e834975277a35f5ebf434fdc4d342a78a24e8bec2f1d5a07d958383581eae6277754cd138e69f465e1d8fe6f1eae2f94f14a9914082bb7f
+DIST haproxy-2.9.6.tar.gz 4507680 BLAKE2B 5666624d340cba70bc21f53efbe0a7b37897a616e55aa865ffa80471b6b5c03b3eae10bf86078245ec87cc2681b1fd2777148e0fa7f0d4a0a6bc65733f0e8692 SHA512 4e00069356083c8d428bf056e2a26ccfb3e18029cc96769189010d59d0b4f1c7af58986f1653067db83838dcbc2c138798663d3fbb9aac1d3c49c30cfc579c2a
+DIST haproxy-2.9.7.tar.gz 4516225 BLAKE2B 60590f2ff726bce2078c2075fe7f5476b870bda935560bcbecaf2deeb097c031d458105920f04b441dd59418b7a45b451b16be142f3bb89ddc5efd92ba98303c SHA512 23f320d49f822761cc0a4d8b7e15c8a58b804e4601c9421fa2433afe19798944d5a7264bf83502534b99236dda7c44ec72b97c1e6cdbcf203ab3090ae5313b3b
diff --git a/net-proxy/haproxy/files/haproxy-1.7-contrib.patch b/net-proxy/haproxy/files/haproxy-1.7-contrib.patch
deleted file mode 100644
index 9ecffe7e3c78..000000000000
--- a/net-proxy/haproxy/files/haproxy-1.7-contrib.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -Nuar --exclude '*~' haproxy-1.7.9999.orig/contrib/tcploop/Makefile haproxy-1.7.9999/contrib/tcploop/Makefile
---- haproxy-1.7.9999.orig/contrib/tcploop/Makefile 2016-12-04 16:08:05.497256646 -0800
-+++ haproxy-1.7.9999/contrib/tcploop/Makefile 2016-12-04 16:12:20.558141392 -0800
-@@ -5,7 +5,7 @@
- OBJS = tcploop
-
- tcploop: tcploop.c
-- $(CC) $(OPTIMIZE) $(DEFINE) $(INCLUDE) -o $@ $^
-+ $(CC) $(OPTIMIZE) $(DEFINE) $(INCLUDE) $(LDFLAGS) -o $@ $^ $(LIBS)
-
- clean:
- rm -f $(OBJS) *.[oas] *~
-diff -Nuar --exclude '*~' haproxy-1.7.9999.orig/contrib/spoa_example/Makefile haproxy-1.7.9999/contrib/spoa_example/Makefile
---- haproxy-1.7.9999.orig/contrib/spoa_example/Makefile 2016-12-04 15:56:49.068302156 -0800
-+++ haproxy-1.7.9999/contrib/spoa_example/Makefile 2016-12-04 15:58:51.360644213 -0800
-@@ -6,13 +6,13 @@
- LD = $(CC)
-
- CFLAGS = -g -O2 -Wall -Werror -pthread
--LDFLAGS = -lpthread
-+LIBS = -lpthread
-
- OBJS = spoa.o
-
-
- spoa: $(OBJS)
-- $(LD) $(LDFLAGS) -o $@ $^
-+ $(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
-
- install: spoa
- install spoa $(DESTDIR)$(BINDIR)
diff --git a/net-proxy/haproxy/files/haproxy.confd b/net-proxy/haproxy/files/haproxy.confd-r1
index 30739eb8bf23..b9bb84e3e833 100644
--- a/net-proxy/haproxy/files/haproxy.confd
+++ b/net-proxy/haproxy/files/haproxy.confd-r1
@@ -2,7 +2,7 @@
#CONFIGS="/etc/haproxy/haproxy.cfg"
# Additional HAProxy command line options
-HAPROXY_OPTS=""
+HAPROXY_OPTS="-S /run/haproxy-master.sock"
# If you want to make use ot the new seamless reload you can just write your own
# reload_seamless function here. It will be called by the init script.
diff --git a/net-proxy/haproxy/files/haproxy.initd-r6 b/net-proxy/haproxy/files/haproxy.initd-r8
index 9b7c5fe973ba..44d8bf64e3b3 100644
--- a/net-proxy/haproxy/files/haproxy.initd-r6
+++ b/net-proxy/haproxy/files/haproxy.initd-r8
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
extra_commands="checkconfig"
@@ -23,7 +23,7 @@ for conf in $CONFIGS; do
configs="${configs} -f ${conf}"
done
-command_args="-D -p ${pidfile} ${configs} ${HAPROXY_OPTS}"
+command_args="-D -W -p ${pidfile} ${configs} ${HAPROXY_OPTS}"
depend() {
need net
@@ -44,7 +44,7 @@ checkconfig() {
done
ebegin "Checking ${CONFIGS}"
- $command -q -c $configs $HAPROXY_OPTS
+ $command -q -c $command_args
eend $?
}
@@ -80,6 +80,6 @@ reload() {
fi
ebegin "Reloading ${SVCNAME}"
- $command -D -p "${pidfile}" $configs $HAPROXY_OPTS -sf $(cat "${pidfile}")
+ $command $command_args -sf $(cat "${pidfile}")
eend $?
}
diff --git a/net-proxy/haproxy/haproxy-1.6.11-r2.ebuild b/net-proxy/haproxy/haproxy-1.6.11-r2.ebuild
deleted file mode 100644
index 9b9f889a0e0e..000000000000
--- a/net-proxy/haproxy/haproxy-1.6.11-r2.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://haproxy.1wt.eu"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="amd64 arm ppc x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_prepare() {
- default
-
- sed -e 's:@SBINDIR@:'/usr/bin':' contrib/systemd/haproxy.service.in \
- > contrib/systemd/haproxy.service || die
-
- sed -ie 's:/usr/sbin/haproxy:/usr/bin/haproxy:' src/haproxy-systemd-wrapper.c || die
-}
-
-src_compile() {
- local -a args=(
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dobin haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- dobin haproxy-systemd-wrapper
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-1.6.14.ebuild b/net-proxy/haproxy/haproxy-1.6.14.ebuild
deleted file mode 100644
index 236fc4ec8bd0..000000000000
--- a/net-proxy/haproxy/haproxy-1.6.14.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://haproxy.1wt.eu"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_compile() {
- local -a args=(
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- emake -C contrib/systemd SBINDIR=/usr/sbin
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dosbin haproxy
- dosym /usr/sbin/haproxy /usr/bin/haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- dosbin haproxy-systemd-wrapper
- dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-1.7.10.ebuild b/net-proxy/haproxy/haproxy-1.7.10.ebuild
deleted file mode 100644
index 2848b4df6351..000000000000
--- a/net-proxy/haproxy/haproxy-1.7.10.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://haproxy.1wt.eu"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="amd64 arm ppc x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- device-atlas? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_compile() {
- local -a args=(
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- emake -C contrib/systemd SBINDIR=/usr/sbin
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dosbin haproxy
- dosym /usr/sbin/haproxy /usr/bin/haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- dosbin haproxy-systemd-wrapper
- dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-1.7.11.ebuild b/net-proxy/haproxy/haproxy-1.7.11.ebuild
deleted file mode 100644
index 38e5fbe73044..000000000000
--- a/net-proxy/haproxy/haproxy-1.7.11.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://haproxy.1wt.eu"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- device-atlas? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_compile() {
- local -a args=(
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- emake -C contrib/systemd SBINDIR=/usr/sbin
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dosbin haproxy
- dosym /usr/sbin/haproxy /usr/bin/haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- dosbin haproxy-systemd-wrapper
- dosym /usr/sbin/haproxy-systemd-wrapper /usr/bin/haproxy-systemd-wrapper
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-1.8.13.ebuild b/net-proxy/haproxy/haproxy-1.8.13.ebuild
deleted file mode 100644
index 7f78d78c47ae..000000000000
--- a/net-proxy/haproxy/haproxy-1.8.13.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://www.haproxy.org"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="amd64 arm ~ppc x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit pcre2 pcre2-jit ssl
-systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- pcre2-jit? ( pcre2 )
- pcre? ( !pcre2 )
- device-atlas? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- pcre2? (
- dev-libs/libpcre
- pcre2-jit? ( dev-libs/libpcre2[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
-# TODO: mod_defender - requires apache / APR, modsecurity - the same
-version_is_at_least 1.8.0 $PV && CONTRIBS+=( hpack )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_compile() {
- local -a args=(
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- # TODO: PCRE2_WIDTH?
- args+=( $(haproxy_use threads THREAD) )
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
- args+=( $(haproxy_use systemd SYSTEMD) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- emake -C contrib/systemd SBINDIR=/usr/sbin
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dosbin haproxy
- dosym ../sbin/haproxy /usr/bin/haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-1.8.18.ebuild b/net-proxy/haproxy/haproxy-1.8.18.ebuild
deleted file mode 100644
index be9a23a9cd27..000000000000
--- a/net-proxy/haproxy/haproxy-1.8.18.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://www.haproxy.org"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit pcre2 pcre2-jit ssl
-systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- pcre2-jit? ( pcre2 )
- pcre? ( !pcre2 )
- device-atlas? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- pcre2? (
- dev-libs/libpcre
- pcre2-jit? ( dev-libs/libpcre2[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
-# TODO: mod_defender - requires apache / APR, modsecurity - the same
-version_is_at_least 1.8.0 $PV && CONTRIBS+=( hpack )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_compile() {
- local -a args=(
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- # TODO: PCRE2_WIDTH?
- args+=( $(haproxy_use threads THREAD) )
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
- args+=( $(haproxy_use systemd SYSTEMD) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- emake -C contrib/systemd SBINDIR=/usr/sbin
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dosbin haproxy
- dosym ../sbin/haproxy /usr/bin/haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-1.8.19.ebuild b/net-proxy/haproxy/haproxy-1.8.19.ebuild
deleted file mode 100644
index be9a23a9cd27..000000000000
--- a/net-proxy/haproxy/haproxy-1.8.19.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://www.haproxy.org"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit pcre2 pcre2-jit ssl
-systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- pcre2-jit? ( pcre2 )
- pcre? ( !pcre2 )
- device-atlas? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- pcre2? (
- dev-libs/libpcre
- pcre2-jit? ( dev-libs/libpcre2[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
-# TODO: mod_defender - requires apache / APR, modsecurity - the same
-version_is_at_least 1.8.0 $PV && CONTRIBS+=( hpack )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_compile() {
- local -a args=(
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- # TODO: PCRE2_WIDTH?
- args+=( $(haproxy_use threads THREAD) )
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
- args+=( $(haproxy_use systemd SYSTEMD) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- emake -C contrib/systemd SBINDIR=/usr/sbin
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dosbin haproxy
- dosym ../sbin/haproxy /usr/bin/haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-1.8.9.ebuild b/net-proxy/haproxy/haproxy-1.8.9.ebuild
deleted file mode 100644
index 92c291b81061..000000000000
--- a/net-proxy/haproxy/haproxy-1.8.9.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://www.haproxy.org"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="amd64 arm ppc x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit pcre2 pcre2-jit ssl
-systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- pcre2-jit? ( pcre2 )
- pcre? ( !pcre2 )
- device-atlas? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- pcre2? (
- dev-libs/libpcre
- pcre2-jit? ( dev-libs/libpcre2[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
-# TODO: mod_defender - requires apache / APR, modsecurity - the same
-version_is_at_least 1.8.0 $PV && CONTRIBS+=( hpack )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_compile() {
- local -a args=(
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- # TODO: PCRE2_WIDTH?
- args+=( $(haproxy_use threads THREAD) )
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
- args+=( $(haproxy_use systemd SYSTEMD) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- emake -C contrib/systemd SBINDIR=/usr/sbin
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dosbin haproxy
- dosym ../sbin/haproxy /usr/bin/haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-1.9.6-r1.ebuild b/net-proxy/haproxy/haproxy-1.9.6-r1.ebuild
deleted file mode 100644
index ca0db852190f..000000000000
--- a/net-proxy/haproxy/haproxy-1.9.6-r1.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://www.haproxy.org"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit pcre2 pcre2-jit ssl
-systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- pcre2-jit? ( pcre2 )
- pcre? ( !pcre2 )
- device-atlas? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- pcre2? (
- dev-libs/libpcre
- pcre2-jit? ( dev-libs/libpcre2[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-ver_test $PV -ge 1.7.0 && CONTRIBS+=( ip6range spoa_example tcploop )
-# TODO: mod_defender - requires apache / APR, modsecurity - the same
-ver_test $PV -ge 1.8.0 && CONTRIBS+=( hpack )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_compile() {
- local -a args=(
- V=1
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- # TODO: PCRE2_WIDTH?
- args+=( $(haproxy_use threads THREAD) )
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use pcre2 PCRE2) )
- args+=( $(haproxy_use pcre2-jit PCRE2_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
- args+=( $(haproxy_use systemd SYSTEMD) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- emake -C contrib/systemd SBINDIR=/usr/sbin
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- # Those two includes are a workaround for hpack Makefile missing those
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dosbin haproxy
- dosym ../sbin/haproxy /usr/bin/haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-1.9.7.ebuild b/net-proxy/haproxy/haproxy-1.9.7.ebuild
deleted file mode 100644
index ca0db852190f..000000000000
--- a/net-proxy/haproxy/haproxy-1.9.7.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://www.haproxy.org"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit pcre2 pcre2-jit ssl
-systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- pcre2-jit? ( pcre2 )
- pcre? ( !pcre2 )
- device-atlas? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- pcre2? (
- dev-libs/libpcre
- pcre2-jit? ( dev-libs/libpcre2[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-ver_test $PV -ge 1.7.0 && CONTRIBS+=( ip6range spoa_example tcploop )
-# TODO: mod_defender - requires apache / APR, modsecurity - the same
-ver_test $PV -ge 1.8.0 && CONTRIBS+=( hpack )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_compile() {
- local -a args=(
- V=1
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- # TODO: PCRE2_WIDTH?
- args+=( $(haproxy_use threads THREAD) )
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use pcre2 PCRE2) )
- args+=( $(haproxy_use pcre2-jit PCRE2_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
- args+=( $(haproxy_use systemd SYSTEMD) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- emake -C contrib/systemd SBINDIR=/usr/sbin
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- # Those two includes are a workaround for hpack Makefile missing those
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dosbin haproxy
- dosym ../sbin/haproxy /usr/bin/haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-1.9.9999.ebuild b/net-proxy/haproxy/haproxy-1.9.9999.ebuild
deleted file mode 100644
index ca0db852190f..000000000000
--- a/net-proxy/haproxy/haproxy-1.9.9999.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-[[ ${PV} == *9999 ]] && SCM="git-r3"
-inherit user toolchain-funcs flag-o-matic systemd linux-info $SCM
-
-MY_P="${PN}-${PV/_beta/-dev}"
-
-DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
-HOMEPAGE="http://www.haproxy.org"
-if [[ ${PV} != *9999 ]]; then
- SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc ~x86"
-else
- EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
- EGIT_BRANCH=master
-fi
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit pcre2 pcre2-jit ssl
-systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
-REQUIRED_USE="pcre-jit? ( pcre )
- pcre2-jit? ( pcre2 )
- pcre? ( !pcre2 )
- device-atlas? ( pcre )
- ?? ( slz zlib )"
-
-DEPEND="
- pcre? (
- dev-libs/libpcre
- pcre-jit? ( dev-libs/libpcre[jit] )
- )
- pcre2? (
- dev-libs/libpcre
- pcre2-jit? ( dev-libs/libpcre2[jit] )
- )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[zlib?] )
- libressl? ( dev-libs/libressl:0= )
- )
- slz? ( dev-libs/libslz:= )
- zlib? ( sys-libs/zlib )
- lua? ( dev-lang/lua:5.3 )
- device-atlas? ( dev-libs/device-atlas-api-c )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
-CONTRIBS=( halog iprange )
-# ip6range is present in 1.6, but broken.
-ver_test $PV -ge 1.7.0 && CONTRIBS+=( ip6range spoa_example tcploop )
-# TODO: mod_defender - requires apache / APR, modsecurity - the same
-ver_test $PV -ge 1.8.0 && CONTRIBS+=( hpack )
-
-haproxy_use() {
- (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
-
- usex "${1}" "USE_${2}=1" "USE_${2}="
-}
-
-pkg_setup() {
- enewgroup haproxy
- enewuser haproxy -1 -1 -1 haproxy
-
- if use net_ns; then
- CONFIG_CHECK="~NET_NS"
- linux-info_pkg_setup
- fi
-}
-
-src_compile() {
- local -a args=(
- V=1
- TARGET=linux2628
- USE_GETADDRINFO=1
- USE_TFO=1
- )
-
- # TODO: PCRE2_WIDTH?
- args+=( $(haproxy_use threads THREAD) )
- args+=( $(haproxy_use crypt LIBCRYPT) )
- args+=( $(haproxy_use net_ns NS) )
- args+=( $(haproxy_use pcre PCRE) )
- args+=( $(haproxy_use pcre-jit PCRE_JIT) )
- args+=( $(haproxy_use pcre2 PCRE2) )
- args+=( $(haproxy_use pcre2-jit PCRE2_JIT) )
- args+=( $(haproxy_use ssl OPENSSL) )
- args+=( $(haproxy_use slz SLZ) )
- args+=( $(haproxy_use zlib ZLIB) )
- args+=( $(haproxy_use lua LUA) )
- args+=( $(haproxy_use 51degrees 51DEGREES) )
- args+=( $(haproxy_use device-atlas DEVICEATLAS) )
- args+=( $(haproxy_use wurfl WURFL) )
- args+=( $(haproxy_use systemd SYSTEMD) )
-
- # For now, until the strict-aliasing breakage will be fixed
- append-cflags -fno-strict-aliasing
-
- emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- emake -C contrib/systemd SBINDIR=/usr/sbin
-
- if use tools ; then
- for contrib in ${CONTRIBS[@]} ; do
- # Those two includes are a workaround for hpack Makefile missing those
- emake -C contrib/${contrib} \
- CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
- done
- fi
-}
-
-src_install() {
- dosbin haproxy
- dosym ../sbin/haproxy /usr/bin/haproxy
-
- newconfd "${FILESDIR}/${PN}.confd" $PN
- newinitd "${FILESDIR}/${PN}.initd-r6" $PN
-
- doman doc/haproxy.1
-
- systemd_dounit contrib/systemd/haproxy.service
-
- einstalldocs
-
- # The errorfiles are used by upstream defaults.
- insinto /etc/haproxy/errors/
- doins examples/errorfiles/*
-
- if use doc; then
- dodoc ROADMAP doc/*.txt
- #if use lua; then
- # TODO: doc/lua-api/
- #fi
- fi
-
- if use tools ; then
- has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
- has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
- has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
- has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
- has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
- has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
- has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
- fi
-
- if use examples ; then
- docinto examples
- dodoc examples/*.cfg
- dodoc examples/seamless_reload.txt
- fi
-
- if use vim-syntax ; then
- insinto /usr/share/vim/vimfiles/syntax
- doins examples/haproxy.vim
- fi
-}
-
-pkg_postinst() {
- if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
- ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
- ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
- ewarn "Make use of them with the \"user\" and \"group\" directives."
-
- if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
- einfo "Please consult the installed documentation for learning the configuration file's syntax."
- einfo "The documentation and sample configuration files are installed here:"
- einfo " ${EROOT}usr/share/doc/${PF}"
- fi
- fi
-}
diff --git a/net-proxy/haproxy/haproxy-2.4.23.ebuild b/net-proxy/haproxy/haproxy-2.4.23.ebuild
new file mode 100644
index 000000000000..14261f9c3f98
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.4.23.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="amd64 arm arm64 ppc x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc ROADMAP doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.4.25.ebuild b/net-proxy/haproxy/haproxy-2.4.25.ebuild
new file mode 100644
index 000000000000..ec56dcf067f4
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.4.25.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc ROADMAP doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.4.26.ebuild b/net-proxy/haproxy/haproxy-2.4.26.ebuild
new file mode 100644
index 000000000000..7f97bd0b755f
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.4.26.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc ROADMAP doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.4.9999.ebuild b/net-proxy/haproxy/haproxy-2.4.9999.ebuild
new file mode 100644
index 000000000000..7f97bd0b755f
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.4.9999.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc ROADMAP doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.6.14.ebuild b/net-proxy/haproxy/haproxy-2.6.14.ebuild
new file mode 100644
index 000000000000..90cbde54056e
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.6.14.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="amd64 ~arm arm64 ppc x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.6.16.ebuild b/net-proxy/haproxy/haproxy-2.6.16.ebuild
new file mode 100644
index 000000000000..86ce84d00cf8
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.6.16.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.6.17.ebuild b/net-proxy/haproxy/haproxy-2.6.17.ebuild
new file mode 100644
index 000000000000..e34d28a9f9c3
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.6.17.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.6.9999.ebuild b/net-proxy/haproxy/haproxy-2.6.9999.ebuild
new file mode 100644
index 000000000000..e34d28a9f9c3
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.6.9999.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.7.11.ebuild b/net-proxy/haproxy/haproxy-2.7.11.ebuild
new file mode 100644
index 000000000000..e34d28a9f9c3
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.7.11.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.7.9.ebuild b/net-proxy/haproxy/haproxy-2.7.9.ebuild
new file mode 100644
index 000000000000..90cbde54056e
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.7.9.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="amd64 ~arm arm64 ppc x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.7.9999.ebuild b/net-proxy/haproxy/haproxy-2.7.9999.ebuild
new file mode 100644
index 000000000000..e34d28a9f9c3
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.7.9999.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.8.7.ebuild b/net-proxy/haproxy/haproxy-2.8.7.ebuild
new file mode 100644
index 000000000000..86ce84d00cf8
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.8.7.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.8.9.ebuild b/net-proxy/haproxy/haproxy-2.8.9.ebuild
new file mode 100644
index 000000000000..e34d28a9f9c3
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.8.9.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.8.9999.ebuild b/net-proxy/haproxy/haproxy-2.8.9999.ebuild
new file mode 100644
index 000000000000..e34d28a9f9c3
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.8.9999.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.9.6.ebuild b/net-proxy/haproxy/haproxy-2.9.6.ebuild
new file mode 100644
index 000000000000..86ce84d00cf8
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.9.6.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.9.7.ebuild b/net-proxy/haproxy/haproxy-2.9.7.ebuild
new file mode 100644
index 000000000000..e34d28a9f9c3
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.9.7.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-2.9.9999.ebuild b/net-proxy/haproxy/haproxy-2.9.9999.ebuild
new file mode 100644
index 000000000000..e34d28a9f9c3
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.9.9999.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/haproxy-9999.ebuild b/net-proxy/haproxy/haproxy-9999.ebuild
new file mode 100644
index 000000000000..e34d28a9f9c3
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-9999.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-4 lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs lua-single systemd linux-info ${SCM} multiprocessing
+
+MY_P="${PN}-${PV/_beta/-dev}"
+
+DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
+HOMEPAGE="http://www.haproxy.org"
+if [[ ${PV} != *9999 ]]; then
+ # This is arbitrary; upstream uses master. Try to update when possible
+ VTEST_COMMIT="af198470d7ce482d3d26eb9ca3f246a438739366"
+ VTEST_DIR="${WORKDIR}/VTest-${VTEST_COMMIT}"
+ SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz
+ test? ( https://github.com/vtest/VTest/archive/${VTEST_COMMIT}.tar.gz -> VTest-${VTEST_COMMIT}.tar.gz )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+elif [[ ${PV} == 9999 ]]; then
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/"
+ EGIT_BRANCH=master
+else
+ VTEST_DIR="${WORKDIR}/VTest"
+ EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
+ EGIT_BRANCH=master
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter
+ssl systemd test +threads tools zlib lua 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ lua? ( ${LUA_REQUIRED_USE} )
+ ?? ( slz zlib )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre2:=
+ pcre-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ test? (
+ dev-libs/libpcre2
+ sys-libs/zlib
+ )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
+EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack )
+
+haproxy_use() {
+ (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
+
+ usex "${1}" "USE_${2}=1" "USE_${2}="
+}
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ default
+ else
+ git-r3_src_unpack
+ EGIT_REPO_URI="https://github.com/vtest/VTest" EGIT_CHECKOUT_DIR="${VTEST_DIR}" git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ # Switching to PCRE2 by default, bug 838013
+ PCRE=
+ PCRE_JIT=
+ )
+
+ if use elibc_musl; then
+ args+=( TARGET=linux-musl )
+ else
+ args+=( TARGET=linux-glibc )
+ fi
+
+ # TODO: PCRE2_WIDTH?
+ args+=( $(haproxy_use threads THREAD) )
+ args+=( $(haproxy_use crypt LIBCRYPT) )
+ args+=( $(haproxy_use net_ns NS) )
+ args+=( $(haproxy_use pcre PCRE2) )
+ args+=( $(haproxy_use pcre-jit PCRE2_JIT) )
+ args+=( $(haproxy_use ssl OPENSSL) )
+ args+=( $(haproxy_use slz SLZ) )
+ args+=( $(haproxy_use zlib ZLIB) )
+ args+=( $(haproxy_use lua LUA) )
+ args+=( $(haproxy_use 51degrees 51DEGREES) )
+ args+=( $(haproxy_use wurfl WURFL) )
+ args+=( $(haproxy_use systemd SYSTEMD) )
+ args+=( $(haproxy_use prometheus-exporter PROMEX) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" \
+ TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]}
+ emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) \
+ SBINDIR=/usr/sbin
+
+ if use tools ; then
+ for extra in ${EXTRAS[@]} ; do
+ if [ "${extra}" = "admin/halog" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog
+ elif [ "${extra}" = "dev/hpack" ]; then
+ emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" \
+ EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" \
+ PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht}
+ else
+ # Those two includes are a workaround for hpack Makefile missing those
+ emake -C ${extra} \
+ CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" ${args[@]}
+ fi
+ done
+ fi
+}
+
+src_test() {
+ # https://github.com/vtest/VTest/issues/12
+ emake -C "${VTEST_DIR}" CC="$(tc-getCC)" FLAGS="${CFLAGS} -Wno-error=unused-result"
+ ulimit -n 65536 || die "${PN} requires ulimit -n set to at least 65536 for tests"
+ env -u A -u D TMPDIR="/tmp" emake reg-tests -- --v --j "$(makeopts_jobs)" \
+ HAPROXY_PROGRAM="${S}/haproxy" VTEST_PROGRAM="${VTEST_DIR}/vtest" REGTESTS_TYPE="default,bug,devel"
+}
+
+src_install() {
+ dosbin haproxy
+
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd-r8" ${PN}
+
+ doman doc/haproxy.1
+
+ systemd_dounit admin/systemd/haproxy.service
+
+ einstalldocs
+
+ # The errorfiles are used by upstream defaults.
+ insinto /etc/haproxy/errors/
+ doins examples/errorfiles/*
+
+ if use doc; then
+ dodoc doc/*.txt
+ #if use lua; then
+ # TODO: doc/lua-api/
+ #fi
+ fi
+
+ if use tools ; then
+ has admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog
+ has admin/iprange "${EXTRAS[@]}" && {
+ newbin admin/iprange/iprange haproxy_iprange
+ newbin admin/iprange/ip6range haproxy_ip6range
+ }
+ has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop
+ has dev/hpack "${EXTRAS[@]}" && {
+ newbin dev/hpack/gen-rht haproxy_gen-rht
+ newbin dev/hpack/gen-enc haproxy_gen-enc
+ newbin dev/hpack/decode haproxy_decode
+ }
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.cfg
+ dodoc doc/seamless_reload.txt
+ fi
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/haproxy.vim
+}
+
+pkg_postinst() {
+ if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
+ ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
+ ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
+ ewarn "Make use of them with the \"user\" and \"group\" directives."
+
+ if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
+ einfo "Please consult the installed documentation for learning the configuration file's syntax."
+ einfo "The documentation and sample configuration files are installed here:"
+ einfo " ${EROOT}/usr/share/doc/${PF}"
+ fi
+ fi
+}
diff --git a/net-proxy/haproxy/metadata.xml b/net-proxy/haproxy/metadata.xml
index 6a09dde73e29..2844de6d94b9 100644
--- a/net-proxy/haproxy/metadata.xml
+++ b/net-proxy/haproxy/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>idl0r@gentoo.org</email>
@@ -21,11 +21,9 @@
<use>
<flag name="net_ns">Enable network namespace support (CONFIG_NET_NS)</flag>
<flag name="pcre-jit">Use JIT support for PCRE</flag>
- <flag name="pcre2">Enable PCRE2 RegEx support</flag>
- <flag name="pcre2-jit">Use JIT support for PCRE2</flag>
+ <flag name="prometheus-exporter">Also build the prometheus exporter</flag>
<flag name="slz">Use <pkg>dev-libs/libslz</pkg> compression library</flag>
<flag name="tools">Install additional tools (halog, iprange)</flag>
- <flag name="device-atlas">Use <pkg>dev-libs/device-atlas-api-c</pkg> library</flag>
<flag name="51degrees">Device Detection using 51 Degrees</flag>
<flag name="wurfl">Device Detection using WURFL</flag>
</use>
diff --git a/net-proxy/hatop/Manifest b/net-proxy/hatop/Manifest
index 3e1a8c7e048c..545e28f8d5e3 100644
--- a/net-proxy/hatop/Manifest
+++ b/net-proxy/hatop/Manifest
@@ -1 +1 @@
-DIST hatop-0.7.7.tar.gz 134143 BLAKE2B 549290a67463a7c6ef58e1e0a45666dded7973e679183dee0be7aaa97491c5d0e36da98e2fc62e4097fa4811ad1e620078f32019abfd83472139c43b2805be47 SHA512 879de0e13af1d1c4e86be034066fb4bbc5c1700a30abebbfb1e1d524fb50cec0fa90fe160a7b7d00bf6aedd49ab7bb8fa1447f751fae95200e850ff506feb074
+DIST hatop-0.8.2.tar.gz 138013 BLAKE2B c4a86952bf892ad989c6a28aa4bec503b24cbd11ec78cc9fb89625e30f7b1d39c0f8929018df03e7c8906d1b478f31be1003b0c37be0d09916787e1825780a60 SHA512 5e772394d72962bdd014f93ee94ea59814cee33e17c1864af5b3ec97a19c2c33a6ad13f24d0cf0baf78335d9a82cee28b60a03754430b0aa9132c1dd92753cdb
diff --git a/net-proxy/hatop/files/hatop-0.8.2-python312.patch b/net-proxy/hatop/files/hatop-0.8.2-python312.patch
new file mode 100644
index 000000000000..68515d6d6bd1
--- /dev/null
+++ b/net-proxy/hatop/files/hatop-0.8.2-python312.patch
@@ -0,0 +1,73 @@
+From 0c0a392d319ed495a55f8ad29291c4a7cbd5077a Mon Sep 17 00:00:00 2001
+From: sblondon <stephane.blondon@gmail.com>
+Date: Tue, 19 Mar 2024 19:33:17 +0100
+Subject: [PATCH] Fix syntax warnings in Python3.12 (#17)
+
+Python3.12 added new syntax warning if strings contain invalid sequence.
+
+The change is documented in:
+https://docs.python.org/3/whatsnew/3.12.html#other-language-changes
+---
+ bin/hatop | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/bin/hatop b/bin/hatop
+index bb69311..9aa9553 100755
+--- a/bin/hatop
++++ b/bin/hatop
+@@ -196,7 +196,7 @@ HAPROXY_CLI_MAXLINES = 1000
+ CLI_MAXLINES = 1000
+ CLI_MAXHIST = 100
+ CLI_INPUT_LIMIT = 200
+-CLI_INPUT_RE = re.compile('[a-zA-Z0-9_:\.\-\+; /#%]')
++CLI_INPUT_RE = re.compile(r'[a-zA-Z0-9_:\.\-\+; /#%]')
+ CLI_INPUT_DENY_CMD = ['prompt', 'set timeout cli', 'quit']
+
+ # Note: Only the last 3 lines are visible instantly on 80x25
+@@ -214,20 +214,20 @@ SCREEN_YMAX = 100
+ SCREEN_HPOS = 11
+
+ HAPROXY_INFO_RE = {
+-'software_name': re.compile('^Name:\s*(?P<value>\S+)'),
+-'software_version': re.compile('^Version:\s*(?P<value>\S+)'),
+-'software_release': re.compile('^Release_date:\s*(?P<value>\S+)'),
+-'nproc': re.compile('^Nbproc:\s*(?P<value>\d+)'),
+-'procn': re.compile('^Process_num:\s*(?P<value>\d+)'),
+-'pid': re.compile('^Pid:\s*(?P<value>\d+)'),
+-'uptime': re.compile('^Uptime:\s*(?P<value>[\S ]+)$'),
+-'maxconn': re.compile('^Maxconn:\s*(?P<value>\d+)'),
+-'curconn': re.compile('^CurrConns:\s*(?P<value>\d+)'),
+-'maxpipes': re.compile('^Maxpipes:\s*(?P<value>\d+)'),
+-'curpipes': re.compile('^PipesUsed:\s*(?P<value>\d+)'),
+-'tasks': re.compile('^Tasks:\s*(?P<value>\d+)'),
+-'runqueue': re.compile('^Run_queue:\s*(?P<value>\d+)'),
+-'node': re.compile('^node:\s*(?P<value>\S+)'),
++'software_name': re.compile(r'^Name:\s*(?P<value>\S+)'),
++'software_version': re.compile(r'^Version:\s*(?P<value>\S+)'),
++'software_release': re.compile(r'^Release_date:\s*(?P<value>\S+)'),
++'nproc': re.compile(r'^Nbproc:\s*(?P<value>\d+)'),
++'procn': re.compile(r'^Process_num:\s*(?P<value>\d+)'),
++'pid': re.compile(r'^Pid:\s*(?P<value>\d+)'),
++'uptime': re.compile(r'^Uptime:\s*(?P<value>[\S ]+)$'),
++'maxconn': re.compile(r'^Maxconn:\s*(?P<value>\d+)'),
++'curconn': re.compile(r'^CurrConns:\s*(?P<value>\d+)'),
++'maxpipes': re.compile(r'^Maxpipes:\s*(?P<value>\d+)'),
++'curpipes': re.compile(r'^PipesUsed:\s*(?P<value>\d+)'),
++'tasks': re.compile(r'^Tasks:\s*(?P<value>\d+)'),
++'runqueue': re.compile(r'^Run_queue:\s*(?P<value>\d+)'),
++'node': re.compile(r'^node:\s*(?P<value>\S+)'),
+ }
+
+ HAPROXY_STAT_MAX_SERVICES = 1000
+@@ -236,9 +236,9 @@ Warning: You have reached the stat parser limit! (%d)
+ Use --filter to parse specific service stats only.
+ ''' % HAPROXY_STAT_MAX_SERVICES
+ HAPROXY_STAT_FILTER_RE = re.compile(
+- '^(?P<iid>-?\d+)\s+(?P<type>-?\d+)\s+(?P<sid>-?\d+)$')
++ r'^(?P<iid>-?\d+)\s+(?P<type>-?\d+)\s+(?P<sid>-?\d+)$')
+ HAPROXY_STAT_PROXY_FILTER_RE = re.compile(
+- '^(?P<pxname>[a-zA-Z0-9_:\.\-]+)$')
++ r'^(?P<pxname>[a-zA-Z0-9_:\.\-]+)$')
+ HAPROXY_STAT_COMMENT = '#'
+ HAPROXY_STAT_SEP = ','
+ HAPROXY_STAT_CSV = [
diff --git a/net-proxy/hatop/hatop-0.7.7.ebuild b/net-proxy/hatop/hatop-0.8.2.ebuild
index f1114a42e99f..a0a1364cd6bb 100644
--- a/net-proxy/hatop/hatop-0.7.7.ebuild
+++ b/net-proxy/hatop/hatop-0.8.2.ebuild
@@ -1,31 +1,33 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python3_{9..12} )
PYTHON_REQ_USE="ncurses"
inherit python-r1
DESCRIPTION="Ncurses client and real-time monitoring and displaying of HAProxy status"
-HOMEPAGE="http://feurix.org/projects/hatop/"
-SRC_URI="https://hatop.googlecode.com/files/${P}.tar.gz"
+HOMEPAGE="https://github.com/jhunt/hatop"
+SRC_URI="https://github.com/jhunt/hatop/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
+
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}"
-RDEPEND="${DEPEND}
- net-proxy/haproxy"
+RDEPEND="${DEPEND}"
+
+PATCHES=("${FILESDIR}/hatop-0.8.2-python312.patch")
src_install() {
python_foreach_impl python_doscript bin/hatop
doman man/hatop.1
- dodoc CHANGES KEYBINDS README
+ dodoc CHANGES.rst KEYBINDS README.rst
}
diff --git a/net-proxy/hatop/metadata.xml b/net-proxy/hatop/metadata.xml
index 5840601f180f..df90b41cf905 100644
--- a/net-proxy/hatop/metadata.xml
+++ b/net-proxy/hatop/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>idl0r@gentoo.org</email>
diff --git a/net-proxy/havp/files/havp-0.92a-gcc12-time.patch b/net-proxy/havp/files/havp-0.92a-gcc12-time.patch
new file mode 100644
index 000000000000..0faf90dca3a6
--- /dev/null
+++ b/net-proxy/havp/files/havp-0.92a-gcc12-time.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/855575
+--- a/havp/logfile.cpp
++++ b/havp/logfile.cpp
+@@ -30,6 +30,7 @@
+ #include <map>
+ #include <cstdlib>
+ #include <cstring>
++#include <ctime>
+
+ #define LOGSTRINGLENGTH 1000
+
diff --git a/net-proxy/havp/havp-0.92a-r2.ebuild b/net-proxy/havp/havp-0.92a-r3.ebuild
index 973a5a81aee3..ff931e27294d 100644
--- a/net-proxy/havp/havp-0.92a-r2.ebuild
+++ b/net-proxy/havp/havp-0.92a-r3.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit autotools eutils toolchain-funcs user
+inherit autotools toolchain-funcs
DESCRIPTION="HTTP AntiVirus Proxy"
-HOMEPAGE="http://www.server-side.de/"
+HOMEPAGE="http://www.havp.org/"
SRC_URI="http://www.server-side.de/download/${P}.tar.gz"
LICENSE="GPL-2"
@@ -15,17 +15,20 @@ KEYWORDS="amd64 x86"
IUSE="clamav ssl"
DEPEND="clamav? ( >=app-antivirus/clamav-0.98.5 )"
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- enewgroup ${PN}
- enewuser ${PN} -1 -1 /etc/${PN} ${PN}
-}
+RDEPEND="
+ ${DEPEND}
+ acct-group/havp
+ acct-user/havp
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-run.patch
+ "${FILESDIR}"/${P}-pkg-config-libclamav.patch
+ "${FILESDIR}"/${P}-gcc12-time.patch
+)
src_prepare() {
- epatch \
- "${FILESDIR}"/${PN}-0.92a-run.patch \
- "${FILESDIR}"/${P}-pkg-config-libclamav.patch
+ default
sed -i configure.in -e '/^CFLAGS=/d' || die
mv configure.{in,ac} || die
@@ -36,26 +39,30 @@ src_prepare() {
src_configure() {
tc-export AR
export CFLAGS="${CXXFLAGS}"
- econf \
- $(use_enable clamav) \
- $(use_enable ssl ssl-tunnel) \
+
+ local myeconfargs=(
+ $(use_enable clamav)
+ $(use_enable ssl ssl-tunnel)
--localstatedir=/var
+ )
+
+ econf "${myeconfargs[@]}"
}
src_install() {
- dosbin ${PN}/${PN}
+ dosbin havp/havp
- newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newinitd "${FILESDIR}/havp.initd" havp
+ rm -r etc/havp/havp.config.in || die
insinto /etc
- rm -r etc/${PN}/${PN}.config.in
- doins -r etc/${PN}
+ doins -r etc/havp
- dodoc ChangeLog
+ einstalldocs
}
pkg_postinst() {
- ewarn "/var/tmp/${PN} must be on a filesystem with mandatory locks!"
+ ewarn "/var/tmp/havp must be on a filesystem with mandatory locks!"
ewarn "You should add \"mand\" to the mount options on the relevant line in /etc/fstab."
if use ssl; then
@@ -69,7 +76,7 @@ pkg_postinst() {
if use clamav; then
echo
ewarn "If you plan to use clamav daemon, you should make sure clamav user can read"
- ewarn "/var/tmp/${PN} content. This can be accomplished by enabling AllowSupplementaryGroups"
- ewarn "in /etc/clamd.conf and adding clamav user to the ${PN} group."
+ ewarn "/var/tmp/havp content. This can be accomplished by enabling AllowSupplementaryGroups"
+ ewarn "in /etc/clamd.conf and adding clamav user to the havp group."
fi
}
diff --git a/net-proxy/havp/metadata.xml b/net-proxy/havp/metadata.xml
index e7c14ea86ed6..9a85a91ed599 100644
--- a/net-proxy/havp/metadata.xml
+++ b/net-proxy/havp/metadata.xml
@@ -1,7 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>HAVP (HTTP AntiVirus proxy) is a proxy with an anti-virus
-filter. It does not cache or filter content.</longdescription>
+ <!-- maintainer-needed -->
+ <longdescription>
+ HAVP (HTTP AntiVirus proxy) is a proxy with an anti-virus
+ filter. It does not cache or filter content.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">HaveSec/HAVP</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-proxy/http-replicator/Manifest b/net-proxy/http-replicator/Manifest
deleted file mode 100644
index 460a0f3b65b8..000000000000
--- a/net-proxy/http-replicator/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST http-replicator_3.0.tar.gz 39291 BLAKE2B a97d8b6b32f5d4ca4feefa9abaa7da7cb6570f76566c79d7371134c0edd74b2333a02480deff02fa1bf5b6cd6f2bfbfe4aaa649633d70bd2efbdd22701422651 SHA512 d98a608c38201db6f2d8ba809a4777ab5588f5ed395882bdf542c2788df1770c61a2de160604c09297d847f2c73463ba0530d7f2c2e482467f8e8f35be068d57
-DIST http-replicator_4.0alpha2.tgz 27575 BLAKE2B 48138bc8fa9695ddb31ce89c4638adda4a1d1b58c904cd98d0ee1dbab006f79ef7d19495db8eb4de0113f8e45da425950524c48ec9e3e864d8595ccdef9f7cfa SHA512 437e0cc881af0cb8f84bfd1366bb6edeee4f76112c4b2ac2af4bcb8809462852b96e9c99e04c8f370492c9e1eb33ddc68a85c4f09b073694242cd6c05b4d3a6c
diff --git a/net-proxy/http-replicator/files/http-replicator-3-missing-directory.patch b/net-proxy/http-replicator/files/http-replicator-3-missing-directory.patch
deleted file mode 100644
index 37c2ce2361f3..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-3-missing-directory.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Author: Matthew Ogilvie
-Date: Sat Jan 17 09:24:34 2015 -0700
-
- add some suggestions to the missing-directory error message
-
- Also wait until directory confirmed before forking.
-
- See gentoo bug 502574 and bug 442874
-
-diff --git a/http-replicator b/http-replicator
-index bbc163c..81e254d 100755
---- a/http-replicator
-+++ b/http-replicator
-@@ -636,13 +636,6 @@ def main ():
- parser.error('user %r does not exist' % options.user)
- except OSError:
- parser.error('no permission for changing to user %r' % options.user)
-- pid = os.fork() # fork process
-- if pid: # parent process
-- pidfile.write(str(pid)) # store child's pid
-- pidfile.close()
-- return
-- else:
-- signal.signal(signal.SIGHUP, signal.SIG_IGN)
- else:
- handler = logging.StreamHandler(sys.stdout) # log to stdout
- handler.setFormatter(logging.Formatter('%(levelname)s: %(name)s %(message)s'))
-@@ -651,10 +644,22 @@ def main ():
- try:
- os.chdir(options.dir) # change to cache directory
- except OSError:
-- parser.error('invalid directory %r' % options.dir)
-+ parser.error('invalid directory %r\n' \
-+ 'Try running repcacheman, and/or see\n' \
-+ 'http://forums.gentoo.org/viewtopic-t-173226.html' \
-+ % options.dir)
- if not os.access(os.curdir, os.R_OK | os.W_OK): # check permissions for cache directory
- parser.error('no read/write permission for directory %r' % options.dir)
-
-+ if options.daemon:
-+ pid = os.fork() # fork process
-+ if pid: # parent process
-+ pidfile.write(str(pid)) # store child's pid
-+ pidfile.close()
-+ return
-+ else:
-+ signal.signal(signal.SIGHUP, signal.SIG_IGN)
-+
- sys.stdout = sys.stderr = open('/dev/null', 'w') # redirect all output to bit bucket
- logging.root.name = 'HttpReplicator'
- try:
diff --git a/net-proxy/http-replicator/files/http-replicator-3-unique-cache-name.patch b/net-proxy/http-replicator/files/http-replicator-3-unique-cache-name.patch
deleted file mode 100644
index 3ad0529ed16a..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-3-unique-cache-name.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Author: Matthew Ogilvie
-Date: Sun Dec 28 20:14:15 2014 -0700
-
- honor x-unique-cache-name header in flat mode, if present
-
- This allows things like different versions of the adobe-flash
- downloader that are given different names in a flat download
- directory (like in gentoo) to work in an http-replicator cache
- as well. As long as the fetcher passes the custom name through
- the experimental header...
-
- See gentoo bug # 442874
-
-diff --git a/http-replicator b/http-replicator
-index 19ae427..befe9f2 100755
---- a/http-replicator
-+++ b/http-replicator
-@@ -311,7 +311,12 @@ class HttpClient (Http):
- self.log.info('requested range: bytes %s to %s' % self.range) # log request
-
- head = ''
-- for tail in self.path.split('/'): # iterate over items in path
-+ adjUrlPath = self.path
-+ if not self.direct and self.flat:
-+ uniqueCacheName = body.get('x-unique-cache-name')
-+ if uniqueCacheName:
-+ adjUrlPath = uniqueCacheName
-+ for tail in adjUrlPath.split('/'): # iterate over items in path
- head = os.path.join(head, tail) # build target path
- if head in self.alias: # path up till now hos an alias
- head = self.alias[head] # replace by alias
diff --git a/net-proxy/http-replicator/files/http-replicator-3.0-callrepcacheman-0.1 b/net-proxy/http-replicator/files/http-replicator-3.0-callrepcacheman-0.1
deleted file mode 100644
index 14cd0a70a53b..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-3.0-callrepcacheman-0.1
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/bash
-source /etc/conf.d/http-replicator
-/usr/bin/repcacheman.py $GENERAL_OPTS
diff --git a/net-proxy/http-replicator/files/http-replicator-3.0-repcacheman-0.44-r2 b/net-proxy/http-replicator/files/http-replicator-3.0-repcacheman-0.44-r2
deleted file mode 100644
index 35d0a9e39fa2..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-3.0-repcacheman-0.44-r2
+++ /dev/null
@@ -1,201 +0,0 @@
-#! /usr/bin/python
-#
-# repcacheman ver 0.44
-#
-# Cache Manager for Http-Replicator
-# deletes duplicate files in PORTDIR.
-# imports authenticated (checksum + listed in portage)
-# files from PORTDIR to replicator's cache directory.
-#
-# Uses portage to perform checksum and database functions.
-# All else, Copyright(C)2004-2007 Tom Poplawski (poplawtm@earthlink.net)
-# Distributed under the terms of the GNU General Public License v2
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-import portage.manifest
-import portage.checksum
-import portage.exception
-import portage
-import string
-import os
-import pwd,sys,optparse
-
-if os.getuid():
- print"Must be root"
- sys.exit(1)
-
-# Parse Options
-
-parser = optparse.OptionParser()
-parser.add_option('-d', '--dir', type='string', default="/var/cache/http-replicator", help='http-replicators cache DIR')
-parser.add_option('-u','--user', type='string', default="portage", help='http-replicator USER')
-options, args = parser.parse_args() # parse command line
-
-if options.user:
- try:
- uid=pwd.getpwnam(options.user)[2]
- gid=pwd.getpwnam(options.user)[3]
- except:
- print "User \'" + options.user + "\' Doesn't exist on system - edit config or add user to system."
- sys.exit(1)
-else:
- print "Error\n\tunable to get USER from /etc/http-replicator.conf"
- sys.exit(1)
-
-# dir is replicator's cache directory
-dir=options.dir+"/"
-
-if os.path.isdir(dir) :
- newdir=0
-else :
- print"\n\nBegin Http-Replicator Setup...."
- try:
- os.makedirs(dir)
- print "\tcreated " + dir
- newdir=1
- except:
- print "\tcreate " + dir + " failed"
- print '\terror:', sys.exc_info()[1]
- sys.exit(1)
- try:
- os.chown(dir,uid,gid)
- print "\tchanged owner of " + dir + " to " + options.user
- except:
- print "\tchange owner " + dir + " to " + options.user + " failed:"
- print '\terror:', sys.exc_info()[1]
-
-print "\n\nReplicator's cache directory: " + dir
-
-# Import Portage settings
-
-distdir=portage.settings["DISTDIR"]+"/"
-if distdir:
- print "Portage's DISTDIR: " + distdir
-else:
- print"Unable to get Portage's DISTDIR"
- sys.exit(1)
-
-# Start Work
-
-print "\nComparing directories...."
-
-# Create filecmp object
-import filecmp
-dc=filecmp.dircmp (distdir,dir,['cvs-src','git-src','hg-src','egit-src','.locks'])
-print "Done!"
-
-dupes=dc.common
-deleted=0
-
-if dupes:
- print "\nDeleting duplicate file(s) in " + distdir
-
- for s in dupes:
- print s
- try:
- os.remove(distdir + s )
- deleted +=1
- except:
- print "\tdelete " + distdir + s + " failed:"
- print '\terror:', sys.exc_info()[1]
-
- print "Done!"
-
-
-newfiles=dc.left_only
-nf=len(dc.left_only)
-
-if nf:
- print "\nNew files in DISTDIR:"
- for s in newfiles:
- print s
- print"\nChecking authenticity and integrity of new files..."
- added=0
- errors=0
- badsum=0
-
-# search all packages
-
- for mycp in portage.db["/"]["porttree"].dbapi.cp_all():
- manifest = portage.manifest.Manifest("/usr/portage/" + mycp , distdir)
- if manifest == None:
- portage.writemsg("Missing manifest: %s\n" % mycpv)
-
- remove=[]
- for file in newfiles:
- if manifest.hasFile("DIST",file):
- try:
- myok, myreason = manifest.checkFileHashes("DIST",file)
-
- try:
- os.rename(distdir+file,dir+file)
- added += 1
- except:
- try:
- import shutil
- shutil.copyfile(distdir+file,dir+file)
- added += 1
- os.remove(distdir+file)
- except:
- print "\tmove/copy " + file + " failed:"
- print '\terror:', sys.exc_info()[1]
- errors+=1
-
- try:
- os.chown(dir+file,uid,gid)
- except:
- print "\tchown " + file + " failed:"
- print '\terror:', sys.exc_info()[1]
- errors +=1
-
- remove.append( file )
-
- except portage.exception.DigestException, e:
- print("\n!!! Digest verification failed:")
- print("!!! %s" % e.value[0])
- print("!!! Reason: %s" % e.value[1])
- print("!!! Got: %s" % e.value[2])
- print("!!! Expected: %s" % e.value[3])
- badsum+=1
- if remove:
- for rf in remove:
- newfiles.remove ( rf )
-
-
-print "\nSUMMARY:"
-print "Found " + str(len(dupes)) + " duplicate file(s)"
-if deleted:
- print "\tDeleted " + str(deleted) + " dupe(s)"
-
-if nf:
- print "Found " + str(nf) + " new file(s)"
- print "\tAdded " + str(added) + " of those file(s) to the cache"
-
- print "Rejected " +str(len(newfiles)) + " File(s) - ",
- print str(badsum) + " failed checksum(s)"
- for s in newfiles:
- print "\t%s" %s
- if errors:
- print "Encountered " +str(errors) + " errors"
-# if badsum:
-# print str(badsum) + " partial/corrupted file(s)"
-
-if newdir:
- print"\n\nexecute:\n/etc/init.d/http-replicator start"
- print"to run http-replicator.\n\nexecute:\nrc-update add http-replicator default"
- print"to make http-replicator start at boot"
- print"\n\nexecute:\n/usr/bin/repcacheman\nafter emerge's on the server to delete"
- print"dup files and add new files to the cache"
-
-print "\n\nHTTP-Replicator requires you delete any partial downloads in " + distdir
-print "run rm -f " + distdir +'*'
-
diff --git a/net-proxy/http-replicator/files/http-replicator-3.0-sighup.patch b/net-proxy/http-replicator/files/http-replicator-3.0-sighup.patch
deleted file mode 100644
index 969bbc91f9da..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-3.0-sighup.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/http-replicator 2007-07-09 20:09:44.000000000 +0200
-+++ b/http-replicator 2007-07-09 20:11:48.433913445 +0200
-@@ -5,7 +5,7 @@
- # Because of this the server runs as a single process, multiplexing I/O with its various client and server connections within a single process/thread.
- # According to the readme <http://www.nightmare.com/medusa/README.html> this means it is capable of smoother and higher performance than most other servers, while placing a dramatically reduced load on the server machine.
-
--import asyncore, socket, os, time, calendar, sys, re, optparse, logging
-+import asyncore, socket, os, time, calendar, sys, re, optparse, logging, signal
-
- # LISTENER
- #
-@@ -636,6 +636,8 @@
- pidfile.write(str(pid)) # store child's pid
- pidfile.close()
- return
-+ else:
-+ signal.signal(signal.SIGHUP, signal.SIG_IGN)
- else:
- handler = logging.StreamHandler(sys.stdout) # log to stdout
- handler.setFormatter(logging.Formatter('%(levelname)s: %(name)s %(message)s'))
diff --git a/net-proxy/http-replicator/files/http-replicator-3.0.conf b/net-proxy/http-replicator/files/http-replicator-3.0.conf
deleted file mode 100644
index 35671fd262c0..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-3.0.conf
+++ /dev/null
@@ -1,46 +0,0 @@
-## Config file for http-replicator
-## sourced by init scripts automatically
-## GENERAL_OPTS used by repcacheman
-## DAEMON_OPTS used by http-replicator
-
-
-## Set the cache dir
-GENERAL_OPTS="--dir /var/cache/http-replicator"
-
-## Change UID/GID to user after opening the log and pid file.
-## 'user' must have read/write access to cache dir:
-GENERAL_OPTS="$GENERAL_OPTS --user portage"
-
-## Don't change or comment this out:
-DAEMON_OPTS="$GENERAL_OPTS"
-
-## Do you need a proxy to reach the internet?
-## This will forward requests to an external proxy server:
-## Use one of the following, not both:
-#DAEMON_OPTS="$DAEMON_OPTS --external somehost:1234"
-#DAEMON_OPTS="$DAEMON_OPTS --external username:password@host:port"
-
-## Local dir to serve clients. Great for serving binary packages
-## See PKDIR and PORTAGE_BINHOST settings in 'man make.conf'
-## --alias /path/to/serve:location will make /path/to/serve
-## browsable at http://http-replicator.com:port/location
-DAEMON_OPTS="$DAEMON_OPTS --alias /usr/portage/packages:packages"
-
-## Dir to hold the log file:
-DAEMON_OPTS="$DAEMON_OPTS --log /var/log/http-replicator.log"
-
-## Make the log messages less and less verbose.
-## Up to four times to make it extremely quiet.
-#DAEMON_OPTS="$DAEMON_OPTS --quiet"
-#DAEMON_OPTS="$DAEMON_OPTS --quiet"
-
-## Make the log messages extra verbose for debugging.
-#DAEMON_OPTS="$DAEMON_OPTS --debug"
-
-## The ip addresses from which access is allowed. Can be used as many times
-## as necessary. Access from localhost is allowed by default.
-DAEMON_OPTS="$DAEMON_OPTS --ip 192.168.*.*"
-DAEMON_OPTS="$DAEMON_OPTS --ip 10.*.*.*"
-
-## The proxy port on which the server listens for http requests:
-DAEMON_OPTS="$DAEMON_OPTS --port 8080"
diff --git a/net-proxy/http-replicator/files/http-replicator-3.0.init b/net-proxy/http-replicator/files/http-replicator-3.0.init
deleted file mode 100644
index 7fc3d5e108da..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-3.0.init
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need net
-}
-
-start() {
- ebegin "Starting Http-Replicator"
- start-stop-daemon --start --pidfile /var/run/http-replicator.pid --name http-replicator \
- --exec /usr/bin/http-replicator -- -s -f --pid /var/run/http-replicator.pid --daemon $DAEMON_OPTS
- eend $? "Failed to start Http-Replicator"
-}
-
-stop() {
- ebegin "Stopping Http-Replicator"
- start-stop-daemon --stop --pidfile /var/run/http-replicator.pid --name http-replicator --signal 2
- eend $? "Failed to stop Http-Replicator"
-}
diff --git a/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-ipv6.patch b/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-ipv6.patch
deleted file mode 100644
index 906844fd9586..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-ipv6.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff -ur a/fiber.py b/fiber.py
---- a/fiber.py 2018-10-27 12:52:10.536264605 -0400
-+++ b/fiber.py 2018-10-27 12:57:26.688730570 -0400
-@@ -180,10 +180,10 @@
- os.dup2( nul.fileno(), sys.stdin.fileno() )
-
-
--def spawn( generator, port, debug, log, pidfile ):
-+def spawn( generator, port, debug, log, pidfile, listenfamily ):
-
- try:
-- listener = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
-+ listener = socket.socket( listenfamily, socket.SOCK_STREAM )
- listener.setblocking( 0 )
- listener.setsockopt( socket.SOL_SOCKET, socket.SO_REUSEADDR, listener.getsockopt( socket.SOL_SOCKET, socket.SO_REUSEADDR ) | 1 )
- listener.bind( ( '', port ) )
-diff -ur a/http-replicator b/http-replicator
---- a/http-replicator 2018-10-27 12:52:10.542931816 -0400
-+++ b/http-replicator 2018-10-27 12:59:36.345978943 -0400
-@@ -9,7 +9,7 @@
-
- def Replicator( client, address ):
-
-- print 'Accepted request from %s:%i' % address
-+ print 'Accepted request from [%s]:%i' % address[0:2]
-
- request = Request.HttpRequest()
- while not request.Protocol:
-@@ -60,4 +60,4 @@
- print 'Transaction successfully completed'
-
-
--fiber.spawn( Replicator, Params.PORT, Params.DEBUG, Params.LOG, Params.PIDFILE )
-+fiber.spawn( Replicator, Params.PORT, Params.DEBUG, Params.LOG, Params.PIDFILE, Params.LISTENFAMILY )
-diff -ur a/Params.py b/Params.py
---- a/Params.py 2018-10-27 12:52:10.549599026 -0400
-+++ b/Params.py 2018-10-27 12:55:31.772685822 -0400
-@@ -9,6 +9,7 @@
- TIMEOUT = 15
- PIDFILE = False
- FAMILY = socket.AF_INET
-+LISTENFAMILY = socket.AF_INET
- FLAT = False
- STATIC = False
- ONLINE = True
-@@ -63,6 +64,7 @@
- sys.exit( 'Error: %s requires a positive numerical argument' % _arg )
- elif _arg in ( '-6', '--ipv6' ):
- FAMILY = socket.AF_UNSPEC
-+ LISTENFAMILY = socket.AF_INET6
- elif _arg == '--flat':
- FLAT = True
- elif _arg == '--static':
-diff --git a/Protocol.py b/Protocol.py
---- a/Protocol.py
-+++ b/Protocol.py
-@@ -13,7 +13,7 @@ def connect( addr ):
-
- family, socktype, proto, canonname, sockaddr = DNSCache[ addr ][ 0 ]
-
-- print 'Connecting to %s:%i' % sockaddr
-+ print 'Connecting to [%s]:%i' % sockaddr[0:2]
- sock = socket.socket( family, socktype, proto )
- sock.setblocking( 0 )
- sock.connect_ex( sockaddr )
---
-2.18.1
-
diff --git a/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r2.conf b/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r2.conf
deleted file mode 100644
index cea7c9632a34..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r2.conf
+++ /dev/null
@@ -1,46 +0,0 @@
-## Configuration file for HTTP Replicator automatically sourced by init script.
-
-#################
-## REPCACHEMAN ##
-#################
-
-## Set the cache dir.
-GENERAL_OPTS="--dir /var/cache/http-replicator/"
-
-## Change UID/GID to user after opening the log and pid file.
-## 'user' must have read/write access to cache dir.
-GENERAL_OPTS="$GENERAL_OPTS --user portage"
-
-#####################
-## HTTP-REPLICATOR ##
-#####################
-
-## Specify which file to log too, use /dev/null to disable.
-LOG_FILE="/var/log/http-replicator.log"
-
-# Set cache root directory.
-DAEMON_OPTS="--root /var/cache/http-replicator/"
-
-## Try IPv6 addresses if available.
-# DAEMON_OPTS="$DAEMON_OPTS --ipv6"
-
-## The proxy port on which the server listens for http requests, default 8080.
-# DAEMON_OPTS="$DAEMON_OPTS --port 8080"
-
-## Break connection after so many seconds of inactivity, default 15.
-# DAEMON_OPTS="$DAEMON_OPTS --timeout 15"
-
-## Limit download rate at a fixed K/s.
-# DAEMON_OPTS="$DAEMON_OPTS --limit RATE"
-
-## Do you need the proxy to work offline, never connecting to a server?
-# DAEMON_OPTS="$DAEMON_OPTS --offline"
-
-## Show http headers and other info in log messages.
-# DAEMON_OPTS="$DAEMON_OPTS --verbose"
-
-## Switch from gather to debug output module.
-# DAEMON_OPTS="$DAEMON_OPTS --debug"
-
-## More options (eg --flat and --static) are listed in `http-replicator --help`,
-## the --daemon parameter is automatically passed by the init script. \ No newline at end of file
diff --git a/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3-pid.patch b/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3-pid.patch
deleted file mode 100644
index a1cf5eddbfcb..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3-pid.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-Bring back the --pid functionality of 3.x, needed for our init script.
-
-Patch contributed by Nikita Kozlov (klnikita / klnikita_ on IRC).
-
-Slight adjustments made to use --pid instead of --pidfile and reordered --help.
-
-URL: https://dpaste.org/Menvq/
-BUG: https://bugs.gentoo.org/show_bug.cgi?id=472422
-
---- a/fiber.py
-+++ b/fiber.py
-@@ -136,11 +136,13 @@
- self.__stdout.flush()
- self.__newline = string.endswith( '\n' )
-
-
--def fork( output ):
-+def fork( output, pidfile ):
-
- try:
-+ if pidfile:
-+ pidout = open(pidfile, 'w') # open pid file for writing
- log = open( output, 'w' )
- nul = open( '/dev/null', 'r' )
- pid = os.fork()
- except IOError, e:
-@@ -166,17 +168,20 @@
- print 'error:', e
- sys.exit( 1 )
-
- if pid:
-+ if pidfile:
-+ pidout.write(str(pid))
-+ pidout.close()
- print pid
- sys.exit( 0 )
-
- os.dup2( log.fileno(), sys.stdout.fileno() )
- os.dup2( log.fileno(), sys.stderr.fileno() )
- os.dup2( nul.fileno(), sys.stdin.fileno() )
-
-
--def spawn( generator, port, debug, log ):
-+def spawn( generator, port, debug, log, pidfile ):
-
- try:
- listener = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
- listener.setblocking( 0 )
-@@ -187,9 +192,9 @@
- print 'error: failed to create socket:', e
- sys.exit( 1 )
-
- if log:
-- fork( log )
-+ fork( log, pidfile )
-
- if debug:
- myFiber = DebugFiber
- else:
---- a/http-replicator
-+++ b/http-replicator
-@@ -59,5 +59,5 @@
-
- print 'Transaction successfully completed'
-
-
--fiber.spawn( Replicator, Params.PORT, Params.DEBUG, Params.LOG )
-+fiber.spawn( Replicator, Params.PORT, Params.DEBUG, Params.LOG, Params.PIDFILE )
---- a/Params.py
-+++ b/Params.py
-@@ -6,8 +6,9 @@
- PORT = 8080
- ROOT = os.getcwd() + os.sep
- VERBOSE = 0
- TIMEOUT = 15
-+PIDFILE = False
- FAMILY = socket.AF_INET
- FLAT = False
- STATIC = False
- ONLINE = True
-@@ -21,8 +22,9 @@
-
- options:
-+ --pid FILE write process ID to FILE
- -h --help show this help message and exit
- -p --port PORT listen on this port for incoming connections, default %(PORT)i
- -r --root DIR set cache root directory, default current: %(ROOT)s
- -v --verbose show http headers and other info
- -t --timeout SEC break connection after so many seconds of inactivity, default %(TIMEOUT)i
- -6 --ipv6 try ipv6 addresses if available
-@@ -74,8 +76,10 @@
- except:
- sys.exit( 'Error: %s requires a numerical argument' % _arg )
- elif _arg == '--daemon':
- LOG = _args.next()
-+ elif _arg == '--pid':
-+ PIDFILE = _args.next()
- elif _arg == '--debug':
- DEBUG = True
- else:
- sys.exit( 'Error: invalid option %r' % _arg ) \ No newline at end of file
diff --git a/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3.init b/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3.init
deleted file mode 100644
index 3dc4297855c2..000000000000
--- a/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3.init
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need net
-}
-
-start() {
- ebegin "Starting HTTP Replicator"
- start-stop-daemon --start --pidfile /var/run/http-replicator.pid \
- --name http-replicator --exec /usr/bin/http-replicator -- --static \
- --flat --daemon $LOG_FILE $DAEMON_OPTS --pid /var/run/http-replicator.pid
- eend $? "Failed to start HTTP Replicator"
-}
-
-stop() {
- ebegin "Stopping HTTP Replicator"
- start-stop-daemon --stop --pidfile /var/run/http-replicator.pid --name http-replicator --signal 2
- eend $? "Failed to stop HTTP Replicator"
-}
diff --git a/net-proxy/http-replicator/files/http-replicator.service b/net-proxy/http-replicator/files/http-replicator.service
deleted file mode 100644
index 6a2a7e5f5dff..000000000000
--- a/net-proxy/http-replicator/files/http-replicator.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=http-replicator daemon
-After=network.target
-
-[Service]
-ExecStart=/usr/bin/http-replicator -s -f \
- --dir /var/cache/http-replicator --user portage --log /var/log/http-replicator.log \
- $DAEMON_OPTS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-proxy/http-replicator/files/http-replicator.service.conf b/net-proxy/http-replicator/files/http-replicator.service.conf
deleted file mode 100644
index da7445d080c4..000000000000
--- a/net-proxy/http-replicator/files/http-replicator.service.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# Set various parameters for http-replicator
-[Service]
-Environment="DAEMON_OPTS= --alias /usr/portage/packages:packages --ip 192.168.*.* --ip 10.*.*.* --port 8080"
diff --git a/net-proxy/http-replicator/http-replicator-3.0-r8.ebuild b/net-proxy/http-replicator/http-replicator-3.0-r8.ebuild
deleted file mode 100644
index 28f535c83dca..000000000000
--- a/net-proxy/http-replicator/http-replicator-3.0-r8.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 ) # not 2.6 bug #33907, not 3.0 bug #411083
-
-inherit eutils python-single-r1 systemd
-
-MY_P="${PN}_${PV}"
-
-DESCRIPTION="Proxy cache for Gentoo packages"
-HOMEPAGE="https://sourceforge.net/projects/http-replicator"
-SRC_URI="mirror://sourceforge/http-replicator/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 hppa ppc ~sparc x86"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/http-replicator-3.0-sighup.patch"
- "${FILESDIR}/http-replicator-3-unique-cache-name.patch"
- "${FILESDIR}/http-replicator-3-missing-directory.patch"
-)
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_install() {
- # Daemon and repcacheman into /usr/bin
- python_scriptinto /usr/bin
- python_doscript http-replicator
- python_newscript "${FILESDIR}/http-replicator-3.0-repcacheman-0.44-r2" repcacheman.py
-
- exeinto /usr/bin
- newexe "${FILESDIR}/http-replicator-3.0-callrepcacheman-0.1" repcacheman
-
- # init.d scripts
- newinitd "${FILESDIR}/http-replicator-3.0.init" http-replicator
- newconfd "${FILESDIR}/http-replicator-3.0.conf" http-replicator
-
- systemd_dounit "${FILESDIR}"/http-replicator.service
- systemd_install_serviced "${FILESDIR}"/http-replicator.service.conf
-
- # Docs
- dodoc README debian/changelog
-
- # Man Page - Not Gentooified yet
- doman http-replicator.1
-
- insinto /etc/logrotate.d
- newins debian/logrotate http-replicator
-}
-
-pkg_postinst() {
- elog
- ewarn "Before starting http-replicator, please follow the next few steps:"
- elog "- Modify /etc/conf.d/http-replicator if required."
- ewarn "- Run /usr/bin/repcacheman to set up the cache."
- elog "- Add http_proxy=\"http://serveraddress:8080\" to make.conf on"
- elog " the server as well as on the client machines."
- elog "- Make sure FETCHCOMMAND adds the X-unique-cache-name header to"
- elog " HTTP requests in make.conf (or maybe portage will add it to"
- elog " the default make.globals someday). Example:"
- elog ' FETCHCOMMAND="wget -t 3 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" --header=\"X-unique-cache-name: \${FILE}\" \"\${URI}\""'
- elog ' RESUMECOMMAND="wget -c -t 3 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" --header=\"X-unique-cache-name: \${FILE}\" \"\${URI}\""'
- elog "- Arrange to periodically run repcacheman on this server,"
- elog " to clean up the local /usr/portage/distfiles directory."
- elog "- Arrange to periodically run something like the following"
- elog " on this server. 'eclean' is in app-portage/gentoolkit."
- elog " ( export DISTDIR=/var/cache/http-replicator/"
- elog " eclean -i distfiles )"
- elog "- Even with FETCHCOMMAND fixing most cases, occasionally"
- elog " an older invalid version of a file may end up in the cache,"
- elog " causing checksum failures when portage tries to fetch"
- elog " it. To recover, either use eclean (above), manually delete"
- elog " the relevant file from the cache, or temporarily comment"
- elog " out the http_proxy setting. Commenting only requires"
- elog " access to client config, not server cache."
- elog "- Make sure GENTOO_MIRRORS in /etc/portage/make.conf starts"
- elog " with several good http mirrors."
- elog
- elog "For more information please refer to the following forum thread:"
- elog " http://forums.gentoo.org/viewtopic-t-173226.html"
- elog
-}
diff --git a/net-proxy/http-replicator/http-replicator-4.0_alpha2-r7.ebuild b/net-proxy/http-replicator/http-replicator-4.0_alpha2-r7.ebuild
deleted file mode 100644
index c43d5f026639..000000000000
--- a/net-proxy/http-replicator/http-replicator-4.0_alpha2-r7.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python2_7 )
-
-inherit python-r1 readme.gentoo-r1 systemd
-
-MY_P="${PN}_${PV/_/}"
-
-DESCRIPTION="Proxy cache for Gentoo packages"
-HOMEPAGE="https://sourceforge.net/projects/http-replicator"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 hppa ppc ~sparc x86"
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- sys-apps/portage[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-# Tests downloads files as well as breaks, should be turned into local tests.
-RESTRICT="test"
-
-DISABLE_AUTOFORMATTING="yes"
-DOC_CONTENTS="
-Before starting ${PN}, please follow the next few steps:
-
-- Modify /etc/conf.d/${PN} if required.
-- Run \`repcacheman\` to set up the cache.
-- Add HTTP_PROXY=\"http://serveraddress:8080\" to make.conf on
-the server as well as on the client machines.
-- Make sure GENTOO_MIRRORS in /etc/portage/make.conf
-starts with several good HTTP mirrors.
-
-For more information please refer to the following forum thread:
-https://forums.gentoo.org/viewtopic-t-173226.html
-
-Starting with 4.x releases, the conf.d parameters have changed.
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.0_alpha2-r3-pid.patch
- "${FILESDIR}"/${PN}-4.0_alpha2-ipv6.patch #669078
-)
-
-src_test() {
- ./unit-test && die
-}
-
-src_install() {
- python_foreach_impl python_doscript http-replicator
-
- newbin "${FILESDIR}"/${PN}-3.0-callrepcacheman-0.1 repcacheman
-
- python_foreach_impl python_domodule *.py
-
- python_foreach_impl python_newscript "${FILESDIR}"/${PN}-3.0-repcacheman-0.44-r2 repcacheman.py
-
- newinitd "${FILESDIR}"/${PN}-4.0_alpha2-r3.init http-replicator
- newconfd "${FILESDIR}"/${PN}-4.0_alpha2-r2.conf http-replicator
-
- systemd_dounit "${FILESDIR}"/http-replicator.service
- systemd_install_serviced "${FILESDIR}"/http-replicator.service.conf
-
- dodoc README.user README.devel RELNOTES
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/net-proxy/http-replicator/metadata.xml b/net-proxy/http-replicator/metadata.xml
deleted file mode 100644
index 2700375c94e8..000000000000
--- a/net-proxy/http-replicator/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">http-replicator</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-proxy/lyrebird/Manifest b/net-proxy/lyrebird/Manifest
new file mode 100644
index 000000000000..cd5561aa4d66
--- /dev/null
+++ b/net-proxy/lyrebird/Manifest
@@ -0,0 +1,2 @@
+DIST lyrebird-0.1.0-deps.tar.xz 88991580 BLAKE2B ba9113d847bc900ad3001e91a67ac939a7fbd8f7423f256be92a5fb2461604c00e05edd581a28f456f493997d31a40fa1673fead1cd15ae192e02ca480b9db5b SHA512 af6e245ac333de1c14ba1f648548123f11ceaffb894d4057e2e7ed5c1fa8cd0f023e308ccf20d74696b2ef0b8a0489fe2f73c868dc23e087f8ae04ea6688db4d
+DIST lyrebird-0.1.0.tar.bz2 76753 BLAKE2B af168a25093b68b10b489adc282f1ee65b70193602f79d9cc352c78e2a9c71205191dc6487ea58584f76ce1cbbf653d3fd0e1f645d7972d3e73173a90ae39361 SHA512 f9b8686d1c5f9ddb41a255a1a8954e05cefd50523ada7360432b456c62475ba606872df407ba8ebd7714d4f185eef0efae63e3e53c5c1c18fd323a97912f951e
diff --git a/net-proxy/lyrebird/lyrebird-0.1.0.ebuild b/net-proxy/lyrebird/lyrebird-0.1.0.ebuild
new file mode 100644
index 000000000000..6162ed0ab738
--- /dev/null
+++ b/net-proxy/lyrebird/lyrebird-0.1.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module
+
+DESCRIPTION="An obfuscating proxy supporting Tor's pluggable transport protocol obfs4"
+HOMEPAGE="https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird"
+SRC_URI="https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/${PN}/-/archive/${P}/${PN}-${P}.tar.bz2 -> ${P}.tar.bz2
+ https://dev.gentoo.org/~marecki/dists/${CATEGORY}/${PN}/${P}-deps.tar.xz"
+
+LICENSE="BSD CC0-1.0 BZIP2 GPL-3+ MIT public-domain"
+SLOT="0"
+KEYWORDS="amd64 arm ~riscv x86"
+IUSE="selinux"
+
+RDEPEND="selinux? ( sec-policy/selinux-obfs4proxy )"
+
+S="${WORKDIR}"/${PN}-${P}
+
+DOCS=( README.md ChangeLog doc/obfs4-spec.txt )
+
+src_compile() {
+ go build ./cmd/${PN} || die
+}
+
+src_install() {
+ default
+ dobin ${PN}
+ newman doc/obfs4proxy.1 ${PN}.1
+}
+
+pkg_postinst() {
+ if [[ ! -z "${REPLACING_VERSIONS}" ]]; then
+ local oldver
+ for oldver in ${REPLACING_VERSIONS}; do
+ if ver_test "${oldver}" -lt 0.1.0; then
+ ewarn "Since version 0.1.0 the proxy executable is called '${PN}' rather than 'obfs4proxy'."
+ ewarn "Please update your Tor configuration accordingly."
+ ewarn
+ break
+ fi
+ done
+ fi
+}
diff --git a/net-proxy/lyrebird/metadata.xml b/net-proxy/lyrebird/metadata.xml
new file mode 100644
index 000000000000..beac02a9af14
--- /dev/null
+++ b/net-proxy/lyrebird/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-proxy/metadata.xml b/net-proxy/metadata.xml
index 32488608746e..b90aac898cd0 100644
--- a/net-proxy/metadata.xml
+++ b/net-proxy/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<catmetadata>
<longdescription lang="en">
The net-proxy category contains network proxy software.
@@ -30,4 +30,3 @@
Kategoria net-proxy zawiera oprogramowanie zwiÄ…zane z serwerami proxy.
</longdescription>
</catmetadata>
-
diff --git a/net-proxy/microsocks/Manifest b/net-proxy/microsocks/Manifest
new file mode 100644
index 000000000000..e3d585551842
--- /dev/null
+++ b/net-proxy/microsocks/Manifest
@@ -0,0 +1,2 @@
+DIST microsocks-1.0.2.tar.gz 9092 BLAKE2B d6038d077809057e6a8c187e15a052283ff9751e38ab3645aff09604661f872a6542cdb4dc3ef778f0401b27f4e688a1fbf280f1bac082258a827714bd8963a5 SHA512 baee86b323ae460fc0f366815317aee7ab6039488c0badd2230f0f2ad0a72e5105e505e4ffa42e0834c570ba65f589b48dd942eb1a1f51b293ed1d6a6e814e0e
+DIST microsocks-1.0.3.tar.gz 9846 BLAKE2B 8e4e869914c6235c31989299131b259dff4ca9c27a514ed7a8c93ef460b3746630bd38b86da5a8b170d76a0807606c82cf7feff6c680e7e647a80e4f2cb937ef SHA512 cd2b4a689a4502e56900a87f88d09283a872fe367e4e0e1957800a32e195492d641266a1f2f85f861a135d6a207db92d2f0058785b80dfbf436d8ea805ca9322
diff --git a/net-proxy/microsocks/files/microsocks.confd b/net-proxy/microsocks/files/microsocks.confd
new file mode 100644
index 000000000000..1c9387fb09c3
--- /dev/null
+++ b/net-proxy/microsocks/files/microsocks.confd
@@ -0,0 +1,4 @@
+# /etc/conf.d/microsocks - config for microsocks
+#
+# see README.md or --help for possible parameters
+microsocks_args=""
diff --git a/net-proxy/microsocks/files/microsocks.initd b/net-proxy/microsocks/files/microsocks.initd
new file mode 100644
index 000000000000..a520e94920cc
--- /dev/null
+++ b/net-proxy/microsocks/files/microsocks.initd
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="microsocks daemon"
+description="Multithreaded, small, efficient SOCKS5 server"
+pidfile="/run/${RC_SVCNAME}.pid"
+command=/usr/bin/microsocks
+command_args="${microsocks_args}"
+command_background=1
+
+depend() {
+ need net
+}
diff --git a/net-proxy/microsocks/metadata.xml b/net-proxy/microsocks/metadata.xml
new file mode 100644
index 000000000000..340a1fb749f8
--- /dev/null
+++ b/net-proxy/microsocks/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rofl0r/microsocks</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-proxy/microsocks/microsocks-1.0.2.ebuild b/net-proxy/microsocks/microsocks-1.0.2.ebuild
new file mode 100644
index 000000000000..104b63854d18
--- /dev/null
+++ b/net-proxy/microsocks/microsocks-1.0.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Multithreaded, small, efficient SOCKS5 server"
+HOMEPAGE="https://github.com/rofl0r/microsocks"
+SRC_URI="https://github.com/rofl0r/microsocks/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+src_prepare() {
+ default
+ sed -r -e 's:/usr/local:/usr:' -i Makefile || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+}
diff --git a/net-proxy/microsocks/microsocks-1.0.3.ebuild b/net-proxy/microsocks/microsocks-1.0.3.ebuild
new file mode 100644
index 000000000000..6716bbd7c616
--- /dev/null
+++ b/net-proxy/microsocks/microsocks-1.0.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Multithreaded, small, efficient SOCKS5 server"
+HOMEPAGE="https://github.com/rofl0r/microsocks"
+SRC_URI="https://github.com/rofl0r/microsocks/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+src_prepare() {
+ default
+ sed -r -e 's:/usr/local:/usr:' -i Makefile || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+}
diff --git a/net-proxy/mitmproxy/Manifest b/net-proxy/mitmproxy/Manifest
index 6ff5004dcc48..a9f0d25fdf3f 100644
--- a/net-proxy/mitmproxy/Manifest
+++ b/net-proxy/mitmproxy/Manifest
@@ -1 +1 @@
-DIST mitmproxy-4.0.4.tar.gz 27131713 BLAKE2B 2748b0f3b66e1f5840aae792a1b4cd8ef8efa3673fa24bc0c3e15474b36d68c0f6b2203cf629b6444545b8c6223752232b2ce8526290fe5d74916946e8917a03 SHA512 e08ea8b1c75a95b822c463625509037bbc8a979161cacaa1f0185f98df8d6d7e5400925365dbbe70d18751251b1005824f739a8cd035c0389f7b4aea562adfb3
+DIST mitmproxy-9.0.1.gh.tar.gz 29461514 BLAKE2B 291f9846afde35e70a3e900de811d8bd83cdd604ac4a43dbb3d0763d7326d7bdcfc37a0eddc8bf4a145963a61dc9d9956265afad2f9255a993e821ebd7a78b09 SHA512 601d9171f48d93fbc6f002a1dc243c2f358186059e491490ffe5ab7be797e8e622fdb5a9e2fdab10fac7350057f9e9491952527d600477c841c9b5102a045bc1
diff --git a/net-proxy/mitmproxy/metadata.xml b/net-proxy/mitmproxy/metadata.xml
index 01809bf53a6f..33bee145a3c4 100644
--- a/net-proxy/mitmproxy/metadata.xml
+++ b/net-proxy/mitmproxy/metadata.xml
@@ -1,11 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>radhermit@gentoo.org</email>
- <name>Tim Harder</name>
- </maintainer>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ mitmproxy is your swiss-army knife for debugging,
+ testing, privacy measurements, and penetration
+ testing. It can be used to intercept, inspect, modify
+ and replay web traffic such as HTTP/1, HTTP/2,
+ WebSockets, or any other SSL/TLS-protected
+ protocols. You can prettify and decode a variety of
+ message types ranging from HTML to Protobuf, intercept
+ specific messages on-the-fly, modify them before they
+ reach their destination, and replay them to a client
+ or server later on.
+ </longdescription>
<upstream>
+ <remote-id type="github">mitmproxy/mitmproxy</remote-id>
<remote-id type="pypi">mitmproxy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-proxy/mitmproxy/mitmproxy-4.0.4.ebuild b/net-proxy/mitmproxy/mitmproxy-4.0.4.ebuild
deleted file mode 100644
index eae990245b34..000000000000
--- a/net-proxy/mitmproxy/mitmproxy-4.0.4.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_6 )
-inherit distutils-r1
-
-DESCRIPTION="An interactive, SSL-capable, man-in-the-middle HTTP proxy"
-HOMEPAGE="https://mitmproxy.org/"
-SRC_URI="https://github.com/mitmproxy/mitmproxy/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-RDEPEND="
- >=dev-python/blinker-1.4[${PYTHON_USEDEP}]
- >=dev-python/brotlipy-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/certifi-2015.11.20.1[${PYTHON_USEDEP}]
- >=dev-python/click-6.2[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.1.4[${PYTHON_USEDEP}]
- >=dev-python/hyper-h2-3.0.1[${PYTHON_USEDEP}]
- >=dev-python/hyperframe-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/kaitaistruct-0.7[${PYTHON_USEDEP}]
- >=dev-python/ldap3-2.5[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.6.5[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-3.6.0[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-0.3.1[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-17.5[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.1.3[${PYTHON_USEDEP}]
- >=dev-python/pyperclip-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.9.1[${PYTHON_USEDEP}]
- >=dev-python/ruamel-yaml-0.15[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-1.5.4[${PYTHON_USEDEP}]
- >=www-servers/tornado-4.3[${PYTHON_USEDEP}]
- >=dev-python/urwid-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/wsproto-0.11.0[${PYTHON_USEDEP}]
-"
-
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- >=dev-python/flask-1.0[${PYTHON_USEDEP}]
- >=dev-python/parver-0.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-3.3[${PYTHON_USEDEP}]
- >=dev-python/requests-2.9.1[${PYTHON_USEDEP}]
- )"
-
-python_prepare_all() {
- # loosen dependencies
- sed -i '/>/s/>.*/",/g' setup.py || die
-
- # remove failing tests
- sed -e 's/test_iframe_injector/_&/g' \
- -i test/examples/test_examples.py || die
-
- sed -e 's/test_find_unclaimed_URLs/_&/g' \
- -i test/examples/test_xss_scanner.py || die
-
- rm test/mitmproxy/addons/test_readfile.py || die
-
- sed \
- -e 's/test_mode_none_should_pass_without_sni/_&/g' \
- -e 's/test_mode_strict_w_pemfile_should_pass/_&/g' \
- -e 's/test_mode_strict_w_confdir_should_pass/_&/g' \
- -i test/mitmproxy/net/test_tcp.py || die
-
- sed \
- -e 's/test_verification_w_confdir/_&/g' \
- -e 's/test_verification_w_pemfile/_&/g' \
- -i test/mitmproxy/proxy/test_server.py || die
-
- # needs pytest-asyncio
- rm test/mitmproxy/tools/test_main.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- pytest -vv || die
-}
diff --git a/net-proxy/mitmproxy/mitmproxy-9.0.1.ebuild b/net-proxy/mitmproxy/mitmproxy-9.0.1.ebuild
new file mode 100644
index 000000000000..984f0e123679
--- /dev/null
+++ b/net-proxy/mitmproxy/mitmproxy-9.0.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11} )
+PYTHON_REQ_USE="sqlite"
+inherit distutils-r1
+
+DESCRIPTION="An interactive, SSL-capable, man-in-the-middle HTTP proxy"
+HOMEPAGE="https://mitmproxy.org/"
+SRC_URI="https://github.com/mitmproxy/mitmproxy/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=app-arch/brotli-1.0.0[python,${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.2.10[${PYTHON_USEDEP}]
+ >=dev-python/blinker-1.4[${PYTHON_USEDEP}]
+ >=dev-python/certifi-2015.11.20.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-37.0.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/h2-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/hyperframe-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/kaitaistruct-0.10[${PYTHON_USEDEP}]
+ >=dev-python/ldap3-2.8[${PYTHON_USEDEP}]
+ >=dev-python/mitmproxy_wireguard-0.1.16[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.6.5[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/publicsuffix-2.20190205[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-22.1[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.4.2[${PYTHON_USEDEP}]
+ >=dev-python/pyperclip-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/ruamel-yaml-0.16[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
+ >=dev-python/urwid-2.1.1[${PYTHON_USEDEP}]
+ >=dev-python/wsproto-1.0.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8[${PYTHON_USEDEP}]
+ >=dev-python/parver-0.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.17.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.9.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # loosen dependencies
+ sed -i \
+ -e '/>/s/>.*/",/g' \
+ -e '/python_requires/d' \
+ setup.py || die
+
+ # remove failing test
+ # sed -i 's/test_get_version/_&/g' test/mitmproxy/test_version.py || die
+
+ # seems to hang. other tests ensure that mitmproxy_wireguard module
+ # loads properly.
+ sed -i 's/test_wireguard/_&/g' \
+ test/mitmproxy/proxy/test_mode_servers.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/net-proxy/nutcracker/Manifest b/net-proxy/nutcracker/Manifest
index 01f190819d1a..d135fda95e43 100644
--- a/net-proxy/nutcracker/Manifest
+++ b/net-proxy/nutcracker/Manifest
@@ -1,3 +1,2 @@
-DIST nutcracker-0.2.4.tar.gz 1723439 BLAKE2B 58287d9dfa51f6661fd1f288308c2172856dc284053e211df83f142d1314b89869b5eccb95412b71dc385726eb4a878cec0e2e9a79d5f2850214dab154c437b4 SHA512 13d7d2a778a5d85a1d73eaa220f2e95eb7765eff0c8af390ab916f099b12d6c1a99cb61ff418b9a909ff7e2b416b271ba034eb9f50cd7df1ee53600d8b681409
-DIST nutcracker-0.3.0.tar.gz 1825106 BLAKE2B e98a7a4a8d6599b14bdd21204cd0d1894d4474f32a2a9184d991217e6c087a504f51d8b822a0ad687b35c9119a63d5d338e6df4137f059784efd05c3b512aa65 SHA512 81ba21c54b9a15fbb1d0a42b426643b65bcd20b7bb4b35cf3427235703a01a44188b762edff412afe20c193a4e75bf618f69d8c77bae9d66cd2c4e619416f565
DIST nutcracker-0.4.1.tar.gz 1163442 BLAKE2B 6838fbb5623ad49ef564176ba4c7d4e61cedb9693851cacc06d8ed09e3045b8cff9df1af8e21790cfa0e3f988b81a9c9cfa852449d532a432c05f3f4c3eace56 SHA512 581fae1d12feb983ed25b22cd6f597fd28b7070906ac29d3990669ae5c626a468914021cee152a6a2299a2838c838ad907e4c911b911ef04166ac7bbb2982da1
+DIST twemproxy-0.5.0.tar.gz 1298797 BLAKE2B f321fb7c44bb1abca2986f458b01234da50973fd75fee1eb2e22e6119be48adab5f45f78317aa99d234a246b26e579050df4b094658139d10207f817f26c14b1 SHA512 01a90b4596c0c50535b424f193b172f39d50432b91005bb36e08a6a37fdcb0ba612a905f49ff1c0acf0e168b7cdf7552425fb095f373c180801e1d68b1b0d1c9
diff --git a/net-proxy/nutcracker/files/nutcracker-0.2.4-use-system-libyaml.patch b/net-proxy/nutcracker/files/nutcracker-0.2.4-use-system-libyaml.patch
deleted file mode 100644
index 5cf7b3660bdf..000000000000
--- a/net-proxy/nutcracker/files/nutcracker-0.2.4-use-system-libyaml.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -uNr nutcracker-0.2.4.orig/Makefile.am nutcracker-0.2.4/Makefile.am
---- nutcracker-0.2.4.orig/Makefile.am 2013-09-11 10:11:19.869975912 -0400
-+++ nutcracker-0.2.4/Makefile.am 2013-09-11 10:11:36.709975757 -0400
-@@ -2,6 +2,6 @@
-
- ACLOCAL_AMFLAGS = -I m4
-
--SUBDIRS = contrib src
-+SUBDIRS = src
-
- EXTRA_DIST = README.md NOTICE LICENSE ChangeLog conf scripts notes
-diff -uNr nutcracker-0.2.4.orig/src/Makefile.am nutcracker-0.2.4/src/Makefile.am
---- nutcracker-0.2.4.orig/src/Makefile.am 2013-09-11 10:16:16.449973187 -0400
-+++ nutcracker-0.2.4/src/Makefile.am 2013-09-11 10:16:44.019972934 -0400
-@@ -3,7 +3,6 @@
- AM_CPPFLAGS = -D_GNU_SOURCE -D_XOPEN_SOURCE
- AM_CPPFLAGS += -I $(top_srcdir)/src/hashkit
- AM_CPPFLAGS += -I $(top_srcdir)/src/proto
--AM_CPPFLAGS += -I $(top_srcdir)/contrib/yaml-0.1.4/include
-
- AM_CFLAGS = -Wall -Wshadow
- AM_CFLAGS += -Wpointer-arith
-@@ -43,4 +42,3 @@
-
- nutcracker_LDADD = $(top_builddir)/src/hashkit/libhashkit.a
- nutcracker_LDADD += $(top_builddir)/src/proto/libproto.a
--nutcracker_LDADD += $(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a
-diff -uNr nutcracker-0.2.4.orig/configure.ac nutcracker-0.2.4/configure.ac
---- nutcracker-0.2.4.orig/configure.ac 2013-09-11 10:23:27.879969223 -0400
-+++ nutcracker-0.2.4/configure.ac 2013-09-11 10:24:28.729968664 -0400
-@@ -138,11 +138,7 @@
- [AC_DEFINE([HAVE_STATS], [1], [Define to 1 if stats is not disabled])])
- AC_MSG_RESULT($disable_stats)
-
--# Untar the yaml-0.1.4 in contrib/ before config.status is rerun
--AC_CONFIG_COMMANDS_PRE([tar xvfz contrib/yaml-0.1.4.tar.gz -C contrib])
--
--# Call yaml-0.1.4 ./configure recursively
--AC_CONFIG_SUBDIRS([contrib/yaml-0.1.4])
-+PKG_CHECK_MODULES([YAML], [yaml-0.1 >= 0.1])
-
- # Define Makefiles
- AC_CONFIG_FILES([Makefile
-diff -uNr nutcracker-0.2.4.orig/src/Makefile.am nutcracker-0.2.4/src/Makefile.am
---- nutcracker-0.2.4.orig/src/Makefile.am 2013-09-11 10:23:27.879969223 -0400
-+++ nutcracker-0.2.4/src/Makefile.am 2013-09-11 10:26:16.549967674 -0400
-@@ -11,8 +11,9 @@
- AM_CFLAGS += -Wno-unused-parameter -Wno-unused-value
- AM_CFLAGS += -Wconversion -Wsign-compare
- AM_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations
-+AM_CFLAGS += $(YAML_CFLAGS)
-
--AM_LDFLAGS = -lm -lpthread -rdynamic
-+AM_LDFLAGS = -lm -lpthread -rdynamic $(YAML_LIBS)
-
- SUBDIRS = hashkit proto
-
-@@ -40,5 +41,5 @@
- nc_queue.h \
- nc.c
-
--nutcracker_LDADD = $(top_builddir)/src/hashkit/libhashkit.a
-+nutcracker_LDADD = $(top_builddir)/src/hashkit/libhashkit.a
- nutcracker_LDADD += $(top_builddir)/src/proto/libproto.a
diff --git a/net-proxy/nutcracker/files/nutcracker-0.3.0-use-system-libyaml.patch b/net-proxy/nutcracker/files/nutcracker-0.3.0-use-system-libyaml.patch
index 8a30fae46fc1..a3cccd3cc5c0 100644
--- a/net-proxy/nutcracker/files/nutcracker-0.3.0-use-system-libyaml.patch
+++ b/net-proxy/nutcracker/files/nutcracker-0.3.0-use-system-libyaml.patch
@@ -1,6 +1,5 @@
-diff -uNr nutcracker-0.3.0.orig/configure.ac nutcracker-0.3.0/configure.ac
---- nutcracker-0.3.0.orig/configure.ac 2014-03-17 17:55:54.500000001 -0400
-+++ nutcracker-0.3.0/configure.ac 2014-03-17 17:58:50.290000001 -0400
+--- a/configure.ac
++++ b/configure.ac
@@ -195,11 +195,8 @@
[AC_DEFINE([HAVE_STATS], [1], [Define to 1 if stats is not disabled])])
AC_MSG_RESULT($disable_stats)
@@ -15,9 +14,8 @@ diff -uNr nutcracker-0.3.0.orig/configure.ac nutcracker-0.3.0/configure.ac
# Define Makefiles
AC_CONFIG_FILES([Makefile
-diff -uNr nutcracker-0.3.0.orig/Makefile.am nutcracker-0.3.0/Makefile.am
---- nutcracker-0.3.0.orig/Makefile.am 2014-03-17 17:55:54.500000001 -0400
-+++ nutcracker-0.3.0/Makefile.am 2014-03-17 17:56:38.920000001 -0400
+--- a/Makefile.am
++++ b/Makefile.am
@@ -2,7 +2,7 @@
ACLOCAL_AMFLAGS = -I m4
@@ -27,9 +25,8 @@ diff -uNr nutcracker-0.3.0.orig/Makefile.am nutcracker-0.3.0/Makefile.am
dist_man_MANS = man/nutcracker.8
-diff -uNr nutcracker-0.3.0.orig/src/Makefile.am nutcracker-0.3.0/src/Makefile.am
---- nutcracker-0.3.0.orig/src/Makefile.am 2014-03-17 17:55:54.500000001 -0400
-+++ nutcracker-0.3.0/src/Makefile.am 2014-03-17 18:00:08.480000001 -0400
+--- a/src/Makefile.am
++++ b/src/Makefile.am
@@ -7,7 +7,6 @@
AM_CPPFLAGS += -I $(top_srcdir)/src/hashkit
AM_CPPFLAGS += -I $(top_srcdir)/src/proto
diff --git a/net-proxy/nutcracker/files/nutcracker-0.5.0-configure-bashism.patch b/net-proxy/nutcracker/files/nutcracker-0.5.0-configure-bashism.patch
new file mode 100644
index 000000000000..888779a82514
--- /dev/null
+++ b/net-proxy/nutcracker/files/nutcracker-0.5.0-configure-bashism.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -159,7 +159,7 @@ AS_IF([test "x$ac_cv_epoll_works" = "xno" &&
+ AM_CONDITIONAL([OS_LINUX], [test "x$ac_cv_epoll_works" = "xyes"])
+ AM_CONDITIONAL([OS_BSD], [test "x$ac_cv_kqueue_works" = "xyes"])
+ AM_CONDITIONAL([OS_SOLARIS], [test "x$ac_cv_evports_works" = "xyes"])
+-AM_CONDITIONAL([OS_FREEBSD], [test "$(uname -v | cut -c 1-10)" == "FreeBSD 10"])
++AM_CONDITIONAL([OS_FREEBSD], [test "$(uname -v | cut -c 1-10)" = "FreeBSD 10"])
+
+ # Package options
+ AC_MSG_CHECKING([whether to enable debug logs and asserts])
diff --git a/net-proxy/nutcracker/files/nutcracker-0.5.0-md5_signature-lto-mismatch.patch b/net-proxy/nutcracker/files/nutcracker-0.5.0-md5_signature-lto-mismatch.patch
new file mode 100644
index 000000000000..bb493f209bb8
--- /dev/null
+++ b/net-proxy/nutcracker/files/nutcracker-0.5.0-md5_signature-lto-mismatch.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/861860
+--- a/src/hashkit/nc_hashkit.h
++++ b/src/hashkit/nc_hashkit.h
+@@ -55,7 +55,7 @@ typedef enum dist_type {
+ #undef DEFINE_ACTION
+
+ uint32_t hash_one_at_a_time(const char *key, size_t key_length);
+-void md5_signature(const unsigned char *key, unsigned int length, unsigned char *result);
++void md5_signature(const unsigned char *key, unsigned long length, unsigned char *result);
+ uint32_t hash_md5(const char *key, size_t key_length);
+ uint32_t hash_crc16(const char *key, size_t key_length);
+ uint32_t hash_crc32(const char *key, size_t key_length);
diff --git a/net-proxy/nutcracker/files/nutcracker-0.5.0-use-system-libyaml.patch b/net-proxy/nutcracker/files/nutcracker-0.5.0-use-system-libyaml.patch
new file mode 100644
index 000000000000..ddb6694f05b6
--- /dev/null
+++ b/net-proxy/nutcracker/files/nutcracker-0.5.0-use-system-libyaml.patch
@@ -0,0 +1,62 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,7 +2,7 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config.h.in config.h.in~
+
+ ACLOCAL_AMFLAGS = -I m4
+
+-SUBDIRS = contrib src
++SUBDIRS = src
+
+ dist_man_MANS = man/nutcracker.8
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -197,11 +197,8 @@ AS_IF([test "x$disable_stats" = xyes],
+ [AC_DEFINE([HAVE_STATS], [1], [Define to 1 if stats is not disabled])])
+ AC_MSG_RESULT($disable_stats)
+
+-# Untar the yaml-0.2.5 in contrib/ before config.status is rerun
+-AC_CONFIG_COMMANDS_PRE([tar xvfz contrib/yaml-0.2.5.tar.gz -C contrib])
+-
+-# Call yaml-0.2.5 ./configure recursively
+-AC_CONFIG_SUBDIRS([contrib/yaml-0.2.5])
++# Use systems libyaml.
++PKG_CHECK_MODULES([YAML], [yaml-0.1 >= 0.2.5])
+
+ # Define Makefiles
+ AC_CONFIG_FILES([Makefile
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -7,7 +7,6 @@ endif
+ AM_CPPFLAGS += -I $(top_srcdir)/src/hashkit
+ AM_CPPFLAGS += -I $(top_srcdir)/src/proto
+ AM_CPPFLAGS += -I $(top_srcdir)/src/event
+-AM_CPPFLAGS += -I $(top_srcdir)/contrib/yaml-0.2.5/include
+
+ AM_CFLAGS =
+ # about -fno-strict-aliasing: https://github.com/twitter/twemproxy/issues/276
+@@ -20,9 +19,10 @@ AM_CFLAGS += -Wno-unused-parameter -Wno-unused-value
+ AM_CFLAGS += -Wconversion -Wsign-compare
+ AM_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations
+ AM_CFLAGS += -Wno-format-zero-length
++AM_CFLAGS += $(YAML_CFLAGS)
+
+ AM_LDFLAGS =
+-AM_LDFLAGS += -lm -lpthread -rdynamic
++AM_LDFLAGS += -lm -lpthread -rdynamic $(YAML_LIBS)
+ if OS_SOLARIS
+ AM_LDFLAGS += -lnsl -lsocket
+ endif
+@@ -58,7 +58,6 @@ nutcracker_SOURCES = \
+ nutcracker_LDADD = $(top_builddir)/src/hashkit/libhashkit.a
+ nutcracker_LDADD += $(top_builddir)/src/proto/libproto.a
+ nutcracker_LDADD += $(top_builddir)/src/event/libevent.a
+-nutcracker_LDADD += $(top_builddir)/contrib/yaml-0.2.5/src/.libs/libyaml.a
+
+ TESTS = test_all
+ bin_PROGRAMS = test_all
+@@ -86,4 +85,3 @@ test_all_SOURCES = test_all.c \
+ test_all_LDADD = $(top_builddir)/src/hashkit/libhashkit.a
+ test_all_LDADD += $(top_builddir)/src/proto/libproto.a
+ test_all_LDADD += $(top_builddir)/src/event/libevent.a
+-test_all_LDADD += $(top_builddir)/contrib/yaml-0.2.5/src/.libs/libyaml.a
diff --git a/net-proxy/nutcracker/files/nutcracker.confd b/net-proxy/nutcracker/files/nutcracker.confd
deleted file mode 100644
index 03393f23a64c..000000000000
--- a/net-proxy/nutcracker/files/nutcracker.confd
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-#USER="nobody"
-#PIDFILE="/var/run/nutcracker.pid"
-#CONF_FILE="/etc/nutcracker/nutcracker.yaml"
-
-NUTCRACKER_BIN="/usr/bin/nutcracker"
-NUTCRACKER_OPTS="--daemonize"
diff --git a/net-proxy/nutcracker/files/nutcracker.initd b/net-proxy/nutcracker/files/nutcracker.initd
deleted file mode 100644
index 47abe8f3cd45..000000000000
--- a/net-proxy/nutcracker/files/nutcracker.initd
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-USER="${USER:-nobody}"
-PIDFILE="${PIDFILE:-/var/run/nutcracker.pid}"
-NUTCRACKER_BIN="${NUTCRACKER_BIN:-/usr/bin/nutcracker}"
-CONF_FILE="${CONF_FILE:-/etc/nutcracker/nutcracker.yml}"
-
-depend() {
- need net
-}
-
-checkconf() {
- ebegin "Testing configuration"
- ${NUTCRACKER_BIN} --test-conf \
- --conf-file=${CONF_FILE} \
- >/dev/null 2>&1
- eend $?
-}
-
-start() {
- checkconf || exit 1
- ebegin "Starting Nutcracker"
- start-stop-daemon --start -u ${USER} \
- --name ${SVCNAME} \
- --exec ${NUTCRACKER_BIN} -- \
- --conf-file="${CONF_FILE}" \
- --pid-file=${PIDFILE} \
- ${NUTCRACKER_OPTS}
- eend $?
-}
-
-stop() {
- ebegin "Stopping Nutcracker"
- start-stop-daemon --stop --pidfile "${PIDFILE}"
- eend $?
-}
-
diff --git a/net-proxy/nutcracker/metadata.xml b/net-proxy/nutcracker/metadata.xml
index 4fca877b654e..09f75e22b1eb 100644
--- a/net-proxy/nutcracker/metadata.xml
+++ b/net-proxy/nutcracker/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>patrick@gentoo.org</email>
diff --git a/net-proxy/nutcracker/nutcracker-0.2.4.ebuild b/net-proxy/nutcracker/nutcracker-0.2.4.ebuild
deleted file mode 100644
index 3a41d6658396..000000000000
--- a/net-proxy/nutcracker/nutcracker-0.2.4.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A fast, light-weight proxy for Memcached and Redis.
-(Twitter's Twemproxy)"
-HOMEPAGE="https://github.com/twitter/twemproxy"
-SRC_URI="https://twemproxy.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc"
-
-DEPEND=">=dev-libs/libyaml-0.1.4"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- # Lets use system libyaml
- epatch "${FILESDIR}/${P}-use-system-libyaml.patch"
- eautoreconf
-}
-
-src_configure() {
- econf $(use debug) || die "Econf failed"
-}
-
-src_install() {
- default_src_install
-
- insinto /etc/nutcracker
- newins conf/nutcracker.yml nutcracker.yml.example
-
- newconfd "${FILESDIR}/nutcracker.confd" nutcracker
- newinitd "${FILESDIR}/nutcracker.initd" nutcracker
-
- if use doc; then
- dodoc -r notes
- fi
-}
diff --git a/net-proxy/nutcracker/nutcracker-0.3.0.ebuild b/net-proxy/nutcracker/nutcracker-0.3.0.ebuild
deleted file mode 100644
index 123d9cb88672..000000000000
--- a/net-proxy/nutcracker/nutcracker-0.3.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A fast, light-weight proxy for Memcached and Redis.
-(Twitter's Twemproxy)"
-HOMEPAGE="https://github.com/twitter/twemproxy"
-SRC_URI="https://twemproxy.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc"
-
-DEPEND=">=dev-libs/libyaml-0.1.4"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- # Lets use system libyaml
- epatch "${FILESDIR}/${P}-use-system-libyaml.patch"
- eautoreconf
-}
-
-src_configure() {
- econf $(use debug) || die "Econf failed"
-}
-
-src_install() {
- default_src_install
-
- insinto /etc/nutcracker
- newins conf/nutcracker.yml nutcracker.yml.example
-
- newconfd "${FILESDIR}/nutcracker.confd" nutcracker
- newinitd "${FILESDIR}/nutcracker.initd" nutcracker
-
- if use doc; then
- dodoc -r notes
- fi
-}
diff --git a/net-proxy/nutcracker/nutcracker-0.4.1-r1.ebuild b/net-proxy/nutcracker/nutcracker-0.4.1-r1.ebuild
index 2b8f82b4c02d..3203b919e775 100644
--- a/net-proxy/nutcracker/nutcracker-0.4.1-r1.ebuild
+++ b/net-proxy/nutcracker/nutcracker-0.4.1-r1.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit autotools eutils
+inherit autotools
-DESCRIPTION="A fast, light-weight proxy for Memcached and Redis.
-(Twitter's Twemproxy)"
+DESCRIPTION="A fast, light-weight proxy for Memcached and Redis. (Twitter's Twemproxy)"
HOMEPAGE="https://github.com/twitter/twemproxy"
-SRC_URI="https://github.com/twitter/twemproxy/archive/v0.4.1.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/twitter/twemproxy/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/twemproxy-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
@@ -17,21 +17,25 @@ IUSE="debug doc"
DEPEND=">=dev-libs/libyaml-0.1.4"
RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}/twemproxy-${PV}"
+PATCHES=(
+ # Let's use system libyaml
+ "${FILESDIR}"/${PN}-0.3.0-use-system-libyaml.patch
+)
src_prepare() {
- # Lets use system libyaml
- epatch "${FILESDIR}/${PN}-0.3.0-use-system-libyaml.patch"
+ default
+
eautoreconf
}
src_configure() {
- econf $(use debug) || die "Econf failed"
+ econf $(use debug)
}
src_install() {
- default_src_install
+ default
insinto /etc/nutcracker
newins conf/nutcracker.yml nutcracker.yml.example
diff --git a/net-proxy/nutcracker/nutcracker-0.5.0.ebuild b/net-proxy/nutcracker/nutcracker-0.5.0.ebuild
new file mode 100644
index 000000000000..e3f1f9d6fb92
--- /dev/null
+++ b/net-proxy/nutcracker/nutcracker-0.5.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A fast, light-weight proxy for Memcached and Redis. (Twitter's Twemproxy)"
+HOMEPAGE="https://github.com/twitter/twemproxy"
+SRC_URI="https://github.com/twitter/twemproxy/releases/download/${PV}/twemproxy-${PV}.tar.gz"
+S="${WORKDIR}/twemproxy-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc"
+
+DEPEND=">=dev-libs/libyaml-0.2.5"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ # Let's use system libyaml
+ "${FILESDIR}"/${PN}-0.5.0-use-system-libyaml.patch
+ "${FILESDIR}"/${PN}-0.5.0-configure-bashism.patch
+ "${FILESDIR}"/${PN}-0.5.0-md5_signature-lto-mismatch.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use debug)
+}
+
+src_install() {
+ default
+
+ insinto /etc/nutcracker
+ newins conf/nutcracker.yml nutcracker.yml.example
+
+ newconfd "${FILESDIR}/nutcracker.confd.2" nutcracker
+ newinitd "${FILESDIR}/nutcracker.initd.2" nutcracker
+
+ if use doc; then
+ dodoc -r notes
+ fi
+}
diff --git a/net-proxy/nylon/Manifest b/net-proxy/nylon/Manifest
deleted file mode 100644
index 211100b0745b..000000000000
--- a/net-proxy/nylon/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nylon-1.21.tar.gz 115954 BLAKE2B e4fd7422349d51edb3f5ac52ba7da8dfe1cc0eeb88effe968d22670a9b2d0ccd395f2ac851f80344a0606cb31ec1bb91cee8d4d66bb5ef30e45b080cc0798132 SHA512 7338ebf376843a49777bfc2c04dc0f9b14a25162efb008a555b6d74991bfbddbe5eb8fa6371c8c6a4dae9739f15d6d85135ba9d39472bc2646293a39777b5cfa
diff --git a/net-proxy/nylon/files/nylon-1.21-libevent.patch b/net-proxy/nylon/files/nylon-1.21-libevent.patch
deleted file mode 100644
index d7ca2a1ab0e9..000000000000
--- a/net-proxy/nylon/files/nylon-1.21-libevent.patch
+++ /dev/null
@@ -1,63 +0,0 @@
---- a/configure.in
-+++ b/configure.in
-@@ -95,44 +95,10 @@
- AC_REPLACE_FUNCS(strlcpy strlcat strsep setproctitle daemon)
-
- dnl Checks for libevent
--AC_MSG_CHECKING(for libevent)
--AC_ARG_WITH(libevent,
--[ --with-libevent=DIR use libevent in DIR],
--[ case "$withval" in
-- yes|no)
-- AC_MSG_RESULT(no)
-- ;;
-- *)
-- AC_MSG_RESULT($withval)
-- if test -f $withval/include/event.h -a -f $withval/lib/libevent.a; then
-- owd=`pwd`
-- if cd $withval; then withval=`pwd`; cd $owd; fi
-- EVENTINC="-I$withval/include"
-- EVENTLIB="-L$withval/lib -levent"
-- elif test -f $withval/event.h -a -f $withval/libevent.a; then
-- owd=`pwd`
-- if cd $withval; then withval=`pwd`; cd $owd; fi
-- EVENTINC="-I$withval"
-- EVENTLIB="-L$withval -levent"
-- else
-- AC_ERROR(event.h or libevent.a not found in $withval)
-- fi
-- ;;
-- esac ],
--[ if test -f ${prefix}/include/event.h -a -f ${prefix}/lib/libevent.a;
--then
-- EVENTINC="-I${prefix}/include"
-- EVENTLIB="-L${prefix}/lib -levent"
-- elif test -f /usr/include/event.h; then
-- EVENTLIB="-levent"
-- else
-- AC_MSG_RESULT(no)
-- AC_ERROR(libevent not found)
-- fi
-- AC_MSG_RESULT(yes) ]
--)
--AC_SUBST(EVENTINC)
--AC_SUBST(EVENTLIB)
-+PKG_CHECK_MODULES(LIBEVENT,libevent,,)
-+
-+AC_SUBST(LIBEVENT_CFLAGS)
-+AC_SUBST(LIBEVENT_LIBS)
-
- if test "x${sysconfdir}" = 'x${prefix}/etc'; then
- csysconfdir="${prefix}/etc"
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -5,7 +5,7 @@
- nylon_SOURCES = nylon.c print.c cfg.c expanda.c net.c access.c atomicio.c \
- socks4.c socks5.c mirror.c cleanup.c misc.c
-
--AM_CFLAGS = @EVENTINC@ -Wall -g
--LDADD = @EVENTLIB@ @LIBOBJS@
-+AM_CFLAGS = @LIBEVENT_CFLAGS@
-+LDADD = @LIBEVENT_LIBS@ @LIBOBJS@
-
- EXTRA_DIST = strlcpy.c strlcat.c setproctitle.c strsep.c err.c daemon.c
diff --git a/net-proxy/nylon/files/nylon.conf b/net-proxy/nylon/files/nylon.conf
deleted file mode 100644
index 80d11cc8806a..000000000000
--- a/net-proxy/nylon/files/nylon.conf
+++ /dev/null
@@ -1,37 +0,0 @@
-# sample configuration
-# marius aamodt eriksen (marius@umich.edu)
-# $Id: nylon.conf,v 1.11 2002/03/27 07:39:53 beriksen Exp $
-# general settings
-[General]
-
-# number of simultaneous connections allowed
-No-Simultaneous-Conn=10
-
-# log connections and other information to syslog? 1: on, 0: off
-Log=1
-
-# be verbose on the console? 1: on, 0: off
-Verbose=0
-
-# store pid file
-#PIDfile=/var/run/nylon.pid
-
-# server settings
-[Server]
-
-# interface to listen to connections
-#Binding-Interface=fxp1
-
-# interface to bind outgoing connections to
-#Connecting-Interface=fxp0
-
-# listening port to bind to
-Port=1080
-
-# allowed is processed first, then deny
-
-# allowable connect ips/ranges
-#Allow-IP=141.0.0.0/8 127.0.0.1 10.0.0.0/24
-Allow-IP=127.0.0.1/32
-# denied connect ips/ranges
-#Deny-IP=10.0.0.0/24
diff --git a/net-proxy/nylon/files/nylon.init b/net-proxy/nylon/files/nylon.init
deleted file mode 100644
index 7c58d3c9bc32..000000000000
--- a/net-proxy/nylon/files/nylon.init
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need net
-}
-
-start() {
- ebegin "Starting Nylon"
- start-stop-daemon --start --quiet --pidfile /var/run/nylon.pid \
- --startas /usr/bin/nylon
- eend $?
-}
-
-stop() {
- ebegin "Stopping Nylon"
- start-stop-daemon --stop --quiet --pidfile /var/run/nylon.pid
- eend $?
-}
-
-
diff --git a/net-proxy/nylon/metadata.xml b/net-proxy/nylon/metadata.xml
deleted file mode 100644
index 5a6f202af08a..000000000000
--- a/net-proxy/nylon/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>nylon is a proxy server, developed on OpenBSD. It supports SOCKS version 4 and 5,
-as well as a mirror mode so that services can be mirrored directly.</longdescription>
-</pkgmetadata>
diff --git a/net-proxy/nylon/nylon-1.21-r2.ebuild b/net-proxy/nylon/nylon-1.21-r2.ebuild
deleted file mode 100644
index ec11be51135c..000000000000
--- a/net-proxy/nylon/nylon-1.21-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools
-
-DESCRIPTION="A lightweight SOCKS proxy server"
-HOMEPAGE="http://monkey.org/~marius/nylon/"
-SRC_URI="http://monkey.org/~marius/nylon/${P}.tar.gz"
-
-LICENSE="BSD GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 ~sparc x86"
-IUSE=""
-
-RDEPEND=">=dev-libs/libevent-0.6"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-DOCS=( README THANKS )
-
-src_prepare() {
- default
-
- eapply "${FILESDIR}"/${P}-libevent.patch
- eautoreconf
-}
-
-src_install() {
- default
- insinto /etc ; doins "${FILESDIR}/nylon.conf"
- newinitd "${FILESDIR}/nylon.init" nylond
-}
diff --git a/net-proxy/obfs4proxy/Manifest b/net-proxy/obfs4proxy/Manifest
deleted file mode 100644
index 4df32519f8f5..000000000000
--- a/net-proxy/obfs4proxy/Manifest
+++ /dev/null
@@ -1,7 +0,0 @@
-DIST github.com-dsnet-compress-v0.0.1.tar.gz 9962544 BLAKE2B 58e5bd8eb7a50071da2764e90051f18fb3e4237b684a2584daf6ef7f74d4509525f09678feba3d6e8b0233cfd7a995ddd01374b138dbd2beaa2eab76218220dc SHA512 24b545fdfa6e5dcd942c9fc09614f755db341a16734f95dead2d344f06c74ca1c14e0b2674977066dee6094fd4d3bd7581ed9fe0285aeb1c62d2c68e0a3a095b
-DIST github.com-golang-crypto-b8fe1690c61389d7d2a8074a507d1d40c5d30448.tar.gz 1645371 BLAKE2B 31d89c31fbe42df036b548e8b43245b385faa72f8c1a35331540d874bf4e99be60dcd24c2e3b969c96f489c33e138c45229cf5e5179ffa5cb48dcd809020b74e SHA512 5475b27a5e2413ead25b1405e979bdd9c7e853cfea46b17b2957ec08960a0727312442985eeee2186d04cc3de592ddf65145d54bc7c3e3c626fb14c9bebc6441
-DIST github.com-golang-net-ed066c81e75eba56dd9bd2139ade88125b855585.tar.gz 968328 BLAKE2B 14d5542bd808b9571a8305a5d2054df3205419249724851e976e354dab653de2266b0b9d7b46b4fd846a7d810bbd510be54d0d98e6d6c5cfea5d19e8df5ae528 SHA512 f63654665e7221b089f1dd9b9603670481b1a59137cf0b5c4cbe7c77a6a66b7537dc03b7c412328d9186edb8a661e66a82ee9839b594d176bee6e7377f13cca4
-DIST github.com-golang-sys-afcc84fd7533758f95a6e93ae710aa945a0b7e73.tar.gz 1244035 BLAKE2B 5e32e26aca844d6d21b17b60546f908b0f881283d59357d1891417b8f221af42182f0a767e01a806e0d81f4283511e12028f654e505db7522f04c84f5546baac SHA512 87e4333e7ba519fe6e222c15ac8185151af3dc9be902112ae3e06e2a64d0ae05dfd37055c9493e9698a4f5fafed3ed45c44d18c4ebf6821d35bff351b2741f2b
-DIST gitlab.com-yawning-utls---v0.0.9-2.tar.gz 523515 BLAKE2B a56a95be268c094d9498f88c8e68d16403f26108db7b00dc8a4c8ab113654e47f2cae61f5d6d49ebd86e3057be293d3c9ba88d31ed91ef97a41901e5feaa61cb SHA512 1d9bdd0f27938e4a4cbb1a8ecc8f0aa5bb46270a267437e356a9fafceed36e0e28932ddac1a3807cecfddbe36b2c3190e7ca1d4edb02bda539560b506807281c
-DIST obfs4proxy-0.0.7.tar.gz 67479 BLAKE2B 00a9df9e004b4b18ac4703504f5f246fdece0b70ad85de9eeca6d814d78a8653d26b4c51867e361ef03e0f2cd23bc775b6117d7e46be4547ae6e0fa003b05d55 SHA512 57b71138a139b1821cf58c8e1965f207a6164a046bbfc8d6da828351d4f5bf4ecfb63ca5c69dba834c4e3a72362089d2a7fd296278115c0cae1c53c51d1b124d
-DIST obfs4proxy-0.0.9.tar.gz 84896 BLAKE2B 39a81fc7a9f7701f5b8aa09d78fea48c3bf9b81febabd7aa9634b5e86bfa063479053f00b3a3f48fd3661ad3e4dee7e5165567acc06952e20d3d397c633a08a6 SHA512 a3c80f72519a39947a3ebf36c029eeed2fbc652e0d825b25510f1817ebde505d65c83e1248e38912553e84c7e73b0d733a32b625f501a53f74be12711eba0009
diff --git a/net-proxy/obfs4proxy/metadata.xml b/net-proxy/obfs4proxy/metadata.xml
deleted file mode 100644
index ad68b3f3f066..000000000000
--- a/net-proxy/obfs4proxy/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
- <upstream>
- <remote-id type="github">Yawning/obfs4</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-proxy/obfs4proxy/obfs4proxy-0.0.7.ebuild b/net-proxy/obfs4proxy/obfs4proxy-0.0.7.ebuild
deleted file mode 100644
index bc277f9039df..000000000000
--- a/net-proxy/obfs4proxy/obfs4proxy-0.0.7.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit golang-build
-
-EGO_SRC=git.torproject.org/pluggable-transports/obfs4.git
-EGO_PN=${EGO_SRC}/...
-
-if [[ ${PV} == "9999" ]];
-then
- inherit golang-vcs
-else
- KEYWORDS="~amd64 ~arm ~x86"
- EGIT_COMMIT="${P}"
- SRC_URI="https://github.com/Yawning/obfs4/archive/${P}.tar.gz -> ${P}.tar.gz"
- inherit golang-vcs-snapshot
-fi
-
-DESCRIPTION="An obfuscating proxy supporting Tor's pluggable transport protocol obfs4"
-HOMEPAGE="https://github.com/Yawning/obfs4"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-DEPEND="dev-go/ed25519
- dev-go/go-crypto
- dev-go/go-net
- dev-go/goptlib
- dev-go/siphash"
-RDEPEND=""
-
-src_compile() {
- golang-build_src_compile
- local binfile=$(find "${T}" -name a.out)
- [[ -x ${binfile} ]] || die "a.out not found"
- cp -a ${binfile} obfs4proxy
-}
-
-src_install() {
- default
- dobin obfs4proxy || die "install failed"
- cd src/${EGO_SRC}
- doman doc/obfs4proxy.1 || die "install failed"
- dodoc README.md ChangeLog doc/obfs4-spec.txt || die "install failed"
-}
diff --git a/net-proxy/obfs4proxy/obfs4proxy-0.0.9.ebuild b/net-proxy/obfs4proxy/obfs4proxy-0.0.9.ebuild
deleted file mode 100644
index 57404950600c..000000000000
--- a/net-proxy/obfs4proxy/obfs4proxy-0.0.9.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-EGO_SRC=gitlab.com/yawning/obfs4.git
-EGO_PN=${EGO_SRC}/...
-
-EGO_VENDOR=(
- "github.com/dsnet/compress v0.0.1"
- "gitlab.com/yawning/utls.git v0.0.9-2 gitlab.com/yawning/utls/-"
- # Newer versions of packages which are in the tree
- "golang.org/x/crypto b8fe1690c61389d7d2a8074a507d1d40c5d30448 github.com/golang/crypto"
- "golang.org/x/net ed066c81e75eba56dd9bd2139ade88125b855585 github.com/golang/net"
- "golang.org/x/sys afcc84fd7533758f95a6e93ae710aa945a0b7e73 github.com/golang/sys"
-)
-
-inherit golang-build golang-vcs-snapshot
-
-DESCRIPTION="An obfuscating proxy supporting Tor's pluggable transport protocol obfs4"
-HOMEPAGE="https://gitlab.com/yawning/obfs4"
-SRC_URI="https://gitlab.com/yawning/obfs4/-/archive/${P}/obfs4-${P}.tar.gz -> ${P}.tar.gz
- ${EGO_VENDOR_URI}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE=""
-
-DEPEND=">=dev-go/ed25519-0_pre20170117
- >=dev-go/go-text-0.3.0
- >=dev-go/goptlib-1.0.0
- >=dev-go/siphash-1.2.1"
-RDEPEND=""
-
-src_compile() {
- golang-build_src_compile
- local binfile=$(find "${T}" -name a.out)
- [[ -x ${binfile} ]] || die "a.out not found"
- cp -a ${binfile} obfs4proxy
-}
-
-src_install() {
- default
- dobin obfs4proxy || die "install failed"
- cd src/${EGO_SRC}
- doman doc/obfs4proxy.1 || die "install failed"
- dodoc README.md ChangeLog doc/obfs4-spec.txt || die "install failed"
-}
diff --git a/net-proxy/pingtunnel/files/pingtunnel-0.72-musl.patch b/net-proxy/pingtunnel/files/pingtunnel-0.72-musl.patch
new file mode 100644
index 000000000000..cf421365917d
--- /dev/null
+++ b/net-proxy/pingtunnel/files/pingtunnel-0.72-musl.patch
@@ -0,0 +1,10 @@
+--- a/ptunnel.h
++++ b/ptunnel.h
+@@ -45,7 +45,6 @@
+
+ // Includes
+ #ifndef WIN32
+- #include <sys/unistd.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
diff --git a/net-proxy/pingtunnel/files/pingtunnel-0.72_makefile.patch b/net-proxy/pingtunnel/files/pingtunnel-0.72_makefile.patch
index 9dce0992cbda..27576bfd434f 100644
--- a/net-proxy/pingtunnel/files/pingtunnel-0.72_makefile.patch
+++ b/net-proxy/pingtunnel/files/pingtunnel-0.72_makefile.patch
@@ -1,5 +1,5 @@
---- Makefile
-+++ Makefile
+--- a/Makefile
++++ b/Makefile
@@ -2,11 +2,26 @@
# (c) 2004-2009 Daniel Stoedle, daniels@cs.uit.no
# ptunnel.exe target added by Mike Miller, mike@mikeage.net
diff --git a/net-proxy/pingtunnel/metadata.xml b/net-proxy/pingtunnel/metadata.xml
index 63278481cf70..7d015d9d300e 100644
--- a/net-proxy/pingtunnel/metadata.xml
+++ b/net-proxy/pingtunnel/metadata.xml
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>bircoph@gentoo.org</email>
-</maintainer>
+<!-- maintainer-needed -->
<longdescription>Ptunnel is an application that allows you to reliably tunnel TCP connections to a remote host
using ICMP echo request and reply packets, commonly known as ping requests and replies.</longdescription>
</pkgmetadata>
diff --git a/net-proxy/pingtunnel/pingtunnel-0.72.ebuild b/net-proxy/pingtunnel/pingtunnel-0.72.ebuild
index 1a6e66d3ee33..a9c9139962cd 100644
--- a/net-proxy/pingtunnel/pingtunnel-0.72.ebuild
+++ b/net-proxy/pingtunnel/pingtunnel-0.72.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit eutils toolchain-funcs
+inherit toolchain-funcs
DESCRIPTION="Tunnel TCP over ICMP"
HOMEPAGE="https://www.cs.uit.no/~daniels/PingTunnel"
@@ -11,27 +11,26 @@ SRC_URI="https://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-${PV}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc ~sh ~x86"
-IUSE="doc selinux"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="selinux"
-DEPEND="
+RDEPEND="
net-libs/libpcap
- selinux? ( sys-libs/libselinux )
-"
-RDEPEND="${DEPEND}"
+ selinux? ( sys-libs/libselinux )"
+DEPEND="${RDEPEND}"
S="${WORKDIR}"/PingTunnel
-src_prepare(){
- epatch "${FILESDIR}"/${P}_makefile.patch
-}
+PATCHES=(
+ "${FILESDIR}"/${P}_makefile.patch
+ "${FILESDIR}"/${P}-musl.patch
+)
+HTML_DOCS=( web/. )
-src_compile() {
+src_configure() {
tc-export CC
- emake $(usex selinux "SELINUX=1" "SELINUX=0")
}
-src_install() {
- default
- use doc && dohtml web/*
+src_compile() {
+ emake SELINUX=$(usex selinux 1 0)
}
diff --git a/net-proxy/piper/metadata.xml b/net-proxy/piper/metadata.xml
index 79d462e85571..aaab041e8885 100644
--- a/net-proxy/piper/metadata.xml
+++ b/net-proxy/piper/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>robbat2@gentoo.org</email>
diff --git a/net-proxy/piper/piper-1.14.ebuild b/net-proxy/piper/piper-1.14.ebuild
index ee0f787f4bd9..7312876bd3dc 100644
--- a/net-proxy/piper/piper-1.14.ebuild
+++ b/net-proxy/piper/piper-1.14.ebuild
@@ -1,19 +1,18 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=0
+EAPI=7
inherit flag-o-matic toolchain-funcs
-DESCRIPTION="Piper (a tool for manipulating SOCKS5 servers)"
+DESCRIPTION="A tool for manipulating SOCKS5 servers"
HOMEPAGE="http://www.qwirx.com/"
SRC_URI="http://www.qwirx.com/piper/${P}.tar.gz"
+
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~x86 ~amd64 ~ppc"
+KEYWORDS="~amd64 ~ppc ~x86"
IUSE=""
-DEPEND=""
-#RDEPEND=""
src_compile() {
append-flags -g -Wall
diff --git a/net-proxy/polipo/Manifest b/net-proxy/polipo/Manifest
deleted file mode 100644
index 62eafae4c00a..000000000000
--- a/net-proxy/polipo/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST polipo-1.1.1.tar.gz 182891 BLAKE2B 92d3b4a6665d88ebe98afc6a3e7a624689d5e48da9a83dfc89af4a3d6ee2be3be447b252b9cfa1b56677cb80ffc8d438ed870887a409b716502965468be70e50 SHA512 7324ca96c19bf9f089146a12dba349ea8cd2669ee02d0599ed6c6116d11eb0e7cef7830d91d16921ba5cdd0ce06e6f831901832326d8118ebe0a565feeec7fb1
diff --git a/net-proxy/polipo/files/config b/net-proxy/polipo/files/config
deleted file mode 100644
index 4c9235582594..000000000000
--- a/net-proxy/polipo/files/config
+++ /dev/null
@@ -1,8 +0,0 @@
-daemonise=false
-diskCacheRoot=/var/cache/polipo/
-proxyAddress=127.0.0.1
-proxyName=localhost
-serverSlots=4
-serverMaxSlots=8
-cacheIsShared=true
-allowedClients=127.0.0.1
diff --git a/net-proxy/polipo/files/polipo.crond-2 b/net-proxy/polipo/files/polipo.crond-2
deleted file mode 100644
index 6b2d609d6d6a..000000000000
--- a/net-proxy/polipo/files/polipo.crond-2
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-
-# Loop through all init.d instances
-for f in /etc/init.d/polipo*; do
- # only proceed if daemon is running
- "${f}" --quiet status || continue
-
- myname="${f#/etc/init.d/polipo}"
- conffile="/etc/polipo/config${myname}"
- pidfile="/var/run/polipo${myname}.pid"
-
- # check if disk cache is enabled
- polipo -v -c "${CONFFILE}" |
- awk '$1 ~ /diskCacheRoot/ { if ($3 == "(none)") exit 1}' ||
- continue
-
- # Expire old cached objects
- kill -USR1 $(cat "${pidfile}")
- sleep 1
- nice -n 15 su -s "/bin/sh" -c "polipo -c ${conffile} -x" polipo > /dev/null
- kill -USR2 $(cat "${pidfile}")
-done
diff --git a/net-proxy/polipo/files/polipo.initd-5 b/net-proxy/polipo/files/polipo.initd-5
deleted file mode 100644
index 08f3394eda68..000000000000
--- a/net-proxy/polipo/files/polipo.initd-5
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-CONFFILE="/etc/polipo/config${SVCNAME#polipo}"
-PIDFILE="/var/run/${SVCNAME}.pid"
-
-depend() {
- use net
-}
-
-checkconfig() {
- { polipo -v -c "${CONFFILE}" || return 1 ; } | {
- local retvalue=0
- local name type value desc
- while read name type value desc ; do
- case ${name} in
- configFile)
- if [ "${value}" = "(none)" ] ; then
- eerror "Unable to read configuration file /etc/polipo/config"
- retvalue=1
- fi
- ;;
- daemonise)
- if [ "${value}" != "false" ] ; then
- eerror "Configuration option not supported by this init script: ${name}=${value}"
- retvalue=1
- fi
- ;;
- pidFile)
- if [ "${value}" != "(none)" ] ; then
- eerror "Configuration option not supported by this init script: ${name}=${value}"
- retvalue=1
- fi
- ;;
- diskCacheRoot)
- if [ "${value}" != "(none)" ] ; then
- # Ensure that cache directory exists and have proper permissions
- if ! [ -d "{value}" ]; then
- mkdir -p -m 0750 "${value}"
- chown polipo:polipo "${value}"
- fi
- fi
- ;;
- esac
- done
- return ${retvalue}
- }
-}
-
-start() {
- checkconfig || return 1
-
- ebegin "Starting ${SVCNAME} HTTP proxy"
- start-stop-daemon --start --user polipo \
- --background --pidfile "${PIDFILE}" --make-pidfile \
- --exec /usr/bin/polipo -- -c "${CONFFILE}"
- eend $?
-}
-
-stop() {
- ebegin "Stopping ${SVCNAME} HTTP proxy"
- start-stop-daemon --stop --pidfile "${PIDFILE}"
- eend $?
-}
diff --git a/net-proxy/polipo/files/polipo_at.service b/net-proxy/polipo/files/polipo_at.service
deleted file mode 100644
index 5018ac6c75e0..000000000000
--- a/net-proxy/polipo/files/polipo_at.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Polipo Proxy Server
-After=network.target
-
-[Service]
-ExecStart=/usr/bin/polipo -c /etc/polipo/%i
-User=polipo
-PrivateDevices=yes
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-proxy/polipo/metadata.xml b/net-proxy/polipo/metadata.xml
deleted file mode 100644
index 7833140b1e69..000000000000
--- a/net-proxy/polipo/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="person">
- <email>bircoph@gentoo.org</email>
-</maintainer>
-<longdescription>A small and fast caching web proxy designed to be used by one person or a small group of people.</longdescription>
-</pkgmetadata>
diff --git a/net-proxy/polipo/polipo-1.1.1-r4.ebuild b/net-proxy/polipo/polipo-1.1.1-r4.ebuild
deleted file mode 100644
index 9af6bb0e936b..000000000000
--- a/net-proxy/polipo/polipo-1.1.1-r4.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-if [[ ${PV} == "9999" ]] ; then
- _GIT=git-r3
- EGIT_REPO_URI="https://github.com/jech/${PN}.git"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="http://www.pps.jussieu.fr/~jch/software/files/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 x86"
-fi
-
-inherit ${_GIT} toolchain-funcs user systemd
-
-DESCRIPTION="A caching web proxy"
-HOMEPAGE="http://www.pps.jussieu.fr/~jch/software/polipo/"
-LICENSE="MIT GPL-2"
-SLOT="0"
-IUSE="systemd"
-
-DEPEND="sys-apps/texinfo"
-RDEPEND=""
-
-pkg_setup() {
- enewgroup ${PN}
- enewuser ${PN} -1 -1 /var/cache/${PN} ${PN}
-}
-
-src_compile() {
- tc-export CC
- emake PREFIX=/usr "CDEBUGFLAGS=${CFLAGS}" all
-}
-
-src_install() {
- einstall PREFIX=/usr MANDIR=/usr/share/man INFODIR=/usr/share/info "TARGET=${D}"
-
- newinitd "${FILESDIR}/${PN}.initd-5" ${PN}
- insinto /etc/${PN} ; doins "${FILESDIR}/config"
- systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service"
- if ! use systemd; then
- exeinto /etc/cron.weekly ; newexe "${FILESDIR}/${PN}.crond-2" ${PN}
- fi
-
- dodoc CHANGES README
- dohtml html/*
-}
-
-pkg_postinst() {
- elog "Do not forget to read the manual."
- elog "Change the config file in /etc/${PN} to suit your needs."
- elog ""
- elog "Polipo init scripts can now be multiplexed:"
- elog "1. create /etc/${PN}/config.foo"
- elog "2. symlink /etc/init.d/{${PN}.foo -> ${PN}}"
- elog " a. if you are using OpenRC, symlink /etc/init.d/{${PN}.foo -> ${PN}}"
- elog " b. if you are using systemd, execute \"systemctl enable polipo@config.foo\""
- elog "3. make sure all instances use unique ip:port pair and cachedir, if any"
-}
diff --git a/net-proxy/polipo/polipo-9999.ebuild b/net-proxy/polipo/polipo-9999.ebuild
deleted file mode 100644
index 02fb9f59cb50..000000000000
--- a/net-proxy/polipo/polipo-9999.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-if [[ ${PV} == "9999" ]] ; then
- _GIT=git-r3
- EGIT_REPO_URI="https://github.com/jech/${PN}.git"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="http://www.pps.jussieu.fr/~jch/software/files/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-inherit ${_GIT} toolchain-funcs user systemd
-
-DESCRIPTION="A caching web proxy"
-HOMEPAGE="http://www.pps.jussieu.fr/~jch/software/polipo/"
-LICENSE="MIT GPL-2"
-SLOT="0"
-IUSE="systemd"
-
-DEPEND="sys-apps/texinfo"
-RDEPEND=""
-
-pkg_setup() {
- enewgroup ${PN}
- enewuser ${PN} -1 -1 /var/cache/${PN} ${PN}
-}
-
-src_compile() {
- tc-export CC
- emake PREFIX=/usr "CDEBUGFLAGS=${CFLAGS}" all
-}
-
-src_install() {
- einstall PREFIX=/usr MANDIR=/usr/share/man INFODIR=/usr/share/info "TARGET=${D}"
-
- newinitd "${FILESDIR}/${PN}.initd-5" ${PN}
- insinto /etc/${PN} ; doins "${FILESDIR}/config"
- systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service"
- if ! use systemd; then
- exeinto /etc/cron.weekly ; newexe "${FILESDIR}/${PN}.crond-2" ${PN}
- fi
-
- dodoc CHANGES README
- dohtml html/*
-}
-
-pkg_postinst() {
- elog "Do not forget to read the manual."
- elog "Change the config file in /etc/${PN} to suit your needs."
- elog ""
- elog "Polipo init scripts can now be multiplexed:"
- elog "1. create /etc/${PN}/config.foo"
- elog "2. symlink /etc/init.d/{${PN}.foo -> ${PN}}"
- elog " a. if you are using OpenRC, symlink /etc/init.d/{${PN}.foo -> ${PN}}"
- elog " b. if you are using systemd, execute \"systemctl enable polipo@config.foo\""
- elog "3. make sure all instances use unique ip:port pair and cachedir, if any"
-}
diff --git a/net-proxy/privoxy/Manifest b/net-proxy/privoxy/Manifest
index fb0156258e19..b2566cff9693 100644
--- a/net-proxy/privoxy/Manifest
+++ b/net-proxy/privoxy/Manifest
@@ -1,2 +1,2 @@
-DIST privoxy-3.0.26-stable-src.tar.gz 1741772 BLAKE2B 19dc72d93535e6eb960a53e3679886655b2aff037ad6002844eb76c970c7da52d016b7a54993e3dcf453c394da354cf8ec8f1f23a02b9216240e5460d6239b34 SHA512 e448305287d0451c761b76b8d8974ea1ec837b621bbb498a7ff16a54cb4d8f1f734efe2eef03235c01163bb40e225785065aad6ee265a31d90970ab98af11044
-DIST privoxy-3.0.28-stable-src.tar.gz 1753809 BLAKE2B 1ea0d6339c96bd294eadc124ebac252c43dcdc062709868668959bdb4f959267afb2ec7f27fc0d58db3655102f2412f1c8acb273267d447271465ac21f7a9be4 SHA512 5d58024ae73d623a2b8fb2ac49e18f047dfe252c9441388f025cf888c0e4b11546b8796cfa559759ee137002b1b31b30ad28b356ae226836454f32591eb835fc
+DIST privoxy-3.0.33-stable-src.tar.gz 1579540 BLAKE2B 4b76aa2e84160bab346d0548019158edb5562ca1dbf5356f765a6b91967f352f99c45c852254acf3d8e85cf8e8d210c050d1cf69ace3e5dbda8cdd13c1138df3 SHA512 9684455dbce7f6d8f5defd31aa9a7316e0c1dc896525ab4d562d0359462b541b1c366dea9db07b798f3e00b9cbcc44f494d8c431bcb10f2cb05b5bca3cfeaf75
+DIST privoxy-3.0.34-stable-src.tar.gz 1589785 BLAKE2B d879d3827dc1e6dd6a3d13ab07b788a235a16dcc4b050f17dd43543c0fad1cf9c9ceb2a0ae1ec3885798db5041a6c1fc2c270befd4d8ecf10254a58533458dba SHA512 f963419ae2cb6dd72cd892fa043768d99a4118792833de2e666d6a800fbe9a7fcb0641f15e3211e0b01a74609c65aeb60af1051f1a19daa1048314599679b685
diff --git a/net-proxy/privoxy/files/privoxy-3.0.28-strip.patch b/net-proxy/privoxy/files/privoxy-3.0.28-strip.patch
new file mode 100644
index 000000000000..2ca24330b46c
--- /dev/null
+++ b/net-proxy/privoxy/files/privoxy-3.0.28-strip.patch
@@ -0,0 +1,47 @@
+Privory uses STRIP Makefile variable for passing strip argument,
+this clashes with STRIP set in the environment. So rename STRIP ->
+STRIP_ARGS and then use real STRIP instead of STRIP_PROG with
+fallback on predefined "strip" if STRIP is not set.
+
+--- privoxy-3.0.28-stable/GNUmakefile.in.orig 2020-08-19 15:24:46.930551734 +0300
++++ privoxy-3.0.28-stable/GNUmakefile.in 2020-08-19 16:12:18.214837417 +0300
+@@ -117,7 +117,7 @@
+ CP = cp -f
+ RMDIR = rmdir
+ MKDIR = ./mkinstalldirs
+-STRIP_PROG = strip
++STRIP ?= strip
+ SED = sed
+ GREP = grep
+ CAT = cat
+@@ -391,7 +391,7 @@
+ @$(ECHO) "You have run autoconf && autoheader && ./configure right?"
+ @$(ECHO) ""
+ $(MAKE) $(PROGRAM)
+- $(STRIP_PROG) $(PROGRAM)
++ $(STRIP) $(PROGRAM)
+ $(LN) -s `pwd` ../privoxy-$(VERSION)-$(CODE_STATUS)
+ # add program
+ (cd .. && $(TAR) --exclude "PACKAGERS" -cvhf $(GEN_DIST_TAR_NAME) privoxy-$(VERSION)-$(CODE_STATUS)/$(PROGRAM))
+@@ -822,7 +822,7 @@
+ fi)
+
+ install-strip:
+- $(MAKE) install STRIP=-s
++ $(MAKE) install STRIP_ARG=-s
+
+ # FIXME: Test USER and GROUP on Slack to make sure this works as
+ # intended.
+@@ -848,10 +848,10 @@
+ $(DESTDIR)$(CONF_DEST)/templates $(DESTDIR)$(SHARE_DEST) \
+ $(DESTDIR)$(LOG_DEST) $(DESTDIR)$(PID_DEST)
+ @# Install the executable binary, strip if invoked as install-strip
+- @test -n "$(STRIP)" &&\
++ @test -n "$(STRIP_ARG)" &&\
+ $(ECHO) Installing $(PROGRAM) stripped executable to $(SBIN_DEST) ||\
+ $(ECHO) Installing $(PROGRAM) executable to $(DESTDIR)$(SBIN_DEST)
+- $(INSTALL) $(INSTALL_P) $(STRIP) $(PROGRAM) $(DESTDIR)$(SBIN_DEST)
++ $(INSTALL) $(INSTALL_P) $(STRIP_ARG) $(PROGRAM) $(DESTDIR)$(SBIN_DEST)
+
+ @# Install the DOCS and man page. install-sh only does one file at a time.
+ @# FIXME: only handles jpegs.
diff --git a/net-proxy/privoxy/files/privoxy-3.0.19-gentoo.patch b/net-proxy/privoxy/files/privoxy-3.0.32-gentoo.patch
index 4571e24e1f06..4199b6e2a9cf 100644
--- a/net-proxy/privoxy/files/privoxy-3.0.19-gentoo.patch
+++ b/net-proxy/privoxy/files/privoxy-3.0.32-gentoo.patch
@@ -1,8 +1,10 @@
+diff --git a/GNUmakefile.in b/GNUmakefile.in
+index fcd44c4f..8cf2364a 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
-@@ -62,8 +62,8 @@
- MAN_DEST = $(MAN_DIR)/man1
- MAN_PAGE = privoxy.1
+@@ -62,8 +62,8 @@ MAN_DIR = @mandir@
+ MAN_DEST = $(MAN_DIR)/man8
+ MAN_PAGE = privoxy.8
SHARE_DEST = @datadir@
-DOC_DEST = $(SHARE_DEST)/doc/privoxy
-VAR_DEST = @localstatedir@
@@ -11,15 +13,16 @@
LOGS_DEST = $(VAR_DEST)/log/privoxy
PIDS_DEST = $(VAR_DEST)/run
-@@ -852,7 +852,6 @@
+@@ -892,8 +892,6 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T
$(INSTALL) $(INSTALL_T) $(DOK_WEB)/man-page/*html $(DESTDIR)$$DOC/man-page;\
$(INSTALL) $(INSTALL_T) $(DOK_WEB)/privoxy-index.html $(DESTDIR)$$DOC/index.html;\
$(INSTALL) $(INSTALL_T) AUTHORS $(DESTDIR)$$DOC;\
- $(INSTALL) $(INSTALL_T) LICENSE $(DESTDIR)$$DOC;\
+- $(INSTALL) $(INSTALL_T) LICENSE.GPLv3 $(DESTDIR)$$DOC;\
$(INSTALL) $(INSTALL_T) README $(DESTDIR)$$DOC;\
$(INSTALL) $(INSTALL_T) ChangeLog $(DESTDIR)$$DOC;\
$(INSTALL) $(INSTALL_T) $(DOK_WEB)/p_doc.css $(DESTDIR)$$DOC;\
-@@ -923,34 +922,8 @@
+@@ -964,34 +962,8 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T
fi ;\
$(ECHO) Installing configuration files to $(DESTDIR)$(CONF_DEST);\
for i in $(CONFIGS); do \
@@ -27,7 +30,7 @@
- $(RM) $(DESTDIR)$(CONF_DEST)/$$i ;\
- $(ECHO) Installing fresh $$i;\
$(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || exit 1;\
-- elif [ -s "$(CONF_DEST)/$$i" ]; then \
+- elif [ -s "$(DESTDIR)$(CONF_DEST)/$$i" ]; then \
- $(ECHO) Installing $$i as $$i.new ;\
- $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST)/$$i.new || exit 1;\
- NEW=1;\
@@ -53,48 +56,52 @@
- $(CHMOD) $(RWD_MODE) $(DESTDIR)$(LOG_DEST)/logfile || exit 1 ;\
if [ "$(prefix)" = "/usr/local" ] || [ "$(prefix)" = "/usr" ]; then \
if [ -f /etc/slackware-version ] && [ -d /etc/rc.d/ ] && [ -w /etc/rc.d/ ] ; then \
- $(SED) 's+%PROGRAM%+$(PROGRAM)+' slackware/rc.privoxy.orig | \
+ $(SED) 's+%PROGRAM%+$(PROGRAM)+' slackware/rc.privoxy.in | \
+diff --git a/config b/config
+index da6d6b75..aefb55e1 100644
--- a/config
+++ b/config
-@@ -265,7 +265,7 @@
+@@ -259,7 +259,7 @@
#
# No trailing "/", please.
#
-confdir .
+confdir /etc/privoxy
#
- #
# 2.2. templdir
-@@ -322,7 +322,7 @@
+ # ==============
+@@ -344,7 +344,7 @@ confdir .
#
# No trailing "/", please.
#
-logdir .
+logdir /var/log/privoxy
#
- #
- # 2.4. actionsfile
-@@ -462,7 +462,7 @@
- # Any log files must be writable by whatever user Privoxy is
- # being run as (on Unix, default user id is "privoxy").
+ # 2.5. actionsfile
+ # =================
+@@ -478,7 +478,7 @@ filterfile user.filter # User customizations
+ # require additional software to do it. For details, please
+ # refer to the documentation for your operating system.
#
-logfile logfile
+logfile privoxy.log
#
- #
- # 2.7. trustfile
+ # 2.8. trustfile
+ # ===============
+diff --git a/default.action.master b/default.action.master
+index 632984eb..8338431c 100644
--- a/default.action.master
+++ b/default.action.master
-@@ -566,7 +566,7 @@
- +client-header-tagger{css-requests} \
+@@ -559,7 +559,7 @@ allow-ads = -block -filter{banners-by-size} -filter{banners-by-link}
+client-header-tagger{image-requests} \
+ +client-header-tagger{range-requests} \
+hide-from-header{block} \
-+set-image-blocker{pattern} \
++set-image-blocker{blank} \
}
standard.Cautious
-@@ -588,7 +588,7 @@
+@@ -582,7 +582,7 @@ standard.Cautious
+hide-from-header{block} \
+hide-referrer{conditional-block} \
+session-cookies-only \
@@ -103,7 +110,7 @@
}
standard.Medium
-@@ -627,7 +627,7 @@
+@@ -622,7 +622,7 @@ standard.Medium
+hide-referrer{conditional-block} \
+limit-connect{,} \
+overwrite-last-modified{randomize} \
diff --git a/net-proxy/privoxy/files/privoxy-3.0.33-configure-c99.patch b/net-proxy/privoxy/files/privoxy-3.0.33-configure-c99.patch
new file mode 100644
index 000000000000..9dfba3faca39
--- /dev/null
+++ b/net-proxy/privoxy/files/privoxy-3.0.33-configure-c99.patch
@@ -0,0 +1,34 @@
+Fix argument types in gmtime_r, localtime_r probes. Otherwise these
+probes always fail with stricter compilers even if there is C library
+support for these functions.
+
+Submitted upstream: <https://sourceforge.net/p/ijbswa/patches/149/>
+
+--- a/configure.in
++++ b/configure.in
+@@ -615,9 +615,9 @@ AC_CHECK_FUNC(gmtime_r, [
+ AC_TRY_COMPILE([
+ # include <time.h>
+ ], [
+- struct time *t;
+- struct tm *tm;
+- (void) gmtime_r(t, tm)
++ time_t t;
++ struct tm tm;
++ (void) gmtime_r(&t, &tm)
+ ], [
+ AC_MSG_RESULT(ok)
+ AC_DEFINE(HAVE_GMTIME_R)
+@@ -633,9 +633,9 @@ AC_CHECK_FUNC(localtime_r, [
+ AC_TRY_COMPILE([
+ # include <time.h>
+ ], [
+- struct time *t;
+- struct tm *tm;
+- (void) localtime_r(t, tm)
++ time_t t;
++ struct tm tm;
++ (void) localtime_r(&t, &tm)
+ ], [
+ AC_MSG_RESULT(ok)
+ AC_DEFINE(HAVE_LOCALTIME_R)
diff --git a/net-proxy/privoxy/files/privoxy-3.0.33-configure-msan.patch b/net-proxy/privoxy/files/privoxy-3.0.33-configure-msan.patch
new file mode 100644
index 000000000000..c89fed3947f3
--- /dev/null
+++ b/net-proxy/privoxy/files/privoxy-3.0.33-configure-msan.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.in b/configure.in
+index 84f6a0db7..e7e68be0c 100644
+--- a/configure.in
++++ b/configure.in
+@@ -168,7 +168,7 @@ if test "x$with_asan" = "xyes"; then
+ LDFLAGS="$LDFLAGS -fsanitize=address"
+ fi
+
+-AC_ARG_WITH(asan, [ --with-msan Enable MemorySanitizer. Requires compiler support.])
++AC_ARG_WITH(msan, [ --with-msan Enable MemorySanitizer. Requires compiler support.])
+ if test "x$with_msan" = "xyes"; then
+ CFLAGS="$CFLAGS -fsanitize=memory"
+ LDFLAGS="$LDFLAGS -fsanitize=memory"
diff --git a/net-proxy/privoxy/metadata.xml b/net-proxy/privoxy/metadata.xml
index 6fcf74308802..63fef844f1d4 100644
--- a/net-proxy/privoxy/metadata.xml
+++ b/net-proxy/privoxy/metadata.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>bircoph@gentoo.org</email>
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
</maintainer>
<longdescription>
Privoxy is a non-caching web proxy with advanced filtering
@@ -14,24 +15,31 @@
systems and multi-user networks.
</longdescription>
<use>
- <flag name="editor">Enable the web-based actions file editor</flag>
+ <flag name="brotli">Decompress brotli compressed data using <pkg>app-arch/brotli</pkg> before filtering</flag>
<flag name="client-tags">Enable support for client-specific tags</flag>
<flag name="compression">Allow privoxy to compress buffered content before sending to the client, if it supports it</flag>
- <flag name="extended-host-patterns">Enable and require PCRE syntax in host patterns. You must convert action files to PCRE, see privoxy-url-pattern-translator.pl Use at your own risk!</flag>
+ <flag name="editor">Enable the web-based actions file editor</flag>
+ <flag name="extended-host-patterns">Enable and require PCRE syntax in host patterns. You must convert action files to PCRE, see privoxy-url-pattern-translator.pl (see tools USE flag). Use at your own risk!</flag>
+ <flag name="extended-statistics">Gather extended statistics</flag>
<flag name="external-filters">Allow to filter content with scripts and programs. Experimental</flag>
<flag name="fast-redirects">Support fast redirects</flag>
<flag name="force">Allow single-page disable (force load)</flag>
<flag name="fuzz">Exposes Privoxy internals to input from files or stdout. Intended for fuzzing testing</flag>
<flag name="graceful-termination">Allow to shutdown Privoxy through the webinterface</flag>
- <flag name="ie-images">Enable a quick but not always reliable auto-detect whether requests from MS Internet Explorer are for an image or not</flag>
<flag name="image-blocking">Allows the +handle-as-image action, to send "blocked" images instead of HTML</flag>
+ <flag name="jit">Enable PCRE jit (recommended)</flag>
<flag name="lfs">Support large files (&gt;2GB) on 32-bit systems</flag>
+ <flag name="mbedtls">Use <pkg>net-libs/mbedtls</pkg> for HTTPS filtering</flag>
+ <flag name="openssl">Use <pkg>dev-libs/openssl</pkg> for HTTPS filtering</flag>
<flag name="png-images">Use PNG format instead of GIF for built-in images</flag>
+ <flag name="sanitize">Enable asan, msan and usan sanitizers. Your compiler must support them</flag>
+ <flag name="ssl">HTTPS inspection support. Enables privoxy to perform SSL MITM filtering, see docs, use with care</flag>
<flag name="stats">Keep statistics</flag>
+ <flag name="threads">Enable POSIX threads. Highly recommended, otherwise both build and run-time features may not work properly.</flag>
<flag name="toggle">Support temporary disable toggle via web interface</flag>
<flag name="tools">Install log parser, regression tester and user agent generator tools</flag>
<flag name="whitelists">Support trust files (white lists)</flag>
- <flag name="zlib">Use <pkg>sys-libs/zlib</pkg> to decompress data before filtering</flag>
+ <flag name="zlib">Decompress zlib compressed data using <pkg>sys-libs/zlib</pkg> before filtering</flag>
</use>
<upstream>
<remote-id type="sourceforge">ijbswa</remote-id>
diff --git a/net-proxy/privoxy/privoxy-3.0.33-r1.ebuild b/net-proxy/privoxy/privoxy-3.0.33-r1.ebuild
new file mode 100644
index 000000000000..ed51ebcb3544
--- /dev/null
+++ b/net-proxy/privoxy/privoxy-3.0.33-r1.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools systemd toolchain-funcs
+
+[ "${PV##*_}" = "beta" ] &&
+ PRIVOXY_STATUS="beta" ||
+ PRIVOXY_STATUS="stable"
+
+HOMEPAGE="https://www.privoxy.org https://sourceforge.net/projects/ijbswa/"
+DESCRIPTION="A web proxy with advanced filtering capabilities for enhancing privacy"
+SRC_URI="mirror://sourceforge/ijbswa/${P%_*}-${PRIVOXY_STATUS}-src.tar.gz"
+
+IUSE="+acl brotli client-tags compression editor extended-host-patterns
+extended-statistics external-filters +fast-redirects +force fuzz
+graceful-termination +image-blocking ipv6 +jit lfs +mbedtls openssl
+png-images sanitize selinux ssl +stats +threads toggle tools whitelists
++zlib"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+LICENSE="GPL-2+"
+
+DEPEND="
+ acct-group/privoxy
+ acct-user/privoxy
+ dev-libs/libpcre
+ brotli? ( app-arch/brotli )
+ ssl? (
+ mbedtls? ( net-libs/mbedtls:= )
+ openssl? ( dev-libs/openssl:= )
+ )
+ zlib? ( sys-libs/zlib:= )
+"
+RDEPEND="${DEPEND}
+ extended-host-patterns? ( dev-lang/perl )
+ selinux? ( sec-policy/selinux-privoxy )
+ tools? (
+ net-misc/curl
+ dev-lang/perl
+ )
+"
+REQUIRED_USE="
+ brotli? ( zlib )
+ client-tags? ( threads )
+ compression? ( zlib )
+ extended-statistics? ( threads )
+ fuzz? ( zlib )
+ ssl? ( ^^ ( mbedtls openssl ) threads )
+ toggle? ( editor )
+"
+
+S="${WORKDIR}/${P%_*}-${PRIVOXY_STATUS}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.32-gentoo.patch
+ "${FILESDIR}"/${PN}-3.0.28-strip.patch
+ "${FILESDIR}"/${PN}-3.0.33-configure-msan.patch
+ "${FILESDIR}"/${PN}-3.0.33-configure-c99.patch
+)
+
+pkg_pretend() {
+ if ! use threads; then
+ ewarn
+ ewarn "Privoxy may be very slow without threads support, consider enabling it."
+ ewarn "See also https://www.privoxy.org/faq/trouble.html#GENTOO-RICERS"
+ ewarn "Additionally some features may not build or work poperly. You are on your own."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ default
+ mv configure.in configure.ac || die
+ sed -i "s|/p\.p/|/config.privoxy.org/|g" tools/privoxy-regression-test.pl || die
+
+ # autoreconf needs to be called even if we don't modify any autotools source files
+ # See main makefile
+ eautoreconf
+}
+
+src_configure() {
+ local myconf="--without-mbedtls --without-openssl"
+ if use ssl; then
+ myconf="$(use_with mbedtls) $(use_with openssl)"
+ fi
+ if use sanitize; then
+ myconf+=" --with-usan"
+ # msan is available in clang only
+ # asan is broken with current configure tests in gcc
+ tc-is-clang && myconf+=" --with-msan --with-asan"
+ fi
+
+ # --with-debug only enables debug CFLAGS
+ # --with-docbook and --with-db2html and their deps are useless,
+ # since docs are already pregenerated in the source tarball
+ econf \
+ --sysconfdir=/etc/privoxy \
+ --disable-accept-filter \
+ --enable-dynamic-pcre \
+ --without-assertions \
+ --with-user=privoxy \
+ --with-group=privoxy \
+ $(use_enable acl acl-support) \
+ $(use_enable compression) \
+ $(use_enable client-tags) \
+ $(use_enable editor) \
+ $(use_enable extended-host-patterns pcre-host-patterns) \
+ $(use_enable extended-statistics) \
+ $(use_enable fast-redirects) \
+ $(use_enable force) \
+ $(use_enable fuzz) \
+ $(use_enable graceful-termination) \
+ $(use_enable image-blocking) \
+ $(use_enable jit pcre-jit-compilation) \
+ $(use_enable ipv6 ipv6-support) \
+ $(use_enable lfs large-file-support) \
+ $(use_enable png-images no-gifs) \
+ $(use_enable stats) \
+ $(use_enable threads pthread) \
+ $(use_enable toggle) \
+ $(use_enable whitelists trust-files) \
+ $(use_enable zlib) \
+ $(use_with brotli) \
+ ${myconf}
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}/privoxy.initd-3" privoxy
+ systemd_dounit "${FILESDIR}"/${PN}.service
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/privoxy.logrotate" privoxy
+
+ diropts -m 0750 -g privoxy -o privoxy
+ keepdir /var/log/privoxy
+
+ use extended-host-patterns && newbin tools/url-pattern-translator.pl privoxy-url-pattern-translator.pl
+ if use tools; then
+ dobin tools/{privoxy-log-parser.pl,privoxy-regression-test.pl}
+ newbin tools/uagen.pl privoxy-uagen.pl
+ fi
+
+ rmdir "${ED}/var/run" || die
+ chown privoxy:root "${ED}/etc/privoxy" || die
+}
+
+pkg_postinst() {
+ if use extended-host-patterns; then
+ ewarn
+ ewarn "You enabled extended-host-patterns, now you *must* convert all action files in"
+ ewarn "PCRE-compatible format, or privoxy will fail to start. Helper tool"
+ ewarn "privoxy-url-pattern-translator.pl is available."
+ ewarn
+ fi
+}
diff --git a/net-proxy/privoxy/privoxy-3.0.28.ebuild b/net-proxy/privoxy/privoxy-3.0.33.ebuild
index e827361418c1..23a37714dda1 100644
--- a/net-proxy/privoxy/privoxy-3.0.28.ebuild
+++ b/net-proxy/privoxy/privoxy-3.0.33.ebuild
@@ -1,29 +1,37 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools systemd toolchain-funcs user
+inherit autotools systemd toolchain-funcs
[ "${PV##*_}" = "beta" ] &&
PRIVOXY_STATUS="beta" ||
PRIVOXY_STATUS="stable"
-HOMEPAGE="http://www.privoxy.org https://sourceforge.net/projects/ijbswa/"
+HOMEPAGE="https://www.privoxy.org https://sourceforge.net/projects/ijbswa/"
DESCRIPTION="A web proxy with advanced filtering capabilities for enhancing privacy"
SRC_URI="mirror://sourceforge/ijbswa/${P%_*}-${PRIVOXY_STATUS}-src.tar.gz"
-IUSE="+acl client-tags compression editor extended-host-patterns
-external-filters +fast-redirects +force fuzz graceful-termination
-+image-blocking ipv6 lfs png-images selinux +stats +threads toggle
-tools whitelists +zlib"
+IUSE="+acl brotli client-tags compression editor extended-host-patterns
+extended-statistics external-filters +fast-redirects +force fuzz
+graceful-termination +image-blocking ipv6 +jit lfs +mbedtls openssl
+png-images sanitize selinux ssl +stats +threads toggle tools whitelists
++zlib"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
-LICENSE="GPL-2"
+KEYWORDS="~alpha amd64 arm ~arm64 ppc ppc64 ~riscv sparc x86"
+LICENSE="GPL-2+"
DEPEND="
+ acct-group/privoxy
+ acct-user/privoxy
dev-libs/libpcre
- zlib? ( sys-libs/zlib )
+ brotli? ( app-arch/brotli )
+ ssl? (
+ mbedtls? ( net-libs/mbedtls:= )
+ openssl? ( dev-libs/openssl:= )
+ )
+ zlib? ( sys-libs/zlib:= )
"
RDEPEND="${DEPEND}
extended-host-patterns? ( dev-lang/perl )
@@ -34,28 +42,33 @@ RDEPEND="${DEPEND}
)
"
REQUIRED_USE="
+ brotli? ( zlib )
+ client-tags? ( threads )
compression? ( zlib )
+ extended-statistics? ( threads )
+ fuzz? ( zlib )
+ ssl? ( ^^ ( mbedtls openssl ) threads )
toggle? ( editor )
"
S="${WORKDIR}/${P%_*}-${PRIVOXY_STATUS}"
-PATCHES=( "${FILESDIR}"/${PN}-3.0.19-gentoo.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.32-gentoo.patch
+ "${FILESDIR}"/${PN}-3.0.28-strip.patch
+ "${FILESDIR}"/${PN}-3.0.33-configure-msan.patch
+)
pkg_pretend() {
if ! use threads; then
ewarn
ewarn "Privoxy may be very slow without threads support, consider to enable them."
- ewarn "See also http://www.privoxy.org/faq/trouble.html#GENTOO-RICERS"
+ ewarn "See also https://www.privoxy.org/faq/trouble.html#GENTOO-RICERS"
+ ewarn "Additionally some features may not build or work poperly. You are on your own."
ewarn
fi
}
-pkg_setup() {
- enewgroup privoxy
- enewuser privoxy -1 -1 /etc/privoxy privoxy
-}
-
src_prepare() {
default
mv configure.in configure.ac || die
@@ -67,37 +80,52 @@ src_prepare() {
}
src_configure() {
+ local myconf="--without-mbedtls --without-openssl"
+ if use ssl; then
+ myconf="$(use_with mbedtls) $(use_with openssl)"
+ fi
+ if use sanitize; then
+ myconf+=" --with-usan"
+ # msan is available in clang only
+ # asan is broken with current configure tests in gcc
+ tc-is-clang && myconf+=" --with-msan --with-asan"
+ fi
+
# --with-debug only enables debug CFLAGS
# --with-docbook and --with-db2html and their deps are useless,
# since docs are already pregenerated in the source tarball
econf \
- --docdir=/usr/share/doc/${PF} \
--sysconfdir=/etc/privoxy \
+ --disable-accept-filter \
--enable-dynamic-pcre \
+ --without-assertions \
--with-user=privoxy \
--with-group=privoxy \
$(use_enable acl acl-support) \
$(use_enable compression) \
$(use_enable client-tags) \
$(use_enable editor) \
- $(use_enable extended-host-patterns) \
+ $(use_enable extended-host-patterns pcre-host-patterns) \
+ $(use_enable extended-statistics) \
$(use_enable fast-redirects) \
$(use_enable force) \
$(use_enable fuzz) \
$(use_enable graceful-termination) \
$(use_enable image-blocking) \
+ $(use_enable jit pcre-jit-compilation) \
$(use_enable ipv6 ipv6-support) \
- $(use_enable kernel_FreeBSD accept-filter) \
$(use_enable lfs large-file-support) \
$(use_enable png-images no-gifs) \
$(use_enable stats) \
$(use_enable threads pthread) \
$(use_enable toggle) \
$(use_enable whitelists trust-files) \
- $(use_enable zlib)
+ $(use_enable zlib) \
+ $(use_with brotli) \
+ ${myconf}
}
-src_install () {
+src_install() {
default
newinitd "${FILESDIR}/privoxy.initd-3" privoxy
@@ -114,6 +142,9 @@ src_install () {
dobin tools/{privoxy-log-parser.pl,privoxy-regression-test.pl}
newbin tools/uagen.pl privoxy-uagen.pl
fi
+
+ rmdir "${ED}/var/run" || die
+ chown privoxy:root "${ED}/etc/privoxy" || die
}
pkg_postinst() {
diff --git a/net-proxy/privoxy/privoxy-3.0.26.ebuild b/net-proxy/privoxy/privoxy-3.0.34.ebuild
index bf831fb51512..072cc5a8a45c 100644
--- a/net-proxy/privoxy/privoxy-3.0.26.ebuild
+++ b/net-proxy/privoxy/privoxy-3.0.34.ebuild
@@ -1,29 +1,37 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
-inherit autotools systemd toolchain-funcs user
+inherit autotools systemd toolchain-funcs
[ "${PV##*_}" = "beta" ] &&
PRIVOXY_STATUS="beta" ||
PRIVOXY_STATUS="stable"
-HOMEPAGE="http://www.privoxy.org https://sourceforge.net/projects/ijbswa/"
DESCRIPTION="A web proxy with advanced filtering capabilities for enhancing privacy"
+HOMEPAGE="https://www.privoxy.org https://sourceforge.net/projects/ijbswa/"
SRC_URI="mirror://sourceforge/ijbswa/${P%_*}-${PRIVOXY_STATUS}-src.tar.gz"
-IUSE="+acl client-tags compression editor extended-host-patterns
-external-filters +fast-redirects +force graceful-termination
-ie-images +image-blocking ipv6 lfs png-images selinux +stats
-+threads toggle tools whitelists +zlib"
+LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="alpha amd64 arm ppc ppc64 sparc x86 ~x86-fbsd"
-LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="+acl brotli client-tags compression editor extended-host-patterns
+extended-statistics external-filters +fast-redirects +force fuzz
+graceful-termination +image-blocking ipv6 +jit lfs +mbedtls openssl
+png-images sanitize selinux ssl +stats +threads toggle tools whitelists
++zlib"
DEPEND="
+ acct-group/privoxy
+ acct-user/privoxy
dev-libs/libpcre
- zlib? ( sys-libs/zlib )
+ brotli? ( app-arch/brotli )
+ ssl? (
+ mbedtls? ( net-libs/mbedtls:= )
+ openssl? ( dev-libs/openssl:= )
+ )
+ zlib? ( sys-libs/zlib:= )
"
RDEPEND="${DEPEND}
extended-host-patterns? ( dev-lang/perl )
@@ -34,28 +42,33 @@ RDEPEND="${DEPEND}
)
"
REQUIRED_USE="
+ brotli? ( zlib )
+ client-tags? ( threads )
compression? ( zlib )
+ extended-statistics? ( threads )
+ fuzz? ( zlib )
+ ssl? ( ^^ ( mbedtls openssl ) threads )
toggle? ( editor )
"
S="${WORKDIR}/${P%_*}-${PRIVOXY_STATUS}"
-PATCHES=( "${FILESDIR}"/${PN}-3.0.19-gentoo.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.32-gentoo.patch
+ "${FILESDIR}"/${PN}-3.0.28-strip.patch
+ "${FILESDIR}"/${PN}-3.0.33-configure-c99.patch
+)
pkg_pretend() {
if ! use threads; then
ewarn
- ewarn "Privoxy may be very slow without threads support, consider to enable them."
- ewarn "See also http://www.privoxy.org/faq/trouble.html#GENTOO-RICERS"
+ ewarn "Privoxy may be very slow without threads support, consider enabling it."
+ ewarn "See also https://www.privoxy.org/faq/trouble.html#GENTOO-RICERS"
+ ewarn "Additionally some features may not build or work poperly. You are on your own."
ewarn
fi
}
-pkg_setup() {
- enewgroup privoxy
- enewuser privoxy -1 -1 /etc/privoxy privoxy
-}
-
src_prepare() {
default
mv configure.in configure.ac || die
@@ -67,37 +80,52 @@ src_prepare() {
}
src_configure() {
+ local myconf="--without-mbedtls --without-openssl"
+ if use ssl; then
+ myconf="$(use_with mbedtls) $(use_with openssl)"
+ fi
+ if use sanitize; then
+ myconf+=" --with-usan"
+ # msan is available in clang only
+ # asan is broken with current configure tests in gcc
+ tc-is-clang && myconf+=" --with-msan --with-asan"
+ fi
+
# --with-debug only enables debug CFLAGS
# --with-docbook and --with-db2html and their deps are useless,
# since docs are already pregenerated in the source tarball
econf \
- --docdir=/usr/share/doc/${PF} \
--sysconfdir=/etc/privoxy \
+ --disable-accept-filter \
--enable-dynamic-pcre \
+ --without-assertions \
--with-user=privoxy \
--with-group=privoxy \
$(use_enable acl acl-support) \
$(use_enable compression) \
$(use_enable client-tags) \
$(use_enable editor) \
- $(use_enable extended-host-patterns) \
+ $(use_enable extended-host-patterns pcre-host-patterns) \
+ $(use_enable extended-statistics) \
$(use_enable fast-redirects) \
$(use_enable force) \
+ $(use_enable fuzz) \
$(use_enable graceful-termination) \
- $(use_enable ie-images) \
$(use_enable image-blocking) \
+ $(use_enable jit pcre-jit-compilation) \
$(use_enable ipv6 ipv6-support) \
- $(use_enable kernel_FreeBSD accept-filter) \
$(use_enable lfs large-file-support) \
$(use_enable png-images no-gifs) \
$(use_enable stats) \
$(use_enable threads pthread) \
$(use_enable toggle) \
$(use_enable whitelists trust-files) \
- $(use_enable zlib)
+ $(use_enable zlib) \
+ $(use_with brotli) \
+ ${myconf}
}
-src_install () {
+src_install() {
default
newinitd "${FILESDIR}/privoxy.initd-3" privoxy
@@ -114,6 +142,9 @@ src_install () {
dobin tools/{privoxy-log-parser.pl,privoxy-regression-test.pl}
newbin tools/uagen.pl privoxy-uagen.pl
fi
+
+ rmdir "${ED}/var/run" || die
+ chown privoxy:root "${ED}/etc/privoxy" || die
}
pkg_postinst() {
diff --git a/net-proxy/ratproxy/Manifest b/net-proxy/ratproxy/Manifest
deleted file mode 100644
index 568de9c6699b..000000000000
--- a/net-proxy/ratproxy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ratproxy-1.58.tar.gz 168700 BLAKE2B fdb4fad6581a96a4a7124db9ccc04c487d36afb5f2b6a3019a59d98f9bb31dc1beb7a352a634b7a33ba192fd8f6e3bcdc0c1a704a7c575529d318ddb219b609e SHA512 432189c5863e0937f4dea92087847e6af1563e7a49a6b91b3f610ceb5aa1e25ac24a3bd837298abccfece7b1ad088ffe20cbfcb540dee164a4264bcb10ce89a2
diff --git a/net-proxy/ratproxy/files/ratproxy-Makefile.patch b/net-proxy/ratproxy/files/ratproxy-Makefile.patch
deleted file mode 100644
index 323b52d1ff13..000000000000
--- a/net-proxy/ratproxy/files/ratproxy-Makefile.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- Makefile.bak 2008-07-08 21:34:10.000000000 +0200
-+++ Makefile 2008-07-08 21:35:34.000000000 +0200
-@@ -20,13 +20,13 @@
- #
-
- PROGNAME = ratproxy
--CFLAGS = -Wall -O3 -Wno-pointer-sign -D_GNU_SOURCE
--LDFLAGS = -lcrypto -lssl
-+CFLAGS += -Wall -Wno-pointer-sign -D_GNU_SOURCE
-+LIBS = -lcrypto -lssl
-
- all: $(PROGNAME) flare-check
-
- $(PROGNAME): $(PROGNAME).c http.c mime.c ssl.c http.h mime.h ssl.h nlist.h config.h debug.h types.h string-inl.h
-- $(CC) $(PROGNAME).c -o $(PROGNAME) $(CFLAGS) http.c mime.c ssl.c $(LDFLAGS)
-+ $(CC) $(PROGNAME).c -o $(PROGNAME) $(CFLAGS) $(LDFLAGS) http.c mime.c ssl.c $(LIBS)
-
- flare-check:
- @flare-dist/flare 2>&1 | grep -qF Igor || ( \
diff --git a/net-proxy/ratproxy/metadata.xml b/net-proxy/ratproxy/metadata.xml
deleted file mode 100644
index 333a1ada7c45..000000000000
--- a/net-proxy/ratproxy/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription lang="en">A semi-automated, largely passive web application security audit tool,
- optimized for an accurate and sensitive detection, and automatic
- annotation, of potential problems and security-relevant design patterns
- based on the observation of existing, user-initiated traffic in complex
- web 2.0 environments.
- Detects and prioritizes broad classes of security problems, such as
- dynamic cross-site trust model considerations, script inclusion issues,
- content serving problems, insufficient XSRF and XSS defenses, and much
- more.</longdescription>
- <upstream>
- <remote-id type="google-code">ratproxy</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-proxy/ratproxy/ratproxy-1.58.ebuild b/net-proxy/ratproxy/ratproxy-1.58.ebuild
deleted file mode 100644
index dee8b368423c..000000000000
--- a/net-proxy/ratproxy/ratproxy-1.58.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit eutils flag-o-matic
-
-DESCRIPTION="A semi-automated, largely passive web application security audit tool"
-HOMEPAGE="https://code.google.com/p/ratproxy/"
-SRC_URI="https://ratproxy.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="dev-libs/openssl"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}"/${PN}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- sed -i -e "s:keyfile\.pem:/usr/share/${PN}/&:" ssl.c
- sed -r -i -e "s:(ratproxy-back\.png|messages\.list):/usr/share/${PN}/&:" ratproxy-report.sh
- epatch "${FILESDIR}"/${PN}-Makefile.patch
-}
-
-src_compile() {
- tc-export CC
-
- emake || die "emake failed"
-}
-
-src_install() {
- dobin ${PN}-report.sh || die "install failed"
- dobin ${PN} || die "install failed"
- dodoc doc/{README,TODO}
- insinto /usr/share/${PN}
- doins keyfile.pem ratproxy-back.png messages.list
-}
diff --git a/net-proxy/redsocks/files/redsocks.init b/net-proxy/redsocks/files/redsocks.init
deleted file mode 100644
index 853d9b57a6bb..000000000000
--- a/net-proxy/redsocks/files/redsocks.init
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-: ${REDSOCKS_BINARY:=/usr/sbin/redsocks}
-: ${REDSOCKS_CONFIG:=/etc/redsocks.conf}
-: ${REDSOCKS_PIDFILE:=/run/redsocks/redsocks.pid}
-
-extra_commands="checkconfig"
-extra_started_commands="reload"
-
-depend() {
- need localmount
- use dns
-}
-
-checkconfig() {
- if [ ! -f "${REDSOCKS_CONFIG}" ] ; then
- eerror "No ${REDSOCKS_CONFIG} file exists!"
- return 1
- fi
-
- "${REDSOCKS_BINARY}" -t -c ${REDSOCKS_CONFIG} || return 1
-}
-
-start() {
- checkconfig || return 1
-
- ebegin "Starting ${SVCNAME}"
- start-stop-daemon --start --exec "${REDSOCKS_BINARY}" \
- -p "${REDSOCKS_PIDFILE}" -c ${REDSOCKS_CONFIG}
- eend $?
-}
-
-stop() {
- if [ "${RC_CMD}" = "restart" ] ; then
- checkconfig || return 1
- fi
-
- ebegin "Stopping ${SVCNAME}"
- start-stop-daemon --stop --exec "${REDSOCKS_BINARY}" \
- -p "${REDSOCKS_PIDFILE}" -c "${REDSOCKS_CONFIG}"
- eend $?
-}
-
-reload() {
- checkconfig || return 1
-
- ebegin "Reloading ${SVCNAME}"
- start-stop-daemon --signal HUP --exec "${REDSOCKS_BINARY}" \
- -p "${REDSOCKS_PIDFILE}" -c "${REDSOCKS_CONFIG}"
- eend $?
-}
diff --git a/net-proxy/redsocks/files/redsocks.init-r2 b/net-proxy/redsocks/files/redsocks.init-r2
new file mode 100644
index 000000000000..8ea9998a5da3
--- /dev/null
+++ b/net-proxy/redsocks/files/redsocks.init-r2
@@ -0,0 +1,45 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command=${REDSOCKS_BINARY:=/usr/sbin/redsocks}
+: ${REDSOCKS_CONFIG:=/etc/redsocks.conf}
+pidfile=${REDSOCKS_PIDFILE:=/run/redsocks/redsocks.pid}
+command_args="-p ${pidfile} -c ${REDSOCKS_CONFIG}"
+
+extra_commands="checkconfig"
+extra_started_commands="reload"
+
+depend() {
+ need localmount
+ use dns
+}
+
+checkconfig() {
+ if [ ! -f "${REDSOCKS_CONFIG}" ] ; then
+ eerror "No ${REDSOCKS_CONFIG} file exists!"
+ return 1
+ fi
+
+ "${command}" -t -c ${REDSOCKS_CONFIG} || return 1
+
+ checkpath -d -o "redsocks:redsocks" -q "/run/redsocks"
+}
+
+start_pre() {
+ checkconfig || return 1
+}
+
+stop_pre() {
+ if [ "${RC_CMD}" = "restart" ] ; then
+ checkconfig || return 1
+ fi
+}
+
+reload() {
+ checkconfig || return 1
+
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/net-proxy/redsocks/metadata.xml b/net-proxy/redsocks/metadata.xml
index 8f0d16e0c220..8acddc5f1f73 100644
--- a/net-proxy/redsocks/metadata.xml
+++ b/net-proxy/redsocks/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mattst88@gentoo.org</email>
diff --git a/net-proxy/redsocks/redsocks-0.5.ebuild b/net-proxy/redsocks/redsocks-0.5-r2.ebuild
index 1f61ade46a23..5a182c79906f 100644
--- a/net-proxy/redsocks/redsocks-0.5.ebuild
+++ b/net-proxy/redsocks/redsocks-0.5-r2.ebuild
@@ -1,17 +1,18 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
if [[ ${PV} != *9999* ]]; then
SRC_URI="https://github.com/darkk/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}"/"${PN}"-release-"${PV}"
KEYWORDS="~amd64 ~x86"
else
GIT_ECLASS="git-r3"
EGIT_REPO_URI="https://github.com/darkk/${PN}.git"
fi
-inherit systemd toolchain-funcs user ${GIT_ECLASS}
+inherit systemd toolchain-funcs ${GIT_ECLASS}
DESCRIPTION="Transparent redirector of any TCP connection to proxy"
HOMEPAGE="http://darkk.net.ru/redsocks/"
@@ -21,18 +22,15 @@ IUSE="doc"
RESTRICT="test"
DEPEND="dev-libs/libevent:0="
-RDEPEND="${DEPEND}
- net-firewall/iptables"
-
-[[ ${PV} != *9999 ]] && S="${WORKDIR}"/"${PN}"-release-"${PV}"
-
-pkg_setup() {
- enewgroup redsocks
- enewuser redsocks -1 -1 /run/redsocks redsocks
-}
+RDEPEND="
+ ${DEPEND}
+ acct-group/redsocks
+ acct-user/redsocks
+ net-firewall/iptables
+"
src_compile() {
- CC="$(tc-getCC)" emake || die "emake failed"
+ CC="$(tc-getCC)" emake
}
src_install() {
@@ -42,7 +40,7 @@ src_install() {
insinto /etc
newins debian/redsocks.conf redsocks.conf
- newinitd "${FILESDIR}"/redsocks.init redsocks
+ newinitd "${FILESDIR}"/redsocks.init-r2 redsocks
newconfd "${FILESDIR}"/redsocks.conf redsocks
systemd_dounit "${FILESDIR}"/redsocks.service
diff --git a/net-proxy/redsocks/redsocks-9999.ebuild b/net-proxy/redsocks/redsocks-9999.ebuild
index 1f61ade46a23..5a182c79906f 100644
--- a/net-proxy/redsocks/redsocks-9999.ebuild
+++ b/net-proxy/redsocks/redsocks-9999.ebuild
@@ -1,17 +1,18 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
if [[ ${PV} != *9999* ]]; then
SRC_URI="https://github.com/darkk/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}"/"${PN}"-release-"${PV}"
KEYWORDS="~amd64 ~x86"
else
GIT_ECLASS="git-r3"
EGIT_REPO_URI="https://github.com/darkk/${PN}.git"
fi
-inherit systemd toolchain-funcs user ${GIT_ECLASS}
+inherit systemd toolchain-funcs ${GIT_ECLASS}
DESCRIPTION="Transparent redirector of any TCP connection to proxy"
HOMEPAGE="http://darkk.net.ru/redsocks/"
@@ -21,18 +22,15 @@ IUSE="doc"
RESTRICT="test"
DEPEND="dev-libs/libevent:0="
-RDEPEND="${DEPEND}
- net-firewall/iptables"
-
-[[ ${PV} != *9999 ]] && S="${WORKDIR}"/"${PN}"-release-"${PV}"
-
-pkg_setup() {
- enewgroup redsocks
- enewuser redsocks -1 -1 /run/redsocks redsocks
-}
+RDEPEND="
+ ${DEPEND}
+ acct-group/redsocks
+ acct-user/redsocks
+ net-firewall/iptables
+"
src_compile() {
- CC="$(tc-getCC)" emake || die "emake failed"
+ CC="$(tc-getCC)" emake
}
src_install() {
@@ -42,7 +40,7 @@ src_install() {
insinto /etc
newins debian/redsocks.conf redsocks.conf
- newinitd "${FILESDIR}"/redsocks.init redsocks
+ newinitd "${FILESDIR}"/redsocks.init-r2 redsocks
newconfd "${FILESDIR}"/redsocks.conf redsocks
systemd_dounit "${FILESDIR}"/redsocks.service
diff --git a/net-proxy/rejik/Manifest b/net-proxy/rejik/Manifest
index 530edd43f2a4..7ab17756ec29 100644
--- a/net-proxy/rejik/Manifest
+++ b/net-proxy/rejik/Manifest
@@ -1,2 +1,2 @@
DIST banlists-2.x.x.tgz 116100 BLAKE2B 401d3cd995b7e2adcb28055c4f107799a87397a1ed06c698d70b2a4b755565759d7f56eb70a8d59a5ea04cdc51c6142d6bd03ebdd414133fd71792c66c5fe54e SHA512 068d01685e01679b2726da1cbc5f31f6aba54ab2194e8ab145bd2409e7fc71e3662445a8274b08746e5cdeadea2197f5a72a1abef98ec91267df851615b188b3
-DIST redirector-3.2.10.tgz 45407 BLAKE2B 735cab04b58d62a5772b2da540f1f358d20a1bf4612ab1d838066e9319bf28e3288a988e2fbebd5a7f7e6ad3912a59f3fadbed3bddf99b557ee562cd45779751 SHA512 6e82341e402b149464b048e763cfa6f7bc514bae48514b482eded9288af9705942fbfd2e11b5701d3540489ec5ccab358848108fe15f25c5ab2915e44f3f1033
+DIST redirector-3.2.11.tgz 45758 BLAKE2B 39f83c8245d8a24c7454d40d607c851250bd9844f56ee8e9f43d64f32ac3cb52d9c1d9091e3d5126133d94fe59d5be8e8d99b7f2cb253c7731a73e344604a1ce SHA512 e4b20f11a46a84d47c8e6adc74f88f6092f9791e1b6050a3e3b4685cf4c510b55f32ea3d4c9a334dbe5753ee486b98ca73bb7e2d9854e2c8d299b7fd50fce2f8
diff --git a/net-proxy/rejik/metadata.xml b/net-proxy/rejik/metadata.xml
index 3bb23158fb52..03bf78158e70 100644
--- a/net-proxy/rejik/metadata.xml
+++ b/net-proxy/rejik/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>pinkbyte@gentoo.org</email>
diff --git a/net-proxy/rejik/rejik-3.2.10.ebuild b/net-proxy/rejik/rejik-3.2.11.ebuild
index 1a14f53834da..da5a1a17a739 100644
--- a/net-proxy/rejik/rejik-3.2.10.ebuild
+++ b/net-proxy/rejik/rejik-3.2.11.ebuild
@@ -1,18 +1,19 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="4"
+EAPI=7
-inherit eutils toolchain-funcs
+inherit flag-o-matic toolchain-funcs
DESCRIPTION="A squid redirector used for blocking unwanted content"
-HOMEPAGE="http://rejik.ru/"
-SRC_URI="http://rejik.ru/download/redirector-${PV}.tgz
+HOMEPAGE="https://rejik.ru/"
+SRC_URI="https://rejik.ru/download/redirector-${PV}.tgz
banlists? ( http://rejik.ru/download/banlists-2.x.x.tgz )"
+S="${WORKDIR}/redirector-${PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~x86 ~amd64"
+KEYWORDS="~amd64 ~x86"
IUSE="banlists"
DEPEND="dev-libs/libpcre"
@@ -21,25 +22,27 @@ RDEPEND="${DEPEND}
dev-perl/XML-Parser
net-proxy/squid"
-S=${WORKDIR}/redirector-${PV}
-
src_prepare() {
- sed -i -e "s:INSTALL_PATH=/usr/local/rejik3:INSTALL_PATH=${D}/opt/rejik:g" Makefile
- sed -i -e "s:/usr/local/rejik3:/opt/rejik:g" vars.h
- sed -i -e "s:SQUID_USER=nobody:SQUID_USER=squid:g" Makefile
- sed -i -e "s:SQUID_GROUP=nogroup:SQUID_GROUP=squid:g" Makefile
+ # Workaround for GCC 10 failure, bug #706766
+ append-cflags -fcommon
+
+ sed -i -e "s:INSTALL_PATH=/usr/local/rejik3:INSTALL_PATH=${ED}/opt/rejik:g" Makefile || die
+ sed -i -e "s:/usr/local/rejik3:/opt/rejik:g" vars.h || die
+ sed -i -e "s:SQUID_USER=nobody:SQUID_USER=squid:g" Makefile || die
+ sed -i -e "s:SQUID_GROUP=nogroup:SQUID_GROUP=squid:g" Makefile || die
# Respect CFLAGS
- sed -i -e "s:CC=gcc -Wall:CC=$(tc-getCC) $CFLAGS:" Makefile
+ sed -i -e "s;CC=gcc -Wall;CC=$(tc-getCC) $CFLAGS;" Makefile || die
# Respect LDFLAGS
- sed -i -e "s:LIBS=-L/lib \`pcre-config --libs\`:LIBS=-L/lib \`pcre-config --libs\` $LDFLAGS:" Makefile
+ sed -i -e "s:LIBS=-L/lib \`pcre-config --libs\`:LIBS=-L/lib \`pcre-config --libs\` $LDFLAGS:" Makefile || die
#
- sed -i -e "s:error_log /usr/local/rejik3:error_log /var/log/rejik:g" redirector.conf.dist
- sed -i -e "s:change_log /usr/local/rejik3:change_log /var/log/rejik:g" redirector.conf.dist
- sed -i -e "s:/usr/local/rejik3:/opt/rejik:g" redirector.conf.dist
+ sed -i -e "s:error_log /usr/local/rejik3:error_log /var/log/rejik:g" redirector.conf.dist || die
+ sed -i -e "s:change_log /usr/local/rejik3:change_log /var/log/rejik:g" redirector.conf.dist || die
+ sed -i -e "s:/usr/local/rejik3:/opt/rejik:g" redirector.conf.dist || die
+
+ default
}
src_install() {
- dodir /opt/rejik
exeinto /opt/rejik
insinto /opt/rejik
@@ -47,13 +50,9 @@ src_install() {
doexe redirector
doins redirector.conf.dist
- dodir /opt/rejik/tools
insinto /opt/rejik/tools
exeinto /opt/rejik/tools
- fperms +x tools/kill-cache
- fperms +x tools/benchmark
-
doexe tools/kill-cache
doexe tools/benchmark
doins tools/IN.gz
@@ -79,6 +78,6 @@ pkg_postinst() {
einfo "redirect_program /opt/rejik/redirector /opt/rejik/redirector.conf"
einfo "to /etc/squid/squid.conf"
einfo ""
- einfo "Dont forget to edit /opt/rejik/redirector.conf"
+ einfo "Don't forget to edit /opt/rejik/redirector.conf"
einfo "Be sure redirector.conf has right permissions"
}
diff --git a/net-proxy/shadowsocks-libev/Manifest b/net-proxy/shadowsocks-libev/Manifest
index e6839557c35f..077899cf5d8d 100644
--- a/net-proxy/shadowsocks-libev/Manifest
+++ b/net-proxy/shadowsocks-libev/Manifest
@@ -1,2 +1 @@
-DIST shadowsocks-libev-3.2.4.tar.gz 277679 BLAKE2B 32d4d48c22951894e9aa64cd6d34f7586c61ab5ae994b263b272c07a05a019f9c493909f50f3ec027af29681885a65f51afe97dc959c508f107a5010974c8e11 SHA512 f8bd19d4f3f70cedd0f34a6a16975c3694ef36e85b278d4a7bb10520a43d71c83f81ceebcf20530cdd04b5000a8c742e0789fdbefa70fef6b5d1dc799ce34528
-DIST shadowsocks-libev-3.2.5.tar.gz 278138 BLAKE2B 874471f134371d274ce274c096286dfe8a755e5423624df80df70321f017d9344516fd38f82df43033870588664dc626595157ab6c5022c9953bd9ce59dee2b8 SHA512 b4ca9f7c303c85a5bba9bf5d7a093c6dfde7a147d0335b449d4ee213cd3b9004c5220a099dcc78464a35c55f9cfe280d817daf934e2fda100f5e784f70091c0b
+DIST shadowsocks-libev-3.3.5.tar.gz 303368 BLAKE2B bb7d6e64596710402db94085044c20315028395723828fa82dfba419bc41a0c740ece1f79c6cf05dda395d9442d553429f66d7f7b2de3cdd188d5b6adb0b8edf SHA512 c0cc869b4b7661ebd348bd5559c6a17c44b66a5f42374d97023adcfb525d934da3ed96245ff792ebc74870d30dd8f71fadcd89c79b2cd8a98d551ff7592508d0
diff --git a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-local_at.service b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-local_at.service
deleted file mode 100644
index af137178380f..000000000000
--- a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-local_at.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Shadowsocks-Libev Client Service for %I
-After=network.target
-
-[Service]
-Type=simple
-CapabilityBoundingSet=CAP_NET_BIND_SERVICE
-ExecStart=/usr/bin/ss-local -c /etc/shadowsocks-libev/%i.json
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-redir_at.service b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-redir_at.service
deleted file mode 100644
index 1ced8f454408..000000000000
--- a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-redir_at.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Shadowsocks-Libev Client Service Redir Mode for %I
-After=network.target
-
-[Service]
-Type=simple
-CapabilityBoundingSet=CAP_NET_BIND_SERVICE
-ExecStart=/usr/bin/ss-redir -c /etc/shadowsocks-libev/%i.json
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-server_at.service b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-server_at.service
deleted file mode 100644
index 58d934bdb1d1..000000000000
--- a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-server_at.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Shadowsocks-Libev Server Service for %I
-After=network.target
-
-[Service]
-Type=simple
-CapabilityBoundingSet=CAP_NET_BIND_SERVICE
-ExecStart=/usr/bin/ss-server -c /etc/shadowsocks-libev/%i.json
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-tunnel_at.service b/net-proxy/shadowsocks-libev/files/shadowsocks-libev-tunnel_at.service
deleted file mode 100644
index 24b31d5a1cd9..000000000000
--- a/net-proxy/shadowsocks-libev/files/shadowsocks-libev-tunnel_at.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Shadowsocks-Libev Client Service Tunnel Mode for %I
-After=network.target
-
-[Service]
-Type=simple
-CapabilityBoundingSet=CAP_NET_BIND_SERVICE
-ExecStart=/usr/bin/ss-tunnel -c /etc/shadowsocks-libev/%i.json
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-proxy/shadowsocks-libev/files/shadowsocks.initd b/net-proxy/shadowsocks-libev/files/shadowsocks.initd
index e980bb2636e8..994ba23e3b8b 100644
--- a/net-proxy/shadowsocks-libev/files/shadowsocks.initd
+++ b/net-proxy/shadowsocks-libev/files/shadowsocks.initd
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
SS_CONFIG="/etc/shadowsocks-libev/shadowsocks.json"
@@ -49,13 +49,16 @@ start() {
ebegin "Starting Shadowsocks: ${SS_SVCNAME} mode"
start-stop-daemon --start --exec ${SS_COMMAND} \
- -- -c ${SS_CONFIG} -f ${SS_PIDFILE} >/dev/null 2>&1 &
+ --user nobody --group nobody \
+ -- -c ${SS_CONFIG} -f ${SS_PIDFILE} >/dev/null 2>&1 &
eend $?
}
stop() {
ebegin "Stopping Shadowsocks"
- start-stop-daemon --stop --pidfile ${SS_PIDFILE}
+ start-stop-daemon --stop \
+ --user nobody --group nobody \
+ --pidfile ${SS_PIDFILE}
eend $?
}
diff --git a/net-proxy/shadowsocks-libev/metadata.xml b/net-proxy/shadowsocks-libev/metadata.xml
index 694ba4f7271c..3016539a92b8 100644
--- a/net-proxy/shadowsocks-libev/metadata.xml
+++ b/net-proxy/shadowsocks-libev/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dlan@gentoo.org</email>
diff --git a/net-proxy/shadowsocks-libev/shadowsocks-libev-3.2.4.ebuild b/net-proxy/shadowsocks-libev/shadowsocks-libev-3.2.4.ebuild
deleted file mode 100644
index 03fc22b936a0..000000000000
--- a/net-proxy/shadowsocks-libev/shadowsocks-libev-3.2.4.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_PV="v${PV}"
-inherit autotools eutils 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 ~x86"
-IUSE="debug doc"
-
-RDEPEND="net-libs/mbedtls:=
- net-libs/libbloom
- 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
- )
- "
-
-src_prepare() {
- sed -i 's|AC_CONFIG_FILES(\[libbloom/Makefile libcork/Makefile libipset/Makefile\])||' \
- configure.ac || die
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf="
- $(use_enable debug assert)
- --enable-system-shared-lib
- "
- use doc || myconf+="--disable-documentation"
- econf ${myconf}
-}
-
-src_install() {
- default
- prune_libtool_files --all
-
- dodir "/etc/${PN}"
- 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
-
- dodoc -r acl
-
- systemd_newunit "${FILESDIR}/${PN}-local_at.service" "${PN}-local@.service"
- systemd_newunit "${FILESDIR}/${PN}-server_at.service" "${PN}-server@.service"
- systemd_newunit "${FILESDIR}/${PN}-redir_at.service" "${PN}-redir@.service"
- systemd_newunit "${FILESDIR}/${PN}-tunnel_at.service" "${PN}-tunnel@.service"
-}
-
-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"
-}
diff --git a/net-proxy/shadowsocks-libev/shadowsocks-libev-3.2.5.ebuild b/net-proxy/shadowsocks-libev/shadowsocks-libev-3.3.5.ebuild
index 65c0bfdfa56d..70be2ec789e8 100644
--- a/net-proxy/shadowsocks-libev/shadowsocks-libev-3.2.5.ebuild
+++ b/net-proxy/shadowsocks-libev/shadowsocks-libev-3.3.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PV="v${PV}"
-inherit autotools eutils systemd
+inherit autotools systemd
DESCRIPTION="A lightweight secured SOCKS5 proxy for embedded devices and low end boxes"
HOMEPAGE="https://github.com/shadowsocks/shadowsocks-libev"
@@ -16,11 +16,11 @@ SRC_URI="https://github.com/shadowsocks/${PN}/archive/${MY_PV}.tar.gz -> ${P}.ta
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
IUSE="debug doc"
RDEPEND="net-libs/mbedtls:=
- net-libs/libbloom
+ >=net-libs/libbloom-1.6
net-libs/libcork
net-libs/libcorkipset
>=dev-libs/libsodium-1.0.8:=
@@ -37,8 +37,11 @@ DEPEND="${RDEPEND}
"
src_prepare() {
- sed -i 's|AC_CONFIG_FILES(\[libbloom/Makefile libcork/Makefile libipset/Makefile\])||' \
+ sed -i -e 's|AC_CONFIG_FILES(\[libbloom/Makefile libcork/Makefile libipset/Makefile\])||' \
configure.ac || die
+ sed -i -e 's|-Werror||g' \
+ configure.ac src/Makefile.am || die
+
default
eautoreconf
}
@@ -57,7 +60,6 @@ src_install() {
find "${D}" -name '*.la' -type f -delete || die
- dodir "/etc/${PN}"
insinto "/etc/${PN}"
newins "${FILESDIR}/shadowsocks.json" shadowsocks.json
@@ -69,10 +71,9 @@ src_install() {
dodoc -r acl
- systemd_newunit "${FILESDIR}/${PN}-local_at.service" "${PN}-local@.service"
- systemd_newunit "${FILESDIR}/${PN}-server_at.service" "${PN}-server@.service"
- systemd_newunit "${FILESDIR}/${PN}-redir_at.service" "${PN}-redir@.service"
- systemd_newunit "${FILESDIR}/${PN}-tunnel_at.service" "${PN}-tunnel@.service"
+ for i in debian/${PN}*.service; do
+ systemd_newunit $i $(basename $i)
+ done
}
pkg_setup() {
diff --git a/net-proxy/sqtop/Manifest b/net-proxy/sqtop/Manifest
new file mode 100644
index 000000000000..ad9499a7a497
--- /dev/null
+++ b/net-proxy/sqtop/Manifest
@@ -0,0 +1 @@
+DIST sqtop-2015.02.08.tar.gz 154535 BLAKE2B 4825a254670e5336acbddc8ffb50c7a423614c06fcf9b69b354e3ccf88496bde17ba586bf45cf062a4da40e2332b84a611b50582e425278a259cc27a23f53f7f SHA512 35911b2d4aaa6364ec52bb55264372378b4a458268cfc2e03884660576014739a55e255eb751a9be54b70d4504f16d095b6cf9db08ff5889d52fd2a46ab2033a
diff --git a/net-proxy/sqtop/files/sqtop-2015.02.08-ncurses.patch b/net-proxy/sqtop/files/sqtop-2015.02.08-ncurses.patch
new file mode 100644
index 000000000000..c12953b75b75
--- /dev/null
+++ b/net-proxy/sqtop/files/sqtop-2015.02.08-ncurses.patch
@@ -0,0 +1,15 @@
+diff --git a/configure.ac b/configure.ac
+index 9306ef8..829d793 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -60,7 +60,9 @@ if test x$enable_ui = xtrue; then
+ ], [AC_MSG_ERROR([Unable to find the ncurses headers]); break;])
+ ])
+ AC_CHECK_LIB([ncurses], [initscr], [], [AC_MSG_ERROR([Unable to find the ncurses library]); break;])
+- AC_CHECK_FUNCS([clear refresh endwin mvaddstr mvchgat mvhline getch beep initscr nonl keypad noecho cbreak halfdelay addnstr], [], [AC_MSG_ERROR([Unable to find some ncurses functions]); break;])
++ AC_CHECK_FUNCS([clear refresh endwin mvaddstr mvchgat mvhline getch beep initscr nonl], [], [AC_MSG_ERROR([Unable to find some ncurses functions]); break;])
++ AC_CHECK_LIB([tinfo], [cur_term], [], [AC_MSG_ERROR([Unable to find the tinfo (ncurses) library]); break;])
++ AC_CHECK_FUNCS([keypad noecho cbreak halfdelay addnstr], [], [AC_MSG_ERROR([Unable to find some tinfo (ncurses) functions]); break;])
+ test_pthread=yes
+ fi
+
diff --git a/net-proxy/sqtop/metadata.xml b/net-proxy/sqtop/metadata.xml
new file mode 100644
index 000000000000..abde1713da0b
--- /dev/null
+++ b/net-proxy/sqtop/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>jaco@uls.co.za</email>
+ <name>Jaco Kroon</name>
+ </maintainer>
+ <maintainer type="person" proxied="proxy">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <longdescription lang="en">
+ SquidTop is a program that connects with Squid and shows a live, top-like display as to what Squid is busy processing.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">paleg/sqtop</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-proxy/sqtop/sqtop-2015.02.08.ebuild b/net-proxy/sqtop/sqtop-2015.02.08.ebuild
new file mode 100644
index 000000000000..1638959b1dee
--- /dev/null
+++ b/net-proxy/sqtop/sqtop-2015.02.08.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+MY_PV="$(ver_rs 1-2 -)"
+
+DESCRIPTION="Squid Top - top for Squid"
+HOMEPAGE="https://github.com/paleg/sqtop"
+SRC_URI="https://github.com/paleg/sqtop/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="sys-libs/ncurses:0="
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2015.02.08-ncurses.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/net-proxy/squid/Manifest b/net-proxy/squid/Manifest
index a01c50e01638..3bcef4eecfdd 100644
--- a/net-proxy/squid/Manifest
+++ b/net-proxy/squid/Manifest
@@ -1 +1,5 @@
-DIST squid-4.6.tar.xz 2439792 BLAKE2B 1344acfd4ba135d5ec6881612614f735c6e4791f9b15dcc2f572b93e7f7c9e39585aa0b30aef5b09e40a9599e7fe7d3a118f878adac8f272b014ac3d65a83fae SHA512 dbe2b02b83d53d67459e22a19e71cbf99b66d74a2ddc4bc69310f03a0a6092e5840766ad699fc43893516e97ef89799ef2147dd40f76b0bd688c1e271fd20d06
+DIST squid-6.5.tar.xz 2554492 BLAKE2B 91ed91f9b0f56f440a7f15a63bbc3e19537b60bc8b31b5bf7e16884367d0da060c5490e1721dbd7c5fce7f4a4e958fb3554d6bdc5b55f568598f907722b651de SHA512 d3a40f5f390f0042a8e981ca28755a90dd520230a06b4246ba7bec0c98025ce1cdc7426797a666f769addd60238e28e1f04d2c701ea2ef2d7329dbe87b830d70
+DIST squid-6.6.tar.xz 2554824 BLAKE2B 7c3c96f5cd5f819f6f020fb3e63ee8d9bb26b7fb4ff4405d7963a643c6766344e6492505bc1b33f3040ad800b3d7a3ad6a4b067b031ac4d178ddcac04c6e74dc SHA512 4ab261ed85ad674288467500aca9d8a48e3918b55f777635c0ba7a2551f248d35536848a5fbf2c946490a818004727f2aed33144f0a3ebab0be36cc4cffb020c
+DIST squid-6.6.tar.xz.asc 1193 BLAKE2B c37a400c51c30de35c6fe52123389c134d05670a36b1ffae4d67e7d06981bbf94788343daf2fdeafb782d464a977ee31bc601e3b1b92b45cd40ba6a6725b9a16 SHA512 08550569759c403a1a9747d08ea7055751fbf251355691074f6d09baca76a0987c5dff36e1f01b64edd446d568c7244b14124f6f8a1b19ccfc30293eed83a297
+DIST squid-6.7.tar.xz 2427468 BLAKE2B 0cd892213085326d1f4cc065778d95d74c03edaaf98b839b4422397fdcd449716b022e74adcbac636ca98e9d5c45a8f7aa156c3edc9f306fb13fc5cc21125dd6 SHA512 6221437056c600119fe9ff1ceeeaa9955cf9f21df481ad29a3515f8439a41b779d51f37b820b75641d0d4d6de54554f6f924dbd347834bf4a6ad6b5b317084a0
+DIST squid-6.7.tar.xz.asc 646 BLAKE2B 6d4e6075b261f54269577fc31b28e7cb74b835c851741542c322b226d29325128cdbaadd156070e9fe6c5af5c33149c78f71b01272934a62676e08f3f75f8628 SHA512 4a1f9d123ce6b5a600d9d2dd3af95a7ce98bfe28ba42d1281ab1f3d7f220f8738a4320afb85eeba1bf9d31e722ffaccd2d89cbefcd11e6b6ea31fe237ccf9a8c
diff --git a/net-proxy/squid/files/squid-4.17-use-system-libltdl.patch b/net-proxy/squid/files/squid-4.17-use-system-libltdl.patch
new file mode 100644
index 000000000000..219f2ab6cf70
--- /dev/null
+++ b/net-proxy/squid/files/squid-4.17-use-system-libltdl.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/830099
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6,11 +6,8 @@
+ ##
+
+ AUTOMAKE_OPTIONS = dist-bzip2 1.5 foreign
+-DIST_SUBDIRS = compat lib libltdl scripts icons errors contrib doc src test-suite tools
++DIST_SUBDIRS = compat lib scripts icons errors contrib doc src test-suite tools
+ SUBDIRS = compat lib
+-if ENABLE_LOADABLE_MODULES
+-SUBDIRS += libltdl
+-endif
+ SUBDIRS += scripts icons errors doc src tools test-suite
+
+ DISTCLEANFILES = include/stamp-h include/stamp-h[0-9]*
diff --git a/net-proxy/squid/files/squid-4.3-gentoo.patch b/net-proxy/squid/files/squid-6.2-gentoo.patch
index f5152b898852..2444c74a71d0 100644
--- a/net-proxy/squid/files/squid-4.3-gentoo.patch
+++ b/net-proxy/squid/files/squid-6.2-gentoo.patch
@@ -1,29 +1,26 @@
---- a/configure.ac 2018-10-14 17:22:35.000000000 +0300
-+++ b/configure.ac 2018-10-17 21:27:24.806986467 +0300
-@@ -32,9 +32,9 @@ PRESET_CXXFLAGS="$CXXFLAGS"
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,9 +33,6 @@ PRESET_CFLAGS="$CFLAGS"
+ PRESET_CXXFLAGS="$CXXFLAGS"
PRESET_LDFLAGS="$LDFLAGS"
- dnl Set default LDFLAGS
--if test "x$LDFLAGS" = "x" ; then
-- LDFLAGS="-g"
--fi
-+dnl if test "x$LDFLAGS" = "x" ; then
-+dnl LDFLAGS="-g"
-+dnl fi
-
- # Check for GNU cc
- AC_PROG_CC
---- a/src/cf.data.pre 2018-10-14 08:25:34.000000000 +0300
-+++ b/src/cf.data.pre 2018-10-17 21:27:24.809986705 +0300
-@@ -1520,6 +1520,7 @@ acl Safe_ports port 280 # http-mgmt
+-dnl Set default LDFLAGS
+-AS_IF([test "x$LDFLAGS" = "x"],[LDFLAGS="-g"])
+-
+ # check for host OS detail
+ AC_CANONICAL_HOST
+ AC_MSG_CHECKING([simplified host os])
+--- a/src/cf.data.pre
++++ b/src/cf.data.pre
+@@ -1669,6 +1669,7 @@ acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
+acl Safe_ports port 901 # SWAT
- acl CONNECT method CONNECT
- NOCOMMENT_END
+ CONFIG_END
DOC_END
-@@ -6819,11 +6820,11 @@ COMMENT_END
+
+@@ -7447,11 +7448,11 @@ COMMENT_END
NAME: cache_mgr
TYPE: string
@@ -37,20 +34,20 @@
DOC_END
NAME: mail_from
---- a/src/debug.cc 2018-10-14 08:25:34.000000000 +0300
-+++ b/src/debug.cc 2018-10-17 21:27:24.807986546 +0300
-@@ -490,7 +490,7 @@ _db_init(const char *logfile, const char
+--- a/src/debug/debug.cc
++++ b/src/debug/debug.cc
+@@ -1144,7 +1144,7 @@ Debug::SettleSyslog()
#if HAVE_SYSLOG && defined(LOG_LOCAL4)
- if (Debug::log_syslog)
+ if (Debug::log_syslog) {
- openlog(APP_SHORTNAME, LOG_PID | LOG_NDELAY | LOG_CONS, syslog_facility);
+ openlog(APP_SHORTNAME, LOG_PID | LOG_NDELAY, syslog_facility);
+ Module().syslogChannel.markOpened();
+ }
- #endif /* HAVE_SYSLOG */
-
---- a/src/main.cc 2018-10-14 08:25:34.000000000 +0300
-+++ b/src/main.cc 2018-10-17 21:28:28.632044541 +0300
-@@ -1912,7 +1912,7 @@ watch_child(const CommandLine &masterCom
+--- a/src/main.cc
++++ b/src/main.cc
+@@ -1867,7 +1867,7 @@ watch_child(const CommandLine &masterCommand)
enter_suid();
@@ -59,7 +56,7 @@
if (!opt_foreground)
GoIntoBackground();
-@@ -2012,7 +2012,7 @@ watch_child(const CommandLine &masterCom
+@@ -1959,7 +1959,7 @@ watch_child(const CommandLine &masterCommand)
if ((pid = fork()) == 0) {
/* child */
@@ -68,7 +65,7 @@
(void)execvp(masterCommand.arg0(), kidCommand.argv());
int xerrno = errno;
syslog(LOG_ALERT, "execvp failed: %s", xstrerr(xerrno));
-@@ -2024,7 +2024,7 @@ watch_child(const CommandLine &masterCom
+@@ -1971,7 +1971,7 @@ watch_child(const CommandLine &masterCommand)
}
/* parent */
diff --git a/net-proxy/squid/files/squid-6.4-gcc14-algorithm.patch b/net-proxy/squid/files/squid-6.4-gcc14-algorithm.patch
new file mode 100644
index 000000000000..3a509e029eb5
--- /dev/null
+++ b/net-proxy/squid/files/squid-6.4-gcc14-algorithm.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/917161
+--- a/src/helper/Reply.cc
++++ b/src/helper/Reply.cc
+@@ -17,6 +17,8 @@
+ #include "rfc1738.h"
+ #include "SquidString.h"
+
++#include <algorithm>
++
+ Helper::Reply::Reply() :
+ result(Helper::Unknown)
+ {
diff --git a/net-proxy/squid/files/squid.initd-r5 b/net-proxy/squid/files/squid.initd-r6
index 0572fbcefefb..775ccbaddbb1 100644
--- a/net-proxy/squid/files/squid.initd-r5
+++ b/net-proxy/squid/files/squid.initd-r6
@@ -43,7 +43,7 @@ checkconfig() {
local CACHE_SWAP=$(cat ${CONFFILES} 2>/dev/null 3>/dev/null | awk '/^[ \t]*cache_dir[ \t]+/ { if ( $2 == "rock" ) printf "%s/rock ", $3; else if ( $2 == "coss" ) printf "%s/stripe ", $3; else printf "%s/00 ", $3; }')
[ -z "$CACHE_SWAP" ] && CACHE_SWAP="/var/cache/squid/00"
-
+
local x
for x in $CACHE_SWAP ; do
if [ ! -e $x ] ; then
@@ -69,7 +69,7 @@ checkconfig() {
break
fi
done
-
+
return 0
}
@@ -86,6 +86,10 @@ start() {
stop() {
ebegin "Stopping ${RC_SVCNAME} with /usr/sbin/squid -k shutdown -f /etc/squid/${RC_SVCNAME}.conf -n ${SQUID_SVCNAME}"
if /usr/sbin/squid -k shutdown -f /etc/squid/${RC_SVCNAME}.conf -n ${SQUID_SVCNAME} ; then
+ if [ "x${SQUID_FAST_SHUTDOWN}" = "xyes" ]; then
+ einfo "Attempting fast shutdown."
+ /usr/sbin/squid -k shutdown -f /etc/squid/${RC_SVCNAME}.conf -n ${SQUID_SVCNAME}
+ fi
# Now we have to wait until squid has _really_ stopped.
sleep 1
if [ -f /run/${RC_SVCNAME}.pid ] ; then
diff --git a/net-proxy/squid/metadata.xml b/net-proxy/squid/metadata.xml
index 74543e37ace0..8a427f9e8ce6 100644
--- a/net-proxy/squid/metadata.xml
+++ b/net-proxy/squid/metadata.xml
@@ -1,31 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
-</maintainer>
- <longdescription>A full-featured web proxy cache</longdescription>
- <use>
- <flag name="ecap">Adds support for loadable content adaptation modules
- (http://www.e-cap.org)</flag>
- <flag name="esi">Enable ESI for accelerators, will cause squid reverse proxies
- to be capable of the Edge Acceleration Specification (www.esi.org)</flag>
- <flag name="htcp">Enable HTCP protocol</flag>
- <flag name="ipf-transparent">Adds transparent proxy support for systems
- using IP-Filter (only for *bsd)</flag>
- <flag name="logrotate">Use <pkg>app-admin/logrotate</pkg> for rotating
- logs</flag>
- <flag name="kqueue">Enables *BSD kqueue() support</flag>
- <flag name="pf-transparent">Adds transparent proxy support for systems using
- PF (only for *bsd)</flag>
- <flag name="qos">Adds support for Quality of Service using netfilter conntrack
- - see qos_flow directive for more info</flag>
- <flag name="ssl-crtd">Adds support for dynamic SSL certificate generation in
- SslBump environments</flag>
- <flag name="tproxy">Enables real Transparent Proxy support for Linux Netfilter
- TPROXY</flag>
- <flag name="wccp">Enable Web Cache Coordination Protocol</flag>
- <flag name="wccpv2">Enable Web Cache Coordination V2 Protocol</flag>
- </use>
+ <maintainer type="person" proxied="yes">
+ <email>hlein@korelogic.com</email>
+ <name>Hank Leininger</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="ecap">Adds support for loadable content adaptation modules (http://www.e-cap.org)</flag>
+ <flag name="esi">Enable ESI for accelerators, will cause squid reverse proxies to be capable of the Edge Acceleration Specification (www.esi.org)</flag>
+ <flag name="htcp">Enable HTCP protocol</flag>
+ <flag name="logrotate">Use <pkg>app-admin/logrotate</pkg> for rotating logs</flag>
+ <flag name="qos">Adds support for Quality of Service using netfilter conntrack - see qos_flow directive for more info</flag>
+ <flag name="ssl-crtd">Adds support for dynamic SSL certificate generation in SslBump environments</flag>
+ <flag name="tproxy">Enables real Transparent Proxy support for Linux Netfilter TPROXY</flag>
+ <flag name="wccp">Enable Web Cache Coordination Protocol</flag>
+ <flag name="wccpv2">Enable Web Cache Coordination V2 Protocol</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">squid-cache/squid</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-proxy/squid/squid-4.6.ebuild b/net-proxy/squid/squid-4.6.ebuild
deleted file mode 100644
index ae8dca64ad4f..000000000000
--- a/net-proxy/squid/squid-4.6.ebuild
+++ /dev/null
@@ -1,276 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-WANT_AUTOMAKE="1.15"
-
-inherit autotools linux-info pam toolchain-funcs user
-
-DESCRIPTION="A full-featured web proxy cache"
-HOMEPAGE="http://www.squid-cache.org/"
-
-# Upstream patch ID for the most recent bug-fixed update to the formal release.
-r=
-#r=-20181117-r0022167
-if [ -z "$r" ]; then
- SRC_URI="http://www.squid-cache.org/Versions/v${PV%.*}/${P}.tar.xz"
-else
- SRC_URI="http://www.squid-cache.org/Versions/v${PV%.*}/${P}${r}.tar.bz2"
- S="${S}${r}"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~sparc x86 ~x86-fbsd"
-IUSE="caps ipv6 pam ldap libressl samba sasl kerberos nis radius ssl snmp selinux logrotate test \
- ecap esi ssl-crtd \
- mysql postgres sqlite \
- perl qos tproxy \
- +htcp +wccp +wccpv2 \
- pf-transparent ipf-transparent kqueue \
- elibc_uclibc kernel_linux"
-
-BDEPEND="dev-lang/perl"
-
-COMMON_DEPEND="caps? ( >=sys-libs/libcap-2.16 )
- pam? ( virtual/pam )
- ldap? ( net-nds/openldap )
- kerberos? ( virtual/krb5 )
- qos? ( net-libs/libnetfilter_conntrack )
- ssl? (
- libressl? ( dev-libs/libressl:0 )
- !libressl? ( dev-libs/openssl:0 )
- dev-libs/nettle >=net-libs/gnutls-3.1.5 )
- sasl? ( dev-libs/cyrus-sasl )
- ecap? ( net-libs/libecap:1 )
- esi? ( dev-libs/expat dev-libs/libxml2 )
- !x86-fbsd? ( logrotate? ( app-admin/logrotate ) )
- >=sys-libs/db-4:*
- dev-libs/libltdl:0"
-DEPEND="${COMMON_DEPEND}
- ${BDEPEND}
- ecap? ( virtual/pkgconfig )
- test? ( dev-util/cppunit )"
-RDEPEND="${COMMON_DEPEND}
- samba? ( net-fs/samba )
- perl? ( dev-lang/perl )
- mysql? ( dev-perl/DBD-mysql )
- postgres? ( dev-perl/DBD-Pg )
- selinux? ( sec-policy/selinux-squid )
- sqlite? ( dev-perl/DBD-SQLite )
- !<=sci-biology/meme-4.8.1-r1"
-
-REQUIRED_USE="tproxy? ( caps )
- qos? ( caps )"
-
-pkg_pretend() {
- if use tproxy; then
- local CONFIG_CHECK="~NF_CONNTRACK ~NETFILTER_XT_MATCH_SOCKET ~NETFILTER_XT_TARGET_TPROXY"
- linux-info_pkg_setup
- fi
-}
-
-pkg_setup() {
- enewgroup squid
- enewuser squid -1 -1 /var/cache/squid squid
-}
-
-src_prepare() {
- eapply "${FILESDIR}/${PN}-4.3-gentoo.patch"
- sed -i -e 's:/usr/local/squid/etc:/etc/squid:' \
- INSTALL QUICKSTART \
- scripts/fileno-to-pathname.pl \
- scripts/check_cache.pl \
- tools/cachemgr.cgi.8 \
- tools/purge/conffile.hh \
- tools/purge/purge.1 || die
- sed -i -e 's:/usr/local/squid/sbin:/usr/sbin:' \
- INSTALL QUICKSTART || die
- sed -i -e 's:/usr/local/squid/var/cache:/var/cache/squid:' \
- QUICKSTART || die
- sed -i -e 's:/usr/local/squid/var/logs:/var/log/squid:' \
- QUICKSTART \
- src/log/access_log.cc || die
- sed -i -e 's:/usr/local/squid/logs:/var/log/squid:' \
- src/log/access_log.cc || die
- sed -i -e 's:/usr/local/squid/libexec:/usr/libexec/squid:' \
- src/acl/external/unix_group/ext_unix_group_acl.8 \
- src/acl/external/session/ext_session_acl.8 || die
- sed -i -e 's:/usr/local/squid/cache:/var/cache/squid:' \
- scripts/check_cache.pl || die
- # /var/run/squid to /run/squid
- sed -i -e 's:$(localstatedir)::' \
- src/ipc/Makefile.am || die
- sed -i -e 's:_LTDL_SETUP:LTDL_INIT([installable]):' \
- libltdl/configure.ac || die
-
- eapply_user
- eautoreconf
-}
-
-src_configure() {
- local basic_modules="NCSA,POP3,getpwnam"
- use samba && basic_modules+=",SMB"
- use ldap && basic_modules+=",SMB_LM,LDAP"
- use pam && basic_modules+=",PAM"
- use sasl && basic_modules+=",SASL"
- use nis && ! use elibc_uclibc && basic_modules+=",NIS"
- use radius && basic_modules+=",RADIUS"
- if use mysql || use postgres || use sqlite ; then
- basic_modules+=",DB"
- fi
-
- local digest_modules="file"
- use ldap && digest_modules+=",LDAP,eDirectory"
-
- local negotiate_modules="none"
- local myconf="--without-mit-krb5 --without-heimdal-krb5"
- if use kerberos ; then
- negotiate_modules="kerberos,wrapper"
- if has_version app-crypt/heimdal ; then
- myconf="--without-mit-krb5 --with-heimdal-krb5"
- else
- myconf="--with-mit-krb5 --without-heimdal-krb5"
- fi
- fi
-
- local ntlm_modules="none"
- use samba && ntlm_modules="SMB_LM"
-
- local ext_helpers="file_userip,session,unix_group,delayer,time_quota"
- use samba && ext_helpers+=",wbinfo_group"
- use ldap && ext_helpers+=",LDAP_group,eDirectory_userip"
- use ldap && use kerberos && ext_helpers+=",kerberos_ldap_group"
- if use mysql || use postgres || use sqlite ; then
- ext_helpers+=",SQL_session"
- fi
-
- local storeio_modules="aufs,diskd,rock,ufs"
-
- local transparent
- if use kernel_linux ; then
- transparent+=" --enable-linux-netfilter"
- use qos && transparent+=" --enable-zph-qos --with-netfilter-conntrack"
- fi
-
- if use kernel_FreeBSD || use kernel_OpenBSD || use kernel_NetBSD ; then
- transparent+=" $(use_enable kqueue)"
- if use pf-transparent; then
- transparent+=" --enable-pf-transparent"
- elif use ipf-transparent; then
- transparent+=" --enable-ipf-transparent"
- fi
- fi
-
- tc-export_build_env BUILD_CXX
- export BUILDCXX=${BUILD_CXX}
- export BUILDCXXFLAGS=${BUILD_CXXFLAGS}
- tc-export CC AR
-
- # Should be able to drop this workaround with newer versions.
- # https://bugs.squid-cache.org/show_bug.cgi?id=4224
- tc-is-cross-compiler && export squid_cv_gnu_atomics=no
-
- econf \
- --sysconfdir=/etc/squid \
- --libexecdir=/usr/libexec/squid \
- --localstatedir=/var \
- --with-pidfile=/run/squid.pid \
- --datadir=/usr/share/squid \
- --with-logdir=/var/log/squid \
- --with-default-user=squid \
- --enable-removal-policies="lru,heap" \
- --enable-storeio="${storeio_modules}" \
- --enable-disk-io \
- --enable-auth-basic="${basic_modules}" \
- --enable-auth-digest="${digest_modules}" \
- --enable-auth-ntlm="${ntlm_modules}" \
- --enable-auth-negotiate="${negotiate_modules}" \
- --enable-external-acl-helpers="${ext_helpers}" \
- --enable-log-daemon-helpers \
- --enable-url-rewrite-helpers \
- --enable-cache-digests \
- --enable-delay-pools \
- --enable-eui \
- --enable-icmp \
- --enable-follow-x-forwarded-for \
- --with-large-files \
- --with-build-environment=default \
- --disable-strict-error-checking \
- --disable-arch-native \
- --with-included-ltdl=/usr/include \
- --with-ltdl-libdir=/usr/$(get_libdir) \
- $(use_with caps libcap) \
- $(use_enable ipv6) \
- $(use_enable snmp) \
- $(use_with ssl openssl) \
- $(use_with ssl nettle) \
- $(use_with ssl gnutls) \
- $(use_enable ssl-crtd) \
- $(use_enable ecap) \
- $(use_enable esi) \
- $(use_enable htcp) \
- $(use_enable wccp) \
- $(use_enable wccpv2) \
- ${transparent} \
- ${myconf}
-}
-
-src_install() {
- default
-
- # need suid root for looking into /etc/shadow
- fowners root:squid /usr/libexec/squid/basic_ncsa_auth
- fperms 4750 /usr/libexec/squid/basic_ncsa_auth
- if use pam; then
- fowners root:squid /usr/libexec/squid/basic_pam_auth
- fperms 4750 /usr/libexec/squid/basic_pam_auth
- fi
- # pinger needs suid as well
- fowners root:squid /usr/libexec/squid/pinger
- fperms 4750 /usr/libexec/squid/pinger
-
- # these scripts depend on perl
- if ! use perl; then
- for f in basic_pop3_auth \
- ext_delayer_acl \
- helper-mux \
- log_db_daemon \
- security_fake_certverify \
- storeid_file_rewrite \
- url_lfs_rewrite; do
- rm "${D}"/usr/libexec/squid/${f} || die
- done
- fi
-
- # cleanup
- rm -r "${D}"/run "${D}"/var/cache || die
-
- dodoc CONTRIBUTORS CREDITS ChangeLog INSTALL QUICKSTART README SPONSORS doc/*.txt
- newdoc src/auth/negotiate/kerberos/README README.kerberos
- newdoc src/auth/basic/RADIUS/README README.RADIUS
- newdoc src/acl/external/kerberos_ldap_group/README README.kerberos_ldap_group
- dodoc RELEASENOTES.html
-
- newpamd "${FILESDIR}/squid.pam" squid
- newconfd "${FILESDIR}/squid.confd-r2" squid
- newinitd "${FILESDIR}/squid.initd-r5" squid
- if use logrotate; then
- insinto /etc/logrotate.d
- newins "${FILESDIR}/squid.logrotate" squid
- else
- exeinto /etc/cron.weekly
- newexe "${FILESDIR}/squid.cron" squid.cron
- fi
-
- diropts -m0750 -o squid -g squid
- keepdir /var/log/squid /etc/ssl/squid /var/lib/squid
-}
-
-pkg_postinst() {
- elog "A good starting point to debug Squid issues is to use 'squidclient mgr:' commands such as 'squidclient mgr:info'."
- if [ ${#r} -gt 0 ]; then
- elog "You are using a release with the official ${r} patch! Make sure you mention that, or send the output of 'squidclient mgr:info' when asking for support."
- fi
-}
diff --git a/net-proxy/squid/squid-6.5.ebuild b/net-proxy/squid/squid-6.5.ebuild
new file mode 100644
index 000000000000..d182d0e1c386
--- /dev/null
+++ b/net-proxy/squid/squid-6.5.ebuild
@@ -0,0 +1,386 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic linux-info pam systemd toolchain-funcs
+
+DESCRIPTION="Full-featured web proxy cache"
+HOMEPAGE="http://www.squid-cache.org/"
+
+MY_PV_MAJOR=$(ver_cut 1)
+# Upstream patch ID for the most recent bug-fixed update to the formal release.
+#r=-20181117-r0022167
+r=
+if [[ -z ${r} ]]; then
+ SRC_URI="http://static.squid-cache.org/Versions/v${MY_PV_MAJOR}/${P}.tar.xz"
+else
+ SRC_URI="http://static.squid-cache.org/Versions/v${MY_PV_MAJOR}/${P}${r}.tar.bz2"
+ S="${S}${r}"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="caps gnutls pam ldap samba sasl kerberos nis radius ssl snmp selinux logrotate test ecap"
+IUSE+=" esi ssl-crtd mysql postgres sqlite systemd perl qos tproxy +htcp valgrind +wccp +wccpv2"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="tproxy? ( caps ) qos? ( caps ) ssl-crtd? ( ssl )"
+
+DEPEND="
+ acct-group/squid
+ acct-user/squid
+ dev-libs/libltdl
+ sys-libs/tdb
+ virtual/libcrypt:=
+ caps? ( >=sys-libs/libcap-2.16 )
+ ecap? ( net-libs/libecap:1 )
+ esi? (
+ dev-libs/expat
+ dev-libs/libxml2
+ )
+ ldap? ( net-nds/openldap:= )
+ gnutls? ( >=net-libs/gnutls-3.1.5:= )
+ logrotate? ( app-admin/logrotate )
+ nis? (
+ net-libs/libtirpc:=
+ net-libs/libnsl:=
+ )
+ kerberos? ( virtual/krb5 )
+ pam? ( sys-libs/pam )
+ qos? ( net-libs/libnetfilter_conntrack )
+ ssl? (
+ dev-libs/nettle:=
+ !gnutls? (
+ dev-libs/openssl:=
+ )
+ )
+ sasl? ( dev-libs/cyrus-sasl )
+ systemd? ( sys-apps/systemd:= )
+"
+RDEPEND="
+ ${DEPEND}
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ perl? ( dev-lang/perl )
+ samba? ( net-fs/samba )
+ selinux? ( sec-policy/selinux-squid )
+ sqlite? ( dev-perl/DBD-SQLite )
+"
+DEPEND+=" valgrind? ( dev-debug/valgrind )"
+BDEPEND="
+ dev-lang/perl
+ ecap? ( virtual/pkgconfig )
+ test? ( dev-util/cppunit )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.2-gentoo.patch
+ "${FILESDIR}"/${PN}-4.17-use-system-libltdl.patch
+ "${FILESDIR}"/${PN}-6.4-gcc14-algorithm.patch
+)
+
+pkg_pretend() {
+ if use tproxy; then
+ local CONFIG_CHECK="~NF_CONNTRACK ~NETFILTER_XT_MATCH_SOCKET ~NETFILTER_XT_TARGET_TPROXY"
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Fixup various paths
+ sed -i -e 's:/usr/local/squid/etc:/etc/squid:' \
+ INSTALL QUICKSTART \
+ scripts/fileno-to-pathname.pl \
+ scripts/check_cache.pl \
+ tools/cachemgr.cgi.8 \
+ tools/purge/conffile.hh \
+ tools/purge/purge.1 || die
+ sed -i -e 's:/usr/local/squid/sbin:/usr/sbin:' \
+ INSTALL QUICKSTART || die
+ sed -i -e 's:/usr/local/squid/var/cache:/var/cache/squid:' \
+ QUICKSTART || die
+ sed -i -e 's:/usr/local/squid/var/logs:/var/log/squid:' \
+ QUICKSTART \
+ src/log/access_log.cc || die
+ sed -i -e 's:/usr/local/squid/logs:/var/log/squid:' \
+ src/log/access_log.cc || die
+ sed -i -e 's:/usr/local/squid/libexec:/usr/libexec/squid:' \
+ src/acl/external/unix_group/ext_unix_group_acl.8 \
+ src/acl/external/session/ext_session_acl.8 || die
+ sed -i -e 's:/usr/local/squid/cache:/var/cache/squid:' \
+ scripts/check_cache.pl || die
+ # /var/run/squid to /run/squid
+ sed -i -e 's:$(localstatedir)::' \
+ src/ipc/Makefile.am || die
+ sed -i 's:/var/run/:/run/:g' tools/systemd/squid.service || die
+
+ sed -i -e 's:_LTDL_SETUP:LTDL_INIT([installable]):' \
+ libltdl/configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --cache-file="${S}"/config.cache
+
+ --datadir=/usr/share/squid
+ --libexecdir=/usr/libexec/squid
+ --localstatedir=/var
+ --sysconfdir=/etc/squid
+ --with-default-user=squid
+ --with-logdir=/var/log/squid
+ --with-pidfile=/run/squid.pid
+
+ --enable-build-info="Gentoo ${PF} (r: ${r:-NONE})"
+ --enable-log-daemon-helpers
+ --enable-url-rewrite-helpers
+ --enable-cache-digests
+ --enable-delay-pools
+ --enable-disk-io
+ --enable-eui
+ --enable-icmp
+ --enable-ipv6
+ --enable-follow-x-forwarded-for
+ --enable-removal-policies="lru,heap"
+ --disable-strict-error-checking
+ --disable-arch-native
+
+ --with-large-files
+ --with-build-environment=default
+
+ --with-tdb
+
+ --without-included-ltdl
+ --with-ltdl-include="${ESYSROOT}"/usr/include
+ --with-ltdl-lib="${ESYSROOT}"/usr/$(get_libdir)
+
+ $(use_with caps cap)
+ $(use_enable snmp)
+ $(use_with ssl openssl)
+ $(use_with ssl nettle)
+ $(use_with gnutls)
+ $(use_with ldap)
+ $(use_enable ssl-crtd)
+ $(use_with systemd)
+ $(use_with test cppunit)
+ $(use_enable ecap)
+ $(use_enable esi)
+ $(use_enable esi expat)
+ $(use_enable esi xml2)
+ $(use_enable htcp)
+ $(use_with valgrind valgrind-debug)
+ $(use_enable wccp)
+ $(use_enable wccpv2)
+ )
+
+ # Basic modules
+ local basic_modules=(
+ NCSA
+ POP3
+ getpwnam
+
+ $(usev samba 'SMB')
+ $(usev ldap 'SMB_LM LDAP')
+ $(usev pam 'PAM')
+ $(usev sasl 'SASL')
+ $(usev nis 'NIS')
+ $(usev radius 'RADIUS')
+ )
+
+ use nis && append-cppflags "-I${ESYSROOT}/usr/include/tirpc"
+
+ if use mysql || use postgres || use sqlite; then
+ basic_modules+=( DB )
+ fi
+
+ # Digests
+ local digest_modules=(
+ file
+
+ $(usev ldap 'LDAP eDirectory')
+ )
+
+ # Kerberos
+ local negotiate_modules=( none )
+
+ myeconfargs+=( --without-mit-krb5 --without-heimdal-krb5 )
+
+ if use kerberos; then
+ # We intentionally overwrite negotiate_modules here to lose
+ # the 'none'.
+ negotiate_modules=( kerberos wrapper )
+
+ if has_version app-crypt/heimdal; then
+ myeconfargs+=(
+ --without-mit-krb5
+ --with-heimdal-krb5
+ )
+ else
+ myeconfargs+=(
+ --with-mit-krb5
+ --without-heimdal-krb5
+ )
+ fi
+ fi
+
+ # NTLM modules
+ local ntlm_modules=( none )
+
+ if use samba ; then
+ # We intentionally overwrite ntlm_modules here to lose
+ # the 'none'.
+ ntlm_modules=( SMB_LM )
+ fi
+
+ # External helpers
+ local ext_helpers=(
+ file_userip
+ session
+ unix_group
+ delayer
+ time_quota
+
+ $(usev samba 'wbinfo_group')
+ $(usev ldap 'LDAP_group eDirectory_userip')
+ )
+
+ use ldap && use kerberos && ext_helpers+=( kerberos_ldap_group )
+ if use mysql || use postgres || use sqlite; then
+ ext_helpers+=( SQL_session )
+ fi
+
+ # Storage modules
+ local storeio_modules=(
+ aufs
+ diskd
+ rock
+ ufs
+ )
+
+ #
+ local transparent
+ if use kernel_linux; then
+ myeconfargs+=(
+ --enable-linux-netfilter
+ $(usev qos '--enable-zph-qos --with-netfilter-conntrack')
+ )
+ fi
+
+ tc-export_build_env BUILD_CXX
+ export BUILDCXX="${BUILD_CXX}"
+ export BUILDCXXFLAGS="${BUILD_CXXFLAGS}"
+ tc-export CC AR
+
+ # Should be able to drop this workaround with newer versions.
+ # https://bugs.squid-cache.org/show_bug.cgi?id=4224
+ tc-is-cross-compiler && export squid_cv_gnu_atomics=no
+
+ # Bug #719662
+ append-atomic-flags
+
+ print_options_without_comma() {
+ # IFS as ',' will cut off any trailing commas
+ (
+ IFS=','
+ options=( $(printf "%s," "${@}") )
+ echo "${options[*]}"
+ )
+ }
+
+ myeconfargs+=(
+ --enable-storeio=$(print_options_without_comma "${storeio_modules[@]}")
+ --enable-auth-basic=$(print_options_without_comma "${basic_modules[@]}")
+ --enable-auth-digest=$(print_options_without_comma "${digest_modules[@]}")
+ --enable-auth-ntlm=$(print_options_without_comma "${ntlm_modules[@]}")
+ --enable-auth-negotiate=$(print_options_without_comma "${negotiate_modules[@]}")
+ --enable-external-acl-helpers=$(print_options_without_comma "${ext_helpers[@]}")
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ systemd_dounit tools/systemd/squid.service
+
+ # Need suid root for looking into /etc/shadow
+ fowners root:squid /usr/libexec/squid/basic_ncsa_auth
+ fperms 4750 /usr/libexec/squid/basic_ncsa_auth
+
+ if use pam; then
+ fowners root:squid /usr/libexec/squid/basic_pam_auth
+ fperms 4750 /usr/libexec/squid/basic_pam_auth
+ fi
+
+ # Pinger needs suid as well
+ fowners root:squid /usr/libexec/squid/pinger
+ fperms 4750 /usr/libexec/squid/pinger
+
+ # These scripts depend on perl
+ if ! use perl; then
+ local perl_scripts=(
+ basic_pop3_auth ext_delayer_acl helper-mux
+ log_db_daemon security_fake_certverify
+ storeid_file_rewrite url_lfs_rewrite
+ )
+
+ local script
+ for script in "${perl_scripts[@]}"; do
+ rm "${ED}"/usr/libexec/squid/${script} || die
+ done
+ fi
+
+ # Cleanup
+ rm -r "${D}"/run "${D}"/var/cache || die
+
+ dodoc CONTRIBUTORS CREDITS ChangeLog INSTALL QUICKSTART README SPONSORS doc/*.txt
+ newdoc src/auth/negotiate/kerberos/README README.kerberos
+ newdoc src/auth/basic/RADIUS/README README.RADIUS
+ newdoc src/acl/external/kerberos_ldap_group/README README.kerberos_ldap_group
+ dodoc RELEASENOTES.html
+
+ if use pam; then
+ newpamd "${FILESDIR}"/squid.pam squid
+ fi
+
+ newconfd "${FILESDIR}"/squid.confd-r2 squid
+ newinitd "${FILESDIR}"/squid.initd-r6 squid
+
+ if use logrotate ; then
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/squid.logrotate squid
+ else
+ exeinto /etc/cron.weekly
+ newexe "${FILESDIR}"/squid.cron squid.cron
+ fi
+
+ diropts -m0750 -o squid -g squid
+ keepdir /var/log/squid /etc/ssl/squid /var/lib/squid
+
+ # Hack for bug #834503 (see also bug #664940)
+ # Please keep this for a few years until it's no longer plausible
+ # someone is upgrading from < squid 5.7.
+ mv "${ED}"/usr/share/squid/errors{,.new} || die
+}
+
+pkg_preinst() {
+ # Remove file in EROOT that the directory collides with.
+ rm -rf "${EROOT}"/usr/share/squid/errors || die
+
+ # Following the collision protection check, reverse
+ # src_install's rename in ED.
+ mv "${ED}"/usr/share/squid/errors{.new,} || die
+}
+
+pkg_postinst() {
+ elog "A good starting point to debug Squid issues is to use 'squidclient mgr:' commands such as 'squidclient mgr:info'."
+
+ if [[ ${#r} -gt 0 ]]; then
+ elog "You are using a release with the official ${r} patch! Make sure you mention that, or send the output of 'squidclient mgr:info' when asking for support."
+ fi
+}
diff --git a/net-proxy/squid/squid-6.6.ebuild b/net-proxy/squid/squid-6.6.ebuild
new file mode 100644
index 000000000000..3f7036a1cbcc
--- /dev/null
+++ b/net-proxy/squid/squid-6.6.ebuild
@@ -0,0 +1,391 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/squid.gpg
+inherit autotools flag-o-matic linux-info pam systemd toolchain-funcs verify-sig
+
+DESCRIPTION="Full-featured web proxy cache"
+HOMEPAGE="http://www.squid-cache.org/"
+
+MY_PV_MAJOR=$(ver_cut 1)
+# Upstream patch ID for the most recent bug-fixed update to the formal release.
+#r=-20181117-r0022167
+r=
+if [[ -z ${r} ]]; then
+ SRC_URI="
+ http://static.squid-cache.org/Versions/v${MY_PV_MAJOR}/${P}.tar.xz
+ verify-sig? ( http://static.squid-cache.org/Versions/v${MY_PV_MAJOR}/${P}.tar.xz.asc )
+ "
+else
+ SRC_URI="http://static.squid-cache.org/Versions/v${MY_PV_MAJOR}/${P}${r}.tar.bz2"
+ S="${S}${r}"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="caps gnutls pam ldap samba sasl kerberos nis radius ssl snmp selinux logrotate test ecap"
+IUSE+=" esi ssl-crtd mysql postgres sqlite systemd perl qos tproxy +htcp valgrind +wccp +wccpv2"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="tproxy? ( caps ) qos? ( caps ) ssl-crtd? ( ssl )"
+
+DEPEND="
+ acct-group/squid
+ acct-user/squid
+ dev-libs/libltdl
+ sys-libs/tdb
+ virtual/libcrypt:=
+ caps? ( >=sys-libs/libcap-2.16 )
+ ecap? ( net-libs/libecap:1 )
+ esi? (
+ dev-libs/expat
+ dev-libs/libxml2
+ )
+ ldap? ( net-nds/openldap:= )
+ gnutls? ( >=net-libs/gnutls-3.1.5:= )
+ logrotate? ( app-admin/logrotate )
+ nis? (
+ net-libs/libtirpc:=
+ net-libs/libnsl:=
+ )
+ kerberos? ( virtual/krb5 )
+ pam? ( sys-libs/pam )
+ qos? ( net-libs/libnetfilter_conntrack )
+ ssl? (
+ dev-libs/nettle:=
+ !gnutls? (
+ dev-libs/openssl:=
+ )
+ )
+ sasl? ( dev-libs/cyrus-sasl )
+ systemd? ( sys-apps/systemd:= )
+"
+RDEPEND="
+ ${DEPEND}
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ perl? ( dev-lang/perl )
+ samba? ( net-fs/samba )
+ selinux? ( sec-policy/selinux-squid )
+ sqlite? ( dev-perl/DBD-SQLite )
+"
+DEPEND+=" valgrind? ( dev-debug/valgrind )"
+BDEPEND="
+ dev-lang/perl
+ ecap? ( virtual/pkgconfig )
+ test? ( dev-util/cppunit )
+ verify-sig? ( sec-keys/openpgp-keys-squid )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.2-gentoo.patch
+ "${FILESDIR}"/${PN}-4.17-use-system-libltdl.patch
+ "${FILESDIR}"/${PN}-6.4-gcc14-algorithm.patch
+)
+
+pkg_pretend() {
+ if use tproxy; then
+ local CONFIG_CHECK="~NF_CONNTRACK ~NETFILTER_XT_MATCH_SOCKET ~NETFILTER_XT_TARGET_TPROXY"
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Fixup various paths
+ sed -i -e 's:/usr/local/squid/etc:/etc/squid:' \
+ INSTALL QUICKSTART \
+ scripts/fileno-to-pathname.pl \
+ scripts/check_cache.pl \
+ tools/cachemgr.cgi.8 \
+ tools/purge/conffile.hh \
+ tools/purge/purge.1 || die
+ sed -i -e 's:/usr/local/squid/sbin:/usr/sbin:' \
+ INSTALL QUICKSTART || die
+ sed -i -e 's:/usr/local/squid/var/cache:/var/cache/squid:' \
+ QUICKSTART || die
+ sed -i -e 's:/usr/local/squid/var/logs:/var/log/squid:' \
+ QUICKSTART \
+ src/log/access_log.cc || die
+ sed -i -e 's:/usr/local/squid/logs:/var/log/squid:' \
+ src/log/access_log.cc || die
+ sed -i -e 's:/usr/local/squid/libexec:/usr/libexec/squid:' \
+ src/acl/external/unix_group/ext_unix_group_acl.8 \
+ src/acl/external/session/ext_session_acl.8 || die
+ sed -i -e 's:/usr/local/squid/cache:/var/cache/squid:' \
+ scripts/check_cache.pl || die
+ # /var/run/squid to /run/squid
+ sed -i -e 's:$(localstatedir)::' \
+ src/ipc/Makefile.am || die
+ sed -i 's:/var/run/:/run/:g' tools/systemd/squid.service || die
+
+ sed -i -e 's:_LTDL_SETUP:LTDL_INIT([installable]):' \
+ libltdl/configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --cache-file="${S}"/config.cache
+
+ --datadir=/usr/share/squid
+ --libexecdir=/usr/libexec/squid
+ --localstatedir=/var
+ --sysconfdir=/etc/squid
+ --with-default-user=squid
+ --with-logdir=/var/log/squid
+ --with-pidfile=/run/squid.pid
+
+ --enable-build-info="Gentoo ${PF} (r: ${r:-NONE})"
+ --enable-log-daemon-helpers
+ --enable-url-rewrite-helpers
+ --enable-cache-digests
+ --enable-delay-pools
+ --enable-disk-io
+ --enable-eui
+ --enable-icmp
+ --enable-ipv6
+ --enable-follow-x-forwarded-for
+ --enable-removal-policies="lru,heap"
+ --disable-strict-error-checking
+ --disable-arch-native
+
+ --with-large-files
+ --with-build-environment=default
+
+ --with-tdb
+
+ --without-included-ltdl
+ --with-ltdl-include="${ESYSROOT}"/usr/include
+ --with-ltdl-lib="${ESYSROOT}"/usr/$(get_libdir)
+
+ $(use_with caps cap)
+ $(use_enable snmp)
+ $(use_with ssl openssl)
+ $(use_with ssl nettle)
+ $(use_with gnutls)
+ $(use_with ldap)
+ $(use_enable ssl-crtd)
+ $(use_with systemd)
+ $(use_with test cppunit)
+ $(use_enable ecap)
+ $(use_enable esi)
+ $(use_enable esi expat)
+ $(use_enable esi xml2)
+ $(use_enable htcp)
+ $(use_with valgrind valgrind-debug)
+ $(use_enable wccp)
+ $(use_enable wccpv2)
+ )
+
+ # Basic modules
+ local basic_modules=(
+ NCSA
+ POP3
+ getpwnam
+
+ $(usev samba 'SMB')
+ $(usev ldap 'SMB_LM LDAP')
+ $(usev pam 'PAM')
+ $(usev sasl 'SASL')
+ $(usev nis 'NIS')
+ $(usev radius 'RADIUS')
+ )
+
+ use nis && append-cppflags "-I${ESYSROOT}/usr/include/tirpc"
+
+ if use mysql || use postgres || use sqlite; then
+ basic_modules+=( DB )
+ fi
+
+ # Digests
+ local digest_modules=(
+ file
+
+ $(usev ldap 'LDAP eDirectory')
+ )
+
+ # Kerberos
+ local negotiate_modules=( none )
+
+ myeconfargs+=( --without-mit-krb5 --without-heimdal-krb5 )
+
+ if use kerberos; then
+ # We intentionally overwrite negotiate_modules here to lose
+ # the 'none'.
+ negotiate_modules=( kerberos wrapper )
+
+ if has_version app-crypt/heimdal; then
+ myeconfargs+=(
+ --without-mit-krb5
+ --with-heimdal-krb5
+ )
+ else
+ myeconfargs+=(
+ --with-mit-krb5
+ --without-heimdal-krb5
+ )
+ fi
+ fi
+
+ # NTLM modules
+ local ntlm_modules=( none )
+
+ if use samba ; then
+ # We intentionally overwrite ntlm_modules here to lose
+ # the 'none'.
+ ntlm_modules=( SMB_LM )
+ fi
+
+ # External helpers
+ local ext_helpers=(
+ file_userip
+ session
+ unix_group
+ delayer
+ time_quota
+
+ $(usev samba 'wbinfo_group')
+ $(usev ldap 'LDAP_group eDirectory_userip')
+ )
+
+ use ldap && use kerberos && ext_helpers+=( kerberos_ldap_group )
+ if use mysql || use postgres || use sqlite; then
+ ext_helpers+=( SQL_session )
+ fi
+
+ # Storage modules
+ local storeio_modules=(
+ aufs
+ diskd
+ rock
+ ufs
+ )
+
+ #
+ local transparent
+ if use kernel_linux; then
+ myeconfargs+=(
+ --enable-linux-netfilter
+ $(usev qos '--enable-zph-qos --with-netfilter-conntrack')
+ )
+ fi
+
+ tc-export_build_env BUILD_CXX
+ export BUILDCXX="${BUILD_CXX}"
+ export BUILDCXXFLAGS="${BUILD_CXXFLAGS}"
+ tc-export CC AR
+
+ # Should be able to drop this workaround with newer versions.
+ # https://bugs.squid-cache.org/show_bug.cgi?id=4224
+ tc-is-cross-compiler && export squid_cv_gnu_atomics=no
+
+ # Bug #719662
+ append-atomic-flags
+
+ print_options_without_comma() {
+ # IFS as ',' will cut off any trailing commas
+ (
+ IFS=','
+ options=( $(printf "%s," "${@}") )
+ echo "${options[*]}"
+ )
+ }
+
+ myeconfargs+=(
+ --enable-storeio=$(print_options_without_comma "${storeio_modules[@]}")
+ --enable-auth-basic=$(print_options_without_comma "${basic_modules[@]}")
+ --enable-auth-digest=$(print_options_without_comma "${digest_modules[@]}")
+ --enable-auth-ntlm=$(print_options_without_comma "${ntlm_modules[@]}")
+ --enable-auth-negotiate=$(print_options_without_comma "${negotiate_modules[@]}")
+ --enable-external-acl-helpers=$(print_options_without_comma "${ext_helpers[@]}")
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ systemd_dounit tools/systemd/squid.service
+
+ # Need suid root for looking into /etc/shadow
+ fowners root:squid /usr/libexec/squid/basic_ncsa_auth
+ fperms 4750 /usr/libexec/squid/basic_ncsa_auth
+
+ if use pam; then
+ fowners root:squid /usr/libexec/squid/basic_pam_auth
+ fperms 4750 /usr/libexec/squid/basic_pam_auth
+ fi
+
+ # Pinger needs suid as well
+ fowners root:squid /usr/libexec/squid/pinger
+ fperms 4750 /usr/libexec/squid/pinger
+
+ # These scripts depend on perl
+ if ! use perl; then
+ local perl_scripts=(
+ basic_pop3_auth ext_delayer_acl helper-mux
+ log_db_daemon security_fake_certverify
+ storeid_file_rewrite url_lfs_rewrite
+ )
+
+ local script
+ for script in "${perl_scripts[@]}"; do
+ rm "${ED}"/usr/libexec/squid/${script} || die
+ done
+ fi
+
+ # Cleanup
+ rm -r "${D}"/run "${D}"/var/cache || die
+
+ dodoc CONTRIBUTORS CREDITS ChangeLog INSTALL QUICKSTART README SPONSORS doc/*.txt
+ newdoc src/auth/negotiate/kerberos/README README.kerberos
+ newdoc src/auth/basic/RADIUS/README README.RADIUS
+ newdoc src/acl/external/kerberos_ldap_group/README README.kerberos_ldap_group
+ dodoc RELEASENOTES.html
+
+ if use pam; then
+ newpamd "${FILESDIR}"/squid.pam squid
+ fi
+
+ newconfd "${FILESDIR}"/squid.confd-r2 squid
+ newinitd "${FILESDIR}"/squid.initd-r6 squid
+
+ if use logrotate ; then
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/squid.logrotate squid
+ else
+ exeinto /etc/cron.weekly
+ newexe "${FILESDIR}"/squid.cron squid.cron
+ fi
+
+ diropts -m0750 -o squid -g squid
+ keepdir /var/log/squid /etc/ssl/squid /var/lib/squid
+
+ # Hack for bug #834503 (see also bug #664940)
+ # Please keep this for a few years until it's no longer plausible
+ # someone is upgrading from < squid 5.7.
+ mv "${ED}"/usr/share/squid/errors{,.new} || die
+}
+
+pkg_preinst() {
+ # Remove file in EROOT that the directory collides with.
+ rm -rf "${EROOT}"/usr/share/squid/errors || die
+
+ # Following the collision protection check, reverse
+ # src_install's rename in ED.
+ mv "${ED}"/usr/share/squid/errors{.new,} || die
+}
+
+pkg_postinst() {
+ elog "A good starting point to debug Squid issues is to use 'squidclient mgr:' commands such as 'squidclient mgr:info'."
+
+ if [[ ${#r} -gt 0 ]]; then
+ elog "You are using a release with the official ${r} patch! Make sure you mention that, or send the output of 'squidclient mgr:info' when asking for support."
+ fi
+}
diff --git a/net-proxy/squid/squid-6.7.ebuild b/net-proxy/squid/squid-6.7.ebuild
new file mode 100644
index 000000000000..0f87a54910f4
--- /dev/null
+++ b/net-proxy/squid/squid-6.7.ebuild
@@ -0,0 +1,391 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/squid.gpg
+inherit autotools flag-o-matic linux-info pam systemd toolchain-funcs verify-sig
+
+DESCRIPTION="Full-featured web proxy cache"
+HOMEPAGE="http://www.squid-cache.org/"
+
+MY_PV_MAJOR=$(ver_cut 1)
+# Upstream patch ID for the most recent bug-fixed update to the formal release.
+#r=-20181117-r0022167
+r=
+if [[ -z ${r} ]]; then
+ SRC_URI="
+ http://static.squid-cache.org/Versions/v${MY_PV_MAJOR}/${P}.tar.xz
+ verify-sig? ( http://static.squid-cache.org/Versions/v${MY_PV_MAJOR}/${P}.tar.xz.asc )
+ "
+else
+ SRC_URI="http://static.squid-cache.org/Versions/v${MY_PV_MAJOR}/${P}${r}.tar.bz2"
+ S="${S}${r}"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="caps gnutls pam ldap samba sasl kerberos nis radius ssl snmp selinux logrotate test ecap"
+IUSE+=" esi ssl-crtd mysql postgres sqlite systemd perl qos tproxy +htcp valgrind +wccp +wccpv2"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="tproxy? ( caps ) qos? ( caps ) ssl-crtd? ( ssl )"
+
+DEPEND="
+ acct-group/squid
+ acct-user/squid
+ dev-libs/libltdl
+ sys-libs/tdb
+ virtual/libcrypt:=
+ caps? ( >=sys-libs/libcap-2.16 )
+ ecap? ( net-libs/libecap:1 )
+ esi? (
+ dev-libs/expat
+ dev-libs/libxml2
+ )
+ ldap? ( net-nds/openldap:= )
+ gnutls? ( >=net-libs/gnutls-3.1.5:= )
+ logrotate? ( app-admin/logrotate )
+ nis? (
+ net-libs/libtirpc:=
+ net-libs/libnsl:=
+ )
+ kerberos? ( virtual/krb5 )
+ pam? ( sys-libs/pam )
+ qos? ( net-libs/libnetfilter_conntrack )
+ ssl? (
+ dev-libs/nettle:=
+ !gnutls? (
+ dev-libs/openssl:=
+ )
+ )
+ sasl? ( dev-libs/cyrus-sasl )
+ systemd? ( sys-apps/systemd:= )
+"
+RDEPEND="
+ ${DEPEND}
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ perl? ( dev-lang/perl )
+ samba? ( net-fs/samba )
+ selinux? ( sec-policy/selinux-squid )
+ sqlite? ( dev-perl/DBD-SQLite )
+"
+DEPEND+=" valgrind? ( dev-debug/valgrind )"
+BDEPEND="
+ dev-lang/perl
+ ecap? ( virtual/pkgconfig )
+ test? ( dev-util/cppunit )
+ verify-sig? ( sec-keys/openpgp-keys-squid )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.2-gentoo.patch
+ "${FILESDIR}"/${PN}-4.17-use-system-libltdl.patch
+ "${FILESDIR}"/${PN}-6.4-gcc14-algorithm.patch
+)
+
+pkg_pretend() {
+ if use tproxy; then
+ local CONFIG_CHECK="~NF_CONNTRACK ~NETFILTER_XT_MATCH_SOCKET ~NETFILTER_XT_TARGET_TPROXY"
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Fixup various paths
+ sed -i -e 's:/usr/local/squid/etc:/etc/squid:' \
+ INSTALL QUICKSTART \
+ scripts/fileno-to-pathname.pl \
+ scripts/check_cache.pl \
+ tools/cachemgr.cgi.8 \
+ tools/purge/conffile.hh \
+ tools/purge/purge.1 || die
+ sed -i -e 's:/usr/local/squid/sbin:/usr/sbin:' \
+ INSTALL QUICKSTART || die
+ sed -i -e 's:/usr/local/squid/var/cache:/var/cache/squid:' \
+ QUICKSTART || die
+ sed -i -e 's:/usr/local/squid/var/logs:/var/log/squid:' \
+ QUICKSTART \
+ src/log/access_log.cc || die
+ sed -i -e 's:/usr/local/squid/logs:/var/log/squid:' \
+ src/log/access_log.cc || die
+ sed -i -e 's:/usr/local/squid/libexec:/usr/libexec/squid:' \
+ src/acl/external/unix_group/ext_unix_group_acl.8 \
+ src/acl/external/session/ext_session_acl.8 || die
+ sed -i -e 's:/usr/local/squid/cache:/var/cache/squid:' \
+ scripts/check_cache.pl || die
+ # /var/run/squid to /run/squid
+ sed -i -e 's:$(localstatedir)::' \
+ src/ipc/Makefile.am || die
+ sed -i 's:/var/run/:/run/:g' tools/systemd/squid.service || die
+
+ sed -i -e 's:_LTDL_SETUP:LTDL_INIT([installable]):' \
+ libltdl/configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --cache-file="${S}"/config.cache
+
+ --datadir=/usr/share/squid
+ --libexecdir=/usr/libexec/squid
+ --localstatedir=/var
+ --sysconfdir=/etc/squid
+ --with-default-user=squid
+ --with-logdir=/var/log/squid
+ --with-pidfile=/run/squid.pid
+
+ --enable-build-info="Gentoo ${PF} (r: ${r:-NONE})"
+ --enable-log-daemon-helpers
+ --enable-url-rewrite-helpers
+ --enable-cache-digests
+ --enable-delay-pools
+ --enable-disk-io
+ --enable-eui
+ --enable-icmp
+ --enable-ipv6
+ --enable-follow-x-forwarded-for
+ --enable-removal-policies="lru,heap"
+ --disable-strict-error-checking
+ --disable-arch-native
+
+ --with-large-files
+ --with-build-environment=default
+
+ --with-tdb
+
+ --without-included-ltdl
+ --with-ltdl-include="${ESYSROOT}"/usr/include
+ --with-ltdl-lib="${ESYSROOT}"/usr/$(get_libdir)
+
+ $(use_with caps cap)
+ $(use_enable snmp)
+ $(use_with ssl openssl)
+ $(use_with ssl nettle)
+ $(use_with gnutls)
+ $(use_with ldap)
+ $(use_enable ssl-crtd)
+ $(use_with systemd)
+ $(use_with test cppunit)
+ $(use_enable ecap)
+ $(use_enable esi)
+ $(use_enable esi expat)
+ $(use_enable esi xml2)
+ $(use_enable htcp)
+ $(use_with valgrind valgrind-debug)
+ $(use_enable wccp)
+ $(use_enable wccpv2)
+ )
+
+ # Basic modules
+ local basic_modules=(
+ NCSA
+ POP3
+ getpwnam
+
+ $(usev samba 'SMB')
+ $(usev ldap 'SMB_LM LDAP')
+ $(usev pam 'PAM')
+ $(usev sasl 'SASL')
+ $(usev nis 'NIS')
+ $(usev radius 'RADIUS')
+ )
+
+ use nis && append-cppflags "-I${ESYSROOT}/usr/include/tirpc"
+
+ if use mysql || use postgres || use sqlite; then
+ basic_modules+=( DB )
+ fi
+
+ # Digests
+ local digest_modules=(
+ file
+
+ $(usev ldap 'LDAP eDirectory')
+ )
+
+ # Kerberos
+ local negotiate_modules=( none )
+
+ myeconfargs+=( --without-mit-krb5 --without-heimdal-krb5 )
+
+ if use kerberos; then
+ # We intentionally overwrite negotiate_modules here to lose
+ # the 'none'.
+ negotiate_modules=( kerberos wrapper )
+
+ if has_version app-crypt/heimdal; then
+ myeconfargs+=(
+ --without-mit-krb5
+ --with-heimdal-krb5
+ )
+ else
+ myeconfargs+=(
+ --with-mit-krb5
+ --without-heimdal-krb5
+ )
+ fi
+ fi
+
+ # NTLM modules
+ local ntlm_modules=( none )
+
+ if use samba ; then
+ # We intentionally overwrite ntlm_modules here to lose
+ # the 'none'.
+ ntlm_modules=( SMB_LM )
+ fi
+
+ # External helpers
+ local ext_helpers=(
+ file_userip
+ session
+ unix_group
+ delayer
+ time_quota
+
+ $(usev samba 'wbinfo_group')
+ $(usev ldap 'LDAP_group eDirectory_userip')
+ )
+
+ use ldap && use kerberos && ext_helpers+=( kerberos_ldap_group )
+ if use mysql || use postgres || use sqlite; then
+ ext_helpers+=( SQL_session )
+ fi
+
+ # Storage modules
+ local storeio_modules=(
+ aufs
+ diskd
+ rock
+ ufs
+ )
+
+ #
+ local transparent
+ if use kernel_linux; then
+ myeconfargs+=(
+ --enable-linux-netfilter
+ $(usev qos '--enable-zph-qos --with-netfilter-conntrack')
+ )
+ fi
+
+ tc-export_build_env BUILD_CXX
+ export BUILDCXX="${BUILD_CXX}"
+ export BUILDCXXFLAGS="${BUILD_CXXFLAGS}"
+ tc-export CC AR
+
+ # Should be able to drop this workaround with newer versions.
+ # https://bugs.squid-cache.org/show_bug.cgi?id=4224
+ tc-is-cross-compiler && export squid_cv_gnu_atomics=no
+
+ # Bug #719662
+ append-atomic-flags
+
+ print_options_without_comma() {
+ # IFS as ',' will cut off any trailing commas
+ (
+ IFS=','
+ options=( $(printf "%s," "${@}") )
+ echo "${options[*]}"
+ )
+ }
+
+ myeconfargs+=(
+ --enable-storeio=$(print_options_without_comma "${storeio_modules[@]}")
+ --enable-auth-basic=$(print_options_without_comma "${basic_modules[@]}")
+ --enable-auth-digest=$(print_options_without_comma "${digest_modules[@]}")
+ --enable-auth-ntlm=$(print_options_without_comma "${ntlm_modules[@]}")
+ --enable-auth-negotiate=$(print_options_without_comma "${negotiate_modules[@]}")
+ --enable-external-acl-helpers=$(print_options_without_comma "${ext_helpers[@]}")
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ systemd_dounit tools/systemd/squid.service
+
+ # Need suid root for looking into /etc/shadow
+ fowners root:squid /usr/libexec/squid/basic_ncsa_auth
+ fperms 4750 /usr/libexec/squid/basic_ncsa_auth
+
+ if use pam; then
+ fowners root:squid /usr/libexec/squid/basic_pam_auth
+ fperms 4750 /usr/libexec/squid/basic_pam_auth
+ fi
+
+ # Pinger needs suid as well
+ fowners root:squid /usr/libexec/squid/pinger
+ fperms 4750 /usr/libexec/squid/pinger
+
+ # These scripts depend on perl
+ if ! use perl; then
+ local perl_scripts=(
+ basic_pop3_auth ext_delayer_acl helper-mux
+ log_db_daemon security_fake_certverify
+ storeid_file_rewrite url_lfs_rewrite
+ )
+
+ local script
+ for script in "${perl_scripts[@]}"; do
+ rm "${ED}"/usr/libexec/squid/${script} || die
+ done
+ fi
+
+ # Cleanup
+ rm -r "${D}"/run "${D}"/var/cache || die
+
+ dodoc CONTRIBUTORS CREDITS ChangeLog INSTALL QUICKSTART README SPONSORS doc/*.txt
+ newdoc src/auth/negotiate/kerberos/README README.kerberos
+ newdoc src/auth/basic/RADIUS/README README.RADIUS
+ newdoc src/acl/external/kerberos_ldap_group/README README.kerberos_ldap_group
+ dodoc RELEASENOTES.html
+
+ if use pam; then
+ newpamd "${FILESDIR}"/squid.pam squid
+ fi
+
+ newconfd "${FILESDIR}"/squid.confd-r2 squid
+ newinitd "${FILESDIR}"/squid.initd-r6 squid
+
+ if use logrotate ; then
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/squid.logrotate squid
+ else
+ exeinto /etc/cron.weekly
+ newexe "${FILESDIR}"/squid.cron squid.cron
+ fi
+
+ diropts -m0750 -o squid -g squid
+ keepdir /var/log/squid /etc/ssl/squid /var/lib/squid
+
+ # Hack for bug #834503 (see also bug #664940)
+ # Please keep this for a few years until it's no longer plausible
+ # someone is upgrading from < squid 5.7.
+ mv "${ED}"/usr/share/squid/errors{,.new} || die
+}
+
+pkg_preinst() {
+ # Remove file in EROOT that the directory collides with.
+ rm -rf "${EROOT}"/usr/share/squid/errors || die
+
+ # Following the collision protection check, reverse
+ # src_install's rename in ED.
+ mv "${ED}"/usr/share/squid/errors{.new,} || die
+}
+
+pkg_postinst() {
+ elog "A good starting point to debug Squid issues is to use 'squidclient mgr:' commands such as 'squidclient mgr:info'."
+
+ if [[ ${#r} -gt 0 ]]; then
+ elog "You are using a release with the official ${r} patch! Make sure you mention that, or send the output of 'squidclient mgr:info' when asking for support."
+ fi
+}
diff --git a/net-proxy/squidguard/Manifest b/net-proxy/squidguard/Manifest
index 42063dcb7950..7deddebc4372 100644
--- a/net-proxy/squidguard/Manifest
+++ b/net-proxy/squidguard/Manifest
@@ -1 +1 @@
-DIST squidGuard-1.5-beta.tar.gz 1983030 BLAKE2B 60405e097babb15eb099649d4ffe23a798207c6d3ac490b8c0c7da777a0136fecb867537214aa90c58ff246a86a0cf7ce59b021e29071ecc43ad002f3a0e3def SHA512 37ddc2ac82596e9d24aac6a610763f2eeb7c15b3a2d7babb85948e1da912aebb1dc85309766f7d8c3d7c22713e24a51f4cdef4520117a03d839662ef2494b6e7
+DIST squidguard-1.6.0.tar.gz 1902233 BLAKE2B 36b422fb2424c79532e0d9dc237b4a60b7817190a45de3646a50031b341c5e94540f55adea7b3e8241b8d87fdec551c5c40d1f60ea90e25347305ef9e473b5d3 SHA512 d6e934f550cd777d58abda5f4fd905ccc396afc28e1ddb0bb842a9a3364cbe43db5c30834fe1ed7d93623a361dde50362a79ac2b660382c7e81b4f067f2ac65e
diff --git a/net-proxy/squidguard/files/squidguard-1.5_beta-gentoo.patch b/net-proxy/squidguard/files/squidguard-1.5_beta-gentoo.patch
deleted file mode 100644
index 814079764a3f..000000000000
--- a/net-proxy/squidguard/files/squidguard-1.5_beta-gentoo.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -Nru squidGuard-1.4.orig/Makefile.in squidGuard-1.4/Makefile.in
---- squidGuard-1.4.orig/Makefile.in 2008-05-17 18:36:44.000000000 +0000
-+++ squidGuard-1.4/Makefile.in 2009-01-10 13:02:14.000000000 +0000
-@@ -43,7 +43,7 @@
- # Dependencies for installing
- #
-
--install: install-build install-conf
-+install: install-build
-
- install-conf:
- @echo Installing configuration file ;
-@@ -85,10 +85,10 @@
-
- install-build:
- @echo Installing squidGuard
-- @if [ ! -d $(bindir) ]; then \
-- $(MKINSTALLDIRS) $(bindir) ; \
-+ @if [ ! -d "$(INSTDIR)"/$(bindir) ]; then \
-+ $(MKINSTALLDIRS) "$(INSTDIR)"/$(bindir) ; \
- fi ; \
-- cp src/squidGuard $(bindir) || exit 1 ; \
-+ cp src/squidGuard "$(INSTDIR)"/$(bindir) || exit 1 ; \
- echo Done. ;
-
- clean::
-diff -Nru squidGuard-1.4.orig/src/Makefile.in squidGuard-1.4/src/Makefile.in
---- squidGuard-1.4.orig/src/Makefile.in 2009-01-03 20:05:39.000000000 +0000
-+++ squidGuard-1.4/src/Makefile.in 2009-01-10 13:02:14.000000000 +0000
-@@ -110,6 +110,8 @@
- mv -f y.tab.c y.tab.c.bison
- mv -f y.tab.h y.tab.h.bison
-
-+sg.y sg.l:
-+
- #
- # Dependencies for installing
- #
-@@ -122,8 +124,8 @@
-
- install.bin:: squidGuard
- @echo making $@ in `basename \`pwd\``
-- @$(MKDIR) $(bindir) $(logdir) $(cfgdir)
-- $(INSTALL_PROGRAM) squidGuard $(bindir)/squidGuard
-+ @$(MKDIR) "$(INSTDIR)"/$(bindir) "$(INSTDIR)"/$(logdir) "$(INSTDIR)"/$(cfgdir)
-+ $(INSTALL_PROGRAM) squidGuard "$(INSTDIR)"/$(bindir)/squidGuard
-
- uninstall.bin::
- @echo making $@ in `basename \`pwd\``
-diff -Nru squidGuard-1.4.orig/src/sgDb.c squidGuard-1.4/src/sgDb.c
diff --git a/net-proxy/squidguard/files/squidguard-1.5_beta-protocol.patch b/net-proxy/squidguard/files/squidguard-1.5_beta-protocol.patch
deleted file mode 100644
index 289fc7563b72..000000000000
--- a/net-proxy/squidguard/files/squidguard-1.5_beta-protocol.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-Patch for compatibility with new(>=3.4) Squid helper protocol
-
-Bugreport: http://bugs.squid-cache.org/show_bug.cgi?id=3978
-
-diff -ur squidGuard-1.5-beta.orig/src/main.c squidGuard-1.5-beta/src/main.c
---- squidGuard-1.5-beta.orig/src/main.c 2013-12-12 11:47:31.000000000 +1300
-+++ squidGuard-1.5-beta/src/main.c 2013-12-12 11:50:38.000000000 +1300
-@@ -185,7 +185,7 @@
- sgReloadConfig();
- }
- if(failsafe_mode) {
-- puts("");
-+ puts("ERR message=\"squidGuard failsafe mode\"");
- fflush(stdout);
- if(sig_hup){
- sgReloadConfig();
-@@ -194,7 +194,7 @@
- }
- if(parseLine(buf,&squidInfo) != 1){
- sgLogError("ERROR: Error parsing squid line: %s",buf);
-- puts("");
-+ puts("BH message=\"squidGuard error parsing squid line\"");
- }
- else {
- src = Source;
-@@ -206,14 +206,14 @@
- acl = sgAclCheckSource(src);
- if((redirect = sgAclAccess(src,acl,&squidInfo)) == NULL){
- if(src == NULL || src->cont_search == 0){
-- puts("");
-+ puts("ERR");
- break;
- } else
- if(src->next != NULL){
- src = src->next;
- continue;
- } else {
-- puts("");
-+ puts("ERR");
- break;
- }
- } else {
-@@ -228,6 +228,10 @@
- fprintf(stdout,"%s %s/%s %s %s\n",redirect,squidInfo.src,
- squidInfo.srcDomain,squidInfo.ident,
- squidInfo.method);
-+ if (isdigit(redirect[0]) && isdigit(redirect[1]) && isdigit(redirect[2]) && redirect[3]==':') {
-+ fprintf(stdout,"OK status=%c%c%c url=\"%s\"\n", redirect[0], redirect[1], redirect[2], &redirect[4]);
-+ } else
-+ fprintf(stdout,"OK rewrite-url=\"%s\"\n",redirect);
- /* sgLogDebug("DEBUG: %s %s/%s %s %s\n",redirect,squidInfo.src,squidInfo.srcDomain,squidInfo.ident,squidInfo.method); */
- break;
- }
-diff -ur squidGuard-1.5-beta.orig/src/main.c.in squidGuard-1.5-beta/src/main.c.in
---- squidGuard-1.5-beta.orig/src/main.c.in 2013-12-12 11:47:31.000000000 +1300
-+++ squidGuard-1.5-beta/src/main.c.in 2013-12-12 11:53:18.000000000 +1300
-@@ -185,7 +185,7 @@
- sgReloadConfig();
- }
- if(failsafe_mode) {
-- puts("");
-+ puts("ERR message=\"squidGuard failsafe mode\"");
- fflush(stdout);
- if(sig_hup){
- sgReloadConfig();
-@@ -194,7 +194,7 @@
- }
- if(parseLine(buf,&squidInfo) != 1){
- sgLogError("ERROR: Error parsing squid line: %s",buf);
-- puts("");
-+ puts("BH message=\"squidGuard error parsing squid line\"");
- }
- else {
- src = Source;
-@@ -206,14 +206,14 @@
- acl = sgAclCheckSource(src);
- if((redirect = sgAclAccess(src,acl,&squidInfo)) == NULL){
- if(src == NULL || src->cont_search == 0){
-- puts("");
-+ puts("ERR");
- break;
- } else
- if(src->next != NULL){
- src = src->next;
- continue;
- } else {
-- puts("");
-+ puts("ERR");
- break;
- }
- } else {
-@@ -225,9 +225,11 @@
- squidInfo.ident[0] = '-';
- squidInfo.ident[1] = '\0';
- }
-- fprintf(stdout,"%s %s/%s %s %s\n",redirect,squidInfo.src,
-- squidInfo.srcDomain,squidInfo.ident,
-- squidInfo.method);
-+ if (isdigit(redirect[0]) && isdigit(redirect[1]) && isdigit(redirect[2]) && redirect[3]==':') {
-+ fprintf(stdout,"OK status=%c%c%c url=\"%s\"\n", redirect[0], redirect[1], redirect[2], &redirect[4]);
-+ } else
-+ fprintf(stdout,"OK rewrite-url=\"%s\"\n",redirect);
-+
- /* sgLogDebug("DEBUG: %s %s/%s %s %s\n",redirect,squidInfo.src,squidInfo.srcDomain,squidInfo.ident,squidInfo.method); */
- break;
- }
-diff -ur squidGuard-1.5-beta.orig/src/sgDiv.c squidGuard-1.5-beta/src/sgDiv.c
---- squidGuard-1.5-beta.orig/src/sgDiv.c 2013-12-12 11:47:31.000000000 +1300
-+++ squidGuard-1.5-beta/src/sgDiv.c 2013-12-12 11:48:36.000000000 +1300
-@@ -782,7 +782,7 @@
- }
- sgLogError("ERROR: Going into emergency mode");
- while(fgets(buf, MAX_BUF, stdin) != NULL){
-- puts("");
-+ puts("ERR");
- fflush(stdout);
- }
- sgLogError("ERROR: Ending emergency mode, stdin empty");
-diff -ur squidGuard-1.5-beta.orig/src/sgDiv.c.in squidGuard-1.5-beta/src/sgDiv.c.in
---- squidGuard-1.5-beta.orig/src/sgDiv.c.in 2013-12-12 11:47:31.000000000 +1300
-+++ squidGuard-1.5-beta/src/sgDiv.c.in 2013-12-12 11:48:36.000000000 +1300
-@@ -782,7 +782,7 @@
- }
- sgLogError("ERROR: Going into emergency mode");
- while(fgets(buf, MAX_BUF, stdin) != NULL){
-- puts("");
-+ puts("ERR");
- fflush(stdout);
- }
- sgLogError("ERROR: Ending emergency mode, stdin empty");
diff --git a/net-proxy/squidguard/files/squidguard-1.6.0-gcc-10.patch b/net-proxy/squidguard/files/squidguard-1.6.0-gcc-10.patch
new file mode 100644
index 000000000000..650153f28011
--- /dev/null
+++ b/net-proxy/squidguard/files/squidguard-1.6.0-gcc-10.patch
@@ -0,0 +1,54 @@
+--- a/src/y.tab.c.bison 2020-03-08 20:05:00.750000000 +0300
++++ b/src/y.tab.c.bison 2020-03-08 20:04:42.160000000 +0300
+@@ -217,7 +217,7 @@
+
+ #include "sgEx.h"
+
+-FILE *yyin, *yyout;
++extern FILE *yyin, *yyout;
+ char *configFile;
+
+ int numTimeElements;
+--- a/src/sg.h.in 2020-03-08 20:02:46.900000000 +0300
++++ b/src/sg.h.in 2020-03-08 20:03:22.110000000 +0300
+@@ -115,7 +115,7 @@
+ #define REDIRECT_PERMANENT "301:"
+ #define REDIRECT_TEMPORARILY "302:"
+
+-char *progname;
++extern char *progname;
+
+ struct LogFileStat {
+ char *name;
+@@ -337,7 +337,7 @@
+ struct AclDest *next;
+ };
+
+-int lineno;
++extern int lineno;
+
+ char *sgParseRedirect __P((char *, struct SquidInfo *, struct Acl *, struct AclDest *));
+ char *sgAclAccess __P((struct Source *, struct Acl *, struct SquidInfo *));
+--- a/src/main.c.in 2020-03-08 20:10:55.650000000 +0300
++++ b/src/main.c.in 2020-03-08 20:11:13.590000000 +0300
+@@ -21,6 +21,9 @@
+ #include <syslog.h>
+ #endif
+
++char *progname;
++int lineno;
++
+ struct Setting *lastSetting = NULL;
+ struct Setting *Setting = NULL; /* linked list, Calloc */
+
+--- a/src/sg.y.in 2020-03-08 20:14:46.180000000 +0300
++++ b/src/sg.y.in 2020-03-08 20:14:57.110000000 +0300
+@@ -35,7 +35,7 @@
+
+ #include "sgEx.h"
+
+-FILE *yyin, *yyout;
++extern FILE *yyin, *yyout;
+ char *configFile;
+
+ int numTimeElements;
diff --git a/net-proxy/squidguard/files/squidguard-1.6.0-gentoo.patch b/net-proxy/squidguard/files/squidguard-1.6.0-gentoo.patch
new file mode 100644
index 000000000000..1a2ca8218f41
--- /dev/null
+++ b/net-proxy/squidguard/files/squidguard-1.6.0-gentoo.patch
@@ -0,0 +1,33 @@
+--- squidGuard-1.6.orig/Makefile.in 2020-01-09 18:36:44.000000000 +0000
++++ squidGuard-1.6/Makefile.in 2020-01-10 13:02:14.000000000 +0000
+@@ -43,7 +43,7 @@
+ # Dependencies for installing
+ #
+
+-install: install-build install-conf
++install: install-build
+
+ install-conf:
+ @echo Installing configuration file ;
+--- squidGuard-1.6.orig/src/Makefile.in 2020-01-03 12:05:39.000000000 +0000
++++ squidGuard-1.6/src/Makefile.in 2020-01-10 13:02:14.000000000 +0000
+@@ -110,6 +110,8 @@
+ mv -f y.tab.c y.tab.c.bison
+ mv -f y.tab.h y.tab.h.bison
+
++sg.y sg.l:
++
+ #
+ # Dependencies for installing
+ #
+@@ -122,8 +124,8 @@
+
+ install.bin:: squidGuard
+ @echo making $@ in `basename \`pwd\``
+- @$(MKDIR) $(bindir) $(logdir) $(cfgdir)
+- $(INSTALL_PROGRAM) squidGuard $(bindir)/squidGuard
++ @$(MKDIR) "$(DESTDIR)"/$(bindir) "$(DESTDIR)"/$(logdir) "$(DESTDIR)"/$(cfgdir)
++ $(INSTALL_PROGRAM) squidGuard "$(DESTDIR)"/$(bindir)/squidGuard
+
+ uninstall.bin::
+ @echo making $@ in `basename \`pwd\``
diff --git a/net-proxy/squidguard/files/squidguard-1.6.0-stdlib.patch b/net-proxy/squidguard/files/squidguard-1.6.0-stdlib.patch
new file mode 100644
index 000000000000..51489b32de5e
--- /dev/null
+++ b/net-proxy/squidguard/files/squidguard-1.6.0-stdlib.patch
@@ -0,0 +1,22 @@
+--- a/configure.ac 2022-12-15 10:33:13.845801113 +0300
++++ b/configure.ac 2022-12-15 10:33:39.828949903 +0300
+@@ -342,6 +342,9 @@
+ LIBS="$LIBS -ldb"
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <db.h>
++ #ifdef HAVE_STDLIB_H
++ #include <stdlib.h>
++ #endif
+ int main()
+ {
+ int major, minor, patch;
+@@ -377,6 +378,9 @@
+
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <db.h>
++ #ifdef HAVE_STDLIB_H
++ #include <stdlib.h>
++ #endif
+ int main()
+ {
+ int major, minor, patch;
diff --git a/net-proxy/squidguard/metadata.xml b/net-proxy/squidguard/metadata.xml
index 5b159fbcadd1..a3862b8ec2fc 100644
--- a/net-proxy/squidguard/metadata.xml
+++ b/net-proxy/squidguard/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>pinkbyte@gentoo.org</email>
diff --git a/net-proxy/squidguard/squidguard-1.5_beta-r2.ebuild b/net-proxy/squidguard/squidguard-1.6.0-r1.ebuild
index 235a6ac00ed2..32fc9e26092a 100644
--- a/net-proxy/squidguard/squidguard-1.5_beta-r2.ebuild
+++ b/net-proxy/squidguard/squidguard-1.6.0-r1.ebuild
@@ -1,43 +1,38 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-WANT_AUTOMAKE=none
-
-inherit autotools db-use eutils user
-
-MY_P="squidGuard-${PV/_/-}"
+inherit autotools db-use
DESCRIPTION="Combined filter, redirector and access controller plugin for Squid"
HOMEPAGE="http://www.squidguard.org"
-SRC_URI="http://www.squidguard.org/Downloads/Devel/${MY_P}.tar.gz"
+SRC_URI="mirror://debian/pool/main/s/squidguard/${PN}_${PV}.orig.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ppc ppc64 sparc x86"
+KEYWORDS="amd64 ~arm ppc ppc64 ~sparc x86"
IUSE="ldap"
-RDEPEND="|| (
+RDEPEND="
+ acct-group/squid
+ acct-user/squid
+ || (
+ sys-libs/db:5.3
sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5
- sys-libs/db:4.4
- sys-libs/db:4.3
- sys-libs/db:4.2
)
- ldap? ( net-nds/openldap:0 )"
+ ldap? ( net-nds/openldap:= )"
-DEPEND="${RDEPEND}
- sys-devel/bison:0
- sys-devel/flex:0"
+DEPEND="${RDEPEND}"
-S="${WORKDIR}/${MY_P}"
+BDEPEND="
+ app-alternatives/yacc:0
+ app-alternatives/lex:0
+"
suitable_db_version() {
- local tested_slots="4.8 4.7 4.6 4.5 4.4 4.3 4.2"
+ local tested_slots="5.3 4.8"
for ver in ${tested_slots}; do
if [[ -n $(db_findver sys-libs/db:${ver}) ]]; then
echo ${ver}
@@ -47,23 +42,27 @@ suitable_db_version() {
die "No suitable BerkDB versions found, aborting"
}
-pkg_setup() {
- enewgroup squid
- enewuser squid -1 -1 /var/cache/squid squid
-}
-
src_prepare() {
- mv configure.in configure.ac || die
- epatch \
+ eapply \
"${FILESDIR}/${P}-gentoo.patch" \
- "${FILESDIR}/${P}-protocol.patch"
+ "${FILESDIR}/${P}-gcc-10.patch" \
+ "${FILESDIR}/${P}-stdlib.patch"
# Link only with specific BerkDB versions
+ # Do not inject default paths for library searching
db_version="$(suitable_db_version)"
- sed -i -e "/\$LIBS -ldb/s/-ldb/-l$(db_libname ${db_version})/" configure.ac || die
+ sed -i \
+ -e "/\$LIBS -ldb/s/-ldb/-l$(db_libname ${db_version})/" \
+ -e '/$LDFLAGS $db_lib $ldap_lib/d' \
+ configure.ac || die
eapply_user
eautoreconf
+
+ # Workaround for missing install-sh, bug #705374
+ local amver=$(best_version dev-build/automake)
+ amver=$(ver_cut 1-2 "${amver#dev-build/automake-}")
+ cp -p "${BROOT}/usr/share/automake-${amver}/install-sh" . || die
}
src_configure() {
@@ -75,7 +74,7 @@ src_configure() {
}
src_install() {
- emake prefix="/usr" INSTDIR="${D}" install
+ emake prefix="/usr" DESTDIR="${D}" install
keepdir /var/log/squidGuard
fowners squid:squid /var/log/squidGuard
diff --git a/net-proxy/squirm/files/squirm-1.26-fno-common.patch b/net-proxy/squirm/files/squirm-1.26-fno-common.patch
new file mode 100644
index 000000000000..01e6b25f59d1
--- /dev/null
+++ b/net-proxy/squirm/files/squirm-1.26-fno-common.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/709648
+--- a/lists.c
++++ b/lists.c
+@@ -38,6 +38,8 @@
+
+
+ extern int dodo_mode;
++struct pattern_file *pattern_head;
++struct subnet_block *subnet_head;
+
+
+ void init_lists(void)
+--- a/lists.h
++++ b/lists.h
+@@ -45,8 +45,8 @@
+
+
+ /* the two chief lists */
+-struct subnet_block *subnet_head;
+-struct pattern_file *pattern_head;
++extern struct subnet_block *subnet_head;
++extern struct pattern_file *pattern_head;
+
+
+
diff --git a/net-proxy/squirm/files/squirm-1.26-gentoo.patch b/net-proxy/squirm/files/squirm-1.26-gentoo.patch
index 16b6e21c7aa2..1f823d9e525c 100644
--- a/net-proxy/squirm/files/squirm-1.26-gentoo.patch
+++ b/net-proxy/squirm/files/squirm-1.26-gentoo.patch
@@ -1,6 +1,5 @@
-diff -Nru squirm-1.26.orig/Makefile squirm-1.26/Makefile
---- squirm-1.26.orig/Makefile 2005-08-19 09:31:06.000000000 +0200
-+++ squirm-1.26/Makefile 2009-06-20 14:58:18.000000000 +0200
+--- a/Makefile
++++ b/Makefile
@@ -1,7 +1,7 @@
# $Id$
diff --git a/net-proxy/squirm/metadata.xml b/net-proxy/squirm/metadata.xml
index 979868f666de..115e9d64a669 100644
--- a/net-proxy/squirm/metadata.xml
+++ b/net-proxy/squirm/metadata.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>A redirector for Squid</longdescription>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/net-proxy/squirm/squirm-1.26-r1.ebuild b/net-proxy/squirm/squirm-1.26-r1.ebuild
index e5e323ec0781..1cfa2816e0e1 100644
--- a/net-proxy/squirm/squirm-1.26-r1.ebuild
+++ b/net-proxy/squirm/squirm-1.26-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit toolchain-funcs
@@ -11,8 +11,7 @@ SRC_URI="http://squirm.foote.com.au/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ppc x86"
-IUSE=""
+KEYWORDS="~amd64 ~ppc x86"
RDEPEND="net-proxy/squid"
DEPEND="${RDEPEND}"
@@ -20,6 +19,7 @@ DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-gentoo.patch
"${FILESDIR}"/${P}-gcc5.patch
+ "${FILESDIR}"/${P}-fno-common.patch
)
src_compile() {
@@ -27,7 +27,7 @@ src_compile() {
}
src_install() {
- emake PREFIX="${ED%/}/opt/squirm" install
+ emake PREFIX="${ED}/opt/squirm" install
}
pkg_postinst() {
diff --git a/net-proxy/sshuttle/Manifest b/net-proxy/sshuttle/Manifest
index 10a76828e3ff..36fd5e723838 100644
--- a/net-proxy/sshuttle/Manifest
+++ b/net-proxy/sshuttle/Manifest
@@ -1 +1,4 @@
-DIST sshuttle-0.78.5.tar.gz 74663 BLAKE2B 47e295219c1ada7bee4f0340cc169620c5b91abd1f72b933289ef2dea0c5ba088673f2d1348d444f662e9f6c2638ee6dfd3e8df1fa8344bc7c48adf1a3a96d3f SHA512 562acbf0e825ad41458c5b6065592a45b8bac92cd64b20619027fe4d0bec60a22c5191c7a7ed6b216d8cf5c9e027f58a6cdca69dd3a11ec6f6d348ef2f13bb38
+DIST sshuttle-1.1.1-docs.tar.xz 8048 BLAKE2B f6318110f67a4882a733d9b389c52eefd2e769b70f3282e7699425b6e6d3a9c5a60219978e248aaf1e7f184491db9aea4aab2efad09eb0af3ee095e0cf527d54 SHA512 c2ef822f872f6afd1d9c64e7a412ad65cca0486115dcfa0673a7a1b0554bfd1413f673248e30fa01759daaf1a1a0061f48a42170d7b234448093d3562f757cd9
+DIST sshuttle-1.1.1.tar.gz 93639 BLAKE2B 63725146dd5fcd07f4b291f981ca947a514735014f4f8173023d3982796ce4ef96b9defb39beef026d32b2162d11951742c57dee1f04cd453cf85ca08c8d2468 SHA512 07a3371c4998f37410692f9c5eaa456ff28b2dbffff731a0be3877d96c820b42c83cb386ec3ab54b524d4b333edd1a2289cd949c7d59b98a11b1ee2d6867da4f
+DIST sshuttle-1.1.2-docs.tar.xz 8300 BLAKE2B efbffcda40422b76e18ad8e85b1ccd392a5ca342897d3a179b31b5f000954b2021c877680eda6a0aae70c8594704afb8a81599f2c79dd1c954665c437ad789f2 SHA512 b48896b48da2540e561fec10ae20a8b53ffc8df59c7917e7166f138b6c2ad2d3555949d9f10934886e3c6d5a062e20460e985c064b1502a3951149265c332956
+DIST sshuttle-1.1.2.gh.tar.gz 111767 BLAKE2B 7f2a63df0a6e2815e8787c6e02cd81924ff3d80d4b2309d8ebb875b49db33ff5b7b8c8249760b27a942f69db049c862041433099a06f009fe3532c4cb4493bac SHA512 c24a6490c1877b9ded8f5f4f44571953c4c204c33f0238c709ca32c7a581ddc919bfc48beb4fafd3a4d346cccd9b02dc7051b6233ff989a0ad329d55c1c5ec47
diff --git a/net-proxy/sshuttle/metadata.xml b/net-proxy/sshuttle/metadata.xml
index 6956e63728ab..bde2871c1eab 100644
--- a/net-proxy/sshuttle/metadata.xml
+++ b/net-proxy/sshuttle/metadata.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>radhermit@gentoo.org</email>
- <name>Tim Harder</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">sshuttle</remote-id>
- <remote-id type="github">sshuttle/sshuttle</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">sshuttle</remote-id>
+ <remote-id type="github">sshuttle/sshuttle</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-proxy/sshuttle/sshuttle-0.78.5.ebuild b/net-proxy/sshuttle/sshuttle-0.78.5.ebuild
deleted file mode 100644
index 5d058b48df7e..000000000000
--- a/net-proxy/sshuttle/sshuttle-0.78.5.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
-
-inherit linux-info distutils-r1
-
-DESCRIPTION="Transparent proxy server that works as a poor man's VPN using ssh"
-HOMEPAGE="https://github.com/sshuttle/sshuttle https://pypi.org/project/sshuttle/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- || ( net-firewall/iptables net-firewall/nftables )
-"
-DEPEND="
- dev-python/sphinx
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-CONFIG_CHECK="~NETFILTER_XT_TARGET_HL ~IP_NF_TARGET_REDIRECT ~IP_NF_MATCH_TTL ~NF_NAT"
-
-python_prepare_all() {
- # don't run tests via setup.py pytest
- sed -i "/setup_requires=/s/'pytest-runner'//" setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- emake -j1 -C docs html man
-}
-
-python_test() {
- py.test -v || die "Tests fail under ${EPYTHON}"
-}
-
-python_install_all() {
- HTML_DOCS=( docs/_build/html/. )
- doman docs/_build/man/*
- distutils-r1_python_install_all
-}
diff --git a/net-proxy/sshuttle/sshuttle-1.1.1.ebuild b/net-proxy/sshuttle/sshuttle-1.1.1.ebuild
new file mode 100644
index 000000000000..f2826293e380
--- /dev/null
+++ b/net-proxy/sshuttle/sshuttle-1.1.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-sshuttle-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+: ${SSHUTTLE_DOCS_PREBUILT:=1}
+
+SSHUTTLE_DOCS_PREBUILT_DEV=sam
+SSHUTTLE_DOCS_VERSION=${PV}
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+SSHUTTLE_DOCS_USEFLAG="+doc"
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+inherit distutils-r1 linux-info pypi
+
+DESCRIPTION="Transparent proxy server that works as a poor man's VPN using ssh"
+HOMEPAGE="https://github.com/sshuttle/sshuttle https://pypi.org/project/sshuttle/"
+if [[ ${SSHUTTLE_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${SSHUTTLE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${SSHUTTLE_DOCS_VERSION}-docs.tar.xz )"
+
+ SSHUTTLE_DOCS_USEFLAG="doc"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="${SSHUTTLE_DOCS_USEFLAG}"
+
+BDEPEND="
+ doc? ( dev-python/sphinx )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ dev-python/psutil[${PYTHON_USEDEP}]
+ || ( net-firewall/iptables net-firewall/nftables )
+"
+
+CONFIG_CHECK="~NETFILTER_XT_TARGET_HL ~IP_NF_TARGET_REDIRECT ~IP_NF_MATCH_TTL ~NF_NAT"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Don't run tests via setup.py pytest
+ sed -i "/setup_requires=/s/'pytest-runner'//" setup.py || die
+
+ # Don't require pytest-cov when running tests
+ sed -i "s/^addopts =/#\0/" setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc ; then
+ emake -j1 -C docs html man
+ fi
+}
+
+python_install_all() {
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${SSHUTTLE_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${SSHUTTLE_DOCS_VERSION}-docs/sshuttle.1
+ else
+ HTML_DOCS=( docs/_build/html/. )
+ doman docs/_build/man/*
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/net-proxy/sshuttle/sshuttle-1.1.2.ebuild b/net-proxy/sshuttle/sshuttle-1.1.2.ebuild
new file mode 100644
index 000000000000..8bde64af7644
--- /dev/null
+++ b/net-proxy/sshuttle/sshuttle-1.1.2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-sshuttle-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+: ${SSHUTTLE_DOCS_PREBUILT:=1}
+
+SSHUTTLE_DOCS_PREBUILT_DEV=sam
+SSHUTTLE_DOCS_VERSION=${PV}
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+SSHUTTLE_DOCS_USEFLAG="+doc"
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1 linux-info
+
+DESCRIPTION="Transparent proxy server that works as a poor man's VPN using ssh"
+HOMEPAGE="https://github.com/sshuttle/sshuttle https://pypi.org/project/sshuttle/"
+# No tests in sdist
+SRC_URI=" https://github.com/sshuttle/sshuttle/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+if [[ ${SSHUTTLE_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${SSHUTTLE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${SSHUTTLE_DOCS_VERSION}-docs.tar.xz )"
+ SSHUTTLE_DOCS_USEFLAG="doc"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="${SSHUTTLE_DOCS_USEFLAG}"
+
+BDEPEND="
+ doc? (
+ dev-python/sphinx
+ dev-python/furo
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ dev-python/psutil[${PYTHON_USEDEP}]
+ || ( net-firewall/iptables net-firewall/nftables )
+"
+
+CONFIG_CHECK="~NETFILTER_XT_TARGET_HL ~IP_NF_TARGET_REDIRECT ~IP_NF_MATCH_TTL ~NF_NAT"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Don't run tests via setup.py pytest
+ sed -i "/setup_requires=/s/'pytest-runner'//" setup.py || die
+
+ # Don't require pytest-cov when running tests
+ sed -i "s/^addopts =/#\0/" setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc ; then
+ emake -j1 -C docs html man
+ fi
+}
+
+python_install_all() {
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${SSHUTTLE_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${SSHUTTLE_DOCS_VERSION}-docs/sshuttle.1
+ else
+ HTML_DOCS=( docs/_build/html/. )
+ doman docs/_build/man/*
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/net-proxy/tayga/files/tayga-0.9.2-Fix-implicit-function-declaration.patch b/net-proxy/tayga/files/tayga-0.9.2-Fix-implicit-function-declaration.patch
new file mode 100644
index 000000000000..581aecc0a53f
--- /dev/null
+++ b/net-proxy/tayga/files/tayga-0.9.2-Fix-implicit-function-declaration.patch
@@ -0,0 +1,16 @@
+From 64b2c3859304c595e7099dd157596951ec21562b Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 25 Oct 2022 12:54:31 +0100
+Subject: [PATCH] Fix implicit function declaration
+
+Bug: https://bugs.gentoo.org/871678
+--- a/nat64.c
++++ b/nat64.c
+@@ -16,6 +16,7 @@
+ */
+
+ #include <tayga.h>
++#include <sys/uio.h>
+
+ extern struct config *gcfg;
+
diff --git a/net-proxy/tayga/files/tayga-0.9.2-static-EAM.patch b/net-proxy/tayga/files/tayga-0.9.2-static-EAM.patch
index cdf1e601194b..6c00bf3f7ebb 100644
--- a/net-proxy/tayga/files/tayga-0.9.2-static-EAM.patch
+++ b/net-proxy/tayga/files/tayga-0.9.2-static-EAM.patch
@@ -4,7 +4,7 @@ Description: Support SIIT-DC styled EAM static maps
.
Author: Benda Xu <heroxbd@gentoo.org>
Forwarded: Nathan Lutchansky <lutchann@litech.org>
-Last-Update: 2018-12-28
+Last-Update: 2024-01-09
--- a/conffile.c
+++ b/conffile.c
@@ -17,7 +17,7 @@ Last-Update: 2018-12-28
+ unsigned int prefix4 = 32;
+ if (slash) {
+ prefix4 = atoi(slash+1);
-+ slash[0] = NULL;
++ slash[0] = '\0';
+ }
+
if (!inet_pton(AF_INET, args[0], &m->map4.addr)) {
@@ -33,7 +33,7 @@ Last-Update: 2018-12-28
+ slash = strchr(args[1], '/');
+ if (slash) {
+ prefix6 = atoi(slash+1);
-+ slash[0] = NULL;
++ slash[0] = '\0';
+ }
+
+ if ((32 - prefix4) != (128 - prefix6)) {
diff --git a/net-proxy/tayga/files/tayga.initd b/net-proxy/tayga/files/tayga.initd
index a0ad1dd30151..f184a29b336c 100644
--- a/net-proxy/tayga/files/tayga.initd
+++ b/net-proxy/tayga/files/tayga.initd
@@ -4,7 +4,7 @@
#
description='tayga NAT64 gateway'
-pidfile=${pidfile:=/var/run/tayga.pid}
+pidfile=${pidfile:=/run/tayga.pid}
user=${user:=nobody}
group=${group:=nogroup}
datadir=${datadir:=/var/db/tayga}
diff --git a/net-proxy/tayga/metadata.xml b/net-proxy/tayga/metadata.xml
index 0779891bd146..325c636946b4 100644
--- a/net-proxy/tayga/metadata.xml
+++ b/net-proxy/tayga/metadata.xml
@@ -1,8 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
-<email>heroxbd@gentoo.org</email>
-<name>Benda Xu</name>
-</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>zhuyifei1999@gmail.com</email>
+ <name>YiFei Zhu</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>heroxbd@gentoo.org</email>
+ <name>Benda Xu</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
</pkgmetadata>
diff --git a/net-proxy/tayga/tayga-0.9.2-r1.ebuild b/net-proxy/tayga/tayga-0.9.2-r1.ebuild
deleted file mode 100644
index e8ff90697f75..000000000000
--- a/net-proxy/tayga/tayga-0.9.2-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools
-
-DESCRIPTION="out-of-kernel stateless NAT64 implementation based on TUN"
-HOMEPAGE="http://www.litech.org/tayga/"
-SRC_URI="http://www.litech.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
- sed -e '/^CFLAGS/d' \
- -i configure.ac || die "sed failed"
- eautoreconf
-}
diff --git a/net-proxy/tayga/tayga-0.9.2-r2.ebuild b/net-proxy/tayga/tayga-0.9.2-r2.ebuild
deleted file mode 100644
index 46844c56a9c1..000000000000
--- a/net-proxy/tayga/tayga-0.9.2-r2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools
-
-DESCRIPTION="out-of-kernel stateless NAT64 implementation based on TUN"
-HOMEPAGE="http://www.litech.org/tayga/"
-SRC_URI="http://www.litech.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-static-EAM.patch
- "${FILESDIR}"/${P}-manpage-RFC.patch
- "${FILESDIR}"/${P}-release-reserved-addr.patch
-)
-
-src_prepare() {
- default
- sed -e '/^CFLAGS/d' \
- -i configure.ac || die "sed failed"
- eautoreconf
-}
diff --git a/net-proxy/tayga/tayga-0.9.2-r3.ebuild b/net-proxy/tayga/tayga-0.9.2-r4.ebuild
index 4d84b05240f6..a9b959457ddf 100644
--- a/net-proxy/tayga/tayga-0.9.2-r3.ebuild
+++ b/net-proxy/tayga/tayga-0.9.2-r4.ebuild
@@ -1,26 +1,23 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
inherit autotools
-DESCRIPTION="out-of-kernel stateless NAT64 implementation based on TUN"
+DESCRIPTION="Out-of-kernel stateless NAT64 implementation based on TUN"
HOMEPAGE="http://www.litech.org/tayga/"
SRC_URI="http://www.litech.org/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
+KEYWORDS="amd64 ~arm64 ~riscv"
PATCHES=(
"${FILESDIR}"/${P}-static-EAM.patch
"${FILESDIR}"/${P}-manpage-RFC.patch
"${FILESDIR}"/${P}-release-reserved-addr.patch
+ "${FILESDIR}"/${PN}-0.9.2-Fix-implicit-function-declaration.patch
)
src_prepare() {
@@ -31,6 +28,7 @@ src_prepare() {
}
src_install() {
- newconfd "${FILESDIR}"/tayga.confd
- newinitd "${FILESDIR}"/tayga.initd
+ default
+ newconfd "${FILESDIR}"/tayga.confd ${PN}
+ newinitd "${FILESDIR}"/tayga.initd ${PN}
}
diff --git a/net-proxy/tinyproxy/Manifest b/net-proxy/tinyproxy/Manifest
index 729b3dbd18ad..6466b36bb81d 100644
--- a/net-proxy/tinyproxy/Manifest
+++ b/net-proxy/tinyproxy/Manifest
@@ -1 +1 @@
-DIST tinyproxy-1.10.0.tar.xz 176060 BLAKE2B 58f9b443c731de6b74d689a80ebd422d3b6f51f643546ee144b37fb3262725246f6a5fa1015267a94f192f8715eaf71ffc078ead75e6225a210f58ec28ee8fcf SHA512 8d82598c5f9c89bc672f4632139ac52696d5c7788963de51688a8aeb576c69004f8338fe1e1897bf704a21dfd25ab1effb092003b6afaa9a88c2b5d0608310f5
+DIST tinyproxy-31339cb1615765f2fbb4ec7779400535bad6da46.tar.gz 112886 BLAKE2B 82af9f671b31c9be46624400d726e428837763ab763942c335df1aa63499e33c17384b55ea2f68790cd3b8b1e4eff3b61b40f25e1d55506ce0f0694c7cddaddb SHA512 638ae0731aa2d9f498643aa883871f7b3978c68ee5098fcbeb234234e5432d1a833c33fb0cc1944504369bdf975baa0bd6166664c340825b9b55664d8afdf94c
diff --git a/net-proxy/tinyproxy/files/tinyproxy.service b/net-proxy/tinyproxy/files/tinyproxy.service
deleted file mode 100644
index 4d860df76938..000000000000
--- a/net-proxy/tinyproxy/files/tinyproxy.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Tinyproxy Web Proxy Server
-After=network.target
-
-[Service]
-ExecStart=/usr/sbin/tinyproxy -d -c /etc/tinyproxy.conf
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-proxy/tinyproxy/files/tinyproxy.tmpfiles.conf b/net-proxy/tinyproxy/files/tinyproxy.tmpfiles.conf
index 80251df0d20c..5a89fcb6b7fc 100644
--- a/net-proxy/tinyproxy/files/tinyproxy.tmpfiles.conf
+++ b/net-proxy/tinyproxy/files/tinyproxy.tmpfiles.conf
@@ -1 +1 @@
-d /var/run/tinyproxy 0770 tinyproxy tinyproxy -
+d /run/tinyproxy 0770 tinyproxy tinyproxy -
diff --git a/net-proxy/tinyproxy/metadata.xml b/net-proxy/tinyproxy/metadata.xml
index 228ebe4e18a0..7e73d74f0da4 100644
--- a/net-proxy/tinyproxy/metadata.xml
+++ b/net-proxy/tinyproxy/metadata.xml
@@ -1,10 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>bkohler@gentoo.org</email>
</maintainer>
- <longdescription>A lightweight HTTP/SSL proxy</longdescription>
<use>
<flag name="filter-proxy">Enable filtering of domains/URLS</flag>
<flag name="reverse-proxy">Enable reverse proxying</flag>
@@ -12,4 +11,8 @@
<flag name="upstream-proxy">Enable upstream proxying</flag>
<flag name="xtinyproxy-header">Include the X-Tinyproxy header</flag>
</use>
+ <upstream>
+ <remote-id type="github">tinyproxy/tinyproxy</remote-id>
+ <remote-id type="cpe">cpe:/a:tinyproxy_project:tinyproxy</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/net-proxy/tinyproxy/tinyproxy-1.10.0-r1.ebuild b/net-proxy/tinyproxy/tinyproxy-1.11.1_p20230201.ebuild
index 3cf14c4a3097..5a8bcbd50069 100644
--- a/net-proxy/tinyproxy/tinyproxy-1.10.0-r1.ebuild
+++ b/net-proxy/tinyproxy/tinyproxy-1.11.1_p20230201.ebuild
@@ -1,27 +1,33 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit autotools systemd tmpfiles user
+inherit autotools systemd tmpfiles
+
+COMMIT=31339cb1615765f2fbb4ec7779400535bad6da46
DESCRIPTION="A lightweight HTTP/SSL proxy"
HOMEPAGE="https://github.com/tinyproxy/tinyproxy/"
-SRC_URI="https://github.com/tinyproxy/tinyproxy/releases/download/${PV}/${P}.tar.xz"
+SRC_URI="https://github.com/tinyproxy/tinyproxy/archive/${COMMIT}.tar.gz -> ${PN}-${COMMIT}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="alpha amd64 ~arm ia64 ppc ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ppc ~sparc x86"
IUSE="test debug +filter-proxy reverse-proxy transparent-proxy
+upstream-proxy +xtinyproxy-header"
-
+RESTRICT="!test? ( test )"
REQUIRED_USE="test? ( xtinyproxy-header )"
-pkg_setup() {
- enewgroup ${PN}
- enewuser ${PN} "" "" "" ${PN}
-}
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+DEPEND="
+ acct-group/tinyproxy
+ acct-user/tinyproxy
+"
+
+RDEPEND="${DEPEND}"
src_prepare() {
default
@@ -30,6 +36,8 @@ src_prepare() {
-e "s|nobody|${PN}|g" \
etc/${PN}.conf.in || die "sed failed"
+ sed -i -e "s# -Wp,-D_FORTIFY_SOURCE=2##" configure.ac || die "sed failed"
+
eautoreconf
}
@@ -41,7 +49,6 @@ src_configure() {
$(use_enable transparent-proxy transparent) \
$(use_enable upstream-proxy upstream) \
$(use_enable xtinyproxy-header xtinyproxy) \
- --disable-silent-rules \
--localstatedir=/var
}
@@ -60,7 +67,7 @@ src_install() {
newinitd "${FILESDIR}"/${PN}-1.10.0.initd tinyproxy
systemd_newunit "${FILESDIR}"/${PN}-1.10.0.service tinyproxy.service
- systemd_dotmpfilesd "${FILESDIR}"/${PN}.tmpfiles.conf
+ dotmpfiles "${FILESDIR}"/${PN}.tmpfiles.conf
}
pkg_postinst() {
diff --git a/net-proxy/torsocks/Manifest b/net-proxy/torsocks/Manifest
index e91855d4925e..8fa5efad25c4 100644
--- a/net-proxy/torsocks/Manifest
+++ b/net-proxy/torsocks/Manifest
@@ -1 +1 @@
-DIST torsocks-2.2.0.tar.gz 115269 BLAKE2B e6e376dbe9b248bcb51fb0c3c16346f4888310abd6e84942acca69f67ae15afe5dfeba9a6b3a8d1fa562f87548450af93cea3bea4d899980ca6acb651658cfaa SHA512 903d11d58ece76eaf75ff8fc11a27e4a29f94be530f2d77d1a6f0982d556a4b9c78677a43eed88f2451054d0e985672900ecf73b360fa09e80195c3b9006622b
+DIST torsocks-v2.4.0.tar.bz2 96757 BLAKE2B af21b49623b01c6f70f4103168b2624837ca3c3905f5d39ed85482171ba608f74f4845bc05ad0df8353ce901a82ace1a3152fe6f61bd8ffbcbc74d2d80aa105a SHA512 95a97380d4b0f10296554dd5601e0f640d571454719998229974c4d2269ca636b74b7e8b402dddea68c0cbfce5ca5f2531690e1915167b3c7b87e9066e41bd83
diff --git a/net-proxy/torsocks/files/torsocks-2.4.0-clang16.patch b/net-proxy/torsocks/files/torsocks-2.4.0-clang16.patch
new file mode 100644
index 000000000000..3bedd71dc736
--- /dev/null
+++ b/net-proxy/torsocks/files/torsocks-2.4.0-clang16.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/881077
+https://gitlab.torproject.org/tpo/core/torsocks/-/issues/40014
+https://lists.torproject.org/pipermail/tor-dev/2022-December/014790.html
+--- a/src/common/config-file.h
++++ b/src/common/config-file.h
+@@ -109,6 +109,7 @@ int conf_file_set_allow_inbound(const char *val, struct configuration *config);
+ int conf_file_set_allow_outbound_localhost(const char *val, struct
+ configuration *config);
+ int conf_file_set_isolate_pid(const char *val, struct configuration *config);
++int conf_file_set_enable_ipv6(const char *val, struct configuration *config);
+
+ int conf_apply_socks_auth(struct configuration *config);
+
diff --git a/net-proxy/torsocks/files/torsocks-2.4.0-configure.patch b/net-proxy/torsocks/files/torsocks-2.4.0-configure.patch
new file mode 100644
index 000000000000..96af0b4ee510
--- /dev/null
+++ b/net-proxy/torsocks/files/torsocks-2.4.0-configure.patch
@@ -0,0 +1,23 @@
+Fix bashism in libc.so filename check, and don't unconditionally set _F_S=2,
+as it clobbers e.g. _F_S=3.
+--- a/configure.ac
++++ b/configure.ac
+@@ -124,7 +124,7 @@ AS_CASE([$host_os],
+ [linux*|kfreebsd*-gnu|freebsd*],
+ [
+ libc_name=`ldd /usr/bin/yes | grep 'libc\.' | cut -d ' ' -f 1 | tr -d '\t'`
+- if test "${libc_name}" == ""; then
++ if test "${libc_name}" = ""; then
+ # Default libc on most system.
+ libc_name="libc.so.6"
+ fi
+@@ -258,9 +258,6 @@ AX_CHECK_LINK_FLAG([-pie],[LDFLAGS="$LDFLAGS -pie"],[],[])
+ AX_CHECK_LINK_FLAG([-z relro],[LDFLAGS="$LDFLAGS -z relro"],[],[])
+ AX_CHECK_LINK_FLAG([-z now],[LDFLAGS="$LDFLAGS -z now"],[],[])
+
+-dnl Add glibc hardening
+-CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
+-
+ ##############################################################################
+ # 10. Finish up
+ ##############################################################################
diff --git a/net-proxy/torsocks/metadata.xml b/net-proxy/torsocks/metadata.xml
index a68cbcd82c17..115e9d64a669 100644
--- a/net-proxy/torsocks/metadata.xml
+++ b/net-proxy/torsocks/metadata.xml
@@ -1,12 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
- <upstream>
- <remote-id type="google-code">torsocks</remote-id>
- <remote-id type="github">dgoulet/torsocks</remote-id>
- </upstream>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/net-proxy/torsocks/torsocks-2.2.0.ebuild b/net-proxy/torsocks/torsocks-2.4.0-r2.ebuild
index e6454f696b72..dc8c8a23ac6d 100644
--- a/net-proxy/torsocks/torsocks-2.2.0.ebuild
+++ b/net-proxy/torsocks/torsocks-2.4.0-r2.ebuild
@@ -1,17 +1,15 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit autotools versionator
-
-MY_PV="$(replace_version_separator 3 -)"
-MY_PF="${PN}-${MY_PV}"
-S=${WORKDIR}/${MY_PF}
+inherit autotools
+UPSTREAM_P="${PN}-v${PV}"
DESCRIPTION="Use most socks-friendly applications with Tor"
-HOMEPAGE="https://github.com/dgoulet/torsocks"
-SRC_URI="https://github.com/dgoulet/torsocks/archive/v${MY_PV}.tar.gz -> ${MY_PF}.tar.gz"
+HOMEPAGE="https://gitlab.torproject.org/tpo/core/torsocks"
+SRC_URI="https://gitlab.torproject.org/tpo/core/torsocks/-/archive/v${PV}/${UPSTREAM_P}.tar.bz2"
+S="${WORKDIR}"/${UPSTREAM_P}
LICENSE="GPL-2"
SLOT="0"
@@ -19,8 +17,11 @@ KEYWORDS="amd64 ~arm x86"
IUSE="static-libs"
# We do not depend on tor which might be running on a different box
-DEPEND=""
-RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.4.0-clang16.patch
+ "${FILESDIR}"/${PN}-2.4.0-configure.patch
+)
src_prepare() {
# Disable tests requiring network access.
@@ -42,5 +43,5 @@ src_install() {
default
# Remove libtool .la files
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/net-proxy/trojan/Manifest b/net-proxy/trojan/Manifest
index a98743f222c7..0ccbae793dad 100644
--- a/net-proxy/trojan/Manifest
+++ b/net-proxy/trojan/Manifest
@@ -1 +1 @@
-DIST trojan-1.10.0.tar.gz 38230 BLAKE2B 2cfa77ebfbae62edef983d1e57e3ce00a61118f6458cab353af60960e2586750fcd0c4237631481cfdfc8ed0ddad586e1d649046269c7e9177594869c187d8d1 SHA512 9d9a74218369f8094b292b8892e5f877ccec7d8912657491bb37da8e9ae4817f07a83fe401e33bbbdd2ac9c50c1440f3a021f93d85999b43df4849b0a04049cf
+DIST trojan-1.16.0.tar.gz 51669 BLAKE2B 9238f9886820ca3625a894ac8de1e199e238029593634436f3aa529d5c576f2636d5183b64a2e6155a888fe8f45629c94625f02119fbfb4ada01b1bd9e502fcf SHA512 60aa8539731eee6f15cbcb18b20b45435fc2dfe439a2f67fe9770257c3b6ffe219efe376cfd909f748d523a18645c96f6859b8487cacaba04ac7d93cf762f153
diff --git a/net-proxy/trojan/files/README.gentoo b/net-proxy/trojan/files/README.gentoo
new file mode 100644
index 000000000000..caaf236f4c1c
--- /dev/null
+++ b/net-proxy/trojan/files/README.gentoo
@@ -0,0 +1,14 @@
+Notes:
+ 1) starting from version 1.16.0-r2, the daemon will
+run as user='trojan', previous it's run as user='nobody',
+you might want to fix the permissions at /etc/trojan/*.
+
+ 2) Running Trojan with multi instances
+
+ a) Using OpenRC
+ Prepare /etc/trojan/${foo}.json first
+ # ln -s /etc/init.d/trojan{,.${foo}}
+ # rc-update add trojan.${foo} default
+
+ b) Using Systemd
+ # systemctl enable trojan.${foo}
diff --git a/net-proxy/trojan/files/trojan.initd b/net-proxy/trojan/files/trojan.initd
index f525eefe74df..9c86bf704b9b 100755..100644
--- a/net-proxy/trojan/files/trojan.initd
+++ b/net-proxy/trojan/files/trojan.initd
@@ -1,10 +1,20 @@
#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-TJ_CONFIG="/etc/trojan/config.json"
-TJ_PIDFILE="/run/trojan.pid"
-TJ_LOG="/var/log/trojan.log"
+TJ_USER=trojan
+TJ_GROUP=trojan
+
+TJ_NAME=${SVCNAME##*.}
+if [ -n "${TJ_NAME}" -a "${SVCNAME}" != "trojan" ]; then
+ TJ_PIDFILE="/run/trojan.${TJ_NAME}.pid"
+ TJ_CONFIG="/etc/trojan/${TJ_NAME}.json"
+ TJ_LOG="/var/log/trojan.${TJ_NAME}.log"
+else
+ TJ_PIDFILE="/run/trojan.pid"
+ TJ_CONFIG="/etc/trojan/config.json"
+ TJ_LOG="/var/log/trojan.log"
+fi
depend() {
need net
@@ -12,15 +22,19 @@ depend() {
start() {
ebegin "Starting Trojan, Log File: ${TJ_LOG}"
- start-stop-daemon --start -b \
- -1 "${TJ_LOG}" -2 "${TJ_LOG}" \
- -m -p "${TJ_PIDFILE}" \
+ checkpath -f -m 0600 -o ${TJ_USER}:${TJ_GROUP} "${TJ_LOG}"
+ start-stop-daemon --start --background \
+ --user ${TJ_USER} --group ${TJ_GROUP} \
+ --stdout "${TJ_LOG}" --stderr "${TJ_LOG}" \
+ --make-pidfile --pidfile "${TJ_PIDFILE}" \
--exec /usr/bin/trojan -- "${TJ_CONFIG}"
eend $?
}
stop() {
ebegin "Stopping Trojan"
- start-stop-daemon --stop -p "${TJ_PIDFILE}"
+ start-stop-daemon --stop \
+ --user ${TJ_USER} --group ${TJ_GROUP} \
+ --pidfile "${TJ_PIDFILE}"
eend $?
}
diff --git a/net-proxy/trojan/metadata.xml b/net-proxy/trojan/metadata.xml
index 9b97efd6cb49..c141a430b420 100644
--- a/net-proxy/trojan/metadata.xml
+++ b/net-proxy/trojan/metadata.xml
@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>yangmame@icloud.com</email>
<name>Xin Yang</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/net-proxy/trojan/trojan-1.10.0.ebuild b/net-proxy/trojan/trojan-1.10.0.ebuild
deleted file mode 100644
index cda661f9eaff..000000000000
--- a/net-proxy/trojan/trojan-1.10.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{3_5,3_6,3_7} )
-
-inherit cmake-utils python-any-r1 systemd
-
-DESCRIPTION="An unidentifiable mechanism that helps you bypass GFW"
-HOMEPAGE="https://github.com/trojan-gfw/${PN}"
-SRC_URI="https://github.com/trojan-gfw/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="mysql test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/boost-1.54.0:=
- >=dev-libs/openssl-1.0.2:=
- mysql? ( dev-db/mysql-connector-c:= )
-"
-DEPEND="
- ${RDEPEND}
- test? ( net-misc/curl ${PYTHON_DEPS} )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_MYSQL=$(usex mysql)
- -DSYSTEMD_SERVICE=ON
- -DSYSTEMD_SERVICE_PATH=$(systemd_get_systemunitdir)
- -DCMAKE_INSTALL_DOCDIR=share/doc/${PF}
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- newinitd "${FILESDIR}/trojan.initd" trojan
-}
-
-src_test() {
- cmake-utils_src_test -j1
-}
diff --git a/net-proxy/trojan/trojan-1.16.0-r2.ebuild b/net-proxy/trojan/trojan-1.16.0-r2.ebuild
new file mode 100644
index 000000000000..b5b332947cbb
--- /dev/null
+++ b/net-proxy/trojan/trojan-1.16.0-r2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISABLE_AUTOFORMATTING=1
+FORCE_PRINT_ELOG=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake python-any-r1 systemd readme.gentoo-r1
+DESCRIPTION="An unidentifiable mechanism that helps you bypass GFW"
+HOMEPAGE="https://github.com/trojan-gfw/trojan"
+if [[ "${PV}" == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/trojan-gfw/trojan.git"
+else
+ SRC_URI="https://github.com/trojan-gfw/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="mysql test"
+
+# Some hiccups setting up local network server.
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/openssl:0=
+ mysql? ( dev-db/mysql-connector-c:= )
+"
+DEPEND="${RDEPEND}
+ acct-group/trojan
+ acct-user/trojan
+ test? ( net-misc/curl ${PYTHON_DEPS} )
+"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ cmake_src_prepare
+ sed -i -e "/User/s/nobody/trojan/g" \
+ "${S}"/examples/trojan.service-example || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_MYSQL=$(usex mysql)
+ -DSYSTEMD_SERVICE=ON
+ -DSYSTEMD_SERVICE_PATH=$(systemd_get_systemunitdir)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ newinitd "${FILESDIR}/trojan.initd" trojan
+
+ readme.gentoo_create_doc
+}
+
+src_test() {
+ cmake_src_test -j1
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/net-proxy/tsocks/Manifest b/net-proxy/tsocks/Manifest
index 6bb30d322194..0b718fb43a5c 100644
--- a/net-proxy/tsocks/Manifest
+++ b/net-proxy/tsocks/Manifest
@@ -1,3 +1,2 @@
-DIST tsocks-1.8b5-tordns1-gentoo-r3.patch.xz 18468 BLAKE2B 6e786a2a5cbf37bce743aa2f934884fd7ba3abcb0c675d9cb61a0c8ab078cde1eb96a11bf8b2acf102a9637c78654e519e186a7558a3af496eaf86c0d65bd51c SHA512 86cbc7a8733e9f9e19e0924d2a2b8481a66eb67a8d548b90c7bd02cc6ae42064a295ee6a002cf19a7b3d7d811388db2a34b641d9dbe239f4c0bc8a1f78c90682
DIST tsocks-1.8b5-tordns1-gentoo-r4.patch.xz 18464 BLAKE2B 99bd4c210c2fa4c797c4d827df4ae53d13198b91083975b9f6d327bd762193663c1a0c8530ea5e65e82d54ccf6900a11aba50e19a2fb6209e0e8f1131985374b SHA512 711b2e3f5ac9b1a4fd63e32b6cb8090066ece8882e2ec0048bee6cba868712c80ca7f601f79405be40404af625c2ff6fefa8cba98b8a6ced95abe6becf34954f
DIST tsocks-1.8beta5.tar.gz 83928 BLAKE2B a58b4866154deb72b551961578f90b270a7cc1fd2c5b4c08a5ddf99472e3c8e338cc9116c0c9d2d2e1e1c350a077b46cd08fb24390156eb1e60c4d7a10510e6d SHA512 b41636ea6b77abf0d1e3cda7bbca4e7ee96f3cdb1843f3a2c530650931e5567f67921de67b28ba9bab0f51df39770a3f7fb458cf7ac78aad7aa861923df2c4a9
diff --git a/net-proxy/tsocks/metadata.xml b/net-proxy/tsocks/metadata.xml
index 09598a26d525..35f72bbb4fc7 100644
--- a/net-proxy/tsocks/metadata.xml
+++ b/net-proxy/tsocks/metadata.xml
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bircoph@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>tsocks' role is to allow non SOCKS aware applications (e.g telnet, ssh, ftp etc) to use SOCKS
without any modification. It does this by intercepting the calls that applications make to establish network connections
and negotating them through a SOCKS server as necessary.</longdescription>
diff --git a/net-proxy/tsocks/tsocks-1.8_beta5-r8.ebuild b/net-proxy/tsocks/tsocks-1.8_beta5-r8.ebuild
deleted file mode 100644
index e6d4d3170977..000000000000
--- a/net-proxy/tsocks/tsocks-1.8_beta5-r8.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit autotools eutils multilib multilib-minimal toolchain-funcs
-
-DESCRIPTION="Transparent SOCKS v4 proxying library"
-HOMEPAGE="http://tsocks.sourceforge.net/"
-SRC_URI="mirror://sourceforge/tsocks/${PN}-${PV/_}.tar.gz
- tordns? ( https://dev.gentoo.org/~bircoph/patches/${PN}-${PV/_beta/b}-tordns1-gentoo-r3.patch.xz )"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ppc ppc64 sparc x86 ~x86-fbsd"
-IUSE="dns envconf tordns server-lookups"
-
-REQUIRED_USE="
- dns? ( !tordns !server-lookups )
- tordns? ( !dns !server-lookups )
-"
-
-S="${WORKDIR}/${P%%_*}"
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${P}-flags.patch" \
- "${FILESDIR}/${P}-ld_preload.patch" \
- "${FILESDIR}/${P}-rename.patch" \
- "${FILESDIR}/${P}-bsd.patch" \
- "${FILESDIR}/${P}-poll.patch"
- use tordns && epatch "../${PN}-${PV/_beta/b}-tordns1-gentoo-r3.patch"
-
- sed -i 's/TSOCKS_CONFFILE/TSOCKS_CONF_FILE/' tsocks.8 || die "sed tsocks.8 failed"
-
- mv configure.in configure.ac || die
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- tc-export CC
-
- # NOTE: the docs say to install it into /lib. If you put it into
- # /usr/lib and add it to /etc/ld.so.preload on many systems /usr isn't
- # mounted in time :-( (Ben Lutgens) <lamer@gentoo.org>
- econf \
- $(use_enable dns socksdns) \
- $(use_enable envconf) \
- $(use_enable server-lookups hostnames) \
- --with-conf="${EPREFIX}"/etc/socks/tsocks.conf \
- --libdir="${EPREFIX}"/$(get_libdir)
-}
-
-multilib_src_compile() {
- # Fix QA notice lack of SONAME
- emake DYNLIB_FLAGS=-Wl,--soname,libtsocks.so.${PV/_beta*}
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- if multilib_is_native_abi; then
- newbin validateconf tsocks-validateconf
- newbin saveme tsocks-saveme
- dobin inspectsocks
- insinto /etc/socks
- doins tsocks.conf.*.example
- dodoc FAQ
- use tordns && dodoc README*
- fi
-}
-
-pkg_postinst() {
- einfo "Make sure you create /etc/socks/tsocks.conf from one of the examples in that directory"
- einfo "The following executables have been renamed:"
- einfo " /usr/bin/saveme renamed to tsocks-saveme"
- einfo " /usr/bin/validateconf renamed to tsocks-validateconf"
-}
diff --git a/net-proxy/tsocks/tsocks-1.8_beta5-r9.ebuild b/net-proxy/tsocks/tsocks-1.8_beta5-r9.ebuild
index 63bfc1fbe7c9..9835be1b173e 100644
--- a/net-proxy/tsocks/tsocks-1.8_beta5-r9.ebuild
+++ b/net-proxy/tsocks/tsocks-1.8_beta5-r9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="mirror://sourceforge/tsocks/${PN}-${PV/_}.tar.gz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="debug dns envconf tordns server-lookups"
REQUIRED_USE="
diff --git a/net-proxy/wwwoffle/metadata.xml b/net-proxy/wwwoffle/metadata.xml
index 682c98a3cc5f..1d20b26c6923 100644
--- a/net-proxy/wwwoffle/metadata.xml
+++ b/net-proxy/wwwoffle/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>The wwwoffled program is a simple proxy server with special features for use
diff --git a/net-proxy/wwwoffle/wwwoffle-2.9i-r1.ebuild b/net-proxy/wwwoffle/wwwoffle-2.9i-r2.ebuild
index 9ad5008d950c..433016cae157 100644
--- a/net-proxy/wwwoffle/wwwoffle-2.9i-r1.ebuild
+++ b/net-proxy/wwwoffle/wwwoffle-2.9i-r2.ebuild
@@ -1,39 +1,45 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit eutils user
+EAPI=7
DESCRIPTION="Web caching proxy suitable for non-permanent Internet connections"
HOMEPAGE="https://www.gedanken.org.uk/software/wwwoffle/"
SRC_URI="https://www.gedanken.org.uk/software/${PN}/download/${P}.tgz"
-KEYWORDS="amd64 ppc ppc64 sparc x86"
+KEYWORDS="amd64 ppc ppc64 ~riscv sparc x86"
SLOT="0"
LICENSE="GPL-2"
IUSE="gnutls ipv6 zlib"
-RDEPEND="gnutls? ( net-libs/gnutls )
- zlib? ( sys-libs/zlib )"
-DEPEND="dev-lang/perl
- sys-devel/flex
- ${RDEPEND}"
-
+RDEPEND="
+ acct-group/wwwoffle
+ acct-user/wwwoffle
+ gnutls? ( net-libs/gnutls )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="
+ dev-lang/perl
+ app-alternatives/lex
+ ${RDEPEND}
+"
# Unsure whether to depend on >=www-misc/htdig-3.1.6-r4 or not
+PATCHES=( "${FILESDIR}"/${PN}-2.9i-define.patch )
+
src_prepare() {
- eapply "${FILESDIR}"/${PN}-2.9i-define.patch
- sed -i cache/Makefile.in \
- -e 's#$(TAR) xpf #$(TAR) --no-same-owner -xpf #' \
- || die
default
+ sed -e 's#$(TAR) xpf #$(TAR) --no-same-owner -xpf #' -i cache/Makefile.in || die
}
src_configure() {
- econf \
- $(use_with gnutls) \
- $(use_with ipv6) \
+ local myeconfargs=(
+ $(use_with gnutls)
+ $(use_with ipv6)
$(use_with zlib)
+ )
+
+ econf "${myeconfargs[@]}"
}
src_install() {
@@ -57,30 +63,23 @@ src_install() {
done
# empty dirs are removed during update
- keepdir \
- /var/spool/wwwoffle/search/{mnogosearch/db,htdig/tmp,htdig/db-lasttime,htdig/db,namazu/db}
+ keepdir /var/spool/wwwoffle/search/{mnogosearch/db,htdig/tmp,htdig/db-lasttime,htdig/db,namazu/db}
- touch \
- "${D}/var/spool/wwwoffle/search/htdig/wwwoffle-htdig.log" \
- "${D}/var/spool/wwwoffle/search/mnogosearch/wwwoffle-mnogosearch.log" \
- "${D}/var/spool/wwwoffle/search/namazu/wwwoffle-namazu.log"
+ touch "${D}/var/spool/wwwoffle/search/htdig/wwwoffle-htdig.log"
+ touch "${D}/var/spool/wwwoffle/search/mnogosearch/wwwoffle-mnogosearch.log"
+ touch "${D}/var/spool/wwwoffle/search/namazu/wwwoffle-namazu.log"
# TODO htdig indexing as part of initscripts
# robots.txt modification - /var/spool/wwwoffle/html/en
- # - remove Disallow: /index
- sed -i -e "s|Disallow:.*/index|#Disallow: /index|" "${D}/var/spool/wwwoffle/html/en/robots.txt"
+ # - remove Disallow: /index
+ sed -e "s|Disallow:.*/index|#Disallow: /index|" -i "${D}/var/spool/wwwoffle/html/en/robots.txt" || die
}
pkg_preinst() {
- # Add a wwwoffle user
- enewgroup wwwoffle
- enewuser wwwoffle -1 -1 /var/spool/wwwoffle wwwoffle
-
# Changing the user:group to wwwoffle:woffle
fowners -R wwwoffle:wwwoffle /var/spool/wwwoffle /etc/wwwoffle
- sed -i -e 's/^[# \t]\(run-[gu]id[ \t]*=[ \t]*\)[a-zA-Z0-9]*[ \t]*$/ \1wwwoffle/g' \
- "${D}/etc/wwwoffle/wwwoffle.conf"
+ sed -e 's/^[# \t]\(run-[gu]id[ \t]*=[ \t]*\)[a-zA-Z0-9]*[ \t]*$/ \1wwwoffle/g' -i "${D}/etc/wwwoffle/wwwoffle.conf" || die
}
@@ -93,10 +92,8 @@ pkg_postinst() {
[ ! -d "${ROOT}/var/spool/wwwoffle/prevout${number}" ] && \
keepdir "${ROOT}/var/spool/wwwoffle/prevout${number}"
done
- chown -R wwwoffle:wwwoffle "${ROOT}/var/spool/wwwoffle" "${ROOT}/etc/wwwoffle"
- [ -f "${T}/stopped" ] && \
- ewarn "wwwoffled was stopped. /etc/init.d/wwwoffled start to restart AFTER etc-update"
+ [ -f "${T}/stopped" ] && ewarn "wwwoffled was stopped. /etc/init.d/wwwoffled start to restart AFTER etc-update"
einfo "wwwoffled should run as an ordinary user now. The run-uid and run-gid should be set"
einfo "to \"wwwoffle\" in your /etc/wwwoffle/wwwoffle.conf. Please uncomment this if it hasn't been already"
diff --git a/net-proxy/ziproxy/Manifest b/net-proxy/ziproxy/Manifest
index 22a46e033e15..4d6c43380ed1 100644
--- a/net-proxy/ziproxy/Manifest
+++ b/net-proxy/ziproxy/Manifest
@@ -1 +1 @@
-DIST ziproxy-3.3.1.tar.xz 205972 BLAKE2B 60dde7a7da61408023d85c92b04e22e876155e90ad5541653748d7e9059a47e698767420b3f3bc072d2b23aa99b0bf0f7335965fcd519b7f34eeddc0849fb000 SHA512 bff87a63320e721091ccdcdbe409f59db7f7f681ee8b7f093f18f3c0391579a25b9a8daf6ccfea4d94384142247ce36cfaec68d294b2a23caa56ede436da2d87
+DIST ziproxy-3.3.2.tar.xz 205992 BLAKE2B 0822c54fe1448588b14fbed58d8ffce27910db78959ec1f6344dd644dfaf222ef70d4389ec9f751457991e75bfdb59a8ee3964051beae279cba3486e1af7ccb2 SHA512 9e4cca86a29d970357c14369d4c8adc1902f334a60ce8d50872c36a65cf75f580eb92e185382f4a9bcfe31ddcc3ceee4f3a8cbeea395b6c09542bce0784b0b57
diff --git a/net-proxy/ziproxy/files/ziproxy-3.3.1-giflib5.patch b/net-proxy/ziproxy/files/ziproxy-3.3.1-giflib5.patch
deleted file mode 100644
index e8404ecc47b4..000000000000
--- a/net-proxy/ziproxy/files/ziproxy-3.3.1-giflib5.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Description: Build using giflib5
-Forwarded: yes
-Author: Marcos Talau <talau@users.sourceforge.net>
-Author: Matthias Klose <doko@debian.org>
-Last-Update: 2015-11-04
-
-Index: ziproxy-3.3.1/src/image.c
-===================================================================
---- ziproxy-3.3.1.orig/src/image.c
-+++ ziproxy-3.3.1/src/image.c
-@@ -905,7 +905,11 @@ int gif2bitmap(char *inbuf, int insize,
- desc.size=insize;
- desc.x.pos=0;
-
-+#if GIFLIB_MAJOR >= 5
-+ if ((GifFile = DGifOpen((void*)&desc, &gif_mem_input, NULL)) == NULL)
-+#else
- if ((GifFile = DGifOpen((void*)&desc, &gif_mem_input)) == NULL)
-+#endif
- return( IMG_RET_ERR_UNKNOWN + IMG_RET_FLG_WHILE_DECOMP);//more possible reasons
-
- bmp = new_raw_bitmap();
-@@ -1083,7 +1087,11 @@ int gif2bitmap(char *inbuf, int insize,
- }
- bmp->pal_bpp = bmp->bpp;
-
-+#if GIFLIB_MAJOR >= 5
-+ DGifCloseFile(GifFile, NULL);
-+#else
- DGifCloseFile(GifFile);
-+#endif
- return IMG_RET_OK;
- }
-
-@@ -1738,7 +1746,11 @@ static int bitmap2jp2 (raw_bitmap *bmp,
- cmptparm->width = cwidth [cmptno];
- cmptparm->height = cheight [cmptno];
- cmptparm->prec = cbitlen [cmptno];
-+#if GIFLIB_MAJOR >= 5
-+ cmptparm->sgnd = 0; // we only generate unsigned components
-+#else
- cmptparm->sgnd = false; // we only generate unsigned components
-+#endif
-
- cshiftR [cmptno] = 8 - cbitlen [cmptno]; // calculate the resampling shift for this component
- }
diff --git a/net-proxy/ziproxy/files/ziproxy-3.3.2-Fix-clang-build-errors.patch b/net-proxy/ziproxy/files/ziproxy-3.3.2-Fix-clang-build-errors.patch
new file mode 100644
index 000000000000..cae83134d32e
--- /dev/null
+++ b/net-proxy/ziproxy/files/ziproxy-3.3.2-Fix-clang-build-errors.patch
@@ -0,0 +1,42 @@
+From b997a5283812e67992aa7e1577c7482ce5b1ce24 Mon Sep 17 00:00:00 2001
+From: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
+Date: Mon, 14 Nov 2022 19:36:05 -0600
+Subject: [PATCH] Fix clang build errors
+
+-Werror,-Wdeprecated-non-prototype
+-Werror,-Wimplicit-function-declaration
+
+Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
+---
+ src/image.c | 1 +
+ src/netd.c | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/image.c b/src/image.c
+index e7a8d8c..821f892 100644
+--- a/src/image.c
++++ b/src/image.c
+@@ -56,6 +56,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <assert.h>
+
+ #include <gif_lib.h>
+diff --git a/src/netd.c b/src/netd.c
+index 937a52e..4d4a936 100644
+--- a/src/netd.c
++++ b/src/netd.c
+@@ -84,7 +84,7 @@
+ #include "txtfiletools.h"
+ #include "session.h"
+
+-int proxy_server ();
++int proxy_server(struct in_addr *addr_low, struct in_addr *addr_high);
+ int proxy_handlereq (SOCKET sock_client, const char *client_addr, struct sockaddr_in *socket_host);
+ void process_request (const char *client_addr, struct sockaddr_in *socket_host, SOCKET sock_child_out);
+ void daemon_sigcatch (int);
+--
+2.37.4
+
diff --git a/net-proxy/ziproxy/metadata.xml b/net-proxy/ziproxy/metadata.xml
index 8f01fac0ec5f..1c7270e3d884 100644
--- a/net-proxy/ziproxy/metadata.xml
+++ b/net-proxy/ziproxy/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription lang="en">
diff --git a/net-proxy/ziproxy/ziproxy-3.3.1-r1.ebuild b/net-proxy/ziproxy/ziproxy-3.3.2.ebuild
index 7ac3b1b6f333..150e819fed4e 100644
--- a/net-proxy/ziproxy/ziproxy-3.3.1-r1.ebuild
+++ b/net-proxy/ziproxy/ziproxy-3.3.2.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit user
+EAPI=7
+
+inherit flag-o-matic
DESCRIPTION="A forwarding, non-caching, compressing web proxy server"
HOMEPAGE="http://ziproxy.sourceforge.net/"
@@ -10,26 +11,24 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-IUSE="jpeg2k sasl xinetd"
+KEYWORDS="~amd64 ~ppc ~riscv ~sparc ~x86"
+IUSE="sasl xinetd"
RDEPEND="
- media-libs/giflib:0=
- media-libs/libpng:0=
- virtual/jpeg:0
+ acct-group/ziproxy
+ acct-user/ziproxy
+ media-libs/giflib:=
+ media-libs/libpng:=
+ media-libs/libjpeg-turbo:=
sys-libs/zlib
- jpeg2k? ( media-libs/jasper:= )
sasl? ( dev-libs/cyrus-sasl )
xinetd? ( virtual/inetd )
"
DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}"/${P}-giflib5.patch )
-
-pkg_setup() {
- enewgroup ziproxy
- enewuser ziproxy -1 -1 -1 ziproxy
-}
+PATCHES=(
+ "${FILESDIR}"/${P}-Fix-clang-build-errors.patch
+)
src_prepare() {
default
@@ -49,8 +48,13 @@ src_prepare() {
}
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/861863
+ # Upstream is sourceforge and has been dead for 3 years. No upstream bug reported.
+ filter-lto
+
econf \
- $(use_with jpeg2k jasper) \
+ --without-jasper \
$(use_with sasl sasl2) \
--with-cfgfile=/etc/ziproxy/ziproxy.conf
}
@@ -59,15 +63,13 @@ src_install() {
default
dodir /usr/sbin
- mv -vf "${D}"usr/{,s}bin/ziproxy || die
+ mv -vf "${ED}"/usr/{,s}bin/ziproxy || die
dobin src/tools/ziproxy_genhtml_stats.sh
newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN}
newconfd "${FILESDIR}"/${PN}.confd ${PN}
- use jpeg2k && dodoc JPEG2000.txt
-
insinto /etc
doins -r etc/ziproxy