diff mbox series

[bug#51022] Update direnv to 2.28.0

Message ID CALP7HJsaFG3hnwJnnz+7xdiVZAyRoWK2760Ey3snc3F3qW=LRg@mail.gmail.com
State Accepted
Headers show
Series [bug#51022] Update direnv to 2.28.0 | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Artem Chernyak Oct. 5, 2021, 2:23 a.m. UTC
This patch includes an update to direnv. As part of the updated a few
extra changes were necessary to support the new version:

- Addition of go-golang-org-x-mod as a new dependency.
- Removal of the delete-vendor step since direnv no longer depends on
vendor files.
- Removal of the test run. The new tests depend on
https://github.com/golangci/golangci-lint which requires a lot of othe
dependencies. Since it's only needed for tests, maybe we can handle it
in a separate patch or once golangci-lint becomes needed in other
places.

Comments

Ludovic Courtès Oct. 13, 2021, 9:47 a.m. UTC | #1
Hi Artem,

Artem Chernyak <artemchernyak@gmail.com> skribis:

> This patch includes an update to direnv. As part of the updated a few
> From ced4b50ad1dda92e7ba58bebbe702b9dd7a3dae9 Mon Sep 17 00:00:00 2001
> From: hackeryarn <artemchernyak@gmail.com>
> Date: Mon, 4 Oct 2021 21:08:46 -0500
> Subject: [PATCH] Update direnv to 2.28.0
>
> ---
>  gnu/packages/golang.scm     | 37 +++++++++++++++++++++++++++++++++++++
>  gnu/packages/shellutils.scm | 13 +++++--------
>  2 files changed, 42 insertions(+), 8 deletions(-)
>
> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> index a96f743f68..3e4e691631 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -2669,6 +2669,43 @@ time.")
>        (home-page "https://godoc.org/golang.org/x/xerrors")
>        (license license:bsd-3))))
>  
> +(define-public go-golang-org-x-mod
> +  (let ((commit "0f08993efd8a8ec67e75bcccf86b0e1569b0ab0a")
> +        (revision "0"))

I’ve added this as a separate commit and tweaked the description and the
commit log according to our conventions:

  https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html

I noticed that source code has disappeared upstream and is instead being
fetched from Software Heritage:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build go-golang-org-x-mod -S --check
The following derivation will be built:
   /gnu/store/9rb03xwbdkkvi1zjivilpl011pxw5hwv-go-golang-org-x-mod-0.5.0-0.0f08993-checkout.drv
building /gnu/store/9rb03xwbdkkvi1zjivilpl011pxw5hwv-go-golang-org-x-mod-0.5.0-0.0f08993-checkout.drv...
guile: warning: failed to install locale
environment variable `PATH' set to `/gnu/store/378zjf2kgajcfd7mfr98jn5xyc5wa3qv-gzip-1.10/bin:/gnu/store/sf3rbvb6iqcphgm1afbplcs72hsywg25-tar-1.32/bin'
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
hint: 	git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint: 	git branch -m <name>
Initialized empty Git repository in /gnu/store/yyy7l1i2g769fsbwb97a9m8i4as549nd-go-golang-org-x-mod-0.5.0-0.0f08993-checkout/.git/
fatal: remote error: Git repository not found
Failed to do a shallow fetch; retrying a full fetch...
fatal: remote error: Git repository not found
git-fetch: '/gnu/store/5vai7bfrfkzv22dx13bxpszjrqyi78x6-git-minimal-2.33.0/bin/git fetch origin' failed with exit code 128
Trying content-addressed mirror at berlin.guix.gnu.org...
Trying content-addressed mirror at berlin.guix.gnu.org...
Trying to download from Software Heritage...
SWH: found revision 0f08993efd8a8ec67e75bcccf86b0e1569b0ab0a with directory at 'https://archive.softwareheritage.org/api/1/directory/0a72c9a9750b330483f510b8224732ecadc1547f/'
swh:1:dir:0a72c9a9750b330483f510b8224732ecadc1547f/
swh:1:dir:0a72c9a9750b330483f510b8224732ecadc1547f/LICENSE
[…]
--8<---------------cut here---------------end--------------->8---

Is there another URL we should use?  (No big deal since it’s archived on
Software Heritage anyway.)

> +++ b/gnu/packages/shellutils.scm
> @@ -239,7 +239,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
> @@ -248,18 +248,13 @@ 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"
> +       #:tests? #f ;; TODO fix tests

Not confidence-inspiring.  :-)  Could you take a closer look to get an
understanding of why tests are failing?

Based on that we’ll either fix whatever problem leads to failures, or
selectively disable the offending test(s), and only as a last resort
disable tests altogether, with a comment explaining what the problem is.

TIA!

Ludo’.
diff mbox series

Patch

From ced4b50ad1dda92e7ba58bebbe702b9dd7a3dae9 Mon Sep 17 00:00:00 2001
From: hackeryarn <artemchernyak@gmail.com>
Date: Mon, 4 Oct 2021 21:08:46 -0500
Subject: [PATCH] Update direnv to 2.28.0

---
 gnu/packages/golang.scm     | 37 +++++++++++++++++++++++++++++++++++++
 gnu/packages/shellutils.scm | 13 +++++--------
 2 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a96f743f68..3e4e691631 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2669,6 +2669,43 @@  time.")
       (home-page "https://godoc.org/golang.org/x/xerrors")
       (license license:bsd-3))))
 
+(define-public go-golang-org-x-mod
+  (let ((commit "0f08993efd8a8ec67e75bcccf86b0e1569b0ab0a")
+        (revision "0"))
+    (package
+      (name "go-golang-org-x-mod")
+      (version (git-version "0.5.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://go.googlesource.com/x/mod")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0pl0jc5jvg7hxj4z66zg6kglnq5g7li09f3k9klwvyr4jx5dw88k"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "golang.org/x/mod/"
+         #:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           ;; Source-only package
+           (delete 'build))))
+      (home-page "https://golang.org/x/mod")
+      (synopsis "Tools to work directly with Go module mechanics")
+      (description
+       "This repository holds packages for writing tools that work directly
+with Go module mechanics. That is, it is for direct manipulation of Go modules
+themselves.
+It is NOT about supporting general development tools that need to do things
+like load packages in module mode. That use case, where modules are incidental
+rather than the focus, should remain in x/tools, specifically
+x/tools/go/packages.
+The specific case of loading packages should still be done by invoking the go
+command, which remains the single point of truth for package loading algorithms.")
+      (license license:bsd-3))))
+
 (define-public go-github-com-burntsushi-toml
   (package
     (name "go-github-com-burntsushi-toml")
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 94b5536df7..a8f0956913 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -239,7 +239,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
@@ -248,18 +248,13 @@  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"
+       #:tests? #f ;; TODO fix tests
        #: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"))
@@ -285,6 +280,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