perl: use per-architecture config.sh, fix musl builds.

This commit is contained in:
Christian Neukirchen 2015-03-20 18:39:23 +01:00
parent 1759485d12
commit e0f47fed67
7 changed files with 4607 additions and 34 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -145,7 +145,7 @@
/* tiedscalar 'q' Tied scalar or handle */ /* tiedscalar 'q' Tied scalar or handle */
want_vtbl_packelem, want_vtbl_packelem,
/* qr 'r' precompiled qr// regex */ /* qr 'r' precompiled qr// regex */
want_vtbl_regexp | PERL_MAGIC_VALUE_MAGIC, want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC,
/* sigelem 's' %SIG hash element */ /* sigelem 's' %SIG hash element */
want_vtbl_sigelem, want_vtbl_sigelem,
/* taint 't' Taintedness */ /* taint 't' Taintedness */

View File

@ -1,7 +1,7 @@
# Template build file for 'perl'. # Template build file for 'perl'.
pkgname=perl pkgname=perl
version=5.20.2 version=5.20.2
revision=2 revision=3
hostmakedepends="less" hostmakedepends="less"
makedepends="zlib-devel bzip2-devel gdbm-devel db-devel>=5.3" makedepends="zlib-devel bzip2-devel gdbm-devel db-devel>=5.3"
depends="less" depends="less"
@ -162,15 +162,18 @@ do_configure() {
ln -s libperl.so.${version%.*} libperl.so ln -s libperl.so.${version%.*} libperl.so
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
cp -f ${FILESDIR}/cross/* . cp -f ${FILESDIR}/cross/*.h .
cp -f ${FILESDIR}/cross/config.sh-${XBPS_TARGET_ARCH} config.sh
cp -f ${FILESDIR}/Configure.cross . cp -f ${FILESDIR}/Configure.cross .
# substitute some required strings in generated config.sh # substitute some required strings in generated config.sh
sed -e "s,@@XBPS_CROSS_ARCH@@,${XBPS_TARGET_ARCH},g" \ sed -e "s,@@XBPS_CROSS_ARCH@@,${XBPS_TARGET_ARCH},g" \
-e "s,@@XBPS_CROSS_TRIPLET@@,${XBPS_CROSS_TRIPLET},g" \ -e "s,@@XBPS_CROSS_TRIPLET@@,${XBPS_CROSS_TRIPLET},g" \
-e "s,@@XBPS_CROSS_CFLAGS@@,${XBPS_CROSS_CFLAGS},g" \ -e "s,@@XBPS_CROSS_CFLAGS@@,${XBPS_CROSS_CFLAGS},g" \
-e "s,@@XBPS_CROSS_LDFLAGS@@,${XBPS_CROSS_LDFLAGS},g" \
-e "s,@@PERL_VERSION@@,${version},g" \ -e "s,@@PERL_VERSION@@,${version},g" \
-e "s,@@PERL_SUBVERSION@@,${version##*.},g" \ -e "s,@@PERL_SUBVERSION@@,${version##*.},g" \
-e "s,@@PERL_SONAME@@,${version%.*},g" \
-i config.sh -i config.sh
sh ./Configure.cross sh ./Configure.cross
@ -190,7 +193,7 @@ do_build() {
export INCLUDE=$XBPS_CROSS_BASE/usr/include export INCLUDE=$XBPS_CROSS_BASE/usr/include
make SHRPLDFLAGS="-shared -Wl,-soname,libperl.so.${version%.*}" \ make SHRPLDFLAGS="-shared -Wl,-soname,libperl.so.${version%.*}" \
CROSS_PERL=$HOST_PERL libperl.so ${makejobs} CROSS_PERL=$HOST_PERL libperl.so.${version%.*} ${makejobs}
cp -fr $HOST_PERL_LIBS/auto/* lib/auto/ cp -fr $HOST_PERL_LIBS/auto/* lib/auto/
mkdir -p lib/$XBPS_CROSS_TRIPLET mkdir -p lib/$XBPS_CROSS_TRIPLET
@ -211,7 +214,7 @@ do_install() {
export INCLUDE=$XBPS_CROSS_BASE/usr/include export INCLUDE=$XBPS_CROSS_BASE/usr/include
cp -fr $HOST_PERL_LIBS/auto/* lib/auto/ cp -fr $HOST_PERL_LIBS/auto/* lib/auto/
make CROSS_PERL=$HOST_PERL DESTDIR=$DESTDIR install make CROSS_PERL=$HOST_PERL LDLIBPTH= DESTDIR=$DESTDIR install
find lib/auto -name .exists -o -name '*.bs' | xargs rm -f find lib/auto -name .exists -o -name '*.bs' | xargs rm -f
vmkdir usr/lib/perl5/core_perl/auto vmkdir usr/lib/perl5/core_perl/auto
cp -fr lib/$XBPS_CROSS_TRIPLET/auto/* \ cp -fr lib/$XBPS_CROSS_TRIPLET/auto/* \