self: Move core (guix script ...) modules to a separate derivation.
This adds an opportunity for parallelism and reduces the amount of rebuild needed when "secondary" modules are modified. * guix/self.scm (compiled-guix)[*core-cli-modules*]: New variable. [*cli-modules*]: Depend on it. [built-modules]: Likewise.master
parent
8bc5f63c45
commit
abd38dcee1
|
@ -968,13 +968,32 @@ itself."
|
||||||
#:extensions dependencies
|
#:extensions dependencies
|
||||||
#:guile-for-build guile-for-build))
|
#:guile-for-build guile-for-build))
|
||||||
|
|
||||||
|
(define *core-cli-modules*
|
||||||
|
;; Core command-line interface modules that do not depend on (gnu system
|
||||||
|
;; …) or (gnu home …), and not even on *PACKAGE-MODULES*.
|
||||||
|
(scheme-node "guix-cli-core"
|
||||||
|
(remove (match-lambda
|
||||||
|
(('guix 'scripts 'system . _) #t)
|
||||||
|
(('guix 'scripts 'environment) #t)
|
||||||
|
(('guix 'scripts 'container . _) #t)
|
||||||
|
(('guix 'scripts 'deploy) #t)
|
||||||
|
(('guix 'scripts 'home . _) #t)
|
||||||
|
(('guix 'scripts 'import . _) #t)
|
||||||
|
(('guix 'pack) #t)
|
||||||
|
(_ #f))
|
||||||
|
(scheme-modules* source "guix/scripts"))
|
||||||
|
(list *core-modules* *extra-modules*
|
||||||
|
*core-package-modules*)
|
||||||
|
#:extensions dependencies
|
||||||
|
#:guile-for-build guile-for-build))
|
||||||
|
|
||||||
(define *cli-modules*
|
(define *cli-modules*
|
||||||
(scheme-node "guix-cli"
|
(scheme-node "guix-cli"
|
||||||
(append (scheme-modules* source "/guix/scripts")
|
(append (scheme-modules* source "/guix/scripts")
|
||||||
`((gnu ci)))
|
`((gnu ci)))
|
||||||
(list *core-modules* *extra-modules*
|
(list *core-modules* *extra-modules*
|
||||||
*core-package-modules* *package-modules*
|
*core-package-modules* *package-modules*
|
||||||
*system-modules* *home-modules*)
|
*core-cli-modules* *system-modules* *home-modules*)
|
||||||
#:extensions dependencies
|
#:extensions dependencies
|
||||||
#:guile-for-build guile-for-build))
|
#:guile-for-build guile-for-build))
|
||||||
|
|
||||||
|
@ -1020,6 +1039,7 @@ itself."
|
||||||
;; comes with *CORE-MODULES*.
|
;; comes with *CORE-MODULES*.
|
||||||
(list *config*
|
(list *config*
|
||||||
*cli-modules*
|
*cli-modules*
|
||||||
|
*core-cli-modules*
|
||||||
*system-test-modules*
|
*system-test-modules*
|
||||||
*system-modules*
|
*system-modules*
|
||||||
*home-modules*
|
*home-modules*
|
||||||
|
|
Reference in New Issue