--- Begin Message ---
Subject: |
[core-updates]: Updating `guix' makes package-transitive-supported-systems test fail |
Date: |
Fri, 10 Apr 2020 14:05:40 +0200 |
Hi,
On current core-updates
d523eb5c9c gnu: python-cython: The i686 python2 workaround is needed for
32-bit ARM too.
updating the guix package like so
make update-guix-package
leads to a test failure of package-transitive-supported-systems
make check TESTS=tests/packages
=>
test-name: package-transitive-supported-systems, implicit inputs
location: /home/janneke/src/guix/core-updates/tests/packages.scm:397
source:
+ (test-equal
+ "package-transitive-supported-systems, implicit inputs"
+ %supported-systems
+ (let ((p (dummy-package
+ "foo"
+ (build-system gnu-build-system)
+ (supported-systems
+ `("does-not-exist" "foobar" ,@%supported-systems)))))
+ (parameterize
+ ((%current-system "armhf-linux"))
+ (package-transitive-supported-systems p))))
expected-value: ("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"
"mips64el-linux" "i586-gnu")
actual-value: ("x86_64-linux" "i686-linux")
result: FAIL
Last week, when core-updates was at
1808e64de0 gnu: coreutils: Typo: Use libcap only when supported.
it worked correctly.
This is unfortunate, as wip-hurd-vm (freshly rebased) depends on a guix
update.
Greetings,
janneke
--
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#40482: Test failure in tests/packages.scm after merging master into core-updates |
Date: |
Sat, 11 Apr 2020 00:36:00 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello,
Marius Bakke <address@hidden> skribis:
> On the current "core-updates" branch (commit
> a533c5a1835cbeafaf595c4474e2ce6adde7de8d), one test starts to fail if
> commits 190ddfe21e3d87719733d12fb9b5eb176125a49f and
> a187cc562890895ad41dfad00eb1d5c4a4b00936 are applied:
>
> test-name: package-transitive-supported-systems, implicit inputs
> location: tests/packages.scm:362
> source:
> + (test-equal
> + "package-transitive-supported-systems, implicit inputs"
> + %supported-systems
> + (let ((p (dummy-package
> + "foo"
> + (build-system gnu-build-system)
> + (supported-systems
> + `("does-not-exist" "foobar" ,@%supported-systems)))))
> + (parameterize
> + ((%current-system "armhf-linux"))
> + (package-transitive-supported-systems p))))
> expected-value: ("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"
> "mips64el-linux" "i586-gnu")
> actual-value: ("x86_64-linux" "i686-linux")
> result: FAIL
>
>
> After some trial and error I found that simply removing the test added
> by commit a187cc562890895ad41dfad00eb1d5c4a4b00936 will make the above
> test pass!
This is fixed by e85d4cecbe253e59a8a2a42b6ce427d96ff10534.
This has to do with memoization of things that are actually
system-dependent. This is why you’d see this side effect: in one case,
the first thing memoized would be the armhf graph, in the other case it
would be the x86_64 one.
Concretely,
guix build coreutils -s x86_64-linux -s armhf-linux
would return the right derivation for x86_64 and a bogus one for armhf
(one that depends on Mes, Gash, etc.).
Thanks,
Ludo’.
--- End Message ---