Gentoo Archives: gentoo-commits

From: Mikle Kolyada <zlogene@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-proxy/haproxy/
Date: Wed, 03 Oct 2018 20:56:58
Message-Id: 1538600160.88715f3975f302d97750a0ee6309d6b61efb08d8.zlogene@gentoo
1 commit: 88715f3975f302d97750a0ee6309d6b61efb08d8
2 Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
3 AuthorDate: Wed Oct 3 20:56:00 2018 +0000
4 Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
5 CommitDate: Wed Oct 3 20:56:00 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88715f39
7
8 net-proxy/haproxy: Version bump (1.8.14)
9
10 Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
11 Package-Manager: Portage-2.3.49, Repoman-2.3.11
12
13 net-proxy/haproxy/Manifest | 1 +
14 net-proxy/haproxy/haproxy-1.8.14.ebuild | 169 ++++++++++++++++++++++++++++++++
15 2 files changed, 170 insertions(+)
16
17 diff --git a/net-proxy/haproxy/Manifest b/net-proxy/haproxy/Manifest
18 index 707bf5d6421..4a410262cff 100644
19 --- a/net-proxy/haproxy/Manifest
20 +++ b/net-proxy/haproxy/Manifest
21 @@ -5,5 +5,6 @@ DIST haproxy-1.6.14.tar.gz 1583859 BLAKE2B 91695f0b3d901ba70b6bce6572c2f549479c2
22 DIST haproxy-1.7.10.tar.gz 1750937 BLAKE2B 26d970862e415b079d4130fd00564677584a7aad74d6812cabed36de9a629321330434b7d4fdf7c2e8b2945b7f394ca33e444158e7fa9b49937db501ea33e78a SHA512 ca6c50848c559ee2ffb9af2d281c3931473dd90d1686d95d962cf604cd92d2feb2b63e006e217cf9078cf08fdd73dc523318c97e13400bc0ef325de47111394e
23 DIST haproxy-1.7.11.tar.gz 1752129 BLAKE2B 1947ab837f6b81761eec931e97c7349462561abecc78b2b58b285ebb4b0ae498753d236f3a243d3b5c1115a9ff6e5fe9392d428314a6342e2c1907d6886e09e4 SHA512 48ee30a1057e92971c041b088b6aef16d6843da9ecee9b738aaa64bb55d3c3b0be090a37bb5fc63ac42fe34ce994820349cc770756136c823051039fa6d01f74
24 DIST haproxy-1.8.13.tar.gz 2063046 BLAKE2B 9ebccf2520719cdf209bc9a87bf28d015b5b673e0d017d5387af4025f930ac401f6a2cfa851583ffe6b6645b7b91ad255bb5db737688a1f310958072a11c8a80 SHA512 54d4cb0721a3868267d7e085b3d3bb050384e4279eb49e88abb925bb3ea8cc39ef9069bdc99b7b18a23fd22e0d29e24dfcb8a0507ddca9243a845e4418be9cc5
25 +DIST haproxy-1.8.14.tar.gz 2070813 BLAKE2B 113c80cc2f5f427dd419f9c4602d852dec3ae396f8f2cda67993aff4571c88edbd0a84df5c13585999369081182d5d9f8ac86b5bac3d81f7c04c08a00fcd16d2 SHA512 17727c19e0439a2b45be2ec583cd2ce30d1af2bf48bd3cdb2dce1eff670ab8b24d93eaa7bebb410947528d1ad88c3856495e498fff518620efbd32b9adf4eb66
26 DIST haproxy-1.8.8.tar.gz 2054534 BLAKE2B 5eabd37dfb79783dc20425cbb16ca1e1afed23861f66c9e8a738dd56d9ca35b3ceb2604c308543ca99222aa867e11ff613fc09012669882a4bdaaff03cb76450 SHA512 8310f84b364348600273c295a3b315a79cba1f782b86b47d8d47b3ffd1e6fb62fd278c4f2dfa185d0a269f73c1067695a763733736877989a941162b625462a1
27 DIST haproxy-1.8.9.tar.gz 2057051 BLAKE2B d81d18f68a27ae8a77660c1ecb1dfc28599263ebfd57f25ea574af2b101b35eb7a1a89ba4034b55dfa89673ae6ac4c0dca5428b4b494a02184b1b157850ce96b SHA512 e59c29af3a39d6212f012ae8341b169436e10e42fadaf8f1aa68d2bb7ee181fd1fe3b74640bfcd8c37c17dfc5062b36bd69d90290d7c59cd3e4648ef2ab1c8dd
28
29 diff --git a/net-proxy/haproxy/haproxy-1.8.14.ebuild b/net-proxy/haproxy/haproxy-1.8.14.ebuild
30 new file mode 100644
31 index 00000000000..5e9022d20eb
32 --- /dev/null
33 +++ b/net-proxy/haproxy/haproxy-1.8.14.ebuild
34 @@ -0,0 +1,169 @@
35 +# Copyright 1999-2018 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI="6"
39 +
40 +[[ ${PV} == *9999 ]] && SCM="git-r3"
41 +inherit user versionator toolchain-funcs flag-o-matic systemd linux-info $SCM
42 +
43 +MY_P="${PN}-${PV/_beta/-dev}"
44 +
45 +DESCRIPTION="A TCP/HTTP reverse proxy for high availability environments"
46 +HOMEPAGE="http://www.haproxy.org"
47 +if [[ ${PV} != *9999 ]]; then
48 + SRC_URI="http://haproxy.1wt.eu/download/$(get_version_component_range 1-2)/src/${MY_P}.tar.gz"
49 + KEYWORDS="~amd64 ~arm ~ppc ~x86"
50 +else
51 + EGIT_REPO_URI="http://git.haproxy.org/git/haproxy-$(get_version_component_range 1-2).git/"
52 + EGIT_BRANCH=master
53 +fi
54 +
55 +LICENSE="GPL-2 LGPL-2.1"
56 +SLOT="0"
57 +IUSE="+crypt doc examples libressl slz net_ns +pcre pcre-jit pcre2 pcre2-jit ssl
58 +systemd +threads tools vim-syntax +zlib lua device-atlas 51degrees wurfl"
59 +REQUIRED_USE="pcre-jit? ( pcre )
60 + pcre2-jit? ( pcre2 )
61 + pcre? ( !pcre2 )
62 + device-atlas? ( pcre )
63 + ?? ( slz zlib )"
64 +
65 +DEPEND="
66 + pcre? (
67 + dev-libs/libpcre
68 + pcre-jit? ( dev-libs/libpcre[jit] )
69 + )
70 + pcre2? (
71 + dev-libs/libpcre
72 + pcre2-jit? ( dev-libs/libpcre2[jit] )
73 + )
74 + ssl? (
75 + !libressl? ( dev-libs/openssl:0=[zlib?] )
76 + libressl? ( dev-libs/libressl:0= )
77 + )
78 + slz? ( dev-libs/libslz:= )
79 + zlib? ( sys-libs/zlib )
80 + lua? ( dev-lang/lua:5.3 )
81 + device-atlas? ( dev-libs/device-atlas-api-c )"
82 +RDEPEND="${DEPEND}"
83 +
84 +S="${WORKDIR}/${MY_P}"
85 +
86 +DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README )
87 +CONTRIBS=( halog iprange )
88 +# ip6range is present in 1.6, but broken.
89 +version_is_at_least 1.7.0 $PV && CONTRIBS+=( ip6range spoa_example tcploop )
90 +# TODO: mod_defender - requires apache / APR, modsecurity - the same
91 +version_is_at_least 1.8.0 $PV && CONTRIBS+=( hpack )
92 +
93 +haproxy_use() {
94 + (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>"
95 +
96 + usex "${1}" "USE_${2}=1" "USE_${2}="
97 +}
98 +
99 +pkg_setup() {
100 + enewgroup haproxy
101 + enewuser haproxy -1 -1 -1 haproxy
102 +
103 + if use net_ns; then
104 + CONFIG_CHECK="~NET_NS"
105 + linux-info_pkg_setup
106 + fi
107 +}
108 +
109 +src_compile() {
110 + local -a args=(
111 + TARGET=linux2628
112 + USE_GETADDRINFO=1
113 + USE_TFO=1
114 + )
115 +
116 + # TODO: PCRE2_WIDTH?
117 + args+=( $(haproxy_use threads THREAD) )
118 + args+=( $(haproxy_use crypt LIBCRYPT) )
119 + args+=( $(haproxy_use net_ns NS) )
120 + args+=( $(haproxy_use pcre PCRE) )
121 + args+=( $(haproxy_use pcre-jit PCRE_JIT) )
122 + args+=( $(haproxy_use ssl OPENSSL) )
123 + args+=( $(haproxy_use slz SLZ) )
124 + args+=( $(haproxy_use zlib ZLIB) )
125 + args+=( $(haproxy_use lua LUA) )
126 + args+=( $(haproxy_use 51degrees 51DEGREES) )
127 + args+=( $(haproxy_use device-atlas DEVICEATLAS) )
128 + args+=( $(haproxy_use wurfl WURFL) )
129 + args+=( $(haproxy_use systemd SYSTEMD) )
130 +
131 + # For now, until the strict-aliasing breakage will be fixed
132 + append-cflags -fno-strict-aliasing
133 +
134 + emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
135 + emake -C contrib/systemd SBINDIR=/usr/sbin
136 +
137 + if use tools ; then
138 + for contrib in ${CONTRIBS[@]} ; do
139 + emake -C contrib/${contrib} \
140 + CFLAGS="${CFLAGS}" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC=$(tc-getCC) ${args[@]}
141 + done
142 + fi
143 +}
144 +
145 +src_install() {
146 + dosbin haproxy
147 + dosym ../sbin/haproxy /usr/bin/haproxy
148 +
149 + newconfd "${FILESDIR}/${PN}.confd" $PN
150 + newinitd "${FILESDIR}/${PN}.initd-r6" $PN
151 +
152 + doman doc/haproxy.1
153 +
154 + systemd_dounit contrib/systemd/haproxy.service
155 +
156 + einstalldocs
157 +
158 + # The errorfiles are used by upstream defaults.
159 + insinto /etc/haproxy/errors/
160 + doins examples/errorfiles/*
161 +
162 + if use doc; then
163 + dodoc ROADMAP doc/*.txt
164 + #if use lua; then
165 + # TODO: doc/lua-api/
166 + #fi
167 + fi
168 +
169 + if use tools ; then
170 + has halog "${CONTRIBS[@]}" && dobin contrib/halog/halog
171 + has "iprange" "${CONTRIBS[@]}" && newbin contrib/iprange/iprange haproxy_iprange
172 + has "ip6range" "${CONTRIBS[@]}" && newbin contrib/ip6range/ip6range haproxy_ip6range
173 + has "spoa_example" "${CONTRIBS[@]}" && newbin contrib/spoa_example/spoa haproxy_spoa_example
174 + has "spoa_example" "${CONTRIBS[@]}" && newdoc contrib/spoa_example/README README.spoa_example
175 + has "tcploop" "${CONTRIBS[@]}" && newbin contrib/tcploop/tcploop haproxy_tcploop
176 + has "hpack" "${CONTRIBS[@]}" && newbin contrib/hpack/gen-rht haproxy_hpack
177 + fi
178 +
179 + if use examples ; then
180 + docinto examples
181 + dodoc examples/*.cfg
182 + dodoc examples/seamless_reload.txt
183 + fi
184 +
185 + if use vim-syntax ; then
186 + insinto /usr/share/vim/vimfiles/syntax
187 + doins examples/haproxy.vim
188 + fi
189 +}
190 +
191 +pkg_postinst() {
192 + if [[ ! -f "${EROOT}/etc/haproxy/haproxy.cfg" ]] ; then
193 + ewarn "You need to create /etc/haproxy/haproxy.cfg before you start the haproxy service."
194 + ewarn "It's best practice to not run haproxy as root, user and group haproxy was therefore created."
195 + ewarn "Make use of them with the \"user\" and \"group\" directives."
196 +
197 + if [[ -d "${EROOT}/usr/share/doc/${PF}" ]]; then
198 + einfo "Please consult the installed documentation for learning the configuration file's syntax."
199 + einfo "The documentation and sample configuration files are installed here:"
200 + einfo " ${EROOT}usr/share/doc/${PF}"
201 + fi
202 + fi
203 +}