summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron W. Swenson <titanofold@gentoo.org>2012-01-31 11:18:23 +0000
committerAaron W. Swenson <titanofold@gentoo.org>2012-01-31 11:18:23 +0000
commitfaf832ff070e26b6192d583e3060a614fa1c3ad2 (patch)
treef87c8c8e13db895f881090daa67768ef7d85fbca /dev-libs/libpqxx
parentVersion bump (bug 398519) (diff)
downloadgentoo-2-faf832ff070e26b6192d583e3060a614fa1c3ad2.tar.gz
gentoo-2-faf832ff070e26b6192d583e3060a614fa1c3ad2.tar.bz2
gentoo-2-faf832ff070e26b6192d583e3060a614fa1c3ad2.zip
Adding back to fix bug 401607.
(Portage version: 2.1.10.41/cvs/Linux i686)
Diffstat (limited to 'dev-libs/libpqxx')
-rw-r--r--dev-libs/libpqxx/ChangeLog6
-rw-r--r--dev-libs/libpqxx/files/libpqxx-3.1-gcc46.patch24
-rw-r--r--dev-libs/libpqxx/libpqxx-3.1-r3.ebuild94
3 files changed, 123 insertions, 1 deletions
diff --git a/dev-libs/libpqxx/ChangeLog b/dev-libs/libpqxx/ChangeLog
index e43b8f646965..38e8c6b02aee 100644
--- a/dev-libs/libpqxx/ChangeLog
+++ b/dev-libs/libpqxx/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-libs/libpqxx
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpqxx/ChangeLog,v 1.80 2012/01/29 15:42:43 titanofold Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpqxx/ChangeLog,v 1.81 2012/01/31 11:18:22 titanofold Exp $
+
+ 31 Jan 2012; Aaron W. Swenson <titanofold@gentoo.org> +libpqxx-3.1-r3.ebuild,
+ +files/libpqxx-3.1-gcc46.patch:
+ Adding back to fix bug 401607.
29 Jan 2012; Aaron W. Swenson <titanofold@gentoo.org> libpqxx-4.0-r1.ebuild:
Added static-libs support.
diff --git a/dev-libs/libpqxx/files/libpqxx-3.1-gcc46.patch b/dev-libs/libpqxx/files/libpqxx-3.1-gcc46.patch
new file mode 100644
index 000000000000..91cd5d24a5f1
--- /dev/null
+++ b/dev-libs/libpqxx/files/libpqxx-3.1-gcc46.patch
@@ -0,0 +1,24 @@
+--- a/include/pqxx/compiler-internal.hxx
++++ b/include/pqxx/compiler-internal.hxx
+@@ -76,7 +76,7 @@
+ namespace internal
+ {
+ /// Wrapper for std::distance; not all platforms have std::distance().
+-template<typename T> inline ptrdiff_t distance(T first, T last)
++template<typename T> inline PGSTD::ptrdiff_t distance(T first, T last)
+ {
+ #ifdef PQXX_HAVE_DISTANCE
+ return PGSTD::distance(first, last);
+--- a/test/unit/test_escape.cxx
++++ b/test/unit/test_escape.cxx
+@@ -54,8 +54,8 @@
+ PQXX_CHECK_EQUAL(t.quote("x"), "'x'", "Basic quote() fails.");
+ PQXX_CHECK_EQUAL(t.quote(1), "'1'", "quote() not dealing with int properly.");
+ PQXX_CHECK_EQUAL(t.quote(0), "'0'", "Quoting zero is a problem.");
+- const char *const nullptr = NULL;
+- PQXX_CHECK_EQUAL(t.quote(nullptr), "NULL", "Not quoting NULL correctly.");
++ const char *const null_ptr = NULL;
++ PQXX_CHECK_EQUAL(t.quote(null_ptr), "NULL", "Not quoting NULL correctly.");
+ PQXX_CHECK_EQUAL(t.quote(string("'")), "''''", "Escaping quotes goes wrong.");
+
+ PQXX_CHECK_EQUAL(t.quote("x"),
diff --git a/dev-libs/libpqxx/libpqxx-3.1-r3.ebuild b/dev-libs/libpqxx/libpqxx-3.1-r3.ebuild
new file mode 100644
index 000000000000..220fb88e450e
--- /dev/null
+++ b/dev-libs/libpqxx/libpqxx-3.1-r3.ebuild
@@ -0,0 +1,94 @@
+# 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
+}