shell: Really take system into account in the cache key. Fixes <https://issues.guix.gnu.org/63230>. Previously, when running "guix shell -s X ...", OPTS would contain something like '((system . "X") ... (system . "DEFAULT")). Thus, since 'profile-cached-gc-root' would iterate over it in this order, "DEFAULT" would be passed to 'profile-file-cache-key' and 'profile-spec-cache-key' instead of "X". * guix/scripts/shell.scm (profile-cached-gc-root): Reverse OPTS before entering 'loop'.
1 files changed, 3 insertions(+), 1 deletions(-) M guix/scripts/shell.scm
M guix/scripts/shell.scm => guix/scripts/shell.scm +3 -1
@@ 374,7 374,9 @@ return #f and #f." (define (key->file key) (string-append (%profile-cache-directory) "/" key)) (let loop ((opts opts) ;; A given key such as 'system might appear more than once in OPTS, so ;; process it backwards so the last occurrence "wins". (let loop ((opts (reverse opts)) (system (%current-system)) (file #f) (specs '()))