From 53cba99042fa967e2a93da9f8db806fe2d035543 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 17 Feb 2020 01:16:38 +0000 Subject: gentoo resync : 17.02.2020 --- net-proxy/haproxy/Manifest | 2 + net-proxy/haproxy/haproxy-2.1.3.ebuild | 176 +++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100644 net-proxy/haproxy/haproxy-2.1.3.ebuild (limited to 'net-proxy/haproxy') diff --git a/net-proxy/haproxy/Manifest b/net-proxy/haproxy/Manifest index f13e94b12d2f..70d848175261 100644 --- a/net-proxy/haproxy/Manifest +++ b/net-proxy/haproxy/Manifest @@ -8,6 +8,7 @@ DIST haproxy-1.9.13.tar.gz 2395999 BLAKE2B 1b54aa732e7972b151ea00d76c6dd152fd6e0 DIST haproxy-2.0.10.tar.gz 2557865 BLAKE2B 0e98fd2461414b4b55fc2bf100c80f17cbc34da2cae6d5c09fdbf708b4606f564c51bf54f77b98a2f455b61f31ac793fdc92873beb269dcbd15ea45379f0aca1 SHA512 d3f0c0a7cce49d394dda7553ed79102cfef2c21ea6d640fbc325246806c93d862cb48c40f4717d9e1b50b2390698466282fe8c4d8b305259e3057f3711e69a39 DIST haproxy-2.0.12.tar.gz 2634202 BLAKE2B 0f2ea426076cdda20b18f068e7a5f5e92045056115a057ac4785fb5ad528697e2ecfdc482c5291c28f803ee817b8cb569ed966fbcc2db886d70e3f897285ac3f SHA512 bc81a5f88278b56bddfec52dba5231a06567177fe806faeb5ffb1965d8c4731704e0b92949cc72de0b4738c8baad28c5211d46d1dc980c4145c90081fc2d838c DIST haproxy-2.1.2.tar.gz 2663193 BLAKE2B ebe48e25fb636b71fc5d621d57822dfc6c6a530ae7e79aeec29a72631643158d99d69ff94cb056e834c8905cdb94dbc7375a9e465e93e9024c0f728e07caa249 SHA512 929d244a67f93337e3c791b1a29f9643ac288acdf0090dc7a05c72caf61c3b04ef376b84737351f0c54d58bca66ed8af18faa20ec3adc97067313732e0dfcd7d +DIST haproxy-2.1.3.tar.gz 2675529 BLAKE2B be663fd629c001c1c91d6e3db5a8d940ed5ee674d5b886283284d2077ed8e0d13d295aeb376f6580131bdeb105c9d88f7afe367f2279d6c548d5888bd943e2b6 SHA512 4728c1177b2bba69465cbc56b1ed73a1b2d36891ba2d94d29bb49714ad98ccfac4b52947735aded211f0cd8070002f5406ddd77cabd2f8230b00438189dd7a60 EBUILD haproxy-1.8.13.ebuild 4886 BLAKE2B 61bc37ea42b0dd5bc447b68cb45532c184f14ad40461faddb940e041682e88ac81af36ce44d961d1011bc54b788ad9baa4c9447950a97708ea33dcb9d677fc32 SHA512 5dad241368a64aba2b07e429ab82adff67df556fc2b5a447d4863a12d50098545127f30725887b447e6ed583e39177458267777c5b321636211aab5a61b85a65 EBUILD haproxy-1.8.23.ebuild 4886 BLAKE2B 94d1654d71261f4d4e3d4984cf2afae1721c3f5d85f5caec1f7ba7be2a2f3c0889a2de02fd542b18f8a2fe0222debfd35f47c3fdcde0cbb8122dc493fec021a5 SHA512 a006987c4cf8f56bca0347537cf86e9282d5f0b5cb1864665104d1e93da53084711bac338dce99b1f6cdccfa1fec7534dc58cb7139c126fcc3b6131d371b7dce EBUILD haproxy-1.8.9.ebuild 4885 BLAKE2B beb86eb5714d77b8dad4ac0abc55b46a0e4727ceae1a503ff1febe3943f6393f8ce99f97c098e4046c17de04a32c4f9d0a8708fd4c81eeb69e82f900f156285a SHA512 93290df98b67334d2c89ced563d15d25943a5c87c691fdce2ace423ca38acc364f9307f8a28a6654fb390d41c72ec627e005d0179d10138d92396365496ab8b8 @@ -18,5 +19,6 @@ EBUILD haproxy-2.0.10.ebuild 5245 BLAKE2B 39175f93f60e5ed921e0b176eaa380eac45d85 EBUILD haproxy-2.0.12.ebuild 5245 BLAKE2B 8a92ac753a2722fa580a24bfb5a51e735c2467b41ebbfb9b3e31bf5bbc55b23cf48ac338f2cf3a813bac8a24284b4fa8a4c2586f9ed8bbbe73a80966cb815d64 SHA512 0edeb36bcb0676a045523cf3aeaf69e81a6201442a6aa970f2e85174e4f4c1407a920c0c2794ae9c6a05ba22d833b88ae05a978e90c25702d2a3e5ce36762f67 EBUILD haproxy-2.0.9999.ebuild 5245 BLAKE2B 39175f93f60e5ed921e0b176eaa380eac45d85c59ace787f151224e79f53e4915865ef3e68ffead27a0e5d57afda3e29b30de58d4b14f87da563163e6605b84b SHA512 240fb06ccb7e0a9830d6d20807dab2c8d789d4912397a77b6cf8047b947a59389f2e34d980fde0aad06d313249e2abc7510a6120af6b9b6230d5f3d0979da4cc EBUILD haproxy-2.1.2.ebuild 5245 BLAKE2B 8a92ac753a2722fa580a24bfb5a51e735c2467b41ebbfb9b3e31bf5bbc55b23cf48ac338f2cf3a813bac8a24284b4fa8a4c2586f9ed8bbbe73a80966cb815d64 SHA512 0edeb36bcb0676a045523cf3aeaf69e81a6201442a6aa970f2e85174e4f4c1407a920c0c2794ae9c6a05ba22d833b88ae05a978e90c25702d2a3e5ce36762f67 +EBUILD haproxy-2.1.3.ebuild 5245 BLAKE2B 8a92ac753a2722fa580a24bfb5a51e735c2467b41ebbfb9b3e31bf5bbc55b23cf48ac338f2cf3a813bac8a24284b4fa8a4c2586f9ed8bbbe73a80966cb815d64 SHA512 0edeb36bcb0676a045523cf3aeaf69e81a6201442a6aa970f2e85174e4f4c1407a920c0c2794ae9c6a05ba22d833b88ae05a978e90c25702d2a3e5ce36762f67 EBUILD haproxy-2.1.9999.ebuild 5245 BLAKE2B 39175f93f60e5ed921e0b176eaa380eac45d85c59ace787f151224e79f53e4915865ef3e68ffead27a0e5d57afda3e29b30de58d4b14f87da563163e6605b84b SHA512 240fb06ccb7e0a9830d6d20807dab2c8d789d4912397a77b6cf8047b947a59389f2e34d980fde0aad06d313249e2abc7510a6120af6b9b6230d5f3d0979da4cc MISC metadata.xml 2148 BLAKE2B 2f273c8d5c4704b482cf5b09e038415e0faa6ecba7297f99d0c55d96ba0b8f0bfa50b21dc857680951c3b4794be98f8781a6d1dcfb622ec5f6827648cfdd247e SHA512 91834d33a145ce6f887f83849ea90da984cf131e657824e63fb44b49761dc9999c00796fb20879cc670b83a2f4aae2263aeacc1dc6bf71b9db34a21ef9a3026d diff --git a/net-proxy/haproxy/haproxy-2.1.3.ebuild b/net-proxy/haproxy/haproxy-2.1.3.ebuild new file mode 100644 index 000000000000..9d63986726c7 --- /dev/null +++ b/net-proxy/haproxy/haproxy-2.1.3.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2020 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} " + + 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 +} -- cgit v1.2.3