net-proxy/haproxy: Version bump

Package-Manager: Portage-2.3.75, Repoman-2.3.17
Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
This commit is contained in:
Christian Ruppert
2019-10-07 09:16:35 +02:00
parent 2d93242a38
commit 655fcaee65
2 changed files with 177 additions and 0 deletions

View File

@@ -8,3 +8,4 @@ DIST haproxy-1.8.21.tar.gz 2097089 BLAKE2B 359dba31685d4213721deb7bd553f2e037b96
DIST haproxy-1.8.9.tar.gz 2057051 BLAKE2B d81d18f68a27ae8a77660c1ecb1dfc28599263ebfd57f25ea574af2b101b35eb7a1a89ba4034b55dfa89673ae6ac4c0dca5428b4b494a02184b1b157850ce96b SHA512 e59c29af3a39d6212f012ae8341b169436e10e42fadaf8f1aa68d2bb7ee181fd1fe3b74640bfcd8c37c17dfc5062b36bd69d90290d7c59cd3e4648ef2ab1c8dd
DIST haproxy-1.9.10.tar.gz 2386066 BLAKE2B 4dea3f42686cd41d9f6f6849c42f9cf604b26f33925747ec5311243117bcf51729d16e5c09c5eb2cfc9fea88cf49c976a0542dcd90ddee4016b467de699e8bdc SHA512 b204c91633949d20dd06c29c69d2c783134819493f132430aaedddd2aad74eac08da7de7ddc1c45b250446273c35b268ab37fcb3b98eaa6b97b6caf5530ed628
DIST haproxy-2.0.6.tar.gz 2541637 BLAKE2B 52d88ef3c944437fbee7128163621cc9aae541eac16a71cd3aa1d7396b44e84b643d45a0b3cd990a73686a9d254855633bcc38b0ad1d8a13f8c8e1a2c444bfff SHA512 78c8483a97845928dc3ec7da68bedfda73303c88e8146a6b38c3d2b4e2089af5668817f0675180d41274c6337d5fae7cad5534013bd15d9b06071b89a09a86b5
DIST haproxy-2.0.7.tar.gz 2542573 BLAKE2B a312244087a3730c7837aebb99c64e40ac98ed06e6dc65f02151356ca4130a7d9b3eddc08b92fcb8d9658b98d19ad95ad3dd3e0945ff7824ee3ce2bf0aac8ce7 SHA512 3257bb90555cb7ccf1b5ef71815f8258598aa87239ec46a24d250929811bd49fef21e4c2d0a12ee9f7aca2cca33367f972e4e62e9b01274b8c644a97e4353574

View File

@@ -0,0 +1,176 @@
# 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 prometheus-exporter
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=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
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}" ${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
}