|
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.
|