You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-libs/libpqxx/libpqxx-3.1-r3.ebuild

95 lines
2.8 KiB

# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpqxx/libpqxx-3.1-r3.ebuild,v 1.3 2012/01/31 11:18:22 titanofold Exp $
EAPI="4"
inherit eutils
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
DESCRIPTION="C++ client API for PostgreSQL. The standard front-end for writing C++ programs that use PostgreSQL."
SRC_URI="http://pqxx.org/download/software/${PN}/${P}.tar.gz"
HOMEPAGE="http://pqxx.org/development/libpqxx/"
LICENSE="BSD"
SLOT="0"
IUSE="doc"
DEPEND="dev-db/postgresql-base"
RDEPEND="${DEPEND}"
# src_test is interactive unless PGDATABASE and PGUSER is set either as an
# environment variable or in /etc/libpqxx_test_env
PROPERTIES="interactive"
src_prepare() {
epatch "${FILESDIR}/libpqxx-3.1-gcc46.patch"
}
src_configure() {
econf --enable-shared
}
src_install () {
emake DESTDIR="${D}" install
dodoc AUTHORS ChangeLog NEWS README*
use doc && dohtml -r doc/html/*
}
src_test() {
ewarn "The tests need a running PostgreSQL server version 8.4.x or older"
ewarn "and an existing database."
ewarn "Test requires PGDATABASE and PGUSER to be set at a minimum."
ewarn "Optionally, set PGPORT and PGHOST."
ewarn "Define them at the command line or in:"
ewarn " ${EROOT%/}/etc/libpqxx_test_env"
ewarn "Make sure 'standard_conforming_strings' is set to off in postgresql.conf."
if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
if [[ -f ${EROOT%/}/etc/libpqxx_test_env ]] ; then
source "${EROOT%/}/etc/libpqxx_test_env"
[[ -n $PGDATABASE ]] && export PGDATABASE
[[ -n $PGHOST ]] && export PGHOST
[[ -n $PGPORT ]] && export PGPORT
[[ -n $PGUSER ]] && export PGUSER
fi
# In case the file wasn't written properly or doesn't exist
if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
echo -n "Database (Default: $(whoami)): "
read PGDATABASE
[[ -n $PGDATABASE ]] && export PGDATABASE
echo -n "Host (Default: Unix socket): "
read PGHOST
[[ -n $PGHOST ]] && export PGHOST
echo -n "Port (Default: 5432): "
read PGPORT
[[ -n $PGPORT ]] && export PGPORT
echo -n "User (Default: $(whoami)): "
read PGUSER
[[ -n $PGUSER ]] && export PGUSER
fi
fi
local server_version
server_version=$(psql -Aqwtc 'SELECT version();' 2> /dev/null)
if [[ $? = 0 ]] ; then
server_version=$(echo ${server_version} | cut -d " " -f 2 | cut -d "." -f -2 | tr -d .)
if [[ $server_version < 90 ]] ; then
cd "${S}/test"
emake check
else
eerror "Server version must be 8.4.x or below."
die "Server version isn't 8.4.x or below"
fi
else
eerror "Is the server running?"
eerror "Check that the role and database exist, and authentication method is set to"
eerror "trust for:"
eerror " Role: ${PGUSER}"
eerror " Database: ${PGDATABASE}"
die "Couldn't connect to server."
fi
}