From 1d636d63193b66f67fbd0f10315cd61818f132c1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Jan 2017 22:05:49 +0100 Subject: build-system/gnu: Add 'reset-gzip-timestamps' phase. * guix/build/gnu-build-system.scm (reset-gzip-timestamps): New procedure. (%standard-phases): Add it. --- guix/build/gnu-build-system.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'guix/build') diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index a19d2a3e96..39ed1e4d4a 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -482,6 +482,23 @@ and 'man/'. This phase moves directories to the right place if needed." (for-each validate-output directories))) #t) +(define* (reset-gzip-timestamps #:key outputs #:allow-other-keys) + "Reset embedded timestamps in gzip files found in OUTPUTS." + (define (process-directory directory) + (let ((files (find-files directory + (lambda (file stat) + (and (eq? 'regular (stat:type stat)) + (or (string-suffix? ".gz" file) + (string-suffix? ".tgz" file)) + (gzip-file? file))) + #:stat lstat))) + (for-each reset-gzip-timestamp files))) + + (match outputs + (((names . directories) ...) + (for-each process-directory directories))) + #t) + (define* (compress-documentation #:key outputs (compress-documentation? #t) (documentation-compressor "gzip") @@ -604,6 +621,7 @@ which cannot be found~%" validate-documentation-location delete-info-dir-file patch-dot-desktop-files + reset-gzip-timestamps compress-documentation))) -- cgit v1.2.3