unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Christopher Baines <mail@cbaines.net>
To: Tanguy Le Carrour <tanguy@bioneland.org>
Cc: guix-devel@gnu.org
Subject: Re: Problem with `direnv` package definition
Date: Tue, 23 Apr 2019 08:59:44 +0100	[thread overview]
Message-ID: <87lg016tjj.fsf@cbaines.net> (raw)
In-Reply-To: <87mukju1is.fsf@cbaines.net>

[-- Attachment #1: Type: text/plain, Size: 2538 bytes --]


Christopher Baines <mail@cbaines.net> writes:

> Tanguy Le Carrour <tanguy@bioneland.org> writes:
>
>> Le 04/20, Christopher Baines a écrit :
>>> Tanguy Le Carrour <tanguy@bioneland.org> writes:
>>> > As I said, I'm still learning. But I've tried, and here is what I've
>>> > done so far […]
>>>
>>> I tried changing the inputs to native-inputs, and the package built for
>>> me. Could you share the exact changes you made?
>>
>> I haven't done much:
>>
>> --- a/gnu/packages/shellutils.scm
>> +++ b/gnu/packages/shellutils.scm
>> @@ -129,12 +129,11 @@ are already there.")
>>           ;; Help the build scripts find the Go language dependencies.
>>           (add-before 'unpack 'setup-go-environment
>>             (assoc-ref go:%standard-phases 'setup-go-environment)))))
>> -    (inputs
>> -     `(("go" ,go)
>> -       ("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml)
>> -       ("go-github-com-direnv-go-dotenv" ,go-github-com-direnv-go-dotenv)))
>>      (native-inputs
>> -      `(("which" ,which)))
>> +      `(("go" ,go)
>> +        ("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml)
>> +        ("go-github-com-direnv-go-dotenv" ,go-github-com-direnv-go-dotenv)
>> +        ("which" ,which)))
>>      (home-page "https://direnv.net/")
>>      (synopsis "Environment switcher for the shell")
>>      (description
>>
>>
>> Thanks again for your time!
>
> What you've put above looks ok, I'm unsure why that wouldn't work...

Just to follow up, as I've learned some more.

So... last night I had this same failure on another machine. Turns out
there is a bigger issue with the direnv package. The particular
combination of the 'setup-go-environment phase from the go-build-system,
and the 'unpack phase from the gnu-build-system, leads to
non-deterministic behaviour, where dependent on the order in which the
filesystem returns two directories, the package either builds, or fails
to build.

> I think it would be better to switch to using the go build system, and
> the package in Guix is quite a few versions behind.

As far as I understand, switching entirely to the go-build-system will
avoid this issue we've both now encountered, so I've sent a patch up
about this [1]. I've also created an issue to track the problem in the
gnu-build-system, as I think it could check for this circumstance and
error, to avoid this issue happening in the future.

1: https://issues.guix.info/issue/35386
2: https://issues.guix.info/issue/35387

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

  reply	other threads:[~2019-04-23  7:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-20 13:20 Problem with `direnv` package definition Tanguy Le Carrour
2019-04-20 17:02 ` Christopher Baines
2019-04-21  8:34   ` Tanguy Le Carrour
2019-04-21  9:54     ` Christopher Baines
2019-04-23  7:59       ` Christopher Baines [this message]
2019-04-23 20:34       ` Tanguy Le Carrour

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lg016tjj.fsf@cbaines.net \
    --to=mail@cbaines.net \
    --cc=guix-devel@gnu.org \
    --cc=tanguy@bioneland.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).