# Maintainer: Natanael Copa pkgname=python pkgver=2.7.11 _verbase=${pkgver%.*} pkgrel=5 pkgdesc="A high-level scripting language" url="http://www.python.org" arch="all" license="custom" replaces="python-dev" subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-tests py-gdbm:gdbm" depends="" makedepends="expat-dev openssl-dev zlib-dev ncurses-dev bzip2-dev gdbm-dev sqlite-dev libffi-dev readline-dev linux-headers paxmark" source="http://www.$pkgname.org/ftp/$pkgname/$pkgver/Python-$pkgver.tar.xz musl-find_library.patch unchecked-ioctl.patch" prepare() { cd "$srcdir/Python-$pkgver" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1 esac done # Make sure we use system libs rm -r Modules/expat Modules/_ctypes/libffi* Modules/zlib || return 1 # make sure our /dev/shm is world writeable if ! touch /dev/shm/$pkgname-$pkgver; then error "/dev/shm is not world writeable. this will cause a broken python build" return 1 fi rm /dev/shm/$pkgname-$pkgver } build() { cd "$srcdir/Python-$pkgver" 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 \ || return 1 make || return 1 } package() { cd "$srcdir/Python-$pkgver" make -j1 DESTDIR="$pkgdir" install || return 1 install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE rm "$pkgdir/usr/bin/2to3" || return 1 # we need to enable emutramp - needed for virt-manager # disable mprotect - needed for cffi paxmark -zm "$pkgdir"/usr/bin/python$_verbase || return 1 } _mv_files() { local i for i in "$@"; do mkdir -p "$subpkgdir"/${i%/*} mv "$pkgdir"/$i "$subpkgdir"/$i || return 1 done } 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/ } tests() { pkgdesc="The test modules from the main python package" cd "$pkgdir" _mv_files usr/lib/python*/*/test \ usr/lib/python*/test } gdbm() { pkgdesc="GNU dbm database support for Python" cd "$pkgdir" _mv_files $(find usr/lib -name '*gdbm*') } md5sums="1dbcc848b4cd8399a8199d000f9f823c Python-2.7.11.tar.xz e2ea88671f8f838142323aedc417be48 musl-find_library.patch dada786a50fa332686a9b9260d84c110 unchecked-ioctl.patch" sha256sums="962b4c45af50124ea61f11a30deb4342fc0bc21126790fa1d7f6c79809413f46 Python-2.7.11.tar.xz 5a2ec65881816a80de25530a274aa3998684e02d82cff6565c08405df11983c0 musl-find_library.patch f9d37609bab83d9ffff96ec9a33e16568cfb14980d389f7fe34a1c837397e359 unchecked-ioctl.patch" sha512sums="72166763a2fe6aab45ecf378f55a1efc7322d1742c4638bae84f4ed4b9fb4c01f2a0293733c64426ae2c70df24d95ff2b1e2a4f3c2715de00d8f320d4d939ea0 Python-2.7.11.tar.xz dbc1538d519997175ca24c8fcb94aa20924a9be3065a44fd7693ea7eb3642f681ea0b337b72074e17baf19966b7ee6dbac1081d40e2fdc11e30b6b8a6eeb577e musl-find_library.patch 5a8e013a4132d71c4360771f130d27b37275ae59330cf9a75378dc8a11236017f540eb224f2a148984e82ca3fb6b29129375b1080ba05b81044faa717520ab82 unchecked-ioctl.patch"