maintainer="Lauri Tirkkonen " pkgname=python3-extra pkgver=3.14.8 _basever="${pkgver%.*}" pkgrel=0 pkgdesc="Python stdlib extension modules from Python upstream" url="https://www.python.org/" arch="all" license="PSF-2.0" options="!check" subpackages=" python3-gdbm:_gdbm python3-ndbm:_ndbm python3-tkinter:_tkinter python3-uuid:_uuid python3-zstd:_zstd " makedepends=" python3~$pkgver gdbm-dev libuuid util-linux-dev tcl-dev tk-dev zstd-dev " source=" https://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz " builddir="$srcdir/Python-$pkgver" prepare() { local _pyapkbuild="$startdir"/../../main/python3/APKBUILD if [ -e "$_pyapkbuild" ]; then _pver=$( . "$_pyapkbuild" echo $pkgver ) if [ "$_pver" != "$pkgver" ]; then error "python version mismatch ($_pver). Set pkgver=$_pver" return 1 fi fi default_prepare } build() { # use Modules/Setup.local to disable everything that already exists in # python3 echo "*disabled*" >Modules/Setup.local apk info -L python3 | awk -F/ '/usr\/lib\/python'$_basever'\/lib-dynload\// { sub("[.].*", "", $NF); print $NF; }' >>Modules/Setup.local ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --with-build-python=/usr/bin/python$_basever \ --enable-optimizations \ --disable-shared \ --without-static-libpython \ --with-lto \ --with-dbmliborder=gdbm:ndbm \ --with-computed-gotos make PYTHON_FOR_BUILD_DEPS= sharedmods } package() { # python3-extra should install all its subpackages depends="" for i in $subpackages; do depends="$depends ${i%%:*}=$pkgver-r$pkgrel" done local dynlibdir="$pkgdir"/usr/lib/python$_basever/lib-dynload install -dm0755 "$dynlibdir" "$pkgdir"/usr/bin install -m0755 "$builddir"/Modules/_*.so "$dynlibdir"/ } _gdbm() { pkgdesc="Python backend for GNU gdbm" amove usr/lib/python3*/lib-dynload/_gdbm.cpython* } _ndbm() { pkgdesc="Python stdlib extension module _dbm (dbm.ndbm)" amove usr/lib/python3*/lib-dynload/_dbm.cpython* } _zstd() { pkgdesc="Python stdlib extension module _zstd" amove usr/lib/python$_basever/lib-dynload/_zstd*.so } _uuid() { pkgdesc="Python stdlib extension module _uuid" amove usr/lib/python$_basever/lib-dynload/_uuid*.so } _tkinter() { pkgdesc="A graphical user interface for the Python programming language" amove usr/lib/python$_basever/lib-dynload/_tkinter*.so } sha512sums=" f9e6809b0c45d90fcc174b8051e15058a3037981c9136c598d110a118a22cbbb8263fbd677e07b2b9d93e1aa83cd9cb835b61b6af898fd301d1080a29c2156fe Python-3.14.8.tar.xz "