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 --]
next prev parent 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
* 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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.