# Maintainer: # Contributor: Kiyoshi Aman pkgname=python3-tkinter pkgver=3.6.8 _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 openssl-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="https://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz CVE-2019-5010.patch musl-find_library.patch fix-xattrs-glibc.patch " builddir="$srcdir/Python-$pkgver" # secfixes: # 3.6.8-r1: # - CVE-2019-5010 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="b17867e451ebe662f50df83ed112d3656c089e7d750651ea640052b01b713b58e66aac9e082f71fd16f5b5510bc9b797f5ccd30f5399581e9aa406197f02938a Python-3.6.8.tar.xz 7859fe12e393995f66f42e38f01ff29abef5f64301747a02d8e49a990ce4e7f529cf2a3420c76bd5f9df09905e64a4e0451a2103c061dde5f99166e7fc370715 CVE-2019-5010.patch ab8eaa2858d5109049b1f9f553198d40e0ef8d78211ad6455f7b491af525bffb16738fed60fc84e960c4889568d25753b9e4a1494834fea48291b33f07000ec2 musl-find_library.patch 37b6ee5d0d5de43799316aa111423ba5a666c17dc7f81b04c330f59c1d1565540eac4c585abe2199bbed52ebe7426001edb1c53bd0a17486a2a8e052d0f494ad fix-xattrs-glibc.patch"