From 90e68230780be2bbf92c550a02fa379a6e4581be Mon Sep 17 00:00:00 2001 From: Sam James Date: Fri, 18 Jul 2025 16:13:01 +0100 Subject: [PATCH] dev-db/pgpool2: allow use of dev-libs/libmemcached-awesome dev-libs/libmemcached-awesome is an API & ABI compatible fork of dev-libs/libmemcached. The latter hasn't had updates or fixes in quite some time. Signed-off-by: Sam James --- dev-db/pgpool2/pgpool2-4.4.7-r1.ebuild | 101 +++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 dev-db/pgpool2/pgpool2-4.4.7-r1.ebuild diff --git a/dev-db/pgpool2/pgpool2-4.4.7-r1.ebuild b/dev-db/pgpool2/pgpool2-4.4.7-r1.ebuild new file mode 100644 index 0000000000000..a389dbd9154f9 --- /dev/null +++ b/dev-db/pgpool2/pgpool2-4.4.7-r1.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +POSTGRES_COMPAT=( {10..16} ) + +inherit autotools flag-o-matic postgres-multi + +MY_P="${PN/2/-II}-${PV}" + +DESCRIPTION="Connection pool server for PostgreSQL" +HOMEPAGE="https://www.pgpool.net/" +SRC_URI="https://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz" +LICENSE="BSD" +SLOT="0" + +KEYWORDS="~amd64 ~x86" + +IUSE="doc memcached pam ssl static-libs" + +RDEPEND=" + ${POSTGRES_DEP} + acct-user/pgpool + net-libs/libnsl:0= + virtual/libcrypt:= + memcached? ( + || ( + dev-libs/libmemcached-awesome + dev-libs/libmemcached + ) + ) + pam? ( sys-auth/pambase ) + ssl? ( dev-libs/openssl:0= ) +" +DEPEND="${RDEPEND} + sys-devel/bison + virtual/pkgconfig +" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + eapply \ + "${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \ + "${FILESDIR}/pgpool-configure-pam.patch" \ + "${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \ + "${FILESDIR}/pgpool-4.4.4-run_paths.patch" + + eautoreconf + + postgres-multi_src_prepare +} + +src_configure() { + # bug #946410 + append-cflags -std=gnu17 + # Usual always_inline problem + filter-flags -fno-semantic-interposition + + postgres-multi_foreach econf \ + --disable-rpath \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \ + --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \ + $(use_enable static-libs static) \ + $(use_with memcached) \ + $(use_with pam) \ + $(use_with ssl openssl) +} + +src_compile() { + # Even though we're only going to do an install for the best slot + # available, the extension bits in src/sql need some things outside + # of that directory built, too. + postgres-multi_foreach emake + postgres-multi_foreach emake -C src/sql +} + +src_install() { + # We only need the best stuff installed + postgres-multi_forbest emake DESTDIR="${D}" install + + # Except for the extension and .so files that each PostgreSQL slot needs + postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install + + newinitd "${FILESDIR}/${PN}.initd" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + + # Documentation! + dodoc NEWS TODO + doman doc/src/sgml/man{1,8}/* + use doc && dodoc -r doc/src/sgml/html + + # mv some files that get installed to /usr/share/pgpool-II so that + # they all wind up in the same place + mv "${ED}/usr/share/${PN/2/-II}" "${ED}/usr/share/${PN}" || die + + # One more thing: Evil la files! + find "${ED}" -name '*.la' -exec rm -f {} + +}