mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-11-06 17:47:07 -08:00
dev-python/pip: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
DIST pip-20.1.1.tar.gz 6503229 BLAKE2B 5b0409042c970ec47fa6f947b21a53aca43563a6bb442fd5f91788fa97caf7167a84b4f581de87453eb0e55657d2ccd11dca2d1815c3bfe9ef5923994306a6db SHA512 ee7b0345c08fbe0215811d07b4c57c1ceece826871842f6d1c174d82e8eee0ad810aa5413d6763ecd5a513e151792a53c36623ab99d2049555ef2542d32d1658
|
||||
DIST pip-20.2.2.tar.gz 8719081 BLAKE2B 642a8e9b2f7c3dc08b7e8f7874b7d1d988622f50b9430939060c3b9c086ae7bdaf4a58e9709376e0d36411fb2b492d4e44ddb6282f1fe12d7c8b9ecfdb1c0482 SHA512 0b000977f169900eebd4afeabfc7bd59b104246bbb048ce5b4db7f701e20ef1caef22c7ca2311843eafc4a37abbb81a74beddddf655eeaf2e33e3949d5a811e6
|
||||
DIST pip-20.2.3.tar.gz 8719284 BLAKE2B 280637627750302b11828f066b949df7a8d38c6fbdb7532a41eed0d4bd5b83a24ec717e9f57ebcf9d246a0c5aeb272bdaefc9299926dfe308ce20b84e82d81c2 SHA512 b2f7c6b2d5b0c3d743fa8b1061196f8cedf7f106e0cb87507070f1d930d1f1c8a875c800b2d1f7be5b9cada1ba6d3e5b2d7e2f3bdd42e43fd5147536ec1bdf48
|
||||
DIST setuptools-44.0.0-py2.py3-none-any.whl 583230 BLAKE2B 823e6792471660f247e30a938aa869d345a63db7294e5f9b4bd88f15a7694779011d29740fe317149620985f705fc6e18cbb07a18e5680cc11d7c229ffbc74f6 SHA512 7006fd303181afbeeec0e30cafb9fd1e4d3c6f55cfdd6343fedbc32b17dbb96b3d96ae37f4db27bfb168738727474cf425904ec280ff1d2b789fc48077a8fa84
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
From b30dd1e04e1f37901733f1be0a5a1e02c466ad0c Mon Sep 17 00:00:00 2001
|
||||
From: gutsytechster <prashantsharma161198@gmail.com>
|
||||
Date: Wed, 15 Apr 2020 19:54:48 +0530
|
||||
Subject: [PATCH] fix(tests/unit): Update tests to be endian safe
|
||||
|
||||
This updates `test_path_to_display` and `test_str_to_display__encoding`
|
||||
to use the endian safe expected result instead of the hardcoded one.
|
||||
|
||||
This fixes https://github.com/pypa/pip/issues/7921
|
||||
---
|
||||
tests/unit/test_compat.py | 8 +++++++-
|
||||
tests/unit/test_utils.py | 16 +++++++++++++---
|
||||
2 files changed, 20 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/tests/unit/test_compat.py b/tests/unit/test_compat.py
|
||||
index 1f31bc5c..b13087a1 100644
|
||||
--- a/tests/unit/test_compat.py
|
||||
+++ b/tests/unit/test_compat.py
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
import locale
|
||||
import os
|
||||
+import sys
|
||||
|
||||
import pytest
|
||||
|
||||
@@ -91,8 +92,13 @@ def test_str_to_display__decode_error(monkeypatch, caplog):
|
||||
# Encode with an incompatible encoding.
|
||||
data = u'ab'.encode('utf-16')
|
||||
actual = str_to_display(data)
|
||||
+ # Keep the expected value endian safe
|
||||
+ if sys.byteorder == "little":
|
||||
+ expected = "\\xff\\xfea\x00b\x00"
|
||||
+ elif sys.byteorder == "big":
|
||||
+ expected = "\\xfe\\xff\x00a\x00b"
|
||||
|
||||
- assert actual == u'\\xff\\xfea\x00b\x00', (
|
||||
+ assert actual == expected, (
|
||||
# Show the encoding for easier troubleshooting.
|
||||
'encoding: {!r}'.format(locale.getpreferredencoding())
|
||||
)
|
||||
diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
|
||||
index 7d74a664..ebabd29e 100644
|
||||
--- a/tests/unit/test_utils.py
|
||||
+++ b/tests/unit/test_utils.py
|
||||
@@ -375,6 +375,18 @@ def test_rmtree_retries_for_3sec(tmpdir, monkeypatch):
|
||||
rmtree('foo')
|
||||
|
||||
|
||||
+if sys.byteorder == "little":
|
||||
+ expected_byte_string = (
|
||||
+ u"b'\\xff\\xfe/\\x00p\\x00a\\x00t\\x00h\\x00/"
|
||||
+ "\\x00d\\x00\\xe9\\x00f\\x00'"
|
||||
+ )
|
||||
+elif sys.byteorder == "big":
|
||||
+ expected_byte_string = (
|
||||
+ u"b'\\xfe\\xff\\x00/\\x00p\\x00a\\x00t\\x00h\\"
|
||||
+ "x00/\\x00d\\x00\\xe9\\x00f'"
|
||||
+ )
|
||||
+
|
||||
+
|
||||
@pytest.mark.parametrize('path, fs_encoding, expected', [
|
||||
(None, None, None),
|
||||
# Test passing a text (unicode) string.
|
||||
@@ -383,9 +395,7 @@ def test_rmtree_retries_for_3sec(tmpdir, monkeypatch):
|
||||
(u'/path/déf'.encode('utf-8'), 'utf-8', u'/path/déf'),
|
||||
# Test a bytes object with a character that can't be decoded.
|
||||
(u'/path/déf'.encode('utf-8'), 'ascii', u"b'/path/d\\xc3\\xa9f'"),
|
||||
- (u'/path/déf'.encode('utf-16'), 'utf-8',
|
||||
- u"b'\\xff\\xfe/\\x00p\\x00a\\x00t\\x00h\\x00/"
|
||||
- "\\x00d\\x00\\xe9\\x00f\\x00'"),
|
||||
+ (u'/path/déf'.encode('utf-16'), 'utf-8', expected_byte_string),
|
||||
])
|
||||
def test_path_to_display(monkeypatch, path, fs_encoding, expected):
|
||||
monkeypatch.setattr(sys, 'getfilesystemencoding', lambda: fs_encoding)
|
||||
--
|
||||
2.26.2
|
||||
|
||||
@@ -1,140 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
PYTHON_COMPAT=( python3_{6,7,8,9} pypy3 )
|
||||
PYTHON_REQ_USE="ssl(+),threads(+)"
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
||||
|
||||
SETUPTOOLS_PV="44.0.0"
|
||||
WHEEL_PV="0.34.2"
|
||||
|
||||
DESCRIPTION="Installs python packages -- replacement for easy_install"
|
||||
HOMEPAGE="https://pip.pypa.io/ https://pypi.org/project/pip/ https://github.com/pypa/pip/"
|
||||
SRC_URI="
|
||||
https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
|
||||
test? (
|
||||
https://files.pythonhosted.org/packages/py2.py3/s/setuptools/setuptools-${SETUPTOOLS_PV}-py2.py3-none-any.whl
|
||||
https://files.pythonhosted.org/packages/py2.py3/w/wheel/wheel-${WHEEL_PV}-py2.py3-none-any.whl
|
||||
)
|
||||
"
|
||||
# PyPI archive does not have tests, so we need to download from GitHub.
|
||||
# setuptools & wheel .whl files are required for testing, exact version is not very important.
|
||||
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 sparc x86"
|
||||
SLOT="0"
|
||||
IUSE="test -vanilla"
|
||||
|
||||
# disable-system-install patch breaks tests
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
test? (
|
||||
dev-python/cryptography[${PYTHON_USEDEP}]
|
||||
dev-python/csv23[${PYTHON_USEDEP}]
|
||||
dev-python/freezegun[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pretend[${PYTHON_USEDEP}]
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
dev-python/scripttest[${PYTHON_USEDEP}]
|
||||
<dev-python/virtualenv-20[${PYTHON_USEDEP}]
|
||||
dev-python/werkzeug[${PYTHON_USEDEP}]
|
||||
dev-python/wheel[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
python_prepare_all() {
|
||||
local PATCHES=(
|
||||
"${FILESDIR}/${PN}-19.3-disable-version-check.patch"
|
||||
"${FILESDIR}/${P}-test-endian.patch"
|
||||
)
|
||||
if ! use vanilla; then
|
||||
PATCHES+=( "${FILESDIR}/pip-20.0.2-disable-system-install.patch" )
|
||||
fi
|
||||
distutils-r1_python_prepare_all
|
||||
|
||||
if use test; then
|
||||
mkdir tests/data/common_wheels/ || die
|
||||
cp "${DISTDIR}"/setuptools-${SETUPTOOLS_PV}-py2.py3-none-any.whl \
|
||||
tests/data/common_wheels/ || die
|
||||
|
||||
cp "${DISTDIR}"/wheel-${WHEEL_PV}-py2.py3-none-any.whl \
|
||||
tests/data/common_wheels/ || die
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
if [[ ${EPYTHON} == pypy* ]]; then
|
||||
ewarn "Skipping tests on ${EPYTHON} since they are very broken"
|
||||
return 0
|
||||
fi
|
||||
|
||||
local -a exclude_tests
|
||||
|
||||
# these will be built in to an expression passed to pytest to exclude
|
||||
exclude_tests=(
|
||||
git
|
||||
svn
|
||||
bazaar
|
||||
mercurial
|
||||
version_check
|
||||
uninstall_non_local_distutils
|
||||
pep518_uses_build_env
|
||||
install_package_with_root
|
||||
install_editable_with_prefix
|
||||
install_user_wheel
|
||||
install_from_current_directory_into_usersite
|
||||
uninstall_editable_from_usersite
|
||||
uninstall_from_usersite_with_dist_in_global_site
|
||||
build_env_isolation
|
||||
user_config_accepted
|
||||
)
|
||||
|
||||
distutils_install_for_testing
|
||||
|
||||
# generate the expression to exclude failing tests
|
||||
local exclude_expr
|
||||
printf -v exclude_expr "or %s " "${exclude_tests[@]}" || die
|
||||
exclude_expr="not (${exclude_expr#or })" || die
|
||||
|
||||
local -x GENTOO_PIP_TESTING=1 \
|
||||
PATH="${TEST_DIR}/scripts:${PATH}" \
|
||||
PYTHONPATH="${TEST_DIR}/lib:${BUILD_DIR}/lib"
|
||||
|
||||
pytest -vv \
|
||||
-k "${exclude_expr}" \
|
||||
-m "not network" \
|
||||
|| die "Tests fail with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
# Prevent dbus auto-launch
|
||||
# https://bugs.gentoo.org/692178
|
||||
export DBUS_SESSION_BUS_ADDRESS="disabled:"
|
||||
|
||||
local DOCS=( AUTHORS.txt docs/html/**/*.rst )
|
||||
distutils-r1_python_install_all
|
||||
|
||||
COMPLETION="${T}"/completion.tmp
|
||||
|
||||
# 'pip completion' command embeds full $0 into completion script, which confuses
|
||||
# 'complete' and causes QA warning when running as "${PYTHON} -m pip".
|
||||
# This trick sets correct $0 while still calling just installed pip.
|
||||
local pipcmd='import sys; sys.argv[0] = "pip"; import pip.__main__; sys.exit(pip.__main__._main())'
|
||||
|
||||
${PYTHON} -c "${pipcmd}" completion --bash > "${COMPLETION}" || die
|
||||
newbashcomp "${COMPLETION}" ${PN}
|
||||
|
||||
${PYTHON} -c "${pipcmd}" completion --zsh > "${COMPLETION}" || die
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins "${COMPLETION}" _pip
|
||||
}
|
||||
Reference in New Issue
Block a user