Subject: [PATCH 2/3] gnu: go-github-com-mattn-go-shellwords: Fix sh path.

From: Sarah Morgensen <[email-masked]>
Date: Fri, 6 Aug 2021 11:57:36 -0700

* gnu/packages/golang.scm (go-github-com-mattn-go-shellwords)[arguments]
<#:phases>{patch-sh-path}: New phase.
[inputs]: Add bash.
---
 gnu/packages/golang.scm | 25 ++++++++-----------------
 1 file changed, 8 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c32324f235..b46f9e9bbf 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -58,6 +58,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module ((gnu packages bootstrap) #:select (glibc-dynamic-linker))
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages glib)
@@ -5273,24 +5274,14 @@ systems.")
     (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
-       ))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-sh-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "src/github.com/mattn/go-shellwords/util_posix.go"
+               (("/bin/sh") (which "sh"))))))))
+    (inputs `(("bash" ,bash)))
     (home-page "https://github.com/mattn/go-shellwords")
     (synopsis "Parse lines into shell words")
     (description "This package parses text into shell arguments.  Based on
-- 
2.31.1