diff options
| author | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
|---|---|---|
| committer | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
| commit | ecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch) | |
| tree | b89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /dev-python/pip | |
| parent | 1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff) | |
| download | baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip | |
Updating liguros repo
Diffstat (limited to 'dev-python/pip')
| -rw-r--r-- | dev-python/pip/Manifest | 9 | ||||
| -rw-r--r-- | dev-python/pip/files/pip-19.3-disable-version-check.patch | 24 | ||||
| -rw-r--r-- | dev-python/pip/files/pip-19.3.1-network-tests.patch | 66 | ||||
| -rw-r--r-- | dev-python/pip/files/pip-19.3.1-r2-disable-system-install.patch | 17 | ||||
| -rw-r--r-- | dev-python/pip/files/pip-20.0.2-disable-system-install.patch | 29 | ||||
| -rw-r--r-- | dev-python/pip/files/pip-20.1.1-test-endian.patch | 78 | ||||
| -rw-r--r-- | dev-python/pip/files/pip-9.0.1-disable-version-check.patch | 32 | ||||
| -rw-r--r-- | dev-python/pip/files/pip-disable-system-install.patch | 29 | ||||
| -rw-r--r-- | dev-python/pip/metadata.xml | 14 | ||||
| -rw-r--r-- | dev-python/pip/pip-19.3.1-r2.ebuild | 138 | ||||
| -rw-r--r-- | dev-python/pip/pip-20.0.2.ebuild | 138 | ||||
| -rw-r--r-- | dev-python/pip/pip-20.1.1.ebuild | 141 | ||||
| -rw-r--r-- | dev-python/pip/pip-20.1.ebuild | 141 | ||||
| -rw-r--r-- | dev-python/pip/pip-9.0.1-r2.ebuild | 84 |
14 files changed, 940 insertions, 0 deletions
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest new file mode 100644 index 000000000000..aecac8b0b2dc --- /dev/null +++ b/dev-python/pip/Manifest @@ -0,0 +1,9 @@ +DIST pip-19.3.1.tar.gz 6409819 BLAKE2B b3aacd0bee60400a1f30b4be57871002072e5cc7a86e76cca1848e977ebdc85b6e282fc521c19bf7a518d1aef3280133fcd65a431cb2a16e202dd7721c5b97ad SHA512 39446c0ab6e4495d98f22923a2a76901b024d9047b60d92580b21d447a718e5285cfd66f8ad0c20befcfe1abc7f06be29b6a5644d1b30265d3b67399fe76e033 +DIST pip-20.0.2.tar.gz 6445047 BLAKE2B 8f6e0a8908cf594c8d51818942b0839f59a495697a95dcc0347235e90cbe6d7f035f155761e7da9cfca1ba08b2c5a2c5def52c60c381f5428ef48efd1b6b5131 SHA512 f9965944ca0f319d01db1638ce97cf64772afff1778b3b1271155de73208cfcb3954d89a469c1143c0bf3288a53d4446165a49df994374b16ac6f7ffdae85857 +DIST pip-20.1.1.tar.gz 6503229 BLAKE2B 5b0409042c970ec47fa6f947b21a53aca43563a6bb442fd5f91788fa97caf7167a84b4f581de87453eb0e55657d2ccd11dca2d1815c3bfe9ef5923994306a6db SHA512 ee7b0345c08fbe0215811d07b4c57c1ceece826871842f6d1c174d82e8eee0ad810aa5413d6763ecd5a513e151792a53c36623ab99d2049555ef2542d32d1658 +DIST pip-20.1.tar.gz 6500955 BLAKE2B 81ab806fce4ae3d9aeab34fe8781c13507252ef0325abb35dd739f3eaf0e648866b052d2adb8b187974ae784f493dbb83f684c464da8f9079f66fe8c4fa2d61d SHA512 19cc1172540bec4b0c6facf55fa9c463bf8f4391dd1a643ac208c8e0b787950b2d72a6ec8f0772c7e6582c6b6a4a103f31ad58ffa2119fb574c174e5ec77b0c1 +DIST pip-9.0.1.tar.gz 1197370 BLAKE2B 3618161690d5e0a38d141f9b51baea4aaa3fdc225664ef180bbeecf6e2df95e9ea4f97c63fe3a68f84f4fb5ebcc74e316827253c7e07b03565e58113bbaa918a SHA512 ee59efb4b009ff6543b7afdea99b9cbbee1981ecc03af586acda76674024d3b66dab23049e68f3da9448734984619fc1eaba6e965c9dd3d731973376c8a42e25 +DIST setuptools-41.4.0-py2.py3-none-any.whl 580302 BLAKE2B 58dc2d48445406f7467bfb0934dc507e8a569e4759bfcc95287cfb21b5b1a7bcab061656a29a8b4976ee3ae12a3adca570035ae4a6d9df09ae7a799857775d36 SHA512 a27b38d596931dfef81d705d05689b7748ce0e02d21af4a37204fc74b0913fa7241b8135535eb7749f09af361cad90c475af98493fef11c4ad974780ee01243d +DIST setuptools-44.0.0-py2.py3-none-any.whl 583230 BLAKE2B 823e6792471660f247e30a938aa869d345a63db7294e5f9b4bd88f15a7694779011d29740fe317149620985f705fc6e18cbb07a18e5680cc11d7c229ffbc74f6 SHA512 7006fd303181afbeeec0e30cafb9fd1e4d3c6f55cfdd6343fedbc32b17dbb96b3d96ae37f4db27bfb168738727474cf425904ec280ff1d2b789fc48077a8fa84 +DIST wheel-0.33.6-py2.py3-none-any.whl 21556 BLAKE2B 6b6124c1e8e70592399a90c88b2a70efc5885bad81d2ff07a2e243eee008ba5cb0c927454036915a61e97489e29fe1abc4ba2e63d7eadf1a8985c8a8b7cdf4c4 SHA512 4663cd55ee9d3de138216bb06870606b546b19cb6a733f1beab211c0ba72e63d849c422d320ddc8aa8275ad04a30119a84c1351e589150cd18c2a34f9fdb224a +DIST wheel-0.34.2-py2.py3-none-any.whl 26502 BLAKE2B 3a1bd4571c582245b60ff33c9bf74ff8a2ebafb26e56fc7b9bd215058d059b6bd13bbe21ce46002af257813a54126f27e19253f211e21c4548c7cf84cd15caf7 SHA512 4f1a44f4691ed8baad777d7874f7f4da96a5019eb485fd3a9eed9259aa2a9d5acccc6dc63a72128664347c64ee039a6076c6ca9c3b75a1f94457967864e522ed diff --git a/dev-python/pip/files/pip-19.3-disable-version-check.patch b/dev-python/pip/files/pip-19.3-disable-version-check.patch new file mode 100644 index 000000000000..e8fe868431d1 --- /dev/null +++ b/dev-python/pip/files/pip-19.3-disable-version-check.patch @@ -0,0 +1,24 @@ +diff --git a/src/pip/_internal/cli/req_command.py b/src/pip/_internal/cli/req_command.py +index 203e86a4..a2183f10 100644 +--- a/src/pip/_internal/cli/req_command.py ++++ b/src/pip/_internal/cli/req_command.py +@@ -129,17 +129,8 @@ class IndexGroupCommand(Command, SessionCommandMixin): + # Make sure the index_group options are present. + assert hasattr(options, 'no_index') + +- if options.disable_pip_version_check or options.no_index: +- return +- +- # Otherwise, check if we're using the latest version of pip available. +- session = self._build_session( +- options, +- retries=0, +- timeout=min(5, options.timeout) +- ) +- with session: +- pip_self_version_check(session, options) ++ # Disabled on Gentoo ++ return + + + class RequirementCommand(IndexGroupCommand): diff --git a/dev-python/pip/files/pip-19.3.1-network-tests.patch b/dev-python/pip/files/pip-19.3.1-network-tests.patch new file mode 100644 index 000000000000..f194a7b34a90 --- /dev/null +++ b/dev-python/pip/files/pip-19.3.1-network-tests.patch @@ -0,0 +1,66 @@ +diff --git a/news/7359.trivial b/news/7359.trivial +new file mode 100644 +index 000000000..e69de29bb +diff --git a/tests/functional/test_freeze.py b/tests/functional/test_freeze.py +index d13c931d0..2e35de3e6 100644 +--- a/tests/functional/test_freeze.py ++++ b/tests/functional/test_freeze.py +@@ -721,6 +721,7 @@ def test_freeze_user(script, virtualenv, data): + assert 'simple2' not in result.stdout + + ++@pytest.mark.network + def test_freeze_path(tmpdir, script, data): + """ + Test freeze with --path. +@@ -734,5 +735,6 @@ def test_freeze_path(tmpdir, script, data): + _check_output(result.stdout, expected) + + ++@pytest.mark.network + def test_freeze_path_exclude_user(tmpdir, script, data): + """ +@@ -756,6 +758,7 @@ def test_freeze_path_exclude_user(tmpdir, script, data): + _check_output(result.stdout, expected) + + ++@pytest.mark.network + def test_freeze_path_multiple(tmpdir, script, data): + """ + Test freeze with multiple --path arguments. +diff --git a/tests/functional/test_install.py b/tests/functional/test_install.py +index a9eff081d..ba7a0a55c 100644 +--- a/tests/functional/test_install.py ++++ b/tests/functional/test_install.py +@@ -1325,6 +1325,7 @@ def test_install_no_binary_disables_building_wheels(script, data, with_wheel): + assert "Running setup.py install for upper" in str(res), str(res) + + ++@pytest.mark.network + def test_install_no_binary_builds_pep_517_wheel(script, data, with_wheel): + to_install = data.packages.joinpath('pep517_setup_and_pyproject') + res = script.pip( +diff --git a/tests/functional/test_install_config.py b/tests/functional/test_install_config.py +index 176976c4e..308263928 100644 +--- a/tests/functional/test_install_config.py ++++ b/tests/functional/test_install_config.py +@@ -133,6 +133,7 @@ def test_command_line_appends_correctly(script, data): + ), 'stdout: {}'.format(result.stdout) + + ++@pytest.mark.network + def test_config_file_override_stack(script, virtualenv): + """ + Test config files (global, overriding a global config with a +diff --git a/tests/functional/test_install_upgrade.py b/tests/functional/test_install_upgrade.py +index 6d2eeb5dc..0024de4d4 100644 +--- a/tests/functional/test_install_upgrade.py ++++ b/tests/functional/test_install_upgrade.py +@@ -8,6 +8,7 @@ + from tests.lib.local_repos import local_checkout + + ++@pytest.mark.network + def test_no_upgrade_unless_requested(script): + """ + No upgrade if not specifically requested. diff --git a/dev-python/pip/files/pip-19.3.1-r2-disable-system-install.patch b/dev-python/pip/files/pip-19.3.1-r2-disable-system-install.patch new file mode 100644 index 000000000000..8486c37f0c73 --- /dev/null +++ b/dev-python/pip/files/pip-19.3.1-r2-disable-system-install.patch @@ -0,0 +1,17 @@ +install: Raise an error to avoid breaking python-exec + +Running pip without --target, --root, or --user will result in packages +being installed systemwide. This has a tendency to break python-exec if +setuptools gets installed or upgraded. + +--- pip-19.1/src/pip/_internal/commands/install.py ++++ pip-19.1/src/pip/_internal/commands/install.py +@@ -246,6 +246,9 @@ class InstallCommand(RequirementCommand): + if options.upgrade: + upgrade_strategy = options.upgrade_strategy + ++ if not options.use_user_site and not options.target_dir and not options.root_path and not os.getenv('GENTOO_PIP_TESTING'): ++ raise CommandError("(Gentoo) Please run pip with the --user option to avoid breaking python-exec") ++ + if options.build_dir: + options.build_dir = os.path.abspath(options.build_dir) diff --git a/dev-python/pip/files/pip-20.0.2-disable-system-install.patch b/dev-python/pip/files/pip-20.0.2-disable-system-install.patch new file mode 100644 index 000000000000..c6b5354bc68f --- /dev/null +++ b/dev-python/pip/files/pip-20.0.2-disable-system-install.patch @@ -0,0 +1,29 @@ +From 57d610bbcc721c2e58fd2e9f3197bb3e3acbd935 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sat, 1 Feb 2020 09:14:46 +0100 +Subject: [PATCH] install: Raise an error to avoid breaking python-exec + +Running pip without --target, --root, or --user will result in packages +being installed systemwide. This has a tendency to break python-exec if +setuptools gets installed or upgraded. +--- + src/pip/_internal/commands/install.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/pip/_internal/commands/install.py b/src/pip/_internal/commands/install.py +index 02a187c8..025b824b 100644 +--- a/src/pip/_internal/commands/install.py ++++ b/src/pip/_internal/commands/install.py +@@ -246,6 +246,9 @@ class InstallCommand(RequirementCommand): + if options.upgrade: + upgrade_strategy = options.upgrade_strategy + ++ if not options.use_user_site and not options.target_dir and not options.root_path and not os.getenv('GENTOO_PIP_TESTING'): ++ raise CommandError("(Gentoo) Please run pip with the --user option to avoid breaking python-exec") ++ + cmdoptions.check_dist_restriction(options, check_target=True) + + install_options = options.install_options or [] +-- +2.25.0 + diff --git a/dev-python/pip/files/pip-20.1.1-test-endian.patch b/dev-python/pip/files/pip-20.1.1-test-endian.patch new file mode 100644 index 000000000000..b6aea145656f --- /dev/null +++ b/dev-python/pip/files/pip-20.1.1-test-endian.patch @@ -0,0 +1,78 @@ +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 + diff --git a/dev-python/pip/files/pip-9.0.1-disable-version-check.patch b/dev-python/pip/files/pip-9.0.1-disable-version-check.patch new file mode 100644 index 000000000000..7334380c1e1d --- /dev/null +++ b/dev-python/pip/files/pip-9.0.1-disable-version-check.patch @@ -0,0 +1,32 @@ +From 890a1c26018752f2c57c7800968e4b8d1e0987f9 Mon Sep 17 00:00:00 2001 +From: Sebastian Pipping <sebastian@pipping.org> +Date: Sun, 20 Nov 2016 19:52:40 +0100 +Subject: [PATCH] Stop checking for new versions + +--- + pip/basecommand.py | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/pip/basecommand.py b/pip/basecommand.py +index 54c6706..3cffe86 100644 +--- a/pip/basecommand.py ++++ b/pip/basecommand.py +@@ -241,15 +241,6 @@ class Command(object): + logger.critical('Exception:', exc_info=True) + + return UNKNOWN_ERROR +- finally: +- # Check if we're using the latest version of pip available +- if (not options.disable_pip_version_check and not +- getattr(options, "no_index", False)): +- with self._build_session( +- options, +- retries=0, +- timeout=min(5, options.timeout)) as session: +- pip_version_check(session) + + return SUCCESS + +-- +2.10.2 + diff --git a/dev-python/pip/files/pip-disable-system-install.patch b/dev-python/pip/files/pip-disable-system-install.patch new file mode 100644 index 000000000000..9e572454315e --- /dev/null +++ b/dev-python/pip/files/pip-disable-system-install.patch @@ -0,0 +1,29 @@ +From 847553da616edabede18c69ba640a32b719b45a8 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Tue, 27 Oct 2015 12:20:44 -0400 +Subject: [PATCH] install: Raise an error to avoid breaking python-exec + +Running pip without --target, --root, or --user will result in packages +being installed systemwide. This has a tendency to break python-exec if +setuptools gets installed or upgraded. +--- + pip/commands/install.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/pip/commands/install.py b/pip/commands/install.py +index 46cd9f2..36b72f2 100644 +--- a/pip/commands/install.py ++++ b/pip/commands/install.py +@@ -204,6 +204,9 @@ class InstallCommand(RequirementCommand): + ) + options.ignore_installed = True + ++ if not options.use_user_site and not options.target_dir and not options.root_path: ++ raise CommandError("(Gentoo) Please run pip with the --user option to avoid breaking python-exec") ++ + if options.build_dir: + options.build_dir = os.path.abspath(options.build_dir) + +-- +2.6.2 + diff --git a/dev-python/pip/metadata.xml b/dev-python/pip/metadata.xml new file mode 100644 index 000000000000..446ff920f62a --- /dev/null +++ b/dev-python/pip/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + <stabilize-allarches/> + <upstream> + <remote-id type="pypi">pip</remote-id> + <remote-id type="github">pypa/pip</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata> diff --git a/dev-python/pip/pip-19.3.1-r2.ebuild b/dev-python/pip/pip-19.3.1-r2.ebuild new file mode 100644 index 000000000000..17ca2852b9eb --- /dev/null +++ b/dev-python/pip/pip-19.3.1-r2.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{6,7,8} pypy3 ) +PYTHON_REQ_USE="ssl(+),threads(+)" + +inherit bash-completion-r1 distutils-r1 multiprocessing + +SETUPTOOLS_PV="41.4.0" +WHEEL_PV="0.33.6" + +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="amd64 arm64 ~hppa ~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/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[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + ) +" + +python_prepare_all() { + local PATCHES=( + "${FILESDIR}/${PN}-19.3-disable-version-check.patch" + + # these are from upstream git + "${FILESDIR}/pip-19.3.1-network-tests.patch" + "${FILESDIR}/${PN}-20.1.1-test-endian.patch" + ) + if ! use vanilla; then + PATCHES+=( "${FILESDIR}/pip-19.3.1-r2-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 + ) + + 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 +} diff --git a/dev-python/pip/pip-20.0.2.ebuild b/dev-python/pip/pip-20.0.2.ebuild new file mode 100644 index 000000000000..fcb8d78d31a7 --- /dev/null +++ b/dev-python/pip/pip-20.0.2.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_USE_SETUPTOOLS=rdepend +PYTHON_COMPAT=( python2_7 python3_{6,7,8} 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/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[${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}/${PN}-20.1.1-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 + ) + + 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 +} diff --git a/dev-python/pip/pip-20.1.1.ebuild b/dev-python/pip/pip-20.1.1.ebuild new file mode 100644 index 000000000000..c6e2c880ab95 --- /dev/null +++ b/dev-python/pip/pip-20.1.1.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_USE_SETUPTOOLS=rdepend +PYTHON_COMPAT=( python2_7 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_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' -2) + ) +" + +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 +} diff --git a/dev-python/pip/pip-20.1.ebuild b/dev-python/pip/pip-20.1.ebuild new file mode 100644 index 000000000000..9da532f79f0e --- /dev/null +++ b/dev-python/pip/pip-20.1.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_USE_SETUPTOOLS=rdepend +PYTHON_COMPAT=( python2_7 python3_{6,7,8} 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="~amd64 ~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[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' -2) + ) +" + +python_prepare_all() { + local PATCHES=( + "${FILESDIR}/${PN}-19.3-disable-version-check.patch" + "${FILESDIR}/${PN}-20.1.1-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 +} diff --git a/dev-python/pip/pip-9.0.1-r2.ebuild b/dev-python/pip/pip-9.0.1-r2.ebuild new file mode 100644 index 000000000000..792b91c4cefa --- /dev/null +++ b/dev-python/pip/pip-9.0.1-r2.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_6 pypy3 ) +PYTHON_REQ_USE="threads(+)" + +inherit eutils bash-completion-r1 distutils-r1 + +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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux" +SLOT="0" + +IUSE="-vanilla" + +# Check pip/_vendor/vendor.txt for this +#VENDOR_DEPEND=" +# >=dev-python/distlib-0.2.2[${PYTHON_USEDEP}] +# >=dev-python/html5lib-1.0b8[${PYTHON_USEDEP}] +# >=dev-python/six-1.10.0${PYTHON_USEDEP}] +# >=dev-python/colorama-0.3.6[${PYTHON_USEDEP}] +# >=dev-python/requests-2.9.1-r2[${PYTHON_USEDEP}] +# >=dev-python/CacheControl-0.11.6[${PYTHON_USEDEP}] +# >=dev-python/lockfile-0.12.2[${PYTHON_USEDEP}] +# >=dev-python/progress-1.2[${PYTHON_USEDEP}] +# >=dev-python/packaging-16.5[${PYTHON_USEDEP}] +# >=dev-python/retrying-1.3.3[${PYTHON_USEDEP}] +# >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] +# virtual/python-ipaddress[${PYTHON_USEDEP}] +#" +# https://github.com/pypa/pip/issues/3057 +#RDEPEND="${VENDOR_DEPEND} +# >=dev-python/setuptools-19.2[${PYTHON_USEDEP}] +# <dev-python/setuptools-19.4[${PYTHON_USEDEP}] +#" +#DEPEND="${RDEPEND}" + +# required test data isn't bundled with the tarball +RESTRICT="test" + +#PATCHES=( +# "${FILESDIR}"/${PN}-6.0.2-disable-version-check.patch +# "${FILESDIR}"/${PN}-8.0.0-unbundle.patch +# ) + +#python_prepare_all() { +# mv pip/_vendor/__init__.py "${T}" || die +# rm -r pip/_vendor/* || die +# mv "${T}"/__init__.py pip/_vendor/__init__.py || die +# +# distutils-r1_python_prepare_all +#} + +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]" +RDEPEND="${DEPEND}" + +python_prepare_all() { + local PATCHES=( + "${FILESDIR}/${PN}-9.0.1-disable-version-check.patch" + ) + if ! use vanilla; then + PATCHES+=( "${FILESDIR}/pip-disable-system-install.patch" ) + fi + distutils-r1_python_prepare_all +} + +python_install_all() { + local DOCS=( AUTHORS.txt docs/*.rst ) + distutils-r1_python_install_all + + COMPLETION="${T}"/completion.tmp + + "${PYTHON}" -m pip completion --bash > "${COMPLETION}" || die + newbashcomp "${COMPLETION}" ${PN} + + "${PYTHON}" -m pip completion --zsh > "${COMPLETION}" || die + insinto /usr/share/zsh/site-functions + newins "${COMPLETION}" _pip +} |
