build-system/gnu: Add 'reset-gzip-timestamps' phase.

* guix/build/gnu-build-system.scm (reset-gzip-timestamps): New
procedure.
(%standard-phases): Add it.
This commit is contained in:
Ludovic Courtès 2017-01-26 22:05:49 +01:00
parent 95e7be9728
commit 1d636d6319
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -482,6 +482,23 @@ (define (validate-output output)
(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 @@ (define %standard-phases
validate-documentation-location
delete-info-dir-file
patch-dot-desktop-files
reset-gzip-timestamps
compress-documentation)))