Browse Source

perl: changed to always use the perl cross patchset

http://arsv.github.io/perl-cross/

The original website at http://perlcross.berlios.de is not going to be
maintained anymore because the berlios platform will be shutdown by its
operators (http://developer.berlios.de/forum/forum.php?forum_id=39220).
stable/0.6
Christian Wiese 12 years ago
parent
commit
23f83f9dc3
  1. 27
      perl/perl/cross-lm.patch
  2. 58
      perl/perl/install.patch.cross
  3. 48
      perl/perl/perl-5.8.8-libc-2.patch
  4. 94
      perl/perl/perl.conf
  5. 3
      perl/perl/perl.desc

27
perl/perl/cross-lm.patch

@ -1,27 +0,0 @@
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: package/.../perl/cross-lm.patch
# Copyright (C) 2006 The T2 SDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- SDE-COPYRIGHT-NOTE-END ---
--- perl-5.8.8/Makefile.SH.vanilla 2006-03-21 12:58:12.000000000 +0100
+++ perl-5.8.8/Makefile.SH 2006-03-21 12:58:20.000000000 +0100
@@ -248,7 +248,7 @@
ext = \$(dynamic_ext) \$(static_ext) \$(nonxs_ext)
DYNALOADER = lib/auto/DynaLoader/DynaLoader\$(LIB_EXT)
-libs = $perllibs $cryptlib
+libs = $perllibs $cryptlib -lm
public = perl\$(EXE_EXT) $suidperl utilities translators

58
perl/perl/install.patch.cross

@ -1,58 +0,0 @@
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: package/.../perl/install.patch.cross
# Copyright (C) 2009 - 2010 The OpenSDE Project
# Copyright (C) 2004 - 2006 The T2 SDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- SDE-COPYRIGHT-NOTE-END ---
Some cross compile hacks.
- Rene Rebe <rene@exactcode.de>
Skip man page installation, requires Fcntl extension in miniperl module
- Michael Tross <michael@tross.org>
diff -Nur perl-5.10.1-orig/Makefile.SH perl-5.10.1/Makefile.SH
--- perl-5.10.1-orig/Makefile.SH 2010-12-16 14:20:45.912059387 +0100
+++ perl-5.10.1/Makefile.SH 2010-12-16 14:36:55.804059386 +0100
@@ -601,7 +601,7 @@
\$(RUN) ./generate_uudmap\$(HOST_EXE_EXT) >uudmap.h
generate_uudmap\$(HOST_EXE_EXT): generate_uudmap\$(OBJ_EXT)
- \$(CC) -o generate_uudmap\$(EXE_EXT) \$(LDFLAGS) generate_uudmap\$(OBJ_EXT) \$(libs)
+ \$(HOSTCC) -o generate_uudmap \$(LDFLAGS) generate_uudmap.c \$(libs)
!GROK!THIS!
$spitshell >>$Makefile <<'!NO!SUBS!'
@@ -1021,7 +1021,7 @@
# But also this ensures that all extensions are built before we try to scan
# them, which picks up Devel::PPPort's documentation.
pod/perltoc.pod: $(perltoc_pod_prereqs) perl$(EXE_EXT) $(ext) pod/buildtoc
- $(LDLIBPTH) $(RUN) ./perl$(EXE_EXT) -Ilib pod/buildtoc --build-toc -q
+ $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib pod/buildtoc --build-toc -q
pod/perlapi.pod pod/perlintern.pod: miniperl$(EXE_EXT) autodoc.pl embed.fnc
$(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib autodoc.pl
@@ -1075,11 +1075,11 @@
INSTALL_DEPENDENCE = all
install.perl: $(INSTALL_DEPENDENCE) installperl
- $(LDLIBPTH) $(RUN) ./perl installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
+ $(LDLIBPTH) $(RUN) ./miniperl installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
-@test ! -s extras.lst || $(MAKE) extras.install
install.man: all installman
- $(LDLIBPTH) $(RUN) ./perl installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
+ $(LDLIBPTH) $(RUN) echo installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
# XXX Experimental. Hardwired values, but useful for testing.
# Eventually Configure could ask for some of these values.

48
perl/perl/perl-5.8.8-libc-2.patch

@ -1,48 +0,0 @@
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: package/.../perl/perl-5.8.8-libc-2.patch
# Copyright (C) 2008 The OpenSDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- SDE-COPYRIGHT-NOTE-END ---
Submitted By: Anderson Lizardo <andersonlizardo(at)yahoo(dot)com(dot)br>
Date: 2006-02-15
Initial Package Version: 5.8.8
Origin: based on current LFS-BOOK patch (perl-5.8.0-libc-2.patch)
Description: this patch adapts some hard-wired paths to the C library.
It uses the $prefix variable to locate the correct libc.
diff -Naur perl-5.8.8.orig/hints/linux.sh perl-5.8.8/hints/linux.sh
--- perl-5.8.8.orig/hints/linux.sh 2005-11-18 01:18:45.000000000 +0000
+++ perl-5.8.8/hints/linux.sh 2006-02-12 12:20:32.000000000 +0000
@@ -52,9 +52,9 @@
# We don't use __GLIBC__ and __GLIBC_MINOR__ because they
# are insufficiently precise to distinguish things like
# libc-2.0.6 and libc-2.0.7.
-if test -L /lib/libc.so.6; then
- libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'`
- libc=/lib/$libc
+if test -L ${prefix}/lib/libc.so.6; then
+ libc=`ls -l ${prefix}/lib/libc.so.6 | awk '{print $NF}'`
+ libc=${prefix}/lib/$libc
fi
# Configure may fail to find lstat() since it's a static/inline
@@ -330,3 +330,8 @@
libswanted="$*"
;;
esac
+
+locincpth=""
+loclibpth=""
+glibpth="${prefix}/lib"
+usrinc="${prefix}/include"

94
perl/perl/perl.conf

@ -2,9 +2,7 @@
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: package/.../perl/perl.conf
# Copyright (C) 2009 - 2011 The OpenSDE Project
# Copyright (C) 2004 - 2006 The T2 SDE Project
# Copyright (C) 1998 - 2004 Clifford Wolf
# Copyright (C) 2012 The OpenSDE Project
#
# More information can be found in the files COPYING and README.
#
@ -14,86 +12,34 @@
# GNU General Public License can be found in the file COPYING.
# --- SDE-COPYRIGHT-NOTE-END ---
perl_cross_bootstrap()
{
# build a native miniperl
eval $MAKE miniperl
cp miniperl miniperl.native
$MAKE clean
# setup cross compiler
sed -e '/^d_futimes/d' -e '/^d_sockatmark/d' -i config.sh
cat >> config.sh <<-EOT
cc='$CC'
ccname='$CC'
ld='$CC'
libs='-ldl -lm -lcrypt -lutil -lc'
d_futimes='undef'
d_sockatmark='undef'
d_sockatmarkproto='undef'
EOT
touch config.sh
eval $MAKE $makeopt miniperl
cp -f miniperl.native miniperl
untar_cross_perl() {
tar -v $taropt $( match_source_file -p cross perl ) -C $builddir/
}
hook_add prepatch 1 "untar_cross_perl"
perl_postmake() {
cat > $root/usr/bin/cpan <<- EOT
#!/usr/bin/perl
use POSIX;
use locale;
use CPAN;
setlocale(LANGUAGE, "en_US");
setlocale(LC_ALL, "en_US");
shell;
EOT
chmod +x $root/usr/bin/cpan
# configure is not standard
cleanconfopt=0
if atstage native; then
eval `perl -V:archlib`
touch ${archlib}/perllocal.pod
confopt="--prefix=/$prefix \$extraconfopt"
extraconfopt=
h2ph $( grep ' usr/include/.*\.h$' \
$root/var/adm/flists/glibc* | sed 's,^.*: ,/,' )
fi
}
makeinstopt="install"
runconfig=0
if ! atstage native; then
var_append extraconfopt ' ' "--build=$arch_build"
var_append extraconfopt ' ' "--target=$arch_target"
var_insert makeinstopt ' ' "DESTDIR=$root"
fi
[[ $libdir = *lib64 ]] && var_append patchfiles ' ' "$confdir/lib64.diff"
libpth="/usr/local/${libdir##*/} /${libdir##*/} /usr/${libdir##*/}"
confopt="-des -Dcc=$cc -Darchname=$arch_target -Dprefix=/$prefix \
-Dmyhostname=$SDECFG_PKG_PERL5_HOST_NAME \
-Dsiteprefix=/$SDECFG_PKG_PERL5_SITE_PREFIX \
-Dvendorprefix=/$SDECFG_PKG_PERL5_VENDOR_PREFIX"
# let -D and -U override definitions from loaded configuration file
var_append extraconfopt ' ' "-O"
# build a shared libperl
if [ "$SDECFG_STATIC" != 1 ]; then
var_append confopt ' ' "-Duseshrplib"
var_append extraconfopt ' ' "-Duseshrplib"
fi
[ "$SDECFG_PKG_PERL5_THREADS" = "1" ] && confopt="$confopt -Dusethreads"
hook_add preconf 2 "( rm -f config.sh Policy.sh; eval sh Configure \$confopt; )"
if ! atstage native; then
var_append confopt " " "-Ddynamic_ext=none"
var_append confopt " " "-Dstatic_ext=\"Data/Dumper IO Fcntl POSIX\""
hook_add premake 3 "perl_cross_bootstrap"
# thread support
if [ "$SDECFG_PKG_PERL5_THREADS" = "1" ]; then
var_append extraconfopt ' ' "-Dusethreads"
fi
hook_add postmake 4 "perl_postmake"
PERL_CROSS_MODULES="File/Basename.pm Errno.pm Config.pm IO/File.pm Symbol.pm \
SelectSaver.pm IO/Seekable.pm IO/Handle.pm IO.pm XSLoader.pm \
DynaLoader.pm AutoLoader.pm Carp/Heavy.pm"
perl_cross_modules()
{
moddir=${root}/${SDECFG_PKG_PERL5_SITE_PREFIX}/lib/perl5/$ver
for mod in $PERL_CROSS_MODULES; do
[ -d $moddir/`dirname $mod` ] || mkdir -p $moddir/`dirname $mod`;
cp -vdpf lib/$mod $moddir/$mod
done;
}
atstage cross && hook_add postmake 3 "perl_cross_modules"

3
perl/perl/perl.desc

@ -2,7 +2,7 @@
[COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch.
[COPY]
[COPY] Filename: package/.../perl/perl.desc
[COPY] Copyright (C) 2006 - 2012 The OpenSDE Project
[COPY] Copyright (C) 2006 - 2014 The OpenSDE Project
[COPY] Copyright (C) 2004 - 2006 The T2 SDE Project
[COPY] Copyright (C) 1998 - 2004 Clifford Wolf
[COPY]
@ -37,3 +37,4 @@
[P] X -1-3---7-9 102.000
[D] 356532305 perl-5.16.0.tar.gz http://www.cpan.org/src/5.0/
[D] 625481311 perl-5.16.0-cross-0.7.tar.gz http://download.berlios.de/perlcross/

Loading…
Cancel
Save