summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron W. Swenson <titanofold@gentoo.org>2018-01-12 16:01:04 -0500
committerAaron W. Swenson <titanofold@gentoo.org>2018-01-12 16:01:04 -0500
commit4eeca29c1cbeec279c6cb5d572bc0518162f237e (patch)
tree34e9d8a9266cc65e30867599598b61e8d78124e4 /dev-python/psycopg
parentdev-java/commons-collections: stable for amd64. mark stable for the remaining... (diff)
downloadgentoo-4eeca29c1cbeec279c6cb5d572bc0518162f237e.tar.gz
gentoo-4eeca29c1cbeec279c6cb5d572bc0518162f237e.tar.bz2
gentoo-4eeca29c1cbeec279c6cb5d572bc0518162f237e.zip
dev-python/psycopg: Bump to 2.7.3.2 and many fixes
Apply a couple patches. One for building documentation (634730) and another to avoid building against mxdatetime from the antiquated dev-python/egenix-mx-base (452028, 629430). This version knows how to parse the new PostgreSQL version scheme (625540). Docs build again (540996). Bug: https://bugs.gentoo.org/452028 Bug: https://bugs.gentoo.org/540996 Bug: https://bugs.gentoo.org/625540 Bug: https://bugs.gentoo.org/629430 Bug: https://bugs.gentoo.org/634730 Package-Manager: Portage-2.3.13, Repoman-2.3.3
Diffstat (limited to 'dev-python/psycopg')
-rw-r--r--dev-python/psycopg/Manifest1
-rw-r--r--dev-python/psycopg/files/psycopg-2.7.3-avoid-mxdatetime.patch40
-rw-r--r--dev-python/psycopg/files/psycopg-2.7.3-sphinx-1.6.patch29
-rw-r--r--dev-python/psycopg/psycopg-2.7.3.2.ebuild72
4 files changed, 142 insertions, 0 deletions
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index bcead7e4386c..38aab41bf95a 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -2,4 +2,5 @@ DIST psycopg-1.1.21.tar.gz 213753 BLAKE2B 679b4ba810ad7821c781e169baae1f62b6f926
DIST psycopg2-2.5.3.tar.gz 690689 BLAKE2B c1c070fc9acf5270f6bd711d457f162d2e5622a0cb40584d5b24cce441429c460aded278b67dbdf351605d710085c3e04ac63927d736c8d04ea27d21cccdea10 SHA512 88590c37be839e8cf5025b7ac40411c4682269700795c5f8f1b762966d906faf3f1ee85de35fc734a2d10c6a68d7fef569891bd96919bab809b9500625e2a41a
DIST psycopg2-2.6.2.tar.gz 376348 BLAKE2B 279f2fb905c3e3034d89535a8c1de3114ef87cbd7f4b32a54b38150ef1cb845ae9811b3d6f57a5f46042db47e6d5f2563e87c986cdb8a8799fe6d60580180cc3 SHA512 614314b5ab7ab5fa7c5e9c4f861579f90bd73521a9964dcb5a0938f77a9d6dfbea689cef35ad399cda698a45bb736c315912cb5dca85a52132f011d79f4863ac
DIST psycopg2-2.7.3.1.tar.gz 425069 BLAKE2B 4d34859c63217bad08374b0a8d03dbcba7711c1e8034eb106ba27211e85af148f51902e2d1b294e4c0ba4e798f4a64903d9d735605d09bbcb1d291ad23cfb4e0 SHA512 206d4cf62a091927daf4b734e0b3597399fc588cb738366711674fc06c39d68a682981bc4756c356d37c41caba49b5df2b915beace8670c190d7d41e374f1eb5
+DIST psycopg2-2.7.3.2.tar.gz 425107 BLAKE2B 47fe652d5e2e62c765150941d565b9ee896e221ae565e51745645f2723a0070481daf2f0d0d1a1fbd741b5b536c12cdf892becb4d5d4283a26cd324cd02c47c6 SHA512 38460369e339b16e433328e9bd6ccdbb4b03e41d40b9fb453a54513af4ec43f0a72dc795de6eb13d9618e1d5636991d3de7f619459b3f21d070798d497b2776f
DIST psycopg2-2.7.3.tar.gz 425004 BLAKE2B df405ca5b5f5887fbd166523cafd5686a9148b313b7c30a85dbfc5dec42aff426505993f42a18d6d60569deb17a5748a858737a139d74943e66bce8bdd12beb3 SHA512 9e673f47190b12ab31e783a3d2b464231b933cc6ad4f12742c457020aab5db36b83829d84b4e63f793f5567e689081fd9479bfc4634b7bb08c7d873a3f42efc9
diff --git a/dev-python/psycopg/files/psycopg-2.7.3-avoid-mxdatetime.patch b/dev-python/psycopg/files/psycopg-2.7.3-avoid-mxdatetime.patch
new file mode 100644
index 000000000000..aab130c54500
--- /dev/null
+++ b/dev-python/psycopg/files/psycopg-2.7.3-avoid-mxdatetime.patch
@@ -0,0 +1,40 @@
+Index: psycopg2-2.7.3/setup.py
+===================================================================
+--- psycopg2-2.7.3.orig/setup.py
++++ psycopg2-2.7.3/setup.py
+@@ -527,20 +527,21 @@ have_pydatetime = True
+ have_mxdatetime = False
+ use_pydatetime = int(parser.get('build_ext', 'use_pydatetime'))
+
+-# check for mx package
+-mxincludedir = ''
+-if parser.has_option('build_ext', 'mx_include_dir'):
+- mxincludedir = parser.get('build_ext', 'mx_include_dir')
+-if not mxincludedir:
+- mxincludedir = os.path.join(get_python_inc(plat_specific=1), "mx")
+-if mxincludedir.strip() 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'))
+- sources.append('adapter_mxdatetime.c')
+- depends.extend(['adapter_mxdatetime.h', 'typecast_mxdatetime.c'])
+- have_mxdatetime = True
+- version_flags.append('mx')
++if not use_pydatetime:
++ # check for mx package
++ mxincludedir = ''
++ if parser.has_option('build_ext', 'mx_include_dir'):
++ mxincludedir = parser.get('build_ext', 'mx_include_dir')
++ if not mxincludedir:
++ mxincludedir = os.path.join(get_python_inc(plat_specific=1), "mx")
++ if mxincludedir.strip() 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'))
++ sources.append('adapter_mxdatetime.c')
++ depends.extend(['adapter_mxdatetime.h', 'typecast_mxdatetime.c'])
++ have_mxdatetime = True
++ version_flags.append('mx')
+
+ # now decide which package will be the default for date/time typecasts
+ if have_pydatetime and (use_pydatetime or not have_mxdatetime):
diff --git a/dev-python/psycopg/files/psycopg-2.7.3-sphinx-1.6.patch b/dev-python/psycopg/files/psycopg-2.7.3-sphinx-1.6.patch
new file mode 100644
index 000000000000..4052a14649ef
--- /dev/null
+++ b/dev-python/psycopg/files/psycopg-2.7.3-sphinx-1.6.patch
@@ -0,0 +1,29 @@
+--- psycopg-2.7.3.2/doc/src/tools/lib/dbapi_extension.py 2016-04-10 08:48:37.000000000 +0200
++++ psycopg-2.7.3.2/doc/src/tools/lib/dbapi_extension.py 2017-12-20 22:14:19.097225121 +0100
+@@ -12,7 +12,7 @@
+ from docutils import nodes
+
+ from sphinx.locale import _
+-from sphinx.util.compat import Directive, make_admonition
++from docutils.parsers.rst import Directive
+
+ class extension_node(nodes.Admonition, nodes.Element): pass
+
+@@ -29,12 +29,11 @@ class Extension(Directive):
+ option_spec = {}
+
+ def run(self):
+- nodes = make_admonition(extension_node,
+- self.name, [_('DB API extension')], self.options,
+- self.content, self.lineno, self.content_offset,
+- self.block_text, self.state, self.state_machine)
+- nodes[0]['classes'].append('dbapi-extension')
+- return nodes
++ node = extension_node('\n'.join(self.content))
++ node += nodes.title(_('DB API extension'), _('DB API extension'))
++ self.state.nested_parse(self.content, self.content_offset, node)
++ node['classes'].append('dbapi-extension')
++ return [node]
+
+
+ def visit_extension_node(self, node):
diff --git a/dev-python/psycopg/psycopg-2.7.3.2.ebuild b/dev-python/psycopg/psycopg-2.7.3.2.ebuild
new file mode 100644
index 000000000000..93f6d5ad9cbb
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.7.3.2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="${PN}2"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="http://initd.org/psycopg/ https://pypi.python.org/pypi/psycopg2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc examples"
+
+RDEPEND=">=dev-db/postgresql-8.1:*"
+DEPEND="${RDEPEND}
+ doc? (
+ >=dev-python/pygments-2.2[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.6[${PYTHON_USEDEP}]
+ )"
+
+RESTRICT="test"
+
+# Avoid using mxdatetime: https://bugs.gentoo.org/452028
+# Fixes build error with sphinx: https://bugs.gentoo.org/634730
+PATCHES=(
+ "${FILESDIR}"/psycopg-2.7.3-avoid-mxdatetime.patch
+ "${FILESDIR}"/psycopg-2.7.3-sphinx-1.6.patch
+)
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile() {
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+
+ ! python_is_python3 && append-flags -fno-strict-aliasing
+
+ distutils-r1_python_compile
+}
+
+python_prepare_all() {
+ if use debug; then
+ sed -i 's/^\(define=\)/\1PSYCOPG_DEBUG,/' setup.cfg || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc/src html text
+}
+
+python_install_all() {
+ if use doc; then
+ dodoc -r doc/src/_build/html
+ dodoc doc/src/_build/text/*
+ fi
+
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}