[Buildroot] [pkg-perl infra 06/12] libxml-parser-perl: move and refactor with perl infrastructure
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed Nov 20 17:28:41 UTC 2013
Dear Francois Perrad,
On Wed, 20 Nov 2013 18:01:54 +0100, Francois Perrad wrote:
> (used by host-intltool and metacity)
>
> Signed-off-by: Francois Perrad <francois.perrad at gadz.org>
> ---
> package/Config.in | 1 -
> package/Makefile.in | 8 ++---
> package/cpan/Config.in | 1 +
> package/cpan/libxml-parser-perl/Config.in | 9 +++++
> .../cpan/libxml-parser-perl/libxml-parser-perl.mk | 19 +++++++++++
> package/intltool/intltool.mk | 4 +--
> package/libxml-parser-perl/Config.in | 11 ------
> package/libxml-parser-perl/libxml-parser-perl.mk | 35 --------------------
> package/metacity/metacity.mk | 3 ++
> 9 files changed, 36 insertions(+), 55 deletions(-)
> create mode 100644 package/cpan/libxml-parser-perl/Config.in
> create mode 100644 package/cpan/libxml-parser-perl/libxml-parser-perl.mk
> delete mode 100644 package/libxml-parser-perl/Config.in
> delete mode 100644 package/libxml-parser-perl/libxml-parser-perl.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 8ae83f9..3af2783 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -586,7 +586,6 @@ source "package/json-c/Config.in"
> source "package/json-glib/Config.in"
> source "package/libjson/Config.in"
> source "package/libroxml/Config.in"
> -source "package/libxml-parser-perl/Config.in"
> source "package/libxml2/Config.in"
> source "package/libxmlpp/Config.in"
> source "package/libxslt/Config.in"
> diff --git a/package/Makefile.in b/package/Makefile.in
> index cd0437c..3a3d9f7 100644
> --- a/package/Makefile.in
> +++ b/package/Makefile.in
> @@ -241,11 +241,9 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
> LDFLAGS="$(TARGET_LDFLAGS)" \
> FCFLAGS="$(TARGET_FCFLAGS)" \
> PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
> - PERLLIB="$(HOST_DIR)/usr/lib/perl" \
> STAGING_DIR="$(STAGING_DIR)"
>
> -TARGET_MAKE_ENV=PATH=$(TARGET_PATH) \
> - PERLLIB="$(HOST_DIR)/usr/lib/perl"
> +TARGET_MAKE_ENV=PATH=$(TARGET_PATH)
>
> HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \
> AR="$(HOSTAR)" \
> @@ -265,15 +263,13 @@ HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \
> PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
> PKG_CONFIG_SYSROOT_DIR="/" \
> PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig:$(HOST_DIR)/usr/share/pkgconfig" \
> - PERLLIB="$(HOST_DIR)/usr/lib/perl" \
> LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)"
>
> HOST_MAKE_ENV=PATH=$(HOST_PATH) \
> LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \
> PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
> PKG_CONFIG_SYSROOT_DIR="/" \
> - PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig" \
> - PERLLIB="$(HOST_DIR)/usr/lib/perl"
> + PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig"
These changes to package/Makefile.in have absolutely nothing to do with
the libxml-parser-perl package. They should be part of a different
commit, and come with a proper justification.
>
>
> ################################################################################
> diff --git a/package/cpan/Config.in b/package/cpan/Config.in
> index e69de29..bb98dc3 100644
> --- a/package/cpan/Config.in
> +++ b/package/cpan/Config.in
> @@ -0,0 +1 @@
> +source "package/cpan/libxml-parser-perl/Config.in"
> diff --git a/package/cpan/libxml-parser-perl/Config.in b/package/cpan/libxml-parser-perl/Config.in
> new file mode 100644
> index 0000000..a09861a
> --- /dev/null
> +++ b/package/cpan/libxml-parser-perl/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_LIBXML_PARSER_PERL
> + bool "libxml-parser-perl"
> + select BR2_PACKAGE_EXPAT
> + # Hide from configuration as we only support the host package
> + # for the moment
> + depends on BR2_HOST_ONLY
As I said in the comment to PATCH 07/12, we probably just want to get
rid of the Config.in.
Also, can you enable rename detection when generating your patches (git
format-patch -M), so that we can more easily review patches that are
moving code around?
> + help
> + A perl module for parsing XML documents
> +
> diff --git a/package/cpan/libxml-parser-perl/libxml-parser-perl.mk b/package/cpan/libxml-parser-perl/libxml-parser-perl.mk
> new file mode 100644
> index 0000000..4d378ec
> --- /dev/null
> +++ b/package/cpan/libxml-parser-perl/libxml-parser-perl.mk
> @@ -0,0 +1,19 @@
> +################################################################################
> +#
> +# libxml-parser-perl
> +#
> +################################################################################
> +
> +LIBXML_PARSER_PERL_VERSION = 2.41
> +LIBXML_PARSER_PERL_AUTHOR = TODDR
> +LIBXML_PARSER_PERL_SOURCE = XML-Parser-$(LIBXML_PARSER_PERL_VERSION).tar.gz
> +LIBXML_PARSER_PERL_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TODDR/
> +#LIBXML_PARSER_PERL_DEPENDENCIES = perl libwww-perl expat
We don't need commented code.
> +HOST_LIBXML_PARSER_PERL_DEPENDENCIES = host-expat
> +LIBXML_PARSER_PERL_LICENSE = perl_5
> +
> +HOST_LIBXML_PARSER_PERL_CONF_OPT += EXPATLIBPATH=$(HOST_DIR)/usr/lib
> +HOST_LIBXML_PARSER_PERL_CONF_OPT += EXPATINCPATH=$(HOST_DIR)/usr/include
> +
> +#$(eval $(perl-package))
Ditto.
> +$(eval $(host-perl-package))
> diff --git a/package/intltool/intltool.mk b/package/intltool/intltool.mk
> index b2418fe..42e638e 100644
> --- a/package/intltool/intltool.mk
> +++ b/package/intltool/intltool.mk
> @@ -10,8 +10,8 @@ INTLTOOL_LICENSE = GPLv2+
> INTLTOOL_LICENSE_FILES = COPYING
>
> HOST_INTLTOOL_DEPENDENCIES = host-gettext host-libxml-parser-perl
> -HOST_INTLTOOL_CONF_OPT = \
> - PERLLIB=$(HOST_DIR)/usr/lib/perl
> +HOST_INTLTOOL_CONF_ENV = \
> + PERL5LIB=$(HOST_DIR)/usr/lib/perl5/$(shell perl -MConfig -e "print Config->{archname}")
Also not really related to libxml-parser-perl directly.
>
> $(eval $(autotools-package))
> $(eval $(host-autotools-package))
> diff --git a/package/libxml-parser-perl/Config.in b/package/libxml-parser-perl/Config.in
> deleted file mode 100644
> index 2a81086..0000000
> --- a/package/libxml-parser-perl/Config.in
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -config BR2_PACKAGE_LIBXML_PARSER_PERL
> - bool "libxml-parser-perl"
> - select BR2_PACKAGE_EXPAT
> - # Hide from configuration as we only support the host package
> - # for the moment
> - depends on BR2_HOST_ONLY
> - help
> - The Perl XML::Parser module.
> -
> - http://www.cpan.org/modules/by-module/XML/
> -
> diff --git a/package/libxml-parser-perl/libxml-parser-perl.mk b/package/libxml-parser-perl/libxml-parser-perl.mk
> deleted file mode 100644
> index 53f3bcf..0000000
> --- a/package/libxml-parser-perl/libxml-parser-perl.mk
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -################################################################################
> -#
> -# libxml-parser-perl
> -#
> -################################################################################
> -
> -LIBXML_PARSER_PERL_VERSION = 2.36
> -LIBXML_PARSER_PERL_SOURCE = XML-Parser-$(LIBXML_PARSER_PERL_VERSION).tar.gz
> -LIBXML_PARSER_PERL_SITE = http://www.cpan.org/modules/by-module/XML/
> -
> -LIBXML_PARSER_PERL_DEPENDENCIES = expat
> -
> -define HOST_LIBXML_PARSER_PERL_CONFIGURE_CMDS
> - (cd $(@D) ; \
> - $(HOST_CONFIGURE_OPTS) perl Makefile.PL \
> - PREFIX=$(HOST_DIR)/usr \
> - EXPATLIBPATH=$(HOST_DIR)/usr/lib \
> - EXPATINCPATH=$(HOST_DIR)/usr/include \
> - INSTALLDIRS=site \
> - INSTALLSITELIB=$(HOST_DIR)/usr/lib/perl \
> - INSTALLSITEARCH=$(HOST_DIR)/usr/lib/perl \
> - USE_MM_LD_RUN_PATH=1 \
> - )
> -endef
> -
> -define HOST_LIBXML_PARSER_PERL_BUILD_CMDS
> - $(HOST_MAKE_ENV) $(MAKE) -C $(@D)
> -endef
> -
> -define HOST_LIBXML_PARSER_PERL_INSTALL_CMDS
> - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install
> -endef
> -
> -$(eval $(generic-package))
> -$(eval $(host-generic-package))
> diff --git a/package/metacity/metacity.mk b/package/metacity/metacity.mk
> index 9306b00..5680a4a 100644
> --- a/package/metacity/metacity.mk
> +++ b/package/metacity/metacity.mk
> @@ -11,6 +11,9 @@ METACITY_VERSION = $(METACITY_VERSION_MAJOR).$(METACITY_VERSION_MINOR)
> METACITY_SOURCE = metacity-$(METACITY_VERSION).tar.bz2
> METACITY_SITE = http://ftp.gnome.org/pub/gnome/sources/metacity/$(METACITY_VERSION_MAJOR)
>
> +METACITY_CONF_ENV = \
> + PERL5LIB=$(HOST_DIR)/usr/lib/perl5/$(shell perl -MConfig -e "print Config->{archname}")
Hum, the same thing here. Maybe we need to factorize this in
package/Makefile.in, instead of removing all PERLLIB definitions from
package/Makefile.in ?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the buildroot
mailing list