Gentoo Archives: gentoo-commits

From: Christian Ruppert <idl0r@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-proxy/haproxy/
Date: Wed, 24 Nov 2021 11:13:44
Message-Id: 1637752413.d0d19388fed263d2e495337b6bdd521737de3065.idl0r@gentoo
1 commit: d0d19388fed263d2e495337b6bdd521737de3065
2 Author: Christian Ruppert <idl0r <AT> gentoo <DOT> org>
3 AuthorDate: Wed Nov 24 11:03:27 2021 +0000
4 Commit: Christian Ruppert <idl0r <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 24 11:13:33 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0d19388
7
8 net-proxy/haproxy: Drop 2.3 as it will be EoL 2022-Q1 anyway
9
10 Package-Manager: Portage-3.0.28, Repoman-3.0.3
11 Signed-off-by: Christian Ruppert <idl0r <AT> gentoo.org>
12
13 net-proxy/haproxy/Manifest | 2 -
14 net-proxy/haproxy/haproxy-2.3.14.ebuild | 183 ------------------------------
15 net-proxy/haproxy/haproxy-2.3.15.ebuild | 183 ------------------------------
16 net-proxy/haproxy/haproxy-2.3.9999.ebuild | 183 ------------------------------
17 4 files changed, 551 deletions(-)
18
19 diff --git a/net-proxy/haproxy/Manifest b/net-proxy/haproxy/Manifest
20 index d0aebc6198bf..07514ccdfc16 100644
21 --- a/net-proxy/haproxy/Manifest
22 +++ b/net-proxy/haproxy/Manifest
23 @@ -1,8 +1,6 @@
24 DIST haproxy-2.0.25.tar.gz 2707840 BLAKE2B cd85d233623f2791bff8ada00d9ac4ea3743e2c1fbccd45a6fd56b7cc0ae5904619b50849a23576f0a6d21ae2798166acd41692d0311bcf361355dc6ee0da790 SHA512 2c238844a8c82f877d3039b20b76fd22717f95a4e5d94a0bfd501c6e134042ef744d3731fc0ccced0a94e5cb1c1822d3272ed961e07bd9acc4d637eba0529155
25 DIST haproxy-2.2.17.tar.gz 2933836 BLAKE2B 750d2c5048f994442d13c05ce6624731d296462951ee2e86110467d517a6708b498e98260a3f0770e110dc5c2cb2bdd746fb76f23ba7cebc1642b0b9c8124a67 SHA512 174197e1e0915a6ae6062b9a070f16102ac7f3429f991f36cdb2e2cce587bd26059bd1dc71a368f904bcdecd292ab5926715160400ae96d498d902aac356864f
26 DIST haproxy-2.2.18.tar.gz 2940789 BLAKE2B e932c53b67052a2696a00cc9e0ee79ca2c7bdc5ba51bbb6c5bf3e7d5ef8bcf3c4e0f6524d40bcbc3342f86c3ddec6e27a0a2ad329ee5ad510260dc2f24b3913b SHA512 255b5d5984578a8d018b80e213ff2bca583de30d835aa3de345fabb05c229277d18007251b441dfdbf863e0297a2fa6e08e41b7b57dd76eba7f2e50879ae2cfa
27 -DIST haproxy-2.3.14.tar.gz 2954299 BLAKE2B 656108e3860ee2f174b218eda362aa9b1fff56fed3f9a4cf7fb491342fb4379d84ead4754a5f422d6763fdb6ead6f0f20217763abc1082cbbf355b095a467da2 SHA512 4e008b79b809dfc32b18728e0a39e7d78cbbbda61d33514cc40034916d46b9df3398bed0f6deda03216a82b5debb08cf91120d841a988bff2385fdc0508a326d
28 -DIST haproxy-2.3.15.tar.gz 2962490 BLAKE2B ac55ddc8f73a8c727483e431a0eae4fa63adbfe4c6f38ed21eccc6ddffca23417ae05735d0b662473010c5fc375ab1c052a9576d7584f8224ef9c2dec6863de0 SHA512 cbb8360c51edaf0112758ebfdb284779f5345598408a94118bde7bfe2ea56a01db020a249b569937ae17b3aab14b9b958b56968135d186a06d7d194242268547
29 DIST haproxy-2.4.4.tar.gz 3587306 BLAKE2B 983f5919b738419d616b35c1cad6aa2400b0b857160ecfac3bcdfcc14c15280283ae3f33036652a3a9b5bfff0fbb6a54912807ea7c83c828d2b5ba72274fe1a8 SHA512 a8987e8342fdbec7e48de09a4391a67e77e05493260e0e561e8c185b6457b8e1086cc45ce04ebf3365699c008dff81667490e2fe99c33c0ac3c7513df8ae025c
30 DIST haproxy-2.4.7.tar.gz 3594183 BLAKE2B 170697fd7bcb886033d4dba5a9f7b7289cb651b82f3959354e393553fdac8fe8470cfacbece46f801a0e3f35d418d304f189e1f14c7142047ffb81f37c38251f SHA512 7ad8e9bd506d6f5919ff9ea97b08a4ec283bf580baefc7945632ea5a88a73081bb3d82586855efc7b7b9194558f12823c26b7a7498ac08c3efc158ea6583ec9f
31 DIST haproxy-2.4.8.tar.gz 3599555 BLAKE2B 6b5a6460be73c643ab9606f65e5ba35250233845ae8cd2decbc19df05ef28c2868d8f331e8a18d96555f292ceee179abd5ae99da11c1c4d98a503b1b9b2c16d3 SHA512 8e1d28191a8c26d46989359a213444f30a09e439d32b5ab6cb01a3ca267788fc7677dd14deaa43a7f6c7741cbf6c8fcf6cdd5cf927d23e48f82b9e7723d8a6f9
32
33 diff --git a/net-proxy/haproxy/haproxy-2.3.14.ebuild b/net-proxy/haproxy/haproxy-2.3.14.ebuild
34 deleted file mode 100644
35 index d2978148fb5c..000000000000
36 --- a/net-proxy/haproxy/haproxy-2.3.14.ebuild
37 +++ /dev/null
38 @@ -1,183 +0,0 @@
39 -# Copyright 1999-2021 Gentoo Authors
40 -# Distributed under the terms of the GNU General Public License v2
41 -
42 -EAPI="7"
43 -
44 -LUA_COMPAT=( lua5-3 )
45 -
46 -[[ ${PV} == *9999 ]] && SCM="git-r3"
47 -inherit toolchain-funcs flag-o-matic lua-single systemd linux-info ${SCM}
48 -
49 -MY_P="${PN}-${PV/_beta/-dev}"
50 -
51 -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
52 -HOMEPAGE="http://www.haproxy.org"
53 -if [[ ${PV} != *9999 ]]; then
54 - SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz"
55 - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
56 -else
57 - EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
58 - EGIT_BRANCH=master
59 -fi
60 -
61 -LICENSE="GPL-2 LGPL-2.1"
62 -SLOT="0/$(ver_cut 1-2)"
63 -IUSE="+crypt doc examples slz +net_ns +pcre pcre-jit pcre2 pcre2-jit prometheus-exporter
64 -ssl systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
65 -REQUIRED_USE="pcre-jit? ( pcre )
66 - pcre2-jit? ( pcre2 )
67 - pcre? ( !pcre2 )
68 - lua? ( ${LUA_REQUIRED_USE} )
69 - device-atlas? ( pcre )
70 - ?? ( slz zlib )"
71 -
72 -BDEPEND="virtual/pkgconfig"
73 -DEPEND="
74 - crypt? ( virtual/libcrypt:= )
75 - pcre? (
76 - dev-libs/libpcre
77 - pcre-jit? ( dev-libs/libpcre[jit] )
78 - )
79 - pcre2? (
80 - dev-libs/libpcre2:=
81 - pcre2-jit? ( dev-libs/libpcre2:=[jit] )
82 - )
83 - ssl? (
84 - dev-libs/openssl:0=
85 - )
86 - slz? ( dev-libs/libslz:= )
87 - systemd? ( sys-apps/systemd )
88 - zlib? ( sys-libs/zlib )
89 - lua? ( ${LUA_DEPS} )
90 - device-atlas? ( dev-libs/device-atlas-api-c )"
91 -RDEPEND="${DEPEND}
92 - acct-group/haproxy
93 - acct-user/haproxy"
94 -
95 -S="${WORKDIR}/${MY_P}"
96 -
97 -DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
98 -CONTRIBS=( halog iprange )
99 -# ip6range is present in 1.6, but broken.
100 -ver_test ${PV} -ge 1.7.0 && CONTRIBS+=( ip6range spoa_example tcploop )
101 -# TODO: mod_defender - requires apache / APR, modsecurity - the same
102 -ver_test ${PV} -ge 1.8.0 && CONTRIBS+=( hpack )
103 -
104 -haproxy_use() {
105 - (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
106 -
107 - usex "${1}" "USE_${2}=1" "USE_${2}="
108 -}
109 -
110 -pkg_setup() {
111 - use lua && lua-single_pkg_setup
112 - if use net_ns; then
113 - CONFIG_CHECK="~NET_NS"
114 - linux-info_pkg_setup
115 - fi
116 -}
117 -
118 -src_compile() {
119 - local -a args=(
120 - V=1
121 - TARGET=linux-glibc
122 - )
123 -
124 - # TODO: PCRE2_WIDTH?
125 - args+=( $(haproxy_use threads THREAD) )
126 - args+=( $(haproxy_use crypt LIBCRYPT) )
127 - args+=( $(haproxy_use net_ns NS) )
128 - args+=( $(haproxy_use pcre PCRE) )
129 - args+=( $(haproxy_use pcre-jit PCRE_JIT) )
130 - args+=( $(haproxy_use pcre2 PCRE2) )
131 - args+=( $(haproxy_use pcre2-jit PCRE2_JIT) )
132 - args+=( $(haproxy_use ssl OPENSSL) )
133 - args+=( $(haproxy_use slz SLZ) )
134 - args+=( $(haproxy_use zlib ZLIB) )
135 - args+=( $(haproxy_use lua LUA) )
136 - args+=( $(haproxy_use 51degrees 51DEGREES) )
137 - args+=( $(haproxy_use device-atlas DEVICEATLAS) )
138 - args+=( $(haproxy_use wurfl WURFL) )
139 - args+=( $(haproxy_use systemd SYSTEMD) )
140 -
141 - # Bug #668002
142 - if use ppc || use arm || use hppa; then
143 - TARGET_LDFLAGS=-latomic
144 - fi
145 -
146 - if use prometheus-exporter; then
147 - EXTRA_OBJS="contrib/prometheus-exporter/service-prometheus.o"
148 - fi
149 -
150 - # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
151 - emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" ${args[@]}
152 - emake -C contrib/systemd SBINDIR=/usr/sbin
153 -
154 - if use tools ; then
155 - for contrib in ${CONTRIBS[@]} ; do
156 - # Those two includes are a workaround for hpack Makefile missing those
157 - emake -C contrib/${contrib} \
158 - CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
159 - done
160 - fi
161 -}
162 -
163 -src_install() {
164 - dosbin haproxy
165 - dosym ../sbin/haproxy /usr/bin/haproxy
166 -
167 - newconfd "${FILESDIR}/${PN}.confd" ${PN}
168 - newinitd "${FILESDIR}/${PN}.initd-r6" ${PN}
169 -
170 - doman doc/haproxy.1
171 -
172 - systemd_dounit contrib/systemd/haproxy.service
173 -
174 - einstalldocs
175 -
176 - # The errorfiles are used by upstream defaults.
177 - insinto /etc/haproxy/errors/
178 - doins examples/errorfiles/*
179 -
180 - if use doc; then
181 - dodoc ROADMAP doc/*.txt
182 - #if use lua; then
183 - # TODO: doc/lua-api/
184 - #fi
185 - fi
186 -
187 - if use tools ; then
188 - has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
189 - has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
190 - has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
191 - has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
192 - has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
193 - has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
194 - has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
195 - fi
196 -
197 - if use examples ; then
198 - docinto examples
199 - dodoc examples/*.cfg
200 - dodoc doc/seamless_reload.txt
201 - fi
202 -
203 - if use vim-syntax ; then
204 - insinto /usr/share/vim/vimfiles/syntax
205 - doins contrib/syntax-highlight/haproxy.vim
206 - fi
207 -}
208 -
209 -pkg_postinst() {
210 - if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
211 - ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
212 - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
213 - ewarn "Make use of them with the \"user\" and \"group\" directives."
214 -
215 - if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
216 - einfo "Please consult the installed documentation for learning the configuration file's syntax."
217 - einfo "The documentation and sample configuration files are installed here:"
218 - einfo " ${EROOT}/usr/share/doc/${PF}"
219 - fi
220 - fi
221 -}
222
223 diff --git a/net-proxy/haproxy/haproxy-2.3.15.ebuild b/net-proxy/haproxy/haproxy-2.3.15.ebuild
224 deleted file mode 100644
225 index d2978148fb5c..000000000000
226 --- a/net-proxy/haproxy/haproxy-2.3.15.ebuild
227 +++ /dev/null
228 @@ -1,183 +0,0 @@
229 -# Copyright 1999-2021 Gentoo Authors
230 -# Distributed under the terms of the GNU General Public License v2
231 -
232 -EAPI="7"
233 -
234 -LUA_COMPAT=( lua5-3 )
235 -
236 -[[ ${PV} == *9999 ]] && SCM="git-r3"
237 -inherit toolchain-funcs flag-o-matic lua-single systemd linux-info ${SCM}
238 -
239 -MY_P="${PN}-${PV/_beta/-dev}"
240 -
241 -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
242 -HOMEPAGE="http://www.haproxy.org"
243 -if [[ ${PV} != *9999 ]]; then
244 - SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz"
245 - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
246 -else
247 - EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
248 - EGIT_BRANCH=master
249 -fi
250 -
251 -LICENSE="GPL-2 LGPL-2.1"
252 -SLOT="0/$(ver_cut 1-2)"
253 -IUSE="+crypt doc examples slz +net_ns +pcre pcre-jit pcre2 pcre2-jit prometheus-exporter
254 -ssl systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
255 -REQUIRED_USE="pcre-jit? ( pcre )
256 - pcre2-jit? ( pcre2 )
257 - pcre? ( !pcre2 )
258 - lua? ( ${LUA_REQUIRED_USE} )
259 - device-atlas? ( pcre )
260 - ?? ( slz zlib )"
261 -
262 -BDEPEND="virtual/pkgconfig"
263 -DEPEND="
264 - crypt? ( virtual/libcrypt:= )
265 - pcre? (
266 - dev-libs/libpcre
267 - pcre-jit? ( dev-libs/libpcre[jit] )
268 - )
269 - pcre2? (
270 - dev-libs/libpcre2:=
271 - pcre2-jit? ( dev-libs/libpcre2:=[jit] )
272 - )
273 - ssl? (
274 - dev-libs/openssl:0=
275 - )
276 - slz? ( dev-libs/libslz:= )
277 - systemd? ( sys-apps/systemd )
278 - zlib? ( sys-libs/zlib )
279 - lua? ( ${LUA_DEPS} )
280 - device-atlas? ( dev-libs/device-atlas-api-c )"
281 -RDEPEND="${DEPEND}
282 - acct-group/haproxy
283 - acct-user/haproxy"
284 -
285 -S="${WORKDIR}/${MY_P}"
286 -
287 -DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
288 -CONTRIBS=( halog iprange )
289 -# ip6range is present in 1.6, but broken.
290 -ver_test ${PV} -ge 1.7.0 && CONTRIBS+=( ip6range spoa_example tcploop )
291 -# TODO: mod_defender - requires apache / APR, modsecurity - the same
292 -ver_test ${PV} -ge 1.8.0 && CONTRIBS+=( hpack )
293 -
294 -haproxy_use() {
295 - (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
296 -
297 - usex "${1}" "USE_${2}=1" "USE_${2}="
298 -}
299 -
300 -pkg_setup() {
301 - use lua && lua-single_pkg_setup
302 - if use net_ns; then
303 - CONFIG_CHECK="~NET_NS"
304 - linux-info_pkg_setup
305 - fi
306 -}
307 -
308 -src_compile() {
309 - local -a args=(
310 - V=1
311 - TARGET=linux-glibc
312 - )
313 -
314 - # TODO: PCRE2_WIDTH?
315 - args+=( $(haproxy_use threads THREAD) )
316 - args+=( $(haproxy_use crypt LIBCRYPT) )
317 - args+=( $(haproxy_use net_ns NS) )
318 - args+=( $(haproxy_use pcre PCRE) )
319 - args+=( $(haproxy_use pcre-jit PCRE_JIT) )
320 - args+=( $(haproxy_use pcre2 PCRE2) )
321 - args+=( $(haproxy_use pcre2-jit PCRE2_JIT) )
322 - args+=( $(haproxy_use ssl OPENSSL) )
323 - args+=( $(haproxy_use slz SLZ) )
324 - args+=( $(haproxy_use zlib ZLIB) )
325 - args+=( $(haproxy_use lua LUA) )
326 - args+=( $(haproxy_use 51degrees 51DEGREES) )
327 - args+=( $(haproxy_use device-atlas DEVICEATLAS) )
328 - args+=( $(haproxy_use wurfl WURFL) )
329 - args+=( $(haproxy_use systemd SYSTEMD) )
330 -
331 - # Bug #668002
332 - if use ppc || use arm || use hppa; then
333 - TARGET_LDFLAGS=-latomic
334 - fi
335 -
336 - if use prometheus-exporter; then
337 - EXTRA_OBJS="contrib/prometheus-exporter/service-prometheus.o"
338 - fi
339 -
340 - # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
341 - emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" ${args[@]}
342 - emake -C contrib/systemd SBINDIR=/usr/sbin
343 -
344 - if use tools ; then
345 - for contrib in ${CONTRIBS[@]} ; do
346 - # Those two includes are a workaround for hpack Makefile missing those
347 - emake -C contrib/${contrib} \
348 - CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
349 - done
350 - fi
351 -}
352 -
353 -src_install() {
354 - dosbin haproxy
355 - dosym ../sbin/haproxy /usr/bin/haproxy
356 -
357 - newconfd "${FILESDIR}/${PN}.confd" ${PN}
358 - newinitd "${FILESDIR}/${PN}.initd-r6" ${PN}
359 -
360 - doman doc/haproxy.1
361 -
362 - systemd_dounit contrib/systemd/haproxy.service
363 -
364 - einstalldocs
365 -
366 - # The errorfiles are used by upstream defaults.
367 - insinto /etc/haproxy/errors/
368 - doins examples/errorfiles/*
369 -
370 - if use doc; then
371 - dodoc ROADMAP doc/*.txt
372 - #if use lua; then
373 - # TODO: doc/lua-api/
374 - #fi
375 - fi
376 -
377 - if use tools ; then
378 - has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
379 - has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
380 - has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
381 - has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
382 - has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
383 - has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
384 - has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
385 - fi
386 -
387 - if use examples ; then
388 - docinto examples
389 - dodoc examples/*.cfg
390 - dodoc doc/seamless_reload.txt
391 - fi
392 -
393 - if use vim-syntax ; then
394 - insinto /usr/share/vim/vimfiles/syntax
395 - doins contrib/syntax-highlight/haproxy.vim
396 - fi
397 -}
398 -
399 -pkg_postinst() {
400 - if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
401 - ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
402 - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
403 - ewarn "Make use of them with the \"user\" and \"group\" directives."
404 -
405 - if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
406 - einfo "Please consult the installed documentation for learning the configuration file's syntax."
407 - einfo "The documentation and sample configuration files are installed here:"
408 - einfo " ${EROOT}/usr/share/doc/${PF}"
409 - fi
410 - fi
411 -}
412
413 diff --git a/net-proxy/haproxy/haproxy-2.3.9999.ebuild b/net-proxy/haproxy/haproxy-2.3.9999.ebuild
414 deleted file mode 100644
415 index d2978148fb5c..000000000000
416 --- a/net-proxy/haproxy/haproxy-2.3.9999.ebuild
417 +++ /dev/null
418 @@ -1,183 +0,0 @@
419 -# Copyright 1999-2021 Gentoo Authors
420 -# Distributed under the terms of the GNU General Public License v2
421 -
422 -EAPI="7"
423 -
424 -LUA_COMPAT=( lua5-3 )
425 -
426 -[[ ${PV} == *9999 ]] && SCM="git-r3"
427 -inherit toolchain-funcs flag-o-matic lua-single systemd linux-info ${SCM}
428 -
429 -MY_P="${PN}-${PV/_beta/-dev}"
430 -
431 -DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
432 -HOMEPAGE="http://www.haproxy.org"
433 -if [[ ${PV} != *9999 ]]; then
434 - SRC_URI="http://haproxy.1wt.eu/download/$(ver_cut 1-2)/src/${MY_P}.tar.gz"
435 - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
436 -else
437 - EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/"
438 - EGIT_BRANCH=master
439 -fi
440 -
441 -LICENSE="GPL-2 LGPL-2.1"
442 -SLOT="0/$(ver_cut 1-2)"
443 -IUSE="+crypt doc examples slz +net_ns +pcre pcre-jit pcre2 pcre2-jit prometheus-exporter
444 -ssl systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
445 -REQUIRED_USE="pcre-jit? ( pcre )
446 - pcre2-jit? ( pcre2 )
447 - pcre? ( !pcre2 )
448 - lua? ( ${LUA_REQUIRED_USE} )
449 - device-atlas? ( pcre )
450 - ?? ( slz zlib )"
451 -
452 -BDEPEND="virtual/pkgconfig"
453 -DEPEND="
454 - crypt? ( virtual/libcrypt:= )
455 - pcre? (
456 - dev-libs/libpcre
457 - pcre-jit? ( dev-libs/libpcre[jit] )
458 - )
459 - pcre2? (
460 - dev-libs/libpcre2:=
461 - pcre2-jit? ( dev-libs/libpcre2:=[jit] )
462 - )
463 - ssl? (
464 - dev-libs/openssl:0=
465 - )
466 - slz? ( dev-libs/libslz:= )
467 - systemd? ( sys-apps/systemd )
468 - zlib? ( sys-libs/zlib )
469 - lua? ( ${LUA_DEPS} )
470 - device-atlas? ( dev-libs/device-atlas-api-c )"
471 -RDEPEND="${DEPEND}
472 - acct-group/haproxy
473 - acct-user/haproxy"
474 -
475 -S="${WORKDIR}/${MY_P}"
476 -
477 -DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
478 -CONTRIBS=( halog iprange )
479 -# ip6range is present in 1.6, but broken.
480 -ver_test ${PV} -ge 1.7.0 && CONTRIBS+=( ip6range spoa_example tcploop )
481 -# TODO: mod_defender - requires apache / APR, modsecurity - the same
482 -ver_test ${PV} -ge 1.8.0 && CONTRIBS+=( hpack )
483 -
484 -haproxy_use() {
485 - (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
486 -
487 - usex "${1}" "USE_${2}=1" "USE_${2}="
488 -}
489 -
490 -pkg_setup() {
491 - use lua && lua-single_pkg_setup
492 - if use net_ns; then
493 - CONFIG_CHECK="~NET_NS"
494 - linux-info_pkg_setup
495 - fi
496 -}
497 -
498 -src_compile() {
499 - local -a args=(
500 - V=1
501 - TARGET=linux-glibc
502 - )
503 -
504 - # TODO: PCRE2_WIDTH?
505 - args+=( $(haproxy_use threads THREAD) )
506 - args+=( $(haproxy_use crypt LIBCRYPT) )
507 - args+=( $(haproxy_use net_ns NS) )
508 - args+=( $(haproxy_use pcre PCRE) )
509 - args+=( $(haproxy_use pcre-jit PCRE_JIT) )
510 - args+=( $(haproxy_use pcre2 PCRE2) )
511 - args+=( $(haproxy_use pcre2-jit PCRE2_JIT) )
512 - args+=( $(haproxy_use ssl OPENSSL) )
513 - args+=( $(haproxy_use slz SLZ) )
514 - args+=( $(haproxy_use zlib ZLIB) )
515 - args+=( $(haproxy_use lua LUA) )
516 - args+=( $(haproxy_use 51degrees 51DEGREES) )
517 - args+=( $(haproxy_use device-atlas DEVICEATLAS) )
518 - args+=( $(haproxy_use wurfl WURFL) )
519 - args+=( $(haproxy_use systemd SYSTEMD) )
520 -
521 - # Bug #668002
522 - if use ppc || use arm || use hppa; then
523 - TARGET_LDFLAGS=-latomic
524 - fi
525 -
526 - if use prometheus-exporter; then
527 - EXTRA_OBJS="contrib/prometheus-exporter/service-prometheus.o"
528 - fi
529 -
530 - # HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
531 - emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" ${args[@]}
532 - emake -C contrib/systemd SBINDIR=/usr/sbin
533 -
534 - if use tools ; then
535 - for contrib in ${CONTRIBS[@]} ; do
536 - # Those two includes are a workaround for hpack Makefile missing those
537 - emake -C contrib/${contrib} \
538 - CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
539 - done
540 - fi
541 -}
542 -
543 -src_install() {
544 - dosbin haproxy
545 - dosym ../sbin/haproxy /usr/bin/haproxy
546 -
547 - newconfd "${FILESDIR}/${PN}.confd" ${PN}
548 - newinitd "${FILESDIR}/${PN}.initd-r6" ${PN}
549 -
550 - doman doc/haproxy.1
551 -
552 - systemd_dounit contrib/systemd/haproxy.service
553 -
554 - einstalldocs
555 -
556 - # The errorfiles are used by upstream defaults.
557 - insinto /etc/haproxy/errors/
558 - doins examples/errorfiles/*
559 -
560 - if use doc; then
561 - dodoc ROADMAP doc/*.txt
562 - #if use lua; then
563 - # TODO: doc/lua-api/
564 - #fi
565 - fi
566 -
567 - if use tools ; then
568 - has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
569 - has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
570 - has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
571 - has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
572 - has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
573 - has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
574 - has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
575 - fi
576 -
577 - if use examples ; then
578 - docinto examples
579 - dodoc examples/*.cfg
580 - dodoc doc/seamless_reload.txt
581 - fi
582 -
583 - if use vim-syntax ; then
584 - insinto /usr/share/vim/vimfiles/syntax
585 - doins contrib/syntax-highlight/haproxy.vim
586 - fi
587 -}
588 -
589 -pkg_postinst() {
590 - if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
591 - ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
592 - ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
593 - ewarn "Make use of them with the \"user\" and \"group\" directives."
594 -
595 - if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
596 - einfo "Please consult the installed documentation for learning the configuration file's syntax."
597 - einfo "The documentation and sample configuration files are installed here:"
598 - einfo " ${EROOT}/usr/share/doc/${PF}"
599 - fi
600 - fi
601 -}