diff options
author | Aaron W. Swenson <titanofold@gentoo.org> | 2018-01-12 16:01:04 -0500 |
---|---|---|
committer | Aaron W. Swenson <titanofold@gentoo.org> | 2018-01-12 16:01:04 -0500 |
commit | 4eeca29c1cbeec279c6cb5d572bc0518162f237e (patch) | |
tree | 34e9d8a9266cc65e30867599598b61e8d78124e4 /dev-python/psycopg | |
parent | dev-java/commons-collections: stable for amd64. mark stable for the remaining... (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | dev-python/psycopg/files/psycopg-2.7.3-avoid-mxdatetime.patch | 40 | ||||
-rw-r--r-- | dev-python/psycopg/files/psycopg-2.7.3-sphinx-1.6.patch | 29 | ||||
-rw-r--r-- | dev-python/psycopg/psycopg-2.7.3.2.ebuild | 72 |
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 +} |