summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/package.oeclass10
-rw-r--r--perl/perl-5.8.3/Makefile.SH.patch298
-rw-r--r--perl/perl-5.8.3/config.sh-mipsel-linux0
-rw-r--r--perl/perl-5.8.3/libperl-5.8.3-create-libperl-soname.patch0
-rw-r--r--perl/perl_5.8.3.oe32
-rw-r--r--site/mipsel-linux17
6 files changed, 348 insertions, 9 deletions
diff --git a/classes/package.oeclass b/classes/package.oeclass
index cdebea9c6b..cb87267e9e 100644
--- a/classes/package.oeclass
+++ b/classes/package.oeclass
@@ -1,7 +1,7 @@
def legitimize_package_name(s):
- return s.lower().replace('_', '-').replace('@', '+').replace(',', '+')
+ return s.lower().replace('_', '-').replace('@', '+').replace(',', '+').replace('/', '-')
-def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None, allow_dirs=False, prepend=False):
+def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None, allow_dirs=False, prepend=False, match_path=False):
import os, os.path, oe
dvar = oe.data.getVar('D', d, 1)
@@ -33,7 +33,11 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
for o in objs:
import re, stat
- m = re.match(file_regex, os.path.basename(o))
+ if match_path:
+ m = re.match(file_regex, o)
+ else:
+ m = re.match(file_regex, os.path.basename(o))
+
if not m:
continue
f = os.path.join(dvar + root, o)
diff --git a/perl/perl-5.8.3/Makefile.SH.patch b/perl/perl-5.8.3/Makefile.SH.patch
index e69de29bb2..35a4e6dfde 100644
--- a/perl/perl-5.8.3/Makefile.SH.patch
+++ b/perl/perl-5.8.3/Makefile.SH.patch
@@ -0,0 +1,298 @@
+*** ./Makefile.SH Wed Aug 4 12:16:15 2004
+--- ./Makefile.SH.patch Wed Aug 4 14:03:42 2004
+***************
+*** 110,127 ****
+ # INSTALL file, under "Building a shared perl library".
+ # If there is no pre-existing $libperl, we don't need
+ # to do anything further.
+! if test -f $archlib/CORE/$libperl; then
+! rm -f preload
+! cat <<'EOT' > preload
+! #! /bin/sh
+! lib=$1
+! shift
+! test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD"
+! exec "$@"
+! EOT
+! chmod 755 preload
+! ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
+! fi
+ ;;
+ os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
+ ;;
+--- 110,116 ----
+ # INSTALL file, under "Building a shared perl library".
+ # If there is no pre-existing $libperl, we don't need
+ # to do anything further.
+! echo linux libraries overwritten by cross-compile patches
+ ;;
+ os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
+ ;;
+***************
+*** 349,357 ****
+ .c.s:
+ $(CCCMDSRC) -S $*.c
+
+! all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
+! @echo " ";
+! @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
+
+ .PHONY: all compile translators utilities
+
+--- 338,358 ----
+ .c.s:
+ $(CCCMDSRC) -S $*.c
+
+! #all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
+! # @echo " ";
+! # @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
+!
+! all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT)
+! mv miniperl miniperl-cross
+! ln -s hostperl miniperl
+!
+! more: extra.pods $(private) $(public)
+!
+! more2: $(dynamic_ext)
+!
+! more3: $(nonxs_ext)
+!
+! more4: extras.make
+
+ .PHONY: all compile translators utilities
+
+***************
+*** 361,370 ****
+ cd x2p; $(MAKE) compile;
+ cd pod; $(MAKE) compile;
+
+! translators: miniperl$(EXE_EXT) lib/Config.pm FORCE
+ @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all
+
+! utilities: miniperl$(EXE_EXT) lib/Config.pm $(plextract) lib/lib.pm FORCE
+ @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all
+
+
+--- 362,371 ----
+ cd x2p; $(MAKE) compile;
+ cd pod; $(MAKE) compile;
+
+! translators: lib/Config.pm FORCE
+ @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all
+
+! utilities: lib/Config.pm $(plextract) lib/lib.pm FORCE
+ @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all
+
+
+***************
+*** 541,547 ****
+ $(CC) -o miniperl $(CLDFLAGS) \
+ `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+! $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ beos*|next4*)
+--- 542,548 ----
+ $(CC) -o miniperl $(CLDFLAGS) \
+ `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+! # $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ beos*|next4*)
+***************
+*** 549,555 ****
+ miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
+ $(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+! $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ darwin*)
+--- 550,556 ----
+ miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
+ $(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+! # $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ darwin*)
+***************
+*** 716,722 ****
+ # We need to autosplit in two steps because VOS can't handle so many args
+ #
+ .PHONY: preplibrary
+! preplibrary: miniperl$(EXE_EXT) lib/Config.pm lib/lib.pm $(PREPLIBRARY_LIBPERL)
+ @sh ./makedir lib/auto
+ @echo " AutoSplitting perl library"
+ $(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \
+--- 717,723 ----
+ # We need to autosplit in two steps because VOS can't handle so many args
+ #
+ .PHONY: preplibrary
+! preplibrary: lib/Config.pm lib/lib.pm $(PREPLIBRARY_LIBPERL)
+ @sh ./makedir lib/auto
+ @echo " AutoSplitting perl library"
+ $(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \
+***************
+*** 728,738 ****
+ # Take care to avoid modifying lib/Config.pm without reason
+ # (If trying to create a new port and having problems with the configpm script,
+ # try 'make minitest' and/or commenting out the tests at the end of configpm.)
+! lib/Config.pm: config.sh miniperl$(EXE_EXT) configpm Porting/Glossary
+ $(LDLIBPTH) ./miniperl -Ilib configpm configpm.tmp
+ sh mv-if-diff configpm.tmp $@
+
+! lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl$(EXE_EXT) minimod.pl lib/Config.pm
+ $(LDLIBPTH) ./miniperl minimod.pl > minimod.tmp
+ sh mv-if-diff minimod.tmp $@
+ -touch lib/ExtUtils/Miniperl.pm
+--- 729,739 ----
+ # Take care to avoid modifying lib/Config.pm without reason
+ # (If trying to create a new port and having problems with the configpm script,
+ # try 'make minitest' and/or commenting out the tests at the end of configpm.)
+! lib/Config.pm: config.sh configpm Porting/Glossary
+ $(LDLIBPTH) ./miniperl -Ilib configpm configpm.tmp
+ sh mv-if-diff configpm.tmp $@
+
+! lib/ExtUtils/Miniperl.pm: miniperlmain.c minimod.pl lib/Config.pm
+ $(LDLIBPTH) ./miniperl minimod.pl > minimod.tmp
+ sh mv-if-diff minimod.tmp $@
+ -touch lib/ExtUtils/Miniperl.pm
+***************
+*** 740,757 ****
+ lib/re.pm: ext/re/re.pm
+ cp ext/re/re.pm ext/re/re.tmp && sh mv-if-diff ext/re/re.tmp lib/re.pm
+
+! $(plextract): miniperl$(EXE_EXT) lib/Config.pm x2p/s2p
+ @-rm -f $@
+ $(LDLIBPTH) ./miniperl -Ilib $@.PL
+
+! x2p/s2p: miniperl$(EXE_EXT) lib/Config.pm x2p/s2p.PL
+ cd x2p; $(LDLIBPTH) $(MAKE) s2p
+
+! lib/lib.pm: miniperl$(EXE_EXT) lib/Config.pm
+ @-rm -f $@
+ $(LDLIBPTH) ./miniperl -Ilib lib/lib_pm.PL
+
+! extra.pods: miniperl$(EXE_EXT)
+ -@test -f extra.pods && rm -f `cat extra.pods`
+ -@rm -f extra.pods
+ -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
+--- 741,758 ----
+ lib/re.pm: ext/re/re.pm
+ cp ext/re/re.pm ext/re/re.tmp && sh mv-if-diff ext/re/re.tmp lib/re.pm
+
+! $(plextract): lib/Config.pm x2p/s2p
+ @-rm -f $@
+ $(LDLIBPTH) ./miniperl -Ilib $@.PL
+
+! x2p/s2p: lib/Config.pm x2p/s2p.PL
+ cd x2p; $(LDLIBPTH) $(MAKE) s2p
+
+! lib/lib.pm: lib/Config.pm
+ @-rm -f $@
+ $(LDLIBPTH) ./miniperl -Ilib lib/lib_pm.PL
+
+! extra.pods:
+ -@test -f extra.pods && rm -f `cat extra.pods`
+ -@rm -f extra.pods
+ -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
+***************
+*** 798,815 ****
+ INSTALL_DEPENDENCE = all
+
+ install.perl: $(INSTALL_DEPENDENCE) installperl
+! if [ -n "$(COMPILE)" ]; \
+! then \
+! cd utils; $(MAKE) compile; \
+! cd ../x2p; $(MAKE) compile; \
+! cd ../pod; $(MAKE) compile; \
+! else :; \
+! fi
+! $(LDLIBPTH) ./perl installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
+! $(MAKE) extras.install
+!
+! install.man: all installman
+! $(LDLIBPTH) ./perl installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
+
+ # XXX Experimental. Hardwired values, but useful for testing.
+ # Eventually Configure could ask for some of these values.
+--- 799,805 ----
+ INSTALL_DEPENDENCE = all
+
+ install.perl: $(INSTALL_DEPENDENCE) installperl
+! hostperl -Ifake_config_library -MConfig installperl $(INSTALLFLAGS) $(STRIPFLAGS)
+
+ # XXX Experimental. Hardwired values, but useful for testing.
+ # Eventually Configure could ask for some of these values.
+***************
+*** 925,940 ****
+ #
+ # DynaLoader may be needed for extensions that use Makefile.PL.
+
+! $(DYNALOADER): miniperl$(EXE_EXT) preplibrary FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! d_dummy $(dynamic_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext dynamic $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+ .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
+--- 915,930 ----
+ #
+ # DynaLoader may be needed for extensions that use Makefile.PL.
+
+! $(DYNALOADER): preplibrary FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! d_dummy $(dynamic_ext): preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext dynamic $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! s_dummy $(static_ext): preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! n_dummy $(nonxs_ext): preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+ .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
+***************
+*** 1074,1080 ****
+
+ test_prep_pre: preplibrary utilities $(nonxs_ext)
+
+! test_prep: test_prep_pre miniperl$(EXE_EXT) perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL)
+ PERL=./perl $(MAKE) _test_prep
+
+ _test_tty:
+--- 1064,1070 ----
+
+ test_prep_pre: preplibrary utilities $(nonxs_ext)
+
+! test_prep: test_prep_pre perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL)
+ PERL=./perl $(MAKE) _test_prep
+
+ _test_tty:
+***************
+*** 1167,1173 ****
+
+ # Can't depend on lib/Config.pm because that might be where miniperl
+ # is crashing.
+! minitest: miniperl$(EXE_EXT) lib/re.pm
+ -@test -f lib/lib.pm && test -f lib/Config.pm || \
+ $(MAKE) lib/Config.pm lib/lib.pm
+ @echo " "
+--- 1157,1163 ----
+
+ # Can't depend on lib/Config.pm because that might be where miniperl
+ # is crashing.
+! minitest: lib/re.pm
+ -@test -f lib/lib.pm && test -f lib/Config.pm || \
+ $(MAKE) lib/Config.pm lib/lib.pm
+ @echo " "
diff --git a/perl/perl-5.8.3/config.sh-mipsel-linux b/perl/perl-5.8.3/config.sh-mipsel-linux
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/perl/perl-5.8.3/config.sh-mipsel-linux
diff --git a/perl/perl-5.8.3/libperl-5.8.3-create-libperl-soname.patch b/perl/perl-5.8.3/libperl-5.8.3-create-libperl-soname.patch
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/perl/perl-5.8.3/libperl-5.8.3-create-libperl-soname.patch
diff --git a/perl/perl_5.8.3.oe b/perl/perl_5.8.3.oe
index cb5461e2ab..f6d2e1c62e 100644
--- a/perl/perl_5.8.3.oe
+++ b/perl/perl_5.8.3.oe
@@ -5,9 +5,9 @@ DEPENDS = "db3 perl-native"
SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
file://Makefile.patch;patch=1 \
file://config.sh-arm-linux.patch;patch=1 \
- file://Makefile.SH.patch "
-
-FILES_${PN} += "${libdir}/perl5"
+ file://libperl-5.8.3-create-libperl-soname.patch;patch=1;pnum=0 \
+ file://Makefile.SH.patch \
+ file://config.sh-mipsel-linux"
HOSTPERL=${STAGING_BINDIR}/perl${PV}
@@ -17,6 +17,12 @@ do_configure() {
cd Cross
rm Makefile.SH.patch
cp ${WORKDIR}/Makefile.SH.patch .
+ cp ${WORKDIR}/config.sh-mipsel-linux .
+ cat config.sh-${TARGET_ARCH}-${TARGET_OS} | sed -e's,./install_me_here,${D},g' > config.sh-${TARGET_ARCH}-${TARGET_OS}.new
+ mv config.sh-${TARGET_ARCH}-${TARGET_OS}.new config.sh-${TARGET_ARCH}-${TARGET_OS}
+ rm -f config
+ echo "ARCH = ${TARGET_ARCH}" > config
+ echo "OS = ${TARGET_OS}" >> config
oe_runmake patch
}
@@ -26,10 +32,12 @@ do_compile() {
}
do_install() {
- rm -rf install_me_here
make install
- mv install_me_here/* ${D}
- rmdir install_me_here
+ cd ${D}/usr/bin/
+ rm perl
+ ln -s perl${PV} perl
+ cd ${D}/usr/lib
+ mv ${D}/usr/lib/perl5/5.8.3/CORE/libperl.so.${PV} .
}
do_stage() {
@@ -37,3 +45,15 @@ do_stage() {
install config.sh ${STAGING_DIR}/${HOST_SYS}/perl/
}
+python populate_packages_prepend () {
+ libdir = oe.data.expand('${libdir}/perl5/${PV}', d)
+ do_split_packages(d, libdir, 'auto/(.*)/', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
+ do_split_packages(d, libdir, '(.*)\.(pm|pl)', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
+}
+
+PACKAGES = "perl perl-misc perl-lib perl-dev perl-pod"
+FILES_${PN} = "/usr/bin/perl /usr/bin/perl${PV}"
+FILES_${PN}-lib = "/usr/lib/libperl.so*"
+FILES_${PN}-dev = "/usr/lib/perl5/5.8.3/CORE/"
+FILES_${PN}-pod = "/usr/lib/perl5/${PV}/pod"
+FILES_perl-misc = "/usr/bin/"
diff --git a/site/mipsel-linux b/site/mipsel-linux
index e911827e51..c90671b633 100644
--- a/site/mipsel-linux
+++ b/site/mipsel-linux
@@ -78,3 +78,20 @@ wi_cv_unix_domain_sockets=${wi_cv_unix_domain_sockets=yes}
# rp-pppoe
rpppoe_cv_pack_bitfields=${rpppoe_cv_pack_bitfields=rev}
+# db3
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip} \ No newline at end of file