guix-play/po/guix/Makevars
Janneke Nieuwenhuizen 6c63c36677
maint: Use xgettext.scm wrapper to create .PO files reproducibly.
* build-aux/xgettext.scm: New script.
* po/guix/Makevars (XGETTEXT): Set it.
(XGETTEXT_OPTIONS): Add --xgettext option to `real' xgettext.
* po/packages/Makevars (XGETTEXT): Set it.
(XGETTEXT_OPTIONS): Add --xgettext option to `real' xgettext.

Change-Id: I71b6b843970090f765f46ac346b92a346560e3f0
2024-04-14 10:29:11 +02:00

39 lines
1.2 KiB
Plaintext

# Makefile variables for PO directory in any package using GNU gettext.
DOMAIN = guix
subdir = po/guix
top_builddir = ../..
# We use our xgettext.scm wrapper to produce .PO files reproducibly using a
# timestamp from Git.
XGETTEXT:=$(top_srcdir)/build-aux/xgettext.scm
# These options get passed to xgettext. We want to catch standard
# gettext uses, and SRFI-35 error condition messages. In C++ code
# we use 'n_' instead of the more usual 'N_' for no-ops.
XGETTEXT_OPTIONS = \
--from-code=UTF-8 \
--keyword=G_ --keyword=N_:1,2 \
--keyword=message \
--keyword=description \
--keyword=synopsis \
--keyword=n_ \
--xgettext=$(XGETTEXT_)
COPYRIGHT_HOLDER = the authors of Guix (msgids)
MSGID_BUGS_ADDRESS = bug-guix@gnu.org
EXTRA_LOCALE_CATEGORIES =
# Disable PO update upon "make dist", which sometimes fails when doing
# "make distcheck -j4".
# See <https://lists.gnu.org/archive/html/bug-gettext/2014-08/msg00005.html>.
DIST_DEPENDS_ON_UPDATE_PO = no
# Ignore the timestamp of the .pot file, as .po files are updated by
# `make download-po` only. This ensures po files are not modified on the
# first `make` invocation.
PO_DEPENDS_ON_POT = no