summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/psycopg/ChangeLog10
-rw-r--r--dev-python/psycopg/files/psycopg-2.4.2-begin-segfault.patch34
-rw-r--r--dev-python/psycopg/files/psycopg-2.4.2-setup.py.patch13
-rw-r--r--dev-python/psycopg/psycopg-2.4.2.ebuild79
4 files changed, 135 insertions, 1 deletions
diff --git a/dev-python/psycopg/ChangeLog b/dev-python/psycopg/ChangeLog
index a9d7750e683d..6ec51dfa3e95 100644
--- a/dev-python/psycopg/ChangeLog
+++ b/dev-python/psycopg/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-python/psycopg
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/psycopg/ChangeLog,v 1.131 2011/09/10 17:39:59 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/psycopg/ChangeLog,v 1.132 2011/09/14 07:43:04 djc Exp $
+
+*psycopg-2.4.2 (14 Sep 2011)
+
+ 14 Sep 2011; Dirkjan Ochtman <djc@gentoo.org> +psycopg-2.4.2.ebuild,
+ +files/psycopg-2.4.2-begin-segfault.patch,
+ +files/psycopg-2.4.2-setup.py.patch:
+ Version bump to 2.4.2 (fixes bug 379601, thanks jbergstroem and David
+ Butler).
10 Sep 2011; Jeroen Roovers <jer@gentoo.org> psycopg-2.4.1.ebuild:
Marked ~hppa (bug #381709).
diff --git a/dev-python/psycopg/files/psycopg-2.4.2-begin-segfault.patch b/dev-python/psycopg/files/psycopg-2.4.2-begin-segfault.patch
new file mode 100644
index 000000000000..cbf2278d0bfa
--- /dev/null
+++ b/dev-python/psycopg/files/psycopg-2.4.2-begin-segfault.patch
@@ -0,0 +1,34 @@
+X-Git-Url: https://dndg.it/cgi-bin/gitweb.cgi?p=public%2Fpsycopg2.git;a=blobdiff_plain;f=psycopg%2Fpqpath.c;h=1f0d5da95bd88aa4d5468874047e4b0139ffadd3;hp=cee5ce4c9c053981710959ca28b7e68702c44a97;hb=de6f2ac387231fcd57c05031c82471ea57255e2b;hpb=d9fce1f837151e6eadfd8ca761ef328a721198bd
+
+diff --git a/psycopg/pqpath.c b/psycopg/pqpath.c
+index cee5ce4..1f0d5da 100644
+--- a/psycopg/pqpath.c
++++ b/psycopg/pqpath.c
+@@ -344,11 +344,13 @@ pq_execute_command_locked(connectionObject *conn, const char *query,
+ }
+ if (*pgres == NULL) {
+ Dprintf("pq_execute_command_locked: PQexec returned NULL");
++ PyEval_RestoreThread(*tstate);
+ if (!PyErr_Occurred()) {
+ const char *msg;
+ msg = PQerrorMessage(conn->pgconn);
+ if (msg && *msg) { *error = strdup(msg); }
+ }
++ *tstate = PyEval_SaveThread();
+ goto cleanup;
+ }
+
+@@ -635,11 +637,13 @@ pq_get_guc_locked(
+
+ if (*pgres == NULL) {
+ Dprintf("pq_get_guc_locked: PQexec returned NULL");
++ PyEval_RestoreThread(*tstate);
+ if (!PyErr_Occurred()) {
+ const char *msg;
+ msg = PQerrorMessage(conn->pgconn);
+ if (msg && *msg) { *error = strdup(msg); }
+ }
++ *tstate = PyEval_SaveThread();
+ goto cleanup;
+ }
+ if (PQresultStatus(*pgres) != PGRES_TUPLES_OK) { \ No newline at end of file
diff --git a/dev-python/psycopg/files/psycopg-2.4.2-setup.py.patch b/dev-python/psycopg/files/psycopg-2.4.2-setup.py.patch
new file mode 100644
index 000000000000..a35502270e1f
--- /dev/null
+++ b/dev-python/psycopg/files/psycopg-2.4.2-setup.py.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index e03876a..f5ec2ac 100644
+--- a/setup.py
++++ b/setup.py
+@@ -461,7 +461,7 @@ if parser.has_option('build_ext', 'mx_include_dir'):
+ mxincludedir = parser.get('build_ext', 'mx_include_dir')
+ else:
+ mxincludedir = os.path.join(get_python_inc(plat_specific=1), "mx")
+-if os.path.exists(mxincludedir):
++if not use_pydatetime and os.path.exists(mxincludedir):
+ # Build the support for mx: we will check at runtime if it can be imported
+ include_dirs.append(mxincludedir)
+ define_macros.append(('HAVE_MXDATETIME', '1')) \ No newline at end of file
diff --git a/dev-python/psycopg/psycopg-2.4.2.ebuild b/dev-python/psycopg/psycopg-2.4.2.ebuild
new file mode 100644
index 000000000000..6d838178d888
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.4.2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/psycopg/psycopg-2.4.2.ebuild,v 1.1 2011/09/14 07:43:04 djc Exp $
+
+EAPI="3"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="*-jython"
+
+inherit distutils eutils
+
+MY_PN="${PN}2"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="http://initd.org/psycopg/ http://pypi.python.org/pypi/psycopg2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc examples mxdatetime"
+
+RDEPEND=">=dev-db/postgresql-base-8.1
+ mxdatetime? ( dev-python/egenix-mx-base )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )"
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
+
+DOCS="AUTHORS doc/HACKING doc/SUCCESS"
+PYTHON_MODNAME="${PN}2"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-setup.py.patch"
+ epatch "${FILESDIR}/${P}-begin-segfault.patch"
+ epatch "${FILESDIR}/${PN}-2.0.9-round-solaris.patch"
+
+ python_convert_shebangs 2 doc/src/tools/stitch_text.py
+
+ if use debug; then
+ sed -i 's/^\(define=\)/\1PSYCOPG_DEBUG,/' setup.cfg || die "sed failed"
+ fi
+
+ if use mxdatetime; then
+ sed -i 's/\(use_pydatetime=\)1/\10/' setup.cfg || die "sed failed"
+ fi
+}
+
+src_compile() {
+ distutils_src_compile
+
+ if use doc; then
+ einfo "Generation of documentation"
+ pushd doc > /dev/null
+ emake -j1 html text || die "Generation of documentation failed"
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ distutils_src_install
+
+ if use doc; then
+ dodoc doc/psycopg2.txt || die "dodoc failed"
+
+ pushd doc/html > /dev/null
+ insinto /usr/share/doc/${PF}/html
+ doins -r [a-z]* _static || die "Installation of documentation failed"
+ popd > /dev/null
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/* || die "Installation of examples failed"
+ fi
+}