# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=4 MY_P="${PN/2/-II}-${PV}" inherit base user DESCRIPTION="Connection pool server for PostgreSQL" HOMEPAGE="http://www.pgpool.net/" SRC_URI="http://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="memcached pam ssl static-libs" RDEPEND=" dev-db/postgresql memcached? ( dev-libs/libmemcached ) pam? ( sys-auth/pambase ) ssl? ( dev-libs/openssl ) " DEPEND="${RDEPEND} sys-devel/bison !!dev-db/pgpool " S=${WORKDIR}/${MY_P} pkg_setup() { enewgroup postgres 70 enewuser pgpool -1 -1 -1 postgres # We need the postgres user as well so we can set the proper # permissions on the sockets without getting into fights with # PostgreSQL's initialization scripts. enewuser postgres 70 /bin/bash /var/lib/postgresql postgres } src_prepare() { epatch "${FILESDIR}/pgpool_run_paths.patch" local pg_config_manual="$(pg_config --includedir)/pg_config_manual.h" local pgsql_socket_dir=$(grep DEFAULT_PGSOCKET_DIR "${pg_config_manual}" | \ sed 's|.*\"\(.*\)\"|\1|g') local pgpool_socket_dir="$(dirname $pgsql_socket_dir)/pgpool" sed "s|@PGSQL_SOCKETDIR@|${pgsql_socket_dir}|g" \ -i *.conf.sample* pool.h || die sed "s|@PGPOOL_SOCKETDIR@|${pgpool_socket_dir}|g" \ -i *.conf.sample* pool.h || die } src_configure() { local myconf use memcached && \ myconf="--with-memcached=\"${EROOT%/}/usr/include/libmemcached\"" use pam && myconf+=' --with-pam' econf \ --disable-rpath \ --sysconfdir="${EROOT%/}/etc/${PN}" \ $(use_with ssl openssl) \ $(use_enable static-libs static) \ ${myconf} } src_compile() { emake emake -C sql } src_install() { emake DESTDIR="${D}" install emake DESTDIR="${D}" -C sql install cd "${S}" # `contrib' moved to `extension' with PostgreSQL 9.1 local pgslot=$(postgresql-config show) if [[ ${pgslot//.} > 90 ]] ; then cd "${ED%/}$(pg_config --sharedir)" mv contrib extension || die cd "${S}" fi newinitd "${FILESDIR}/${PN}.initd" ${PN} newconfd "${FILESDIR}/${PN}.confd" ${PN} # Documentation dodoc NEWS TODO doc/where_to_send_queries.{pdf,odg} dohtml -r doc # Examples and extras insinto "/usr/share/${PN}" doins doc/{pgpool_remote_start,basebackup.sh,recovery.conf.sample} 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 {} + }