# Template build file for 'python'. pkgname=python version=2.7.3 revision=6 wrksrc="Python-${version}" short_desc="Interpreted, interactive, object-oriented programming language" maintainer="Juan RP " homepage="http://www.python.org" license="PSF" distfiles="http://www.python.org/ftp/python/$version/Python-$version.tar.xz" checksum=61d36be58e9e9c733c49d7b76858d5c08e2c63a84f2066b29d35d3521057c985 pycompile_dirs="usr/lib/python2.7" hostmakedepends="pkg-config" makedepends="libffi-devel readline-devel gdbm-devel openssl-devel expat-devel db-devel>=5.3 sqlite-devel bzip2-devel zlib-devel" # Force posix semaphores by default; sem_open requires /dev/shm and # it's not mounted in chroot. _confargs="--with-threads --enable-ipv6 --with-signal-module --enable-shared --with-system-ffi --enable-unicode=ucs4 --with-system-expat --with-wctype-functions ac_cv_posix_semaphores_enabled=yes" if [ "$CROSS_BUILD" ]; then # cross build; have to build it in 2 stages: native and host. do_configure() { # Native build env CC=gcc LD=ld AS=as RANLIB=ranlib CFLAGS= LDFLAGS= OPT="-Os" \ ./configure && make ${makejobs} python Parser/pgen mv python hostpython mv Parser/pgen Parser/hostpgen make distclean # Cross build patch -Np1 -i ${FILESDIR}/Python-2.7.3-xcompile.patch sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py CFLAGS="$CFLAGS -I$XBPS_CROSS_BASE/include" \ LDFLAGS="$LDFLAGS -L$XBPS_CROSS_BASE/lib" \ ./configure ${CONFIGURE_SHARED_ARGS} CC="$CC" LD="$CC" \ ${_confargs} ac_cv_buggy_getaddrinfo=no } do_build() { make HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen \ BLDSHARED="${XBPS_CROSS_TRIPLET}-gcc -shared" \ CROSS_COMPILE=$XBPS_CROSS_TARGET CROSS_COMPILE_TARGET=yes \ HOSTARCH=$XBPS_CROSS_TRIPLET BUILDARCH=$XBPS_MACHINE-unknown-linux-gnu \ PYTHON_XCOMPILE_DEPENDENCIES_PREFIX="$XBPS_CROSS_BASE" ${makejobs} } do_install() { # cross install make DESTDIR=${DESTDIR} HOSTPYTHON=./hostpython \ CROSS_COMPILE=$XBPS_CROSS_TARGET \ CROSS_COMPILE_TARGET=yes install } else # Native build do_configure() { # Enable built-in SQLite3 module to load extensions (Arch fix FS#22122) sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py CC="gcc" LD="gcc" ./configure ${CONFIGURE_SHARED_ARGS} ${_confargs} } do_build() { make ${makejobs} } do_install() { make DESTDIR=${DESTDIR} install } fi post_install() { chmod 755 ${DESTDIR}/usr/lib/libpython*.so* install -Dm644 LICENSE ${DESTDIR}/usr/share/licenses/python/LICENSE # Remove test module. rm -rf ${DESTDIR}/usr/lib/python2.7/test } python_package() { pkg_install() { vmove all } } python-devel_package() { depends="libffi-devel zlib-devel readline-devel bzip2-devel gdbm-devel openssl-devel expat-devel db-devel>=5.3 ncurses-devel sqlite-devel python>=${version}" short_desc="Python development files" pkg_install() { vmove "usr/bin/python*-config" vmove usr/lib/pkgconfig vmove usr/include mkdir -p ${DESTDIR}/usr/include/python2.7 mv ${PKGDESTDIR}/usr/include/python2.7/pyconfig.h ${DESTDIR}/usr/include/python2.7 } }