maint: Add 'download-po' rule.

* Makefile.am (make-download-po-rule): New definition.
Add top-level 'eval' and calls to 'make-download-po-rule' to generate
'download-po.DOMAIN' rules.
(download-po): New rule.
This commit is contained in:
Ludovic Courtès 2019-08-25 22:16:37 +02:00
parent 0b859092a7
commit 61a224adc3
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -851,6 +851,39 @@ cuirass-jobs.scm: $(GOBJECTS)
.PHONY: clean-go make-go as-derivation
.PHONY: update-guix-package update-NEWS release
# Downloading up-to-date PO files.
# make-download-po-rule DOMAIN DIRECTORY [FILE-NAME-PREFIX]
define make-download-po-rule
download-po.$(1):
if [ -f "$(top_srcdir)/$(2)/LINGUAS" ]; then \
LINGUAS="`grep -v '^[[:blank:]]*#' < $(top_srcdir)/$(2)/LINGUAS`" ; \
else \
LINGUAS="`(cd $(top_srcdir)/$(2); \
for i in *.po; do echo $$$$i; done) | cut -d . -f 2`" ; \
fi ; \
for lang in $$$$LINGUAS; do \
if wget -nv -O "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" \
"https://translationproject.org/latest/$(1)/$$$$lang.po" ; \
then \
mv "$(top_srcdir)/$(2)/$(3)$$$$lang.po"{.tmp,} ; \
else \
rm "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" ; \
fi ; \
done
.PHONY: download-po.$(1)
endef
$(eval $(call make-download-po-rule,guix,po/guix))
$(eval $(call make-download-po-rule,guix-packages,po/packages))
$(eval $(call make-download-po-rule,guix-manual,po/doc,guix-manual.))
download-po: $(foreach domain,guix guix-packages guix-manual,download-po.$(domain))
.PHONY: download-po
## -------------- ##
## Silent rules. ##
## -------------- ##