From: <abe...@us...> - 2012-12-24 21:08:46
|
Revision: 5834 http://astlinux.svn.sourceforge.net/astlinux/?rev=5834&view=rev Author: abelbeck Date: 2012-12-24 21:08:37 +0000 (Mon, 24 Dec 2012) Log Message: ----------- perl, new package, disabled by default for now. This is 'real' perl but with a limited set of included modules because of our size limitations. Modified Paths: -------------- branches/1.0/astlinux-ast11.config branches/1.0/astlinux.config branches/1.0/astlinux18.config branches/1.0/package/Config.in branches/1.0/package/microperl/Config.in branches/1.0/runnix-uclibc.config branches/1.0/runnix.config Added Paths: ----------- branches/1.0/package/perl/ branches/1.0/package/perl/Config.in branches/1.0/package/perl/perl-fix-Module-Build.patch branches/1.0/package/perl/perl-ifprefixed.patch branches/1.0/package/perl/perl.mk Modified: branches/1.0/astlinux-ast11.config =================================================================== --- branches/1.0/astlinux-ast11.config 2012-12-22 18:56:14 UTC (rev 5833) +++ branches/1.0/astlinux-ast11.config 2012-12-24 21:08:37 UTC (rev 5834) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot 2011.08-svn5762 Configuration -# Thu Nov 8 16:10:10 2012 +# Buildroot 2011.08-svn5833-dirty Configuration +# Mon Dec 24 14:51:51 2012 # BR2_HAVE_DOT_CONFIG=y # BR2_arm is not set @@ -423,6 +423,7 @@ BR2_PACKAGE_BC=y # BR2_PACKAGE_HASERL is not set # BR2_PACKAGE_LUA is not set +# BR2_PACKAGE_PERL is not set BR2_PACKAGE_MICROPERL=y BR2_PACKAGE_PHP=y BR2_PACKAGE_PHP_CGI=y Modified: branches/1.0/astlinux.config =================================================================== --- branches/1.0/astlinux.config 2012-12-22 18:56:14 UTC (rev 5833) +++ branches/1.0/astlinux.config 2012-12-24 21:08:37 UTC (rev 5834) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot 2011.08-svn5670 Configuration -# Sun Sep 9 14:18:47 2012 +# Buildroot 2011.08-svn5833-dirty Configuration +# Mon Dec 24 14:51:44 2012 # BR2_HAVE_DOT_CONFIG=y # BR2_arm is not set @@ -429,6 +429,7 @@ BR2_PACKAGE_BC=y # BR2_PACKAGE_HASERL is not set # BR2_PACKAGE_LUA is not set +# BR2_PACKAGE_PERL is not set BR2_PACKAGE_MICROPERL=y BR2_PACKAGE_PHP=y BR2_PACKAGE_PHP_CGI=y Modified: branches/1.0/astlinux18.config =================================================================== --- branches/1.0/astlinux18.config 2012-12-22 18:56:14 UTC (rev 5833) +++ branches/1.0/astlinux18.config 2012-12-24 21:08:37 UTC (rev 5834) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot 2011.08-svn5670-dirty Configuration -# Sun Sep 9 14:20:39 2012 +# Buildroot 2011.08-svn5833-dirty Configuration +# Mon Dec 24 14:51:47 2012 # BR2_HAVE_DOT_CONFIG=y # BR2_arm is not set @@ -423,6 +423,7 @@ BR2_PACKAGE_BC=y # BR2_PACKAGE_HASERL is not set # BR2_PACKAGE_LUA is not set +# BR2_PACKAGE_PERL is not set BR2_PACKAGE_MICROPERL=y BR2_PACKAGE_PHP=y BR2_PACKAGE_PHP_CGI=y Modified: branches/1.0/package/Config.in =================================================================== --- branches/1.0/package/Config.in 2012-12-22 18:56:14 UTC (rev 5833) +++ branches/1.0/package/Config.in 2012-12-24 21:08:37 UTC (rev 5834) @@ -256,6 +256,7 @@ source "package/xavante/Config.in" endmenu endif +source "package/perl/Config.in" source "package/microperl/Config.in" source "package/php/Config.in" source "package/python/Config.in" Modified: branches/1.0/package/microperl/Config.in =================================================================== --- branches/1.0/package/microperl/Config.in 2012-12-22 18:56:14 UTC (rev 5833) +++ branches/1.0/package/microperl/Config.in 2012-12-24 21:08:37 UTC (rev 5834) @@ -1,4 +1,5 @@ config BR2_PACKAGE_MICROPERL + depends on !BR2_PACKAGE_PERL bool "microperl" help Perl without operating-specific functions such as readdir. Added: branches/1.0/package/perl/Config.in =================================================================== --- branches/1.0/package/perl/Config.in (rev 0) +++ branches/1.0/package/perl/Config.in 2012-12-24 21:08:37 UTC (rev 5834) @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PERL + bool "perl" + depends on BR2_LINUX_KERNEL + default n + help + Larry Wall's Practical Extraction and Report Language + An interpreted scripting language, known among some as "Unix's Swiss + Army Chainsaw". + + http://www.perl.org/ + Added: branches/1.0/package/perl/perl-fix-Module-Build.patch =================================================================== --- branches/1.0/package/perl/perl-fix-Module-Build.patch (rev 0) +++ branches/1.0/package/perl/perl-fix-Module-Build.patch 2012-12-24 21:08:37 UTC (rev 5834) @@ -0,0 +1,16 @@ + +Signed-off-by: Francois Perrad <fra...@ga...> + +Index: b/cpan/Module-Build/lib/Module/Build/Base.pm +=================================================================== +--- a/cpan/Module-Build/lib/Module/Build/Base.pm ++++ b/cpan/Module-Build/lib/Module/Build/Base.pm +@@ -456,7 +456,7 @@ + my $proto = shift; + my $c = ref($proto) ? $proto->{config} : 'Module::Build::Config'; + +- my $perl = $^X; ++ my $perl = $ENV{RUN_PERL} || $^X; + my $perl_basename = File::Basename::basename($perl); + + my @potential_perls; Added: branches/1.0/package/perl/perl-ifprefixed.patch =================================================================== --- branches/1.0/package/perl/perl-ifprefixed.patch (rev 0) +++ branches/1.0/package/perl/perl-ifprefixed.patch 2012-12-24 21:08:37 UTC (rev 5834) @@ -0,0 +1,11 @@ +--- perl-5.16.2/Makefile.config.SH.orig 2012-12-21 23:52:27.000000000 -0600 ++++ perl-5.16.2/Makefile.config.SH 2012-12-21 23:53:11.000000000 -0600 +@@ -41,7 +41,7 @@ + fi + + function ifprefixed() { +- val=`echo "$2" | sed -e "s/^$1//"` ++ val=`echo "$2" | sed -e "s|^$1||"` + if [ "$1$val" == "$2" ]; then + echo "\$(CROSS)$val" + else Added: branches/1.0/package/perl/perl.mk =================================================================== --- branches/1.0/package/perl/perl.mk (rev 0) +++ branches/1.0/package/perl/perl.mk 2012-12-24 21:08:37 UTC (rev 5834) @@ -0,0 +1,115 @@ +############################################################# +# +# perl +# +############################################################# + +PERL_VERSION_MAJOR = 16 +PERL_VERSION = 5.$(PERL_VERSION_MAJOR).2 +PERL_SITE = http://www.cpan.org/src/5.0 +PERL_SOURCE = perl-$(PERL_VERSION).tar.bz2 +PERL_INSTALL_STAGING = YES +# Depend on linux to define LINUX_VERSION_PROBED +PERL_DEPENDENCIES = linux + +PERL_MODULES = constant Carp Errno Fcntl POSIX Digest Socket IO XSLoader Digest/MD5 Digest/SHA Getopt/Std Time/Local File/Glob + +PERL_CROSS_VERSION = 0.7.1 +PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).0 +PERL_CROSS_SITE = http://download.berlios.de/perlcross +PERL_CROSS_SOURCE = perl-$(PERL_CROSS_BASE_VERSION)-cross-$(PERL_CROSS_VERSION).tar.gz +PERL_CROSS_OLD_POD = perl$(subst .,,$(PERL_CROSS_BASE_VERSION))delta.pod +PERL_CROSS_NEW_POD = perl$(subst .,,$(PERL_VERSION))delta.pod + +# We use the perlcross hack to cross-compile perl. It should +# be extracted over the perl sources, so we don't define that +# as a separate package. Instead, it is downloaded and extracted +# together with perl + +define PERL_CROSS_DOWNLOAD + $(call DOWNLOAD,$(PERL_CROSS_SITE),$(PERL_CROSS_SOURCE)) +endef +PERL_POST_DOWNLOAD_HOOKS += PERL_CROSS_DOWNLOAD + +define PERL_CROSS_EXTRACT + $(INFLATE$(suffix $(PERL_CROSS_SOURCE))) $(DL_DIR)/$(PERL_CROSS_SOURCE) | \ + $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(@D) $(TAR_OPTIONS) - +endef +PERL_POST_EXTRACT_HOOKS += PERL_CROSS_EXTRACT + +define PERL_CROSS_SET_POD + $(SED) s/$(PERL_CROSS_OLD_POD)/$(PERL_CROSS_NEW_POD)/g $(@D)/Makefile +endef +PERL_POST_PATCH_HOOKS += PERL_CROSS_SET_POD + +ifeq ($(BR2_PACKAGE_BERKELEYDB),y) + PERL_DEPENDENCIES += berkeleydb +endif + +# We have to override LD, because an external multilib toolchain ld is not +# wrapped to provide the required sysroot options. We also can't use ccache +# because the configure script doesn't support it. +PERL_CONF_OPT = \ + --target=$(GNU_TARGET_NAME) \ + --target-tools-prefix=$(TARGET_CROSS) \ + --prefix=/usr \ + -Accflags='-DAPPLLIB_EXP=\"/mnt/kd/perl:/usr/local/share/perl\"' \ + -Dsitelib=/mnt/kd/perl \ + -Dld="$(TARGET_CC_NOCCACHE)" \ + -Dccflags="$(TARGET_CFLAGS)" \ + -Dldflags="$(TARGET_LDFLAGS) -lm" \ + -Dmydomain="" \ + -Dmyhostname="$(BR2_TARGET_GENERIC_HOSTNAME)" \ + -Dmyuname="Buildroot $(BR2_VERSION_FULL)" \ + -Dosname=linux \ + -Dosvers=$(LINUX_VERSION_PROBED) \ + -Dperladmin=root + +ifeq ($(shell expr $(PERL_VERSION_MAJOR) % 2), 1) + PERL_CONF_OPT += -Dusedevel +endif + +ifneq ($(BR2_LARGEFILE),y) + PERL_CONF_OPT += -Uuselargefiles +endif + +ifneq ($(PERL_MODULES),) +PERL_CONF_OPT += --only-mod=$(subst $(space),$(comma),$(PERL_MODULES)) +endif + +define PERL_CONFIGURE_CMDS + (cd $(@D); HOSTCC='$(HOSTCC_NOCACHE)' ./configure $(PERL_CONF_OPT)) + $(SED) 's/UNKNOWN-/Buildroot $(BR2_VERSION_FULL) /' $(@D)/patchlevel.h +endef + +# perlcross's miniperl_top forgets base, which is required by mktables. +# Instead of patching, it's easier to just set PERL5LIB +define PERL_BUILD_CMDS + PERL5LIB=$(@D)/dist/base/lib $(MAKE1) -C $(@D) perl modules +endef + +define PERL_INSTALL_STAGING_CMDS + PERL5LIB=$(@D)/dist/base/lib $(MAKE1) -C $(@D) DESTDIR="$(STAGING_DIR)" install.perl +endef + +PERL_INSTALL_TARGET_GOALS = install.perl +ifeq ($(BR2_HAVE_DOCUMENTATION),y) +PERL_INSTALL_TARGET_GOALS += install.man +endif + + +define PERL_INSTALL_TARGET_CMDS + PERL5LIB=$(@D)/dist/base/lib $(MAKE1) -C $(@D) DESTDIR="$(TARGET_DIR)" $(PERL_INSTALL_TARGET_GOALS) + # Remove all .pod files + find $(TARGET_DIR)/usr/lib/perl/ -name "*.pod" | xargs rm -f + # + ln -sf perl$(PERL_VERSION) $(TARGET_DIR)/usr/bin/perl +endef + +define PERL_CLEAN_CMDS + -$(MAKE1) -C $(@D) clean + rm -rf $(TARGET_DIR)/usr/lib/perl/ + rm -f $(TARGET_DIR)/usr/bin/perl $(TARGET_DIR)/usr/bin/perl$(PERL_VERSION) +endef + +$(eval $(call GENTARGETS,package,perl)) Modified: branches/1.0/runnix-uclibc.config =================================================================== --- branches/1.0/runnix-uclibc.config 2012-12-22 18:56:14 UTC (rev 5833) +++ branches/1.0/runnix-uclibc.config 2012-12-24 21:08:37 UTC (rev 5834) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot 2011.08-svn5651-dirty Configuration -# Wed Aug 29 23:41:29 2012 +# Buildroot 2011.08-svn5833-dirty Configuration +# Mon Dec 24 14:52:04 2012 # BR2_HAVE_DOT_CONFIG=y # BR2_arm is not set @@ -584,6 +584,7 @@ # BR2_PACKAGE_BC is not set # BR2_PACKAGE_HASERL is not set # BR2_PACKAGE_LUA is not set +# BR2_PACKAGE_PERL is not set # BR2_PACKAGE_MICROPERL is not set # BR2_PACKAGE_PHP is not set Modified: branches/1.0/runnix.config =================================================================== --- branches/1.0/runnix.config 2012-12-22 18:56:14 UTC (rev 5833) +++ branches/1.0/runnix.config 2012-12-24 21:08:37 UTC (rev 5834) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot 2011.08-svn5651-dirty Configuration -# Wed Aug 29 23:41:28 2012 +# Buildroot 2011.08-svn5833-dirty Configuration +# Mon Dec 24 14:51:56 2012 # BR2_HAVE_DOT_CONFIG=y # BR2_arm is not set @@ -408,6 +408,7 @@ # BR2_PACKAGE_BC is not set # BR2_PACKAGE_HASERL is not set # BR2_PACKAGE_LUA is not set +# BR2_PACKAGE_PERL is not set # BR2_PACKAGE_MICROPERL is not set # BR2_PACKAGE_PHP is not set # BR2_PACKAGE_PYTHON is not set This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |