net-proxy/haproxy: Version bump to 2.x

Package-Manager: Portage-2.3.67, Repoman-2.3.12
Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
This commit is contained in:
Christian Ruppert
2019-06-17 17:45:08 +02:00
parent 6538f89957
commit d390e605ef
3 changed files with 345 additions and 0 deletions

View File

@@ -8,3 +8,4 @@ DIST haproxy-1.8.19.tar.gz 2080757 BLAKE2B 46a97620f3b5c3f205e8b9d6e49acca8e107a
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 haproxy-2.0.0.tar.gz 2527523 BLAKE2B 0f33a7eb3d539900647b3efb9f9e45ed8858cbe9b10e33aea7baeb103b65d8f1a531664e39656e6273ec531360bd16884ef78763bac143d792aba72658f5836d SHA512 c5beb85522733a6df9741d8a6369cb4e476d6a49aa55163ea61b442715a6893aa7c5063221ff1c36c80ee124653b597499754bdd5764e306a755216b3af1908e

View File

@@ -0,0 +1,172 @@
# 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=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
# HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
emake CFLAGS="${CFLAGS} \$(SPEC_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 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
}

View File

@@ -0,0 +1,172 @@
# 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=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
# HAProxy really needs some of those "SPEC_CFLAGS", like -fno-strict-aliasing
emake CFLAGS="${CFLAGS} \$(SPEC_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 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
}