diff options
Diffstat (limited to 'dev-python/virtualenvwrapper')
3 files changed, 177 insertions, 0 deletions
diff --git a/dev-python/virtualenvwrapper/Manifest b/dev-python/virtualenvwrapper/Manifest index 4aec9f93681b..99967bb81bd2 100644 --- a/dev-python/virtualenvwrapper/Manifest +++ b/dev-python/virtualenvwrapper/Manifest @@ -1,5 +1,8 @@ AUX virtualenvwrapper-4.8.4_p20230121-override-default-python-executable.patch 905 BLAKE2B e3dc59287d4fa4efe5427c77690853136a3d52abf58ae3f8931755c846f6f81beb5d04338d9a587a1281ef7ef9b99616c95d2c355df3481141a13d843dc4cb79 SHA512 b5827d93420d33767e6931ebb7ab6337baa186848e270eff4bfe2f31d98e550647754c7b466290a8fee666acd8a0f5b4d4a962af8834c43349b448f569ba15d9 AUX virtualenvwrapper-4.8.4_p20230121-remove-use-of-which.patch 4608 BLAKE2B 06a808faa7c3fbb96206c59d6c40429800496be41e8b03bf760a199bbb50b1735469094e6cb35504c23a7339d5564329e335b7a563b1df96143e9cf48b9cde43 SHA512 52ed979503f50d53dc849f99f219200e3ec837693612a8723dd7f0cb8bd325573c9bbbefbd162da1390eae9e4e0031079ac9d151cff2232c43fa4aa892bf81f6 +AUX virtualenvwrapper-6.0.0-remove-use-of-which.patch 4163 BLAKE2B 18b55822ef7fdf9da462fa35a0bc9a40ff99617dc0a0df1d29dd93b0ae1ba77c598f5458eb1ccf1f9fb86503e23d332db224fe59acd1af6b692a88bdffd5944f SHA512 e7749734d9a58841eff2019e89d36c5f1c2c8a2138b088584da5eec30cce2ee4e94fdbeae802d6d9d883076863d967eb0096f84b2bbb3180ac7cfa9936945fb7 DIST virtualenvwrapper-4.8.4_p20230121.gh.tar.gz 72852 BLAKE2B 2996b88f93790587ffbeed936334bb1f12a9d6d952eb7c9b728a6644c9b7c7e0953bc7c71201fbd590f6258eb163af1aa6494f476decfa54f095ca215e4e13e1 SHA512 9df8b20dd8d50fe7891b845c8112edc165b08cc231ebb4010aed8ec50a22005207a9a3c9c9941daa2b958022f0edf993425bf95692f7032d1e5c5719a552d3b4 +DIST virtualenvwrapper-6.0.0.tar.gz 95407 BLAKE2B b2a6a7a58be23e1cf0642d780d8fc53e9aef6e44703fa15a2e7627db3c3e12024b33da75b591897ea5181ed5407eb2d52e96f56d7026c083a03e13f94165d9e4 SHA512 ab805b61a9f81e0b0842182686a88fcf07e41ad7206484f002110c693ca6076e2a88fefbef8b7409838082ed7e7a43f61f1a0006a314cb1d71efb943dc6fdede EBUILD virtualenvwrapper-4.8.4_p20230121-r2.ebuild 1888 BLAKE2B 15666b92afe81bfb98db8759cca62e7052a4c67cb7d6e679e20801d3630a719578209218b7bb8a35afc4c8dc8c44e844187e76c917ac9ee859bae6d4d2a05bb9 SHA512 9ea5c3929247bd3d6343ec67205e61d9a214224d35339fed4a2f714688d25d3a952f35178cd66063de167e3f7009d7e82f48af05f0a62b00961ebaa32e71f497 +EBUILD virtualenvwrapper-6.0.0.ebuild 1730 BLAKE2B 143ffae9ece34ab92b5e9c4ae4704e36c7053ec1b45a3eb7d1098715286fe36fe0c5caefcd783c9b9a95c056a938739037451a4408cb497112ae8bd35d2f6eef SHA512 f066c2ecf0e21347b85fb3620f1d122dd6a41103ed970b54d82fa298678ca3de279108fb741de0fca52afc74040b08578e42b2df7182a12e3d65995bc167d6f0 MISC metadata.xml 732 BLAKE2B fa857378ea2001e084a9d00d5ccc65644cc4e3ade62c04ff7dfeec4cf7df245bd700833aec1f5f430d780be5adb8fb594300e43a113b232fa83a3cfd2fa0cb15 SHA512 935796e3055e0104328dab877ca92e579770d6748053e464f6ce3563ea49022eaeae322c5c9cb026e9c3f42089c89ae06c0a2e755d124c71e05768cbbefdda44 diff --git a/dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch b/dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch new file mode 100644 index 000000000000..41f0dba39a1d --- /dev/null +++ b/dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch @@ -0,0 +1,106 @@ +From fb2b22fce88d323727a49c760187c0470b78fa9a Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <parona@protonmail.com> +Date: Wed, 21 Jun 2023 11:35:04 +0300 +Subject: [PATCH] Remove use of which, use command -v or built-ins instead + +* which isn't a POSIX tool and some distributions have or are still + considering dropping it in favour of using commands included by + POSIX or shell built-ins. +* Used command built-in where applicable, but type and whence for bash + and zsh respectively in virtualenvwrapper_verify_resource to preserve + previous behaviour with which when programs also have built-ins + with the same name. command -v outputs just the name and not the path + in those cases. + +https://lwn.net/Articles/874049/ +https://bugs.gentoo.org/646588 + +Signed-off-by: Alfred Wingate <parona@protonmail.com> +--- a/tests/run_tests ++++ b/tests/run_tests +@@ -61,7 +61,7 @@ do + echo " SHELL=$SHELL" + echo " BASH_VERSION=$BASH_VERSION" + echo " ZSH_VERSION=$ZSH_VERSION" +- echo " virtualenv=$(which virtualenv)" ++ echo " virtualenv=$(command -v virtualenv)" + echo " test_shell_opts=$test_shell_opts" + echo " ZSH=$ZSH_NAME $ZSH_EVAL_CONTEXT" + echo " TMPDIR=$TMPDIR" +--- a/tests/setup.sh ++++ b/tests/setup.sh +@@ -14,7 +14,7 @@ export PROJECT_HOME=$(mktemp -d -t "PROJECT_HOME.XXXX.$$") + SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + + # This should point to VIRTUAL_ENV/bin when running under tox. +-TEST_BIN_DIR=$(dirname $(which python)) ++TEST_BIN_DIR=$(dirname $(command -v python)) + + load_wrappers() { + if [ "$USING_TOX" = "1" ]; then +--- a/tests/test_cp.sh ++++ b/tests/test_cp.sh +@@ -26,7 +26,7 @@ test_new_env_activated () { + (cd tests/testpackage && pip install .) >/dev/null 2>&1 + cpvirtualenv "source" "destination" >/dev/null 2>&1 + rmvirtualenv "source" >/dev/null 2>&1 +- testscript="$(which testscript.py)" ++ testscript="$(command -v testscript.py)" + assertTrue "Environment test script not found in path" "[ $WORKON_HOME/destination/bin/testscript.py -ef $testscript ]" + testscriptcontent="$(cat $testscript)" + assertTrue "No cpvirtualenvtest in $testscriptcontent" "echo $testscriptcontent | grep cpvirtualenvtest" +--- a/tests/test_mkvirtualenv.sh ++++ b/tests/test_mkvirtualenv.sh +@@ -68,11 +68,9 @@ GLOBAL postmkvirtualenv" + } + + test_no_virtualenv () { +- # Find "which" before we change the path +- which=$(which which) + old_path="$PATH" + PATH="/bin:/usr/sbin:/sbin" +- venv=$($which virtualenv 2>/dev/null) ++ venv=$(command -v virtualenv) + if [ ! -z "$venv" ] + then + echo "FOUND \"$venv\" in PATH so skipping this test" +--- a/virtualenvwrapper.sh ++++ b/virtualenvwrapper.sh +@@ -47,7 +47,7 @@ + # Locate the global Python where virtualenvwrapper is installed. + if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ] + then +- _virtualenvwrapper_python_executable="$(which python3 2>/dev/null)" ++ _virtualenvwrapper_python_executable="$(command -v python3)" + if [ -n "$_virtualenvwrapper_python_executable" ] && $_virtualenvwrapper_python_executable -m 'virtualenvwrapper.hook_loader' --help >/dev/null 2>&1 + then + VIRTUALENVWRAPPER_PYTHON=$_virtualenvwrapper_python_executable +@@ -326,7 +326,13 @@ function virtualenvwrapper_initialize { + + # Verify that the passed resource is in path and exists + function virtualenvwrapper_verify_resource { +- typeset exe_path="$(command \which "$1" | (unset GREP_OPTIONS; command \grep -v "not found"))" ++ if [ -n "${ZSH_VERSION}" ] ++ then ++ typeset exe_path="$(whence -p "${1}")" ++ else ++ typeset exe_path="$(type -P "${1}")" ++ fi ++ + if [ "$exe_path" = "" ] + then + echo "ERROR: virtualenvwrapper could not find $1 in your path" >&2 +--- a/virtualenvwrapper_lazy.sh ++++ b/virtualenvwrapper_lazy.sh +@@ -5,7 +5,7 @@ export _VIRTUALENVWRAPPER_API="$_VIRTUALENVWRAPPER_API mkvirtualenv rmvirtualenv + + if [ -z "$VIRTUALENVWRAPPER_SCRIPT" ] + then +- export VIRTUALENVWRAPPER_SCRIPT="$(command \which virtualenvwrapper.sh)" ++ export VIRTUALENVWRAPPER_SCRIPT="$(command -v virtualenvwrapper.sh)" + fi + if [ -z "$VIRTUALENVWRAPPER_SCRIPT" ] + then +-- +2.43.0 + diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-6.0.0.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-6.0.0.ebuild new file mode 100644 index 000000000000..707aaaa201d9 --- /dev/null +++ b/dev-python/virtualenvwrapper/virtualenvwrapper-6.0.0.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Set of extensions to Ian Bicking's virtualenv tool" +HOMEPAGE=" + https://github.com/python-virtualenvwrapper/virtualenvwrapper/ + https://pypi.org/project/virtualenvwrapper/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/stevedore[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/virtualenv-clone[${PYTHON_USEDEP}] + ') +" +BDEPEND=" + $(python_gen_cond_dep ' + dev-python/setuptools-scm[${PYTHON_USEDEP}] + ') + test? ( + ${RDEPEND} + ) +" + +PATCHES=( + "${FILESDIR}/virtualenvwrapper-6.0.0-remove-use-of-which.patch" + "${FILESDIR}/virtualenvwrapper-4.8.4_p20230121-override-default-python-executable.patch" +) + +src_prepare() { + default + + # specify default python interpeter to align with PYTHON_SINGLE_TARGET + sed -i -e "s:@@GENTOO_PYTHON_EXECUTABLE@@:${PYTHON}:" virtualenvwrapper.sh || die + + # remove tests which require an internet connection + rm tests/test_mkvirtualenv_install.sh || die + rm tests/test_mkvirtualenv_requirements.sh || die + + # remove tests which require functional git repos with remotes + sed -i -e '/test_wipeenv_\(pip_e\|develop\) () {/,/}/ d' tests/test_wipeenv.sh || die +} + +python_test() { + # tests have unusual expectations + local -x HOME="${HOME%/}" + local -x USER="${USER}" + + cp -a "${BUILD_DIR}"/{install/usr,test} || die + local -x VIRTUAL_ENV="${BUILD_DIR}/test" + + bash ./tests/run_tests "${VIRTUAL_ENV}" || die "Tests failed under ${EPYTHON}" +} |