shell: Correct cache key for ‘guix shell -f guix.scm’.

Partially fixes <https://issues.guix.gnu.org/64858>.

Fixes a bug whereby ‘guix shell -f guix.scm’ would use the same cache
key as ‘guix shell’ in an empty directory (meaning: no packages
specified) and would ignore the mtime of ‘guix.scm’.

* guix/scripts/shell.scm (profile-cached-gc-root): In ‘load’ case,
recognize both the ‘package’ and ‘ad-hoc-package’ tags.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: Ice6d0ac43e1dc6bb335a17963364c2cc6bcd076d
This commit is contained in:
Felix Lechner 2023-11-22 23:08:28 +01:00 committed by Ludovic Courtès
parent 5e8e9bcd25
commit 762be40098
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -398,7 +398,7 @@ (define (key->file key)
(values #f #f)))
((('nesting? . #t) . rest)
(loop rest system file (append specs '("nested guix"))))
((('load . ('package candidate)) . rest)
((('load . (_ candidate)) . rest)
(if (and (not file) (null? specs))
(loop rest system candidate specs)
(values #f #f)))