From 8031f693b3a03bf802e2e3d4453472160280b31d Mon Sep 17 00:00:00 2001 From: Joe Bo Run Date: Thu, 21 Sep 2023 18:21:33 +0300 Subject: [PATCH] upg gettext --- gettext/PKGBUILD | 17 +-- gettext/PKGBUILD-arch | 11 +- .../gettext-0.22.2-disable-libtextstyle.patch | 141 ++++++++++++++++++ gettext/time | 9 +- 4 files changed, 160 insertions(+), 18 deletions(-) create mode 100644 gettext/gettext-0.22.2-disable-libtextstyle.patch diff --git a/gettext/PKGBUILD b/gettext/PKGBUILD index 7347263..f5e0afb 100644 --- a/gettext/PKGBUILD +++ b/gettext/PKGBUILD @@ -6,7 +6,7 @@ #-----------------------------------------| DESCRIPTION |--------------------------------------- pkgname=gettext -pkgver=0.22 +pkgver=0.22.2 pkgrel=01 pkgdesc="GNU internationalization library" url="https://www.gnu.org/software/gettext/" @@ -15,7 +15,7 @@ makedepends=(gettext emacs-git git) optdepends=('git: for autopoint infrastructure updates') #options=(!docs) source=(https://ftp.gnu.org/pub/gnu/gettext/$pkgname-$pkgver.tar.gz{,.sig} - gettext-0.22-disable-libtextstyle.patch) + gettext-0.22.2-disable-libtextstyle.patch) prepare() { cd $pkgname-$pkgver @@ -23,12 +23,12 @@ prepare() { # Do not build libtextstyle, as it depends on libcroco # which is now unmaintained and has known security bugs. # patch from Fedora - patch -p1 -i $srcdir/gettext-0.22-disable-libtextstyle.patch + patch -p1 -i $srcdir/gettext-0.22.2-disable-libtextstyle.patch } build() { cd $pkgname-$pkgver - + LTOFLAGS="" autoreconf --force ./configure \ @@ -65,9 +65,8 @@ validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871' # Daiki Ueno '68D94D8AAEEAD48AE7DC5B904F494A942E4616C2' '9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D') # Bruno Haible (Open Source Development) -sha256sums=(49f089be11b490170bbf09ed2f51e5f5177f55be4cc66504a5861820e0fb06ab # gettext-0.22.tar.gz - 74b028d3c39eab0612cbd70649acc082f4879bb7912b6befeb880fae1f41db31 # gettext-0.22.tar.gz.sig - d751adc12a1f1d0b7556b1045f0f427b11345242f2a245542d8baade74177f97) # gettext-0.22-disable-libtextstyle.patch - -## eb3aa83a2402d4fda7e4f09112b1f25b33e3195666e585ef70f1a902d9ee23dd gettext-0.22-01-x86_64.pkg.tar.lz +sha256sums=(a99662bafc1cc683ec7740844b465c7f30ccb044967f157f74697df9a9306b0e # gettext-0.22.2.tar.gz + c44ba5d822569b52facee3440960f95a6bc9effeb919ba520b8271fe87cf3ae1 # gettext-0.22.2.tar.gz.sig + a28a27192f336f0b0908bdbf840d3b19d7b587c4ac52cad635cb43e95eb3c78d) # gettext-0.22.2-disable-libtextstyle.patch +## cdc49925fcd8983264bb62b932967f00edbc628657afa82594ef4ab3d8675075 gettext-0.22.2-01-x86_64.pkg.tar.lz diff --git a/gettext/PKGBUILD-arch b/gettext/PKGBUILD-arch index 2496991..7fa9b87 100644 --- a/gettext/PKGBUILD-arch +++ b/gettext/PKGBUILD-arch @@ -1,7 +1,7 @@ # Maintainer: pkgname=gettext -pkgver=0.22 +pkgver=0.22.2 pkgrel=1 pkgdesc="GNU internationalization library" url="https://www.gnu.org/software/gettext/" @@ -13,26 +13,25 @@ optdepends=('git: for autopoint infrastructure updates') options=(!docs) source=(https://ftp.gnu.org/pub/gnu/gettext/$pkgname-$pkgver.tar.gz{,.sig} gettext-0.22-disable-libtextstyle.patch) -sha256sums=('49f089be11b490170bbf09ed2f51e5f5177f55be4cc66504a5861820e0fb06ab' +sha256sums=('a99662bafc1cc683ec7740844b465c7f30ccb044967f157f74697df9a9306b0e' 'SKIP' - 'd751adc12a1f1d0b7556b1045f0f427b11345242f2a245542d8baade74177f97') + 'a28a27192f336f0b0908bdbf840d3b19d7b587c4ac52cad635cb43e95eb3c78d') validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871' # Daiki Ueno '68D94D8AAEEAD48AE7DC5B904F494A942E4616C2' '9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D') # Bruno Haible (Open Source Development) - prepare() { cd $pkgname-$pkgver # Do not build libtextstyle, as it depends on libcroco # which is now unmaintained and has known security bugs. # patch from Fedora - patch -p1 -i $srcdir/gettext-0.22-disable-libtextstyle.patch + patch -p1 -i $srcdir/gettext-0.22-disable-libtextstyle.patch } build() { cd $pkgname-$pkgver - +LTOFLAGS="" autoreconf --force ./configure \ diff --git a/gettext/gettext-0.22.2-disable-libtextstyle.patch b/gettext/gettext-0.22.2-disable-libtextstyle.patch new file mode 100644 index 0000000..143f9fc --- /dev/null +++ b/gettext/gettext-0.22.2-disable-libtextstyle.patch @@ -0,0 +1,141 @@ +diff --git a/Makefile.am b/Makefile.am +index 815e3c7..e897de7 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 \ +@@ -123,7 +123,6 @@ distcheck-hook: + test "`sed 1,16d $(srcdir)/gettext-runtime/intl/xsize.h | md5sum`" = "`sed 1,16d $(srcdir)/gettext-tools/gnulib-lib/xsize.h | md5sum`" + 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 + test "`sed 1,15d $(srcdir)/gnulib-local/lib/alloca.in.h | md5sum`" = "`sed 1,15d $(srcdir)/gettext-runtime/libasprintf/alloca.in.h | md5sum`" +diff --git a/configure.ac b/configure.ac +index 49689fb..2d23b44 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 449a797..c5719c2 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/src/Makefile.am b/gettext-tools/src/Makefile.am +index 764ffad..eccfbbd 100644 +--- a/gettext-tools/src/Makefile.am ++++ b/gettext-tools/src/Makefile.am +@@ -292,19 +292,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. +--- a/gettext-tools/libgettextpo/textstyle.in.h.orig 2023-09-18 22:36:31.000000000 +0200 ++++ b/gettext-tools/libgettextpo/textstyle.in.h 2023-09-21 10:11:20.611665975 +0200 +@@ -255,7 +255,8 @@ + 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"); + } + + static inline bool +@@ -673,14 +674,6 @@ + return true; + } + +-static inline noop_styled_ostream_t +-noop_styled_ostream_create (ostream_t destination, bool pass_ownership) +-{ +- if (!pass_ownership) +- /* Not supported without the real libtextstyle. */ +- abort (); +- return destination; +-} + + static inline bool + is_instance_of_noop_styled_ostream (_GL_ATTRIBUTE_MAYBE_UNUSED ostream_t stream) +@@ -688,6 +689,30 @@ + return false; + } + ++/* ----------------------- 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/time b/gettext/time index eb4f696..4aaa81d 100644 --- a/gettext/time +++ b/gettext/time @@ -1,3 +1,6 @@ -real 5m10.317s -user 8m49.850s -sys 1m5.706s + + +real 8m56.854s +user 7m37.687s +sys 1m27.822s +