[Buildroot] [PATCH v8 07/11] cpanminus: new package

François Perrad francois.perrad at gadz.org
Sat Oct 6 13:43:30 UTC 2012


2012/10/4 Thomas Petazzoni <thomas.petazzoni at free-electrons.com>:
> François,
>
> On Tue, 25 Sep 2012 19:18:23 +0200, Francois Perrad wrote:
>> diff --git a/package/cpanminus/cpanminus.mk b/package/cpanminus/cpanminus.mk
>> new file mode 100644
>> index 0000000..1b2857a
>> --- /dev/null
>> +++ b/package/cpanminus/cpanminus.mk
>> @@ -0,0 +1,44 @@
>> +#############################################################
>> +#
>> +# cpanminus
>> +#
>> +#############################################################
>> +
>> +CPANMINUS_VERSION = 1.5018
>> +CPANMINUS_SOURCE = miyagawa-cpanminus-$(CPANMINUS_VERSION)-0-gee6cd30.tar.gz
>> +CPANMINUS_SITE = https://github.com/miyagawa/cpanminus/tarball/$(CPANMINUS_VERSION)
>> +CPANMINUS_DEPENDENCIES = perl $(call qstrip,$(BR2_PACKAGE_CPANMINUS_NATIVE_DEPENDENCIES))
>> +
>> +CPANMINUS_ARCH=$(ARCH)
>> +ifeq ($(CPANMINUS_ARCH),i686)
>> +    CPANMINUS_ARCH=i386
>> +endif
>
> Same comment: not complete, and please share all those Qemu definitions
> in the host-qemu package. It should probably define TARGET_QEMU_USER to
> $(HOST_DIR)/usr/bin/qemu-$(QEMU_ARCH). Unless of course they are not
> related to Qemu.
Ok.

>
>> +CPANMINUS_QEMU_USER_MODE=$(HOST_DIR)/usr/bin/qemu-$(CPANMINUS_ARCH)
>> +CPANMINUS_RUN_PERL=$(CPANMINUS_QEMU_USER_MODE) $(STAGING_DIR)/usr/bin/perl
>> +CPANMINUS_ARCHNAME=$(shell $(CPANMINUS_RUN_PERL) -MConfig -e "print Config->{archname}")
>> +CPANMINUS_PERL_LIB=$(TARGET_DIR)/usr/lib/perl5/$(PERL_VERSION)
>> +CPANMINUS_PERL_ARCHLIB=$(TARGET_DIR)/usr/lib/perl5/$(PERL_VERSION)/$(CPANMINUS_ARCHNAME)
>
> CPANMINUS_PERL_ARCHLIB = $(CPANMINUS_PERL_LIB)/$(CPANMINUS_ARCHNAME)

Ok
>
>> +CPANMINUS_PERL_SITELIB=$(TARGET_DIR)/usr/lib/perl5/site_perl/$(PERL_VERSION)
>> +CPANMINUS_PERL_SITEARCH=$(TARGET_DIR)/usr/lib/perl5/site_perl/$(PERL_VERSION)/$(CPANMINUS_ARCHNAME)
>
> CPANMINUS_PERL_SITEARCH = $(CPANMINUS_PERL_SITELIB)/$(CPANMINUS_ARCHNAME)
Ok

>
>> +CPANMINUS_PERL5LIB=$(CPANMINUS_PERL_SITEARCH):$(CPANMINUS_PERL_SITELIB):$(CPANMINUS_PERL_ARCHLIB):$(CPANMINUS_PERL_LIB)
>
>
>> +ifneq ($(BR2_PACKAGE_CPANMINUS_MIRROR),"")
>> +    CPANMINUS_MIRROR=--mirror $(call qstrip,$(BR2_PACKAGE_CPANMINUS_MIRROR)) --mirror-only
>> +endif
>
> CPANMINUS_MIRROR = $(call qstrip,$(BR2_PACKAGE_CPANMINUS_MIRROR)
> ifneq ($(CPANMINUS_MIRROR),y)
>         CPANMINUS_CONF_OPT += --mirror $(CPANMINUS_MIRROR) --mirror-only
> endif
>
> And also, put space before and after equal sign when defining make variables.
Ok.

>
>> +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) \
>> +     PERL_MM_OPT="DESTDIR=$(TARGET_DIR) PERL=$(@D)/run_perl PERL_LIB=$(CPANMINUS_PERL_LIB) PERL_ARCHLIB=$(CPANMINUS_PERL_ARCHLIB)" \
>> +     PERL_MB_OPT="--destdir $(TARGET_DIR)" \
>> +     RUN_PERL="$(@D)/run_perl" \
>> +     $(CPANMINUS_RUN_PERL) $(@D)/cpanm \
>> +             --perl=$(@D)/run_perl \
>> +             --notest \
>> +             --no-man-pages \
>> +             $(CPANMINUS_MIRROR) \
>> +             $(call qstrip,$(BR2_PACKAGE_CPANMINUS_MODULES))
>> +endef
>> +
>> +$(eval $(generic-package))
>> diff --git a/package/perl/perl-fix-Module-Build.patch b/package/perl/perl-fix-Module-Build.patch
>> new file mode 100644
>> index 0000000..26b15e4
>> --- /dev/null
>> +++ b/package/perl/perl-fix-Module-Build.patch
>> @@ -0,0 +1,16 @@
>> +
>> +Signed-off-by: Francois Perrad <francois.perrad at gadz.org>
>
> Patch description please.
>
>> +
>> +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;
>
> 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


More information about the buildroot mailing list