|
|
|
%global srcname pip
|
|
|
|
%global base_version 23.0.1
|
|
|
|
%global upstream_version %{base_version}%{?prerel}
|
|
|
|
%global python_wheel_name %{srcname}-%{upstream_version}-py3-none-any.whl
|
|
|
|
%global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null)
|
|
|
|
|
|
|
|
Name: python2-%{srcname}
|
|
|
|
Version: %{base_version}%{?prerel:~%{prerel}}
|
|
|
|
Release: 1%{?dist}
|
|
|
|
Summary: A tool for installing and managing Python packages
|
|
|
|
License: MIT AND Python-2.0.1 AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND LGPL-2.1-only AND MPL-2.0 AND (Apache-2.0 OR BSD-2-Clause)
|
|
|
|
URL: https://pip.pypa.io/
|
|
|
|
Source0: https://github.com/pypa/pip/archive/%{upstream_version}/%{srcname}-%{upstream_version}.tar.gz
|
|
|
|
BuildArch: noarch
|
|
|
|
Patch: remove-existing-dist-only-if-path-conflicts.patch
|
|
|
|
Patch: dummy-certifi.patch
|
|
|
|
Patch: nowarn-pip._internal.main.patch
|
|
|
|
Patch: no-version-warning.patch
|
|
|
|
Patch: https://github.com/pypa/pip/pull/11883.patch
|
|
|
|
Patch: https://github.com/pypa/pip/pull/11904.patch
|
|
|
|
Source10: pip-allow-different-versions.patch
|
|
|
|
BuildRequires: python2-devel
|
|
|
|
BuildRequires: python2-rpm-generators
|
|
|
|
BuildRequires: python2-setuptools
|
|
|
|
BuildRequires: bash-completion
|
|
|
|
BuildRequires: python2-wheel
|
|
|
|
BuildRequires: ca-certificates
|
|
|
|
Requires: ca-certificates
|
|
|
|
Recommends: python2-setuptools
|
|
|
|
Provides: pip = %{version}-%{release}
|
|
|
|
Conflicts: python2-pip < %{version}-%{release}
|
|
|
|
Requires: python2-libs >= 2.7
|
|
|
|
Recommends: (libcrypt.so.1()(64bit) if python%{1}(x86-64))
|
|
|
|
Recommends: (libcrypt.so.1 if python%{1}(x86-32))
|
|
|
|
Provides: bundled(python%{1}dist(cachecontrol)) = 0.12.11
|
|
|
|
Provides: bundled(python%{1}dist(certifi)) = 2022.12.7
|
|
|
|
Provides: bundled(python%{1}dist(chardet)) = 5.1
|
|
|
|
Provides: bundled(python%{1}dist(colorama)) = 0.4.6
|
|
|
|
Provides: bundled(python%{1}dist(distlib)) = 0.3.6
|
|
|
|
Provides: bundled(python%{1}dist(distro)) = 1.8
|
|
|
|
Provides: bundled(python%{1}dist(idna)) = 3.4
|
|
|
|
Provides: bundled(python%{1}dist(msgpack)) = 1.0.4
|
|
|
|
Provides: bundled(python%{1}dist(packaging)) = 21.3
|
|
|
|
Provides: bundled(python%{1}dist(platformdirs)) = 2.6.2
|
|
|
|
Provides: bundled(python%{1}dist(pygments)) = 2.13
|
|
|
|
Provides: bundled(python%{1}dist(pyparsing)) = 3.0.9
|
|
|
|
Provides: bundled(python%{1}dist(pyproject-hooks)) = 1
|
|
|
|
Provides: bundled(python%{1}dist(requests)) = 2.28.2
|
|
|
|
Provides: bundled(python%{1}dist(resolvelib)) = 0.8.1
|
|
|
|
Provides: bundled(python%{1}dist(rich)) = 12.6
|
|
|
|
Provides: bundled(python%{1}dist(setuptools)) = 44
|
|
|
|
Provides: bundled(python%{1}dist(six)) = 1.16
|
|
|
|
Provides: bundled(python%{1}dist(tenacity)) = 8.1
|
|
|
|
Provides: bundled(python%{1}dist(tomli)) = 2.0.1
|
|
|
|
Provides: bundled(python%{1}dist(typing-extensions)) = 4.4
|
|
|
|
Provides: bundled(python%{1}dist(urllib3)) = 1.26.14
|
|
|
|
Provides: bundled(python%{1}dist(webencodings)) = 0.5.1
|
|
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
pip is a package management system used to install and manage software packages
|
|
|
|
written in Python. Many packages can be found in the Python Package Index
|
|
|
|
(PyPI). pip is a recursive acronym that can stand for either "Pip Installs
|
|
|
|
Packages" or "Pip Installs Python".
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%autosetup -p1 -n %{srcname}-%{upstream_version}
|
|
|
|
# this goes together with patch4
|
|
|
|
rm src/pip/_vendor/certifi/*.pem
|
|
|
|
# Do not use furo as HTML theme in docs
|
|
|
|
# furo is not available in Fedora
|
|
|
|
sed -i '/html_theme = "furo"/d' docs/html/conf.py
|
|
|
|
# towncrier extension for Sphinx is not yet available in Fedora
|
|
|
|
sed -i '/"sphinxcontrib.towncrier",/d' docs/html/conf.py
|
|
|
|
# tests expect wheels in here
|
|
|
|
ln -s %{python_wheel_dir} tests/data/common_wheels
|
|
|
|
# Remove windows executable binaries
|
|
|
|
rm -v src/pip/_vendor/distlib/*.exe
|
|
|
|
sed -i '/\.exe/d' setup.py
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
%py2_build_wheel
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
%{python2} dist/%{python_wheel_name}/pip install \
|
|
|
|
--root %{buildroot} \
|
|
|
|
--no-deps \
|
|
|
|
--disable-pip-version-check \
|
|
|
|
--progress-bar off \
|
|
|
|
--verbose \
|
|
|
|
--ignore-installed \
|
|
|
|
--no-warn-script-location \
|
|
|
|
--no-index \
|
|
|
|
--no-cache-dir \
|
|
|
|
--find-links dist \
|
|
|
|
'pip==%{upstream_version}'
|
|
|
|
|
|
|
|
for PIP in %{buildroot}%{_bindir}/pip*; do
|
|
|
|
patch -p1 --no-backup-if-mismatch $PIP < %{SOURCE10}
|
|
|
|
done
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}%{bashcompdir}
|
|
|
|
PYTHONPATH=%{buildroot}%{python3_sitelib} \
|
|
|
|
%{buildroot}%{_bindir}/pip completion --bash \
|
|
|
|
> %{buildroot}%{bashcompdir}/pip3
|
|
|
|
|
|
|
|
sed -i -e "s/^\\(complete.*\\) pip\$/\\1 pip pip{,-}{3,%{python3_version}}/" \
|
|
|
|
-e s/_pip_completion/_pip3_completion/ \
|
|
|
|
%{buildroot}%{bashcompdir}/pip3
|
|
|
|
|
|
|
|
ln -s ./pip2 %{buildroot}%{_bindir}/pip-2
|
|
|
|
ln -s ./pip-2 %{buildroot}%{_bindir}/pip-2
|
|
|
|
|
|
|
|
|
|
|
|
# Make sure the INSTALLER is not pip and remove RECORD
|
|
|
|
# %%pyproject macros do this for all packages
|
|
|
|
echo rpm > %{buildroot}%{python3_sitelib}/pip-%{upstream_version}.dist-info/INSTALLER
|
|
|
|
rm %{buildroot}%{python3_sitelib}/pip-%{upstream_version}.dist-info/RECORD
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}%{python_wheel_dir}
|
|
|
|
install -p dist/%{python_wheel_name} -t %{buildroot}%{python_wheel_dir}
|
|
|
|
|
|
|
|
|
|
|
|
%files -n python2-%{srcname}
|
|
|
|
%doc README.rst
|
|
|
|
%license %{python3_sitelib}/pip-%{upstream_version}.dist-info/LICENSE.txt
|
|
|
|
%{_bindir}/pip
|
|
|
|
%{_bindir}/pip2
|
|
|
|
%{_bindir}/pip-2
|
|
|
|
%{_bindir}/pip2.7
|
|
|
|
%{_bindir}/pip-2.7
|
|
|
|
%{python2_sitelib}/pip*
|
|
|
|
%dir %{bashcompdir}
|
|
|
|
%{bashcompdir}/pip2
|
|
|
|
|
|
|
|
|
|
|
|
%files -n %{python_wheel_pkg_prefix}-%{srcname}-wheel
|
|
|
|
%license LICENSE.txt
|
|
|
|
# we own the dir for simplicity
|
|
|
|
%dir %{python_wheel_dir}/
|
|
|
|
%{python_wheel_dir}/%{python_wheel_name}
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|