| 1 | maintainer="Lauri Tirkkonen <[email protected]>" |
| 2 | pkgname=python3-extra |
| 3 | pkgver=3.14.8 |
| 4 | _basever="${pkgver%.*}" |
| 5 | pkgrel=0 |
| 6 | pkgdesc="Python stdlib extension modules from Python upstream" |
| 7 | url="https://www.python.org/" |
| 8 | arch="all" |
| 9 | license="PSF-2.0" |
| 10 | options="!check" |
| 11 | subpackages=" |
| 12 | python3-gdbm:_gdbm |
| 13 | python3-ndbm:_ndbm |
| 14 | python3-tkinter:_tkinter |
| 15 | python3-uuid:_uuid |
| 16 | python3-zstd:_zstd |
| 17 | " |
| 18 | makedepends=" |
| 19 | python3~$pkgver |
| 20 | gdbm-dev |
| 21 | libuuid |
| 22 | util-linux-dev |
| 23 | tcl-dev |
| 24 | tk-dev |
| 25 | zstd-dev |
| 26 | " |
| 27 | source=" |
| 28 | https://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz |
| 29 | " |
| 30 | builddir="$srcdir/Python-$pkgver" |
| 31 | |
| 32 | prepare() { |
| 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 | |
| 47 | build() { |
| 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 | |
| 68 | package() { |
| 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 | |
| 110 | sha512sums=" |
| 111 | f9e6809b0c45d90fcc174b8051e15058a3037981c9136c598d110a118a22cbbb8263fbd677e07b2b9d93e1aa83cd9cb835b61b6af898fd301d1080a29c2156fe Python-3.14.8.tar.xz |
| 112 | " |