# Maintainer: Alexey Pavlov pkgname=python pkgver=3.3.3 pkgrel=1 _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) sha1sums=('af4e75a34bd538c79b9871227c2e7f56569ac107' 'd1bef43a80fbc99524fe599dabb84977fc4f458d' '92109d70e398605c075cd969a89a7f16abd1ce59' 'a815d4c8b1ec8246be47b7eeeabe84cf47c11af8' 'df5a984858073d75a11500bad9178f842c6a1846' 'a12a1ed5ea15a34b650d407a7f7c4e8718de670f' 'a0b1a90f271f28322b0921820ce3cdf0c108e2ea' 'f505b46785e78c5f23a4228e756795e0e66dd1f3' '09392741ab3d05d99c977a468ec38c7f94f49429' 'acf8a9ba965764941809404f2cfc5091af63bf8f' '86a4addb11ef38695b90cc91584b55e1878d21e6' 'e421f2770a7f7bbb85003b83945c8f5b3c0050d4' '8295e7731fe1b6623365b4c5a789dec588db5769' 'bfe2e722693a7314243b494db5170e68fc36c3d5' '1fb100b187ae64faa1ab15300a84d6e0e75e55c6' 'b303a2da60abded2ca020dfb63da5d5184c1d92f' 'd3cbd7286fab191a5a9086cea1a9a3dc386e17da' '1ec44391e21ad83cd149e83e65b2e77af13b9fbd' '4f5ef705c8806900313480e13fb8d34c49aeb77a') 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 # 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 }