Compare commits
32 commits
add-confli
...
rawhide
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
98705c64dd | ||
|
|
bb34f17628 | ||
|
|
a40f3de97f | ||
|
|
c94ec5b16a | ||
|
|
7e8960bf76 | ||
|
|
9b44db8d21 | ||
|
|
74ac9f07a1 | ||
|
|
9f7d174856 | ||
|
|
f92414c279 | ||
|
|
ec95bbdbda | ||
|
|
368c0cc283 | ||
|
|
057981b371 | ||
|
|
1a3bc0afb5 | ||
|
|
205b6879b5 | ||
|
|
44a6e9d2be | ||
|
|
935d833dd9 | ||
|
|
9c4e3965b5 | ||
|
|
2880ae9755 | ||
|
|
d0e4469234 | ||
|
|
807312ab8f | ||
|
|
875215f268 | ||
|
|
eb1d1dcd33 | ||
|
|
0c9f023142 | ||
|
|
f09e35ca28 | ||
|
|
89be005c97 | ||
|
|
4f470a9f50 | ||
|
|
6a2dc0e302 | ||
|
|
15c3691527 | ||
|
|
aa54659070 | ||
|
|
7aca11f7d4 | ||
|
|
e09fc9f993 | ||
|
|
adb95f5020 |
14 changed files with 975 additions and 306 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
|
|
@ -1,129 +0,0 @@
|
|||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 764336c..daed715 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -19,7 +19,7 @@
|
||||
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
-SUBDIRS = gnulib-local gettext-runtime libtextstyle gettext-tools
|
||||
+SUBDIRS = gnulib-local gettext-runtime gettext-tools
|
||||
|
||||
changelog_etc = \
|
||||
gettext-runtime/ChangeLog.0 \
|
||||
@@ -85,7 +85,6 @@ distcheck-hook:
|
||||
cmp -s $(srcdir)/gettext-runtime/m4/xsize.m4 $(srcdir)/gettext-tools/gnulib-m4/xsize.m4
|
||||
cmp -s $(srcdir)/gettext-runtime/man/help2man $(srcdir)/gettext-tools/man/help2man
|
||||
cmp -s $(srcdir)/gettext-runtime/man/x-to-1.in $(srcdir)/gettext-tools/man/x-to-1.in
|
||||
- cmp -s $(srcdir)/libtextstyle/m4/libtextstyle.m4 $(srcdir)/gettext-tools/gnulib-m4/libtextstyle.m4
|
||||
cmp -s $(srcdir)/gettext-tools/examples/hello-java-awt/m4/TestAWT.java $(srcdir)/gettext-tools/examples/hello-java-swing/m4/TestAWT.java
|
||||
cmp -s $(srcdir)/gettext-tools/examples/hello-java-awt/m4/TestAWT.class $(srcdir)/gettext-tools/examples/hello-java-swing/m4/TestAWT.class
|
||||
# Verify that all files have appropriate copyright headers.
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f4e54ea..ff850ae 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -37,7 +37,7 @@ dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
|
||||
dnl Checks for library functions.
|
||||
|
||||
-AC_CONFIG_SUBDIRS([gettext-runtime libtextstyle gettext-tools])
|
||||
+AC_CONFIG_SUBDIRS([gettext-runtime gettext-tools])
|
||||
|
||||
AM_EXTRA_RECURSIVE_TARGETS([maintainer-update-po])
|
||||
|
||||
@@ -49,7 +49,7 @@ AC_CANONICAL_HOST
|
||||
dnl Optional Features: AC_ARG_ENABLE calls
|
||||
dnl Optional Packages: AC_ARG_WITH calls
|
||||
dnl Some influential environment variables: AC_ARG_VAR calls
|
||||
-esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd libtextstyle && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.libtextstyle | grep -v installed.csharp | grep -v 'installed C#'; } | sed -f build-aux/ac-help.sed ])
|
||||
+esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.csharp | grep -v 'installed C#'; } | sed -f build-aux/ac-help.sed ])
|
||||
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
|
||||
diff --git a/gettext-tools/Makefile.am b/gettext-tools/Makefile.am
|
||||
index 90f5548..cdf2834 100644
|
||||
--- a/gettext-tools/Makefile.am
|
||||
+++ b/gettext-tools/Makefile.am
|
||||
@@ -19,7 +19,7 @@
|
||||
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
|
||||
ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
|
||||
|
||||
-SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc
|
||||
+SUBDIRS = gnulib-lib libgrep libgettextpo src po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc
|
||||
|
||||
EXTRA_DIST = misc/DISCLAIM
|
||||
MOSTLYCLEANFILES = core *.stackdump
|
||||
diff --git a/gettext-tools/libgettextpo/textstyle.in.h b/gettext-tools/libgettextpo/textstyle.in.h
|
||||
index 60015bd..ae5f5fb 100644
|
||||
--- a/gettext-tools/libgettextpo/textstyle.in.h
|
||||
+++ b/gettext-tools/libgettextpo/textstyle.in.h
|
||||
@@ -239,7 +239,8 @@ typedef ostream_t file_ostream_t;
|
||||
static inline file_ostream_t
|
||||
file_ostream_create (FILE *fp)
|
||||
{
|
||||
- return fp;
|
||||
+ /* Closing the stream we return should not close 'fp'. */
|
||||
+ return fdopen (dup (fileno (fp)), "w");
|
||||
}
|
||||
|
||||
/* --------------------------- From fd-ostream.h --------------------------- */
|
||||
@@ -439,6 +440,30 @@ html_styled_ostream_create (_GL_ATTRIBUTE_MAYBE_UNUSED ostream_t destination,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+/* ----------------------- From noop-styled-ostream.h ----------------------- */
|
||||
+
|
||||
+/* noop_styled_ostream_t is a subtype of ostream_t. */
|
||||
+typedef ostream_t noop_styled_ostream_t;
|
||||
+
|
||||
+#define noop_styled_ostream_write_mem ostream_write_mem
|
||||
+#define noop_styled_ostream_flush ostream_flush
|
||||
+#define noop_styled_ostream_free ostream_free
|
||||
+#define noop_styled_ostream_begin_use_class styled_ostream_begin_use_class
|
||||
+#define noop_styled_ostream_end_use_class styled_ostream_end_use_class
|
||||
+#define noop_styled_ostream_get_hyperlink_ref styled_ostream_get_hyperlink_ref
|
||||
+#define noop_styled_ostream_get_hyperlink_id styled_ostream_get_hyperlink_id
|
||||
+#define noop_styled_ostream_set_hyperlink styled_ostream_set_hyperlink
|
||||
+#define noop_styled_ostream_flush_to_current_style styled_ostream_flush_to_current_style
|
||||
+
|
||||
+static inline ostream_t
|
||||
+noop_styled_ostream_create (ostream_t destination, bool pass_ownership)
|
||||
+{
|
||||
+ if (pass_ownership)
|
||||
+ return destination;
|
||||
+ else
|
||||
+ return fdopen (dup (fileno (destination)), "w");
|
||||
+}
|
||||
+
|
||||
/* ------------------------------ From color.h ------------------------------ */
|
||||
|
||||
#define color_test_mode false
|
||||
diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am
|
||||
index f5e52ea..a9c9fac 100644
|
||||
--- a/gettext-tools/src/Makefile.am
|
||||
+++ b/gettext-tools/src/Makefile.am
|
||||
@@ -300,19 +300,9 @@ cldr_plurals_SOURCES = cldr-plural.y cldr-plural-exp.c cldr-plurals.c
|
||||
cldr_plurals_CFLAGS = $(AM_CFLAGS) $(INCXML)
|
||||
cldr_plurals_LDADD = libgettextsrc.la $(LDADD)
|
||||
|
||||
-if USE_INSTALLED_LIBTEXTSTYLE
|
||||
-LT_LIBTEXTSTYLE = @LTLIBTEXTSTYLE@
|
||||
-else
|
||||
-# How to get the include files of libtextstyle.
|
||||
-textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h:
|
||||
- here=`pwd`; \
|
||||
- cd ../../libtextstyle/lib && \
|
||||
- $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS includedir="$$here"
|
||||
-BUILT_SOURCES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h
|
||||
-MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h
|
||||
-# Where to find the built libtextstyle library.
|
||||
-LT_LIBTEXTSTYLE = ../../libtextstyle/lib/libtextstyle.la
|
||||
-endif
|
||||
+# Use the dummy libtextstyle from gnulib, as libgettextpo does.
|
||||
+LT_LIBTEXTSTYLE =
|
||||
+AM_CPPFLAGS += -I../libgettextpo -I$(top_srcdir)/libgettextpo
|
||||
|
||||
# How to build libgettextsrc.la.
|
||||
# Need ../gnulib-lib/libgettextlib.la.
|
||||
|
||||
486
gettext-0.26-c23.diff
Normal file
486
gettext-0.26-c23.diff
Normal file
|
|
@ -0,0 +1,486 @@
|
|||
diff -r -u gettext-0.26/gettext-runtime/gnulib-lib/c++defs.h gettext-0.26-patched/gettext-runtime/gnulib-lib/c++defs.h
|
||||
--- gettext-0.26/gettext-runtime/gnulib-lib/c++defs.h 2025-07-08 10:54:38.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-runtime/gnulib-lib/c++defs.h 2025-12-18 13:08:56.338779679 +0100
|
||||
@@ -127,6 +127,16 @@
|
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
|
||||
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
|
||||
|
||||
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
|
||||
+ parenthsized func otherwise. Parenthesization is needed in C23 if
|
||||
+ the function is like strchr and so is a qualifier-generic macro
|
||||
+ that expands to something more complicated. */
|
||||
+#ifdef __cplusplus
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) func
|
||||
+#else
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
|
||||
+#endif
|
||||
+
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
|
||||
declares the system function, named func, with the given prototype,
|
||||
consisting of return type, parameters, and attributes.
|
||||
@@ -139,7 +149,7 @@
|
||||
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
|
||||
*/
|
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
|
||||
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
|
||||
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
|
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func
|
||||
diff -r -u gettext-0.26/gettext-runtime/gnulib-lib/stdlib.in.h gettext-0.26-patched/gettext-runtime/gnulib-lib/stdlib.in.h
|
||||
--- gettext-0.26/gettext-runtime/gnulib-lib/stdlib.in.h 2025-07-08 10:54:38.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-runtime/gnulib-lib/stdlib.in.h 2025-12-18 13:05:15.891299356 +0100
|
||||
@@ -237,9 +237,9 @@
|
||||
|
||||
/* Declarations for ISO C N3322. */
|
||||
#if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
|
||||
-_GL_EXTERN_C void *bsearch (const void *__key,
|
||||
- const void *__base, size_t __nmemb, size_t __size,
|
||||
- int (*__compare) (const void *, const void *))
|
||||
+_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch)
|
||||
+ (const void *__key, const void *__base, size_t __nmemb, size_t __size,
|
||||
+ int (*__compare) (const void *, const void *))
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5));
|
||||
_GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size,
|
||||
int (*__compare) (const void *, const void *))
|
||||
diff -r -u gettext-0.26/gettext-runtime/gnulib-lib/wchar.in.h gettext-0.26-patched/gettext-runtime/gnulib-lib/wchar.in.h
|
||||
--- gettext-0.26/gettext-runtime/gnulib-lib/wchar.in.h 2025-07-08 10:54:38.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-runtime/gnulib-lib/wchar.in.h 2025-12-18 13:04:13.399876581 +0100
|
||||
@@ -316,7 +316,7 @@
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3);
|
||||
# ifndef __cplusplus
|
||||
-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
+_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3);
|
||||
# endif
|
||||
_GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
diff -r -u gettext-0.26/gettext-runtime/intl/gnulib-lib/c++defs.h gettext-0.26-patched/gettext-runtime/intl/gnulib-lib/c++defs.h
|
||||
--- gettext-0.26/gettext-runtime/intl/gnulib-lib/c++defs.h 2025-07-08 10:54:39.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-runtime/intl/gnulib-lib/c++defs.h 2025-12-18 13:08:56.338779679 +0100
|
||||
@@ -127,6 +127,16 @@
|
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
|
||||
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
|
||||
|
||||
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
|
||||
+ parenthsized func otherwise. Parenthesization is needed in C23 if
|
||||
+ the function is like strchr and so is a qualifier-generic macro
|
||||
+ that expands to something more complicated. */
|
||||
+#ifdef __cplusplus
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) func
|
||||
+#else
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
|
||||
+#endif
|
||||
+
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
|
||||
declares the system function, named func, with the given prototype,
|
||||
consisting of return type, parameters, and attributes.
|
||||
@@ -139,7 +149,7 @@
|
||||
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
|
||||
*/
|
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
|
||||
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
|
||||
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
|
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func
|
||||
diff -r -u gettext-0.26/gettext-runtime/intl/gnulib-lib/stdlib.in.h gettext-0.26-patched/gettext-runtime/intl/gnulib-lib/stdlib.in.h
|
||||
--- gettext-0.26/gettext-runtime/intl/gnulib-lib/stdlib.in.h 2025-07-08 10:54:39.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-runtime/intl/gnulib-lib/stdlib.in.h 2025-12-18 13:05:15.892299363 +0100
|
||||
@@ -237,9 +237,9 @@
|
||||
|
||||
/* Declarations for ISO C N3322. */
|
||||
#if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
|
||||
-_GL_EXTERN_C void *bsearch (const void *__key,
|
||||
- const void *__base, size_t __nmemb, size_t __size,
|
||||
- int (*__compare) (const void *, const void *))
|
||||
+_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch)
|
||||
+ (const void *__key, const void *__base, size_t __nmemb, size_t __size,
|
||||
+ int (*__compare) (const void *, const void *))
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5));
|
||||
_GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size,
|
||||
int (*__compare) (const void *, const void *))
|
||||
diff -r -u gettext-0.26/gettext-runtime/intl/gnulib-lib/wchar.in.h gettext-0.26-patched/gettext-runtime/intl/gnulib-lib/wchar.in.h
|
||||
--- gettext-0.26/gettext-runtime/intl/gnulib-lib/wchar.in.h 2025-07-08 10:54:39.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-runtime/intl/gnulib-lib/wchar.in.h 2025-12-18 13:04:13.401876594 +0100
|
||||
@@ -316,7 +316,7 @@
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3);
|
||||
# ifndef __cplusplus
|
||||
-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
+_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3);
|
||||
# endif
|
||||
_GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
diff -r -u gettext-0.26/gettext-runtime/libasprintf/gnulib-lib/c++defs.h gettext-0.26-patched/gettext-runtime/libasprintf/gnulib-lib/c++defs.h
|
||||
--- gettext-0.26/gettext-runtime/libasprintf/gnulib-lib/c++defs.h 2025-07-08 10:54:39.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-runtime/libasprintf/gnulib-lib/c++defs.h 2025-12-18 13:08:56.338779679 +0100
|
||||
@@ -127,6 +127,16 @@
|
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
|
||||
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
|
||||
|
||||
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
|
||||
+ parenthsized func otherwise. Parenthesization is needed in C23 if
|
||||
+ the function is like strchr and so is a qualifier-generic macro
|
||||
+ that expands to something more complicated. */
|
||||
+#ifdef __cplusplus
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) func
|
||||
+#else
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
|
||||
+#endif
|
||||
+
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
|
||||
declares the system function, named func, with the given prototype,
|
||||
consisting of return type, parameters, and attributes.
|
||||
@@ -139,7 +149,7 @@
|
||||
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
|
||||
*/
|
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
|
||||
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
|
||||
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
|
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func
|
||||
diff -r -u gettext-0.26/gettext-runtime/libasprintf/gnulib-lib/stdlib.in.h gettext-0.26-patched/gettext-runtime/libasprintf/gnulib-lib/stdlib.in.h
|
||||
--- gettext-0.26/gettext-runtime/libasprintf/gnulib-lib/stdlib.in.h 2025-07-08 10:54:39.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-runtime/libasprintf/gnulib-lib/stdlib.in.h 2025-12-18 13:05:15.889299343 +0100
|
||||
@@ -237,9 +237,9 @@
|
||||
|
||||
/* Declarations for ISO C N3322. */
|
||||
#if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
|
||||
-_GL_EXTERN_C void *bsearch (const void *__key,
|
||||
- const void *__base, size_t __nmemb, size_t __size,
|
||||
- int (*__compare) (const void *, const void *))
|
||||
+_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch)
|
||||
+ (const void *__key, const void *__base, size_t __nmemb, size_t __size,
|
||||
+ int (*__compare) (const void *, const void *))
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5));
|
||||
_GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size,
|
||||
int (*__compare) (const void *, const void *))
|
||||
diff -r -u gettext-0.26/gettext-runtime/libasprintf/gnulib-lib/wchar.in.h gettext-0.26-patched/gettext-runtime/libasprintf/gnulib-lib/wchar.in.h
|
||||
--- gettext-0.26/gettext-runtime/libasprintf/gnulib-lib/wchar.in.h 2025-07-08 10:54:39.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-runtime/libasprintf/gnulib-lib/wchar.in.h 2025-12-18 13:04:13.397876567 +0100
|
||||
@@ -316,7 +316,7 @@
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3);
|
||||
# ifndef __cplusplus
|
||||
-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
+_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3);
|
||||
# endif
|
||||
_GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
diff -r -u gettext-0.26/gettext-tools/gnulib-lib/c++defs.h gettext-0.26-patched/gettext-tools/gnulib-lib/c++defs.h
|
||||
--- gettext-0.26/gettext-tools/gnulib-lib/c++defs.h 2025-07-08 10:54:39.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/gnulib-lib/c++defs.h 2025-12-18 13:08:56.338779679 +0100
|
||||
@@ -127,6 +127,16 @@
|
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
|
||||
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
|
||||
|
||||
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
|
||||
+ parenthsized func otherwise. Parenthesization is needed in C23 if
|
||||
+ the function is like strchr and so is a qualifier-generic macro
|
||||
+ that expands to something more complicated. */
|
||||
+#ifdef __cplusplus
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) func
|
||||
+#else
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
|
||||
+#endif
|
||||
+
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
|
||||
declares the system function, named func, with the given prototype,
|
||||
consisting of return type, parameters, and attributes.
|
||||
@@ -139,7 +149,7 @@
|
||||
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
|
||||
*/
|
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
|
||||
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
|
||||
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
|
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func
|
||||
diff -r -u gettext-0.26/gettext-tools/gnulib-lib/stdlib.in.h gettext-0.26-patched/gettext-tools/gnulib-lib/stdlib.in.h
|
||||
--- gettext-0.26/gettext-tools/gnulib-lib/stdlib.in.h 2025-07-08 10:54:39.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/gnulib-lib/stdlib.in.h 2025-12-18 13:05:15.896299390 +0100
|
||||
@@ -237,9 +237,9 @@
|
||||
|
||||
/* Declarations for ISO C N3322. */
|
||||
#if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
|
||||
-_GL_EXTERN_C void *bsearch (const void *__key,
|
||||
- const void *__base, size_t __nmemb, size_t __size,
|
||||
- int (*__compare) (const void *, const void *))
|
||||
+_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch)
|
||||
+ (const void *__key, const void *__base, size_t __nmemb, size_t __size,
|
||||
+ int (*__compare) (const void *, const void *))
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5));
|
||||
_GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size,
|
||||
int (*__compare) (const void *, const void *))
|
||||
diff -r -u gettext-0.26/gettext-tools/gnulib-lib/wchar.in.h gettext-0.26-patched/gettext-tools/gnulib-lib/wchar.in.h
|
||||
--- gettext-0.26/gettext-tools/gnulib-lib/wchar.in.h 2025-07-08 10:54:40.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/gnulib-lib/wchar.in.h 2025-12-18 13:04:13.404876615 +0100
|
||||
@@ -316,7 +316,7 @@
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3);
|
||||
# ifndef __cplusplus
|
||||
-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
+_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3);
|
||||
# endif
|
||||
_GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
diff -r -u gettext-0.26/gettext-tools/gnulib-tests/c++defs.h gettext-0.26-patched/gettext-tools/gnulib-tests/c++defs.h
|
||||
--- gettext-0.26/gettext-tools/gnulib-tests/c++defs.h 2025-07-08 10:54:40.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/gnulib-tests/c++defs.h 2025-12-18 13:08:56.338779679 +0100
|
||||
@@ -127,6 +127,16 @@
|
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
|
||||
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
|
||||
|
||||
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
|
||||
+ parenthsized func otherwise. Parenthesization is needed in C23 if
|
||||
+ the function is like strchr and so is a qualifier-generic macro
|
||||
+ that expands to something more complicated. */
|
||||
+#ifdef __cplusplus
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) func
|
||||
+#else
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
|
||||
+#endif
|
||||
+
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
|
||||
declares the system function, named func, with the given prototype,
|
||||
consisting of return type, parameters, and attributes.
|
||||
@@ -139,7 +149,7 @@
|
||||
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
|
||||
*/
|
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
|
||||
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
|
||||
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
|
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func
|
||||
diff -r -u gettext-0.26/gettext-tools/libgettextpo/c++defs.h gettext-0.26-patched/gettext-tools/libgettextpo/c++defs.h
|
||||
--- gettext-0.26/gettext-tools/libgettextpo/c++defs.h 2025-07-08 10:54:49.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/libgettextpo/c++defs.h 2025-12-18 13:08:56.338779679 +0100
|
||||
@@ -127,6 +127,16 @@
|
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
|
||||
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
|
||||
|
||||
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
|
||||
+ parenthsized func otherwise. Parenthesization is needed in C23 if
|
||||
+ the function is like strchr and so is a qualifier-generic macro
|
||||
+ that expands to something more complicated. */
|
||||
+#ifdef __cplusplus
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) func
|
||||
+#else
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
|
||||
+#endif
|
||||
+
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
|
||||
declares the system function, named func, with the given prototype,
|
||||
consisting of return type, parameters, and attributes.
|
||||
@@ -139,7 +149,7 @@
|
||||
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
|
||||
*/
|
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
|
||||
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
|
||||
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
|
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func
|
||||
diff -r -u gettext-0.26/gettext-tools/libgettextpo/stdlib.in.h gettext-0.26-patched/gettext-tools/libgettextpo/stdlib.in.h
|
||||
--- gettext-0.26/gettext-tools/libgettextpo/stdlib.in.h 2025-07-08 10:54:49.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/libgettextpo/stdlib.in.h 2025-12-18 13:05:15.899299410 +0100
|
||||
@@ -237,9 +237,9 @@
|
||||
|
||||
/* Declarations for ISO C N3322. */
|
||||
#if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
|
||||
-_GL_EXTERN_C void *bsearch (const void *__key,
|
||||
- const void *__base, size_t __nmemb, size_t __size,
|
||||
- int (*__compare) (const void *, const void *))
|
||||
+_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch)
|
||||
+ (const void *__key, const void *__base, size_t __nmemb, size_t __size,
|
||||
+ int (*__compare) (const void *, const void *))
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5));
|
||||
_GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size,
|
||||
int (*__compare) (const void *, const void *))
|
||||
diff -r -u gettext-0.26/gettext-tools/libgettextpo/wchar.in.h gettext-0.26-patched/gettext-tools/libgettextpo/wchar.in.h
|
||||
--- gettext-0.26/gettext-tools/libgettextpo/wchar.in.h 2025-07-08 10:54:49.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/libgettextpo/wchar.in.h 2025-12-18 13:04:13.407876635 +0100
|
||||
@@ -316,7 +316,7 @@
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3);
|
||||
# ifndef __cplusplus
|
||||
-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
+_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3);
|
||||
# endif
|
||||
_GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
diff -r -u gettext-0.26/gettext-tools/libgrep/gnulib-lib/c++defs.h gettext-0.26-patched/gettext-tools/libgrep/gnulib-lib/c++defs.h
|
||||
--- gettext-0.26/gettext-tools/libgrep/gnulib-lib/c++defs.h 2025-07-08 10:54:49.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/libgrep/gnulib-lib/c++defs.h 2025-12-18 13:08:56.338779679 +0100
|
||||
@@ -127,6 +127,16 @@
|
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
|
||||
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
|
||||
|
||||
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
|
||||
+ parenthsized func otherwise. Parenthesization is needed in C23 if
|
||||
+ the function is like strchr and so is a qualifier-generic macro
|
||||
+ that expands to something more complicated. */
|
||||
+#ifdef __cplusplus
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) func
|
||||
+#else
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
|
||||
+#endif
|
||||
+
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
|
||||
declares the system function, named func, with the given prototype,
|
||||
consisting of return type, parameters, and attributes.
|
||||
@@ -139,7 +149,7 @@
|
||||
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
|
||||
*/
|
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
|
||||
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
|
||||
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
|
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func
|
||||
diff -r -u gettext-0.26/gettext-tools/libgrep/gnulib-lib/stdlib.in.h gettext-0.26-patched/gettext-tools/libgrep/gnulib-lib/stdlib.in.h
|
||||
--- gettext-0.26/gettext-tools/libgrep/gnulib-lib/stdlib.in.h 2025-07-08 10:54:49.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/libgrep/gnulib-lib/stdlib.in.h 2025-12-18 13:05:15.897299397 +0100
|
||||
@@ -237,9 +237,9 @@
|
||||
|
||||
/* Declarations for ISO C N3322. */
|
||||
#if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
|
||||
-_GL_EXTERN_C void *bsearch (const void *__key,
|
||||
- const void *__base, size_t __nmemb, size_t __size,
|
||||
- int (*__compare) (const void *, const void *))
|
||||
+_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch)
|
||||
+ (const void *__key, const void *__base, size_t __nmemb, size_t __size,
|
||||
+ int (*__compare) (const void *, const void *))
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5));
|
||||
_GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size,
|
||||
int (*__compare) (const void *, const void *))
|
||||
diff -r -u gettext-0.26/gettext-tools/libgrep/gnulib-lib/wchar.in.h gettext-0.26-patched/gettext-tools/libgrep/gnulib-lib/wchar.in.h
|
||||
--- gettext-0.26/gettext-tools/libgrep/gnulib-lib/wchar.in.h 2025-07-08 10:54:49.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/libgrep/gnulib-lib/wchar.in.h 2025-12-18 13:04:13.406876628 +0100
|
||||
@@ -316,7 +316,7 @@
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3);
|
||||
# ifndef __cplusplus
|
||||
-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
+_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3);
|
||||
# endif
|
||||
_GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
diff -r -u gettext-0.26/gettext-tools/tests/gnulib-lib/c++defs.h gettext-0.26-patched/gettext-tools/tests/gnulib-lib/c++defs.h
|
||||
--- gettext-0.26/gettext-tools/tests/gnulib-lib/c++defs.h 2025-07-08 10:55:10.000000000 +0200
|
||||
+++ gettext-0.26-patched/gettext-tools/tests/gnulib-lib/c++defs.h 2025-12-18 13:08:56.338779679 +0100
|
||||
@@ -127,6 +127,16 @@
|
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
|
||||
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
|
||||
|
||||
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
|
||||
+ parenthsized func otherwise. Parenthesization is needed in C23 if
|
||||
+ the function is like strchr and so is a qualifier-generic macro
|
||||
+ that expands to something more complicated. */
|
||||
+#ifdef __cplusplus
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) func
|
||||
+#else
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
|
||||
+#endif
|
||||
+
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
|
||||
declares the system function, named func, with the given prototype,
|
||||
consisting of return type, parameters, and attributes.
|
||||
@@ -139,7 +149,7 @@
|
||||
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
|
||||
*/
|
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
|
||||
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
|
||||
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
|
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func
|
||||
diff -r -u gettext-0.26/libtextstyle/lib/c++defs.h gettext-0.26-patched/libtextstyle/lib/c++defs.h
|
||||
--- gettext-0.26/libtextstyle/lib/c++defs.h 2025-07-08 10:55:22.000000000 +0200
|
||||
+++ gettext-0.26-patched/libtextstyle/lib/c++defs.h 2025-12-18 13:08:56.338779679 +0100
|
||||
@@ -127,6 +127,16 @@
|
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
|
||||
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
|
||||
|
||||
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
|
||||
+ parenthsized func otherwise. Parenthesization is needed in C23 if
|
||||
+ the function is like strchr and so is a qualifier-generic macro
|
||||
+ that expands to something more complicated. */
|
||||
+#ifdef __cplusplus
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) func
|
||||
+#else
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
|
||||
+#endif
|
||||
+
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
|
||||
declares the system function, named func, with the given prototype,
|
||||
consisting of return type, parameters, and attributes.
|
||||
@@ -139,7 +149,7 @@
|
||||
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
|
||||
*/
|
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
|
||||
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
|
||||
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
|
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func
|
||||
diff -r -u gettext-0.26/libtextstyle/lib/stdlib.in.h gettext-0.26-patched/libtextstyle/lib/stdlib.in.h
|
||||
--- gettext-0.26/libtextstyle/lib/stdlib.in.h 2025-07-08 10:55:22.000000000 +0200
|
||||
+++ gettext-0.26-patched/libtextstyle/lib/stdlib.in.h 2025-12-18 13:05:15.894299376 +0100
|
||||
@@ -237,9 +237,9 @@
|
||||
|
||||
/* Declarations for ISO C N3322. */
|
||||
#if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
|
||||
-_GL_EXTERN_C void *bsearch (const void *__key,
|
||||
- const void *__base, size_t __nmemb, size_t __size,
|
||||
- int (*__compare) (const void *, const void *))
|
||||
+_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch)
|
||||
+ (const void *__key, const void *__base, size_t __nmemb, size_t __size,
|
||||
+ int (*__compare) (const void *, const void *))
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5));
|
||||
_GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size,
|
||||
int (*__compare) (const void *, const void *))
|
||||
diff -r -u gettext-0.26/libtextstyle/lib/wchar.in.h gettext-0.26-patched/libtextstyle/lib/wchar.in.h
|
||||
--- gettext-0.26/libtextstyle/lib/wchar.in.h 2025-07-08 10:55:22.000000000 +0200
|
||||
+++ gettext-0.26-patched/libtextstyle/lib/wchar.in.h 2025-12-18 13:04:13.402876601 +0100
|
||||
@@ -316,7 +316,7 @@
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3);
|
||||
# ifndef __cplusplus
|
||||
-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
+_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3);
|
||||
# endif
|
||||
_GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n)
|
||||
diff -r -u gettext-0.26/libtextstyle/tests/c++defs.h gettext-0.26-patched/libtextstyle/tests/c++defs.h
|
||||
--- gettext-0.26/libtextstyle/tests/c++defs.h 2025-07-08 10:55:22.000000000 +0200
|
||||
+++ gettext-0.26-patched/libtextstyle/tests/c++defs.h 2025-12-18 13:08:56.338779679 +0100
|
||||
@@ -127,6 +127,16 @@
|
||||
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
|
||||
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
|
||||
|
||||
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
|
||||
+ parenthsized func otherwise. Parenthesization is needed in C23 if
|
||||
+ the function is like strchr and so is a qualifier-generic macro
|
||||
+ that expands to something more complicated. */
|
||||
+#ifdef __cplusplus
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) func
|
||||
+#else
|
||||
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
|
||||
+#endif
|
||||
+
|
||||
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
|
||||
declares the system function, named func, with the given prototype,
|
||||
consisting of return type, parameters, and attributes.
|
||||
@@ -139,7 +149,7 @@
|
||||
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
|
||||
*/
|
||||
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
|
||||
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
|
||||
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
|
||||
|
||||
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
|
||||
declares a C++ alias called GNULIB_NAMESPACE::func
|
||||
25
gettext-0.26-stdcountof-h.patch
Normal file
25
gettext-0.26-stdcountof-h.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
diff -ur gettext-0.26.orig/gettext-tools/gnulib-tests/test-stdcountof-h.c gettext-0.26/gettext-tools/gnulib-tests/test-stdcountof-h.c
|
||||
--- gettext-0.26.orig/gettext-tools/gnulib-tests/test-stdcountof-h.c 2025-07-08 14:24:40.000000000 +0530
|
||||
+++ gettext-0.26/gettext-tools/gnulib-tests/test-stdcountof-h.c 2026-01-13 13:07:35.226196031 +0530
|
||||
@@ -42,17 +42,21 @@
|
||||
|
||||
(void) local_bounded;
|
||||
|
||||
+#ifdef _gl_verify_is_array
|
||||
(void) _gl_verify_is_array (unbounded);
|
||||
(void) _gl_verify_is_array (bounded);
|
||||
(void) _gl_verify_is_array (multidimensional);
|
||||
+#endif
|
||||
|
||||
ASSERT (countof (bounded) == 10);
|
||||
ASSERT (countof (multidimensional) == 10);
|
||||
ASSERT (countof (local_bounded) == 20);
|
||||
|
||||
#if 0 /* These produce compilation errors. */
|
||||
+#ifdef _gl_verify_is_array
|
||||
(void) _gl_verify_is_array (integer);
|
||||
(void) _gl_verify_is_array (parameter);
|
||||
+#endif
|
||||
|
||||
ASSERT (countof (integer) >= 0);
|
||||
ASSERT (countof (unbounded) >= 0);
|
||||
|
|
@ -1,116 +0,0 @@
|
|||
diff -urp '--exclude=*~' gettext-0.21.orig/gettext-tools/gnulib-lib/javacomp.c gettext-0.21/gettext-tools/gnulib-lib/javacomp.c
|
||||
--- gettext-0.21.orig/gettext-tools/gnulib-lib/javacomp.c 2022-03-09 12:22:05.000000000 +0900
|
||||
+++ gettext-0.21/gettext-tools/gnulib-lib/javacomp.c 2022-03-20 18:23:53.636052943 +0900
|
||||
@@ -116,9 +116,8 @@ default_target_version (void)
|
||||
&& (java_version_cache[1] >= '2'
|
||||
&& java_version_cache[1] <= '7')
|
||||
&& java_version_cache[2] == '\0')
|
||||
- /* Assume that these (not yet released) Java versions will behave
|
||||
- like the preceding ones. */
|
||||
- java_version_cache = "11";
|
||||
+ /* It's one of the valid target version values. */
|
||||
+ ;
|
||||
else
|
||||
java_version_cache = "1.1";
|
||||
}
|
||||
@@ -128,7 +127,7 @@ default_target_version (void)
|
||||
/* ======================= Source version dependent ======================= */
|
||||
|
||||
/* Convert a source version to an index. */
|
||||
-#define SOURCE_VERSION_BOUND 8 /* exclusive upper bound */
|
||||
+#define SOURCE_VERSION_BOUND 14 /* exclusive upper bound */
|
||||
static unsigned int
|
||||
source_version_index (const char *source_version)
|
||||
{
|
||||
@@ -144,7 +143,7 @@ source_version_index (const char *source
|
||||
else if (source_version[0] == '9' && source_version[1] == '\0')
|
||||
return 5;
|
||||
else if (source_version[0] == '1'
|
||||
- && (source_version[1] >= '0' && source_version[1] <= '1')
|
||||
+ && (source_version[1] >= '0' && source_version[1] <= '7')
|
||||
&& source_version[2] == '\0')
|
||||
return source_version[1] - '0' + 6;
|
||||
error (EXIT_FAILURE, 0, _("invalid source_version argument to compile_java_class"));
|
||||
@@ -171,6 +170,10 @@ get_goodcode_snippet (const char *source
|
||||
return "class conftest { public void m() { var i = new Integer(0); } }\n";
|
||||
if (strcmp (source_version, "11") == 0)
|
||||
return "class conftest { Readable r = (var b) -> 0; }\n";
|
||||
+ if (source_version[0] == '1'
|
||||
+ && (source_version[1] >= '2' && source_version[1] <= '7')
|
||||
+ && source_version[2] == '\0')
|
||||
+ return "class conftest { Readable r = (var b) -> 0; }\n";
|
||||
error (EXIT_FAILURE, 0, _("invalid source_version argument to compile_java_class"));
|
||||
return NULL;
|
||||
}
|
||||
@@ -197,6 +200,10 @@ get_failcode_snippet (const char *source
|
||||
return "class conftestfail { Readable r = (var b) -> 0; }\n";
|
||||
if (strcmp (source_version, "11") == 0)
|
||||
return NULL;
|
||||
+ if (source_version[0] == '1'
|
||||
+ && (source_version[1] >= '2' && source_version[1] <= '7')
|
||||
+ && source_version[2] == '\0')
|
||||
+ return NULL;
|
||||
error (EXIT_FAILURE, 0, _("invalid source_version argument to compile_java_class"));
|
||||
return NULL;
|
||||
}
|
||||
@@ -204,7 +211,7 @@ get_failcode_snippet (const char *source
|
||||
/* ======================= Target version dependent ======================= */
|
||||
|
||||
/* Convert a target version to an index. */
|
||||
-#define TARGET_VERSION_BOUND 11 /* exclusive upper bound */
|
||||
+#define TARGET_VERSION_BOUND 17 /* exclusive upper bound */
|
||||
static unsigned int
|
||||
target_version_index (const char *target_version)
|
||||
{
|
||||
@@ -215,7 +222,7 @@ target_version_index (const char *target
|
||||
else if (target_version[0] == '9' && target_version[1] == '\0')
|
||||
return 8;
|
||||
else if (target_version[0] == '1'
|
||||
- && (target_version[1] >= '0' && target_version[1] <= '1')
|
||||
+ && (target_version[1] >= '0' && target_version[1] <= '7')
|
||||
&& target_version[2] == '\0')
|
||||
return target_version[1] - '0' + 9;
|
||||
error (EXIT_FAILURE, 0, _("invalid target_version argument to compile_java_class"));
|
||||
@@ -245,10 +252,10 @@ corresponding_classfile_version (const c
|
||||
return 52;
|
||||
if (strcmp (target_version, "9") == 0)
|
||||
return 53;
|
||||
- if (strcmp (target_version, "10") == 0)
|
||||
- return 54;
|
||||
- if (strcmp (target_version, "11") == 0)
|
||||
- return 55;
|
||||
+ if (target_version[0] == '1'
|
||||
+ && (target_version[1] >= '0' && target_version[1] <= '7')
|
||||
+ && target_version[2] == '\0')
|
||||
+ return target_version[1] + 54;
|
||||
error (EXIT_FAILURE, 0, _("invalid target_version argument to compile_java_class"));
|
||||
return 0;
|
||||
}
|
||||
@@ -2439,7 +2446,7 @@ compile_java_class (const char * const *
|
||||
}
|
||||
}
|
||||
|
||||
- error (0, 0, _("Java compiler not found, try installing gcj or set $JAVAC"));
|
||||
+ /* error (0, 0, _("Java compiler not found, try installing gcj or set $JAVAC")); */
|
||||
err = true;
|
||||
|
||||
done2:
|
||||
diff -urp '--exclude=*~' gettext-0.21.orig/gettext-tools/src/write-java.c gettext-0.21/gettext-tools/src/write-java.c
|
||||
--- gettext-0.21.orig/gettext-tools/src/write-java.c 2022-03-09 12:17:21.000000000 +0900
|
||||
+++ gettext-0.21/gettext-tools/src/write-java.c 2022-03-20 18:26:06.941734979 +0900
|
||||
@@ -1209,8 +1209,14 @@ msgdomain_write_java (message_list_ty *m
|
||||
Java compilers create the class files in the source file's directory -
|
||||
which is in a temporary directory in our case. */
|
||||
java_sources[0] = java_file_name;
|
||||
- if (compile_java_class (java_sources, 1, NULL, 0, "1.5", "1.6", directory,
|
||||
+ if (1
|
||||
+ && (compile_java_class (java_sources, 1, NULL, 0, "17", "17", directory,
|
||||
+ true, false, true, verbose > 0)) /* assume JDK 17 */
|
||||
+ && (compile_java_class (java_sources, 1, NULL, 0, "11", "11", directory,
|
||||
+ true, false, true, verbose > 0)) /* assume JDK 11 */
|
||||
+ && (compile_java_class (java_sources, 1, NULL, 0, "1.5", "1.6", directory,
|
||||
true, false, true, verbose > 0))
|
||||
+ )
|
||||
{
|
||||
if (!verbose)
|
||||
error (0, 0,
|
||||
230
gettext.spec
230
gettext.spec
|
|
@ -1,11 +1,14 @@
|
|||
%bcond_with jar
|
||||
%bcond_with java
|
||||
%global snapshot 20220203
|
||||
# Disabled lto flags on i686 to avoid lto memory allocation error
|
||||
%ifarch i686
|
||||
%global _lto_cflags %{nil}
|
||||
%endif
|
||||
|
||||
Summary: GNU tools and libraries for localized translated messages
|
||||
Name: gettext
|
||||
Version: 0.21
|
||||
Release: 18.0.%{snapshot}%{?dist}
|
||||
Version: 0.26
|
||||
Release: 3%{?dist}
|
||||
|
||||
# The following are licensed under LGPLv2+:
|
||||
# - libintl and its headers
|
||||
|
|
@ -20,18 +23,15 @@ Release: 18.0.%{snapshot}%{?dist}
|
|||
# - libasprintf info files
|
||||
# - libtextstyle info files
|
||||
# Everything else is GPLv3+
|
||||
License: GPLv3+ and LGPLv2+ and GFDL
|
||||
License: GPL-3.0-or-later and LGPL-2.0-or-later and GFDL-1.2-or-later
|
||||
URL: https://www.gnu.org/software/gettext/
|
||||
# Snapshot tarball has been generated by following upstream release steps.
|
||||
# https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=blob;f=Admin/release-steps
|
||||
Source: %{name}-%{version}-%{snapshot}.tar.gz
|
||||
Source: https://ftp.gnu.org/pub/gnu/%{name}/%{name}-%{version}.tar.gz
|
||||
Source2: msghack.py
|
||||
Source3: msghack.1
|
||||
|
||||
Patch1: %{name}-%{version}-disable-libtextstyle.patch
|
||||
Patch2: %{name}-%{version}-covscan.patch
|
||||
Patch3: gettext-java17-2062407.patch
|
||||
|
||||
Patch1: gettext-0.21.1-covscan.patch
|
||||
Patch2: gettext-0.26-c23.diff
|
||||
Patch3: gettext-0.26-stdcountof-h.patch
|
||||
# for bootstrapping
|
||||
# BuildRequires: autoconf >= 2.62
|
||||
BuildRequires: automake
|
||||
|
|
@ -52,8 +52,6 @@ BuildRequires: zip, unzip
|
|||
%endif
|
||||
# for po-mode.el
|
||||
BuildRequires: emacs
|
||||
# for autosetup
|
||||
BuildRequires: git
|
||||
# ensure 'ARCHIVE_FORMAT=dirxz'
|
||||
BuildRequires: xz
|
||||
# for documentation
|
||||
|
|
@ -78,8 +76,8 @@ BuildRequires: glibc-langpack-tr
|
|||
BuildRequires: glibc-langpack-zh
|
||||
BuildRequires: make
|
||||
Provides: bundled(gnulib)
|
||||
Provides: bundled(libcroco) = 0.6.12
|
||||
Requires: %{name}-runtime = %{version}-%{release}
|
||||
Requires: libtextstyle%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description
|
||||
The GNU gettext package provides a set of tools and documentation for
|
||||
|
|
@ -96,10 +94,11 @@ programs.
|
|||
|
||||
%package runtime
|
||||
Summary: GNU runtime libraries and programs for producing multi-lingual messages
|
||||
License: GPLv3+ and LGPLv2+
|
||||
License: GPL-3.0-or-later and LGPL-2.0-or-later
|
||||
# Depend on the exact version of the library sub package
|
||||
Requires: %{name}-libs%{_isa} = %{version}-%{release}
|
||||
Requires: %{name}-envsubst = %{version}-%{release}
|
||||
Conflicts: %{name} <= 0.21-15%{?dist}.0.20220203
|
||||
|
||||
|
||||
%description runtime
|
||||
|
|
@ -111,7 +110,7 @@ and is a powerful and simple method for internationalizing programs.
|
|||
%package common-devel
|
||||
Summary: Common development files for %{name}
|
||||
# autopoint archive
|
||||
License: GPLv3+
|
||||
License: GPL-3.0-or-later
|
||||
BuildArch: noarch
|
||||
|
||||
%description common-devel
|
||||
|
|
@ -123,7 +122,7 @@ Summary: Development files for %{name}
|
|||
# autopoint is GPLv3+
|
||||
# libasprintf is LGPLv2+
|
||||
# libgettextpo is GPLv3+
|
||||
License: LGPLv2+ and GPLv3+ and GFDL
|
||||
License: LGPL-2.0-or-later and GPL-3.0-or-later and GFDL-1.2-or-later
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: %{name}-common-devel = %{version}-%{release}
|
||||
|
|
@ -131,7 +130,6 @@ Requires: xz
|
|||
Requires: diffutils
|
||||
Obsoletes: gettext-autopoint < 0.18.1.1-3
|
||||
Provides: gettext-autopoint = %{version}-%{release}
|
||||
Obsoletes: libtextstyle-devel < %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package contains all development related files necessary for
|
||||
|
|
@ -144,12 +142,29 @@ want to add gettext support for your project.
|
|||
Summary: Libraries for %{name}
|
||||
# libasprintf is LGPLv2+
|
||||
# libgettextpo is GPLv3+
|
||||
License: LGPLv2+ and GPLv3+
|
||||
Obsoletes: libtextstyle < %{version}-%{release}
|
||||
License: LGPL-2.0-or-later and GPL-3.0-or-later
|
||||
Requires: libtextstyle%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description libs
|
||||
This package contains libraries used internationalization support.
|
||||
|
||||
%package -n libtextstyle
|
||||
Summary: Text styling library
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
%description -n libtextstyle
|
||||
Library for producing styled text to be displayed in a terminal
|
||||
emulator.
|
||||
|
||||
%package -n libtextstyle-devel
|
||||
Summary: Development files for libtextstyle
|
||||
License: GPL-3.0-or-later and GFDL-1.2-or-later
|
||||
Requires: libtextstyle%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n libtextstyle-devel
|
||||
This package contains all development related files necessary for
|
||||
developing or compiling applications/libraries that needs text
|
||||
styling.
|
||||
|
||||
%package -n emacs-%{name}
|
||||
Summary: Support for editing po files within GNU Emacs
|
||||
|
|
@ -174,16 +189,18 @@ think about.
|
|||
|
||||
%package envsubst
|
||||
Summary: Substitutes the values of environment variables
|
||||
Conflicts: %{name} <= 0.21-15%{?dist}.0.20220203
|
||||
|
||||
%description envsubst
|
||||
Substitutes the values of environment variables.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -S git
|
||||
# Refresh autotools files to latest versions
|
||||
# Should be removed after 0.21:
|
||||
autoreconf --force --install
|
||||
%setup -q
|
||||
%patch 1 -p1 -b .orig~
|
||||
%patch 2 -p1 -b .orig~
|
||||
%patch 3 -p1 -b .orig~
|
||||
autoreconf
|
||||
|
||||
# Defeat libtextstyle attempt to bundle libxml2. The comments
|
||||
# indicate this is done because the libtextstyle authors do not want
|
||||
|
|
@ -208,7 +225,8 @@ export CFLAGS="$RPM_OPT_FLAGS -D__SUPPORT_SNAN__"
|
|||
export CPPFLAGS="-I%{_includedir}/libxml2"
|
||||
# Side effect of unbundling libxml2 from libtextstyle.
|
||||
export LIBS="-lxml2"
|
||||
%configure --without-included-gettext --enable-nls --disable-static \
|
||||
export CFLAGS="$CFLAGS -Wformat"
|
||||
%configure --enable-nls --disable-static \
|
||||
--enable-shared --disable-csharp --disable-rpath \
|
||||
%if %{with java}
|
||||
--enable-java \
|
||||
|
|
@ -236,7 +254,6 @@ sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
|
|||
install -pm 755 %SOURCE2 ${RPM_BUILD_ROOT}%{_bindir}/msghack
|
||||
install -pm 644 %SOURCE3 ${RPM_BUILD_ROOT}%{_mandir}/man1/msghack.1
|
||||
|
||||
|
||||
# make preloadable_libintl.so executable
|
||||
chmod 755 ${RPM_BUILD_ROOT}%{_libdir}/preloadable_libintl.so
|
||||
|
||||
|
|
@ -294,7 +311,7 @@ rm ${RPM_BUILD_ROOT}%{_emacs_sitelispdir}/%{name}/start-po.elc
|
|||
# this takes quite a lot of time to run
|
||||
|
||||
# adapt to rpath removal
|
||||
export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}:$PWD/gettext-tools/intl/.libs
|
||||
export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}:$PWD/gettext-runtime/intl/.libs
|
||||
|
||||
# override LIBUNISTRING to prevent reordering of lib objects
|
||||
make check LIBUNISTRING=-lunistring
|
||||
|
|
@ -303,7 +320,7 @@ make check LIBUNISTRING=-lunistring
|
|||
|
||||
%files -f %{name}-tools.lang
|
||||
%doc AUTHORS NEWS README THANKS
|
||||
%doc gettext-tools/misc/DISCLAIM
|
||||
%doc gettext-tools/misc/disclaim-translations.txt
|
||||
%doc gettext-tools/man/msg*.1.html
|
||||
%doc gettext-tools/man/recode*.1.html
|
||||
%doc gettext-tools/man/xgettext.1.html
|
||||
|
|
@ -327,26 +344,12 @@ make check LIBUNISTRING=-lunistring
|
|||
%{_bindir}/xgettext
|
||||
%{_infodir}/gettext*
|
||||
%exclude %{_mandir}/man1/autopoint.1*
|
||||
%exclude %{_mandir}/man1/envsubst.1*
|
||||
%exclude %{_mandir}/man1/gettextize.1*
|
||||
%exclude %{_mandir}/man1/msghack.1*
|
||||
%{_mandir}/man1/msg*
|
||||
%{_mandir}/man1/recode*.1*
|
||||
%{_mandir}/man1/xgettext.1*
|
||||
|
||||
%files runtime -f %{name}-runtime.lang
|
||||
%license COPYING
|
||||
%doc gettext-runtime/BUGS
|
||||
%doc gettext-runtime/man/*.1.html
|
||||
%doc gettext-runtime/intl/COPYING*
|
||||
%{_bindir}/gettext
|
||||
%{_bindir}/gettext.sh
|
||||
%{_bindir}/ngettext
|
||||
%exclude %{_mandir}/man1/autopoint.1*
|
||||
%exclude %{_mandir}/man1/gettextize.1*
|
||||
%exclude %{_mandir}/man1/msg*
|
||||
%exclude %{_mandir}/man1/recode-sr-latin.1*
|
||||
%exclude %{_mandir}/man1/xgettext.1*
|
||||
%{_mandir}/man1/*
|
||||
%{_libdir}/%{name}
|
||||
%if %{with java}
|
||||
%exclude %{_libdir}/%{name}/gnu.gettext.*
|
||||
|
|
@ -356,12 +359,43 @@ make check LIBUNISTRING=-lunistring
|
|||
%{_datadir}/%{name}/ABOUT-NLS
|
||||
%{_datadir}/%{name}/po
|
||||
%{_datadir}/%{name}/styles
|
||||
%{_datadir}/%{name}/disclaim-translations.txt
|
||||
%dir %{_datadir}/%{name}-%{version}
|
||||
%{_datadir}/%{name}-%{version}/its
|
||||
%dir %{_datadir}/%{name}/schema
|
||||
%{_datadir}/%{name}/schema/its*.xsd*
|
||||
%{_datadir}/%{name}/schema/locating-rules.xsd*
|
||||
%dir %{_libexecdir}/%{name}
|
||||
%{_libexecdir}/%{name}/cldr-plurals
|
||||
%{_libexecdir}/%{name}/hostname
|
||||
%{_libexecdir}/%{name}/project-id
|
||||
%{_libexecdir}/%{name}/urlget
|
||||
%{_libexecdir}/%{name}/user-email
|
||||
|
||||
%files runtime -f %{name}-runtime.lang
|
||||
%license COPYING
|
||||
%doc gettext-runtime/BUGS
|
||||
%doc gettext-runtime/man/gettext.1.html
|
||||
%doc gettext-runtime/man/ngettext.1.html
|
||||
%doc gettext-runtime/intl/COPYING*
|
||||
%{_bindir}/gettext
|
||||
%{_bindir}/gettext.sh
|
||||
%{_bindir}/ngettext
|
||||
%{_bindir}/printf_gettext
|
||||
%{_bindir}/printf_ngettext
|
||||
%exclude %{_mandir}/man1/autopoint.1*
|
||||
%exclude %{_mandir}/man1/envsubst.1*
|
||||
%exclude %{_mandir}/man1/gettextize.1*
|
||||
%exclude %{_mandir}/man1/msg*
|
||||
%exclude %{_mandir}/man1/recode-sr-latin.1*
|
||||
%exclude %{_mandir}/man1/xgettext.1*
|
||||
%{_mandir}/man1/*
|
||||
|
||||
%files envsubst
|
||||
%license COPYING
|
||||
%doc gettext-runtime/man/envsubst.1.html
|
||||
%{_bindir}/envsubst
|
||||
%{_mandir}/man1/envsubst.1*
|
||||
|
||||
%files common-devel
|
||||
%{_datadir}/%{name}/archive.*.tar.xz
|
||||
|
|
@ -376,7 +410,8 @@ make check LIBUNISTRING=-lunistring
|
|||
%{_datadir}/%{name}/config.rpath
|
||||
%{_datadir}/%{name}/*.h
|
||||
%{_datadir}/%{name}/msgunfmt.tcl
|
||||
%{_datadir}/aclocal/*
|
||||
%{_datadir}/%{name}/m4/*
|
||||
%{_datadir}/aclocal/nls.m4
|
||||
%{_includedir}/autosprintf.h
|
||||
%{_includedir}/gettext-po.h
|
||||
%{_infodir}/autosprintf*
|
||||
|
|
@ -401,6 +436,16 @@ make check LIBUNISTRING=-lunistring
|
|||
%{_datadir}/%{name}/libintl.jar
|
||||
%endif
|
||||
|
||||
%files -n libtextstyle
|
||||
%{_libdir}/libtextstyle.so.0*
|
||||
|
||||
%files -n libtextstyle-devel
|
||||
%{_docdir}/libtextstyle/
|
||||
%{_includedir}/textstyle/
|
||||
%{_includedir}/textstyle.h
|
||||
%{_infodir}/libtextstyle*
|
||||
%{_libdir}/libtextstyle.so
|
||||
|
||||
%files -n emacs-%{name}
|
||||
%dir %{_emacs_sitelispdir}/%{name}
|
||||
%{_emacs_sitelispdir}/%{name}/*.elc
|
||||
|
|
@ -413,6 +458,103 @@ make check LIBUNISTRING=-lunistring
|
|||
%{_mandir}/man1/msghack.1*
|
||||
|
||||
%changelog
|
||||
* Sun Jan 11 2026 Manish Tiwari <matiwari@redhat.com> - 0.26-3
|
||||
- https://lists.gnu.org/archive/html/bug-gnulib/2025-09/msg00095.html
|
||||
- Upstream patch to fix implicit declaration error with GCC-16
|
||||
|
||||
* Thu Dec 18 2025 Manish Tiwari <matiwari@redhat.com> - 0.26-2
|
||||
- Add upstream provided patch to fix build failure with glibc 2.42 C23 const-preserving macros
|
||||
- https://lists.gnu.org/archive/html/bug-gnulib/2025-11/msg00220.html
|
||||
|
||||
* Tue Aug 19 2025 Manish Tiwari <matiwari@redhat.com> - 0.26-1
|
||||
- update to 0.26 release
|
||||
- https://savannah.gnu.org/news/?id=10789
|
||||
|
||||
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.25.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Wed Jul 23 2025 Manish Tiwari <matiwari@redhat.com> - 0.25.1-1
|
||||
- update to 0.25.1 release
|
||||
- Bug fixes:
|
||||
- autopoint no longer fails if configure.ac contains no AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION invocation.
|
||||
- nls.m4 is installed again under $PREFIX/share/aclocal/.
|
||||
|
||||
* Mon May 12 2025 Manish Tiwari <matiwari@redhat.com> - 0.25-1
|
||||
- update to 0.25 release
|
||||
- https://savannah.gnu.org/news/?id=10769
|
||||
|
||||
* Thu Feb 27 2025 Manish Tiwari <matiwari@redhat.com> - 0.24-1
|
||||
- update to 0.24 release
|
||||
- https://savannah.gnu.org/news/?id=10730
|
||||
|
||||
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.23.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Wed Jan 1 2025 Manish Tiwari <matiwari@redhat.com> - 0.23.1-1
|
||||
- update to 0.23.1 release
|
||||
- Remove gettext-0.23-libxml2 patch
|
||||
|
||||
* Wed Dec 11 2024 Manish Tiwari <matiwari@redhat.com> - 0.23-1
|
||||
- update to 0.23 release
|
||||
- https://savannah.gnu.org/news/?id=10699
|
||||
- Add patch to fix compilation error with libxml2 >= 2.12.0 and gcc >= 14.
|
||||
- Remove gettext-0.22-disable-libtextstyle patch
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.22.5-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Thu Jul 11 2024 Manish Tiwari <matiwari@redhat.com> - 0.22.5-5
|
||||
- CI gating tests migration to tmt
|
||||
|
||||
* Thu Jul 4 2024 Manish Tiwari <matiwari@redhat.com> - 0.22.5-4
|
||||
- Add explicit package version requirement for libtextstyle
|
||||
|
||||
* Tue Jul 2 2024 Manish Tiwari <matiwari@redhat.com> - 0.22.5-3
|
||||
- Add back libtextstyle for f40 (#2278984)
|
||||
|
||||
* Fri Mar 8 2024 Jens Petersen <petersen@redhat.com> - 0.22.5-2
|
||||
- condition libtextstyle obsoletes
|
||||
|
||||
* Mon Mar 4 2024 Manish Tiwari <matiwari@redhat.com> - 0.22.5-1
|
||||
- update to 0.22.5 release
|
||||
- https://savannah.gnu.org/news/?id=10597
|
||||
|
||||
* Wed Feb 21 2024 Manish Tiwari <matiwari@redhat.com> - 0.22.4-2
|
||||
- Add back libtextstyle library for rawhide (#2264128)
|
||||
|
||||
* Fri Feb 9 2024 Manish Tiwari <matiwari@redhat.com> - 0.22.4-1
|
||||
- update to 0.22.4 release
|
||||
- https://savannah.gnu.org/news/?id=10544
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.22-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Fri Jun 23 2023 Jens Petersen <petersen@redhat.com> - 0.22-1
|
||||
- update to 0.22 release
|
||||
- https://savannah.gnu.org/news/?id=10378
|
||||
|
||||
* Wed Mar 29 2023 Sundeep Anand <suanand@redhat.com> - 0.21.1-3
|
||||
- update license tag to as per SPDX identifiers
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.21.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Oct 14 2022 Sundeep Anand <suanand@redhat.com> - 0.21.1-1
|
||||
- update to 0.21.1 release
|
||||
|
||||
* Thu Oct 13 2022 Sundeep Anand <suanand@redhat.com> - 0.21-20.0.20220203
|
||||
- Include doc and man pages for envsubst subpackage.
|
||||
Move _libdir and _datadir from gettext-runtime to gettext package.
|
||||
|
||||
* Mon Sep 12 2022 Sundeep Anand <suanand@redhat.com> - 0.21-19.0.20220203
|
||||
- Add conflicts to enable new (sub)packages installable independently of the original package.
|
||||
|
||||
* Wed Aug 10 2022 Honza Horak <hhorak@redhat.com> - 0.21-18.0.20220203
|
||||
- Introduce envsubst sub-package for allow install envsubst with minimal
|
||||
footprint
|
||||
|
|
|
|||
5
plans/basic.fmf
Normal file
5
plans/basic.fmf
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
summary: Basic smoke test
|
||||
discover:
|
||||
how: fmf
|
||||
execute:
|
||||
how: tmt
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (gettext-0.21-20220203.tar.gz) = ffa90ef2fe7894504a35ee1cee8e45e4e500dd22a10e70e888a95e4aa80002fad063e9ecc5610b4617908ddef05b50e780115b1c26864bce16fea9d02a44665b
|
||||
SHA512 (gettext-0.26.tar.gz) = 6c2afb0737843028e1cd27f1cd7dd5b81372ccff8cd8e01e17cfdc517afdd9a849c232f1ff5adca5eb4b03f2cc64f4a3f689ae8b84e523ceeae85384f3844083
|
||||
|
|
|
|||
5
tests/main.fmf
Normal file
5
tests/main.fmf
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
summary: Run gettext test
|
||||
test: ./test.sh
|
||||
framework: beakerlib
|
||||
require:
|
||||
- gettext
|
||||
25
tests/test.sh
Executable file
25
tests/test.sh
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="gettext"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory"
|
||||
rlRun "cp test_i18n.py test_gettext.py $TmpDir"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlLog "Run test_gettext.py"
|
||||
rlRun "python3 test_gettext.py"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
227
tests/test_gettext.py
Normal file
227
tests/test_gettext.py
Normal file
|
|
@ -0,0 +1,227 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import logging
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
|
||||
# Saving logs
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
DECORATE_STR = "************************************"
|
||||
logging.info("TEST RESULTS FOR GETTEXT\n{0}".format(DECORATE_STR))
|
||||
|
||||
# CONSTANTS
|
||||
PACKAGE_TO_TEST = "gettext"
|
||||
DOMAIN_TO_BIND = "testdomain"
|
||||
PYTHON_INTERPRETER = "python3"
|
||||
TEST_I18N_FILE = "test_i18n.py"
|
||||
|
||||
LOG_INFO_PASS = "[ PASS ]"
|
||||
LOG_INFO_FAIL = "[ FAIL ]"
|
||||
LOG_INFO_OS_ERROR = "[ OS Error ]"
|
||||
|
||||
# Test Data
|
||||
TEST_DATA = {"fr_FR": '''msgstr "Bonjour le monde!"''',
|
||||
"de_DE": '''msgstr "Hallo Welt!"''',
|
||||
"es_ES": '''msgstr "Hola Mundo!"''',
|
||||
"it_IT": '''msgstr "Ciao mondo!"''',
|
||||
"pt_BR": '''msgstr "Olá Mundo!"''',
|
||||
"ja_JP": '''msgstr "「こんにちは世界」"''',
|
||||
"ko_KR": '''msgstr "안녕하세요!"''',
|
||||
"ru_RU": '''msgstr "Привет мир!"''',
|
||||
"zh_CN": '''msgstr "你好,世界!"''',
|
||||
"zh_TW": '''msgstr "你好,世界!"'''}
|
||||
|
||||
|
||||
def test_locale():
|
||||
"""
|
||||
Check common files for locale support
|
||||
"""
|
||||
|
||||
subject = "Locale Support Test"
|
||||
|
||||
try:
|
||||
all_locales = subprocess.Popen(["locale", "-a"], stdout=subprocess.PIPE)
|
||||
all_locales_data = all_locales.communicate()
|
||||
|
||||
if all_locales_data:
|
||||
actual = all_locales_data[0].decode().split('\n')
|
||||
else:
|
||||
logging.error("{0}: ERROR\n".format(subject))
|
||||
return
|
||||
|
||||
expected_locales = ['en_US', 'en_US.iso88591',
|
||||
'en_US.iso885915', 'en_US.utf8']
|
||||
if set(expected_locales).issubset(set(actual)):
|
||||
logging.info("{0}: {1}\n".format(subject, LOG_INFO_PASS))
|
||||
else:
|
||||
logging.error("{0}: {1}\n".format(subject, LOG_INFO_FAIL))
|
||||
|
||||
except OSError as e:
|
||||
logging.error("{0}: {1}\n".format(subject, LOG_INFO_OS_ERROR))
|
||||
|
||||
|
||||
def test_gettext():
|
||||
"""
|
||||
Check if gettext is present
|
||||
"""
|
||||
|
||||
subject = "GNU Internationalization Utilities Test"
|
||||
|
||||
try:
|
||||
cmd_check_gettext = ['rpm', '-q', PACKAGE_TO_TEST]
|
||||
p1 = subprocess.Popen(cmd_check_gettext, stdout=subprocess.PIPE)
|
||||
std_data, stderr = p1.communicate()
|
||||
std_data = std_data.decode()
|
||||
logging.info("Found {0} NVR: {1}".format(PACKAGE_TO_TEST, std_data))
|
||||
if PACKAGE_TO_TEST in std_data:
|
||||
logging.info("{0}: {1}\n".format(subject, LOG_INFO_PASS))
|
||||
else:
|
||||
logging.error("{0}: {1}\n".format(subject, LOG_INFO_FAIL))
|
||||
except OSError as e:
|
||||
logging.error("{0}: {1}\n".format(subject, LOG_INFO_OS_ERROR))
|
||||
|
||||
|
||||
def test_pot_creation():
|
||||
"""
|
||||
Creates hello.pot file using test_i18n.py file
|
||||
"""
|
||||
|
||||
subject = "POT file Creation Test"
|
||||
|
||||
try:
|
||||
pot_file = subprocess.Popen(
|
||||
"xgettext -d '{0}' -o {1}.pot {2}".format(DOMAIN_TO_BIND,
|
||||
DOMAIN_TO_BIND,
|
||||
TEST_I18N_FILE),
|
||||
shell=True
|
||||
)
|
||||
pot_file.communicate()
|
||||
except OSError as e:
|
||||
logging.error("{0}: {1}\n".format(subject, LOG_INFO_OS_ERROR))
|
||||
else:
|
||||
logging.info("{0}: {1}\n".format(subject, LOG_INFO_PASS))
|
||||
|
||||
|
||||
def make_dir(locale_dir):
|
||||
path = "./locale/{0}/LC_MESSAGES".format(locale_dir)
|
||||
os.makedirs(path)
|
||||
|
||||
|
||||
def create_po_files(active_locale):
|
||||
"""
|
||||
creates .po file using POT file
|
||||
"""
|
||||
|
||||
subject = "PO file Creation"
|
||||
|
||||
try:
|
||||
cmd_po_files = subprocess.Popen(
|
||||
"msginit --no-translator -l {0} -i {1}.pot -o ./locale/{2}/LC_MESSAGES/{3}.po".format(
|
||||
active_locale, DOMAIN_TO_BIND, active_locale, active_locale), shell=True
|
||||
)
|
||||
cmd_po_files.communicate()
|
||||
except OSError as e:
|
||||
logging.error("{0} failed: {1}\n".format(subject, LOG_INFO_OS_ERROR))
|
||||
else:
|
||||
logging.info("{0} Succeed.".format(subject))
|
||||
|
||||
|
||||
def translate(active_locale):
|
||||
"""
|
||||
Updates .po file with the translations for respective language
|
||||
"""
|
||||
|
||||
data = TEST_DATA.get(active_locale)
|
||||
if not data:
|
||||
return
|
||||
with open('./locale/{0}/LC_MESSAGES/{1}.po'.format(active_locale,
|
||||
active_locale),
|
||||
'r', encoding='latin-1') as f1:
|
||||
data1 = f1.readlines()
|
||||
data1.pop()
|
||||
data1.append(data)
|
||||
for index, data in enumerate(data1):
|
||||
if "Content-Type" in data:
|
||||
data1[index] = '"Content-Type: text/plain; charset=UTF-8\\n"\n'
|
||||
|
||||
with open('./locale/{0}/LC_MESSAGES/{1}'.format(active_locale,
|
||||
active_locale) + ".po", 'w') as f2:
|
||||
for line in data1:
|
||||
f2.write(line)
|
||||
|
||||
|
||||
def create_mo_files(active_locale):
|
||||
"""
|
||||
Creates .mo file for different locale form .po file
|
||||
"""
|
||||
|
||||
subject = "MO file Creation"
|
||||
|
||||
try:
|
||||
mo_files = subprocess.Popen(
|
||||
"msgfmt ./locale/{0}/LC_MESSAGES/{1}.po --output-file ./locale/{2}/LC_MESSAGES/{3}.mo".format(
|
||||
active_locale, active_locale, active_locale, active_locale
|
||||
), shell=True
|
||||
)
|
||||
mo_files.communicate()
|
||||
except OSError as e:
|
||||
logging.error("{0} failed: {1}\n".format(subject, LOG_INFO_OS_ERROR))
|
||||
else:
|
||||
logging.info("{0} Succeed.".format(subject))
|
||||
|
||||
|
||||
def test_translations(active_locale):
|
||||
"""
|
||||
Verify if the output is correct for different language
|
||||
"""
|
||||
|
||||
subject = "Translation Test"
|
||||
|
||||
try:
|
||||
cmd_translation_test = subprocess.check_output(
|
||||
'LANGUAGE={0} {1} {2} {3}'.format(active_locale,
|
||||
PYTHON_INTERPRETER,
|
||||
TEST_I18N_FILE,
|
||||
active_locale),
|
||||
encoding='UTF-8', shell=True
|
||||
)
|
||||
if cmd_translation_test.strip() == TEST_DATA[active_locale].strip('msgstr "'):
|
||||
logging.info("{0} for {1}: {2}\n".format(subject, active_locale, LOG_INFO_PASS))
|
||||
else:
|
||||
logging.error("{0} for {1}: {2}\n".format(subject, active_locale, LOG_INFO_FAIL))
|
||||
except OSError as e:
|
||||
logging.error("{0} for {1}: {2}\n".format(subject, active_locale, LOG_INFO_OS_ERROR))
|
||||
|
||||
|
||||
def tear_off():
|
||||
try:
|
||||
subprocess.call(['rm', '-rf', './locale', '{0}.pot'.format(DOMAIN_TO_BIND)])
|
||||
except OSError as e:
|
||||
logging.error("OSError\n")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
"""
|
||||
Gettext Tests
|
||||
"""
|
||||
|
||||
# Prepare tests
|
||||
env_tests = [test_locale,
|
||||
test_gettext,
|
||||
test_pot_creation]
|
||||
|
||||
translation_tests = [make_dir,
|
||||
create_po_files,
|
||||
translate,
|
||||
create_mo_files,
|
||||
test_translations]
|
||||
|
||||
# Execute tests
|
||||
[env_test() for env_test in env_tests]
|
||||
|
||||
for locale in TEST_DATA.keys():
|
||||
[test(locale) for test in translation_tests]
|
||||
|
||||
tear_off()
|
||||
14
tests/test_i18n.py
Normal file
14
tests/test_i18n.py
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
import gettext
|
||||
import sys
|
||||
|
||||
|
||||
def print_message(locale):
|
||||
# Set up message catalog access
|
||||
t = gettext.translation('%s' % locale, 'locale', fallback=True)
|
||||
_ = t.gettext
|
||||
|
||||
s = _('Hello World!')
|
||||
print(s)
|
||||
|
||||
|
||||
print_message(sys.argv[1])
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
---
|
||||
# Tests run on Atomic, Classic and Container
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tags:
|
||||
- atomic
|
||||
- classic
|
||||
- container
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/gettext.git"
|
||||
dest: "gettext"
|
||||
tests:
|
||||
- gettext/gettext-tests
|
||||
required_packages:
|
||||
- gettext
|
||||
Loading…
Add table
Add a link
Reference in a new issue