diff --git a/gnu/local.mk b/gnu/local.mk index 3b4c3b6587..47110b0cec 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -61,7 +61,7 @@ # Copyright © 2023 Andy Tai # Copyright © 2023 B. Wilson # Copyright © 2023 Bruno Victal -# Copyright © 2023 gemmaro +# Copyright © 2023, 2024 gemmaro # Copyright © 2023 Herman Rimm # Copyright © 2023 Troy Figiel # Copyright © 2024 David Elsing @@ -1953,7 +1953,6 @@ dist_patch_DATA = \ %D%/packages/patches/plib-CVE-2011-4620.patch \ %D%/packages/patches/plib-CVE-2012-4552.patch \ %D%/packages/patches/plotutils-spline-test.patch \ - %D%/packages/patches/po4a-partial-texinfo-menu-fix.patch \ %D%/packages/patches/polkit-disable-systemd.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portmidi-modular-build.patch \ diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index b0e99d1a5f..cabe4f3be9 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2019 Miguel ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2020 EuAndreh -;;; Copyright © 2022 gemmaro +;;; Copyright © 2022, 2024 gemmaro ;;; Copyright © 2023 Maxim Cournoyer maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -237,7 +237,7 @@ (define-public mdpo (define-public po4a (package (name "po4a") - (version "0.69") + (version "0.73") (source (origin (method url-fetch) (uri (string-append "https://github.com/mquinson/po4a" @@ -245,8 +245,7 @@ (define-public po4a version "/po4a-" version ".tar.gz")) (sha256 (base32 - "15llrfdp4ilbrxy65hmmxka86xj0mrbqfiyzv715wrk16vqszm3w")) - (patches (search-patches "po4a-partial-texinfo-menu-fix.patch")))) + "184f0cv0w3xa301gwm74srn5s6g8qdn3ksip84wpg8xjihnzh63g")))) (build-system perl-build-system) (arguments (list @@ -292,7 +291,7 @@ (define-public po4a libxslt ;; For tests. docbook-sgml-4.1 - docbook-xml-4.1.2 + docbook-xml-4.5 perl-test-pod (texlive-updmap.cfg))) (inputs diff --git a/gnu/packages/patches/po4a-partial-texinfo-menu-fix.patch b/gnu/packages/patches/po4a-partial-texinfo-menu-fix.patch deleted file mode 100644 index 8a075fa74c..0000000000 --- a/gnu/packages/patches/po4a-partial-texinfo-menu-fix.patch +++ /dev/null @@ -1,242 +0,0 @@ -Submitted upstream: https://github.com/mquinson/po4a/pull/437 - -From 43db5c0b14ec2a8ba44d338bce024df87256457b Mon Sep 17 00:00:00 2001 -From: Maxim Cournoyer -Date: Thu, 27 Jul 2023 17:44:49 -0400 -Subject: [PATCH] lib: Texinfo: Translate partial menu node names. - -Fixes . - -* lib/Locale/Po4a/Texinfo.pm (translate_buffer_menuentry): Refine -regexp, so that it matches menu entries lacking a description. -Only call 'translate_buffer' on the description if it was provided. -* t/fmt/texinfo/partialmenus.trans: New file. -* t/fmt/texinfo/partialmenus.texi: Likewise. -* t/fmt/texinfo/partialmenus.pot: Likewise. -* t/fmt/texinfo/partialmenus.po: Likewise. -* t/fmt/texinfo/partialmenus.norm: Likewise. -* t/fmt-texinfo.t: Register the new 'partialmenus' test. ---- - lib/Locale/Po4a/Texinfo.pm | 7 +++--- - t/fmt-texinfo.t | 2 +- - t/fmt/texinfo/partialmenus.norm | 21 +++++++++++++++++ - t/fmt/texinfo/partialmenus.po | 40 ++++++++++++++++++++++++++++++++ - t/fmt/texinfo/partialmenus.pot | 40 ++++++++++++++++++++++++++++++++ - t/fmt/texinfo/partialmenus.texi | 14 +++++++++++ - t/fmt/texinfo/partialmenus.trans | 21 +++++++++++++++++ - 7 files changed, 141 insertions(+), 4 deletions(-) - create mode 100644 t/fmt/texinfo/partialmenus.norm - create mode 100644 t/fmt/texinfo/partialmenus.po - create mode 100644 t/fmt/texinfo/partialmenus.pot - create mode 100644 t/fmt/texinfo/partialmenus.texi - create mode 100644 t/fmt/texinfo/partialmenus.trans - -diff --git a/lib/Locale/Po4a/Texinfo.pm b/lib/Locale/Po4a/Texinfo.pm -index b4750699..1c3a4bae 100644 ---- a/lib/Locale/Po4a/Texinfo.pm -+++ b/lib/Locale/Po4a/Texinfo.pm -@@ -336,7 +336,7 @@ sub translate_buffer_menuentry { - - my $translated_buffer = ""; - -- if ( $buffer =~ m/^(.*?)(::)\s+(.*)$/s -+ if ( $buffer =~ m/^(.*?)(::)(?:\s+(.*))?$/s - or $buffer =~ m/^(.*?: .*?)(\.)\s+(.*)$/s ) - { - my ( $name, $sep, $description ) = ( $1, $2, $3 ); -@@ -347,8 +347,9 @@ sub translate_buffer_menuentry { - $translated_buffer .= ' ' x ( $menu_sep_width - 1 - $l ); - $l = $menu_sep_width - 1; - } -- ( $t, @e ) = $self->translate_buffer( $description, $no_wrap, @env ); -- -+ if ($description) { -+ ( $t, @e ) = $self->translate_buffer( $description, $no_wrap, @env ); -+ } - # Replace newlines with space for proper wrapping - # See https://github.com/mquinson/po4a/issues/122 - $t =~ s/\n/ /sg; -diff --git a/t/fmt-texinfo.t b/t/fmt-texinfo.t -index 4b067e43..d9ed5df3 100644 ---- a/t/fmt-texinfo.t -+++ b/t/fmt-texinfo.t -@@ -10,7 +10,7 @@ use Testhelper; - - my @tests; - --for my $test (qw(longmenu comments tindex)) { -+for my $test (qw(longmenu partialmenus comments tindex)) { - push @tests, - { - 'format' => 'texinfo', -diff --git a/t/fmt/texinfo/partialmenus.norm b/t/fmt/texinfo/partialmenus.norm -new file mode 100644 -index 00000000..99240682 ---- /dev/null -+++ b/t/fmt/texinfo/partialmenus.norm -@@ -0,0 +1,21 @@ -+\input texinfo -+@c =========================================================================== -+@c -+@c This file was generated with po4a. Translate the source file. -+@c -+@c =========================================================================== -+ -+ -+@c These menus do not contain a description, which used to cause a -+@c Texinfo menu entry to not be translated. -+@menu -+* A menu entry without any description:: A menu entry without any -+ description -+* Optional menu name: The menu node:: Optional menu name: The menu node -+@end menu -+ -+@node A menu entry without any description -+@chapter A menu entry without any description -+ -+@node The menu node -+@chapter Optional menu name -diff --git a/t/fmt/texinfo/partialmenus.po b/t/fmt/texinfo/partialmenus.po -new file mode 100644 -index 00000000..31a14443 ---- /dev/null -+++ b/t/fmt/texinfo/partialmenus.po -@@ -0,0 +1,40 @@ -+# SOME DESCRIPTIVE TITLE -+# Copyright (C) YEAR Free Software Foundation, Inc. -+# This file is distributed under the same license as the PACKAGE package. -+# FIRST AUTHOR , YEAR. -+# -+#, fuzzy -+msgid "" -+msgstr "" -+"Project-Id-Version: PACKAGE VERSION\n" -+"POT-Creation-Date: 2023-07-27 17:29-0400\n" -+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -+"Last-Translator: FULL NAME \n" -+"Language-Team: LANGUAGE \n" -+"Language: \n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+ -+#. type: chapter -+#: partialmenus.texi:8 partialmenus.texi:10 partialmenus.texi:11 -+#, no-wrap -+msgid "A menu entry without any description" -+msgstr "A MENU ENTRY WITHOUT ANY DESCRIPTION" -+ -+#. type: menuentry -+#: partialmenus.texi:8 -+msgid "Optional menu name: The menu node" -+msgstr "OPTIONAL MENU NAME: THE MENU NODE" -+ -+#. type: node -+#: partialmenus.texi:13 -+#, no-wrap -+msgid "The menu node" -+msgstr "THE MENU NODE" -+ -+#. type: chapter -+#: partialmenus.texi:14 -+#, no-wrap -+msgid "Optional menu name" -+msgstr "OPTIONAL MENU NAME" -diff --git a/t/fmt/texinfo/partialmenus.pot b/t/fmt/texinfo/partialmenus.pot -new file mode 100644 -index 00000000..0379f805 ---- /dev/null -+++ b/t/fmt/texinfo/partialmenus.pot -@@ -0,0 +1,40 @@ -+# SOME DESCRIPTIVE TITLE -+# Copyright (C) YEAR Free Software Foundation, Inc. -+# This file is distributed under the same license as the PACKAGE package. -+# FIRST AUTHOR , YEAR. -+# -+#, fuzzy -+msgid "" -+msgstr "" -+"Project-Id-Version: PACKAGE VERSION\n" -+"POT-Creation-Date: 2023-08-16 09:47-0400\n" -+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -+"Last-Translator: FULL NAME \n" -+"Language-Team: LANGUAGE \n" -+"Language: \n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+ -+#. type: chapter -+#: partialmenus.texi:8 partialmenus.texi:10 partialmenus.texi:11 -+#, no-wrap -+msgid "A menu entry without any description" -+msgstr "" -+ -+#. type: menuentry -+#: partialmenus.texi:8 -+msgid "Optional menu name: The menu node" -+msgstr "" -+ -+#. type: node -+#: partialmenus.texi:13 -+#, no-wrap -+msgid "The menu node" -+msgstr "" -+ -+#. type: chapter -+#: partialmenus.texi:14 -+#, no-wrap -+msgid "Optional menu name" -+msgstr "" -diff --git a/t/fmt/texinfo/partialmenus.texi b/t/fmt/texinfo/partialmenus.texi -new file mode 100644 -index 00000000..f8663a2b ---- /dev/null -+++ b/t/fmt/texinfo/partialmenus.texi -@@ -0,0 +1,14 @@ -+\input texinfo -+ -+@c These menus do not contain a description, which used to cause a -+@c Texinfo menu entry to not be translated. -+@menu -+* A menu entry without any description:: -+* Optional menu name: The menu node:: -+@end menu -+ -+@node A menu entry without any description -+@chapter A menu entry without any description -+ -+@node The menu node -+@chapter Optional menu name -diff --git a/t/fmt/texinfo/partialmenus.trans b/t/fmt/texinfo/partialmenus.trans -new file mode 100644 -index 00000000..0ef742a1 ---- /dev/null -+++ b/t/fmt/texinfo/partialmenus.trans -@@ -0,0 +1,21 @@ -+\input texinfo -+@c =========================================================================== -+@c -+@c This file was generated with po4a. Translate the source file. -+@c -+@c =========================================================================== -+ -+ -+@c These menus do not contain a description, which used to cause a -+@c Texinfo menu entry to not be translated. -+@menu -+* A MENU ENTRY WITHOUT ANY DESCRIPTION:: A MENU ENTRY WITHOUT ANY -+ DESCRIPTION -+* OPTIONAL MENU NAME: THE MENU NODE:: OPTIONAL MENU NAME: THE MENU NODE -+@end menu -+ -+@node A MENU ENTRY WITHOUT ANY DESCRIPTION -+@chapter A MENU ENTRY WITHOUT ANY DESCRIPTION -+ -+@node THE MENU NODE -+@chapter OPTIONAL MENU NAME - -base-commit: 5b1cd768afdf4e9445812c5d43428495a0fde3c6 --- -2.41.0 -