all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob ad100bbba91fc91ed24594e7879eb1cd89bd5d99 956 bytes (raw)
name: gnu/packages/patches/freedict-tools-fix-determinism.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
The compression utility dictzip writes the compressed file's mtime in a header
of the compressed file. No command-line switch is documented to control or
suppress this behavior. This makes the build of packages relying on
freedict-tools such as freedict-dictionaries non-deterministic.

This patch sets the mtime of the .dict file to be compressed by dictzip to the
start of the epoch on the Greenwich meridian, restoring build determinism.

diff --git a/mk/dicts.mk b/mk/dicts.mk
index 08e8923..e671cf3 100644
--- a/mk/dicts.mk
+++ b/mk/dicts.mk
@@ -265,7 +265,8 @@ $(BUILD_DICTD)/%.dict $(BUILD_DICTD)/%.index: $(BUILD_DICTD)/%.c5 query-dictd
 		dictfmt --without-time -t --headword-separator %%% $(DICTFMTFLAGS) $* < $(notdir $<)
 
 $(BUILD_DICTD)/%.dict.dz: $(BUILD_DICTD)/%.dict
-	dictzip -k $<
+	touch -m -d "$$(date -u -R -d @0)" $< && \
+		dictzip -k $<
 
 # prevent make from removing our precious file
 .PRECIOUS: $(BUILD_DICTD)/$(dictname).dict

debug log:

solving ad100bbba9 ...
found ad100bbba9 in https://yhetil.org/guix/c9808f8dc90e428e8acec817144a0381805853ff.1732150157.git.runciter@whispers-vpn.org/

applying [1/1] https://yhetil.org/guix/c9808f8dc90e428e8acec817144a0381805853ff.1732150157.git.runciter@whispers-vpn.org/
diff --git a/gnu/packages/patches/freedict-tools-fix-determinism.patch b/gnu/packages/patches/freedict-tools-fix-determinism.patch
new file mode 100644
index 0000000000..ad100bbba9

1:20: space before tab in indent.
 		dictfmt --without-time -t --headword-separator %%% $(DICTFMTFLAGS) $* < $(notdir $<)
1:21: trailing whitespace.
 
1:26: trailing whitespace.
 
Checking patch gnu/packages/patches/freedict-tools-fix-determinism.patch...
Applied patch gnu/packages/patches/freedict-tools-fix-determinism.patch cleanly.
warning: 3 lines add whitespace errors.

index at:
100644 ad100bbba91fc91ed24594e7879eb1cd89bd5d99	gnu/packages/patches/freedict-tools-fix-determinism.patch

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.