summaryrefslogtreecommitdiff
path: root/net-proxy/haproxy
diff options
context:
space:
mode:
Diffstat (limited to 'net-proxy/haproxy')
-rw-r--r--net-proxy/haproxy/Manifest12
-rw-r--r--net-proxy/haproxy/haproxy-2.0.25.ebuild2
-rw-r--r--net-proxy/haproxy/haproxy-2.2.17.ebuild2
-rw-r--r--net-proxy/haproxy/haproxy-2.2.18.ebuild186
-rw-r--r--net-proxy/haproxy/haproxy-2.3.15.ebuild183
-rw-r--r--net-proxy/haproxy/haproxy-2.4.4.ebuild2
-rw-r--r--net-proxy/haproxy/haproxy-2.4.8.ebuild182
7 files changed, 563 insertions, 6 deletions
diff --git a/net-proxy/haproxy/Manifest b/net-proxy/haproxy/Manifest
index e3b0dd677859..28ddc2eecfb8 100644
--- a/net-proxy/haproxy/Manifest
+++ b/net-proxy/haproxy/Manifest
@@ -4,18 +4,24 @@ DIST haproxy-2.0.24.tar.gz 2707476 BLAKE2B 98539bf4affd7efd8703d29f0ef03182f2b58
DIST haproxy-2.0.25.tar.gz 2707840 BLAKE2B cd85d233623f2791bff8ada00d9ac4ea3743e2c1fbccd45a6fd56b7cc0ae5904619b50849a23576f0a6d21ae2798166acd41692d0311bcf361355dc6ee0da790 SHA512 2c238844a8c82f877d3039b20b76fd22717f95a4e5d94a0bfd501c6e134042ef744d3731fc0ccced0a94e5cb1c1822d3272ed961e07bd9acc4d637eba0529155
DIST haproxy-2.2.16.tar.gz 2933121 BLAKE2B 89fa4ee3baf2823cab0f664d95c0a00c345f913d059604a6cdd1906b6883b5baec0a0dbaa1badd0b512d4ae953d66e16832bd9b7169f065f97d5ced65aa8ed7f SHA512 5a1e3e8f7c6ce995c5ba9416862622143054abeadd3f2b94acef73267440d941f52c18467eed500af098bdaba8e3ae3054101371f1903e60605443ca9d36335e
DIST haproxy-2.2.17.tar.gz 2933836 BLAKE2B 750d2c5048f994442d13c05ce6624731d296462951ee2e86110467d517a6708b498e98260a3f0770e110dc5c2cb2bdd746fb76f23ba7cebc1642b0b9c8124a67 SHA512 174197e1e0915a6ae6062b9a070f16102ac7f3429f991f36cdb2e2cce587bd26059bd1dc71a368f904bcdecd292ab5926715160400ae96d498d902aac356864f
+DIST haproxy-2.2.18.tar.gz 2940789 BLAKE2B e932c53b67052a2696a00cc9e0ee79ca2c7bdc5ba51bbb6c5bf3e7d5ef8bcf3c4e0f6524d40bcbc3342f86c3ddec6e27a0a2ad329ee5ad510260dc2f24b3913b SHA512 255b5d5984578a8d018b80e213ff2bca583de30d835aa3de345fabb05c229277d18007251b441dfdbf863e0297a2fa6e08e41b7b57dd76eba7f2e50879ae2cfa
DIST haproxy-2.3.14.tar.gz 2954299 BLAKE2B 656108e3860ee2f174b218eda362aa9b1fff56fed3f9a4cf7fb491342fb4379d84ead4754a5f422d6763fdb6ead6f0f20217763abc1082cbbf355b095a467da2 SHA512 4e008b79b809dfc32b18728e0a39e7d78cbbbda61d33514cc40034916d46b9df3398bed0f6deda03216a82b5debb08cf91120d841a988bff2385fdc0508a326d
+DIST haproxy-2.3.15.tar.gz 2962490 BLAKE2B ac55ddc8f73a8c727483e431a0eae4fa63adbfe4c6f38ed21eccc6ddffca23417ae05735d0b662473010c5fc375ab1c052a9576d7584f8224ef9c2dec6863de0 SHA512 cbb8360c51edaf0112758ebfdb284779f5345598408a94118bde7bfe2ea56a01db020a249b569937ae17b3aab14b9b958b56968135d186a06d7d194242268547
DIST haproxy-2.4.4.tar.gz 3587306 BLAKE2B 983f5919b738419d616b35c1cad6aa2400b0b857160ecfac3bcdfcc14c15280283ae3f33036652a3a9b5bfff0fbb6a54912807ea7c83c828d2b5ba72274fe1a8 SHA512 a8987e8342fdbec7e48de09a4391a67e77e05493260e0e561e8c185b6457b8e1086cc45ce04ebf3365699c008dff81667490e2fe99c33c0ac3c7513df8ae025c
DIST haproxy-2.4.7.tar.gz 3594183 BLAKE2B 170697fd7bcb886033d4dba5a9f7b7289cb651b82f3959354e393553fdac8fe8470cfacbece46f801a0e3f35d418d304f189e1f14c7142047ffb81f37c38251f SHA512 7ad8e9bd506d6f5919ff9ea97b08a4ec283bf580baefc7945632ea5a88a73081bb3d82586855efc7b7b9194558f12823c26b7a7498ac08c3efc158ea6583ec9f
+DIST haproxy-2.4.8.tar.gz 3599555 BLAKE2B 6b5a6460be73c643ab9606f65e5ba35250233845ae8cd2decbc19df05ef28c2868d8f331e8a18d96555f292ceee179abd5ae99da11c1c4d98a503b1b9b2c16d3 SHA512 8e1d28191a8c26d46989359a213444f30a09e439d32b5ab6cb01a3ca267788fc7677dd14deaa43a7f6c7741cbf6c8fcf6cdd5cf927d23e48f82b9e7723d8a6f9
EBUILD haproxy-2.0.24.ebuild 5486 BLAKE2B 2ecd95883ad3d19c067d07493bf9cfa254fed562798002d8640d9ca754f2f4c415b58aed405547107332ff9ca8404e2e95319735874e455a98087d8d236c5500 SHA512 4d77e92faebc06ecf562e52a02cf1b11b1ca77bef89347680372d4f9cadf1fd6e7c2f737582232630f981adb43be40ab222543794f82c11d656550953da4eb08
-EBUILD haproxy-2.0.25.ebuild 5488 BLAKE2B 8ba73bc50ad402aa959dcb26f590ed6c7d8083dced892e12f9307a10d6f2bb761e11241102e6bb4d97dd8736b86f60392deeccb219d0aaffe27ec8daa1a79bb8 SHA512 917284c46bc1e150ef27b73f261428a50258045559c5c87c4bbbac99ba39d3a1ad242e9d174ac071825062502a71479b4076fbdb8f8ed08b1005b5d139e5967a
+EBUILD haproxy-2.0.25.ebuild 5487 BLAKE2B 5b4622a59d896e74f01849dc5ed28b468b8e38174b5e8c41aa9a3ea38a4b77143b8aa36902781829159981455a37e3c4dd7a399934969b65c1cdd8d1ddf6a5d6 SHA512 b11b191ccbcd769b67c1343b643e244dafa529cd8e9c25474430dd559654782ade68262b6734796f02d7a89af864d0aca9501a5d219c448e30ae92371759c4d5
EBUILD haproxy-2.0.9999.ebuild 5490 BLAKE2B 45ea05b024fc7ec5091ac02d463c93bcb1c2724ad10d9932c51e1f442fab6dd8d679f52ce9063b38b301ac0debeffb71fee36c921394e35c88d1111165db3eed SHA512 edca75adabb740058a2699efc0dc1706499b10249b7079ff646ae402b89bb47194c55a546e18c6e8e7afdd9f394744bdde09bea130b31d8f871aa4d951d3d838
EBUILD haproxy-2.2.16.ebuild 5486 BLAKE2B 2ecd95883ad3d19c067d07493bf9cfa254fed562798002d8640d9ca754f2f4c415b58aed405547107332ff9ca8404e2e95319735874e455a98087d8d236c5500 SHA512 4d77e92faebc06ecf562e52a02cf1b11b1ca77bef89347680372d4f9cadf1fd6e7c2f737582232630f981adb43be40ab222543794f82c11d656550953da4eb08
-EBUILD haproxy-2.2.17.ebuild 5488 BLAKE2B 8ba73bc50ad402aa959dcb26f590ed6c7d8083dced892e12f9307a10d6f2bb761e11241102e6bb4d97dd8736b86f60392deeccb219d0aaffe27ec8daa1a79bb8 SHA512 917284c46bc1e150ef27b73f261428a50258045559c5c87c4bbbac99ba39d3a1ad242e9d174ac071825062502a71479b4076fbdb8f8ed08b1005b5d139e5967a
+EBUILD haproxy-2.2.17.ebuild 5487 BLAKE2B 5b4622a59d896e74f01849dc5ed28b468b8e38174b5e8c41aa9a3ea38a4b77143b8aa36902781829159981455a37e3c4dd7a399934969b65c1cdd8d1ddf6a5d6 SHA512 b11b191ccbcd769b67c1343b643e244dafa529cd8e9c25474430dd559654782ade68262b6734796f02d7a89af864d0aca9501a5d219c448e30ae92371759c4d5
+EBUILD haproxy-2.2.18.ebuild 5490 BLAKE2B 45ea05b024fc7ec5091ac02d463c93bcb1c2724ad10d9932c51e1f442fab6dd8d679f52ce9063b38b301ac0debeffb71fee36c921394e35c88d1111165db3eed SHA512 edca75adabb740058a2699efc0dc1706499b10249b7079ff646ae402b89bb47194c55a546e18c6e8e7afdd9f394744bdde09bea130b31d8f871aa4d951d3d838
EBUILD haproxy-2.2.9999.ebuild 5490 BLAKE2B 45ea05b024fc7ec5091ac02d463c93bcb1c2724ad10d9932c51e1f442fab6dd8d679f52ce9063b38b301ac0debeffb71fee36c921394e35c88d1111165db3eed SHA512 edca75adabb740058a2699efc0dc1706499b10249b7079ff646ae402b89bb47194c55a546e18c6e8e7afdd9f394744bdde09bea130b31d8f871aa4d951d3d838
EBUILD haproxy-2.3.14.ebuild 5399 BLAKE2B 2218acf89a281aa07ce2d3f04c7503ef51a2555497a5c07fe711a475eb38b9a270f32079dffdc90ca845f1a500a5627e343d83587cded0a5bbfe49bf8fad9a6c SHA512 9444abf8051470c06d24647b39254b32c90753419277b7448a2bd972b497b64827cb116ec802dd45f53ec37aec5509cea76065302b5e458e12f92fa727268bef
+EBUILD haproxy-2.3.15.ebuild 5399 BLAKE2B 2218acf89a281aa07ce2d3f04c7503ef51a2555497a5c07fe711a475eb38b9a270f32079dffdc90ca845f1a500a5627e343d83587cded0a5bbfe49bf8fad9a6c SHA512 9444abf8051470c06d24647b39254b32c90753419277b7448a2bd972b497b64827cb116ec802dd45f53ec37aec5509cea76065302b5e458e12f92fa727268bef
EBUILD haproxy-2.3.9999.ebuild 5399 BLAKE2B 2218acf89a281aa07ce2d3f04c7503ef51a2555497a5c07fe711a475eb38b9a270f32079dffdc90ca845f1a500a5627e343d83587cded0a5bbfe49bf8fad9a6c SHA512 9444abf8051470c06d24647b39254b32c90753419277b7448a2bd972b497b64827cb116ec802dd45f53ec37aec5509cea76065302b5e458e12f92fa727268bef
-EBUILD haproxy-2.4.4.ebuild 5707 BLAKE2B 057867d274405adc355c9f070f80babd176406277b441a0e7a7d70dade8422c7af5d0cc227a1f9379d92a8cb83ba3a85d4667e9c42b106f5c1fc95c1babffb8b SHA512 ba831d93757f5af87214b5586a3ab267fe78a44474d15ed0ea8a45e2ac8a13f476361c1087d0a136d33528cacf1f3f273a66ca6de7762a64fedaa86771a1c261
+EBUILD haproxy-2.4.4.ebuild 5706 BLAKE2B 07ff20f07613964cf6edb82029db5853f2f907e3a0a605a8a8d42ef53d095ccbce4e428f56282853f5c37db6b6522e23db7c468e8b7d65f90fcbc0555246166a SHA512 e60e57ea06faad0a1bcfeb05bff79b00d44300b8c18736ff45696e04a75cb28fce127bc7126d1f6a928af5dc3037afd9dac050b4043b1014a1fc14f0c3bea8ff
EBUILD haproxy-2.4.7.ebuild 5709 BLAKE2B c070ea3251365e3608ea3434e789400cc6be5ac7f617be53f3064d4d0e7b631c39d165b43240ffb66f73cff47971fb60e1e291324ca3cce5ffd17f24e1baf5c2 SHA512 065053f7ed59729308da473cd55324ac43e799c43c6d7a1af0c96ef5dd7476cfc54f4fb1ce517fd8601584704c55d98e339e30d8f80771b295084f49f60def4a
+EBUILD haproxy-2.4.8.ebuild 5709 BLAKE2B c070ea3251365e3608ea3434e789400cc6be5ac7f617be53f3064d4d0e7b631c39d165b43240ffb66f73cff47971fb60e1e291324ca3cce5ffd17f24e1baf5c2 SHA512 065053f7ed59729308da473cd55324ac43e799c43c6d7a1af0c96ef5dd7476cfc54f4fb1ce517fd8601584704c55d98e339e30d8f80771b295084f49f60def4a
EBUILD haproxy-2.4.9999.ebuild 5709 BLAKE2B c070ea3251365e3608ea3434e789400cc6be5ac7f617be53f3064d4d0e7b631c39d165b43240ffb66f73cff47971fb60e1e291324ca3cce5ffd17f24e1baf5c2 SHA512 065053f7ed59729308da473cd55324ac43e799c43c6d7a1af0c96ef5dd7476cfc54f4fb1ce517fd8601584704c55d98e339e30d8f80771b295084f49f60def4a
MISC metadata.xml 2149 BLAKE2B 477f1df5845a701354bf2efc6f4b61792272c96ccdef50c997a8f8177640e170e81b448fa6be597fba8d32f4657ef105c2a5a9e3aa9681eab25589c2c1ebdb94 SHA512 95cc58d090b0f1a2ef7d3ab0f51074887a837394c826721490a4a6eee0695e64833bb4e04f308c55335f719ef3ace5507546fb9fbc1477919012d70d2d3f01a4
diff --git a/net-proxy/haproxy/haproxy-2.0.25.ebuild b/net-proxy/haproxy/haproxy-2.0.25.ebuild
index f682da568b6a..462ffc137f9c 100644
--- a/net-proxy/haproxy/haproxy-2.0.25.ebuild
+++ b/net-proxy/haproxy/haproxy-2.0.25.ebuild
@@ -14,7 +14,7 @@ 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"
+ KEYWORDS="amd64 arm ~ppc x86"
else
EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
EGIT_BRANCH=master
diff --git a/net-proxy/haproxy/haproxy-2.2.17.ebuild b/net-proxy/haproxy/haproxy-2.2.17.ebuild
index f682da568b6a..462ffc137f9c 100644
--- a/net-proxy/haproxy/haproxy-2.2.17.ebuild
+++ b/net-proxy/haproxy/haproxy-2.2.17.ebuild
@@ -14,7 +14,7 @@ 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"
+ KEYWORDS="amd64 arm ~ppc x86"
else
EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
EGIT_BRANCH=master
diff --git a/net-proxy/haproxy/haproxy-2.2.18.ebuild b/net-proxy/haproxy/haproxy-2.2.18.ebuild
new file mode 100644
index 000000000000..894bf001b81c
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.2.18.ebuild
@@ -0,0 +1,186 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs flag-o-matic lua-single 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/$(ver_cut 1-2)"
+IUSE="+crypt doc examples slz +net_ns +pcre pcre-jit pcre2 pcre2-jit prometheus-exporter
+ssl systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ pcre2-jit? ( pcre2 )
+ pcre? ( !pcre2 )
+ lua? ( ${LUA_REQUIRED_USE} )
+ device-atlas? ( pcre )
+ ?? ( slz zlib )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre
+ pcre-jit? ( dev-libs/libpcre[jit] )
+ )
+ pcre2? (
+ dev-libs/libpcre2:=
+ pcre2-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ slz? ( dev-libs/libslz:= )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ device-atlas? ( dev-libs/device-atlas-api-c )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+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() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ TARGET=linux-glibc
+ )
+
+ # 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
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ if use prometheus-exporter; then
+ EXTRA_OBJS="contrib/prometheus-exporter/service-prometheus.o"
+ 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}" ${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 doc/seamless_reload.txt
+ fi
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins contrib/syntax-highlight/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.3.15.ebuild b/net-proxy/haproxy/haproxy-2.3.15.ebuild
new file mode 100644
index 000000000000..d2978148fb5c
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.3.15.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs flag-o-matic lua-single 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 ~arm64 ~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/$(ver_cut 1-2)"
+IUSE="+crypt doc examples slz +net_ns +pcre pcre-jit pcre2 pcre2-jit prometheus-exporter
+ssl systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ pcre2-jit? ( pcre2 )
+ pcre? ( !pcre2 )
+ lua? ( ${LUA_REQUIRED_USE} )
+ device-atlas? ( pcre )
+ ?? ( slz zlib )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre
+ pcre-jit? ( dev-libs/libpcre[jit] )
+ )
+ pcre2? (
+ dev-libs/libpcre2:=
+ pcre2-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ slz? ( dev-libs/libslz:= )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ device-atlas? ( dev-libs/device-atlas-api-c )"
+RDEPEND="${DEPEND}
+ acct-group/haproxy
+ acct-user/haproxy"
+
+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() {
+ use lua && lua-single_pkg_setup
+ if use net_ns; then
+ CONFIG_CHECK="~NET_NS"
+ linux-info_pkg_setup
+ fi
+}
+
+src_compile() {
+ local -a args=(
+ V=1
+ TARGET=linux-glibc
+ )
+
+ # 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) )
+
+ # Bug #668002
+ if use ppc || use arm || use hppa; then
+ TARGET_LDFLAGS=-latomic
+ fi
+
+ if use prometheus-exporter; then
+ EXTRA_OBJS="contrib/prometheus-exporter/service-prometheus.o"
+ 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}" ${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 doc/seamless_reload.txt
+ fi
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins contrib/syntax-highlight/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.4.ebuild b/net-proxy/haproxy/haproxy-2.4.4.ebuild
index 0bad619b4a91..5928f4da6cd6 100644
--- a/net-proxy/haproxy/haproxy-2.4.4.ebuild
+++ b/net-proxy/haproxy/haproxy-2.4.4.ebuild
@@ -14,7 +14,7 @@ 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 ~arm64 ~ppc x86"
+ KEYWORDS="amd64 arm ~arm64 ~ppc x86"
else
EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
EGIT_BRANCH=master
diff --git a/net-proxy/haproxy/haproxy-2.4.8.ebuild b/net-proxy/haproxy/haproxy-2.4.8.ebuild
new file mode 100644
index 000000000000..5c4cee22742d
--- /dev/null
+++ b/net-proxy/haproxy/haproxy-2.4.8.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+LUA_COMPAT=( lua5-3 )
+
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+inherit toolchain-funcs flag-o-matic lua-single 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 ~arm64 ~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/$(ver_cut 1-2)"
+IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit pcre2 pcre2-jit prometheus-exporter
+ssl systemd +threads tools vim-syntax zlib lua device-atlas 51degrees wurfl"
+REQUIRED_USE="pcre-jit? ( pcre )
+ pcre2-jit? ( pcre2 )
+ pcre? ( !pcre2 )
+ lua? ( ${LUA_REQUIRED_USE} )
+ device-atlas? ( pcre )
+ ?? ( slz zlib )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ crypt? ( virtual/libcrypt:= )
+ pcre? (
+ dev-libs/libpcre
+ pcre-jit? ( dev-libs/libpcre[jit] )
+ )
+ pcre2? (
+ dev-libs/libpcre2:=
+ pcre2-jit? ( dev-libs/libpcre2:=[jit] )
+ )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ systemd? ( sys-apps/systemd )
+ zlib? ( sys-libs/zlib )
+ lua? ( ${LUA_DEPS} )
+ device-atlas? ( dev-libs/device-atlas-api-c )"
+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_compile() {
+ local -a args=(
+ V=1
+ TARGET=linux-glibc
+ )
+
+ # 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) )
+ 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=${ERROT}/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=${ERROT}/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=${ERROT}/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=${ERROT}/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_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 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
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins admin/syntax-highlight/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
+}