commit: 43b8975d7d1004d9d290d399334d3779fe02cf7e Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Mon Jun 19 01:47:27 2023 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Wed Jun 21 10:34:36 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43b8975d
dev-python/virtualenvwrapper: new snapshot, 4.8.4_p20230121 * Enable tests. * Enforce the implementation installed with as the default for VIRTUALENVWRAPPER_PYTHON. It can still be overidden normally. Closes: https://bugs.gentoo.org/908533 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-python/virtualenvwrapper/Manifest | 1 + ...apper-4.8.4_p20230121-remove-use-of-which.patch | 116 +++++++++++++++++++++ .../virtualenvwrapper-4.8.4_p20230121.ebuild | 74 +++++++++++++ 3 files changed, 191 insertions(+) diff --git a/dev-python/virtualenvwrapper/Manifest b/dev-python/virtualenvwrapper/Manifest index 0b660b17d635..a56ec3af4d12 100644 --- a/dev-python/virtualenvwrapper/Manifest +++ b/dev-python/virtualenvwrapper/Manifest @@ -1 +1,2 @@ DIST virtualenvwrapper-4.8.4.tar.gz 334920 BLAKE2B cd790b1e98cca7d09ea9c80df5d52380335d4a0ea4e6d95f7bd48d78583e0d842e1145ea08d8d8c73516adbe8d6c75bd53c17943723f859860a0cad105a2b058 SHA512 461938100061e11af0ee9b17405d991ae34e5ec9c79cc12614962d3178b588a2da710baa15ac626960b09177c1b5b10c7bc590cb4c126ebd2f719d0f1527c9c4 +DIST virtualenvwrapper-4.8.4_p20230121.gh.tar.gz 72852 BLAKE2B 2996b88f93790587ffbeed936334bb1f12a9d6d952eb7c9b728a6644c9b7c7e0953bc7c71201fbd590f6258eb163af1aa6494f476decfa54f095ca215e4e13e1 SHA512 9df8b20dd8d50fe7891b845c8112edc165b08cc231ebb4010aed8ec50a22005207a9a3c9c9941daa2b958022f0edf993425bf95692f7032d1e5c5719a552d3b4 diff --git a/dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-remove-use-of-which.patch b/dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-remove-use-of-which.patch new file mode 100644 index 000000000000..875542cf17f6 --- /dev/null +++ b/dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-remove-use-of-which.patch @@ -0,0 +1,116 @@ +https://bugs.gentoo.org/646588 +https://github.com/parona-source/virtualenvwrapper/commit/d7dd99ca8e4ebdf5668708634cf793acee5d35b3 + +From d7dd99ca8e4ebdf5668708634cf793acee5d35b3 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <[email protected]> +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 <[email protected]> +--- + tests/run_tests | 2 +- + tests/test_cp.sh | 2 +- + tests/test_mkvirtualenv.sh | 4 +--- + virtualenvwrapper.sh | 10 ++++++++-- + virtualenvwrapper_lazy.sh | 2 +- + 5 files changed, 12 insertions(+), 8 deletions(-) + +diff --git a/tests/run_tests b/tests/run_tests +index 68cb362..c9a81d6 100755 +--- a/tests/run_tests ++++ b/tests/run_tests +@@ -62,7 +62,7 @@ do + echo " BASH_VERSION=$BASH_VERSION" + echo " ZSH_VERSION=$ZSH_VERSION" + echo " KSH_VERSION=$KSH_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" +diff --git a/tests/test_cp.sh b/tests/test_cp.sh +index 3bd9196..3227c7a 100755 +--- a/tests/test_cp.sh ++++ b/tests/test_cp.sh +@@ -26,7 +26,7 @@ test_new_env_activated () { + (cd tests/testpackage && python setup.py 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" +diff --git a/tests/test_mkvirtualenv.sh b/tests/test_mkvirtualenv.sh +index 3c37dfe..47b603a 100755 +--- 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" +diff --git a/virtualenvwrapper.sh b/virtualenvwrapper.sh +index b8e4a42..469fa35 100644 +--- 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 +@@ -330,7 +330,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 +diff --git a/virtualenvwrapper_lazy.sh b/virtualenvwrapper_lazy.sh +index 3902d08..9016b6c 100644 +--- 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.41.0 + diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4_p20230121.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4_p20230121.ebuild new file mode 100644 index 000000000000..106b7a037d89 --- /dev/null +++ b/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4_p20230121.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2023 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_{10..11} ) + +inherit distutils-r1 + +DESCRIPTION="Set of extensions to Ian Bicking's virtualenv tool" +HOMEPAGE=" + https://github.com/python-virtualenvwrapper/virtualenvwrapper + https://pypi.org/project/virtualenvwrapper/ +" + +COMMIT="e63d2c389ed276aa161bb50a27c77af94d96a50c" +SRC_URI=" + https://github.com/python-virtualenvwrapper/virtualenvwrapper/archive/${COMMIT}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${PN}-${COMMIT}" + +export PBR_VERSION="${PV/_p/.post}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/stevedore[${PYTHON_USEDEP}] + dev-python/virtualenv-clone[${PYTHON_USEDEP}] + ') +" +BDEPEND=" + ${RDEPEND} + $(python_gen_cond_dep ' + dev-python/pbr[${PYTHON_USEDEP}] + ') +" + +PATCHES=( + "${FILESDIR}/virtualenvwrapper-${PV}-remove-use-of-which.patch" +) + +src_prepare() { + default + + # specify default python interpeter to align with PYTHON_SINGLE_TARGET + sed -i -e \ + "s|\(_virtualenvwrapper_python_executable=\"\)\$(.*)\(\"\)|\1${EPYTHON}\2|" \ + 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}" +}
