# Maintainer: Ɓukasz Jendrysik # Contributor: Kiyoshi Aman pkgname=python3-tkinter pkgver=3.6.3 _basever="${pkgver%.*}" pkgrel=1 pkgdesc="A graphical user interface for the Python" url="https://wiki.python.org/moin/TkInter" arch="all" license="custom" replaces=python3 subpackages="$pkgname-tests python3-idle:_idle" makedepends="expat-dev libressl-dev zlib-dev ncurses-dev bzip2-dev xz-dev sqlite-dev libffi-dev tcl-dev linux-headers gdbm-dev readline-dev tk tk-dev python3" source="http://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz musl-find_library.patch fix-xattrs-glibc.patch bpo-30353.patch " builddir="$srcdir/Python-$pkgver" prepare() { local _pyapkbuild="$startdir"/../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 cd "$builddir" # force system libs rm -r Modules/expat \ Modules/zlib \ Modules/_ctypes/darwin* \ Modules/_ctypes/libffi* } build() { cd "$builddir" # --enable-optimizations is not enabled because it # is very, very slow as many tests are ran sequentially # for profile guided optimizations. additionally it # seems some of the training tests hang on certain # e.g. architectures (x86) possibly due to grsec or musl. ./configure \ --prefix=/usr \ --disable-rpath \ --enable-ipv6 \ --enable-loadable-sqlite-extensions \ --enable-shared \ --with-lto \ --with-computed-gotos \ --with-dbmliborder=gdbm:ndbm \ --with-system-expat \ --with-system-ffi \ --with-threads make EXTRA_CFLAGS="$CFLAGS" } package() { cd "$builddir" # we only care about idle, and tkinter make DESTDIR="$builddir"/tmpinstall sharedinstall libinstall \ || return 1 mkdir -p "$pkgdir"/usr/lib/python${_basever}/lib-dynload \ "$pkgdir"/usr/bin for lib in idlelib tkinter; do mv "$builddir"/tmpinstall/usr/lib/python${_basever}/$lib \ "$pkgdir"/usr/lib/python${_basever}/ done mv "$builddir"/tmpinstall/usr/lib/python${_basever}/lib-dynload/_tkinter*.so \ "$pkgdir"/usr/lib/python${_basever}/lib-dynload/ mv "$builddir"/tmpinstall/usr/bin/idle* \ "$pkgdir"/usr/bin/ } _mv_files() { local i for i in "$@"; do mkdir -p "$subpkgdir"/${i%/*} mv "$pkgdir"/$i "$subpkgdir"/$i done } tests() { pkgdesc="The test modules from the main python package for tkinter" replaces="python3-tests" cd "$pkgdir" _mv_files usr/lib/python*/*/*_test \ usr/lib/python3.6/tkinter/test } _idle() { pkgdesc="IDE for Python3 using Tkinter" depends="$pkgname=$pkgver-r$pkgrel" replaces=python3 cd "$pkgdir" _mv_files usr/bin _mv_files usr/lib/python*/idlelib } sha512sums="32f24a3adcb7880003c7ecdc5e53e838e774adda76b308961d8215e28db630b2fa2828097817924c76afa4212b2df3362eb64d4e10f37c0147f512ec5aa8662b Python-3.6.3.tar.xz ab8eaa2858d5109049b1f9f553198d40e0ef8d78211ad6455f7b491af525bffb16738fed60fc84e960c4889568d25753b9e4a1494834fea48291b33f07000ec2 musl-find_library.patch 37b6ee5d0d5de43799316aa111423ba5a666c17dc7f81b04c330f59c1d1565540eac4c585abe2199bbed52ebe7426001edb1c53bd0a17486a2a8e052d0f494ad fix-xattrs-glibc.patch df54032e66171483aad24f9f370e185072dcb2d6981210a8dd79b5fa51c2c7aa64da2501aa96bb5009bfb658387851068bc82f23c515f739672722495c2c98dd bpo-30353.patch"