# Maintainer: Natanael Copa setvar pkgname = 'python2' # the python2-tkinter's pkgver needs to be synchronized with this. setvar pkgver = '2.7.14' setvar _verbase = ${pkgver%.*} setvar pkgrel = '0' setvar pkgdesc = ""A high-level scripting language"" setvar url = ""http://www.python.org"" setvar arch = ""all"" setvar license = ""custom"" setvar provides = ""python=$pkgver-r$pkgrel"" setvar replaces = ""python"" setvar subpackages = ""$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-tests py-gdbm:gdbm"" setvar depends = """" setvar makedepends = ""expat-dev libressl-dev zlib-dev ncurses-dev bzip2-dev gdbm-dev sqlite-dev libffi-dev readline-dev linux-headers paxmark"" setvar source = ""http://www.python.org/ftp/python/$pkgver/Python-$pkgver.tar.xz musl-find_library.patch unchecked-ioctl.patch"" setvar builddir = ""$srcdir/Python-$pkgver"" proc prepare { default_prepare # Make sure we use system libs rm -r Modules/expat Modules/_ctypes/libffi* Modules/zlib # make sure our /dev/shm is world writeable if ! touch /dev/shm/$pkgname-$pkgver { error "/dev/shm is not world writeable. this will cause a broken python2 build" return 1 } rm /dev/shm/$pkgname-$pkgver } proc build { cd $builddir export OPT="$CFLAGS" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --enable-shared \ --with-threads \ --enable-ipv6 \ --with-system-ffi \ --with-system-expat \ --with-system-zlib \ --enable-unicode=ucs4 make } proc package { cd $builddir make -j1 DESTDIR="$pkgdir" install install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE rm "$pkgdir/usr/bin/2to3" # we need to enable emutramp - needed for virt-manager # disable mprotect - needed for cffi paxmark -zm "$pkgdir"/usr/bin/python$_verbase } proc _mv_files { local i for i in "$@" { mkdir -p "$subpkgdir"/${i%/*} mv "$pkgdir"/$i "$subpkgdir"/$i } } proc dev { setvar provides = ""python-dev=$pkgver-r$pkgrel"" setvar replaces = ""python-dev"" # pyconfig.h is needed runtime so we move it back default_dev mkdir -p "$pkgdir"/usr/include/python$_verbase mv "$subpkgdir"/usr/include/python$_verbase/pyconfig.h \ "$pkgdir"/usr/include/python$_verbase/ } proc tests { setvar pkgdesc = ""The test modules from the main python package"" setvar provides = ""python-tests=$pkgver-r$pkgrel"" setvar replaces = ""python-tests"" cd $pkgdir _mv_files usr/lib/python*/*/test \ usr/lib/python*/test } proc gdbm { setvar pkgdesc = ""GNU dbm database support for Python"" setvar provides = ""python-gdbm=$pkgver-r$pkgrel"" setvar replaces = ""python-gdbm py-gdbm"" cd $pkgdir _mv_files $(find usr/lib -name '*gdbm*') } setvar sha512sums = ""78310b0be6388ffa15f29a80afb9ab3c03a572cb094e9da00cfe391afadb51696e41f592eb658d6a31a2f422fdac8a55214a382cbb8cfb43d4a127d5b35ea7f9 Python-2.7.14.tar.xz ab8eaa2858d5109049b1f9f553198d40e0ef8d78211ad6455f7b491af525bffb16738fed60fc84e960c4889568d25753b9e4a1494834fea48291b33f07000ec2 musl-find_library.patch 5a8e013a4132d71c4360771f130d27b37275ae59330cf9a75378dc8a11236017f540eb224f2a148984e82ca3fb6b29129375b1080ba05b81044faa717520ab82 unchecked-ioctl.patch""