Skip to contentSkip to conversation

perl: new package v4

PATCH New Francois Perrad 3 participants 13 messages Aug 27, 2012 – Aug 28, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/9 perl: new package v4

---
 package/Config.in                                  |    1 +
 package/perl/Config.in                             |   17 ++
 package/perl/perl-EUMM.patch                       |   30 ++++
 package/perl/perl-add-targets-remote-test.patch    |   27 +++
 package/perl/perl-configure-qemu.patch             |   23 +++
 package/perl/perl-fix-cpan-Encode.patch            |  109 ++++++++++++
 package/perl/perl-fix-cpan-IPC-SysV.patch          |   17 ++
 package/perl/perl-fix-test-base-term-t.patch       |   17 ++
 package/perl/perl-fix-test-pl.patch                |   18 ++
 package/perl/perl-make-ext.patch                   |   24 +++
 package/perl/perl-mkppport.patch                   |   37 +++++
 .../perl/perl-rewrite-tests-with-which-perl.patch  |  175 ++++++++++++++++++++
 package/perl/perl.mk                               |  112 +++++++++++++
 13 files changed, 607 insertions(+)
 create mode 100644 package/perl/Config.in
 create mode 100644 package/perl/perl-EUMM.patch
 create mode 100644 package/perl/perl-add-targets-remote-test.patch
 create mode 100644 package/perl/perl-configure-qemu.patch
 create mode 100644 package/perl/perl-fix-cpan-Encode.patch
 create mode 100644 package/perl/perl-fix-cpan-IPC-SysV.patch
 create mode 100644 package/perl/perl-fix-test-base-term-t.patch
 create mode 100644 package/perl/perl-fix-test-pl.patch
 create mode 100644 package/perl/perl-make-ext.patch
 create mode 100644 package/perl/perl-mkppport.patch
 create mode 100644 package/perl/perl-rewrite-tests-with-which-perl.patch
 create mode 100644 package/perl/perl.mk
package/Config.in +1 -0
index f308de7..00a79ab 100644
@@ -262,6 +262,7 @@ source "package/wsapi/Config.in"
 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"
package/perl/Config.in new file +17 -0
new file mode 100644
index 0000000..286b09e
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_PERL
+	bool "perl"
+	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/
+
+if BR2_PACKAGE_PERL
+
+config BR2_PACKAGE_PERL_CUSTOM_CONFIGURE
+	string "configuration flags"
+	help
+	  Allows to add some flags to Configure.
+
+endif
package/perl/perl-EUMM.patch new file +30 -0
new file mode 100644
index 0000000..4134f8a
@@ -0,0 +1,30 @@
+Add RUN
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+===================================================================
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+@@ -1924,7 +1925,7 @@
+     foreach my $perl (qw(PERL FULLPERL ABSPERL)) {
+         my $run  = $perl.'RUN';
+ 
+-        $self->{$run}  = "\$($perl)";
++        $self->{$run}  = "\$(RUN) \$($perl)";
+ 
+         # Make sure perl can find itself before it's installed.
+         $self->{$run} .= q{ "-I$(PERL_LIB)" "-I$(PERL_ARCHLIB)"} 
+Index: b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
+===================================================================
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
+@@ -350,7 +350,7 @@
+     @Get_from_Config = 
+         qw(
+            ar cc cccdlflags ccdlflags dlext dlsrc exe_ext full_ar ld 
+-           lddlflags ldflags libc lib_ext obj_ext osname osvers ranlib 
++           lddlflags ldflags libc lib_ext obj_ext osname osvers ranlib run
+            sitelibexp sitearchexp so
+           );
+ 
package/perl/perl-add-targets-remote-test.patch new file +27 -0
new file mode 100644
index 0000000..455375c
@@ -0,0 +1,27 @@
+Add targets rminitest/rtest for cross testing with qemu
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/Makefile.SH
+===================================================================
+--- a/Makefile.SH
++++ b/Makefile.SH
+@@ -1533,6 +1533,18 @@
+ test_porting test-porting: test_prep
+ 	cd t && $(RUN_PERL) harness porting/*.t ../lib/diagnostics.t
+ 
++
++# Remote Test (via qemu)
++
++rminitest: $(MINIPERL_EXE)
++	- cd t && (rm -f $(PERL_EXE); echo "#!/bin/sh\\n$(RUN) ../miniperl \"\$$@\"" >$(PERL_EXE); chmod +x $(PERL_EXE)) \
++		&& $(PERL_EXE) TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t op/*.t uni/*.t </dev/tty
++
++rtest: $(PERL_EXE)
++	- cd t && (rm -f $(PERL_EXE); echo "#!/bin/sh\\n$(RUN) ../perl \"\$$@\"" >$(PERL_EXE); chmod +x $(PERL_EXE)) \
++		&& $(PERL_EXE) TEST */*.t </dev/tty
++
++
+ # Handy way to run perlbug -ok without having to install and run the
+ # installed perlbug. We don't re-run the tests here - we trust the user.
+ # Please *don't* use this unless all tests pass.
package/perl/perl-configure-qemu.patch new file +23 -0
new file mode 100644
index 0000000..9d75d8e
@@ -0,0 +1,23 @@
+Add qemu support
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/Configure
+===================================================================
+--- a/Configure
++++ b/Configure
+@@ -2908,6 +2908,14 @@
+ $targetrun -l $targetuser $targethost "cd \$cwd && ./\$exe \$@"
+ EOF
+ 	    ;;
++	qemu*)
++	    targetto=cp
++	    targetfrom=cp
++	    cat >$run <<EOF
++#!/bin/sh
++$targetrun -L $qemulib $exe "\$@"
++EOF
++	    ;;
+ 	*)  echo "Unknown targetrun '$targetrun'" >&4
+ 	    exit 1
+ 	    ;;
package/perl/perl-fix-cpan-Encode.patch new file +109 -0

109 lines not on this page · raw message

package/perl/perl-fix-cpan-IPC-SysV.patch new file +17 -0
new file mode 100644
index 0000000..911c1a1
@@ -0,0 +1,17 @@
+Use PERLRUN instead of PERL
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/cpan/IPC-SysV/Makefile.PL
+===================================================================
+--- a/cpan/IPC-SysV/Makefile.PL
++++ b/cpan/IPC-SysV/Makefile.PL
+@@ -93,7 +93,7 @@
+ 	@$(RM_F) const-c.inc const-xs.inc
+ 
+ regen:
+-	$(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) regen.pl
++	$(PERLRUN) regen.pl
+ 
+ const-c.inc: lib/IPC/SysV.pm regen.pl
+ 	@$(MAKE) regen
package/perl/perl-fix-test-base-term-t.patch new file +17 -0
new file mode 100644
index 0000000..724c5d0
@@ -0,0 +1,17 @@
+not for upstream
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/t/base/term.t
+===================================================================
+--- a/t/base/term.t
++++ b/t/base/term.t
+@@ -17,7 +17,7 @@
+ 
+ # check `` processing
+ 
+-$x = `$^X -le "print 'hi there'"`;
++$x = `./perl -le "print 'hi there'"`;
+ if ($x eq "hi there\n") {print "ok 2\n";} else {print "not ok 2\n";}
+ 
+ # check $#array
package/perl/perl-fix-test-pl.patch new file +18 -0
new file mode 100644
index 0000000..202c6a6
@@ -0,0 +1,18 @@
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/t/test.pl
+===================================================================
+--- a/t/test.pl
++++ b/t/test.pl
+@@ -733,6 +733,10 @@
+ 
+ 	# For subcommands to use.
+ 	$ENV{PERLEXE} = $Perl;
++
++	if ($Config::Config{run}) {
++	    $Perl = './perl';
++	}
+     }
+     return $Perl;
+ }
package/perl/perl-make-ext.patch new file +24 -0
new file mode 100644
index 0000000..5596298
@@ -0,0 +1,24 @@
+Don't use RUN with make (only for perl)
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/make_ext.pl
+===================================================================
+--- a/make_ext.pl
++++ b/make_ext.pl
+@@ -458,11 +458,13 @@
+ 	# Give makefile an opportunity to rewrite itself.
+ 	# reassure users that life goes on...
+ 	my @args = ('config', @$pass_through);
+-	system(@run, @make, @args) and print "@run @make @args failed, continuing anyway...\n";
++#	system(@run, @make, @args) and print "@run @make @args failed, continuing anyway...\n";
++	system(@make, @args) and print "@run @make @args failed, continuing anyway...\n";
+     }
+     my @targ = ($target, @$pass_through);
+     print "Making $target in $ext_dir\n at run @make @targ\n";
+-    my $code = system(@run, @make, @targ);
++#    my $code = system(@run, @make, @targ);
++    my $code = system(@make, @targ);
+     die "Unsuccessful make($ext_dir): code=$code" if $code != 0;
+ 
+     chdir $return_dir || die "Cannot cd to $return_dir: $!";
package/perl/perl-mkppport.patch new file +37 -0
new file mode 100644
index 0000000..97f27a2
@@ -0,0 +1,37 @@
+Add RUN
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/mkppport
+===================================================================
+--- a/mkppport
++++ b/mkppport
+@@ -1,6 +1,7 @@
+ use strict;
+ use warnings;
+ 
++use Config;
+ use Getopt::Long;
+ use File::Spec;
+ use File::Compare qw( compare );
+@@ -136,14 +137,18 @@
+ #----------------------------------------------
+ sub run
+ {
++  my @run = $Config{run};
++  @run = () if not defined $run[0] or $run[0] eq '';
+   my @args = ("-I" . File::Spec->catdir((File::Spec->updir) x 2, 'lib'), @_);
+   my $run = $perl =~ m/\s/ ? qq("$perl") : $perl;
+   for (@args) {
+     $_ = qq("$_") if $^O eq 'VMS' && /^[^"]/;
+     $run .= " $_";
+   }
+-  print "running $run\n";
+-  system $run and die "$run failed: $?\n";
++#  print "running $run\n";
++#  system $run and die "$run failed: $?\n";
++  print "running ", join(' ', @run, $run), "\n";
++  system join(' ', @run, $run) and die "@run $run failed: $?\n";
+ }
+ 
+ __END__
package/perl/perl-rewrite-tests-with-which-perl.patch new file +175 -0

175 lines not on this page · raw message

package/perl/perl.mk new file +112 -0

112 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 2/9 perl: add an option for miniperl

---
 package/perl/Config.in                   |    6 ++
 package/perl/perl-install-miniperl.patch |  129 ++++++++++++++++++++++++++++++
 package/perl/perl.mk                     |    6 +-
 3 files changed, 140 insertions(+), 1 deletion(-)
 create mode 100644 package/perl/perl-install-miniperl.patch
package/perl/Config.in +6 -0
index 286b09e..1f044eb 100644
@@ -14,4 +14,10 @@ config BR2_PACKAGE_PERL_CUSTOM_CONFIGURE
 	help
 	  Allows to add some flags to Configure.
 
+config BR2_PACKAGE_PERL_ONLY_MINIPERL
+	bool "only miniperl"
+	help
+	  Install only miniperl (without dynamic module loader)
+	  Usually used to bootstrap a full Perl (@INC contains only .).
+
 endif
package/perl/perl-install-miniperl.patch new file +129 -0

129 lines not on this page · raw message

package/perl/perl.mk +5 -1
index 813d8bf..5161654 100644
@@ -16,6 +16,10 @@ ifeq ($(shell expr $(PERL_VERSION_MAJOR) % 2), 1)
 PERL_USE_DEVEL=-Dusedevel
 endif
 
+ifdef BR2_PACKAGE_PERL_ONLY_MINIPERL
+    PERL_INSTALL_ONLY_MINIPERL = -miniperl
+endif
+
 PERL_ARCH=$(call qstrip,$(BR2_ARCH))
 ifeq ($(PERL_ARCH),i686)
     PERL_ARCH=i386
@@ -79,7 +83,7 @@ endef
 
 define PERL_INSTALL_TARGET_CMDS
 	$(MAKE) INSTALL_DEPENDENCE= \
-		INSTALLFLAGS=-p \
+		INSTALLFLAGS="-p $(PERL_INSTALL_ONLY_MINIPERL)"\
 		DESTDIR="$(TARGET_DIR)" \
 		-C $(@D) install.perl
 endef
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH 3/9 cpanminus: new package v2

In reply to Francois Perrad
---
 package/Config.in                         |    5 +++++
 package/cpanminus/Config.in               |   23 +++++++++++++++++++
 package/cpanminus/cpanminus-destdir.patch |   24 ++++++++++++++++++++
 package/cpanminus/cpanminus.mk            |   34 +++++++++++++++++++++++++++++
 package/perl/perl-EUMM.patch              |   19 +++++++++++++++-
 5 files changed, 104 insertions(+), 1 deletion(-)
 create mode 100644 package/cpanminus/Config.in
 create mode 100644 package/cpanminus/cpanminus-destdir.patch
 create mode 100644 package/cpanminus/cpanminus.mk
package/Config.in +5 -0
index 00a79ab..48d25fc 100644
@@ -263,6 +263,11 @@ source "package/xavante/Config.in"
 endmenu
 endif
 source "package/perl/Config.in"
+if BR2_PACKAGE_PERL
+menu "Perl libraries/modules"
+source "package/cpanminus/Config.in"
+endmenu
+endif
 source "package/microperl/Config.in"
 source "package/php/Config.in"
 source "package/python/Config.in"
package/cpanminus/Config.in new file +23 -0
new file mode 100644
index 0000000..7c41c4d
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_CPANMINUS
+	bool "cpanminus"
+	help
+	  cpanminus is a script to get, unpack, build and install Perl modules
+	  from CPAN.
+
+	  Why? It's dependency free, requires zero configuration, and stands
+	  alone. When running, it requires only 10MB of RAM.
+
+	  http://github.com/miyagawa/cpanminus
+
+if BR2_PACKAGE_CPANMINUS
+
+config BR2_PACKAGE_CPANMINUS_MODULES
+	string "Perl modules from CPAN"
+	help
+	  List of space-separated Perl modules to install from CPAN.
+
+	  Examples: Try::Tiny Dancer YAML Moo
+
+	  Install the listed modules and their dependencies.
+
+endif
package/cpanminus/cpanminus-destdir.patch new file +24 -0
new file mode 100644
index 0000000..c1c61ad
@@ -0,0 +1,24 @@
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+Index: b/cpanm
+===================================================================
+--- a/cpanm
++++ b/cpanm
+@@ -399,6 +399,7 @@
+           'h|help'    => sub { $self->{action} = 'show_help' },
+           'V|version' => sub { $self->{action} = 'show_version' },
+           'perl=s'    => \$self->{perl},
++          'destdir=s' => \$self->{destdir},
+           'l|local-lib=s' => sub { $self->{local_lib} = $self->maybe_abs($_[1]) },
+           'L|local-lib-contained=s' => sub {
+               $self->{local_lib} = $self->maybe_abs($_[1]);
+@@ -1636,7 +1637,7 @@
+           $self->diag_progress("Building " . ($self->{notest} ? "" : "and testing ") . $distname);
+           $self->build([ $self->{make} ], $distname) &&
+           $self->test([ $self->{make}, "test" ], $distname) &&
+-          $self->install([ $self->{make}, "install" ], [ "UNINST=1" ], $depth) &&
++          $self->install([ $self->{make}, "install", "DESTDIR=$self->{destdir}" ], [ "UNINST=1" ], $depth) &&
+           $installed++;
+       } else {
+           my $why;
package/cpanminus/cpanminus.mk new file +34 -0
new file mode 100644
index 0000000..ce2a09b
@@ -0,0 +1,34 @@
+#############################################################
+#
+# cpanminus
+#
+#############################################################
+
+CPANMINUS_VERSION = 1.5017
+CPANMINUS_SOURCE = miyagawa-cpanminus-$(CPANMINUS_VERSION)-0-g917a607.tar.gz
+CPANMINUS_SITE = https://github.com/miyagawa/cpanminus/tarball/$(CPANMINUS_VERSION)
+CPANMINUS_DEPENDENCIES = perl
+
+CPANMINUS_ARCH=$(call qstrip,$(BR2_ARCH))
+ifeq ($(CPANMINUS_ARCH),i686)
+    CPANMINUS_ARCH=i386
+endif
+CPANMINUS_QEMU_USER_MODE=qemu-$(CPANMINUS_ARCH) -L $(STAGING_DIR)
+CPANMINUS_RUN_PERL=$(CPANMINUS_QEMU_USER_MODE) $(STAGING_DIR)/usr/bin/perl
+CPANMINUS_ARCHNAME=$(shell $(CPANMINUS_RUN_PERL) -MConfig -e "print Config->{archname}")
+CPANMINUS_PERL5LIB=$(TARGET_DIR)/usr/lib/perl5/site_perl/$(PERL_VERSION)/$(CPANMINUS_ARCHNAME):$(TARGET_DIR)/usr/lib/perl5/site_perl/$(PERL_VERSION):$(TARGET_DIR)/usr/lib/perl5/$(PERL_VERSION)/$(CPANMINUS_ARCHNAME):$(TARGET_DIR)/usr/lib/perl5/$(PERL_VERSION)
+
+define CPANMINUS_INSTALL_TARGET_CMDS
+	echo "#!/bin/sh"                                                        > $(@D)/run_perl
+	echo "PERL5LIB=$(CPANMINUS_PERL5LIB) $(CPANMINUS_RUN_PERL) \"\$$@\""    >>$(@D)/run_perl
+	chmod +x $(@D)/run_perl
+	PERL5LIB=$(CPANMINUS_PERL5LIB) \
+	$(CPANMINUS_RUN_PERL) $(@D)/cpanm \
+		--perl=$(@D)/run_perl \
+		--destdir="$(TARGET_DIR)" \
+		--notest \
+		--no-man-pages \
+		$(call qstrip,$(BR2_PACKAGE_CPANMINUS_MODULES))
+endef
+
+$(eval $(generic-package))
package/perl/perl-EUMM.patch +18 -1
index 4134f8a..689c2c9 100644
@@ -6,7 +6,24 @@ Index: b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
 ===================================================================
 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
 +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
-@@ -1924,7 +1925,7 @@
+@@ -1659,8 +1659,14 @@
+     } else {
+ 	# we should also consider $ENV{PERL5LIB} here
+         my $old = $self->{PERL_LIB} || $self->{PERL_ARCHLIB} || $self->{PERL_INC};
+-	$self->{PERL_LIB}     ||= $Config{privlibexp};
+-	$self->{PERL_ARCHLIB} ||= $Config{archlibexp};
++	if ($Config{run}) {
++	    $self->{PERL_LIB}     ||= $inc_carp_dir;
++	    $self->{PERL_ARCHLIB} ||= $inc_config_dir;
++	}
++	else {
++	    $self->{PERL_LIB}     ||= $Config{privlibexp};
++	    $self->{PERL_ARCHLIB} ||= $Config{archlibexp};
++	}
+ 	$self->{PERL_INC}     = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
+ 	my $perl_h;
+ 
+@@ -1924,7 +1930,7 @@
      foreach my $perl (qw(PERL FULLPERL ABSPERL)) {
          my $run  = $perl.'RUN';
  
Signature · 1 line
1.7.9.5
#3 lore raw

PATCH 4/9 microperl: build extensions at build time

In reply to Francois Perrad

just set PERL5LIB in build tree
optim: symlink only one time, before the loop

---
 package/microperl/microperl.mk |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
package/microperl/microperl.mk +5 -4
index b2a912a..fa92144 100644
@@ -97,6 +97,7 @@ define MICROPERL_CONFIGURE_CMDS
 	cp -f $(@D)/uconfig.sh $(@D)/config.sh
 	echo "ccname='$(TARGET_CC)'" >>$(@D)/config.sh
 	echo "PERL_CONFIG_SH=true" >>$(@D)/config.sh
+	touch $(@D)/config.h    # avoid warning : out of date
 	cd $(@D) ; $(HOST_DIR)/usr/bin/perl make_patchnum.pl ; \
 	$(HOST_DIR)/usr/bin/perl configpm
 endef
@@ -106,16 +107,17 @@ define MICROPERL_BUILD_CMDS
 		CC="$(HOSTCC)" bitcount.h
 	$(MAKE) -f Makefile.micro -C $(@D) \
 		CC="$(TARGET_CC)" OPTIMIZE="$(TARGET_CFLAGS)"
+	$(MICROPERL_BUILD_EXTENSIONS)
 endef
 
 # Some extensions don't need a build run
 # We try to build anyway to avoid a huge black list
 # Just ignore make_ext.pl warning/errors
 define MICROPERL_BUILD_EXTENSIONS
+	cd $(@D); rm -f miniperl; ln -s $(HOST_DIR)/usr/bin/perl miniperl;
 	for i in $(MICROPERL_MODS); do \
-	cd $(@D); ln -sf $(HOST_DIR)/usr/bin/perl miniperl; \
-		PERL5LIB=$(TARGET_DIR)/$(MICROPERL_ARCH_DIR) \
-		$(HOST_DIR)/usr/bin/perl make_ext.pl MAKE="$(MAKE)" --nonxs \
+	cd $(@D); PERL5LIB=lib \
+		./miniperl make_ext.pl MAKE="$(MAKE)" --nonxs \
 		`echo $$i|sed -e 's/.pm//'`; \
 	done
 endef
@@ -131,7 +133,6 @@ define MICROPERL_INSTALL_TARGET_CMDS
 		$(INSTALL) -m 0644 -D $(@D)/lib/$$i \
 			$(TARGET_DIR)/$(MICROPERL_MODS_DIR)/$$i; \
 	done
-	$(MICROPERL_BUILD_EXTENSIONS)
 	for i in $(MICROPERL_MODS); do \
 		j=`echo $$i|cut -d : -f 1` ; \
 		if [ -d $(@D)/lib/$$j ] ; then \
Signature · 1 line
1.7.9.5
#4 lore raw

PATCH 5/9 microperl: bump version to 5.14.2

In reply to Francois Perrad

patches have been merged in upstream
perl -V requires more modules

---
 .../microperl/microperl-no-signal-handlers.patch   |   22 ---------
 package/microperl/microperl-uudmap.patch           |   47 --------------------
 package/microperl/microperl.mk                     |   10 ++---
 3 files changed, 5 insertions(+), 74 deletions(-)
 delete mode 100644 package/microperl/microperl-no-signal-handlers.patch
 delete mode 100644 package/microperl/microperl-uudmap.patch
package/microperl/microperl-no-signal-handlers.patch deleted +0 -22
deleted file mode 100644
index 3c9aa41..0000000
@@ -1,22 +0,0 @@
-Backport of http://perl5.git.perl.org/perl.git/commitdiff/01d65469392dfc0a?hp=a82b5f080d91ffe184d8ac4795ac71e72e612c2f
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
-
-diff -Nura perl-5.12.3/miniperlmain.c perl-5.12.3-nosig/miniperlmain.c
---- perl-5.12.3/miniperlmain.c	2011-01-09 17:20:57.000000000 -0300
-+++ perl-5.12.3-nosig/miniperlmain.c	2011-04-14 10:16:53.564639438 -0300
-@@ -116,12 +116,14 @@
-     if (!exitstatus)
-         perl_run(my_perl);
- 
-+#ifndef PERL_MICRO
-     /* Unregister our signal handler before destroying my_perl */
-     for (i = 0; PL_sig_name[i]; i++) {
- 	if (rsignal_state(PL_sig_num[i]) == (Sighandler_t) PL_csighandlerp) {
- 	    rsignal(PL_sig_num[i], (Sighandler_t) SIG_DFL);
- 	}
-     }
-+#endif
- 
-     exitstatus = perl_destruct(my_perl);
- 
package/microperl/microperl-uudmap.patch deleted +0 -47

47 lines not on this page · raw message

package/microperl/microperl.mk +5 -5
index fa92144..1899e03 100644
@@ -4,7 +4,8 @@
 #
 #############################################################
 
-MICROPERL_VERSION = 5.12.4
+MICROPERL_VERSION_MAJOR = 14
+MICROPERL_VERSION = 5.$(MICROPERL_VERSION_MAJOR).2
 MICROPERL_SITE = http://www.cpan.org/src/5.0
 MICROPERL_SOURCE = perl-$(MICROPERL_VERSION).tar.bz2
 MICROPERL_LICENSE = Artistic
@@ -16,12 +17,11 @@ MICROPERL_MODS = $(call qstrip,$(BR2_PACKAGE_MICROPERL_MODULES))
 
 # Minimal set of modules required for 'perl -V' to work
 MICROPERL_ARCH_MODS = Config.pm Config_git.pl Config_heavy.pl
-MICROPERL_BASE_MODS = strict.pm
+MICROPERL_BASE_MODS = strict.pm vars.pm warnings.pm warnings/register.pm
 
 # CGI bundle
 ifeq ($(BR2_PACKAGE_MICROPERL_BUNDLE_CGI),y)
-MICROPERL_MODS += constant.pm CGI CGI.pm Carp.pm Exporter.pm overload.pm \
-	vars.pm warnings.pm warnings/register.pm
+MICROPERL_MODS += constant.pm CGI CGI.pm Carp.pm Exporter.pm overload.pm
 endif
 
 # Host microperl is actually full-blown perl
@@ -70,7 +70,7 @@ define MICROPERL_CONFIGURE_CMDS
 		-e '/^osname=/d' -e '/^u32type=/d' -e '/^d_archlib=/d' \
 		-e '/^d_memset=/d' -e '/^i_fcntl=/d' -e '/^useperlio=/d' \
 		-e '/^need_va_copy=/d' $(@D)/uconfig.sh
-	$(SED) 's/5.12/$(MICROPERL_VERSION)/' $(@D)/uconfig.sh
+	$(SED) 's/5\.$(MICROPERL_VERSION_MAJOR)/$(MICROPERL_VERSION)/' $(@D)/uconfig.sh
 	echo "archlib='$(MICROPERL_ARCH_DIR)'" >>$(@D)/uconfig.sh
 	echo "archlibexp='$(MICROPERL_ARCH_DIR)'" >>$(@D)/uconfig.sh
 	echo "d_archlib='define'" >>$(@D)/uconfig.sh
Signature · 1 line
1.7.9.5
#5 lore raw

PATCH 6/9 microperl: improve configure step on 64bits platform

In reply to Francois Perrad

use uconfig64.sh instead of uconfig.sh

---
 package/microperl/microperl.mk |   74 ++++++++++++++++++++++------------------
 1 file changed, 41 insertions(+), 33 deletions(-)
package/microperl/microperl.mk +41 -33
index 1899e03..4b68567 100644
@@ -15,6 +15,18 @@ MICROPERL_MODS_DIR = /usr/lib/perl5/$(MICROPERL_VERSION)
 MICROPERL_ARCH_DIR = $(MICROPERL_MODS_DIR)/$(GNU_TARGET_NAME)
 MICROPERL_MODS = $(call qstrip,$(BR2_PACKAGE_MICROPERL_MODULES))
 
+ifeq ($(BR2_ARCH_IS_64),y)
+MICROPERL_UCONFIG_SH = $(@D)/uconfig64.sh
+define MICROPERL_REGEN_CONFIG
+	$(MAKE) -C $(@D) -f Makefile.micro regen_uconfig64
+endef
+else
+MICROPERL_UCONFIG_SH = $(@D)/uconfig.sh
+define MICROPERL_REGEN_CONFIG
+	$(MAKE) -C $(@D) -f Makefile.micro regen_uconfig
+endef
+endif
+
 # Minimal set of modules required for 'perl -V' to work
 MICROPERL_ARCH_MODS = Config.pm Config_git.pl Config_heavy.pl
 MICROPERL_BASE_MODS = strict.pm vars.pm warnings.pm warnings/register.pm
@@ -41,60 +53,56 @@ endef
 
 ifeq ($(BR2_ENDIAN),"BIG")
 define MICROPERL_BIGENDIAN
-	$(SED) '/^byteorder=/d' $(@D)/uconfig.sh
-	echo "byteorder='4321'" >>$(@D)/uconfig.sh
+	$(SED) '/^byteorder=/d' $(MICROPERL_UCONFIG_SH)
+	echo "byteorder='4321'" >>$(MICROPERL_UCONFIG_SH)
 endef
 endif
 
 ifeq ($(BR2_LARGEFILE),y)
 define MICROPERL_LARGEFILE
-	$(SED) '/^uselargefiles=/d' $(@D)/uconfig.sh
-	echo "uselargefiles='define'" >>$(@D)/uconfig.sh
+	$(SED) '/^uselargefiles=/d' $(MICROPERL_UCONFIG_SH)
+	echo "uselargefiles='define'" >>$(MICROPERL_UCONFIG_SH)
 endef
 endif
 
 ifeq ($(BR2_USE_WCHAR),y)
 define MICROPERL_WCHAR
 	$(SED) '/^d_mbstowcs=/d' -e '/^d_mbtowc=/d' -e '/^d_wcstombs=/d' \
-		-e '/^d_wctomb=/d' $(@D)/uconfig.sh
-	echo "d_mbstowcs='define'" >>$(@D)/uconfig.sh
-	echo "d_mbtowc='define'" >>$(@D)/uconfig.sh
-	echo "d_wcstombs='define'" >>$(@D)/uconfig.sh
-	echo "d_wctomb='define'" >>$(@D)/uconfig.sh
+		-e '/^d_wctomb=/d' $(MICROPERL_UCONFIG_SH)
+	echo "d_mbstowcs='define'" >>$(MICROPERL_UCONFIG_SH)
+	echo "d_mbtowc='define'" >>$(MICROPERL_UCONFIG_SH)
+	echo "d_wcstombs='define'" >>$(MICROPERL_UCONFIG_SH)
+	echo "d_wctomb='define'" >>$(MICROPERL_UCONFIG_SH)
 endef
 endif
 
 define MICROPERL_CONFIGURE_CMDS
 	$(SED) '/^archlib=/d' -e '/^archlibexp=/d' -e '/^optimize=/d' \
 		-e '/^archname=/d' -e '/^d_poll=/d' -e '/^i_poll=/d' \
-		-e '/^osname=/d' -e '/^u32type=/d' -e '/^d_archlib=/d' \
-		-e '/^d_memset=/d' -e '/^i_fcntl=/d' -e '/^useperlio=/d' \
-		-e '/^need_va_copy=/d' $(@D)/uconfig.sh
-	$(SED) 's/5\.$(MICROPERL_VERSION_MAJOR)/$(MICROPERL_VERSION)/' $(@D)/uconfig.sh
-	echo "archlib='$(MICROPERL_ARCH_DIR)'" >>$(@D)/uconfig.sh
-	echo "archlibexp='$(MICROPERL_ARCH_DIR)'" >>$(@D)/uconfig.sh
-	echo "d_archlib='define'" >>$(@D)/uconfig.sh
-	echo "archname='$(GNU_TARGET_NAME)'" >>$(@D)/uconfig.sh
-	echo "osname='linux'" >>$(@D)/uconfig.sh
-	echo "cc='$(TARGET_CC)'" >>$(@D)/uconfig.sh
-	echo "ccflags='$(TARGET_CFLAGS)'" >>$(@D)/uconfig.sh
-	echo "optimize='$(TARGET_CFLAGS)'" >>$(@D)/uconfig.sh
-	echo "usecrosscompile='define'" >>$(@D)/uconfig.sh
-	echo "d_memset='define'" >>$(@D)/uconfig.sh
-	echo "i_fcntl='define'" >>$(@D)/uconfig.sh
-	echo "useperlio='define'" >>$(@D)/uconfig.sh
-	echo "u32type='unsigned int'" >>$(@D)/uconfig.sh
-	echo "need_va_copy='define'" >>$(@D)/uconfig.sh
-	echo "d_poll='define'" >>$(@D)/uconfig.sh
-	echo "i_poll='define'" >>$(@D)/uconfig.sh
-	$(SED) 's/UNKNOWN-/Buildroot $(BR2_VERSION_FULL) /' $(@D)/patchlevel.h
-	$(SED) 's/local\///' $(@D)/uconfig.sh
+		-e '/^osname=/d' -e '/^d_archlib=/d' -e '/^i_fcntl=/d' \
+		-e '/^useperlio=/d' $(MICROPERL_UCONFIG_SH)
+	$(SED) 's/5\.$(MICROPERL_VERSION_MAJOR)/$(MICROPERL_VERSION)/' $(MICROPERL_UCONFIG_SH)
+	echo "archlib='$(MICROPERL_ARCH_DIR)'" >>$(MICROPERL_UCONFIG_SH)
+	echo "archlibexp='$(MICROPERL_ARCH_DIR)'" >>$(MICROPERL_UCONFIG_SH)
+	echo "d_archlib='define'" >>$(MICROPERL_UCONFIG_SH)
+	echo "archname='$(GNU_TARGET_NAME)'" >>$(MICROPERL_UCONFIG_SH)
+	echo "osname='linux'" >>$(MICROPERL_UCONFIG_SH)
+	echo "cc='$(TARGET_CC)'" >>$(MICROPERL_UCONFIG_SH)
+	echo "ccflags='$(TARGET_CFLAGS)'" >>$(MICROPERL_UCONFIG_SH)
+	echo "optimize='$(TARGET_CFLAGS)'" >>$(MICROPERL_UCONFIG_SH)
+	echo "usecrosscompile='define'" >>$(MICROPERL_UCONFIG_SH)
+	echo "i_fcntl='define'" >>$(MICROPERL_UCONFIG_SH)
+	echo "useperlio='define'" >>$(MICROPERL_UCONFIG_SH)
+	echo "d_poll='define'" >>$(MICROPERL_UCONFIG_SH)
+	echo "i_poll='define'" >>$(MICROPERL_UCONFIG_SH)
 	$(MICROPERL_BIGENDIAN)
 	$(MICROPERL_LARGEFILE)
 	$(MICROPERL_WCHAR)
-	$(MAKE) -C $(@D) -f Makefile.micro regen_uconfig
+	$(SED) 's/local\///' $(MICROPERL_UCONFIG_SH)
+	$(SED) 's/UNKNOWN-/Buildroot $(BR2_VERSION_FULL) /' $(@D)/patchlevel.h
+	$(MICROPERL_REGEN_CONFIG)
 	cp -f $(@D)/uconfig.h $(@D)/config.h
-	cp -f $(@D)/uconfig.sh $(@D)/config.sh
+	cp -f $(MICROPERL_UCONFIG_SH) $(@D)/config.sh
 	echo "ccname='$(TARGET_CC)'" >>$(@D)/config.sh
 	echo "PERL_CONFIG_SH=true" >>$(@D)/config.sh
 	touch $(@D)/config.h    # avoid warning : out of date
Signature · 1 line
1.7.9.5
#6 lore raw

PATCH 7/9 microperl: install more modules by default

In reply to Francois Perrad
---
 package/microperl/microperl.mk |   45 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)
package/microperl/microperl.mk +44 -1
index 4b68567..c0f6029 100644
@@ -31,9 +31,52 @@ endif
 MICROPERL_ARCH_MODS = Config.pm Config_git.pl Config_heavy.pl
 MICROPERL_BASE_MODS = strict.pm vars.pm warnings.pm warnings/register.pm
 
+# other pragma modules (from lib/)
+MICROPERL_BASE_MODS += \
+  bytes.pm \
+  deprecate.pm \
+  feature.pm \
+  integer.pm \
+  less.pm \
+  locale.pm \
+  overloading.pm \
+  overload.pm \
+  sigtrap.pm \
+  sort.pm \
+  subs.pm \
+  utf8.pm utf8_heavy.pl \
+  version.pm
+
+# some common modules (from lib/)
+MICROPERL_BASE_MODS += \
+  Benchmark.pm \
+  Carp.pm \
+  Class/Struct.pm \
+  Exporter.pm Exporter/Heavy.pm \
+  File/Basename.pm \
+  File/Compare.pm \
+  Getopt/Std.pm \
+  Tie/Array.pm \
+  Tie/Hash.pm \
+  Tie/Scalar.pm \
+  UNIVERSAL.pm
+
+# other common modules (from dist/)
+MICROPERL_MODS += \
+  Dumpvalue.pm \
+  Env.pm \
+  autouse.pm \
+  base.pm \
+  constant.pm
+
+# other common modules (from cpan/)
+MICROPERL_MODS += \
+  Getopt/Long.pm \
+  parent.pm
+
 # CGI bundle
 ifeq ($(BR2_PACKAGE_MICROPERL_BUNDLE_CGI),y)
-MICROPERL_MODS += constant.pm CGI CGI.pm Carp.pm Exporter.pm overload.pm
+MICROPERL_MODS += CGI CGI.pm
 endif
 
 # Host microperl is actually full-blown perl
Signature · 1 line
1.7.9.5
#7 lore raw

PATCH 8/9 microperl: bump version to 5.16.1

In reply to Francois Perrad
---
 package/microperl/microperl-fix-build.patch |   76 +++++++++++++++++++++++++++
 package/microperl/microperl.mk              |    8 +--
 2 files changed, 80 insertions(+), 4 deletions(-)
 create mode 100644 package/microperl/microperl-fix-build.patch
package/microperl/microperl-fix-build.patch new file +76 -0
new file mode 100644
index 0000000..fe01395
@@ -0,0 +1,76 @@
+Backport of http://perl5.git.perl.org/perl.git/commitdiff/d40eae8f110fb9900e82648a2c44710def9f117d
+
+Signed-off-by: Francois Perrad <[email protected]>
+
+From: Nicholas Clark <[email protected]>
+Date: Fri, 27 Jul 2012 17:36:40 +0200
+Subject: [PATCH] Restore microperl, which has been unable to build since January.
+
+microperl was broken by commit 82ad65bb0613be64 on 2012-01-16, which used
+IN_LOCALE_COMPILETIME for the first time in the C code. Unlike
+IN_LOCALE_RUNTIME, it had no fallback definition for microperl.
+
+Commit f90a9a0230170cc0 on 2012-01-28 added the first use of Strtol(),
+which means that microperl now needs to assume that the system has strtol().
+(Which is not unreasonable, as it's part of C89).
+---
+ perl.h       |    1 +
+ uconfig.h    |    2 +-
+ uconfig.sh   |    2 +-
+ uconfig64.sh |    2 +-
+ 4 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/perl.h b/perl.h
+index e532af2..9e92ae4 100644
+--- a/perl.h
++++ b/perl.h
+@@ -5311,6 +5311,7 @@ typedef struct am_table_short AMTS;
+ #define RESTORE_NUMERIC_STANDARD()	/**/
+ #define Atof				my_atof
+ #define IN_LOCALE_RUNTIME		0
++#define IN_LOCALE_COMPILETIME		0
+ 
+ #endif /* !USE_LOCALE_NUMERIC */
+ 
+diff --git a/uconfig.h b/uconfig.h
+index 20b1f23..60c7ca7 100644
+--- a/uconfig.h
++++ b/uconfig.h
+@@ -527,7 +527,7 @@
+  *	This symbol, if defined, indicates that the strtol routine is available
+  *	to provide better numeric string conversion than atoi() and friends.
+  */
+-/*#define HAS_STRTOL	/ **/
++#define HAS_STRTOL	/**/
+ 
+ /* HAS_STRXFRM:
+  *	This symbol, if defined, indicates that the strxfrm() routine is
+diff --git a/uconfig.sh b/uconfig.sh
+index e96b7e8..d761d5c 100644
+--- a/uconfig.sh
++++ b/uconfig.sh
+@@ -424,7 +424,7 @@ d_strftime='undef'
+ d_strlcat='undef'
+ d_strlcpy='undef'
+ d_strtod='undef'
+-d_strtol='undef'
++d_strtol='define'
+ d_strtold='undef'
+ d_strtoll='undef'
+ d_strtoq='undef'
+diff --git a/uconfig64.sh b/uconfig64.sh
+index 80e6f7f..f57c979 100644
+--- a/uconfig64.sh
++++ b/uconfig64.sh
+@@ -425,7 +425,7 @@ d_strftime='undef'
+ d_strlcat='undef'
+ d_strlcpy='undef'
+ d_strtod='undef'
+-d_strtol='undef'
++d_strtol='define'
+ d_strtold='undef'
+ d_strtoll='undef'
+ d_strtoq='undef'
+-- 
+1.7.9.5
+
package/microperl/microperl.mk +4 -4
index c0f6029..b601754 100644
@@ -4,8 +4,8 @@
 #
 #############################################################
 
-MICROPERL_VERSION_MAJOR = 14
-MICROPERL_VERSION = 5.$(MICROPERL_VERSION_MAJOR).2
+MICROPERL_VERSION_MAJOR = 16
+MICROPERL_VERSION = 5.$(MICROPERL_VERSION_MAJOR).1
 MICROPERL_SITE = http://www.cpan.org/src/5.0
 MICROPERL_SOURCE = perl-$(MICROPERL_VERSION).tar.bz2
 MICROPERL_LICENSE = Artistic
@@ -50,7 +50,6 @@ MICROPERL_BASE_MODS += \
 # some common modules (from lib/)
 MICROPERL_BASE_MODS += \
   Benchmark.pm \
-  Carp.pm \
   Class/Struct.pm \
   Exporter.pm Exporter/Heavy.pm \
   File/Basename.pm \
@@ -63,6 +62,7 @@ MICROPERL_BASE_MODS += \
 
 # other common modules (from dist/)
 MICROPERL_MODS += \
+  Carp.pm \
   Dumpvalue.pm \
   Env.pm \
   autouse.pm \
@@ -155,7 +155,7 @@ endef
 
 define MICROPERL_BUILD_CMDS
 	$(MAKE) -f Makefile.micro -C $(@D) \
-		CC="$(HOSTCC)" bitcount.h
+		CC="$(HOSTCC)" ubitcount.h
 	$(MAKE) -f Makefile.micro -C $(@D) \
 		CC="$(TARGET_CC)" OPTIMIZE="$(TARGET_CFLAGS)"
 	$(MICROPERL_BUILD_EXTENSIONS)
Signature · 1 line
1.7.9.5
#8 lore raw

PATCH 9/9 microperl: remove host-microperl

In reply to Francois Perrad
---
 package/microperl/microperl.mk |   24 ++++--------------------
 1 file changed, 4 insertions(+), 20 deletions(-)
package/microperl/microperl.mk +4 -20
index b601754..a3d1018 100644
@@ -10,7 +10,7 @@ MICROPERL_SITE = http://www.cpan.org/src/5.0
 MICROPERL_SOURCE = perl-$(MICROPERL_VERSION).tar.bz2
 MICROPERL_LICENSE = Artistic
 MICROPERL_LICENSE_FILES = Artistic
-MICROPERL_DEPENDENCIES = host-microperl
+MICROPERL_DEPENDENCIES = host-perl
 MICROPERL_MODS_DIR = /usr/lib/perl5/$(MICROPERL_VERSION)
 MICROPERL_ARCH_DIR = $(MICROPERL_MODS_DIR)/$(GNU_TARGET_NAME)
 MICROPERL_MODS = $(call qstrip,$(BR2_PACKAGE_MICROPERL_MODULES))
@@ -79,21 +79,6 @@ ifeq ($(BR2_PACKAGE_MICROPERL_BUNDLE_CGI),y)
 MICROPERL_MODS += CGI CGI.pm
 endif
 
-# Host microperl is actually full-blown perl
-define HOST_MICROPERL_CONFIGURE_CMDS
-	cd $(@D) ; \
-	./Configure -Dcc="$(HOSTCC)" -Dprefix="$(HOST_DIR)/usr" \
-		-Dloclibpth='/lib /lib64 /usr/lib /usr/lib64' -des
-endef
-
-define HOST_MICROPERL_BUILD_CMDS
-	$(MAKE) -C $(@D)
-endef
-
-define HOST_MICROPERL_INSTALL_CMDS
-	$(MAKE) -C $(@D) install
-endef
-
 ifeq ($(BR2_ENDIAN),"BIG")
 define MICROPERL_BIGENDIAN
 	$(SED) '/^byteorder=/d' $(MICROPERL_UCONFIG_SH)
@@ -149,8 +134,8 @@ define MICROPERL_CONFIGURE_CMDS
 	echo "ccname='$(TARGET_CC)'" >>$(@D)/config.sh
 	echo "PERL_CONFIG_SH=true" >>$(@D)/config.sh
 	touch $(@D)/config.h    # avoid warning : out of date
-	cd $(@D) ; $(HOST_DIR)/usr/bin/perl make_patchnum.pl ; \
-	$(HOST_DIR)/usr/bin/perl configpm
+	cd $(@D) ; $(HOST_DIR)/usr/bin/perl$(PERL_VERSION) make_patchnum.pl ; \
+	$(HOST_DIR)/usr/bin/perl$(PERL_VERSION) configpm
 endef
 
 define MICROPERL_BUILD_CMDS
@@ -165,7 +150,7 @@ endef
 # We try to build anyway to avoid a huge black list
 # Just ignore make_ext.pl warning/errors
 define MICROPERL_BUILD_EXTENSIONS
-	cd $(@D); rm -f miniperl; ln -s $(HOST_DIR)/usr/bin/perl miniperl;
+	cd $(@D); rm -f miniperl; ln -s $(HOST_DIR)/usr/bin/perl$(PERL_VERSION) miniperl;
 	for i in $(MICROPERL_MODS); do \
 	cd $(@D); PERL5LIB=lib \
 		./miniperl make_ext.pl MAKE="$(MAKE)" --nonxs \
@@ -205,4 +190,3 @@ define MICROPERL_UNINSTALL_TARGET_CMDS
 endef
 
 $(eval $(generic-package))
-$(eval $(host-generic-package))
Signature · 1 line
1.7.9.5
#9 lore raw

PATCH 1/9 perl: new package v4

In reply to Francois Perrad

Hello,

Thanks for all this work.

Wouldn't it be possible to make the microperl thing part of the perl package, with a sub-option that allows to decide between the full-blown perl variant, or the limited microperl variant? I would prefer that a lot over a duplicated perl package as you're proposing now, if possible of course.

Thanks!

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#10 lore raw

PATCH 1/9 perl: new package v4

2012/8/27 Thomas Petazzoni <[email protected]>:

Quoted 10 lines

Hello,

Thanks for all this work.

Wouldn't it be possible to make the microperl thing part of the perl package, with a sub-option that allows to decide between the full-blown perl variant, or the limited microperl variant? I would prefer that a lot over a duplicated perl package as you're proposing now, if possible of course.

miniperl is built during the full perl build, it is just a specific installation.
There are no common step (configure, build of exe, build of modules, install) between microperl and perl.
So, technically a merge of these packages is not easy.

I've updated microperl to the latest stable release. But I think that microperl is an useless toy which will be removed soon by the Perl community.

I prefer spend my time with the full perl and the CPAN modules. There still a lot of work with Perl community for put my patches in the upstream.

With this today version, cpanminus really cross-compiles the modules from CPAN. The Dancer web framework (my current goal) requires 22 modules from CPAN. The CPAN contains more than 23000 modules. This is the challenge.
? CPAN is the language, Perl is just its syntax ? - Audrey Tang.

Fran?ois

Quoted 12 lines

Thanks!

Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#11 lore raw

PATCH 1/9 perl: new package v4

Le Mon, 27 Aug 2012 23:05:53 +0200,
Fran?ois Perrad <[email protected]> a ?crit :

Quoted 5 lines

miniperl is built during the full perl build, it is just a specific installation.
There are no common step (configure, build of exe, build of modules, install) between microperl and perl.
So, technically a merge of these packages is not easy.

Ok.

Quoted 3 lines

I've updated microperl to the latest stable release. But I think that microperl is an useless toy which will be removed soon by the Perl community.

As long as the long term intention is to get rid of microperl, I'm fine. Should we mark it "depends on BR2_DEPRECATED" ?

Quoted 8 lines

I prefer spend my time with the full perl and the CPAN modules. There still a lot of work with Perl community for put my patches in the upstream.

With this today version, cpanminus really cross-compiles the modules from CPAN. The Dancer web framework (my current goal) requires 22 modules from CPAN. The CPAN contains more than 23000 modules. This is the challenge.
? CPAN is the language, Perl is just its syntax ? - Audrey Tang.

:-)

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#12 lore raw

2012/8/27 Thomas Petazzoni <[email protected]>:

Quoted 9 lines

Le Mon, 27 Aug 2012 23:05:53 +0200,
Fran?ois Perrad <[email protected]> a ?crit :

Quoted 5 lines

miniperl is built during the full perl build, it is just a specific installation.
There are no common step (configure, build of exe, build of modules, install) between microperl and perl.
So, technically a merge of these packages is not easy.

Quoted 9 lines

Ok.

Quoted 3 lines

I've updated microperl to the latest stable release. But I think that microperl is an useless toy which will be removed soon by the Perl community.

As long as the long term intention is to get rid of microperl, I'm fine. Should we mark it "depends on BR2_DEPRECATED" ?

What makes sense.

Fran?ois

Quoted 17 lines
Quoted 8 lines

I prefer spend my time with the full perl and the CPAN modules. There still a lot of work with Perl community for put my patches in the upstream.

With this today version, cpanminus really cross-compiles the modules from CPAN. The Dancer web framework (my current goal) requires 22 modules from CPAN. The CPAN contains more than 23000 modules. This is the challenge.
? CPAN is the language, Perl is just its syntax ? - Audrey Tang.

:-)

Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com