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 @@ (define-public trash-cli (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 @@ (define-public direnv (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 @@ (define-public direnv ;; 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 @@ (define-public direnv (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")