From 2e39ffcc6aa227b619cb7fc74dd14445108d4937 Mon Sep 17 00:00:00 2001 From: Francois Perrad Date: Fri, 4 Sep 2015 10:31:13 +0200 Subject: [PATCH] pkg-perl: refactor perl infrastructure the perl dependency of cpan module is no longer generated by scancpan, but added at the infrastructure level Signed-off-by: Francois Perrad Signed-off-by: Thomas Petazzoni --- 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 6577588db8..a06c068bb6 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 a33ec8bf46..1835fea378 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{}; -- 2.30.2