Hi Daniel, Daniel Gerber <[email protected]> skribis:
> From reading the doc on `guix environment`: > > -L, --load-path=DIR prepend DIR to the package module search path > > I would expect these to be exactly equivalent: > > $ export GUIX_PACKAGE_PATH=; guix environment -L path ... > $ export GUIX_PACKAGE_PATH=path; guix environment ... > > Yet they differ. With [email protected] in the guix channel (a37bdf4) and > [email protected] in --and also [email protected] only in-- > /gnu/guix-local-packages/: > > $ export GUIX_PACKAGE_PATH=/gnu/guix-local-packages/; guix environment > --no-grafts -C [email protected] --ad-hoc strace gdb -- ls /gnu/store/ > |grep -o libuv-.* > libuv-1.26.0 > > $ export GUIX_PACKAGE_PATH=; guix environment -L > /gnu/guix-local-packages/ --no-grafts -C [email protected] --ad-hoc strace > gdb -- ls /gnu/store/ |grep -o libuv-.* > libuv-1.24.0 > > Is this the intended behaviour? Probably not. I experimented a bit and couldn’t find any evidence that the search path order would differ. However, what do /gnu/guix-local-packages/ contain? I suppose it provides [email protected]? Then my guess is that “[email protected]” is ambiguous and that ‘specification->package’ chooses one of the two in a non-deterministic fashion. Can you show the output of: guix package -A node guix package -A node -L /gnu/guix-local-packages GUIX_PACKAGE_PATH=/gnu/guix-local-packages guix package -A node ? TIA, Ludo’.
