Subject: [bug#51022] [PATCH] gnu: Update direnv to 2.28.0

From: Artem Chernyak <[email-masked]>
Date: Thu, 14 Oct 2021 18:39:21 -0500

Hi Ludovic,

Thanks for the feedback. I was able to figure out that the make test
process, used previously, tried to install Go modules. That seemed to
cause the error with the tests. The test ran fine when executed
directly with Go.

Also, thank you for the feedback on my patch formatting. Hope I got it
right this time. I would appreciate any additional feedback you may
have since it's my first contribution to guix and first time
contributing using patches (not using github or gitlab.)

-- 
Sincerely,
Artem Chernyak
From 5a3079f17a056c59c5fbc3cb5e4490170c8adabf Mon Sep 17 00:00:00 2001
From: Artem Chernyak <[email-masked]>
Date: Mon, 4 Oct 2021 21:08:46 -0500
Subject: [PATCH] gnu: Update direnv to 2.28.0

* gnu/packages/shellutils.scm (direnv): Update to 2.28.0
---
 gnu/packages/shellutils.scm | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 9a364d0ade..70236d9e5c 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -292,7 +292,7 @@ are already there.")
 (define-public direnv
   (package
     (name "direnv")
-    (version "2.15.2")
+    (version "2.28.0")
     (source
      (origin (method git-fetch)
              (uri (git-reference
@@ -301,18 +301,12 @@ are already there.")
              (file-name (git-file-name name version))
              (sha256
               (base32
-               "1y18619pmhfl0vrf4w0h75ybkkwgi9wcb7d9kv4n8drg1xp4aw4w"))))
+               "0yk53jn7wafklixclka17wyjjs2g5giigjr2bd0xzy10nrzwp7c9"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/direnv/direnv"
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'delete-vendor
-           (lambda _
-             ;; Using a snippet causes issues with the name of the directory,
-             ;; so delete the extra source code here.
-             (delete-file-recursively "src/github.com/direnv/direnv/vendor")
-             #t))
          (add-after 'install 'install-manpages
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -330,7 +324,9 @@ are already there.")
                  ;; The following file needs to be writable so it can be
                  ;; modified by the testsuite.
                  (make-file-writable "test/scenarios/base/.envrc")
-                 (invoke "make" "test")
+                 ;; We need to manually run test because make test
+                 ;; tries to use go modules
+                 (invoke "go" "test" "./...")
                  ;; Clean up from the tests, especially so that the extra
                  ;; direnv executable that's generated is removed.
                  (invoke "make" "clean")))
@@ -338,6 +334,8 @@ are already there.")
     (native-inputs
      `(("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml)
        ("go-github-com-direnv-go-dotenv" ,go-github-com-direnv-go-dotenv)
+       ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
+       ("go-golang-org-x-mod" ,go-golang-org-x-mod)
        ("which" ,which)))
     (home-page "https://direnv.net/")
     (synopsis "Environment switcher for the shell")
-- 
2.33.0