This repository has been archived by the owner on May 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 247
/
PKGBUILD
94 lines (81 loc) · 5.18 KB
/
PKGBUILD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Maintainer: Dan McGee <[email protected]>
# Contributor: Eli Schwartz <[email protected]>
# Contributor: Sebastien Binet <binet@lblbox>
pkgname=python-pip
pkgver=21.0
pkgrel=1
pkgdesc="The PyPA recommended tool for installing Python packages"
url="https://pip.pypa.io/"
arch=('any')
license=('MIT')
_deps=('appdirs' 'cachecontrol' 'colorama' 'contextlib2' 'distlib' 'distro' 'html5lib'
'packaging' 'pep517' 'progress' 'requests' 'retrying' 'resolvelib' 'setuptools' 'six' 'toml'
# add these until https://github.com/pypa/pip/issues/5354#issuecomment-672678167 is resolved
'pyopenssl')
depends=("${_deps[@]/#/python-}")
makedepends=("${_deps[@]/#/python-}" 'python-sphinx'
'python-sphinx-inline-tabs' 'python-sphinxcontrib-towncrier')
checkdepends=('python-pytest-runner' 'python-scripttest' 'python-virtualenv' 'python-pretend'
'python-yaml' 'python-mock' 'python-freezegun' 'python-cryptography' 'python-pip'
'python-wheel' 'python-werkzeug' 'python-csv23' 'git' 'subversion')
source=("pip-${pkgver}.tar.gz::https://github.com/pypa/pip/archive/${pkgver}.tar.gz"
resolvelib-0.5.5.patch)
sha512sums=('ac77a7204423f1fdc3a4d328dab1860258efccde0123cff3217f357637c4ce3d85772ab81a230122ff813be2cfa40f2862e5d499390289efe1dcde3a31a42264'
'f339a20e965c583c1dc741d9fff90749aab049d591f0ac974e2187d4f41842661802b96266e8e35454b65d61d65c337a770d58b81119af07483fde0eda48001b')
shopt -s extglob
prepare() {
cd pip-$pkgver
# Backported from:
# https://github.com/pypa/pip/commit/0d39ae9734d054c25e48e2da7ddb76545e5de330
patch -p1 -i ../resolvelib-0.5.5.patch
# Remove certifi usage
sed -i 's|from pip._vendor.certifi import where|where = lambda: "/etc/ssl/certs/ca-certificates.crt"|' src/pip/_internal/commands/debug.py
rm -rf src/pip/_vendor/!(__init__.py)
sed -i -e 's/DEBUNDLED = False/DEBUNDLED = True/' \
src/pip/_vendor/__init__.py
}
build() {
cd pip-$pkgver
python setup.py build
cd docs/
PYTHONPATH="$srcdir/pip-$pkgver/src/" python pip_sphinxext.py
PYTHONPATH="$srcdir/pip-$pkgver/src/" sphinx-build -W -b man -d build/doctrees/man man build/man -c html
mkdir -p build/man-pip2
cd build/man
for manfile in *; do
sed 's/pip/pip2/g;s/PIP/PIP2/g' $manfile > ../man-pip2/${manfile/pip/pip2}
done
}
check() {
cd "$srcdir"/pip-$pkgver
pip wheel -w tests/data/common_wheels -r tools/requirements/tests-common_wheels.txt
python setup.py install --root="$PWD/tmp_install" --optimize=1
# appdirs: https://github.com/pypa/pip/issues/7784
# build_env: TODO weird looking errors
# virtualenv: https://github.com/pypa/pip/issues/8273
PYTHONPATH="$PWD/tmp_install/usr/lib/python3.10/site-packages" PATH="$PWD/tmp_install/usr/bin:$PATH" \
python -m pytest -m unit --junit-xml=junit/unit-test.xml --deselect tests/unit/test_appdirs.py::TestSiteConfigDirs::test_site_config_dirs_linux \
--deselect tests/unit/test_appdirs.py::TestSiteConfigDirs::test_site_config_dirs_linux_override \
--deselect tests/unit/test_appdirs.py::TestSiteConfigDirs::test_site_config_dirs_linux_empty \
--deselect tests/unit/test_appdirs.py::TestUserDataDir::test_user_data_dir_osx \
--deselect tests/unit/test_appdirs.py::TestUserConfigDir::test_user_config_dir_osx \
--deselect tests/unit/test_build_env.py::test_build_env_requirements_check \
--deselect tests/unit/test_build_env.py::test_build_env_overlay_prefix_has_priority \
--deselect tests/unit/test_build_env.py::test_build_env_isolation \
--deselect tests/unit/test_build_env.py::test_build_env_allow_only_one_install \
--deselect tests/unit/test_direct_url_helpers.py::test_from_link_vcs_with_source_dir_obtains_commit_id \
--deselect tests/unit/test_direct_url_helpers.py::test_from_link_vcs_without_source_dir \
--deselect tests/unit/test_wheel_builder.py::test_should_cache_git_sha \
--deselect tests/unit/resolution_resolvelib/test_requirement.py::test_new_resolver_full_resolve
}
package() {
cd pip-$pkgver
python setup.py install --prefix=/usr --root="$pkgdir"
install -D -m644 LICENSE.txt \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm644 -t "$pkgdir"/usr/share/man/man1 docs/build/man/*
PYTHONPATH="$pkgdir"/usr/lib/python3.10/site-packages "$pkgdir"/usr/bin/pip completion --bash \
| install -Dm644 /dev/stdin "$pkgdir"/usr/share/bash-completion/completions/pip
PYTHONPATH="$pkgdir"/usr/lib/python3.10/site-packages "$pkgdir"/usr/bin/pip completion --fish \
| install -Dm644 /dev/stdin "$pkgdir"/usr/share/fish/vendor_completions.d/pip.fish
}