package/gettext: turn into virtual package
authorVadim Kochan <vadim4j@gmail.com>
Wed, 27 Mar 2019 23:08:30 +0000 (01:08 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 31 Mar 2019 12:04:25 +0000 (14:04 +0200)
Re-work gettext to be a virtual package which may allow to use
different gettext's providers, and rename the original one into
gettext-gnu package.

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/Config.in
package/gettext-gnu/0001-error_print_progname.patch [new file with mode: 0644]
package/gettext-gnu/0002-Update-after-gnulib-changed.patch [new file with mode: 0644]
package/gettext-gnu/Config.in [new file with mode: 0644]
package/gettext-gnu/gettext-gnu.hash [new file with mode: 0644]
package/gettext-gnu/gettext-gnu.mk [new file with mode: 0644]
package/gettext/0001-error_print_progname.patch [deleted file]
package/gettext/0002-Update-after-gnulib-changed.patch [deleted file]
package/gettext/Config.in
package/gettext/gettext.hash [deleted file]
package/gettext/gettext.mk

index 22a1fcb8a204ff800458e204ef93d4153e8d4be4..24b205a3ea73124c60b1b07789a1f9077e35673a 100644 (file)
@@ -153,6 +153,7 @@ menu "Development tools"
        source "package/flex/Config.in"
        source "package/gawk/Config.in"
        source "package/gettext/Config.in"
+       source "package/gettext-gnu/Config.in"
        source "package/git/Config.in"
        source "package/git-crypt/Config.in"
        source "package/gperf/Config.in"
diff --git a/package/gettext-gnu/0001-error_print_progname.patch b/package/gettext-gnu/0001-error_print_progname.patch
new file mode 100644 (file)
index 0000000..189d28b
--- /dev/null
@@ -0,0 +1,14 @@
+--- gettext-0.16.1.oorig/gettext-tools/gnulib-lib/error.h      2006-11-27 18:14:50.000000000 +0100
++++ gettext-0.16.1/gettext-tools/gnulib-lib/error.h    2007-06-20 13:29:32.000000000 +0200
+@@ -50,7 +50,10 @@ extern void error_at_line (int __status,
+ /* If NULL, error will flush stdout, then print on stderr the program
+    name, a colon and a space.  Otherwise, error will call this
+    function without parameters instead.  */
+-extern DLL_VARIABLE void (*error_print_progname) (void);
++#ifndef __UCLIBC__
++extern DLL_VARIABLE
++#endif
++void (*error_print_progname) (void);
+ /* This variable is incremented each time `error' is called.  */
+ extern DLL_VARIABLE unsigned int error_message_count;
diff --git a/package/gettext-gnu/0002-Update-after-gnulib-changed.patch b/package/gettext-gnu/0002-Update-after-gnulib-changed.patch
new file mode 100644 (file)
index 0000000..5f5e5f6
--- /dev/null
@@ -0,0 +1,86 @@
+From a6f9caf8cc7614665d1be694485dd7bc30399e0f Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Tue, 16 May 2017 00:27:57 +0200
+Subject: [PATCH] Update after gnulib changed.
+
+For buildroot we only need to update wint_t.m4 to fix autoreconf with
+certain packages which already contain the updated version of this file.
+Otherwise autoreconf will break:
+
+http://git.net/ml/bug-gnulib-gnu/2017-01/msg00067.html
+https://git.busybox.net/buildroot/commit/package/wget?id=c36f0d65ad63589f1b21833ef53d429c018b6f8a
+
+Patch backported from upstream commit:
+http://git.savannah.gnu.org/cgit/gettext.git/commit/?id=a6f9caf8cc7614665d1be694485dd7bc30399e0f
+
+Needed for coreutils bump to 8.27
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+diff --git a/gettext-runtime/m4/wint_t.m4 b/gettext-runtime/m4/wint_t.m4
+index 8ff2a5b5a..d30b8bcf8 100644
+--- a/gettext-runtime/m4/wint_t.m4
++++ b/gettext-runtime/m4/wint_t.m4
+@@ -1,11 +1,12 @@
+-# wint_t.m4 serial 5 (gettext-0.18.2)
+-dnl Copyright (C) 2003, 2007-2016 Free Software Foundation, Inc.
++# wint_t.m4 serial 7
++dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+ dnl with or without modifications, as long as this notice is preserved.
+ dnl From Bruno Haible.
+-dnl Test whether <wchar.h> has the 'wint_t' type.
++dnl Test whether <wchar.h> has the 'wint_t' type and whether gnulib's
++dnl <wchar.h> or <wctype.h> would, if present, override 'wint_t'.
+ dnl Prerequisite: AC_PROG_CC
+ AC_DEFUN([gt_TYPE_WINT_T],
+@@ -28,5 +29,46 @@ AC_DEFUN([gt_TYPE_WINT_T],
+        [gt_cv_c_wint_t=no])])
+   if test $gt_cv_c_wint_t = yes; then
+     AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
++
++    dnl Determine whether gnulib's <wchar.h> or <wctype.h> would, if present,
++    dnl override 'wint_t'.
++    AC_CACHE_CHECK([whether wint_t is too small],
++      [gl_cv_type_wint_t_too_small],
++      [AC_COMPILE_IFELSE(
++           [AC_LANG_PROGRAM([[
++/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
++   <wchar.h>.
++   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
++   included before <wchar.h>.  */
++#if !(defined __GLIBC__ && !defined __UCLIBC__)
++# include <stddef.h>
++# include <stdio.h>
++# include <time.h>
++#endif
++#include <wchar.h>
++              int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1];
++              ]])],
++           [gl_cv_type_wint_t_too_small=no],
++           [gl_cv_type_wint_t_too_small=yes])])
++    if test $gl_cv_type_wint_t_too_small = yes; then
++      GNULIB_OVERRIDES_WINT_T=1
++    else
++      GNULIB_OVERRIDES_WINT_T=0
++    fi
++  else
++    GNULIB_OVERRIDES_WINT_T=0
++  fi
++  AC_SUBST([GNULIB_OVERRIDES_WINT_T])
++])
++
++dnl Prerequisites of the 'wint_t' override.
++AC_DEFUN([gl_TYPE_WINT_T_PREREQ],
++[
++  AC_CHECK_HEADERS_ONCE([crtdefs.h])
++  if test $ac_cv_header_crtdefs_h = yes; then
++    HAVE_CRTDEFS_H=1
++  else
++    HAVE_CRTDEFS_H=0
+   fi
++  AC_SUBST([HAVE_CRTDEFS_H])
+ ])
diff --git a/package/gettext-gnu/Config.in b/package/gettext-gnu/Config.in
new file mode 100644 (file)
index 0000000..af5feed
--- /dev/null
@@ -0,0 +1,24 @@
+config BR2_PACKAGE_GETTEXT_GNU
+       bool
+       depends on BR2_USE_WCHAR
+       select BR2_PACKAGE_HAS_GETTEXT
+       help
+         The GNU `gettext' utilities are a set of tools that provide a
+         framework to help other GNU packages produce multi-lingual
+         messages.
+
+         Only the libintl library will be installed in the
+         target. The full gettext suite, including tools, will be
+         installed in the staging directory.
+
+         http://www.gnu.org/software/gettext/
+
+if BR2_PACKAGE_GETTEXT_GNU
+
+config BR2_PACKAGE_PROVIDES_GETTEXT
+       default "gettext-gnu"
+
+endif
+
+config BR2_PACKAGE_PROVIDES_HOST_GETTEXT
+       default "host-gettext-gnu"
diff --git a/package/gettext-gnu/gettext-gnu.hash b/package/gettext-gnu/gettext-gnu.hash
new file mode 100644 (file)
index 0000000..a2ab298
--- /dev/null
@@ -0,0 +1,5 @@
+# From http://lists.gnu.org/archive/html/bug-gettext/2016-06/msg00008.html
+md5    df3f5690eaa30fd228537b00cb7b7590        gettext-0.19.8.1.tar.xz
+sha1   e0fe90ede22f7f16bbde7bdea791a835f2773fc9        gettext-0.19.8.1.tar.xz
+# License files, locally calculated
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903        COPYING
diff --git a/package/gettext-gnu/gettext-gnu.mk b/package/gettext-gnu/gettext-gnu.mk
new file mode 100644 (file)
index 0000000..61adf72
--- /dev/null
@@ -0,0 +1,103 @@
+################################################################################
+#
+# gettext-gnu
+#
+################################################################################
+
+GETTEXT_GNU_VERSION = 0.19.8.1
+GETTEXT_GNU_SITE = $(BR2_GNU_MIRROR)/gettext
+GETTEXT_GNU_SOURCE = gettext-$(GETTEXT_GNU_VERSION).tar.xz
+GETTEXT_GNU_INSTALL_STAGING = YES
+GETTEXT_GNU_LICENSE = LGPL-2.1+ (libintl), GPL-3.0+ (the rest)
+GETTEXT_GNU_LICENSE_FILES = COPYING gettext-runtime/intl/COPYING.LIB
+# 0002-Update-after-gnulib-changed.patch
+GETTEXT_GNU_AUTORECONF = YES
+GETTEXT_GNU_PROVIDES = gettext
+GETTEXT_GNU_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv)
+
+# Avoid using the bundled subset of libxml2
+HOST_GETTEXT_GNU_DEPENDENCIES = host-libxml2
+
+GETTEXT_GNU_CONF_OPTS += \
+       --disable-libasprintf \
+       --disable-acl \
+       --disable-openmp \
+       --disable-rpath \
+       --disable-java \
+       --disable-native-java \
+       --disable-csharp \
+       --disable-relocatable \
+       --without-emacs
+
+HOST_GETTEXT_GNU_CONF_OPTS = \
+       --disable-libasprintf \
+       --disable-acl \
+       --disable-openmp \
+       --disable-rpath \
+       --disable-java \
+       --disable-native-java \
+       --disable-csharp \
+       --disable-relocatable \
+       --without-emacs
+
+# Force the build of libintl, even if the C library provides a stub
+# gettext implementation
+ifeq ($(BR2_PACKAGE_GETTEXT_GNU_PROVIDES_LIBINTL),y)
+GETTEXT_GNU_CONF_OPTS += --with-included-gettext
+else
+GETTEXT_GNU_CONF_OPTS += --without-included-gettext
+endif
+
+# For the target version, we only need the runtime, and for the host
+# version, we only need the tools.
+GETTEXT_GNU_SUBDIR = gettext-runtime
+HOST_GETTEXT_GNU_SUBDIR = gettext-tools
+
+# Disable the build of documentation and examples of gettext-tools,
+# and the build of documentation and tests of gettext-runtime.
+define HOST_GETTEXT_GNU_DISABLE_UNNEEDED
+       $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/examples$$//' $(@D)/gettext-tools/Makefile.in
+       $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/tests$$//' $(@D)/gettext-runtime/Makefile.in
+endef
+
+GETTEXT_GNU_POST_PATCH_HOOKS += HOST_GETTEXT_GNU_DISABLE_UNNEEDED
+HOST_GETTEXT_GNU_POST_PATCH_HOOKS += HOST_GETTEXT_GNU_DISABLE_UNNEEDED
+
+define GETTEXT_GNU_REMOVE_UNNEEDED
+       $(RM) -rf $(TARGET_DIR)/usr/share/gettext/ABOUT-NLS
+       rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/gettext
+endef
+
+GETTEXT_GNU_POST_INSTALL_TARGET_HOOKS += GETTEXT_GNU_REMOVE_UNNEEDED
+
+# Force build with NLS support, otherwise libintl is not built
+# This is needed because some packages (eg. libglib2) requires
+# locales, but do not properly depend on BR2_ENABLE_LOCALE, and
+# instead select BR2_PACKAGE_GETTEXT_GNU. Those packages need to be
+# fixed before we can remove the following 3 lines... :-(
+ifeq ($(BR2_ENABLE_LOCALE),)
+GETTEXT_GNU_CONF_OPTS += --enable-nls
+endif
+
+# Disable interactive confirmation in host gettextize for package fixups
+define HOST_GETTEXT_GNU_GETTEXTIZE_CONFIRMATION
+       $(SED) '/read dummy/d' $(HOST_DIR)/bin/gettextize
+endef
+HOST_GETTEXT_GNU_POST_INSTALL_HOOKS += HOST_GETTEXT_GNU_GETTEXTIZE_CONFIRMATION
+
+# autoreconf expects gettextize to install ABOUT-NLS, but it only gets
+# installed by gettext-runtime which we don't build/install for the
+# host, so do it manually
+define HOST_GETTEXT_GNU_ADD_ABOUT_NLS
+       $(INSTALL) -m 0644 $(@D)/$(HOST_GETTEXT_GNU_SUBDIR)/ABOUT-NLS \
+               $(HOST_DIR)/share/gettext/ABOUT-NLS
+endef
+
+HOST_GETTEXT_GNU_POST_INSTALL_HOOKS += HOST_GETTEXT_GNU_ADD_ABOUT_NLS
+
+ifeq ($(BR2_PACKAGE_GETTEXT_GNU),y)
+GETTEXTIZE = $(HOST_CONFIGURE_OPTS) AUTOM4TE=$(HOST_DIR)/bin/autom4te $(HOST_DIR)/bin/gettextize -f
+endif
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))
diff --git a/package/gettext/0001-error_print_progname.patch b/package/gettext/0001-error_print_progname.patch
deleted file mode 100644 (file)
index 189d28b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- gettext-0.16.1.oorig/gettext-tools/gnulib-lib/error.h      2006-11-27 18:14:50.000000000 +0100
-+++ gettext-0.16.1/gettext-tools/gnulib-lib/error.h    2007-06-20 13:29:32.000000000 +0200
-@@ -50,7 +50,10 @@ extern void error_at_line (int __status,
- /* If NULL, error will flush stdout, then print on stderr the program
-    name, a colon and a space.  Otherwise, error will call this
-    function without parameters instead.  */
--extern DLL_VARIABLE void (*error_print_progname) (void);
-+#ifndef __UCLIBC__
-+extern DLL_VARIABLE
-+#endif
-+void (*error_print_progname) (void);
- /* This variable is incremented each time `error' is called.  */
- extern DLL_VARIABLE unsigned int error_message_count;
diff --git a/package/gettext/0002-Update-after-gnulib-changed.patch b/package/gettext/0002-Update-after-gnulib-changed.patch
deleted file mode 100644 (file)
index 5f5e5f6..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-From a6f9caf8cc7614665d1be694485dd7bc30399e0f Mon Sep 17 00:00:00 2001
-From: Bruno Haible <bruno@clisp.org>
-Date: Tue, 16 May 2017 00:27:57 +0200
-Subject: [PATCH] Update after gnulib changed.
-
-For buildroot we only need to update wint_t.m4 to fix autoreconf with
-certain packages which already contain the updated version of this file.
-Otherwise autoreconf will break:
-
-http://git.net/ml/bug-gnulib-gnu/2017-01/msg00067.html
-https://git.busybox.net/buildroot/commit/package/wget?id=c36f0d65ad63589f1b21833ef53d429c018b6f8a
-
-Patch backported from upstream commit:
-http://git.savannah.gnu.org/cgit/gettext.git/commit/?id=a6f9caf8cc7614665d1be694485dd7bc30399e0f
-
-Needed for coreutils bump to 8.27
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-
-diff --git a/gettext-runtime/m4/wint_t.m4 b/gettext-runtime/m4/wint_t.m4
-index 8ff2a5b5a..d30b8bcf8 100644
---- a/gettext-runtime/m4/wint_t.m4
-+++ b/gettext-runtime/m4/wint_t.m4
-@@ -1,11 +1,12 @@
--# wint_t.m4 serial 5 (gettext-0.18.2)
--dnl Copyright (C) 2003, 2007-2016 Free Software Foundation, Inc.
-+# wint_t.m4 serial 7
-+dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
- dnl gives unlimited permission to copy and/or distribute it,
- dnl with or without modifications, as long as this notice is preserved.
- dnl From Bruno Haible.
--dnl Test whether <wchar.h> has the 'wint_t' type.
-+dnl Test whether <wchar.h> has the 'wint_t' type and whether gnulib's
-+dnl <wchar.h> or <wctype.h> would, if present, override 'wint_t'.
- dnl Prerequisite: AC_PROG_CC
- AC_DEFUN([gt_TYPE_WINT_T],
-@@ -28,5 +29,46 @@ AC_DEFUN([gt_TYPE_WINT_T],
-        [gt_cv_c_wint_t=no])])
-   if test $gt_cv_c_wint_t = yes; then
-     AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
-+
-+    dnl Determine whether gnulib's <wchar.h> or <wctype.h> would, if present,
-+    dnl override 'wint_t'.
-+    AC_CACHE_CHECK([whether wint_t is too small],
-+      [gl_cv_type_wint_t_too_small],
-+      [AC_COMPILE_IFELSE(
-+           [AC_LANG_PROGRAM([[
-+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-+   <wchar.h>.
-+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-+   included before <wchar.h>.  */
-+#if !(defined __GLIBC__ && !defined __UCLIBC__)
-+# include <stddef.h>
-+# include <stdio.h>
-+# include <time.h>
-+#endif
-+#include <wchar.h>
-+              int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1];
-+              ]])],
-+           [gl_cv_type_wint_t_too_small=no],
-+           [gl_cv_type_wint_t_too_small=yes])])
-+    if test $gl_cv_type_wint_t_too_small = yes; then
-+      GNULIB_OVERRIDES_WINT_T=1
-+    else
-+      GNULIB_OVERRIDES_WINT_T=0
-+    fi
-+  else
-+    GNULIB_OVERRIDES_WINT_T=0
-+  fi
-+  AC_SUBST([GNULIB_OVERRIDES_WINT_T])
-+])
-+
-+dnl Prerequisites of the 'wint_t' override.
-+AC_DEFUN([gl_TYPE_WINT_T_PREREQ],
-+[
-+  AC_CHECK_HEADERS_ONCE([crtdefs.h])
-+  if test $ac_cv_header_crtdefs_h = yes; then
-+    HAVE_CRTDEFS_H=1
-+  else
-+    HAVE_CRTDEFS_H=0
-   fi
-+  AC_SUBST([HAVE_CRTDEFS_H])
- ])
index e55663b1d753971084edb6adbf292c936f39e2a3..ba12d816ee35e1c3d39c2d04aa5a141e68e1acc0 100644 (file)
@@ -1,25 +1,21 @@
 config BR2_PACKAGE_GETTEXT
        bool "gettext"
        depends on BR2_USE_WCHAR
-       help
-         The GNU `gettext' utilities are a set of tools that provide a
-         framework to help other GNU packages produce multi-lingual
-         messages.
+       select BR2_PACKAGE_GETTEXT_GNU
 
-         Only the libintl library will be installed in the
-         target. The full gettext suite, including tools, will be
-         installed in the staging directory.
-
-         http://www.gnu.org/software/gettext/
-
-if BR2_PACKAGE_GETTEXT
+comment "gettext needs a toolchain w/ wchar"
+       depends on !BR2_USE_WCHAR
 
 config BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL
        bool
        default y if BR2_SYSTEM_ENABLE_NLS
        depends on !BR2_TOOLCHAIN_HAS_FULL_GETTEXT
 
-endif
+config BR2_PACKAGE_HAS_GETTEXT
+       bool
 
-comment "gettext needs a toolchain w/ wchar"
-       depends on !BR2_USE_WCHAR
+config BR2_PACKAGE_PROVIDES_GETTEXT
+       string
+
+config BR2_PACKAGE_PROVIDES_HOST_GETTEXT
+       string
diff --git a/package/gettext/gettext.hash b/package/gettext/gettext.hash
deleted file mode 100644 (file)
index a2ab298..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# From http://lists.gnu.org/archive/html/bug-gettext/2016-06/msg00008.html
-md5    df3f5690eaa30fd228537b00cb7b7590        gettext-0.19.8.1.tar.xz
-sha1   e0fe90ede22f7f16bbde7bdea791a835f2773fc9        gettext-0.19.8.1.tar.xz
-# License files, locally calculated
-sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903        COPYING
index ec9588f8adcc05a198ee75afac32038c4083195d..a86e26f69e60178a17ae57dcba0398dbae8ff1c7 100644 (file)
@@ -4,97 +4,5 @@
 #
 ################################################################################
 
-GETTEXT_VERSION = 0.19.8.1
-GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext
-GETTEXT_SOURCE = gettext-$(GETTEXT_VERSION).tar.xz
-GETTEXT_INSTALL_STAGING = YES
-GETTEXT_LICENSE = LGPL-2.1+ (libintl), GPL-3.0+ (the rest)
-GETTEXT_LICENSE_FILES = COPYING gettext-runtime/intl/COPYING.LIB
-# 0002-Update-after-gnulib-changed.patch
-GETTEXT_AUTORECONF = YES
-GETTEXT_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv)
-
-# Avoid using the bundled subset of libxml2
-HOST_GETTEXT_DEPENDENCIES = host-libxml2
-
-GETTEXT_CONF_OPTS += \
-       --disable-libasprintf \
-       --disable-acl \
-       --disable-openmp \
-       --disable-rpath \
-       --disable-java \
-       --disable-native-java \
-       --disable-csharp \
-       --disable-relocatable \
-       --without-emacs
-
-HOST_GETTEXT_CONF_OPTS = \
-       --disable-libasprintf \
-       --disable-acl \
-       --disable-openmp \
-       --disable-rpath \
-       --disable-java \
-       --disable-native-java \
-       --disable-csharp \
-       --disable-relocatable \
-       --without-emacs
-
-# Force the build of libintl, even if the C library provides a stub
-# gettext implementation
-ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y)
-GETTEXT_CONF_OPTS += --with-included-gettext
-else
-GETTEXT_CONF_OPTS += --without-included-gettext
-endif
-
-# For the target version, we only need the runtime, and for the host
-# version, we only need the tools.
-GETTEXT_SUBDIR = gettext-runtime
-HOST_GETTEXT_SUBDIR = gettext-tools
-
-# Disable the build of documentation and examples of gettext-tools,
-# and the build of documentation and tests of gettext-runtime.
-define HOST_GETTEXT_DISABLE_UNNEEDED
-       $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/examples$$//' $(@D)/gettext-tools/Makefile.in
-       $(SED) '/^SUBDIRS/s/ doc //;/^SUBDIRS/s/tests$$//' $(@D)/gettext-runtime/Makefile.in
-endef
-
-GETTEXT_POST_PATCH_HOOKS += HOST_GETTEXT_DISABLE_UNNEEDED
-HOST_GETTEXT_POST_PATCH_HOOKS += HOST_GETTEXT_DISABLE_UNNEEDED
-
-define GETTEXT_REMOVE_UNNEEDED
-       $(RM) -rf $(TARGET_DIR)/usr/share/gettext/ABOUT-NLS
-       rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/gettext
-endef
-
-GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_UNNEEDED
-
-# Force build with NLS support, otherwise libintl is not built
-# This is needed because some packages (eg. libglib2) requires
-# locales, but do not properly depend on BR2_ENABLE_LOCALE, and
-# instead select BR2_PACKAGE_GETTEXT. Those packages need to be
-# fixed before we can remove the following 3 lines... :-(
-ifeq ($(BR2_ENABLE_LOCALE),)
-GETTEXT_CONF_OPTS += --enable-nls
-endif
-
-# Disable interactive confirmation in host gettextize for package fixups
-define HOST_GETTEXT_GETTEXTIZE_CONFIRMATION
-       $(SED) '/read dummy/d' $(HOST_DIR)/bin/gettextize
-endef
-HOST_GETTEXT_POST_INSTALL_HOOKS += HOST_GETTEXT_GETTEXTIZE_CONFIRMATION
-
-# autoreconf expects gettextize to install ABOUT-NLS, but it only gets
-# installed by gettext-runtime which we don't build/install for the
-# host, so do it manually
-define HOST_GETTEXT_ADD_ABOUT_NLS
-       $(INSTALL) -m 0644 $(@D)/$(HOST_GETTEXT_SUBDIR)/ABOUT-NLS \
-               $(HOST_DIR)/share/gettext/ABOUT-NLS
-endef
-
-HOST_GETTEXT_POST_INSTALL_HOOKS += HOST_GETTEXT_ADD_ABOUT_NLS
-
-GETTEXTIZE = $(HOST_CONFIGURE_OPTS) AUTOM4TE=$(HOST_DIR)/bin/autom4te $(HOST_DIR)/bin/gettextize -f
-
-$(eval $(autotools-package))
-$(eval $(host-autotools-package))
+$(eval $(virtual-package))
+$(eval $(host-virtual-package))