diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest index 1603c83f7a753..39058ac0c34b3 100644 --- a/dev-python/virtualenv/Manifest +++ b/dev-python/virtualenv/Manifest @@ -6,3 +6,5 @@ DIST virtualenv-21.7.5.tar.gz 5346743 BLAKE2B 52c54885686970e47eb44c627151516492 DIST virtualenv-21.7.5.tar.gz.provenance 9557 BLAKE2B 9936b0300432ffab4cfa3f7487f25e96f079f74d4b043223f313c1ea73a04b653eb798c9e5da8d74aa9d27d63239705a7a301510b5fd64d57660c58361bba109 SHA512 09cbb81b81bac143fa59f79ca279c386c6317e642ec16d9ba546b784a82a9674feae4e15740e8cf1c17bb0836920c9d64e55e794f53bc1ec201cce31a07a994a DIST virtualenv-21.7.7.tar.gz 5347022 BLAKE2B fbd9fbbb3e48ef719ddf097eca32557ba4ae980d0a752c0d0e900a086b144ef0a52d87ee75ca902dc24bdad973c0588a148573dcdc982fdf460f1e8ffb71cb7c SHA512 b577552968f9e3fe72af4a5771fbcacbd5efb8808d0b7a23e709a90bb4d9df9cf51bc74a5dff0c978e4da9a9977d22300b6a75c7a57396c4fed09a5946e0e03d DIST virtualenv-21.7.7.tar.gz.provenance 9416 BLAKE2B 1908bbb5a2b25e4e2d94661f3939716816c3739a79665e561e139be70802c96012decf5ed8598fd87c466dac83446e55310a6155917a1ef74c98043b694ff863 SHA512 48eb2eedb8d65373496d77fee372c46810768a74be9388f3810ffe97e5e96b44e12ff50dc37c076e7d0f85fb4750851a963bf228c30f7115008a647df122b36c +DIST virtualenv-21.7.8.tar.gz 5347580 BLAKE2B d5b2c8258b36b19d646a4e907e938bd336a05a501d66d5f9b3ce38b55d8473b4c2443eca60f06e78ce4afb210b7c4a247f68be3f1bd286a7b859aa8fc1af57e6 SHA512 df5a7fa1fa924f4294d4248ea1ab8aebf43b1efae1fce94932135e3fac53d2e2070f3369d2509253215d7ed824a936d7d9f51672575700981ac12f2b9a3b4a5e +DIST virtualenv-21.7.8.tar.gz.provenance 9342 BLAKE2B 2d8b235ef47c92657a63bac84558e3eba85afafb71e46c0aa2d4231c1246d12e7b03f81518c1f67d1c4fef07fb9ad3a02b38d6e2ba67c7790a0b5f42193715fe SHA512 23292aebd030e5990faa2e141e0ef10a1b2dc29bfbcc2a95c87aeed8902c9497b92d0bbfbd6e5ef51a3f4ab0de395139f110be7e94c8120da242a16259c33300 diff --git a/dev-python/virtualenv/virtualenv-21.7.8.ebuild b/dev-python/virtualenv/virtualenv-21.7.8.ebuild new file mode 100644 index 0000000000000..5bf1703002048 --- /dev/null +++ b/dev-python/virtualenv/virtualenv-21.7.8.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/pypa/virtualenv +PYTHON_TESTED=( python3_{12..15} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Virtual Python Environment builder" +HOMEPAGE=" + https://virtualenv.pypa.io/en/stable/ + https://pypi.org/project/virtualenv/ + https://github.com/pypa/virtualenv/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}] + >=dev-python/filelock-3.24.2[${PYTHON_USEDEP}] + >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}] + >=dev-python/python-discovery-1.6[${PYTHON_USEDEP}] + + dev-python/ensurepip-pip + >=dev-python/ensurepip-setuptools-70.1 + dev-python/ensurepip-wheel +" +# coverage is used somehow magically in virtualenv, maybe it actually +# tests something useful +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + $(python_gen_cond_dep ' + dev-python/coverage[${PYTHON_USEDEP}] + >=dev-python/pip-22.2.1[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/setuptools-67.8[${PYTHON_USEDEP}] + dev-python/time-machine[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + >=dev-python/packaging-20.0[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" + +src_prepare() { + local PATCHES=( + # use wheels from ensurepip bundle + "${FILESDIR}/${PN}-21.5.1-ensurepip.patch" + ) + + distutils-r1_src_prepare + + # workaround test failures due to warnings from setuptools-scm, sigh + echo '[tool.setuptools_scm]' >> pyproject.toml || die + + # remove useless pins + sed -i -e 's:,<[=0-9.]*::' pyproject.toml || die + + # remove bundled wheels + rm src/virtualenv/seed/wheels/embed/*.whl || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping testing on ${EPYTHON}" + return + fi + + local EPYTEST_DESELECT=( + tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data + # tests for old wheels with py3.7 support + tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke + tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support + # broken by different wheel versions in ensurepip + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact + tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none + tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output + tests/unit/seed/wheels/test_wheels_util.py::test_embed_wheel_below_oldest_supported_is_missing + # hangs on a busy system, sigh + tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe + # TODO + tests/unit/create/via_global_ref/test_build_c_ext.py::test_can_build_c_extensions + # random resource leaks or xdist + tests/unit/test_file_limit.py::test_too_many_open_files + # Internet + tests/unit/create/test_creator.py::test_create_distutils_cfg + # we do not use bundled wheels + tests/unit/seed/wheels/test_bundle.py::test_every_wheel_on_disk_has_sha256 + ) + + local -x TZ=UTC + local EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} time-machine ) + local EPYTEST_RERUNS=5 + local EPYTEST_TIMEOUT=180 + local EPYTEST_XDIST=1 + epytest -o addopts= +} + +src_install() { + distutils-r1_src_install + + # remove bundled wheels, we're using ensurepip bundle instead + find "${ED}" -name '*.whl' -delete || die +}