ui: Disable '%fresh-auto-compile' only for Guile 2.2.3.
authorLudovic Courtès <ludo@gnu.org>
Mon, 15 Jan 2018 14:43:53 +0000 (15:43 +0100)
committerLudovic Courtès <ludo@gnu.org>
Mon, 15 Jan 2018 22:29:33 +0000 (23:29 +0100)
Mitigates <https://bugs.gnu.org/29881>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.

* guix/ui.scm (load*): Unset '%fresh-auto-compile' only on Guile 2.2.3.

guix/ui.scm

index 8951797..fb2380b 100644 (file)
@@ -195,7 +195,16 @@ messages."
   (catch #t
     (lambda ()
       ;; XXX: Force a recompilation to avoid ABI issues.
-      ;; (set! %fresh-auto-compile #t)
+      ;;
+      ;; In 2.2.3, the bogus answer to <https://bugs.gnu.org/29226> was to
+      ;; ignore all available .go, not just those from ~/.cache, which in turn
+      ;; meant that we had to rebuild *everything*.  Since this is too costly,
+      ;; we have to turn auto '%fresh-auto-compile' with that version, at the
+      ;; risk of getting ABI breakage in the user's config file.  See
+      ;; <https://bugs.gnu.org/29881>.
+      (unless (string=? (version) "2.2.3")
+        (set! %fresh-auto-compile #t))
+
       (set! %load-should-auto-compile #t)
 
       (save-module-excursion