Module Name: pkgsrc
Committed By: wiz
Date: Sun Feb 1 18:15:55 UTC 2026
Modified Files:
pkgsrc/devel/py-pip: Makefile PLIST distinfo
pkgsrc/devel/py-pip/patches: patch-src_pip___internal_build__env.py
Log Message:
py-pip: update to 26.0.
26.0 (2026-01-30)
=================
Deprecations and Removals
-------------------------
- Remove support for non-bare project names in egg fragments. Affected users should use
the `Direct URL requirement syntax <https://packaging.python.org/en/latest/specifications/version-specifiers/#direct-references>`_. (`#13157 <https://github.com/pypa/pip/issues/13157>`_)
Features
--------
- Display pip's command-line help in colour, if possible. (`#12134 <https://github.com/pypa/pip/issues/12134>`_)
- Support installing dependencies declared with inline script metadata
(:pep:`723`) with ``--requirements-from-script``. (`#12891 <https://github.com/pypa/pip/issues/12891>`_)
- Add ``--all-releases`` and ``--only-final`` options to control pre-release
and final release selection during package installation. (`#13221 <https://github.com/pypa/pip/issues/13221>`_)
- Add ``--uploaded-prior-to`` option to only consider packages uploaded prior to
a given datetime when the ``upload-time`` field is available from a remote index. (`#13625 <https://github.com/pypa/pip/issues/13625>`_)
- Add ``--use-feature inprocess-build-deps`` to request that build dependencies are installed
within the same pip install process. This new mechanism is faster, supports ``--no-clean``
and ``--no-cache-dir`` reliably, and supports prompting for authentication.
Enabling this feature will also enable ``--use-feature build-constraints``. This feature will
become the default in a future pip version. (`#9081 <https://github.com/pypa/pip/issues/9081>`_)
- ``pip cache purge`` and ``pip cache remove`` now clean up empty directories
and legacy files left by older pip versions. (`#9058 <https://github.com/pypa/pip/issues/9058>`_)
Bug Fixes
---------
- Fix selecting pre-release versions when only pre-releases match.
For example, ``package>1.0`` with versions ``1.0, 2.0rc1`` now installs
``2.0rc1`` instead of failing. (`#13746 <https://github.com/pypa/pip/issues/13746>`_)
- Revisions in version control URLs now must be percent-encoded.
For example, use ``git+https://example.com/repo.git@issue%231`` to specify the branch ``issue#1``.
If you previously used a branch name containing a ``%`` character in a version control URL, you now need to replace it with ``%25`` to ensure correct percent-encoding. (`#13407
<https://github.com/pypa/pip/issues/13407>`_)
- Preserve original casing when a path is displayed. (`#6823 <https://github.com/pypa/pip/issues/6823>`_)
- Fix bash completion when the ``$IFS`` variable has been modified from its default. (`#13555 <https://github.com/pypa/pip/issues/13555>`_)
- Precompute Python requirements on each candidate, reducing time of long resolutions. (`#13656 <https://github.com/pypa/pip/issues/13656>`_)
- Skip redundant work converting version objects to strings when using the
``importlib.metadata`` backend. (`#13660 <https://github.com/pypa/pip/issues/13660>`_)
- Fix ``pip index versions`` to honor only-binary/no-binary options. (`#13682 <https://github.com/pypa/pip/issues/13682>`_)
- Fix fallthrough logic for options, allowing overriding global options with
defaults from user config. (`#13703 <https://github.com/pypa/pip/issues/13703>`_)
- Use a path-segment prefix comparison, not char-by-char. (`#13777 <https://github.com/pypa/pip/issues/13777>`_)
Vendored Libraries
------------------
- Upgrade CacheControl to 0.14.4
- Upgrade certifi to 2026.1.4
- Upgrade idna to 3.11
- Upgrade packaging to 26.0
- Upgrade platformdirs to 4.5.1
To generate a diff of this commit:
cvs rdiff -u -r1.87 -r1.88 pkgsrc/devel/py-pip/Makefile
cvs rdiff -u -r1.50 -r1.51 pkgsrc/devel/py-pip/PLIST
cvs rdiff -u -r1.72 -r1.73 pkgsrc/devel/py-pip/distinfo
cvs rdiff -u -r1.8 -r1.9 \
pkgsrc/devel/py-pip/patches/patch-src_pip___internal_build__env.py
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/py-pip/Makefile
diff -u pkgsrc/devel/py-pip/Makefile:1.87 pkgsrc/devel/py-pip/Makefile:1.88
--- pkgsrc/devel/py-pip/Makefile:1.87 Tue Oct 28 09:44:51 2025
+++ pkgsrc/devel/py-pip/Makefile Sun Feb 1 18:15:55 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.87 2025/10/28 09:44:51 adam Exp $
+# $NetBSD: Makefile,v 1.88 2026/02/01 18:15:55 wiz Exp $
-DISTNAME= pip-25.3
+DISTNAME= pip-26.0
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITE_PYPI:=p/pip/}
@@ -11,11 +11,10 @@ COMMENT= Installs Python packages as an
LICENSE= mit
TOOL_DEPENDS+= ${PYPKGPREFIX}-flit_core>=3.11:../../devel/py-flit_core
+TEST_DEPENDS+= ${PYPKGPREFIX}-test_socket>=0:../../devel/py-test_socket
USE_LANGUAGES= # none
-REPLACE_PYTHON+= src/pip/_vendor/appdirs.py
-REPLACE_PYTHON+= src/pip/_vendor/chardet/cli/chardetect.py
REPLACE_PYTHON+= src/pip/_vendor/requests/certs.py
post-install:
Index: pkgsrc/devel/py-pip/PLIST
diff -u pkgsrc/devel/py-pip/PLIST:1.50 pkgsrc/devel/py-pip/PLIST:1.51
--- pkgsrc/devel/py-pip/PLIST:1.50 Tue Oct 28 09:44:51 2025
+++ pkgsrc/devel/py-pip/PLIST Sun Feb 1 18:15:55 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.50 2025/10/28 09:44:51 adam Exp $
+@comment $NetBSD: PLIST,v 1.51 2026/02/01 18:15:55 wiz Exp $
bin/pip${PYVERSSUFFIX}
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
@@ -234,9 +234,9 @@ ${PYSITELIB}/pip/_internal/models/instal
${PYSITELIB}/pip/_internal/models/link.py
${PYSITELIB}/pip/_internal/models/link.pyc
${PYSITELIB}/pip/_internal/models/link.pyo
-${PYSITELIB}/pip/_internal/models/pylock.py
-${PYSITELIB}/pip/_internal/models/pylock.pyc
-${PYSITELIB}/pip/_internal/models/pylock.pyo
+${PYSITELIB}/pip/_internal/models/release_control.py
+${PYSITELIB}/pip/_internal/models/release_control.pyc
+${PYSITELIB}/pip/_internal/models/release_control.pyo
${PYSITELIB}/pip/_internal/models/scheme.py
${PYSITELIB}/pip/_internal/models/scheme.pyc
${PYSITELIB}/pip/_internal/models/scheme.pyo
@@ -321,6 +321,9 @@ ${PYSITELIB}/pip/_internal/req/__init__.
${PYSITELIB}/pip/_internal/req/constructors.py
${PYSITELIB}/pip/_internal/req/constructors.pyc
${PYSITELIB}/pip/_internal/req/constructors.pyo
+${PYSITELIB}/pip/_internal/req/pep723.py
+${PYSITELIB}/pip/_internal/req/pep723.pyc
+${PYSITELIB}/pip/_internal/req/pep723.pyo
${PYSITELIB}/pip/_internal/req/req_dependency_group.py
${PYSITELIB}/pip/_internal/req/req_dependency_group.pyc
${PYSITELIB}/pip/_internal/req/req_dependency_group.pyo
@@ -432,6 +435,9 @@ ${PYSITELIB}/pip/_internal/utils/misc.py
${PYSITELIB}/pip/_internal/utils/packaging.py
${PYSITELIB}/pip/_internal/utils/packaging.pyc
${PYSITELIB}/pip/_internal/utils/packaging.pyo
+${PYSITELIB}/pip/_internal/utils/pylock.py
+${PYSITELIB}/pip/_internal/utils/pylock.pyc
+${PYSITELIB}/pip/_internal/utils/pylock.pyo
${PYSITELIB}/pip/_internal/utils/retry.py
${PYSITELIB}/pip/_internal/utils/retry.pyc
${PYSITELIB}/pip/_internal/utils/retry.pyo
@@ -657,6 +663,9 @@ ${PYSITELIB}/pip/_vendor/packaging/metad
${PYSITELIB}/pip/_vendor/packaging/metadata.pyc
${PYSITELIB}/pip/_vendor/packaging/metadata.pyo
${PYSITELIB}/pip/_vendor/packaging/py.typed
+${PYSITELIB}/pip/_vendor/packaging/pylock.py
+${PYSITELIB}/pip/_vendor/packaging/pylock.pyc
+${PYSITELIB}/pip/_vendor/packaging/pylock.pyo
${PYSITELIB}/pip/_vendor/packaging/requirements.py
${PYSITELIB}/pip/_vendor/packaging/requirements.pyc
${PYSITELIB}/pip/_vendor/packaging/requirements.pyo
Index: pkgsrc/devel/py-pip/distinfo
diff -u pkgsrc/devel/py-pip/distinfo:1.72 pkgsrc/devel/py-pip/distinfo:1.73
--- pkgsrc/devel/py-pip/distinfo:1.72 Tue Oct 28 09:44:51 2025
+++ pkgsrc/devel/py-pip/distinfo Sun Feb 1 18:15:55 2026
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.72 2025/10/28 09:44:51 adam Exp $
+$NetBSD: distinfo,v 1.73 2026/02/01 18:15:55 wiz Exp $
-BLAKE2s (pip-25.3.tar.gz) = f351e58264cac75217f0bc8e15304c461a1757ce30a8f344687e7e928b6e7db7
-SHA512 (pip-25.3.tar.gz) = aca54dc7daaba195ba5873e24296242d935a225ed5f4d2e0da672d68573a48650a5028d42051a7a61170de335f122ffb8f97faafc3ad86c488f8bdac3b8bbe1d
-Size (pip-25.3.tar.gz) = 1803014 bytes
-SHA1 (patch-src_pip___internal_build__env.py) = 3dea9cb08de0d425b14115ee5fe57f18331c1e93
+BLAKE2s (pip-26.0.tar.gz) = 1150d7306d2059cb4ca66edfff2d43e3499e6df0a12734ff86f41b1717d8abd2
+SHA512 (pip-26.0.tar.gz) = 00097de18ae8f80e4093752687a0eeadcc1fd4ba7e3ea8e78a18fffc72f85e679d60399d9117ba889750ce804ae05464bedc09ff87eae13d68c64c507fc7e759
+Size (pip-26.0.tar.gz) = 1812654 bytes
+SHA1 (patch-src_pip___internal_build__env.py) = b154cb3557521fa35f238a5706f1e9ac46fb0420
SHA1 (patch-src_pip___internal_commands_install.py) = 2f78c5af7c677d052a2275488dcda2f7b86c6e51
SHA1 (patch-src_pip___internal_operations_install_wheel.py) = c9573b09f697713e2666680e0884ec6156350dc3
SHA1 (patch-src_pip___internal_req_____init____.py) = 2bd5e0d18493b25bbd8dc533ffa3189e3e4038ba
Index: pkgsrc/devel/py-pip/patches/patch-src_pip___internal_build__env.py
diff -u pkgsrc/devel/py-pip/patches/patch-src_pip___internal_build__env.py:1.8 pkgsrc/devel/py-pip/patches/patch-src_pip___internal_build__env.py:1.9
--- pkgsrc/devel/py-pip/patches/patch-src_pip___internal_build__env.py:1.8 Tue Oct 28 09:44:51 2025
+++ pkgsrc/devel/py-pip/patches/patch-src_pip___internal_build__env.py Sun Feb 1 18:15:55 2026
@@ -1,20 +1,20 @@
-$NetBSD: patch-src_pip___internal_build__env.py,v 1.8 2025/10/28 09:44:51 adam Exp $
+$NetBSD: patch-src_pip___internal_build__env.py,v 1.9 2026/02/01 18:15:55 wiz Exp $
Copy distutils distro config file to overlay.
https://github.com/pypa/pip/issues/10949
---- src/pip/_internal/build_env.py.orig 2025-10-25 00:06:22.000000000 +0000
+--- src/pip/_internal/build_env.py.orig 2026-01-31 01:15:05.000000000 +0000
+++ src/pip/_internal/build_env.py
-@@ -10,6 +10,8 @@ import sys
+@@ -10,6 +10,8 @@ from collections.abc import Iterable, Sequence
import textwrap
from collections import OrderedDict
- from collections.abc import Iterable
+ from collections.abc import Iterable, Sequence
+from shutil import copy
+from sysconfig import get_paths
- from types import TracebackType
- from typing import TYPE_CHECKING, Protocol, TypedDict
-
-@@ -271,6 +273,9 @@ class BuildEnvironment:
+ from contextlib import AbstractContextManager as ContextManager
+ from contextlib import nullcontext
+ from io import StringIO
+@@ -460,6 +462,9 @@ class BuildEnvironment:
self._site_dir = os.path.join(temp_dir.path, "site")
if not os.path.exists(self._site_dir):
os.mkdir(self._site_dir)