diff options
Diffstat (limited to 'net-proxy/haproxy')
-rw-r--r-- | net-proxy/haproxy/Manifest | 2 | ||||
-rw-r--r-- | net-proxy/haproxy/haproxy-2.5.9.ebuild | 176 |
2 files changed, 178 insertions, 0 deletions
diff --git a/net-proxy/haproxy/Manifest b/net-proxy/haproxy/Manifest index c248dd5bb7f3..f810f9cd032c 100644 --- a/net-proxy/haproxy/Manifest +++ b/net-proxy/haproxy/Manifest @@ -14,6 +14,7 @@ DIST haproxy-2.4.18.tar.gz 3626923 BLAKE2B 1ec312a5607634f7906cfcf5d4e22d829bdca DIST haproxy-2.5.4.tar.gz 3819082 BLAKE2B fabc62ebaa968a11a49a6dd131198af31a49adbe73bcae82124ca752c2c90c1d77346621c9d804a10bca8ff254580aa7fbaca774f9df1a6a99ec112375d84a50 SHA512 95eb1ad9121a93cc77f0dd14e0080e18935cd45dc7dc511ab6dd0ecbdbb967bbde5eaa83f70157086796603560b979689f7d50b0cfba93d0245544c3a8c28a87 DIST haproxy-2.5.7.tar.gz 3832801 BLAKE2B 6d54135b56f84129dea497ddc935fecf593abccfb21fc647c7d166f9c1aa4abc670c66bf13e0923e353627d83d47345f632ae8212672c3b3da7a757fd5d24d7c SHA512 cf6994508d559401a84e1304c2b6829952a9b3a14365d03436da42ec7e4553c201ffde9e524044dfa48813e8e614d24095a87b0fae7d9145ce5e66b953666ee9 DIST haproxy-2.5.8.tar.gz 3838130 BLAKE2B fd02c285682815fd1837190b80184e110bb6a37b99dfa30e6cece628e62af6a5a145d97f5849e64364a286593d0ea206506c0b474485b22018a816b899744710 SHA512 99a49556864b178c024e73e5bd45051a7a6e512bbb52906ba6f3888e22a83e2b91198ed1c6a3bcbbc44c474a9ba6a6373fae4216fac8ecdb5d724f281b00fd68 +DIST haproxy-2.5.9.tar.gz 3843788 BLAKE2B dcff2af4beba435abfcf13337f91575a19b13360f0a5abfeedfd214b7811f4d7324ca29476bdef06712dd2a89413450234735e7101f7a22ab4b1b45b3b3c482c SHA512 b00756372f40de65b645cccecc11a835146d34588bd2c805f51c1bc3ab61b054af2a7cc62bbfa56607c26e42bbb791f2bbc191afb7ea992fe03b52e942112c3e DIST haproxy-2.6.6.tar.gz 4015438 BLAKE2B 36e676e011e290cc16ed4d116426639e9c11dcc6383fbcc82da8c9df87f19dde55a420167d926a510f6ca06cedec5588abb1ee1dd78881e3ecafbe428ea247c7 SHA512 0b416d200e9b406a96896d3570483d24e94fdfa3f781bee663476e218a57851aefdf8768f00c8a2e9df1bb028f6398690f07da452f59656327967685787ee5c2 EBUILD haproxy-2.2.17.ebuild 5356 BLAKE2B 3e66fd23b24ac10f251ca4c0b20b9fc7f51c55a7235ea362b22f71f9e581c36c93dcb4046cc14dcf687669eb64a71e221f7affd9e811cf94361e4e86754fb3bd SHA512 316ba774a164527afb0c56da9fe3433cc3c96becef081388b5756d819e0962d15a61d67388e9776ee194582a1e7dd97105ee58e194c94689047aad38b20509c1 EBUILD haproxy-2.2.21.ebuild 5358 BLAKE2B 74e840c6a726c6c00e26de01e8ed0e9923a7a7623a9984a67a5d2322fe7be38eb26559cce3fc1bcfadeb00246e42c0ed076a2b2662776f596e14a8f9ab1f5d12 SHA512 2049483a3f1eb1907573fcb134d9cfff2b27dc50a45df9025c3e734a1bde76d4cc7f5c0affdf52877889d267b32bb1fcc402dd1f8d9338004e9aac2aac879dd7 @@ -27,6 +28,7 @@ EBUILD haproxy-2.4.9999.ebuild 5541 BLAKE2B 31a6af0a9d420d4157b6eb68838efb24acd7 EBUILD haproxy-2.5.4.ebuild 5603 BLAKE2B fe8ce7c4e262f9c7ec28b0409192a4165eaba2beb70eaea23affe3623eb0c977a6402dfca1bc70e48e09441a8918caed2632c63855963799eb8d9cb3b07dbf10 SHA512 2d10f3f0aebc2ca6d8cb0835a5b58a37d74b19850e80be1b819256a330bd1d14666fddcd8f0f80551cd426e015953f44d4cabcf95fccc8b95bae9b7d41f91a97 EBUILD haproxy-2.5.7.ebuild 5571 BLAKE2B 4a356c40d93c8f3aa2c88cb37bbe541fa897ab0fe0b7bb88302288c7b988d68e08f71a74f63a007b4fe5e701ffd74b44afd40ee8f7574f1d56ddce2259ab858d SHA512 33371bd457ddbfbd4e63d36a08841a1567ecac63cbebbc318fda193b634899deb6471b1c17e235655bd6152138f8360d7ddf1751d578b6e736233d181dde40bd EBUILD haproxy-2.5.8.ebuild 5573 BLAKE2B fa7a020def7236bffa5f12e3ee7c994d7f37fe3bab6b3ee2d6ac58a2c3be713f806ac5b0f6e15e91b3df7d3536742cab175fb6aadff1b5dd8449af83bd50011d SHA512 2c5951ba57f008f6a3babda4c272fff26f7502e1aefc6f5d54a98759e077b23cbca8f82c83e3bd28152f15cb8eb40bfa9c4e053ce7df771a1d9e5368e3d1e322 +EBUILD haproxy-2.5.9.ebuild 5534 BLAKE2B fc75ff57aeff28ec1cd47fed8bacac7ae7e5052645630a23964d972599e6d21f1f16befbc5b5f80d4f1bf123d66ec8d820bc1b1c4c9d88efaa3a719d5a87ed2a SHA512 0fb59637589811975b5e7b179619a8224f5c878729b01c5235a78317460b5bcd816c2a2edf4e2ee9c411cafa73d4d993c5278bb3063de732966f5f279cb596b8 EBUILD haproxy-2.5.9999.ebuild 5534 BLAKE2B fc75ff57aeff28ec1cd47fed8bacac7ae7e5052645630a23964d972599e6d21f1f16befbc5b5f80d4f1bf123d66ec8d820bc1b1c4c9d88efaa3a719d5a87ed2a SHA512 0fb59637589811975b5e7b179619a8224f5c878729b01c5235a78317460b5bcd816c2a2edf4e2ee9c411cafa73d4d993c5278bb3063de732966f5f279cb596b8 EBUILD haproxy-2.6.6.ebuild 5533 BLAKE2B 35d1fc865e5b8fd84268bcac1d2c3f210c88e14fc546dafa943a892064b727b0181b4b2551fc13a389be23da5db288a91213c399b152a85a468827b3a03776d6 SHA512 2bcf1079cc9d0b9c132bda399a8dde03306e93671c8a626da4b366657f93d7be171dd209e99887054a52ea2a0ae618f76088bcf485dc094c0a189d0b5d661839 EBUILD haproxy-2.6.9999.ebuild 5533 BLAKE2B 35d1fc865e5b8fd84268bcac1d2c3f210c88e14fc546dafa943a892064b727b0181b4b2551fc13a389be23da5db288a91213c399b152a85a468827b3a03776d6 SHA512 2bcf1079cc9d0b9c132bda399a8dde03306e93671c8a626da4b366657f93d7be171dd209e99887054a52ea2a0ae618f76088bcf485dc094c0a189d0b5d661839 diff --git a/net-proxy/haproxy/haproxy-2.5.9.ebuild b/net-proxy/haproxy/haproxy-2.5.9.ebuild new file mode 100644 index 000000000000..ba2ff38efb00 --- /dev/null +++ b/net-proxy/haproxy/haproxy-2.5.9.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +LUA_COMPAT=( lua5-3 ) + +[[ ${PV} == *9999 ]] && SCM="git-r3" +inherit toolchain-funcs flag-o-matic lua-single 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 ~arm64 ~ppc ~x86" +elif [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://git.haproxy.org/git/haproxy.git/" + EGIT_BRANCH=master +else + EGIT_REPO_URI="https://git.haproxy.org/git/haproxy-$(ver_cut 1-2).git/" + EGIT_BRANCH=master +fi + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0/$(ver_cut 1-2)" +IUSE="+crypt doc examples +slz +net_ns +pcre pcre-jit prometheus-exporter +ssl systemd +threads tools vim-syntax zlib lua 51degrees wurfl" +REQUIRED_USE="pcre-jit? ( pcre ) + lua? ( ${LUA_REQUIRED_USE} ) + ?? ( slz zlib )" + +BDEPEND="virtual/pkgconfig" +DEPEND=" + crypt? ( virtual/libcrypt:= ) + pcre? ( + dev-libs/libpcre2:= + pcre-jit? ( dev-libs/libpcre2:=[jit] ) + ) + ssl? ( + dev-libs/openssl:0= + ) + systemd? ( sys-apps/systemd ) + zlib? ( sys-libs/zlib ) + lua? ( ${LUA_DEPS} )" +RDEPEND="${DEPEND} + acct-group/haproxy + acct-user/haproxy" + +S="${WORKDIR}/${MY_P}" + +DOCS=( CHANGELOG CONTRIBUTING MAINTAINERS README ) +EXTRAS=( admin/halog admin/iprange dev/tcploop dev/hpack ) + +haproxy_use() { + (( $# != 2 )) && die "${FUNCNAME} <USE flag> <make option>" + + usex "${1}" "USE_${2}=1" "USE_${2}=" +} + +pkg_setup() { + use lua && lua-single_pkg_setup + if use net_ns; then + CONFIG_CHECK="~NET_NS" + linux-info_pkg_setup + fi +} + +src_compile() { + local -a args=( + V=1 + TARGET=linux-glibc + # Switching to PCRE2 by default, bug 838013 + PCRE= + PCRE_JIT= + ) + + # TODO: PCRE2_WIDTH? + args+=( $(haproxy_use threads THREAD) ) + args+=( $(haproxy_use crypt LIBCRYPT) ) + args+=( $(haproxy_use net_ns NS) ) + args+=( $(haproxy_use pcre PCRE2) ) + args+=( $(haproxy_use pcre-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 wurfl WURFL) ) + args+=( $(haproxy_use systemd SYSTEMD) ) + args+=( $(haproxy_use prometheus-exporter PROMEX) ) + + # Bug #668002 + if use ppc || use arm || use hppa; then + TARGET_LDFLAGS=-latomic + 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}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} + emake -C admin/systemd CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) SBINDIR=/usr/sbin + + if use tools ; then + for extra in ${EXTRAS[@]} ; do + if [ "${extra}" = "admin/halog" ]; then + emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} admin/halog/halog + elif [ "${extra}" = "dev/hpack" ]; then + emake CFLAGS="${CFLAGS} \$(SPEC_CFLAGS)" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" EXTRA_OBJS="${EXTRA_OBJS}" TARGET_LDFLAGS="${TARGET_LDFLAGS}" PCRE_LIB="${ESYSROOT}"/usr/$(get_libdir) ${args[@]} dev/hpack/{decode,gen-enc,gen-rht} + else + # Those two includes are a workaround for hpack Makefile missing those + emake -C ${extra} \ + CFLAGS="${CFLAGS} -I../../include/ -I../../ebtree/" OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" ${args[@]} + fi + done + fi +} + +src_install() { + dosbin haproxy + + newconfd "${FILESDIR}/${PN}.confd-r1" ${PN} + newinitd "${FILESDIR}/${PN}.initd-r8" ${PN} + + doman doc/haproxy.1 + + systemd_dounit admin/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 admin/halog "${EXTRAS[@]}" && dobin admin/halog/halog + has admin/iprange "${EXTRAS[@]}" && { newbin admin/iprange/iprange haproxy_iprange; newbin admin/iprange/ip6range haproxy_ip6range; } + has dev/tcploop "${EXTRAS[@]}" && newbin dev/tcploop/tcploop haproxy_tcploop + has dev/hpack "${EXTRAS[@]}" && { + newbin dev/hpack/gen-rht haproxy_gen-rht + newbin dev/hpack/gen-enc haproxy_gen-enc + newbin dev/hpack/decode haproxy_decode + } + 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 admin/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 +} |