diff options
-rw-r--r-- | classes/package.oeclass | 10 | ||||
-rw-r--r-- | perl/perl-5.8.3/Makefile.SH.patch | 298 | ||||
-rw-r--r-- | perl/perl-5.8.3/config.sh-mipsel-linux | 0 | ||||
-rw-r--r-- | perl/perl-5.8.3/libperl-5.8.3-create-libperl-soname.patch | 0 | ||||
-rw-r--r-- | perl/perl_5.8.3.oe | 32 | ||||
-rw-r--r-- | site/mipsel-linux | 17 |
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 |