From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 3EC78158087 for ; Wed, 26 Jan 2022 11:32:40 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 712E92BC01B; Wed, 26 Jan 2022 11:32:39 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 95B8E2BC01B for ; Wed, 26 Jan 2022 11:32:38 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 7A613343129 for ; Wed, 26 Jan 2022 11:32:37 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 84CA92AF for ; Wed, 26 Jan 2022 11:32:34 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1643196725.ba29e948ed3f42c718857bda6818770bce3fb904.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/setuptools/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-python/setuptools/setuptools-60.5.0-r1.ebuild X-VCS-Directories: dev-python/setuptools/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: ba29e948ed3f42c718857bda6818770bce3fb904 X-VCS-Branch: master Date: Wed, 26 Jan 2022 11:32:34 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: dd450074-7b71-495c-9561-0e4227840fa3 X-Archives-Hash: 772f7af5ebe15395096ac97877530471 commit: ba29e948ed3f42c718857bda6818770bce3fb904 Author: Michał Górny gentoo org> AuthorDate: Wed Jan 26 11:31:46 2022 +0000 Commit: Michał Górny gentoo org> CommitDate: Wed Jan 26 11:32:05 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba29e948 dev-python/setuptools: Unbundle dependencies Now that all vendored dependencies are using flit to build, we can safely unbundle them without causing bootstrap problems. Signed-off-by: Michał Górny gentoo.org> dev-python/setuptools/setuptools-60.5.0-r1.ebuild | 107 ++++++++++++++++++++++ 1 file changed, 107 insertions(+) diff --git a/dev-python/setuptools/setuptools-60.5.0-r1.ebuild b/dev-python/setuptools/setuptools-60.5.0-r1.ebuild new file mode 100644 index 000000000000..2c14210e9434 --- /dev/null +++ b/dev-python/setuptools/setuptools-60.5.0-r1.ebuild @@ -0,0 +1,107 @@ +# 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 + +# 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.0_p1" +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/~floppym/python/${CPY_PATCHSET}.tar.xz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-python/appdirs[${PYTHON_USEDEP}] + dev-python/more-itertools[${PYTHON_USEDEP}] + dev-python/ordered-set[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + dev-python/build[${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/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/tomli[${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() { + # remove bundled dependencies, setuptools will switch to system deps + # automatically + rm -r */_vendor || die + + # 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() { + local -x SETUPTOOLS_USE_DISTUTILS=stdlib + + # keep in sync with python_gen_cond_dep above! + has "${EPYTHON}" python3.{8..10} pypy3 || continue + + distutils_install_for_testing + local EPYTEST_DESELECT=( + # network + setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist + setuptools/tests/test_distutils_adoption.py + 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/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts + setuptools/tests/test_test.py::test_tests_are_run_once + ) + + # 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 "${MAKEOPTS}" "$(get_nproc)")" setuptools +} + +python_install() { + export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1 + distutils-r1_python_install +}