mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-02-10 05:31:21 +01:00
gexp: Inline bug-fix in 'compiled-modules'.
This is a followup to 5d669883ec
.
* guix/gexp.scm (compiled-modules)[build-utils-hack?]: Remove.
Inline everything as if BUILD-UTILS-HACK? is true.
This commit is contained in:
parent
8c7bebd6ea
commit
4a42abc52c
1 changed files with 23 additions and 43 deletions
|
@ -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))
|
||||
|
|
Loading…
Add table
Reference in a new issue