guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: shell: Disable caching for ‘guix shell -f guix.scm’.


From: guix-commits
Subject: 02/02: shell: Disable caching for ‘guix shell -f guix.scm’.
Date: Wed, 22 Nov 2023 17:55:49 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 5283d24062be62f59ff9f14fa7095ebcfcb7a9a4
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Wed Nov 22 23:17:04 2023 +0100

    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: I00282fbd41aeed09fb927690945cf65e1f9efe4d
---
 guix/scripts/shell.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm
index ef22cd60e6..0584a7e018 100644
--- a/guix/scripts/shell.scm
+++ b/guix/scripts/shell.scm
@@ -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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]