[Buildroot] [git commit] pkg-perl: refactor perl infrastructure
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Fri Oct 2 19:56:52 UTC 2015
commit: http://git.buildroot.net/buildroot/commit/?id=2e39ffcc6aa227b619cb7fc74dd14445108d4937
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master
the perl dependency of cpan module is no longer generated by scancpan,
but added at the infrastructure level
Signed-off-by: Francois Perrad <francois.perrad at gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
package/pkg-perl.mk | 8 ++++++++
support/scripts/scancpan | 10 ++++------
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/package/pkg-perl.mk b/package/pkg-perl.mk
index 6577588..a06c068 100644
--- a/package/pkg-perl.mk
+++ b/package/pkg-perl.mk
@@ -39,7 +39,15 @@ PERL_RUN = PERL5LIB= $(HOST_DIR)/usr/bin/perl
define inner-perl-package
+# Target packages need both the perl interpreter on the target (for
+# runtime) and the perl interpreter on the host (for
+# compilation). However, host packages only need the perl
+# interpreter on the host.
+ifeq ($(4),target)
+$(2)_DEPENDENCIES += host-perl perl
+else
$(2)_DEPENDENCIES += host-perl
+endif
#
# Configure step. Only define it if not already defined by the package
diff --git a/support/scripts/scancpan b/support/scripts/scancpan
index a33ec8b..1835fea 100755
--- a/support/scripts/scancpan
+++ b/support/scripts/scancpan
@@ -650,11 +650,9 @@ while (my ($distname, $dist) = each %dist) {
# the auth part is not used, because we use $(BR2_CPAN_MIRROR)
my($filename, $directories, $suffix) = fileparse( $path, q{tar.gz}, q{tgz} );
$directories =~ s|/$||;
- my $dependencies = join q{ }, qw( = perl ),
- map( { q{host-} . fsname( $_ ); } sort @{$deps_build{$distname}} ),
+ my $dependencies = join q{ }, map( { q{host-} . fsname( $_ ); } sort @{$deps_build{$distname}} ),
map( { fsname( $_ ); } sort @{$deps_runtime{$distname}} );
- my $host_dependencies = join q{ }, qw( = ),
- map { q{host-} . fsname( $_ ); } sort( @{$deps_build{$distname}},
+ my $host_dependencies = join q{ }, map { q{host-} . fsname( $_ ); } sort( @{$deps_build{$distname}},
@{$deps_runtime{$distname}} );
my $license = ref $dist->{license} eq 'ARRAY'
? join q{ or }, @{$dist->{license}}
@@ -677,8 +675,8 @@ while (my ($distname, $dist) = each %dist) {
say {$fh} qq{${brname}_VERSION = ${version}};
say {$fh} qq{${brname}_SOURCE = ${distname}-\$(${brname}_VERSION).${suffix}};
say {$fh} qq{${brname}_SITE = \$(BR2_CPAN_MIRROR)${directories}};
- say {$fh} qq{${brname}_DEPENDENCIES ${dependencies}} if $need_target{$distname};
- say {$fh} qq{HOST_${brname}_DEPENDENCIES ${host_dependencies}} if $need_host{$distname};
+ say {$fh} qq{${brname}_DEPENDENCIES = ${dependencies}} if $need_target{$distname} && $dependencies;
+ say {$fh} qq{HOST_${brname}_DEPENDENCIES = ${host_dependencies}} if $need_host{$distname} && $host_dependencies;
say {$fh} qq{${brname}_LICENSE = ${license}} if $license && $license ne q{unknown};
say {$fh} qq{${brname}_LICENSE_FILES = ${license_files}} if $license_files;
say {$fh} qq{};
More information about the buildroot
mailing list