guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/07: maint: Generate 'doc/version-LANG.texi' reproducibly.


From: guix-commits
Subject: 05/07: maint: Generate 'doc/version-LANG.texi' reproducibly.
Date: Wed, 3 Apr 2024 15:00:17 -0400 (EDT)

janneke pushed a commit to branch wip-tarball
in repository guix.

commit 947bed93d2e2fec221fdec0d247f61912fb89567
Author: Janneke Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Tue Apr 2 22:00:46 2024 +0200

    maint: Generate 'doc/version-LANG.texi' reproducibly.
    
    * doc/local.mk ($(srcdir)/doc/stamp-vti): Change rule into...
    (version.texi-from-git): ...this new function.  Call it with vti,guix.texi,;
    and for all MANUAL_LANGUAGES with $(i),po/doc/guix-manual.$(lang).po,
    -$(lang.po).
    
    Change-Id: Ia8df618178066cad320eecea0299337224e23a73
---
 doc/local.mk | 42 ++++++++++++++++++++++++++----------------
 1 file changed, 26 insertions(+), 16 deletions(-)

diff --git a/doc/local.mk b/doc/local.mk
index 99a7e84361..893c99e1b1 100644
--- a/doc/local.mk
+++ b/doc/local.mk
@@ -6,6 +6,7 @@
 # Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
 # Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
 # Copyright © 2019 Timothy Sample <samplet@ngyro.com>
+# Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
 #
 # This file is part of GNU Guix.
 #
@@ -254,19 +255,28 @@ endif
 
 # Reproducible tarball
 
-# Generate 'version.texi' reproducibly using metadata from Git rather
-# than using metadata from the filesystem.
-override $(srcdir)/doc/stamp-vti: $(srcdir)/doc/guix.texi 
$(top_srcdir)/configure
-       $(AM_V_GEN)set -e                                               \
-       export LC_ALL=C;                                                \
-       export TZ=UTC0;                                                 \
-       timestamp=$$(git log --pretty=format:%ct -n1 -- $< 2>/dev/null  \
-               || echo $(SOURCE_DATE_EPOCH))                           \
-       dmy=$$(date --date="@$$timestamp" "+%-d %B %Y");                \
-       my=$$(date --date="@$$timestamp" "+%B %Y");                     \
-       { echo "@set UPDATED $$dmy";                                    \
-         echo "@set UPDATED-MONTH $$my";                               \
-         echo "@set EDITION $(VERSION)";                               \
-         echo "@set VERSION $(VERSION)"; } > $@-t;                     \
-       mv $@-t $@
-       @cp $@ $(srcdir)/doc/version.texi
+# Define a rule to build `version[LANG].texi' reproducibly using metadata from
+# Git rather than using metadata from the filesystem.
+define version.texi-from-git
+override $(srcdir)/doc/stamp-$(1): $(srcdir)/$(2) $(top_srcdir)/configure
+       $$(AM_V_GEN)set -e                                      \
+       export LC_ALL=C;                                        \
+       export TZ=UTC0;                                         \
+       timestamp=$$$$(git log --pretty=format:%ct -n1 -- $$<   \
+               2>/dev/null                                     \
+               || echo $$(SOURCE_DATE_EPOCH))                  \
+       dmy=$$$$(date --date="@$$$$timestamp" "+%-d %B %Y");    \
+       my=$$$$(date --date="@$$$$timestamp" "+%B %Y");         \
+       { echo "@set UPDATED $$$$dmy";                          \
+         echo "@set UPDATED-MONTH $$$$my";                     \
+         echo "@set EDITION $$$(VERSION)";                     \
+         echo "@set VERSION $$$(VERSION)"; } > $$@-t;
+       mv $$@-t $$@
+       cp -p $$@ $$(srcdir)/doc/version$(3).texi
+endef
+
+i:=0
+$(eval $(call version.texi-from-git,vti,doc/guix.texi,))
+$(foreach lang, $(MANUAL_LANGUAGES),                           \
+       $(eval i=$(shell echo $$(($(i)+1))))                    \
+       $(eval $(call 
version.texi-from-git,$(i),po/doc/guix-manual.$(lang).po,-$(lang))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]