projects/aports·blob master · refs

112 lines · 2.5 KiB

1maintainer="Lauri Tirkkonen <[email protected]>"
2pkgname=python3-extra
3pkgver=3.14.8
4_basever="${pkgver%.*}"
5pkgrel=0
6pkgdesc="Python stdlib extension modules from Python upstream"
7url="https://www.python.org/"
8arch="all"
9license="PSF-2.0"
10options="!check"
11subpackages="
12 python3-gdbm:_gdbm
13 python3-ndbm:_ndbm
14 python3-tkinter:_tkinter
15 python3-uuid:_uuid
16 python3-zstd:_zstd
17"
18makedepends="
19 python3~$pkgver
20 gdbm-dev
21 libuuid
22 util-linux-dev
23 tcl-dev
24 tk-dev
25 zstd-dev
26"
27source="
28 https://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz
29"
30builddir="$srcdir/Python-$pkgver"
31
32prepare() {
33 local _pyapkbuild="$startdir"/../../main/python3/APKBUILD
34 if [ -e "$_pyapkbuild" ]; then
35 _pver=$(
36 . "$_pyapkbuild"
37 echo $pkgver
38 )
39 if [ "$_pver" != "$pkgver" ]; then
40 error "python version mismatch ($_pver). Set pkgver=$_pver"
41 return 1
42 fi
43 fi
44 default_prepare
45}
46
47build() {
48 # use Modules/Setup.local to disable everything that already exists in
49 # python3
50 echo "*disabled*" >Modules/Setup.local
51 apk info -L python3 | awk -F/ '/usr\/lib\/python'$_basever'\/lib-dynload\// { sub("[.].*", "", $NF); print $NF; }' >>Modules/Setup.local
52
53 ./configure \
54 --build=$CBUILD \
55 --host=$CHOST \
56 --prefix=/usr \
57 --with-build-python=/usr/bin/python$_basever \
58 --enable-optimizations \
59 --disable-shared \
60 --without-static-libpython \
61 --with-lto \
62 --with-dbmliborder=gdbm:ndbm \
63 --with-computed-gotos
64
65 make PYTHON_FOR_BUILD_DEPS= sharedmods
66}
67
68package() {
69 # python3-extra should install all its subpackages
70 depends=""
71 for i in $subpackages; do
72 depends="$depends ${i%%:*}=$pkgver-r$pkgrel"
73 done
74
75 local dynlibdir="$pkgdir"/usr/lib/python$_basever/lib-dynload
76 install -dm0755 "$dynlibdir" "$pkgdir"/usr/bin
77 install -m0755 "$builddir"/Modules/_*.so "$dynlibdir"/
78}
79
80_gdbm() {
81 pkgdesc="Python backend for GNU gdbm"
82
83 amove usr/lib/python3*/lib-dynload/_gdbm.cpython*
84}
85
86_ndbm() {
87 pkgdesc="Python stdlib extension module _dbm (dbm.ndbm)"
88
89 amove usr/lib/python3*/lib-dynload/_dbm.cpython*
90}
91
92_zstd() {
93 pkgdesc="Python stdlib extension module _zstd"
94
95 amove usr/lib/python$_basever/lib-dynload/_zstd*.so
96}
97
98_uuid() {
99 pkgdesc="Python stdlib extension module _uuid"
100
101 amove usr/lib/python$_basever/lib-dynload/_uuid*.so
102}
103
104_tkinter() {
105 pkgdesc="A graphical user interface for the Python programming language"
106
107 amove usr/lib/python$_basever/lib-dynload/_tkinter*.so
108}
109
110sha512sums="
111f9e6809b0c45d90fcc174b8051e15058a3037981c9136c598d110a118a22cbbb8263fbd677e07b2b9d93e1aa83cd9cb835b61b6af898fd301d1080a29c2156fe Python-3.14.8.tar.xz
112"