Skip to content

Commit

Permalink
net-proxy/haproxy: bump, new major version.
Browse files Browse the repository at this point in the history
Package-Manager: portage-2.3.2
Signed-off-by: Robin H. Johnson <[email protected]>
  • Loading branch information
robbat2 committed Dec 5, 2016
1 parent 4c77d47 commit 1c50ecf
Show file tree
Hide file tree
Showing 2 changed files with 166 additions and 0 deletions.
1 change: 1 addition & 0 deletions net-proxy/haproxy/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ DIST haproxy-1.5.14.tar.gz 1345345 SHA256 9565dd38649064d0350a2883fa81ccfe92eb17
DIST haproxy-1.5.18.tar.gz 1360582 SHA256 14a5684d85cf65c34a8d441afff2aaa4dd9b4234e81b3d4ddd242e6e7c97257e SHA512 b4f85986a6b1e0d152b643f576a0ff770fbc190457d3e0130fbb923ff9bf4d00b634e64edf0eadd5b47d0eb758fd9f6ecf33907fc4c21150a518064df954e7d0 WHIRLPOOL 5faf0aec42332564a3c392b0bbca25dc56c6a754672e1853ca765fc5d95d9ca963cd041dc705bbb38085a3da77219adf061966f2caa209e327ff02f3ee8fde3b
DIST haproxy-1.6.10.tar.gz 1571842 SHA256 5c865e0238d31b03ec7e31d4bf1a20d08984eea7fcf4bbb36a40bd35d8744460 SHA512 84920ef12357f5149ed286030ea38e0f9ae09b29003e8c000eef7f50a519ea958f3a92d352b25fd71d296f0b68beffb797ca4b6e59b87e71dc02f7fe20d50573 WHIRLPOOL 2c4d4b22d6412b8f7e4e6c3c94e9a666b87d9e38a6cb07094438d28c5cce2c4ef1fe14df00afeb8ed284f306d5a09616d04a1b4a5b8573c6e8d283cdfe26428b
DIST haproxy-1.6.9.tar.gz 1566715 SHA256 cf7d2fa891d2ae4aa6489fc43a9cadf68c42f9cb0de4801afad45d32e7dda133 SHA512 0060a93c628689e1ca9e5845f9f93641f7647efc176cbf093bce59be19496492c317c8101fa50dd6181b130f861c74a20199f18e41ebd6995715364b1ea46a2e WHIRLPOOL a7311cb08507898cf19a422a6a55a6d429cbb99e0329b2de0defea472314c495d6c426a973ef436d532340f95d5abee2ad07fbf1d051d36fe4618ac28b743a35
DIST haproxy-1.7.0.tar.gz 1728237 SHA256 abdce486f98c024f3df45dade4011caeb925f48129370f4754a45f1623794622 SHA512 e41c4d73e438f3975dd704de5048eb1179cfa884ae16970d868d8ae7e0958ee0ab5bd58a952113e90b89c040cb84402dafd4ae6e4daf03ea6621e03b861837c7 WHIRLPOOL a82563956cad92ccb257cfe202a43ea1cae3c2b4fa36fb954829096e55b524cbe224080669f60a8b62e38e73e682321a50a59e3d650a6b0ae340d3bf24a9768d
165 changes: 165 additions & 0 deletions net-proxy/haproxy/haproxy-1.7.0.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI="6"

[[ ${PV} == *9999 ]] && SCM="git-r3"
inherit user versionator 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://haproxy.1wt.eu"
if [[ ${PV} != *9999 ]]; then
SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
else
EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 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 ssl tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
REQUIRED_USE="pcre-jit? ( pcre )
?? ( slz zlib )"

DEPEND="
pcre? (
dev-libs/libpcre
pcre-jit? ( dev-libs/libpcre[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 )
version_is_at_least 1.7.0 $PV && PATCHES=( "${FILESDIR}"/haproxy-1.7-contrib.patch )
CONTRIBS=( halog iprange )
# ip6range is present in 1.6, but broken.
version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )

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_prepare() {
default

sed -e 's:@SBINDIR@:'/usr/bin':' contrib/systemd/haproxy.service.in \
> contrib/systemd/haproxy.service || die

sed -ie 's:/usr/sbin/haproxy:/usr/bin/haproxy:' src/haproxy-systemd-wrapper.c || die
}

src_compile() {
local -a args=(
TARGET=linux2628
USE_GETADDRINFO=1
USE_TFO=1
)

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 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) )

# For now, until the strict-aliasing breakage will be fixed
append-cflags -fno-strict-aliasing

emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}

if use tools ; then
for contrib in ${CONTRIBS[@]} ; do
emake -C contrib/${contrib} \
CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
done
fi
}

src_install() {
dobin haproxy

newconfd "${FILESDIR}/${PN}.confd" $PN
newinitd "${FILESDIR}/${PN}.initd-r3" $PN

doman doc/haproxy.1

dobin haproxy-systemd-wrapper
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
fi

if use examples ; then
docinto examples
dodoc examples/*.cfg
dodoc examples/seamless_reload.txt
fi

if use vim-syntax ; then
insinto /usr/share/vim/vimfiles/syntax
doins examples/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
}

0 comments on commit 1c50ecf

Please sign in to comment.