public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pip/files/, dev-python/pip/
Date: Sat,  1 Feb 2020 08:33:23 +0000 (UTC)	[thread overview]
Message-ID: <1580545999.0ed9e986ca461fa075cfe52ce0fd8edc7f884f41.mgorny@gentoo> (raw)

commit:     0ed9e986ca461fa075cfe52ce0fd8edc7f884f41
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  1 06:35:03 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb  1 08:33:19 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ed9e986

dev-python/pip: Bump to 20.0.2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pip/Manifest                            |   3 +
 .../files/pip-20.0.2-disable-system-install.patch  |  29 +++++
 dev-python/pip/pip-20.0.2.ebuild                   | 137 +++++++++++++++++++++
 3 files changed, 169 insertions(+)

diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
index 035862b6310..f0487112632 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1,7 +1,10 @@
 DIST pip-19.1.tar.gz 6320747 BLAKE2B 9b69fcdef751d6938a7c67f44692afa7088f660ab1e0ae113d21d0f48b4e29f43e0f0bcc137cf16ac0324ea3b500bd2a84234823f8d82556d6727f68139aab4b SHA512 0d2442c22c41133118353ba98f45260f0615a891725b2a069d8fbf26ec4033cc7297bb671944c3dcc1f68800b91e92e58fb407ca5a333382e20ac4bb5c9e0cb6
 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-9.0.1.tar.gz 1197370 BLAKE2B 3618161690d5e0a38d141f9b51baea4aaa3fdc225664ef180bbeecf6e2df95e9ea4f97c63fe3a68f84f4fb5ebcc74e316827253c7e07b03565e58113bbaa918a SHA512 ee59efb4b009ff6543b7afdea99b9cbbee1981ecc03af586acda76674024d3b66dab23049e68f3da9448734984619fc1eaba6e965c9dd3d731973376c8a42e25
 DIST setuptools-41.0.1-py2.py3-none-any.whl 575966 BLAKE2B 332986453a35e4ec36ab2bdb80a8b0a70ffe4fec1bb874f481b0d8e31016a26d53070f90d0eea9030b8c48a1f9bc21a54d8a5a2b70096e1f8db84d42449903e4 SHA512 c84ddf1d1ea90216b2c475f3e4879f4e6792a859adf61db70d67f49a35f2cb4df6fd6d93049881e6d2a8d914768edfcd091475206bb5da3ac66c41c4b9147102
 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.1-py2.py3-none-any.whl 21496 BLAKE2B 41bb9ed91d43f94209a010c286d541da9d68b9e727ec8a339fe3c24fb806746b1de5b62c6cd26d2c2841be17406e1f99353b6d172f5258540faeba014945e9e8 SHA512 761ad8cb96557b146642871e1f8ce75849a9828193d992a19d072236b9f8452ab54907a3b82bc7441f75f036155ae21b7450120e0c4c19aa5100b58337945ac0
 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-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 00000000000..c6b5354bc68
--- /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/pip-20.0.2.ebuild b/dev-python/pip/pip-20.0.2.ebuild
new file mode 100644
index 00000000000..fe842dac954
--- /dev/null
+++ b/dev-python/pip/pip-20.0.2.ebuild
@@ -0,0 +1,137 @@
+# 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 ~arm64 ~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"
+	)
+	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
+}


             reply	other threads:[~2020-02-01  8:33 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-01  8:33 Michał Górny [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-10 10:03 [gentoo-commits] repo/gentoo:master commit in: dev-python/pip/files/, dev-python/pip/ Michał Górny
2025-03-01 11:57 Michał Górny
2025-02-18 10:30 Michał Górny
2025-01-04 19:08 Michał Górny
2024-02-20  9:09 Michał Górny
2024-01-17 17:11 Michał Górny
2023-11-25  6:45 Michał Górny
2022-08-30 19:01 Michał Górny
2022-07-29 11:43 Arthur Zamarin
2022-03-16  8:07 Michał Górny
2021-11-27 20:14 Michał Górny
2021-11-27 10:27 Michał Górny
2021-05-26  8:36 Michał Górny
2021-01-24 10:15 Michał Górny
2020-09-28 19:50 Michał Górny
2019-11-23  0:22 Patrick McLean
2019-10-22 20:38 Maxim Koltsov
2017-01-04  4:28 Mike Gilbert
2016-11-20 19:00 Sebastian Pipping
2016-01-21 11:43 Justin Lecher
2015-08-24 10:12 Justin Lecher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1580545999.0ed9e986ca461fa075cfe52ce0fd8edc7f884f41.mgorny@gentoo \
    --to=mgorny@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox