aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-01-15 15:43:53 +0100
committerLudovic Courtès <ludo@gnu.org>2018-01-15 23:29:33 +0100
commit92423868bc451600f8f3d93b638091d12b14b7aa (patch)
tree92c628ebad90c5268fe6b87eb53fce157302ad63
parent9d4399b805b461b9b607ac932061146807e6953c (diff)
downloadguix-92423868bc451600f8f3d93b638091d12b14b7aa.tar
guix-92423868bc451600f8f3d93b638091d12b14b7aa.tar.gz
ui: Disable '%fresh-auto-compile' only for Guile 2.2.3.
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.
-rw-r--r--guix/ui.scm11
1 files changed, 10 insertions, 1 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index 895179744b..fb2380b68a 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -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