blob: 89ebc6e8f6fda0eb441da0497047745e4f3173c6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpqxx/libpqxx-3.1-r2.ebuild,v 1.4 2011/10/19 00:20:18 jer 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}"
PROPERTIES="interactive"
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
}
|