Subject: [bug#36913] [PATCH] Make gzip timestamps writable for some packages.

From: Brian Leung <[email-masked]>
Date: Sat, 3 Aug 2019 22:40:02 +0200

See attached.
From 8dfc2dd952edc1e19372d83bc1bedee67b0cddac Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:48:54 +0200
Subject: [PATCH 1/2] gnu: khmer: Make gzip timestamps writable.

* gnu/packages/bioinformatics.scm (khmer): Make gzip timestamps writable.
---
 gnu/packages/bioinformatics.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 89f1ac36ea..81da765be9 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -4206,8 +4206,15 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
        (modify-phases %standard-phases
          (add-after 'unpack 'set-cc
            (lambda _ (setenv "CC" "gcc") #t))
-         ;; FIXME: This fails with "permission denied".
-         (delete 'reset-gzip-timestamps))))
+
+         (add-before 'reset-gzip-timestamps 'make-files-writable
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Make sure .gz files are writable so that the
+             ;; 'reset-gzip-timestamps' phase can do its work.
+             (let ((out (assoc-ref outputs "out")))
+               (for-each make-file-writable
+                         (find-files out "\\.gz$"))
+               #t))))))
     (native-inputs
      `(("python-cython" ,python-cython)
        ("python-pytest" ,python-pytest)
-- 
2.22.0

From 5f4bf9c5aa67096b8b1211959db61d9ca87c3fac Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:50:54 +0200
Subject: [PATCH 2/2] gnu: python-scikit-learn: Make gzip timestamps writable.

* gnu/packages/machine-learning.scm (python-scikit-learn): Make gzip timestamps writable.
---
 gnu/packages/machine-learning.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 2dc7dc81ef..dd5ee1e9ee 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -821,8 +821,14 @@ computing environments.")
              (setenv "HOME" "/tmp")
 
              (invoke "pytest" "sklearn" "-m" "not network")))
-         ;; FIXME: This fails with permission denied
-         (delete 'reset-gzip-timestamps))))
+         (add-before 'reset-gzip-timestamps 'make-files-writable
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Make sure .gz files are writable so that the
+             ;; 'reset-gzip-timestamps' phase can do its work.
+             (let ((out (assoc-ref outputs "out")))
+               (for-each make-file-writable
+                         (find-files out "\\.gz$"))
+               #t))))))
     (inputs
      `(("openblas" ,openblas)))
     (native-inputs
-- 
2.22.0