# This file is part of BlackArch Linux ( https://www.blackarch.org/ ). # See COPYING for license details. # # Old Maintainer: Felix Yan # Old Contributor: Stéphane Gaudreault # Old Contributor: Allan McRae # Old Contributor: Jason Chu pkgname=python2 _pkgname=Python pkgver=2.7.18 pkgrel=9 _pybasever=2.7 pkgdesc='A high-level scripting language.' arch=('x86_64' 'aarch64') license=('PSF') url="https://www.python.org/" depends=('bzip2' 'expat' 'gdbm' 'libffi' 'libnsl' 'openssl' 'sqlite' 'zlib') makedepends=('tk' 'bluez-libs') optdepends=('tk: for IDLE' 'python2-setuptools' 'python2-pip') conflicts=('python<3') source=("https://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz") sha512sums=('a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c') prepare() { cd "$_pkgname-$pkgver" # Temporary workaround for FS#22322 # See http://bugs.python.org/issue10835 for upstream report sed -i "/progname =/s/python/python${_pybasever}/" Python/pythonrun.c # Enable built-in SQLite module to load extensions (fix FS#22122) sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py # FS#23997 sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python2|" Lib/cgi.py sed -i "s/python2.3/python2/g" Lib/distutils/tests/test_build_scripts.py \ Lib/distutils/tests/test_install_scripts.py # Ensure that we are using the system copy of various libraries (expat, zlib # and libffi), rather than copies shipped in the tarball rm -r Modules/expat rm -r Modules/zlib rm -r Modules/_ctypes/{darwin,libffi}* # clean up #!s find . -name '*.py' | \ xargs sed -i "s|#[ ]*![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" # Workaround asdl_c.py/makeopcodetargets.py errors after we touched the # shebangs touch Include/Python-ast.h Python/Python-ast.c Python/opcode_targets.h } build() { cd "$_pkgname-$pkgver" export OPT="${CFLAGS}" ./configure --prefix=/usr \ --enable-shared \ --with-threads \ --enable-optimizations \ --with-lto \ --enable-ipv6 \ --enable-unicode=ucs4 \ --with-system-expat \ --with-system-ffi \ --with-dbmliborder=gdbm:ndbm \ --without-ensurepip make } package() { cd "$_pkgname-$pkgver" # Hack to avoid building again sed -i 's/^all:.*$/all: build_all/' Makefile make DESTDIR="${pkgdir}" altinstall maninstall rm "${pkgdir}"/usr/share/man/man1/python.1 ln -sf python${_pybasever} "$pkgdir/usr/bin/python2" ln -sf python${_pybasever}-config "$pkgdir/usr/bin/python2-config" ln -sf python${_pybasever}.1 "$pkgdir/usr/share/man/man1/python2.1" # FS#33954 ln -sf python-${_pybasever}.pc "$pkgdir/usr/lib/pkgconfig/python2.pc" ln -sf ../../libpython${_pybasever}.so \ "$pkgdir/usr/lib/python$_pybasever/config/libpython$_pybasever.so" mv "$pkgdir/usr/bin/smtpd.py" "$pkgdir/usr/lib/python$_pybasever/" # some useful "stuff" install -dm 755 "$pkgdir/usr/lib/python$_pybasever/Tools/"{i18n,scripts} install -m 755 Tools/i18n/{msgfmt,pygettext}.py \ "$pkgdir/usr/lib/python$_pybasever/Tools/i18n/" install -m 755 Tools/scripts/{README,*py} \ "$pkgdir/usr/lib/python$_pybasever/Tools/scripts/" # fix conflicts with python mv "${pkgdir}"/usr/bin/idle{,2} mv "${pkgdir}"/usr/bin/pydoc{,2} mv "${pkgdir}"/usr/bin/2to3{,-2.7} # clean-up reference to build directory sed -i "s#${srcdir}/Python-${pkgver}:##" \ "$pkgdir/usr/lib/python$_pybasever/config/Makefile" # license install -Dm 644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" }