intltool: make dependency on XML::Parser optional

Patch `configure` and the shipped `intltool.m4` macro file to make a missing
XML::Parser perl module nonfatal.

All utilities provided by intltool are programmed to fail gracefully at run
time if the module cannot be loaded and those utilities commonly used during
the build do not require it at all.

Also drop the the build-prereq on XML::Parser now that it is optional.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2016-05-30 16:27:03 +02:00
parent 083a6ece5d
commit 818a2cc8d6
2 changed files with 24 additions and 9 deletions

View File

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=intltool
PKG_LIBVER:=0.40
PKG_VERSION:=$(PKG_LIBVER).6
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@GNOME/intltool/$(PKG_LIBVER)
@ -18,6 +18,7 @@ PKG_MD5SUM:=69bc0353323112f42ad4f9cf351bc3e5
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_HOST_ONLY:=1
HOST_FIXUP:=autoreconf
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
@ -35,13 +36,5 @@ define Package/intltool/description
file formats using GNU gettext-compatible PO files.
endef
define Require/perl-xml-parser
perl -e 'use XML::Parser;'
endef
$(eval $(call Require,perl-xml-parser, \
Please install Perl XML::Parser \
))
$(eval $(call BuildPackage,intltool))
$(eval $(call HostBuild))

View File

@ -0,0 +1,22 @@
--- a/configure.in
+++ b/configure.in
@@ -25,7 +25,7 @@ AC_MSG_CHECKING([for XML::Parser])
if `$PERL -e "require XML::Parser" 2>/dev/null`; then
AC_MSG_RESULT([ok])
else
- AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+ AC_MSG_RESULT([XML::Parser perl module is required for some intltool utilitities])
fi
AC_OUTPUT([
--- a/intltool.m4
+++ b/intltool.m4
@@ -127,7 +127,7 @@ if test "x$2" != "xno-xml"; then
if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
AC_MSG_RESULT([ok])
else
- AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+ AC_MSG_RESULT([XML::Parser perl module is required for some intltool utilitities])
fi
fi