commit:     615bc74391b52a3727793d9b41a33c89ce14c3aa
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  4 13:38:03 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug  4 14:12:00 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=615bc743

dev-python/setuptools: Add Gentoo byte-compile distutils patch

Add the Gentoo patch to byte-compile modules for all optimization levels
to the bundled distutils.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/setuptools/Manifest                    |  1 +
 dev-python/setuptools/setuptools-57.4.0-r1.ebuild | 87 +++++++++++++++++++++++
 2 files changed, 88 insertions(+)

diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index efac90d7bb2..54a25e6b150 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,3 +1,4 @@
+DIST python-gentoo-patches-3.10.0rc1.tar.xz 8112 BLAKE2B 
d6f9b44c5a231f447ffe3533afbcaffe0f3b8bdd5a6690f1854bd7e1199d036d11a4cf4abfae345a88c42740ccbd4b72e53cbe28aea1a5db39dda1e5bfd47229
 SHA512 
bba7045f56369ca0354a539f8478a1afed77dc89a9faf548a0cf8959d644360b0afc4f84b95151ebfc2a6553078322c7445073f7a4104e9cd639ccc86ad0f792
 DIST setuptools-57.0.0.tar.gz 2144749 BLAKE2B 
e1fc99503ee5de425b70bf2733b1c489693e38cd256bf95cb321671bdaf87745eaaf40c43bcd03756a4cefa408dd1414f8c30af274963e3a0ae57f7b95d3f9c0
 SHA512 
5277d8630367d6b16a49e36ed84d8cc6abfaedf87dac3f795b204626a8f15ca9fd80d158a465d8bcabe9c074c76b87c3378d82a4ba5feee1ac6a5f2c91db061e
 DIST setuptools-57.1.0.tar.gz 2144012 BLAKE2B 
148eb7b5e432461f692faeb3fd4eaafb99bb9fcd2c430cbde40fb16b365ed011ce49966a8923337a860b63cdc6d8f3a26efdd138cf4c40c99e72f7d714fce57c
 SHA512 
dfcf75584b3d7ae07e0f58ce8f596d7e9cbe3a0c178411053b066fb4362226bcf6467a79aed0853acd0b9f6a3371c47ddb07d77cbd780fe9782b8c19bce2e5fb
 DIST setuptools-57.4.0.tar.gz 2141309 BLAKE2B 
89b386b6d5bbac61df400f60c91a0a9b9ee381aec7d2f65a856c317c7b0b5512c5e9aa8844c0e64f1840a8e954ae22ed542ad97a104d5416b1df2ac02351809b
 SHA512 
7fcc297ea3e6310f2ec8ba5bf0d509e3f4acbce6bde7e5f0fe1b022c147cf88a047471bd4aa278724e86ebc6be800015fb935c7a31dbb6a0801a2d380ddd89f2

diff --git a/dev-python/setuptools/setuptools-57.4.0-r1.ebuild 
b/dev-python/setuptools/setuptools-57.4.0-r1.ebuild
new file mode 100644
index 00000000000..f5f5fae0f1b
--- /dev/null
+++ b/dev-python/setuptools/setuptools-57.4.0-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Set to 'manual' to avoid triggering install QA check
+DISTUTILS_USE_SETUPTOOLS=manual
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 multiprocessing
+
+CPY_PATCHSET="python-gentoo-patches-3.10.0rc1"
+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
+       https://dev.gentoo.org/~mgorny/dist/python/${CPY_PATCHSET}.tar.xz";
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+       test? (
+               $(python_gen_cond_dep '
+                       dev-python/jaraco-envs[${PYTHON_USEDEP}]
+                       >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+                       dev-python/mock[${PYTHON_USEDEP}]
+                       dev-python/pip[${PYTHON_USEDEP}]
+                       dev-python/sphinx[${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/virtualenv-20[${PYTHON_USEDEP}]
+                       dev-python/wheel[${PYTHON_USEDEP}]
+               ' python3_{8..10} pypy3)
+       )
+"
+PDEPEND="
+       >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
+       dev-python/setuptools_scm[${PYTHON_USEDEP}]"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( {CHANGES,README}.rst )
+
+src_prepare() {
+       # apply distutils patches to the bundled distutils
+       pushd setuptools/_distutils >/dev/null || die
+       # TODO: distutils C++ patch?
+       eapply -p3 
"${WORKDIR}/${CPY_PATCHSET}/0006-distutils-make-OO-enable-both-opt-1-and-opt-2-optimi.patch"
+       popd >/dev/null || die
+
+       distutils-r1_src_prepare
+}
+
+python_test() {
+       # keep in sync with python_gen_cond_dep above!
+       has "${EPYTHON}" python3.{8..10} pypy3 || continue
+
+       distutils_install_for_testing
+       local deselect=(
+               # network
+               
'setuptools/tests/test_virtualenv.py::test_pip_upgrade_from_source[None]'
+               setuptools/tests/test_distutils_adoption.py
+               # TODO
+               
setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+       )
+       [[ ${EPYTHON} == pypy3 ]] && deselect+=(
+               
setuptools/tests/test_develop.py::TestDevelop::test_2to3_user_mode
+       )
+
+       # test_easy_install raises a SandboxViolation due to 
${HOME}/.pydistutils.cfg
+       # It tries to sandbox the test in a tempdir
+       HOME="${PWD}" epytest ${deselect[@]/#/--deselect } \
+               -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" \
+               setuptools
+}
+
+python_install() {
+       export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+       distutils-r1_python_install
+}

Reply via email to