mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-04 06:10:16 +03:00
package/gettext: turn into virtual package
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>
This commit is contained in:
committed by
Thomas Petazzoni
parent
b675a97e72
commit
ea1e7ee606
14
package/gettext-gnu/0001-error_print_progname.patch
Normal file
14
package/gettext-gnu/0001-error_print_progname.patch
Normal file
@@ -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;
|
||||
86
package/gettext-gnu/0002-Update-after-gnulib-changed.patch
Normal file
86
package/gettext-gnu/0002-Update-after-gnulib-changed.patch
Normal file
@@ -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])
|
||||
])
|
||||
24
package/gettext-gnu/Config.in
Normal file
24
package/gettext-gnu/Config.in
Normal file
@@ -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"
|
||||
5
package/gettext-gnu/gettext-gnu.hash
Normal file
5
package/gettext-gnu/gettext-gnu.hash
Normal file
@@ -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
|
||||
103
package/gettext-gnu/gettext-gnu.mk
Normal file
103
package/gettext-gnu/gettext-gnu.mk
Normal file
@@ -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))
|
||||
Reference in New Issue
Block a user