blob: 4735d242007c0a950b7bc2334d5cd326e30be055 (
plain)
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
# Maintainer: Caleb Maclennana <caleb@alerque.com>
# Contributor: Eli Schwartz <eschwartz@archlinux.org>
_pyname=dephell
pkgname=python-dephell
pkgver=0.8.3
pkgrel=7
pkgdesc='universal Python project management: convert between formats, build, manage venvs'
arch=(any)
url="https://github.com/dephell/$_pyname"
license=('ISC')
_dhdeps=(archive
argparse
changelogs
discover
licenses
links markers
pythons
setuptools
shells
specifier
venvs
versioning)
_pydeps=(aiohttp
appdirs
attrs
bowler
cerberus
colorama
"${_dhdeps[@]/#/dephell-}"
html5lib
jinja
m2r
packaging
pip
pygments
requests
ruamel-yaml
tabulate
tomlkit
yaspin)
depends=("${_pydeps[@]/#/python-}")
checkdepends=(git python-pytest python-aioresponses python-requests-mock
python-moreorless)
optdepends=('python-aiofiles: speed up file writes for files downloaded from warehouse'
'python-docker: for the docker subcommand'
'python-dockerpty: for the docker subcommand'
'python-gnupg: for the package verify subcommand'
'python-graphviz: print deps tree as a graph'
'autopep8: make setup.py converter produce formatted pep8 output'
'yapf: make setup.py converter produce google yapf-formatted output')
_archive="$_pyname-$pkgver"
source=("https://files.pythonhosted.org/packages/source/${_pyname:0:1}/${_pyname}/$_archive.tar.gz"
'new-pip-parser-api.patch'
'0001-Do-not-override-the-system-SSL-certificates-with-the.patch')
sha256sums=('a9fcc528a0c6f9f5d721292bdf846e5338e4dca7cd6fef1551fbe71564dfe61e'
'85ac9db84375d9063fae8cbc91ad7cbcec5b0da8cfe800ed400bcc92f0412934'
'acbe38854daef23a6cb752bfa98323ae5c7f85cca8562cb070d59e11e05991b0')
b2sums=('7ab8e2022134ff11a39476e121388e627b434b5568bd39879f60a9f14cb27cfee153d27df880fd755c5ab0b0c44fa960a9330df4d2bb15c55b03ffaaa600cbf2'
'f6f32fbddb21fb263541f6025b9bd111354f39ad2624fa1830d962f40915948bf2bfcc678b9cc2332b3eae7da7d94555a693e5295507004ba2674831854c60a2'
'b69a0f264700c93144adddf86ee133ca15a5e373dc077bc9d24010cce6238a779435e48cab41bf47b72482c357e790ac9bafeafb89b85a36c29769601300a2cf')
prepare() {
cd "$_archive"
# https://github.com/dephell/dephell/pull/473
patch -Np1 -i ../new-pip-parser-api.patch
# bad certifi
patch -p1 -i ../0001-Do-not-override-the-system-SSL-certificates-with-the.patch
# don't lock pip version to below pip 20:
# https://github.com/dephell/dephell/pull/363#issuecomment-606150965
# because https://github.com/pypa/pip/issues/7629 seems insufficient
# to hold up non-PyPY platforms :/
sed -i 's/pip<=19.3.1,>=18.0/pip/' setup.py
}
build(){
cd "$_archive"
python setup.py build
}
check() {
cd "$_archive"
# skip git tests, which rely on being run from dephell's own git repo
# skip doc test, which tests whether html docs not in the tarball, cover all commands
python -m pytest \
-k 'not test_git_git and not test_docs' \
--no-network \
--deselect tests/test_actions/test_entrypoints.py::test_smoke_get_entrypoints \
--deselect tests/test_commands/test_vendor_import.py::test_patch_imports
}
package() {
cd "$_archive"
python setup.py install --root="$pkgdir" --optimize=1 --skip-build
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
# make shell completions
python -c 'from dephell.actions._autocomplete import make_bash_autocomplete as comp; print(comp())' |
install -Dm0644 /dev/stdin "$pkgdir/usr/share/bash-completion/completions/$_pyname"
# rewrite zsh completion to support autoloading
{ printf '#compdef dephell\n'
python -c 'from dephell.actions._autocomplete import make_zsh_autocomplete as comp; print(comp())' |
sed 's/^compdef _dephell dephell$/_dephell/'
} | install -Dm0644 /dev/stdin "$pkgdir/usr/share/zsh/site-functions/_$_pyname"
}
|