mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-10 00:10:19 +03:00
Signed-off-by: Alfred Wingate <parona@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/43253 Closes: https://github.com/gentoo/gentoo/pull/43253 Signed-off-by: Sam James <sam@gentoo.org>
99 lines
2.7 KiB
Bash
99 lines
2.7 KiB
Bash
# Copyright 1999-2025 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..14} )
|
|
|
|
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? (
|
|
$(python_gen_cond_dep '
|
|
dev-python/pip[${PYTHON_USEDEP}]
|
|
')
|
|
)
|
|
"
|
|
|
|
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 + bug #936086
|
|
rm tests/test_mkvirtualenv_install.sh || die
|
|
rm tests/test_mkvirtualenv_requirements.sh || die
|
|
sed -i -e '/test_new_env_activated () {/,/}/ d' tests/test_cp.sh || die
|
|
sed -i -e '/test_wipeenv () {/,/}/ d' tests/test_wipeenv.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}"
|
|
local -x USING_TOX=1
|
|
|
|
# Make sure that users env doesn't leak to tests
|
|
unset VIRTUALENVWRAPPER_SCRIPT
|
|
unset _VIRTUALENVWRAPPER_API
|
|
|
|
local old_path="${PATH}"
|
|
|
|
# Tests are based on how upstream tox handles it
|
|
|
|
cp -a "${BUILD_DIR}"/{install/usr,test_bash} || die
|
|
local -x VIRTUAL_ENV="${BUILD_DIR}/test_bash"
|
|
touch "${VIRTUAL_ENV}"/bin/activate || die # silence warning
|
|
|
|
local -x PATH="${VIRTUAL_ENV}/bin:${old_path}"
|
|
local -x SHELL="/bin/bash"
|
|
local -x test_shell_opts=
|
|
|
|
bash ./tests/run_tests "${VIRTUAL_ENV}" || die "Tests failed under ${EPYTHON} with bash"
|
|
|
|
if has_version app-shells/zsh; then
|
|
cp -a "${BUILD_DIR}"/{install/usr,test_zsh} || die
|
|
local -x VIRTUAL_ENV="${BUILD_DIR}/test_zsh"
|
|
touch "${VIRTUAL_ENV}"/bin/activate || die # silence warning
|
|
|
|
local -x PATH="${VIRTUAL_ENV}/bin:${old_path}"
|
|
local -x SHELL="/bin/zsh"
|
|
local -x test_shell_opts="-o shwordsplit"
|
|
|
|
zsh -o shwordsplit ./tests/run_tests "${VIRTUAL_ENV}" || die "Tests failed under ${EPYTHON} with zsh"
|
|
fi
|
|
}
|