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

From: Ludovic Courtès <[email-masked]>
Date: Wed, 13 Oct 2021 11:47:33 +0200

Hi Artem,

Artem Chernyak <[email-masked]> 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 <[email-masked]>
> 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’.