diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-07-27 00:02:00 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-07-27 00:02:00 +0200 |
commit | 4a42abc52c3303ae50c4ca79a00dabbea05b5fa9 (patch) | |
tree | 34e92afdcec2b28a3ec2a1f8969023349248931b | |
parent | 8c7bebd6ea99f0ee4fb46a48ecb1883754c8cdde (diff) | |
download | guix-4a42abc52c3303ae50c4ca79a00dabbea05b5fa9.tar.gz guix-4a42abc52c3303ae50c4ca79a00dabbea05b5fa9.zip |
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.scm | 66 |
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)) |