Work I'm doing on Autoconf is now also blocked by the out-of-date gettext in Debian, for reasons too tedious to get into, so I've prepared experimental packages of gettext 0.21. Get them from https://research.owlfolio.org/scratchpad/debian -- this URL should work as an apt source line, but beware that experimental packages of the recent upstream beta of autoconf are also present.
I addressed a number of outstanding bugs and lintian complaints while I was at it (the full changelog is at the bottom of this message, for your interest); most importantly, I removed the dependency on libcroco (bug #967028). I did *not* change the set of binary packages at all, because it wasn't clear to me what changes should be made. Nor did I revise the copyright file beyond updating the copyright years. (I did run scan-copyrights, the result of which is in debian/copyright.dep5.raw, but it would clearly need a great deal of manual revision and I don't have time for that any more than Santiago does. I've already spent two full days on this.) I hope this is useful to at least some of you. I don't plan to do any further work on gettext myself, but please feel free to take what I have done and build on it. zw gettext (0.21-0.1) experimental; urgency=medium * Non-maintainer upload to experimental. * New upstream version 0.21 released July 2020. - xgettext can detect ‘(eval_)gettext -e’ in shell scripts. Closes: #507091. - <gettext.h> compiles cleanly as C++. Closes: #547798. - The unpacked usr/share/gettext/intl is no longer installed. If you were using these files, find them in /usr/share/gettext/archive.dir.tar.xz, which is part of the autopoint package. - New upstream signing key added to signing-key.asc: "Bruno Haible (Open Source Development) <br...@clisp.org>" 9001 B85A F9E1 B83D F1BD A942 F5BE 8B26 7C6A 406D * Patches that are no longer necessary: - 01-do-not-use-java-in-urlget.patch: Replaced with logic in debian/rules. - 02-msgfmt-remove-pot-creation-date.patch: Merged upstream. - 03-avoid-extraneous-nul-bytes.patch: Merged upstream. - 04-fix-msgunfmt-heap-corruption.patch: Merged upstream. - 05-fix-crash-xgettext-with-its.patch: Merged upstream. - 06-java9-support.patch: Merged upstream. - 07-java11-support.patch: Merged upstream. - 08-java-future-support.patch: Merged upstream. - 09-fix-crash-with-po-file-input.patch: Merged upstream. * New patches: - NF-use-system-help2man.patch: Use system help2man instead of embedded help2man. Closes: #949338. - NF-library-dependencies.patch: Link all libraries and executables against all of their dependencies, correctly. (Latent upstream bug, exposed by hardening.) - NF-disable-libtextstyle.patch: Do not build libtextstyle. We never packaged it, and it depends on libcroco, which is unmaintained and has known security bugs. Use the Gnulib libtextstyle-dummy module (already included in the upstream sources) to satisfy various programs’ use of libtextstyle. Note that this means those programs’ --color options silently do nothing. Closes: #967028. * Debhelper compat level 13 (current recommended). - Switch to dh sequencing. - Switch to Build-Depends: debhelper-compat. - Switch to declarative package contents, using dh_install etc. dh-exec is needed for build profile filtering in a few places. (The old scripting is preserved in debian/rules.old.) - Manual ldconfig triggers are no longer necessary. - The HTML documentation and examples are now installed in /usr/share/doc/gettext instead of .../gettext-doc. * gettext-el is now created using dh_elpa, eliminating the need for custom package scripts. * Standards-Version: 4.5.0. - All lintian E-level diagnostics have been addressed, and many but not all of the W- and I-level diagnostics. - I don’t *think* any specific changes were required besides the above, but I could have missed something.