janneke pushed a commit to branch core-packages-team
in repository guix.
commit dd5a6c5af79bd56fafc26278725ad1d64f9891e5
Author: Janneke Nieuwenhuizen <[email protected]>
AuthorDate: Sat Jan 4 10:30:27 2025 +0100
gnu: Add gettext-minimal-0.21.
* gnu/packages/patches/gettext-libunicode-update.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gettext.scm (gettext-minimal-0.21): Use it in new variable.
Change-Id: Ie4cb151229b9a69bec90d50f56618b4ae7c6ca12
---
gnu/local.mk | 1 +
gnu/packages/gettext.scm | 27 +++++-
.../patches/gettext-libunicode-update.patch | 99 ++++++++++++++++++++++
3 files changed, 126 insertions(+), 1 deletion(-)
diff --git a/gnu/local.mk b/gnu/local.mk
index 95c7d34e49..16995e3d19 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1426,6 +1426,7 @@ dist_patch_DATA =
\
%D%/packages/patches/gemrb-remove-ifdef-and-externalize-path-setting-to-cmake.patch
\
%D%/packages/patches/genimage-mke2fs-test.patch \
%D%/packages/patches/geoclue-config.patch \
+ %D%/packages/patches/gettext-libunicode-update.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-9.2-cabal-support-package-path.patch \
%D%/packages/patches/ghc-9-StgCRunAsm-only-when-needed.patch \
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 870d35d60e..65b57cf319 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -9,7 +9,7 @@
;;; Copyright © 2017 Eric Bavier <[email protected]>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <[email protected]>
;;; Copyright © 2019 Miguel <[email protected]>
-;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <[email protected]>
+;;; Copyright © 2020, 2023, 2024, 2025 Janneke Nieuwenhuizen <[email protected]>
;;; Copyright © 2020 EuAndreh <[email protected]>
;;; Copyright © 2022, 2024 gemmaro <[email protected]>
;;; Copyright © 2023 Maxim Cournoyer [email protected]>
@@ -158,6 +158,31 @@ translated messages from the catalogs. Nearly all GNU
packages use Gettext.")
(cpe-name . "gettext")))
(license gpl3+))) ;some files are under GPLv2+
+(define-public gettext-minimal-0.21
+ (package/inherit gettext-minimal
+ (version "0.21")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gettext/gettext-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "04kbg1sx0ncfrsbr85ggjslqkzzb243fcw9nyh3rrv1a22ihszf7"))
+ (patches (search-patches "gettext-libunicode-update.patch"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments gettext-minimal)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'touch-test
+ (lambda _
+ (with-output-to-file
"gettext-tools/gnulib-tests/test-execute.sh"
+ (lambda _ (display "")))))
+ (add-before 'check 'patch-test
+ (lambda _
+ ;; This test fails with ggc-14.
+ (substitute* "gettext-tools/tests/xgettext-javascript-6"
+ (("^#!.*" all) (string-append all "exit 77;\n")))))))))))
+
;; Use that name to avoid clashes with Guile's 'gettext' procedure.
;;
;; We used to resort to #:renamer on the user side, but that prevented
diff --git a/gnu/packages/patches/gettext-libunicode-update.patch
b/gnu/packages/patches/gettext-libunicode-update.patch
new file mode 100644
index 0000000000..2a67f4803a
--- /dev/null
+++ b/gnu/packages/patches/gettext-libunicode-update.patch
@@ -0,0 +1,99 @@
+https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commit;h=56dc658db752c2894861ee574866d507f12a17f8
+Due to the encoding it needs to be retrieved from a git clone.
+
+commit 56dc658db752c2894861ee574866d507f12a17f8
+Author: Bruno Haible <[email protected]>
+Date: Sun Jan 2 15:43:41 2022 +0100
+
+ Update after gnulib changed.
+
+ * gettext-tools/tests/msgcat-17: Update test for changed libunistring line
+ breaking behaviour.
+ * gettext-tools/tests/msgfilter-sr-latin-1: Likewise.
+ * gettext-tools/tests/msgmerge-11: Likewise.
+ * gettext-tools/tests/xgettext-python-1: Likewise.
+
+diff --git a/gettext-tools/tests/msgcat-17 b/gettext-tools/tests/msgcat-17
+index 8fecc4039..c4aa220b9 100755
+--- a/gettext-tools/tests/msgcat-17
++++ b/gettext-tools/tests/msgcat-17
+@@ -39,9 +39,9 @@ msgstr ""
+ #, c-format
+ msgid "write error of a big result on a too small disk% s% s"
+ msgstr ""
+-"Fehler beim Schreiben eines großen Ergebnisses auf eine zu kleine Platte% s"
+-"% smit der jederzeitigen Möglichkeit eines Fehlers in jedem Moment und an "
+-"jeder Stelle"
++"Fehler beim Schreiben eines großen Ergebnisses auf eine zu kleine "
++"Platte% s% smit der jederzeitigen Möglichkeit eines Fehlers in jedem Moment "
++"und an jeder Stelle"
+ EOF
+
+ : ${DIFF=diff}
+diff --git a/gettext-tools/tests/msgfilter-sr-latin-1
b/gettext-tools/tests/msgfilter-sr-latin-1
+index c1cc97875..29e68c04f 100755
+--- a/gettext-tools/tests/msgfilter-sr-latin-1
++++ b/gettext-tools/tests/msgfilter-sr-latin-1
+@@ -20,8 +20,8 @@ msgstr ""
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=CP1251\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : (n%10>=2 &&
n"
+-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
++"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : (n%10>=2 && "
++"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+ #: ../gettext-tools/lib/closeout.c:64
+ msgid "write error"
+@@ -332,8 +332,8 @@ msgstr ""
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : (n%10>=2 &&
n"
+-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
++"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : (n%10>=2 && "
++"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+ #: ../gettext-tools/lib/closeout.c:64
+ msgid "write error"
+diff --git a/gettext-tools/tests/msgmerge-11 b/gettext-tools/tests/msgmerge-11
+index ed49db95a..888855940 100755
+--- a/gettext-tools/tests/msgmerge-11
++++ b/gettext-tools/tests/msgmerge-11
+@@ -19,8 +19,8 @@ msgstr ""
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 ||
n"
+-"%100==4 ? 2 : 3);\n"
++"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
++"n%100==4 ? 2 : 3);\n"
+
+ #:foobar.c:29
+ #, c-format
+@@ -72,8 +72,8 @@ msgstr ""
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: 8bit\n"
+-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 ||
n"
+-"%100==4 ? 2 : 3);\n"
++"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
++"n%100==4 ? 2 : 3);\n"
+
+ #: foobar.c:32
+ #, fuzzy, c-format
+diff --git a/gettext-tools/tests/xgettext-python-1
b/gettext-tools/tests/xgettext-python-1
+index 4901c71e3..9695abda4 100755
+--- a/gettext-tools/tests/xgettext-python-1
++++ b/gettext-tools/tests/xgettext-python-1
+@@ -61,8 +61,8 @@ msgstr ""
+ #. interpret_ansic = false, interpret_unicode = false
+ msgid ""
+ "abc\\\n"
+-"\\\\def\\'ghi\\\"jkl\\a\\b\\f\\n\\r\\t\\v x\\040x\\x7ey"
+-"\\u0142\\U00010123\\N{LATIN SMALL LETTER Z}"
++"\\\\def\\'ghi\\\"jkl\\a\\b\\f\\n\\r\\t\\v "
++"x\\040x\\x7ey\\u0142\\U00010123\\N{LATIN SMALL LETTER Z}"
+ msgstr ""
+
+ #. interpret_ansic = true, interpret_unicode = true