As discussed with Julien Lepiller on IRC, updating the PO files is not useful.
This change removes the target and associated rules that allowed updating
them. This has the benefit of not having the PO files updated automatically
when generating the .pot files, which was causing spurious changes under the
po sub-directory.
* po/doc/local.mk (make-update-po-files-rule): Remove function and its uses.
(doc-po-update): Remove target.
We need to update the minimal gettext version to take advantage of new
features. Before this patch, the first make invocation would modify
po/guix and po/packages po files, and we advised to run `git checkout
po` to clean the changes.
* configure.ac (AM_GNU_GETTEXT_VERSION): Update to 0.19.1.
* po/guix/Makevars: Set PO_DEPENDS_ON_POT to no.
* po/packages/Makevars: Set PO_DEPENDS_ON_POT to no.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This is a follow-up to commit 0d353b06ec.
* po/doc/local.mk: Fix function name in comment.
(%D%/guix-manual.pot): Refer to *all* the prerequisites via the $^ special
variable rather than $<, which only refers to the first one.
Reported-by: Julien Lepiller <julien@lepiller.eu>
It used to be that the running the doc-po-update and doc-pot-update targets
would redo the same work on every run. This change splits the problem in
smaller chunks and specifies build dependencies in a way that outputs only get
rebuilt when their inputs changed.
* po/doc/local.mk (DOC_PO_FILES): Harmonize escapes.
(POT_OPTIONS): Re-indent uniformly.
(doc-po-update-%, doc-po-update-cookbook-%): Re-implement with...
(make-update-po-files-rule): ... this new function.
(TMP_POT_FILES): Remove variable.
(%D%/%.pot, %D%/guix-manual.pot): New pattern rules.
(doc-pot-update, doc-po-update): Adjust prerequisites accordingly.
This reverts commit 5d03ef73c3c1d995714abdaff650f73ac9fafc0f, which led
to these errors:
/gnu/store/…-guix/fr.po:7206: 'msgstr' is not a valid Scheme format string, unlike 'msgid'. Reason: In the directive number 3, the character ' ' is not a valid conversion specifier.
/gnu/store/…-guix/fr.po:7554: format specifications in 'msgid' and 'msgstr' are not equivalent
/gnu/store/…-gettext-minimal-0.20.1/bin/msgfmt: found 2 fatal errors
This separation between the code for dealing with narinfos from the code doing
that for a purpose should make things clearer, and better support components
other that the substitute script in using this code.
This is just moving the code around, no code should have been significantly
changed.
* guix/scripts/substitute.scm (<narinfo>): Move record type to (guix narinfo).
(fields->alist, narinfo-hash-algorithm+value, narinfo-hash->sha256,
narinfo-signature->canonical-sexp, narinfo-maker, read-narinfo,
narinfo-sha256, valid-narinfo?, write-narinfo, narinfo->string,
string->narinfo, equivalent-narinfo?, supported-compression?,
compresses-better?, narinfo-best-uri): Move procedures to (guix narinfo).
(%compression-methods): Move variable to (guix narinfo).
* guix/narinfo.scm: New file.
* Makefile.am (MODULES): Add it.
* po/guix/POTFILES.in: Add 'guix/narinfo.scm'.