mirror of
https://https.git.savannah.gnu.org/git/guix.git/
synced 2025-07-12 01:50:46 +02:00
Reset .dict file mtime to start of the epoch before compressing with dictzip. * gnu/packages/patches/freedict-tools-fix-determinism.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/dictionaries.scm (freedict-tools): Use it. Signed-off-by: Runciter <runciter@whispers-vpn.org> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
22 lines
956 B
Diff
22 lines
956 B
Diff
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
|