net-proxy/haproxy: Bump to 2.8.6

Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
This commit is contained in:
Christian Ruppert
2024-02-16 11:41:13 +01:00
parent 48efb27506
commit 45cb873405
2 changed files with 219 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ DIST haproxy-2.7.11.tar.gz 4213212 BLAKE2B ca5713d694b8d709188457dd821218d3474d0
DIST haproxy-2.7.9.tar.gz 4186553 BLAKE2B a2c7e92d008886ac5b5cf9f67be808bed68faea41b4bc25a3e5e187a4a2116bc37c40a5df9e2f640dba6c79caea39615eff434e904470e67d7703125a5ffc7e2 SHA512 774d0ae7a402fae0805706f4b88891162e18179f6ad9c2d0916ae30be2502409afdd11dfbbbce9b49564c7e14e8625e4a26751bbfc3b19e3e13ac12c8cc19495
DIST haproxy-2.8.4.tar.gz 4361756 BLAKE2B 2a19b4902783ceac6322c3a531ce1fe16f2c41d2090a0e4278e2303509e264aa1d19e32ff36a6bfd7415c90f33d4aed6dc5adbc2807af51ff814717c0db98eca SHA512 7de5098d6004e66da656a83d86fdb342e465d503c3e179678bf989abb6735e61f35522d913e9046774cd71b0853737f9a84a2561dfd35395f95ecfbd987c0cd6
DIST haproxy-2.8.5.tar.gz 4364802 BLAKE2B 2c5c66b83a5b514d6518b6b5d62cfa17881498bc4adca664a2cb307630adea815d80ee1a9a823e7ae4043328a3940ce34a62dd218b165cedf9111c1190bc541a SHA512 7634b9f7d85a246ea467335f71def0085ec63f96f862d2e0016b206c266e5c9cafce1431a7ebe1e8cb0e4f2a80cd5d8f9222c93630c74170bb4175000623380b
DIST haproxy-2.8.6.tar.gz 4377203 BLAKE2B 354448e8b98f126295bd3c5d46d883de9ddcdd062ef2b72ceeb3d790ddad32e558fdae428cdab70cd352e9c336b66f14851bd3ee5db7d270695a9f414ff90914 SHA512 7abedd98a1fac7565a9be4936ab314799122a79ecc5e101bed1393cc991b7d6a54d95cb92a88ebd981aae5993be29ed154cb4e7ed45194af8bbce18fda5fa40b
DIST haproxy-2.9.2.tar.gz 4498040 BLAKE2B 257a594fdb18e50c99e4256aa364d2ea55b56e39bfda0435c921927939a09231be5ae2bd7f39e23286febb343fa0dca5fc33f9b279461c5083050898390b21db SHA512 1c174182dfea021d6e648eb847fb73355fba4d0cdbf97187d0e0e89ca089db985fc7f7027585bf72c520b70825875dabd76a0db2ebe3f60583ff2eb308e50a5d
DIST haproxy-2.9.3.tar.gz 4499271 BLAKE2B 4f034de910d90133dafa98ea04abd02f82c7bc328dddb9d3d3c71e0c660ef026a842371f5ec2259c3a5c18deac5f2104c78f04cef9f0dafa57a37abf1df224b5 SHA512 675d1d2754ee5a704c4e004e916fa42b641e418e775ff326a271d7344a3601ee938c8ca86107185731fdcfab59dc143cd693351b0e508496702c37a413c2db47
DIST haproxy-2.9.4.tar.gz 4501098 BLAKE2B 405eeff81ae7ce374bef8b4e7ce7461e827def6d79f19db60c6592acb19a684bbf30b687fdb9f4ac4f8d4f982c43c47b2e677367f2a2df785e476dfbbaeda0e8 SHA512 a22977f7ceb24325bcbaf531d96aad7b6e8404b026405538e0512a0c7538165736e641a05720e0ca8c9fbec497f0c9935fe0a706a9923e76d34aadd879c64d36

View File

@@ -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
}