summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2022-06-14 04:50:36 +0200
committerMichał Górny <mgorny@gentoo.org>2022-06-14 06:26:13 +0200
commitc681caf49f3a91220210d5ba35bafcdcdfe66692 (patch)
treeba815f3eda615fad6b9ce37ebef9e4724c7acf83 /dev-python/setuptools
parentdev-python/ipykernel: Bump to 6.14.0 (diff)
downloadgentoo-c681caf49f3a91220210d5ba35bafcdcdfe66692.tar.gz
gentoo-c681caf49f3a91220210d5ba35bafcdcdfe66692.tar.bz2
gentoo-c681caf49f3a91220210d5ba35bafcdcdfe66692.zip
dev-python/setuptools: Bump to 62.4.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/setuptools')
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/files/setuptools-62.4.0-py-compile.patch86
-rw-r--r--dev-python/setuptools/setuptools-62.4.0.ebuild130
3 files changed, 217 insertions, 0 deletions
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index fc04528a65dc..fa0428f394aa 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,3 +1,4 @@
DIST python-gentoo-patches-3.10.4.tar.xz 8592 BLAKE2B 67fba3e1fedb17430e5cd93da995b4acaf714db512031b5a2f775a25f793f007941561663cfa413d645ccddc2e22d65d250a40fa166cafda8805488d877ff57d SHA512 3ed2b8ff8f1eb8febe7dcd4b5d13d6d54468be1d525f8f1118977d3bbc78f690a597b09383939d023b03380a306e4bff1693382e29ff562312d803305b1709b2
DIST setuptools-62.3.3.tar.gz 2586270 BLAKE2B 764f90a5b2585f05b6ae0ad23568a08069bb4ca776c969635dfaceb6b3f64dc6d56291c3e9f0a4540f0416eab9122f5d7d6ad193a5f604949b5827f3cfc2d1a9 SHA512 a7ca81b3f7adedb15a4ff3607654d1a4615de1b30a22aa5cbe4b0a8077db8bdd9348167cbb6deb97e1076d320c2a2a4b0d30acda389905d6503786902eeb66af
DIST setuptools-62.3.4.tar.gz 2590435 BLAKE2B 089bb185b65107d54b3a17b423caa28b0505566f8e19efaf34ac347e074492278699295b5e8856756312182a78d524ae5098e86783c5c6e089bdbe2de1d1f60d SHA512 edd9595971ee3cca2d1280e695401d8e4aa38796af89f24132d81b897004147ff4f4fc8daebf6fef0606512cc71e09487a2cb416deeecd851a82abed30f57887
+DIST setuptools-62.4.0.tar.gz 2592908 BLAKE2B 5221c32545d451fe9e80f6c78296044fc805e995578f32d2a8809483c00ea84f918a3bb5e1d1a6d184533282d96a68fab8b4d303d839255a640952d1c575f53a SHA512 552bb6c93793a438d8d319b1ef51932e7e15fab965b9fc81a4f15015e02f3e7318b9df9890c3fb59fac1ec443c17cd5cbd17b7227a6a82deb355230673ae9ec5
diff --git a/dev-python/setuptools/files/setuptools-62.4.0-py-compile.patch b/dev-python/setuptools/files/setuptools-62.4.0-py-compile.patch
new file mode 100644
index 000000000000..09d630b363a2
--- /dev/null
+++ b/dev-python/setuptools/files/setuptools-62.4.0-py-compile.patch
@@ -0,0 +1,86 @@
+From 8911d627245f4389488c5d65cce6d1258f4cce7b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 14 Jun 2022 05:58:20 +0200
+Subject: [PATCH] make -OO enable both opt-1 and opt-2
+
+---
+ setuptools/_distutils/command/build_py.py | 10 ++++------
+ setuptools/_distutils/command/install_lib.py | 14 ++++++--------
+ 2 files changed, 10 insertions(+), 14 deletions(-)
+
+diff --git a/setuptools/_distutils/command/build_py.py b/setuptools/_distutils/command/build_py.py
+index 1b22004e..88565bce 100644
+--- a/setuptools/_distutils/command/build_py.py
++++ b/setuptools/_distutils/command/build_py.py
+@@ -325,11 +325,9 @@ class build_py(Command):
+ outputs.append(
+ importlib.util.cache_from_source(filename, optimization='')
+ )
+- if self.optimize > 0:
++ for opt in range(1, self.optimize + 1):
+ outputs.append(
+- importlib.util.cache_from_source(
+- filename, optimization=self.optimize
+- )
++ importlib.util.cache_from_source(filename, optimization=opt)
+ )
+
+ outputs += [
+@@ -403,10 +401,10 @@ class build_py(Command):
+ byte_compile(
+ files, optimize=0, force=self.force, prefix=prefix, dry_run=self.dry_run
+ )
+- if self.optimize > 0:
++ for opt in range(1, self.optimize + 1):
+ byte_compile(
+ files,
+- optimize=self.optimize,
++ optimize=opt,
+ force=self.force,
+ prefix=prefix,
+ dry_run=self.dry_run,
+diff --git a/setuptools/_distutils/command/install_lib.py b/setuptools/_distutils/command/install_lib.py
+index ad3089c8..7f906a29 100644
+--- a/setuptools/_distutils/command/install_lib.py
++++ b/setuptools/_distutils/command/install_lib.py
+@@ -25,8 +25,8 @@ class install_lib(Command):
+ # 2) compile .pyc only (--compile --no-optimize; default)
+ # 3) compile .pyc and "opt-1" .pyc (--compile --optimize)
+ # 4) compile "opt-1" .pyc only (--no-compile --optimize)
+- # 5) compile .pyc and "opt-2" .pyc (--compile --optimize-more)
+- # 6) compile "opt-2" .pyc only (--no-compile --optimize-more)
++ # 5) compile .pyc, "opt-1" and "opt-2" .pyc (--compile --optimize-more)
++ # 6) compile "opt-1" and "opt-2" .pyc (--no-compile --optimize-more)
+ #
+ # The UI for this is two options, 'compile' and 'optimize'.
+ # 'compile' is strictly boolean, and only decides whether to
+@@ -142,10 +142,10 @@ class install_lib(Command):
+ prefix=install_root,
+ dry_run=self.dry_run,
+ )
+- if self.optimize > 0:
++ for opt in range(1, self.optimize + 1):
+ byte_compile(
+ files,
+- optimize=self.optimize,
++ optimize=opt,
+ force=self.force,
+ prefix=install_root,
+ verbose=self.verbose,
+@@ -182,11 +182,9 @@ class install_lib(Command):
+ bytecode_files.append(
+ importlib.util.cache_from_source(py_file, optimization='')
+ )
+- if self.optimize > 0:
++ for opt in range(1, self.optimize + 1):
+ bytecode_files.append(
+- importlib.util.cache_from_source(
+- py_file, optimization=self.optimize
+- )
++ importlib.util.cache_from_source(py_file, optimization=opt)
+ )
+
+ return bytecode_files
+--
+2.35.1
+
diff --git a/dev-python/setuptools/setuptools-62.4.0.ebuild b/dev-python/setuptools/setuptools-62.4.0.ebuild
new file mode 100644
index 000000000000..ac38773bebad
--- /dev/null
+++ b/dev-python/setuptools/setuptools-62.4.0.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
+EAPI=7
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{8..11} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/appdirs-1.4.4-r2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/nspektr-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib_metadata-4.11.1[${PYTHON_USEDEP}]
+ ' 3.8 3.9)
+ $(python_gen_cond_dep '
+ >=dev-python/importlib_resources-5.4.0-r3[${PYTHON_USEDEP}]
+ ' 3.8)
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
+ dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+PDEPEND="
+ >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+"
+
+DOCS=( {CHANGES,README}.rst )
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}"/setuptools-62.4.0-py-compile.patch
+ )
+
+ # remove bundled dependencies, setuptools will switch to system deps
+ # automatically
+ rm -r */_vendor || die
+
+ # remove the ugly */extern hack that breaks on unvendored deps
+ rm -r */extern || die
+ find -name '*.py' -exec sed \
+ -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -i {} + || die
+
+ distutils-r1_src_prepare
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+python_test() {
+ local -x SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
+ setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
+ setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
+ setuptools/tests/test_virtualenv.py::test_clean_env_install
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ 'setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[None]'
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # unhappy with pytest-xdist?
+ setuptools/tests/test_easy_install.py::TestUserInstallTest::test_local_index
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ setuptools/tests/test_extern.py::test_distribution_picklable
+ setuptools/tests/test_test.py::test_tests_are_run_once
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ setuptools/tests/test_editable_install.py::test_editable_with_pyproject
+ )
+
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" epytest -n "$(makeopts_jobs)" setuptools
+}