core/python2/PKGBUILD

90 lines
3.0 KiB
Bash

pkgname=python2
pkgver=2.7.14
pkgrel=1
_pybasever=2.7
pkgdesc="A high-level scripting language"
arch=('x86_64')
license=('PSF')
url="http://www.python.org"
depends=('db>=4.8' 'bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite3' 'libffi')
makedepends=('tk')
optdepends=('tk: for IDLE'
'python2-setuptools'
'python2-pip')
provides=('python' 'python-elementtree' 'python-ctypes')
replaces=('python-elementtree' 'python-ctypes' 'python')
conflicts=('python')
source=(http://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz
'add-chakra-support.patch')
md5sums=('1f6db41ad91d9eb0a6f0c769b8613c5b'
'9b47a96ffa3d18cdc864481c178aef28')
build() {
cd "${srcdir}/Python-${pkgver}"
# See http://bugs.python.org/issue10835 for upstream report
sed -i "/progname =/s/python/python${_pybasever}/" Python/pythonrun.c
# Enable built-in SQLite3 module to load extensions
sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py
sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python2|" Lib/cgi.py
# Make sure platform.linux_distribution() returns the correct info,
# reading it from /etc/chakra-release
patch -p1 -i "${srcdir}/add-chakra-support.patch"
# 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}*
export OPT="${CFLAGS}"
./configure --prefix=/usr \
--enable-shared \
--enable-ipv6 \
--enable-unicode=ucs4 \
--with-threads \
--with-system-ffi \
--with-dbmliborder=gdbm:ndbm \
--with-system-expat
make
}
package() {
cd "${srcdir}/Python-${pkgver}"
make DESTDIR="${pkgdir}" altinstall maninstall
ln -sf "python${_pybasever}" "${pkgdir}/usr/bin/python"
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"
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 -dm755 "${pkgdir}/usr/lib/python${_pybasever}/Tools"/{i18n,scripts}
install -m755 Tools/i18n/{msgfmt,pygettext}.py \
"${pkgdir}/usr/lib/python${_pybasever}/Tools/i18n"
install -m755 Tools/scripts/{README,*py} \
"${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts"
# clean up #!s
find "${pkgdir}/usr/lib/python${_pybasever}" -name '*.py' | \
xargs sed -i "s|#[ ]*![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
# clean-up reference to build directory
sed -i "s#${srcdir}/Python-${pkgver}:##" \
"${pkgdir}/usr/lib/python${_pybasever}/config/Makefile"
# license
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
# vim:set ts=2 sw=2 et: