void-packages/srcpkgs/python/template

73 lines
2.4 KiB
Text

# Template build file for 'python'.
pkgname=python
version=2.7.3
revision=3
wrksrc="Python-${version}"
short_desc="Interpreted, interactive, object-oriented programming language"
maintainer="Juan RP <xtraeme@gmail.com>"
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"
subpackages="${pkgname}-devel"
makedepends="libffi-devel readline-devel gdbm-devel openssl-devel
expat-devel db-devel 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 [ "$XBPS_CROSS_BUILD" ]; then
# cross build; have to build it in 2 stages: native and host.
do_build() {
# Native build
env CC=gcc LD=ld AS=as RANLIB=ranlib CFLAGS= LDFLAGS= OPT="-Os" \
./configure && make ${makejobs} python Parser/pgen || return 1
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} \
${_confargs} ac_cv_buggy_getaddrinfo=no || return 1
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} || return 1
}
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
./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
}