Subject: [PATCH] Add fzf.

From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 21:01:28 +0200

See attached.
From ac5fb6b5e325ab545f369c254f7c1458a4298889 Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:42:49 +0200
Subject: [PATCH 01/12] gnu: Add go-golang-org-x-text-encoding.

* gnu/packages/golang.scm (go-golang-org-x-text-encoding): New variable.
---
 gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 2f5396dd1e..859a66d814 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -48,6 +48,7 @@
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mp3)
+  #:use-module (gnu packages textutils)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
@@ -1174,6 +1175,32 @@ for low-level interaction with the operating system.")
     (description "Thi spackage provides @code{cpu}, which offers tools for CPU
 feature detection in Go.")))
 
+(define-public go-golang-org-x-text-encoding
+  (package
+    (name "go-golang-org-x-text-encoding")
+    (version "0.3.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://go.googlesource.com/text")
+                    (commit (string-append "v" version))))
+              (file-name (string-append "go.googlesource.com-text-"
+                                        version "-checkout"))
+              (sha256
+               (base32
+                "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "golang.org/x/text/encoding"
+       #:unpack-path "golang.org/x/text"))
+    (synopsis "Interface for character encodings for conversion to and from
+UTF-8")
+    (description "This package defines an interface for character encodings.
+Specific implementations of encoding for CJK text as well as simple character
+encodings are provided in subpackages.")
+    (home-page "https://go.googlesource.com/text")
+    (license license:bsd-3)))
+
 (define-public go-golang-org-x-text-transform
   (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
         (revision "1"))
-- 
2.22.0

From 60616eeb0ab1af793aea6fc93dab07adb0dc1b0d Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:43:23 +0200
Subject: [PATCH 02/12] gnu: go-golang-org-x-text-transform: Inherit from
 related package.

* gnu/packages/golang.scm (go-golang-org-x-text-transform): Inherit from go-golang-org-x-text-encoding.
---
 gnu/packages/golang.scm | 33 +++++++++------------------------
 1 file changed, 9 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 859a66d814..44207b5de0 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1202,32 +1202,17 @@ encodings are provided in subpackages.")
     (license license:bsd-3)))
 
 (define-public go-golang-org-x-text-transform
-  (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
-        (revision "1"))
-    (package
-      (name "go-golang-org-x-text-transform")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/text")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-text-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/text/transform"
-         #:unpack-path "golang.org/x/text"))
-      (synopsis "Go text transformation")
-      (description "This package provides @code{transform}, which provides
+  (package
+    (inherit go-golang-org-x-text-encoding)
+    (name "go-golang-org-x-text-transform")
+    (arguments
+     `(#:import-path "golang.org/x/text/transform"
+       #:unpack-path "golang.org/x/text"))
+    (synopsis "Go text transformation")
+    (description "This package provides @code{transform}, which provides
 reader and writer wrappers that transform the bytes passing through.  Example
 transformations provided by other packages include normalization and conversion
-between character sets.")
-      (home-page "https://go.googlesource.com/text")
-      (license license:bsd-3))))
+between character sets.")))
 
 (define-public go-golang-org-x-text-unicode-norm
   (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
-- 
2.22.0

From 986aca7f1a128ad78ce4792820e106568cb30b38 Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:44:46 +0200
Subject: [PATCH 03/12] gnu: go-golang-org-x-text-unicode-norm: Inherit from
 related package.

* gnu/packages/golang.scm (go-golang-org-x-text-unicode-norm): Inherit from go-golang-org-x-text-encoding.
---
 gnu/packages/golang.scm | 33 +++++++++------------------------
 1 file changed, 9 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 44207b5de0..c092ef7da8 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1215,30 +1215,15 @@ transformations provided by other packages include normalization and conversion
 between character sets.")))
 
 (define-public go-golang-org-x-text-unicode-norm
-  (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
-        (revision "1"))
-    (package
-      (name "go-golang-org-x-text-unicode-norm")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/text")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-text-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/text/unicode/norm"
-         #:unpack-path "golang.org/x/text"))
-      (synopsis "Unicode normalization in Go")
-      (description "This package provides @code{norm}, which contains types and
-functions for normalizing Unicode strings.")
-      (home-page "https://go.googlesource.com/text")
-      (license license:bsd-3))))
+  (package
+    (inherit go-golang-org-x-text-encoding)
+    (name "go-golang-org-x-text-unicode-norm")
+    (arguments
+     `(#:import-path "golang.org/x/text/unicode/norm"
+       #:unpack-path "golang.org/x/text"))
+    (synopsis "Unicode normalization in Go")
+    (description "This package provides @code{norm}, which contains types and
+functions for normalizing Unicode strings.")))
 
 (define-public go-golang-org-x-time-rate
   (let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7")
-- 
2.22.0

From b77d2d2d45be2bfe8fee5b767bb52acd2b34725d Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:45:22 +0200
Subject: [PATCH 04/12] gnu: Add go-golang-org-sql-mock.

* gnu/packages/golang.scm (go-golang-org-sql-mock): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c092ef7da8..a248d0c285 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3235,6 +3235,31 @@ format in Go.")
     (home-page "https://github.com/kr/text")
     (license license:expat)))
 
+(define-public go-golang-org-sql-mock
+  (let ((commit "e98392b8111b45f8126e00af035a0dd95dc12e8b")
+        (version "1.3.3")
+        (revision "1"))
+    (package
+      (name "go-golang-org-sql-mock")
+      (version (git-version version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/DATA-DOG/go-sqlmock")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "033vv29g2wf6fd757ajfmha30bqin3b07377037zkl051mk6mghs"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/DATA-DOG/go-sqlmock"))
+      (synopsis "Mock library implementing @code{sql/driver}")
+      (description "This library simulates SQL-driver behavior in tests
+without requiring a real database connection.")
+      (home-page "https://github.com/DATA-DOG/go-sqlmock")
+      (license license:expat))))
+
 (define-public go-github-com-burntsushi-locker
   (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a")
         (revision "0"))
-- 
2.22.0

From 27754defcd2d8071b0eef77c2e3a4350e5ff1713 Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:45:39 +0200
Subject: [PATCH 05/12] gnu: Add go-golang-org-colorful.

* gnu/packages/golang.scm (go-golang-org-colorful): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a248d0c285..a0f8812d6f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3260,6 +3260,31 @@ without requiring a real database connection.")
       (home-page "https://github.com/DATA-DOG/go-sqlmock")
       (license license:expat))))
 
+(define-public go-golang-org-colorful
+  (package
+    (name "go-golang-org-colorful")
+    (version "1.0.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/lucasb-eyer/go-colorful")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0fig06880bvk1l92j4127v4x9sar4ds7ga8959gxxghb2w70b7l2"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/lucasb-eyer/go-colorful"))
+    (native-inputs
+     `(("go-golang-org-sql-mock" ,go-golang-org-sql-mock)))
+    (synopsis "Convert between colorspaces and generate colors")
+    (description "This package implements Go's @code{color.Color} interface
+and provides a means of converting colors stored as RGB to various
+colorspaces.")
+    (home-page "https://github.com/lucasb-eyer/go-colorful")
+    (license license:expat)))
+
 (define-public go-github-com-burntsushi-locker
   (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a")
         (revision "0"))
-- 
2.22.0

From 9cb2b4e606c28c5b1bac6a2c129631406b981d84 Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:45:52 +0200
Subject: [PATCH 06/12] gnu: Add go-github-com-gdamore-encoding.

* gnu/packages/golang.scm (go-github-com-gdamore-encoding): New variable.
---
 gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a0f8812d6f..ce83aabc66 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3285,6 +3285,33 @@ colorspaces.")
     (home-page "https://github.com/lucasb-eyer/go-colorful")
     (license license:expat)))
 
+(define-public go-github-com-gdamore-encoding
+  (package
+    (name "go-github-com-gdamore-encoding")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gdamore/encoding")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/gdamore/encoding"))
+    (inputs
+     `(("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
+       ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)))
+    (home-page "https://github.com/gdamore/encoding")
+    (synopsis "Provide encodings missing from Go")
+    (description "This package provides useful encodings not included in the
+standard @code{Text} package, including some for dealing with I/O streams from
+non-UTF-friendly sources.")
+    (license license:expat)))
+
 (define-public go-github-com-burntsushi-locker
   (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a")
         (revision "0"))
-- 
2.22.0

From 4b29d14e257dcc7713b516864c135cf4ac4925b5 Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:47:00 +0200
Subject: [PATCH 07/12] gnu: go-github.com-mattn-go-runewidth: Update to
 0.0.4-1.703b5e6.

* gnu/packages/textutils.scm (go-github.com-mattn-go-runewidth): Update to 0.0.4-1.703b5e6.
---
 gnu/packages/textutils.scm | 47 +++++++++++++++++++++-----------------
 1 file changed, 26 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 79835e8578..d5a6721610 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -689,27 +689,32 @@ and Cython.")
       (license license:expat))))
 
 (define-public go-github.com-mattn-go-runewidth
-  (package
-    (name "go-github.com-mattn-go-runewidth")
-    (version "0.0.2")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/mattn/go-runewidth")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0vkrfrz3fzn5n6ix4k8s0cg0b448459sldq8bp4riavsxm932jzb"))))
-    (build-system go-build-system)
-    (arguments
-     '(#:import-path "github.com/mattn/go-runewidth"))
-    (synopsis "@code{runewidth} provides Go functions to work with string widths")
-    (description
-     "The @code{runewidth} library provides Go functions for padding,
-measuring and checking the width of strings, with support east asian text.")
-    (home-page "https://github.com/jessevdk/go-flags")
-    (license license:expat)))
+  (let ((commit "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211")
+        (version "0.0.4")
+        (revision "1"))
+    (package
+      (name "go-github.com-mattn-go-runewidth")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/mattn/runewidth")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/mattn/go-runewidth"))
+      (synopsis "@code{runewidth} provides Go functions to work with string widths")
+      (description
+       "The @code{runewidth} library provides Go functions for padding,
+measuring and checking the width of strings, with support for East Asian
+text.")
+      (home-page "https://github.com/mattn/runewidth")
+      (license license:expat))))
 
 (define-public docx2txt
   (package
-- 
2.22.0

From 0e20fd3ab00415114f80d1d4aaf204913c1ca736 Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:46:28 +0200
Subject: [PATCH 08/12] gnu: Add go-github-com-gdamore-tcell.

* gnu/packages/golang.scm (go-github-com-gdamore-tcell): New variable.
---
 gnu/packages/golang.scm | 44 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ce83aabc66..cd70ceed1c 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3312,6 +3312,50 @@ standard @code{Text} package, including some for dealing with I/O streams from
 non-UTF-friendly sources.")
     (license license:expat)))
 
+(define-public go-github-com-gdamore-tcell
+  (let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e")
+        (version "1.1.2")
+        (revision "1"))
+    (package
+      (name "go-github-com-gdamore-tcell")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/gdamore/tcell")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/gdamore/tcell"
+         #:phases
+         (modify-phases %standard-phases
+           (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
+       `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
+         ("go-golang-org-colorful" ,go-golang-org-colorful)
+         ("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
+         ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)
+         ("go-github-com-gdamore-encoding" ,go-github-com-gdamore-encoding)))
+      (home-page "https://github.com/gdamore/tcell")
+      (synopsis "Provide a cell-based view for text terminals")
+      (description "This package includes a full parser and expander for
+terminfo capability strings to avoid hard-coding escape strings for
+formatting.  It also favors portability, and includes support for all POSIX
+systems.")
+      (license license:expat))))
+
 (define-public go-github-com-burntsushi-locker
   (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a")
         (revision "0"))
-- 
2.22.0

From a929db9f9ea7bd529c5c770746dbc1b3f1021f29 Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:46:42 +0200
Subject: [PATCH 09/12] gnu: Add go-github-com-mattn-go-shellwords.

* gnu/packages/golang.scm (go-github-com-mattn-go-shellwords): New variable.
---
 gnu/packages/golang.scm | 44 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index cd70ceed1c..6444692e58 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3356,6 +3356,50 @@ formatting.  It also favors portability, and includes support for all POSIX
 systems.")
       (license license:expat))))
 
+(define-public go-github-com-mattn-go-shellwords
+  (let ((commit "2444a32a19f450fabaa0bb3e96a703f15d9a97d2")
+        (version "1.0.5")
+        (revision "1"))
+    (package
+      (name "go-github-com-mattn-go-shellwords")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/mattn/go-shellwords")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "08zcgr1az1n8zaxzwdd205j86hczgyc52nxfnw5avpw7rrkf7v0d"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/mattn/go-shellwords"
+         ;; TODO: can't make homeless-shelter:
+         ;; go: disabling cache (/homeless-shelter/.cache/go-build) due to
+         ;; initialization failure: mkdir /homeless-shelter: permission denied
+
+         ;; This doesn't seem to work:
+
+         ;; #:phases
+         ;; (modify-phases %standard-phases
+         ;;   (replace 'check
+         ;;     (lambda* (#:key import-path #:allow-other-keys)
+         ;;       (setenv "HOME" "/tmp")
+         ;;       (invoke "go" "test" import-path))))
+
+         ;; TODO: There are also a couple of tests that have stymied Debian in
+         ;; the past.  They seem to work when run locally.
+
+         #:tests? #f
+         ))
+      (home-page "https://github.com/mattn/go-shellwords")
+      (synopsis "Parse lines into shell words")
+      (description "This package parses text into shell arguments.  Based on
+the @code{cpan} module @code{Parse::CommandLine}.")
+      (license license:expat))))
+
 (define-public go-github-com-burntsushi-locker
   (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a")
         (revision "0"))
-- 
2.22.0

From c6a750e0947729966c696882501a3ef4d345e585 Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:48:43 +0200
Subject: [PATCH 10/12] gnu: Add go-github-com-junegunn-fzf.

* gnu/packages/terminals.scm (go-github-com-junegunn-fzf): New variable.
---
 gnu/packages/terminals.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 4d0e875012..6667775819 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -54,6 +54,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libevent)
@@ -754,6 +755,35 @@ with terminals in Go.")
       (home-page "https://go.googlesource.com/crypto/")
       (license license:bsd-3))))
 
+(define-public go-github-com-junegunn-fzf
+  (package
+    (name "go-github-com-junegunn-fzf")
+    (version "0.18.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/junegunn/fzf")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0pwpr4fpw56yzzkcabzzgbgwraaxmp7xzzmap7w1xsrkbj7dl2xl"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/junegunn/fzf"))
+    (inputs
+     `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
+       ("go-github-com-mattn-go-shellwords" ,go-github-com-mattn-go-shellwords)
+       ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
+       ("go-github-com-gdamore-tcell" ,go-github-com-gdamore-tcell)
+       ("go-golang-org-x-crypto-ssh-terminal" ,go-golang-org-x-crypto-ssh-terminal)))
+    (home-page "https://github.com/junegunn/fzf")
+    (synopsis "Command-line fuzzy-finder")
+    (description "This package provides an interactive command-line filter
+usable with any list, including files, command history, processes, and more.")
+    (license license:expat)))
+
 (define-public go-github.com-howeyc-gopass
   (let ((commit "bf9dde6d0d2c004a008c27aaee91170c786f6db8")
         (revision "0"))
-- 
2.22.0

From 7ace0b43fa98d7727a17a05d834a4b99f897a4b2 Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:48:54 +0200
Subject: [PATCH 11/12] 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 4f4d3d9839..ece0ddcada 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -4204,8 +4204,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 d99857f676b5ccecc807ac708f6c797fe1c8281d Mon Sep 17 00:00:00 2001
From: Brian Leung <[email-masked]>
Date: Tue, 25 Jun 2019 20:50:54 +0200
Subject: [PATCH 12/12] 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