diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2019-11-13 13:58:14 +0100 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2019-11-13 13:58:14 +0100 |
commit | afd716fcda79459df71918d7aec2dce913ceacf6 (patch) | |
tree | ca40dbeeb30f39688559fc89b41a87099522413e /pkgs/development/libraries/gettext | |
parent | aaad7cafc29507dad67731565516a596a375c95e (diff) |
gettext: add patch to fix --for-msgfmt
Fix behaviour of --for-msgfmt on PO files with no translations.
Diffstat (limited to 'pkgs/development/libraries/gettext')
-rw-r--r-- | pkgs/development/libraries/gettext/default.nix | 1 | ||||
-rw-r--r-- | pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch | 82 |
2 files changed, 83 insertions, 0 deletions
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 7a6129a68da59..3c1e98730fa1b 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -10,6 +10,7 @@ stdenv.mkDerivation rec { }; patches = [ ./absolute-paths.diff + ./gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch ]; outputs = [ "out" "man" "doc" "info" ]; diff --git a/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch b/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch new file mode 100644 index 0000000000000..4a19b11507acd --- /dev/null +++ b/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch @@ -0,0 +1,82 @@ +From 2336451ed68d91ff4b5ae1acbc1eca30e47a86a9 Mon Sep 17 00:00:00 2001 +From: Bruno Haible <bruno@clisp.org> +Date: Sun, 19 May 2019 13:10:06 +0200 +Subject: [PATCH] msgmerge: Fix behaviour of --for-msgfmt on PO files with no + translations. + +Reported by Don Lawrence <dlawrence@iecok.com> +in <https://lists.freedesktop.org/archives/p11-glue/2019-May/000700.html> +via Daiki Ueno +in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00124.html>. + +* gettext-tools/src/msgmerge.c (main): Treat force_po like true if for_msgfmt +is true. +* gettext-tools/tests/msgmerge-26: Add test of PO file with no translations. +--- + gettext-tools/src/msgmerge.c | 4 ++-- + gettext-tools/tests/msgmerge-26 | 36 +++++++++++++++++++++++++++++++++--- + 2 files changed, 35 insertions(+), 5 deletions(-) + +diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c +index cd762c0..92c9b7a 100644 +--- a/gettext-tools/src/msgmerge.c ++++ b/gettext-tools/src/msgmerge.c +@@ -520,8 +520,8 @@ There is NO WARRANTY, to the extent permitted by law.\n\ + else + { + /* Write the merged message list out. */ +- msgdomain_list_print (result, output_file, output_syntax, force_po, +- false); ++ msgdomain_list_print (result, output_file, output_syntax, ++ for_msgfmt || force_po, false); + } + + exit (EXIT_SUCCESS); +diff --git a/gettext-tools/tests/msgmerge-26 b/gettext-tools/tests/msgmerge-26 +index cd3862e..b86f7a0 100755 +--- a/gettext-tools/tests/msgmerge-26 ++++ b/gettext-tools/tests/msgmerge-26 +@@ -73,7 +73,37 @@ msgstr "Papaya" + EOF + + : ${DIFF=diff} +-${DIFF} mm-test26.ok mm-test26.out +-result=$? ++${DIFF} mm-test26.ok mm-test26.out || Exit 1 + +-exit $result ++# Test with a PO file that has no translated messages. ++ ++cat <<\EOF > mm-test26a.in1 ++msgid "" ++msgstr "" ++"Content-Type: text/plain; charset=UTF-8\n" ++ ++msgid "Hello world" ++msgstr "Hallo Welt" ++EOF ++ ++cat <<\EOF > mm-test26a.in2 ++msgid "" ++msgstr "" ++"Content-Type: text/plain; charset=ASCII\n" ++ ++msgid "Hello, world!" ++msgstr "" ++EOF ++ ++: ${MSGMERGE=msgmerge} ++${MSGMERGE} --for-msgfmt -o mm-test26a.tmp mm-test26a.in1 mm-test26a.in2 \ ++ || Exit 1 ++LC_ALL=C tr -d '\r' < mm-test26a.tmp > mm-test26a.out || Exit 1 ++ ++cat <<\EOF > mm-test26a.ok ++msgid "" ++msgstr "Content-Type: text/plain; charset=UTF-8\n" ++EOF ++ ++: ${DIFF=diff} ++${DIFF} mm-test26a.ok mm-test26a.out || Exit 1 +-- +1.9.1 + |