shell: Disable caching for ‘guix shell -f guix.scm’.
Fixes <https://issues.guix.gnu.org/64858>. * guix/scripts/shell.scm (profile-cached-gc-root): Distinguish the two ‘load’ cases; return #f and #f for (load ad-hoc-package _). Reported-by: Pierre-Henry Fröhring <phfrohring@deeplinks.com>. Change-Id: I00282fbd41aeed09fb927690945cf65e1f9efe4dmaster
parent
762be40098
commit
5283d24062
|
@ -398,10 +398,17 @@ return #f and #f."
|
|||
(values #f #f)))
|
||||
((('nesting? . #t) . rest)
|
||||
(loop rest system file (append specs '("nested guix"))))
|
||||
((('load . (_ candidate)) . rest)
|
||||
((('load . ('package candidate)) . rest)
|
||||
;; This is 'guix shell -D -f guix.scm'.
|
||||
(if (and (not file) (null? specs))
|
||||
(loop rest system candidate specs)
|
||||
(values #f #f)))
|
||||
((('load . ('ad-hoc-package candidate)) . rest)
|
||||
;; When running 'guix shell -f guix.scm', one typically expects
|
||||
;; 'guix.scm' to be evaluated every time because it may contain
|
||||
;; references like (local-file "." #:recursive? #t). Thus, disable
|
||||
;; caching.
|
||||
(values #f #f))
|
||||
((('manifest . candidate) . rest)
|
||||
(if (and (not file) (null? specs))
|
||||
(loop rest system candidate specs)
|
||||
|
|
Reference in New Issue