From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [pkg-perl infra V5 2/8] pkg-perl: new infrastructure
Date: Mon, 10 Feb 2014 08:16:15 +0100 [thread overview]
Message-ID: <52F87CBF.4030205@mind.be> (raw)
In-Reply-To: <1391763337-30660-3-git-send-email-francois.perrad@gadz.org>
On 02/07/14 09:55, Francois Perrad wrote:
>
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
> Config.in | 10 +++
> package/Makefile.in | 4 +-
> package/pkg-perl.mk | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 211 insertions(+), 1 deletion(-)
> create mode 100644 package/pkg-perl.mk
>
> diff --git a/Config.in b/Config.in
> index 7ec7c2a..678fe8d 100644
> --- a/Config.in
> +++ b/Config.in
> @@ -225,6 +225,16 @@ config BR2_LUAROCKS_MIRROR
>
> See http://luarocks.org
>
> +config BR2_CPAN_MIRROR
> + string "CPAN mirror"
> + default "http://search.cpan.org/CPAN"
> + help
> + CPAN has multiple software mirrors scattered around the world.
> + This option allows you to select a mirror.
> +
> + The list of mirrors is available at:
> + http://search.cpan.org/mirror
> +
> endmenu
>
> config BR2_JLEVEL
> diff --git a/package/Makefile.in b/package/Makefile.in
> index d0b1cfd..41f73cb 100644
> --- a/package/Makefile.in
> +++ b/package/Makefile.in
> @@ -206,7 +206,8 @@ HOST_PATH=$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(PATH)
> HOSTCC_VERSION:=$(shell $(HOSTCC_NOCCACHE) --version | \
> sed -n 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)[ ]*.*$$/\1\2\3/p')
>
> -HOST_PERL5LIB = $(HOST_DIR)/usr/lib/perl
> +HOST_PERL_ARCHNAME := $(shell perl -MConfig -e "print Config->{archname}")
> +HOST_PERL5LIB = $(HOST_DIR)/usr/lib/perl5/$(HOST_PERL_ARCHNAME):$(HOST_DIR)/usr/lib/perl5
>
> TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
> AR="$(TARGET_AR)" \
> @@ -376,4 +377,5 @@ include package/pkg-autotools.mk
> include package/pkg-cmake.mk
> include package/pkg-luarocks.mk
> include package/pkg-python.mk
> +include package/pkg-perl.mk
perl comes before python.
> include package/pkg-generic.mk
> diff --git a/package/pkg-perl.mk b/package/pkg-perl.mk
> new file mode 100644
> index 0000000..bf9fddf
> --- /dev/null
> +++ b/package/pkg-perl.mk
> @@ -0,0 +1,198 @@
> +################################################################################
> +# Perl package infrastructure
> +#
> +# This file implements an infrastructure that eases development of
> +# package .mk files for Perl packages.
> +#
> +# See the Buildroot documentation for details on the usage of this
> +# infrastructure
> +#
> +# In terms of implementation, this perl infrastructure requires
> +# the .mk file to only specify metadata information about the
> +# package: name, version, download URL, etc.
> +#
> +# We still allow the package .mk file to override what the different
> +# steps are doing, if needed. For example, if <PKG>_BUILD_CMDS is
> +# already defined, it is used as the list of commands to perform to
> +# build the package, instead of the default perl behaviour. The
> +# package can also define some post operation hooks.
> +#
> +################################################################################
> +
> +PKG_PERL_ARCHNAME = $(ARCH)-linux
This one should just be PERL_ARCHNAME.
However, I don't think it's very relevant to define this variable. Just
use $(ARCH)-linux directly.
> +
> +################################################################################
> +# inner-perl-package -- defines how the configuration, compilation and
> +# installation of a perl package should be done, implements a
> +# few hooks to tune the build process for perl specifities and
> +# calls the generic package infrastructure to generate the necessary
> +# make targets
> +#
> +# argument 1 is the lowercase package name
> +# argument 2 is the uppercase package name, including an HOST_ prefix
> +# for host packages
> +# argument 3 is the uppercase package name, without the HOST_ prefix
> +# for host packages
> +# argument 4 is the type (target or host)
> +################################################################################
> +
> +define inner-perl-package
> +
> +$(2)_CONF_OPT ?=
> +$(2)_BUILD_OPT ?=
> +$(2)_INSTALL_OPT ?=
> +$(2)_INSTALL_TARGET_OPT ?=
As I wrote in my last review: you can just remove these, they're useless.
Regards,
Arnout
[snip]
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
next prev parent reply other threads:[~2014-02-10 7:16 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-07 8:55 [Buildroot] [pkg-perl infra V5 0/8] a package infrastructure for Perl/CPAN modules Francois Perrad
2014-02-07 8:55 ` [Buildroot] [pkg-perl infra V5 1/8] host-perl: refactor and rename PERL5LIB Francois Perrad
2014-02-10 7:07 ` Arnout Vandecappelle
2014-02-10 7:17 ` Arnout Vandecappelle
2014-02-07 8:55 ` [Buildroot] [pkg-perl infra V5 2/8] pkg-perl: new infrastructure Francois Perrad
2014-02-07 20:33 ` Thomas De Schampheleire
2014-02-10 7:16 ` Arnout Vandecappelle [this message]
2014-02-07 8:55 ` [Buildroot] [pkg-perl infra V5 3/8] scancpan: a new script Francois Perrad
2014-02-07 8:55 ` [Buildroot] [pkg-perl infra V5 4/8] host-perl-xml-parser: rename and refactor with perl infrastructure Francois Perrad
2014-02-07 20:36 ` Thomas De Schampheleire
2014-02-07 8:55 ` [Buildroot] [pkg-perl infra V5 5/8] host-perl-module-build: new package Francois Perrad
2014-02-07 20:41 ` Thomas De Schampheleire
2014-02-07 8:55 ` [Buildroot] [pkg-perl infra V5 6/8] perl: remove useless patch Francois Perrad
2014-02-07 8:55 ` [Buildroot] [pkg-perl infra V5 7/8] manual: adding packages perl Francois Perrad
2014-02-07 20:49 ` Thomas De Schampheleire
2014-02-08 9:00 ` François Perrad
2014-02-07 8:55 ` [Buildroot] [pkg-perl infra V5 8/8] cpanminus: remove it Francois Perrad
2014-02-07 20:50 ` Thomas De Schampheleire
2014-02-08 8:18 ` François Perrad
2014-02-10 18:29 ` Thomas Petazzoni
2014-02-10 18:56 ` Thomas De Schampheleire
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52F87CBF.4030205@mind.be \
--to=arnout@mind.be \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox