Files
MSYS2-packages/python3/PKGBUILD
2014-04-28 09:52:34 +04:00

140 lines
5.2 KiB
Bash

# Maintainer: Alexey Pavlov <Alexpux@gmail.com>
# Contributor: Ray Donnelly <mingw.android@gmail.com>
pkgname=python
pkgver=3.3.3
pkgrel=2
_pybasever=3.3
pkgdesc="Next generation of the python high-level scripting language"
arch=('i686' 'x86_64')
license=('custom')
url="http://www.python.org/"
depends=('libbz2' 'libopenssl' 'zlib' 'libexpat' 'libsqlite' 'libffi' 'ncurses' 'libreadline' 'liblzma')
makedepends=('libbz2-devel' 'openssl-devel' 'zlib-devel' 'libexpat-devel' 'libsqlite-devel' 'libffi-devel' 'ncurses-devel' 'libreadline-devel' 'liblzma-devel')
#optdepends=('tk: for tkinter' 'sqlite')
provides=('python3')
replaces=('python3')
options=('!makeflags')
source=(http://www.python.org/ftp/python/${pkgver%rc*}/Python-${pkgver}.tar.xz
3.3-ctypes-libpython.patch
3.3-ctypes-util-find_library.patch
3.3-cygwin-soname.patch
3.3-dbm.patch
3.3-distutils-shlibext.patch
3.3-enable-new-dtags.patch
3.3-export-PyNode_SizeOf.patch
3.3-export-PySignal_SetWakeupFd.patch
3.3-fix-PyAPI-declaration.patch
3.3-ncurses-abi6.patch
3.3-PATH_MAX.patch
3.3-pep3149.patch
3.3-ssl-threads.patch
3.3-thread-cygwin64.patch
3.3-tkinter.patch
3.3.2-allow-windows-paths-for-executable.patch
3.3.2-cygwin-siginfo.patch
python-3.3.2-msys2.patch
3.3.3-allow-win-drives-in-os-path-isabs.patch)
sha1sums=('af4e75a34bd538c79b9871227c2e7f56569ac107'
'd1bef43a80fbc99524fe599dabb84977fc4f458d'
'92109d70e398605c075cd969a89a7f16abd1ce59'
'a815d4c8b1ec8246be47b7eeeabe84cf47c11af8'
'df5a984858073d75a11500bad9178f842c6a1846'
'a12a1ed5ea15a34b650d407a7f7c4e8718de670f'
'a0b1a90f271f28322b0921820ce3cdf0c108e2ea'
'f505b46785e78c5f23a4228e756795e0e66dd1f3'
'09392741ab3d05d99c977a468ec38c7f94f49429'
'acf8a9ba965764941809404f2cfc5091af63bf8f'
'86a4addb11ef38695b90cc91584b55e1878d21e6'
'e421f2770a7f7bbb85003b83945c8f5b3c0050d4'
'8295e7731fe1b6623365b4c5a789dec588db5769'
'bfe2e722693a7314243b494db5170e68fc36c3d5'
'1fb100b187ae64faa1ab15300a84d6e0e75e55c6'
'b303a2da60abded2ca020dfb63da5d5184c1d92f'
'd3cbd7286fab191a5a9086cea1a9a3dc386e17da'
'1ec44391e21ad83cd149e83e65b2e77af13b9fbd'
'4f5ef705c8806900313480e13fb8d34c49aeb77a'
'e0f3d9388e888357a920c32a4ca525ef4ec69343')
prepare() {
cd "${srcdir}/Python-${pkgver}"
# FS#23997
sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py
patch -p1 -i ${srcdir}/3.3-dbm.patch
patch -p1 -i ${srcdir}/3.3-enable-new-dtags.patch
patch -p1 -i ${srcdir}/3.3-tkinter.patch
patch -p1 -i ${srcdir}/3.3-ctypes-util-find_library.patch
patch -p1 -i ${srcdir}/3.3-PATH_MAX.patch
patch -p1 -i ${srcdir}/3.3-ssl-threads.patch
patch -p1 -i ${srcdir}/3.3-ncurses-abi6.patch
patch -p1 -i ${srcdir}/3.3-export-PySignal_SetWakeupFd.patch
patch -p1 -i ${srcdir}/3.3-export-PyNode_SizeOf.patch
patch -p1 -i ${srcdir}/3.3-cygwin-soname.patch
patch -p1 -i ${srcdir}/3.3-distutils-shlibext.patch
patch -p1 -i ${srcdir}/3.3-ctypes-libpython.patch
patch -p1 -i ${srcdir}/3.3-pep3149.patch
patch -p1 -i ${srcdir}/3.3-thread-cygwin64.patch
patch -p1 -i ${srcdir}/python-3.3.2-msys2.patch
patch -p1 -i ${srcdir}/3.3.2-cygwin-siginfo.patch
# Incomplete patch from Ray Donnelly
# patch -p1 -i ${srcdir}/3.3.2-allow-windows-paths-for-executable.patch
patch -p1 -i ${srcdir}/33.3.3-allow-win-drives-in-os-path-isabs.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}*
}
build() {
cd "${srcdir}/Python-${pkgver}"
./configure --build=${CHOST} \
--prefix=/usr \
--build=$MY_TARGET \
--enable-shared \
--enable-ipv6 \
--with-libc= \
--with-libm= \
--with-system-expat \
--with-system-ffi \
ac_cv_func_bind_textdomain_codeset=yes \
--with-threads \
CPPFLAGS="${CPPFLAGS} -I/usr/include/ncursesw" \
LDFLAGS="${LDFLAGS} -L."
make
}
check() {
cd "${srcdir}/Python-${pkgver}"
"${srcdir}/Python-${pkgver}/python" -m test.regrtest -x test_posixpath test_logging
}
package() {
cd "${srcdir}/Python-${pkgver}"
make DESTDIR="${pkgdir}" install maninstall
# Why are these not done by default...
ln -sf python3 "${pkgdir}"/usr/bin/python.exe
ln -sf python3-config "${pkgdir}"/usr/bin/python-config
ln -sf idle3 "${pkgdir}"/usr/bin/idle
ln -sf pydoc3 "${pkgdir}"/usr/bin/pydoc
ln -sf python${_pybasever}.1 "${pkgdir}"/usr/share/man/man1/python3.1
ln -sf python${_pybasever}.1 "${pkgdir}"/usr/share/man/man1/python.1
# Fix FS#22552
cp -f "${pkgdir}"/usr/lib/python${_pybasever}/config-${_pybasever}m/libpython${_pybasever}m.dll.a "${pkgdir}"/usr/lib/libpython${_pybasever}m.dll.a
# Clean-up reference to build directory
sed -i "s|$srcdir/Python-${pkgver}:||" "$pkgdir/usr/lib/python${_pybasever}/config-${_pybasever}m/Makefile"
# License
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# fix permissons
find ${pkgdir}/usr -type f \( -name *.dll -o -name *.exe \) | xargs chmod 0755
}