All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB
@ 2014-07-17 16:32 Francois Perrad
  2014-07-17 16:32 ` [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package Francois Perrad
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Francois Perrad @ 2014-07-17 16:32 UTC (permalink / raw)
  To: buildroot

Perl extensions are loaded at runtime with dlopen(), so it does not
make sense to even build extensions that are written in C.

Perl module written in C or with a dependency on a module written in C
is not available when doing a static build.

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 support/scripts/scancpan | 32 ++++++++++++++++++++++++++------
 1 file changed, 26 insertions(+), 6 deletions(-)

diff --git a/support/scripts/scancpan b/support/scripts/scancpan
index 348b7cc..1bf04ea 100755
--- a/support/scripts/scancpan
+++ b/support/scripts/scancpan
@@ -480,6 +480,7 @@ use Getopt::Long;
 use Pod::Usage;
 use File::Basename;
 use Module::CoreList;
+use HTTP::Tiny;
 use MetaCPAN::API::Tiny;
 
 my ($help, $man, $quiet, $force, $recommend, $host);
@@ -499,9 +500,21 @@ pod2usage(-exitval => 1) if scalar @ARGV == 0;
 my %dist;               # name -> metacpan data
 my %need_target;        # name -> 1 if target package is needed
 my %need_host;          # name -> 1 if host package is needed
+my %need_dlopen;        # name -> 1 if requires dynamic library
 my %deps_build;         # name -> list of host dependencies
 my %deps_runtime;       # name -> list of target dependencies
 my $mcpan = MetaCPAN::API::Tiny->new();
+my $ua = HTTP::Tiny->new();
+
+sub is_xs {
+    my ($author, $distname, $version) = @_;
+    # This heuristic determines if a module is a native extension, by searching
+    # some file extension types in the MANIFEST of the distribution.
+    # It was inspired by http://deps.cpantesters.org/static/purity.html
+    my $url = qq{http://api.metacpan.org/source/${author}/${distname}-${version}/MANIFEST};
+    my $response = $ua->get($url);
+    return $response->{content} =~ m/\.(swg|xs|c|h|i)\n/;
+}
 
 sub fetch {
     my ($name, $need_target, $need_host) = @_;
@@ -511,6 +524,7 @@ sub fetch {
         say qq{fetch ${name}} unless $quiet;
         my $result = $mcpan->release( distribution => $name );
         $dist{$name} = $result;
+        $need_dlopen{$name} = is_xs( $result->{author}, $name, $result->{version} );
         my @deps_build = ();
         my @deps_runtime = ();
         my $mb;
@@ -539,12 +553,13 @@ sub fetch {
         unshift @deps_build, q{Module-Build} if $mb;
         $deps_build{$name} = \@deps_build;
         $deps_runtime{$name} = \@deps_runtime;
-    }
-    foreach my $distname (@{$deps_build{$name}}) {
-        fetch( $distname, 0, 1 );
-    }
-    foreach my $distname (@{$deps_runtime{$name}}) {
-        fetch( $distname, $need_target, $need_host );
+        foreach my $distname (@deps_build) {
+            fetch( $distname, 0, 1 );
+        }
+        foreach my $distname (@deps_runtime) {
+            fetch( $distname, $need_target, $need_host );
+            $need_dlopen{$name} ||= $need_dlopen{$distname};
+        }
     }
     return;
 }
@@ -582,6 +597,7 @@ while (my ($distname, $dist) = each %dist) {
         open my $fh, q{>}, $cfgname;
         say {$fh} qq{config BR2_PACKAGE_${brname}};
         say {$fh} qq{\tbool "${fsname}"};
+        say {$fh} qq{\tdepends on !BR2_PREFER_STATIC_LIB} if $need_dlopen{$distname};
         foreach my $dep (sort @{$deps_runtime{$distname}}) {
             my $brdep = brname( fsname( $dep ) );
             say {$fh} qq{\tselect BR2_PACKAGE_${brdep}};
@@ -589,6 +605,10 @@ while (my ($distname, $dist) = each %dist) {
         say {$fh} qq{\thelp};
         say {$fh} qq{\t  ${abstract}\n} if $abstract;
         say {$fh} qq{\t  ${homepage}};
+        if ($need_dlopen{$distname}) {
+            say {$fh} qq{\ncomment "${fsname} needs a toolchain w/ dynamic library"};
+            say {$fh} qq{\tdepends on BR2_PREFER_STATIC_LIB};
+        }
         close $fh;
     }
     if ($force || !-f $mkname) {
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package
  2014-07-17 16:32 [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB Francois Perrad
@ 2014-07-17 16:32 ` Francois Perrad
  2014-07-17 18:52   ` Thomas Petazzoni
  2014-07-17 21:08   ` Thomas Petazzoni
  2014-07-17 16:33 ` [Buildroot] [PATCH 3/5] perl-gd: " Francois Perrad
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 15+ messages in thread
From: Francois Perrad @ 2014-07-17 16:32 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/Config.in                                |  1 +
 package/perl-io-socket-ssl/Config.in             | 11 +++++++++++
 package/perl-io-socket-ssl/perl-io-socket-ssl.mk | 13 +++++++++++++
 3 files changed, 25 insertions(+)
 create mode 100644 package/perl-io-socket-ssl/Config.in
 create mode 100644 package/perl-io-socket-ssl/perl-io-socket-ssl.mk

diff --git a/package/Config.in b/package/Config.in
index c626968..e65d8ab 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -428,6 +428,7 @@ endif
 	source "package/perl/Config.in"
 if BR2_PACKAGE_PERL
 menu "Perl libraries/modules"
+	source "package/perl-io-socket-ssl/Config.in"
 	source "package/perl-mojolicious/Config.in"
 	source "package/perl-net-ssleay/Config.in"
 	source "package/perl-xml-libxml/Config.in"
diff --git a/package/perl-io-socket-ssl/Config.in b/package/perl-io-socket-ssl/Config.in
new file mode 100644
index 0000000..c8d038a
--- /dev/null
+++ b/package/perl-io-socket-ssl/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_PERL_IO_SOCKET_SSL
+	bool "perl-io-socket-ssl"
+	depends on !BR2_PREFER_STATIC_LIB
+	select BR2_PACKAGE_PERL_NET_SSLEAY
+	help
+	  Nearly transparent SSL encapsulation for IO::Socket::INET.
+
+	  https://github.com/noxxi/p5-io-socket-ssl
+
+comment "perl-io-socket-ssl needs a toolchain w/ dynamic library"
+	depends on BR2_PREFER_STATIC_LIB
diff --git a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk
new file mode 100644
index 0000000..103a160
--- /dev/null
+++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# perl-io-socket-ssl
+#
+################################################################################
+
+PERL_IO_SOCKET_SSL_VERSION = 1.997
+PERL_IO_SOCKET_SSL_SOURCE = IO-Socket-SSL-$(PERL_IO_SOCKET_SSL_VERSION).tar.gz
+PERL_IO_SOCKET_SSL_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SU/SULLR/
+PERL_IO_SOCKET_SSL_DEPENDENCIES = perl perl-net-ssleay
+PERL_IO_SOCKET_SSL_LICENSE = Artistic or GPLv1+
+
+$(eval $(perl-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 3/5] perl-gd: new package
  2014-07-17 16:32 [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB Francois Perrad
  2014-07-17 16:32 ` [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package Francois Perrad
@ 2014-07-17 16:33 ` Francois Perrad
  2014-07-17 18:54   ` Thomas Petazzoni
  2014-07-17 16:33 ` [Buildroot] [PATCH 4/5] perl-gdtextutil: " Francois Perrad
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Francois Perrad @ 2014-07-17 16:33 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/Config.in                           |  1 +
 package/perl-gd/Config.in                   | 14 +++++++++++
 package/perl-gd/perl-gd-01-getoptions.patch | 39 +++++++++++++++++++++++++++++
 package/perl-gd/perl-gd-02-lgd.patch        | 25 ++++++++++++++++++
 package/perl-gd/perl-gd-03-force.patch      | 29 +++++++++++++++++++++
 package/perl-gd/perl-gd.mk                  | 20 +++++++++++++++
 6 files changed, 128 insertions(+)
 create mode 100644 package/perl-gd/Config.in
 create mode 100644 package/perl-gd/perl-gd-01-getoptions.patch
 create mode 100644 package/perl-gd/perl-gd-02-lgd.patch
 create mode 100644 package/perl-gd/perl-gd-03-force.patch
 create mode 100644 package/perl-gd/perl-gd.mk

diff --git a/package/Config.in b/package/Config.in
index e65d8ab..98dd316 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -428,6 +428,7 @@ endif
 	source "package/perl/Config.in"
 if BR2_PACKAGE_PERL
 menu "Perl libraries/modules"
+	source "package/perl-gd/Config.in"
 	source "package/perl-io-socket-ssl/Config.in"
 	source "package/perl-mojolicious/Config.in"
 	source "package/perl-net-ssleay/Config.in"
diff --git a/package/perl-gd/Config.in b/package/perl-gd/Config.in
new file mode 100644
index 0000000..7c85cfc
--- /dev/null
+++ b/package/perl-gd/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_PERL_GD
+	bool "perl-gd"
+	depends on !BR2_PREFER_STATIC_LIB
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_LIBPNG
+	select BR2_PACKAGE_FREETYPE
+	select BR2_PACKAGE_GD
+	help
+	  Interface to Gd Graphics Library
+
+	  https://metacpan.org/release/GD
+
+comment "perl-gd needs a toolchain w/ dynamic library"
+	depends on BR2_PREFER_STATIC_LIB
diff --git a/package/perl-gd/perl-gd-01-getoptions.patch b/package/perl-gd/perl-gd-01-getoptions.patch
new file mode 100644
index 0000000..a65e40d
--- /dev/null
+++ b/package/perl-gd/perl-gd-01-getoptions.patch
@@ -0,0 +1,39 @@
+fix option handling in Makefile.PL
+the call to GetOptions() must be unique.
+
+Index: b/Makefile.PL
+===================================================================
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -24,7 +24,15 @@
+ my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$force);
+ 
+ use Getopt::Long;
+-GetOptions("ignore_missing_gd" => \$force);
++my $result = GetOptions("options=s"         => \$options,
++			"lib_gd_path=s"     => \$lib_gd_path,
++			"lib_ft_path=s"     => \$lib_ft_path,
++			"lib_png_path=s"    => \$lib_png_path,
++			"lib_jpeg_path=s"   => \$lib_jpeg_path,
++			"lib_xpm_path=s"    => \$lib_xpm_path,
++			"lib_zlib_path=s"   => \$lib_zlib_path,
++			"ignore_missing_gd" => \$force,
++		       );
+ 
+ unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS) || $force) {
+     die <<END;
+@@ -47,14 +55,6 @@
+ #############################################################################################
+ # Build options passed in to script to support reproducible builds via Makefiles
+ #############################################################################################
+-my $result = GetOptions("options=s"       => \$options,
+-			"lib_gd_path=s"   => \$lib_gd_path,
+-			"lib_ft_path=s"   => \$lib_ft_path,
+-			"lib_png_path=s"  => \$lib_png_path,
+-			"lib_jpeg_path=s" => \$lib_jpeg_path,
+-			"lib_xpm_path=s"  => \$lib_xpm_path,
+-			"lib_zlib_path=s" => \$lib_zlib_path,
+-		       );
+ unless ($result) {
+   print STDERR <<END;
+ Usage: perl Makefile.PL [options]
diff --git a/package/perl-gd/perl-gd-02-lgd.patch b/package/perl-gd/perl-gd-02-lgd.patch
new file mode 100644
index 0000000..1c8fe7b
--- /dev/null
+++ b/package/perl-gd/perl-gd-02-lgd.patch
@@ -0,0 +1,25 @@
+refactor -lgd in @LIBS
+
+Index: b/Makefile.PL
+===================================================================
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -34,9 +34,9 @@
+ END
+ }
+ 
++push @LIBS, "-lgd";
+ @INC     = qw(-I/usr/include -I/usr/include/gd) unless @INC;
+ @LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/lib) unless @LIBPATH;
+- at LIBS    = qw(-lgd) unless @LIBS;
+ 
+ # support for AMD64 libraries
+ if (-d '/usr/lib64') {
+@@ -291,7 +291,6 @@
+   @$LIBPATH      = map {s/^-L// && "-L$_"} split /\s+/,$ldflags;
+   @$LIBS         = split /\s+/,$libs;
+ 
+-  push @$LIBS,"-lgd";
+   push @$LIBPATH,"-L$libdir";
+   ($$lib_gd_path = $libdir) =~ s!/[^/]+$!!;
+   $$options      = $features;
diff --git a/package/perl-gd/perl-gd-03-force.patch b/package/perl-gd/perl-gd-03-force.patch
new file mode 100644
index 0000000..908226b
--- /dev/null
+++ b/package/perl-gd/perl-gd-03-force.patch
@@ -0,0 +1,29 @@
+let @INC and @LIBPATH empty when ignore_missing_gd
+
+Index: b/Makefile.PL
+===================================================================
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -35,13 +35,15 @@
+ }
+ 
+ push @LIBS, "-lgd";
+- at INC     = qw(-I/usr/include -I/usr/include/gd) unless @INC;
+- at LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/lib) unless @LIBPATH;
+-
+-# support for AMD64 libraries
+-if (-d '/usr/lib64') {
+-  my @libs64 = map {my $a = $_; $a=~ s/lib$/lib64/; $a} @LIBPATH;
+-  @LIBPATH = (@LIBPATH, at libs64);
++unless ($force) {
++  @INC     = qw(-I/usr/include -I/usr/include/gd) unless @INC;
++  @LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/lib) unless @LIBPATH;
++
++  # support for AMD64 libraries
++  if (-d '/usr/lib64') {
++    my @libs64 = map {my $a = $_; $a=~ s/lib$/lib64/; $a} @LIBPATH;
++    @LIBPATH = (@LIBPATH,@libs64);
++  }
+ }
+ 
+ #############################################################################################
diff --git a/package/perl-gd/perl-gd.mk b/package/perl-gd/perl-gd.mk
new file mode 100644
index 0000000..abca8c9
--- /dev/null
+++ b/package/perl-gd/perl-gd.mk
@@ -0,0 +1,20 @@
+################################################################################
+#
+# perl-gd
+#
+################################################################################
+
+PERL_GD_VERSION = 2.53
+PERL_GD_SOURCE = GD-$(PERL_GD_VERSION).tar.gz
+PERL_GD_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LD/LDS/
+PERL_GD_DEPENDENCIES = perl zlib libpng freetype gd
+
+PERL_GD_CONF_OPT = \
+	-options=FT,PNG \
+	-lib_gd_path=$(STAGING_DIR)/usr \
+	-lib_ft_path=$(STAGING_DIR)/usr \
+	-lib_png_path=$(STAGING_DIR)/usr \
+	-lib_zlib_path=$(STAGING_DIR)/usr \
+	-ignore_missing_gd
+
+$(eval $(perl-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 4/5] perl-gdtextutil: new package
  2014-07-17 16:32 [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB Francois Perrad
  2014-07-17 16:32 ` [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package Francois Perrad
  2014-07-17 16:33 ` [Buildroot] [PATCH 3/5] perl-gd: " Francois Perrad
@ 2014-07-17 16:33 ` Francois Perrad
  2014-07-17 18:54   ` Thomas Petazzoni
  2014-07-17 16:33 ` [Buildroot] [PATCH 5/5] perl-gdgraph: " Francois Perrad
  2014-07-17 18:52 ` [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB Thomas Petazzoni
  4 siblings, 1 reply; 15+ messages in thread
From: Francois Perrad @ 2014-07-17 16:33 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/Config.in                          |  1 +
 package/perl-gdtextutil/Config.in          |  6 ++++++
 package/perl-gdtextutil/perl-gdtextutil.mk | 12 ++++++++++++
 3 files changed, 19 insertions(+)
 create mode 100644 package/perl-gdtextutil/Config.in
 create mode 100644 package/perl-gdtextutil/perl-gdtextutil.mk

diff --git a/package/Config.in b/package/Config.in
index 98dd316..8a7801a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -429,6 +429,7 @@ endif
 if BR2_PACKAGE_PERL
 menu "Perl libraries/modules"
 	source "package/perl-gd/Config.in"
+	source "package/perl-gdtextutil/Config.in"
 	source "package/perl-io-socket-ssl/Config.in"
 	source "package/perl-mojolicious/Config.in"
 	source "package/perl-net-ssleay/Config.in"
diff --git a/package/perl-gdtextutil/Config.in b/package/perl-gdtextutil/Config.in
new file mode 100644
index 0000000..9baf0a0
--- /dev/null
+++ b/package/perl-gdtextutil/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_PERL_GDTEXTUTIL
+	bool "perl-gdtextutil"
+	help
+	  Text utilities for use with GD
+
+	  https://metacpan.org/release/GDTextUtil
diff --git a/package/perl-gdtextutil/perl-gdtextutil.mk b/package/perl-gdtextutil/perl-gdtextutil.mk
new file mode 100644
index 0000000..6a5c2d7
--- /dev/null
+++ b/package/perl-gdtextutil/perl-gdtextutil.mk
@@ -0,0 +1,12 @@
+################################################################################
+#
+# perl-gdtextutil
+#
+################################################################################
+
+PERL_GDTEXTUTIL_VERSION = 0.86
+PERL_GDTEXTUTIL_SOURCE = GDTextUtil-$(PERL_GDTEXTUTIL_VERSION).tar.gz
+PERL_GDTEXTUTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MV/MVERB/
+PERL_GDTEXTUTIL_DEPENDENCIES = perl
+
+$(eval $(perl-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 5/5] perl-gdgraph: new package
  2014-07-17 16:32 [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB Francois Perrad
                   ` (2 preceding siblings ...)
  2014-07-17 16:33 ` [Buildroot] [PATCH 4/5] perl-gdtextutil: " Francois Perrad
@ 2014-07-17 16:33 ` Francois Perrad
  2014-07-17 18:52 ` [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB Thomas Petazzoni
  4 siblings, 0 replies; 15+ messages in thread
From: Francois Perrad @ 2014-07-17 16:33 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/Config.in                    |  1 +
 package/perl-gdgraph/Config.in       | 12 ++++++++++++
 package/perl-gdgraph/perl-gdgraph.mk | 13 +++++++++++++
 3 files changed, 26 insertions(+)
 create mode 100644 package/perl-gdgraph/Config.in
 create mode 100644 package/perl-gdgraph/perl-gdgraph.mk

diff --git a/package/Config.in b/package/Config.in
index 8a7801a..87d62ba 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -429,6 +429,7 @@ endif
 if BR2_PACKAGE_PERL
 menu "Perl libraries/modules"
 	source "package/perl-gd/Config.in"
+	source "package/perl-gdgraph/Config.in"
 	source "package/perl-gdtextutil/Config.in"
 	source "package/perl-io-socket-ssl/Config.in"
 	source "package/perl-mojolicious/Config.in"
diff --git a/package/perl-gdgraph/Config.in b/package/perl-gdgraph/Config.in
new file mode 100644
index 0000000..e722c06
--- /dev/null
+++ b/package/perl-gdgraph/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_PERL_GDGRAPH
+	bool "perl-gdgraph"
+	depends on !BR2_PREFER_STATIC_LIB
+	select BR2_PACKAGE_PERL_GD
+	select BR2_PACKAGE_PERL_GDTEXTUTIL
+	help
+	  Produces charts with GD
+
+	  https://metacpan.org/release/GDGraph
+
+comment "perl-gdgraph needs a toolchain w/ dynamic library"
+	depends on BR2_PREFER_STATIC_LIB
diff --git a/package/perl-gdgraph/perl-gdgraph.mk b/package/perl-gdgraph/perl-gdgraph.mk
new file mode 100644
index 0000000..d71be3d
--- /dev/null
+++ b/package/perl-gdgraph/perl-gdgraph.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# perl-gdgraph
+#
+################################################################################
+
+PERL_GDGRAPH_VERSION = 1.48
+PERL_GDGRAPH_SOURCE = GDGraph-$(PERL_GDGRAPH_VERSION).tar.gz
+PERL_GDGRAPH_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RUZ/
+PERL_GDGRAPH_DEPENDENCIES = perl perl-gd perl-gdtextutil
+PERL_GDGRAPH_LICENSE = Artistic or GPLv1+
+
+$(eval $(perl-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB
  2014-07-17 16:32 [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB Francois Perrad
                   ` (3 preceding siblings ...)
  2014-07-17 16:33 ` [Buildroot] [PATCH 5/5] perl-gdgraph: " Francois Perrad
@ 2014-07-17 18:52 ` Thomas Petazzoni
  4 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2014-07-17 18:52 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

On Thu, 17 Jul 2014 18:32:58 +0200, Francois Perrad wrote:
> Perl extensions are loaded at runtime with dlopen(), so it does not
> make sense to even build extensions that are written in C.
> 
> Perl module written in C or with a dependency on a module written in C
> is not available when doing a static build.
> 
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
>  support/scripts/scancpan | 32 ++++++++++++++++++++++++++------
>  1 file changed, 26 insertions(+), 6 deletions(-)

Applied, with an improved commit log. The commit log was not explaining
what the commit was doing (i.e changing scancpan to automatically
generate a !BR2_PREFER_STATIC_LIB dependency).

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package
  2014-07-17 16:32 ` [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package Francois Perrad
@ 2014-07-17 18:52   ` Thomas Petazzoni
  2014-07-17 21:08   ` Thomas Petazzoni
  1 sibling, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2014-07-17 18:52 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

On Thu, 17 Jul 2014 18:32:59 +0200, Francois Perrad wrote:
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
>  package/Config.in                                |  1 +
>  package/perl-io-socket-ssl/Config.in             | 11 +++++++++++
>  package/perl-io-socket-ssl/perl-io-socket-ssl.mk | 13 +++++++++++++
>  3 files changed, 25 insertions(+)
>  create mode 100644 package/perl-io-socket-ssl/Config.in
>  create mode 100644 package/perl-io-socket-ssl/perl-io-socket-ssl.mk

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 3/5] perl-gd: new package
  2014-07-17 16:33 ` [Buildroot] [PATCH 3/5] perl-gd: " Francois Perrad
@ 2014-07-17 18:54   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2014-07-17 18:54 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

On Thu, 17 Jul 2014 18:33:00 +0200, Francois Perrad wrote:

> diff --git a/package/perl-gd/perl-gd-01-getoptions.patch b/package/perl-gd/perl-gd-01-getoptions.patch
> new file mode 100644
> index 0000000..a65e40d
> --- /dev/null
> +++ b/package/perl-gd/perl-gd-01-getoptions.patch
> @@ -0,0 +1,39 @@
> +fix option handling in Makefile.PL
> +the call to GetOptions() must be unique.

Please format the patch description as a git commit description: one
line for the summary, then one empty new line, and then more details.

And also, your SoB line.


> diff --git a/package/perl-gd/perl-gd-02-lgd.patch b/package/perl-gd/perl-gd-02-lgd.patch
> new file mode 100644
> index 0000000..1c8fe7b
> --- /dev/null
> +++ b/package/perl-gd/perl-gd-02-lgd.patch
> @@ -0,0 +1,25 @@
> +refactor -lgd in @LIBS

Ditto. The description is also a bit short...

> diff --git a/package/perl-gd/perl-gd-03-force.patch b/package/perl-gd/perl-gd-03-force.patch
> new file mode 100644
> index 0000000..908226b
> --- /dev/null
> +++ b/package/perl-gd/perl-gd-03-force.patch
> @@ -0,0 +1,29 @@
> +let @INC and @LIBPATH empty when ignore_missing_gd

Same.

> diff --git a/package/perl-gd/perl-gd.mk b/package/perl-gd/perl-gd.mk
> new file mode 100644
> index 0000000..abca8c9
> --- /dev/null
> +++ b/package/perl-gd/perl-gd.mk
> @@ -0,0 +1,20 @@
> +################################################################################
> +#
> +# perl-gd
> +#
> +################################################################################
> +
> +PERL_GD_VERSION = 2.53
> +PERL_GD_SOURCE = GD-$(PERL_GD_VERSION).tar.gz
> +PERL_GD_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LD/LDS/
> +PERL_GD_DEPENDENCIES = perl zlib libpng freetype gd

No license / license file?

> +
> +PERL_GD_CONF_OPT = \
> +	-options=FT,PNG \
> +	-lib_gd_path=$(STAGING_DIR)/usr \
> +	-lib_ft_path=$(STAGING_DIR)/usr \
> +	-lib_png_path=$(STAGING_DIR)/usr \
> +	-lib_zlib_path=$(STAGING_DIR)/usr \
> +	-ignore_missing_gd
> +
> +$(eval $(perl-package))

Other than that, looks good to me.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 4/5] perl-gdtextutil: new package
  2014-07-17 16:33 ` [Buildroot] [PATCH 4/5] perl-gdtextutil: " Francois Perrad
@ 2014-07-17 18:54   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2014-07-17 18:54 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

On Thu, 17 Jul 2014 18:33:01 +0200, Francois Perrad wrote:

> diff --git a/package/perl-gdtextutil/perl-gdtextutil.mk b/package/perl-gdtextutil/perl-gdtextutil.mk
> new file mode 100644
> index 0000000..6a5c2d7
> --- /dev/null
> +++ b/package/perl-gdtextutil/perl-gdtextutil.mk
> @@ -0,0 +1,12 @@
> +################################################################################
> +#
> +# perl-gdtextutil
> +#
> +################################################################################
> +
> +PERL_GDTEXTUTIL_VERSION = 0.86
> +PERL_GDTEXTUTIL_SOURCE = GDTextUtil-$(PERL_GDTEXTUTIL_VERSION).tar.gz
> +PERL_GDTEXTUTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MV/MVERB/
> +PERL_GDTEXTUTIL_DEPENDENCIES = perl
> +
> +$(eval $(perl-package))

No license / license file?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package
  2014-07-17 16:32 ` [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package Francois Perrad
  2014-07-17 18:52   ` Thomas Petazzoni
@ 2014-07-17 21:08   ` Thomas Petazzoni
  2014-07-18 13:00     ` François Perrad
  1 sibling, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2014-07-17 21:08 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

On Thu, 17 Jul 2014 18:32:59 +0200, Francois Perrad wrote:

> +PERL_IO_SOCKET_SSL_VERSION = 1.997
> +PERL_IO_SOCKET_SSL_SOURCE = IO-Socket-SSL-$(PERL_IO_SOCKET_SSL_VERSION).tar.gz
> +PERL_IO_SOCKET_SSL_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SU/SULLR/

Yet another issue with the CPAN mirror:
http://autobuild.buildroot.org/results/5f1/5f15763397244d6f89918a8eebc6952a2895bad0/build-end.log.

Any fix?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package
  2014-07-17 21:08   ` Thomas Petazzoni
@ 2014-07-18 13:00     ` François Perrad
  2014-07-18 22:38       ` Thomas Petazzoni
  0 siblings, 1 reply; 15+ messages in thread
From: François Perrad @ 2014-07-18 13:00 UTC (permalink / raw)
  To: buildroot

2014-07-17 23:08 GMT+02:00 Thomas Petazzoni
<thomas.petazzoni@free-electrons.com>:
> Dear Francois Perrad,
>
> On Thu, 17 Jul 2014 18:32:59 +0200, Francois Perrad wrote:
>
>> +PERL_IO_SOCKET_SSL_VERSION = 1.997
>> +PERL_IO_SOCKET_SSL_SOURCE = IO-Socket-SSL-$(PERL_IO_SOCKET_SSL_VERSION).tar.gz
>> +PERL_IO_SOCKET_SSL_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SU/SULLR/
>
> Yet another issue with the CPAN mirror:
> http://autobuild.buildroot.org/results/5f1/5f15763397244d6f89918a8eebc6952a2895bad0/build-end.log.
>
> Any fix?

Seems not a permanent failure.
   $ wget http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-1.997.tar.gz
works fine at this time for me.

Fran?ois

>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package
  2014-07-18 13:00     ` François Perrad
@ 2014-07-18 22:38       ` Thomas Petazzoni
  2014-07-19  7:15         ` François Perrad
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2014-07-18 22:38 UTC (permalink / raw)
  To: buildroot

Dear Fran?ois Perrad,

On Fri, 18 Jul 2014 15:00:53 +0200, Fran?ois Perrad wrote:

> > Yet another issue with the CPAN mirror:
> > http://autobuild.buildroot.org/results/5f1/5f15763397244d6f89918a8eebc6952a2895bad0/build-end.log.
> >
> > Any fix?
> 
> Seems not a permanent failure.
>    $ wget http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-1.997.tar.gz
> works fine at this time for me.

But again, with the new perl packages just merged:

 http://autobuild.buildroot.org/results/6a8/6a89ac18c44490fd25792c39286acbf6c4830e60/build-end.log
 http://autobuild.buildroot.org/results/c80/c80d549e38bfa15e19bec7ef226c0120d4adb6ab/build-end.log
 http://autobuild.buildroot.org/results/bee/bee5add7dad08a573cad2aa1f438625b135551dd/build-end.log

Wouldn't it be possible to find a more reliable CPAN mirror to use as
the default?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package
  2014-07-18 22:38       ` Thomas Petazzoni
@ 2014-07-19  7:15         ` François Perrad
  2014-07-19  8:58           ` Thomas Petazzoni
  0 siblings, 1 reply; 15+ messages in thread
From: François Perrad @ 2014-07-19  7:15 UTC (permalink / raw)
  To: buildroot

2014-07-19 0:38 GMT+02:00 Thomas Petazzoni
<thomas.petazzoni@free-electrons.com>:
> Dear Fran?ois Perrad,
>
> On Fri, 18 Jul 2014 15:00:53 +0200, Fran?ois Perrad wrote:
>
>> > Yet another issue with the CPAN mirror:
>> > http://autobuild.buildroot.org/results/5f1/5f15763397244d6f89918a8eebc6952a2895bad0/build-end.log.
>> >
>> > Any fix?
>>
>> Seems not a permanent failure.
>>    $ wget http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-1.997.tar.gz
>> works fine at this time for me.
>
> But again, with the new perl packages just merged:
>
>  http://autobuild.buildroot.org/results/6a8/6a89ac18c44490fd25792c39286acbf6c4830e60/build-end.log
>  http://autobuild.buildroot.org/results/c80/c80d549e38bfa15e19bec7ef226c0120d4adb6ab/build-end.log
>  http://autobuild.buildroot.org/results/bee/bee5add7dad08a573cad2aa1f438625b135551dd/build-end.log
>
> Wouldn't it be possible to find a more reliable CPAN mirror to use as
> the default?
>

There are 258 mirrors, see http://www.cpan.org/SITES.html
and their status are tracked by http://mirrors.cpan.org/

Fran?ois

> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package
  2014-07-19  7:15         ` François Perrad
@ 2014-07-19  8:58           ` Thomas Petazzoni
  2014-07-19  9:30             ` Yann E. MORIN
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2014-07-19  8:58 UTC (permalink / raw)
  To: buildroot

Dear Fran?ois Perrad,

On Sat, 19 Jul 2014 09:15:58 +0200, Fran?ois Perrad wrote:

> > But again, with the new perl packages just merged:
> >
> >  http://autobuild.buildroot.org/results/6a8/6a89ac18c44490fd25792c39286acbf6c4830e60/build-end.log
> >  http://autobuild.buildroot.org/results/c80/c80d549e38bfa15e19bec7ef226c0120d4adb6ab/build-end.log
> >  http://autobuild.buildroot.org/results/bee/bee5add7dad08a573cad2aa1f438625b135551dd/build-end.log
> >
> > Wouldn't it be possible to find a more reliable CPAN mirror to use as
> > the default?
> 
> There are 258 mirrors, see http://www.cpan.org/SITES.html
> and their status are tracked by http://mirrors.cpan.org/

Could you select one that apparently works well, and propose a patch to
use it as the default?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package
  2014-07-19  8:58           ` Thomas Petazzoni
@ 2014-07-19  9:30             ` Yann E. MORIN
  0 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2014-07-19  9:30 UTC (permalink / raw)
  To: buildroot

Fran?ois, All,

On 2014-07-19 10:58 +0200, Thomas Petazzoni spake thusly:
> On Sat, 19 Jul 2014 09:15:58 +0200, Fran?ois Perrad wrote:
> 
> > > But again, with the new perl packages just merged:
> > >
> > >  http://autobuild.buildroot.org/results/6a8/6a89ac18c44490fd25792c39286acbf6c4830e60/build-end.log
> > >  http://autobuild.buildroot.org/results/c80/c80d549e38bfa15e19bec7ef226c0120d4adb6ab/build-end.log
> > >  http://autobuild.buildroot.org/results/bee/bee5add7dad08a573cad2aa1f438625b135551dd/build-end.log
> > >
> > > Wouldn't it be possible to find a more reliable CPAN mirror to use as
> > > the default?
> > 
> > There are 258 mirrors, see http://www.cpan.org/SITES.html
> > and their status are tracked by http://mirrors.cpan.org/
> 
> Could you select one that apparently works well, and propose a patch to
> use it as the default?

Why not use http://cpan.metacpan.org/ as the mirror? It looks like this
one is a round-robin mirror (I got at least 7 different IPs in different
sub-nets.)

I'll check if all our perl modules are available there before sending a
patch.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2014-07-19  9:30 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-17 16:32 [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB Francois Perrad
2014-07-17 16:32 ` [Buildroot] [PATCH 2/5] perl-io-socket-ssl: new package Francois Perrad
2014-07-17 18:52   ` Thomas Petazzoni
2014-07-17 21:08   ` Thomas Petazzoni
2014-07-18 13:00     ` François Perrad
2014-07-18 22:38       ` Thomas Petazzoni
2014-07-19  7:15         ` François Perrad
2014-07-19  8:58           ` Thomas Petazzoni
2014-07-19  9:30             ` Yann E. MORIN
2014-07-17 16:33 ` [Buildroot] [PATCH 3/5] perl-gd: " Francois Perrad
2014-07-17 18:54   ` Thomas Petazzoni
2014-07-17 16:33 ` [Buildroot] [PATCH 4/5] perl-gdtextutil: " Francois Perrad
2014-07-17 18:54   ` Thomas Petazzoni
2014-07-17 16:33 ` [Buildroot] [PATCH 5/5] perl-gdgraph: " Francois Perrad
2014-07-17 18:52 ` [Buildroot] [PATCH 1/5] support/script/scancpan: add support PREFER_STATIC_LIB Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.