summaryrefslogtreecommitdiff
path: root/dev-python/python-distutils-extra
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/python-distutils-extra')
-rw-r--r--dev-python/python-distutils-extra/Manifest2
-rw-r--r--dev-python/python-distutils-extra/files/python-distutils-extra-2.44-skip-build.patch63
-rw-r--r--dev-python/python-distutils-extra/files/python-distutils-extra-2.44-test.patch27
-rw-r--r--dev-python/python-distutils-extra/metadata.xml13
-rw-r--r--dev-python/python-distutils-extra/python-distutils-extra-2.44-r1.ebuild42
-rw-r--r--dev-python/python-distutils-extra/python-distutils-extra-2.45.ebuild36
6 files changed, 183 insertions, 0 deletions
diff --git a/dev-python/python-distutils-extra/Manifest b/dev-python/python-distutils-extra/Manifest
new file mode 100644
index 000000000000..3c6dcf4b79ad
--- /dev/null
+++ b/dev-python/python-distutils-extra/Manifest
@@ -0,0 +1,2 @@
+DIST python-distutils-extra-2.44.tar.bz2 37687 BLAKE2B 3d7e3ad277440bfb6fbade8b890b95aad37589700b69a26ec9a5c30e97491871bc8c8f82b540131859d2ce82cebd3758f29ca510abe28046ffcaa0e7240fad3e SHA512 517222b4e34efba730db53ffeee8b8c8d96bd9d1b6044e6ca84c0f2c1d5c0e044240b899d460c50295615c94c513f7e57db3e34e5db6588a01ec92a73999f822
+DIST python-distutils-extra-2.45.tar.bz2 38094 BLAKE2B b8c0adcb92d07e087e10389c9671e9eca78a9a634d0092c1633e184fb9d128b006903ce8f2c9deb504b3d1557a8afc78e3edea7f1a2e95734c55099b4a21dd41 SHA512 04d2be290726d7ceed599031bfa960468c6a8654c8d9105dd77cb5744f6908d1c9a6732095692aebde1f1e042ef70b2695d41586663e4d539ee96247a39f02a1
diff --git a/dev-python/python-distutils-extra/files/python-distutils-extra-2.44-skip-build.patch b/dev-python/python-distutils-extra/files/python-distutils-extra-2.44-skip-build.patch
new file mode 100644
index 000000000000..f2a19990ed34
--- /dev/null
+++ b/dev-python/python-distutils-extra/files/python-distutils-extra-2.44-skip-build.patch
@@ -0,0 +1,63 @@
+From 4f5e11110ce9cc3f511c798acfc009ce5db4e9ef Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 28 Apr 2020 10:48:18 +0200
+Subject: [PATCH] Fix install_auto command with --skip-build
+
+python-distutils-extra seems to rely on a very bad practice of modifying
+internal state (file lists) in middle of `build` commands. As a result,
+if the package is installed via `build` command followed by `install
+--skip-build` (since everything was built already!), most of the files
+are not installed.
+
+Ideally, this would be resolved by making internal state updates
+independent of `build` command execution. However, given that
+the package is not really alive and worth the effort, let's settle
+on a cheap hack of calling all `build_*` subcommands from `install`
+if `--skip-build` is used. This partially reverses what standard
+distutils `install` command does but it will rebuild only the data files
+rather than all C extensions.
+
+Modify tests to use `--skip-build` unconditionally to test this better.
+Testing both scenarios probably makes little sense.
+---
+ DistUtilsExtra/auto.py | 7 +++++++
+ test/auto.py | 5 +++--
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/DistUtilsExtra/auto.py b/DistUtilsExtra/auto.py
+index ea15183..db45f7a 100644
+--- a/DistUtilsExtra/auto.py
++++ b/DistUtilsExtra/auto.py
+@@ -711,6 +711,13 @@ class sdist_auto(distutils.command.sdist.sdist):
+
+ class install_auto(distutils.command.install.install):
+ def run(self):
++ # run build_* subcommands to get file lists if install command
++ # won't run 'build' for us
++ if self.skip_build:
++ self.run_command('build_help')
++ self.run_command('build_i18n')
++ self.run_command('build_icons')
++
+ # install files from etc/
+ if os.path.isdir('etc'):
+ # work around a bug in copy_tree() which fails with "File exists" on
+diff --git a/test/auto.py b/test/auto.py
+index b9644ba..15780c6 100755
+--- a/test/auto.py
++++ b/test/auto.py
+@@ -873,8 +873,9 @@ print ('import iamnota.module')
+ '''
+ self.install_tree = tempfile.mkdtemp()
+
+- return self.setup_py(['install', '--no-compile', '--prefix=/usr',
+- '--root=' + self.install_tree])
++ self.setup_py(['build'])
++ return self.setup_py(['install', '--no-compile', '--skip-build',
++ '--prefix=/usr', '--root=' + self.install_tree])
+
+ def installed_files(self):
+ '''Return list of file paths in install tree.'''
+--
+2.26.2
+
diff --git a/dev-python/python-distutils-extra/files/python-distutils-extra-2.44-test.patch b/dev-python/python-distutils-extra/files/python-distutils-extra-2.44-test.patch
new file mode 100644
index 000000000000..b00fc32d017a
--- /dev/null
+++ b/dev-python/python-distutils-extra/files/python-distutils-extra-2.44-test.patch
@@ -0,0 +1,27 @@
+From 33026583f3b2f59bcc415fae4c1ae84bfd058817 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 27 Apr 2020 21:25:37 +0200
+Subject: [PATCH] test: Find .egg-info file rather than guessing path (wrong)
+
+---
+ test/auto.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/test/auto.py b/test/auto.py
+index b9644ba..1d605e6 100755
+--- a/test/auto.py
++++ b/test/auto.py
+@@ -734,7 +734,9 @@ print ('import iamnota.module')
+ # parse .egg-info
+ (o, e, s) = self.setup_py(['install_egg_info', '-d', self.install_tree])
+ self.assertEqual(e, 'ERROR: Python module unknown not found\n')
+- egg = self._installed_contents('foo-0.1.egg-info').splitlines()
++ egg_paths = [x for x in inst if x.endswith('.egg-info')]
++ self.assertEqual(len(egg_paths), 1)
++ egg = self._installed_contents(egg_paths[0].strip(os.path.sep)).splitlines()
+ self.assertIn('Name: foo', egg)
+
+ # check provides
+--
+2.26.2
+
diff --git a/dev-python/python-distutils-extra/metadata.xml b/dev-python/python-distutils-extra/metadata.xml
new file mode 100644
index 000000000000..c841ecd95322
--- /dev/null
+++ b/dev-python/python-distutils-extra/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <bugs-to>https://www.debian.org/Bugs/</bugs-to>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-python/python-distutils-extra/python-distutils-extra-2.44-r1.ebuild b/dev-python/python-distutils-extra/python-distutils-extra-2.44-r1.ebuild
new file mode 100644
index 000000000000..a53af5d7f0fd
--- /dev/null
+++ b/dev-python/python-distutils-extra/python-distutils-extra-2.44-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS="rdepend"
+PYTHON_COMPAT=( python{2_7,3_6,3_7,3_8} )
+
+inherit distutils-r1
+
+DESCRIPTION="Gettext support, themed icons and scrollkeeper-based documentation in distutils"
+HOMEPAGE="
+ https://salsa.debian.org/python-team/modules/python-distutils-extra
+ https://launchpad.net/python-distutils-extra"
+SRC_URI="
+ https://salsa.debian.org/python-team/modules/python-distutils-extra/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ppc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DOCS=( doc/{README,FAQ} )
+
+BDEPEND="
+ test? (
+ dev-libs/gobject-introspection
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ dev-util/intltool
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/python-distutils-extra-2.44-test.patch
+ "${FILESDIR}"/python-distutils-extra-2.44-skip-build.patch
+)
+
+python_test() {
+ unset LINGUAS PYTHONDONTWRITEBYTECODE
+ "${EPYTHON}" test/auto.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/python-distutils-extra/python-distutils-extra-2.45.ebuild b/dev-python/python-distutils-extra/python-distutils-extra-2.45.ebuild
new file mode 100644
index 000000000000..426f03e80fb7
--- /dev/null
+++ b/dev-python/python-distutils-extra/python-distutils-extra-2.45.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS="rdepend"
+PYTHON_COMPAT=( python2_7 python3_{6..9} )
+
+inherit distutils-r1
+
+DESCRIPTION="Gettext support, themed icons and scrollkeeper-based documentation in distutils"
+HOMEPAGE="
+ https://salsa.debian.org/python-team/modules/python-distutils-extra
+ https://launchpad.net/python-distutils-extra"
+SRC_URI="
+ https://salsa.debian.org/python-team/modules/python-distutils-extra/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DOCS=( doc/{README,FAQ} )
+
+BDEPEND="
+ test? (
+ dev-libs/gobject-introspection
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ dev-util/intltool
+ )"
+
+python_test() {
+ "${EPYTHON}" test/auto.py -v || die "Tests fail with ${EPYTHON}"
+}