--- Begin Message ---
Subject: |
unpack phase in the gnu-build-system is sometimes non-deterministic |
Date: |
Tue, 23 Apr 2019 08:16:25 +0100 |
User-agent: |
mu4e 1.0; emacs 26.1 |
I believe that the direnv package has encountered an issue with the
gnu-build-system [1].
1: https://issues.guix.info/issue/35386
Due to the combination of the 'setup-go-environment phase from the
go-build-system, and the 'unpack phase of the gnu-build-system, there
are two directories to be considered by first-subdirectory when called
from the unpack phase.
It seems from direnv that this either consistently, with the package
working on one machine, or failing consistently on another.
To avoid issues like this in the future, I think it would be good to
have first-subdirectory raise an error if it's behaviour could be
non-deterministic.
signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#35387: unpack phase in the gnu-build-system is sometimes non-deterministic |
Date: |
Fri, 14 Jun 2019 23:43:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Ludovic Courtès <address@hidden> skribis:
> What about writing it like this:
>
> (define (first-subdirectory directory)
> "Return the file name of the first sub-directory of DIRECTORY."
> (match (scandir directory
> (lambda (file)
> (and (not (member file '("." "..")))
> (file-is-directory? (string-append directory "/"
> file)))))
> ((first . _) first)))
>
> The result will be deterministic since ‘scandir’ sorts entries.
Pushed as cfd4e4d06e3cda0f3eed8d6b9277ce53e55404b8 on ‘core-updates’.
Thanks,
Ludo’.
--- End Message ---