diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-01-26 22:05:49 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-01-26 22:05:49 +0100 |
commit | 1d636d63193b66f67fbd0f10315cd61818f132c1 (patch) | |
tree | 437da2b9310fc4cbcfb8d684c8d9277a494f75c9 | |
parent | 95e7be97282f136190d7007f34d355a9691a16fa (diff) | |
download | guix-1d636d63193b66f67fbd0f10315cd61818f132c1.tar.gz |
build-system/gnu: Add 'reset-gzip-timestamps' phase.
* guix/build/gnu-build-system.scm (reset-gzip-timestamps): New procedure. (%standard-phases): Add it.
-rw-r--r-- | guix/build/gnu-build-system.scm | 18 |
1 files changed, 18 insertions, 0 deletions
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))) |