aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-07-27 00:02:00 +0200
committerLudovic Courtès <ludo@gnu.org>2018-07-27 00:02:00 +0200
commit4a42abc52c3303ae50c4ca79a00dabbea05b5fa9 (patch)
tree34e92afdcec2b28a3ec2a1f8969023349248931b
parent8c7bebd6ea99f0ee4fb46a48ecb1883754c8cdde (diff)
downloadpatches-4a42abc52c3303ae50c4ca79a00dabbea05b5fa9.tar
patches-4a42abc52c3303ae50c4ca79a00dabbea05b5fa9.tar.gz
gexp: Inline bug-fix in 'compiled-modules'.
This is a followup to 5d669883ecc104403c5d3ba7d172e9c02234577c. * guix/gexp.scm (compiled-modules)[build-utils-hack?]: Remove. Inline everything as if BUILD-UTILS-HACK? is true.
-rw-r--r--guix/gexp.scm66
1 files changed, 23 insertions, 43 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm
index f358102782..c1070ba436 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1195,14 +1195,6 @@ corresponding to MODULES. All the MODULES are built in a context where
they can refer to each other."
(define total (length modules))
- (define build-utils-hack?
- ;; To avoid a full rebuild, we limit the fix below to the case where
- ;; MODULE-PATH is different from %LOAD-PATH. This happens when building
- ;; modules for 'compute-guix-derivation' upon 'guix pull'. TODO: Make
- ;; this unconditional on the next rebuild cycle.
- (and (member '(guix build utils) modules)
- (not (equal? module-path %load-path))))
-
(mlet %store-monad ((modules (imported-modules modules
#:system system
#:guile guile
@@ -1248,46 +1240,34 @@ they can refer to each other."
(setvbuf (current-output-port)
(cond-expand (guile-2.2 'line) (else _IOLBF)))
- (ungexp-splicing
- (if build-utils-hack?
- (gexp ((define mkdir-p
- ;; Capture 'mkdir-p'.
- (@ (guix build utils) mkdir-p))))
- '()))
+ (define mkdir-p
+ ;; Capture 'mkdir-p'.
+ (@ (guix build utils) mkdir-p))
;; Add EXTENSIONS to the search path.
- ;; TODO: Remove the outer 'ungexp-splicing' on the next rebuild cycle.
- (ungexp-splicing
- (if (null? extensions)
- '()
- (gexp ((set! %load-path
- (append (map (lambda (extension)
- (string-append extension
- "/share/guile/site/"
- (effective-version)))
- '((ungexp-native-splicing extensions)))
- %load-path))
- (set! %load-compiled-path
- (append (map (lambda (extension)
- (string-append extension "/lib/guile/"
- (effective-version)
- "/site-ccache"))
- '((ungexp-native-splicing extensions)))
- %load-compiled-path))))))
+ (set! %load-path
+ (append (map (lambda (extension)
+ (string-append extension
+ "/share/guile/site/"
+ (effective-version)))
+ '((ungexp-native-splicing extensions)))
+ %load-path))
+ (set! %load-compiled-path
+ (append (map (lambda (extension)
+ (string-append extension "/lib/guile/"
+ (effective-version)
+ "/site-ccache"))
+ '((ungexp-native-splicing extensions)))
+ %load-compiled-path))
(set! %load-path (cons (ungexp modules) %load-path))
- (ungexp-splicing
- (if build-utils-hack?
- ;; Above we loaded our own (guix build utils) but now we may
- ;; need to load a compile a different one. Thus, force a
- ;; reload.
- (gexp ((let ((utils (ungexp
- (file-append modules
- "/guix/build/utils.scm"))))
- (when (file-exists? utils)
- (load utils)))))
- '()))
+ ;; Above we loaded our own (guix build utils) but now we may need to
+ ;; load a compile a different one. Thus, force a reload.
+ (let ((utils (string-append (ungexp modules)
+ "/guix/build/utils.scm")))
+ (when (file-exists? utils)
+ (load utils)))
(mkdir (ungexp output))
(chdir (ungexp modules))