mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
self: Add "guix-packages-base" derivation.
This introduces an intermediate derivation, thereby reducing the amount of rebuild that needs to happen when "leaf" package modules are modified. * guix/self.scm (compiled-guix)[*core-package-modules*]: New variable. [*package-modules*, *system-modules*, *cli-modules*]: Depend on it. Add it to the directory union.
This commit is contained in:
parent
effd8df8f2
commit
f2e66663c2
1 changed files with 21 additions and 6 deletions
|
@ -260,13 +260,18 @@ (define *extra-modules*
|
|||
#:extensions dependencies
|
||||
#:guile-for-build guile-for-build))
|
||||
|
||||
(define *package-modules*
|
||||
(scheme-node "guix-packages"
|
||||
(define *core-package-modules*
|
||||
(scheme-node "guix-packages-base"
|
||||
`((gnu packages)
|
||||
,@(scheme-modules* source "gnu/packages"))
|
||||
(gnu packages base))
|
||||
(list *core-modules* *extra-modules*)
|
||||
#:extensions dependencies
|
||||
#:extra-files ;all the non-Scheme files
|
||||
|
||||
;; Add all the non-Scheme files here. We must do it here so
|
||||
;; that 'search-patches' & co. can find them. Ideally we'd
|
||||
;; keep them next to the .scm files that use them but it's
|
||||
;; difficult to do (XXX).
|
||||
#:extra-files
|
||||
(file-imports source "gnu/packages"
|
||||
(lambda (file stat)
|
||||
(and (eq? 'regular (stat:type stat))
|
||||
|
@ -276,13 +281,21 @@ (define *package-modules*
|
|||
(not (string-suffix? "~" file)))))
|
||||
#:guile-for-build guile-for-build))
|
||||
|
||||
(define *package-modules*
|
||||
(scheme-node "guix-packages"
|
||||
(scheme-modules* source "gnu/packages")
|
||||
(list *core-modules* *extra-modules* *core-package-modules*)
|
||||
#:extensions dependencies
|
||||
#:guile-for-build guile-for-build))
|
||||
|
||||
(define *system-modules*
|
||||
(scheme-node "guix-system"
|
||||
`((gnu system)
|
||||
(gnu services)
|
||||
,@(scheme-modules* source "gnu/system")
|
||||
,@(scheme-modules* source "gnu/services"))
|
||||
(list *package-modules* *extra-modules* *core-modules*)
|
||||
(list *core-package-modules* *package-modules*
|
||||
*extra-modules* *core-modules*)
|
||||
#:extensions dependencies
|
||||
#:extra-files
|
||||
(file-imports source "gnu/system/examples" (const #t))
|
||||
|
@ -292,7 +305,8 @@ (define *system-modules*
|
|||
(define *cli-modules*
|
||||
(scheme-node "guix-cli"
|
||||
(scheme-modules* source "/guix/scripts")
|
||||
(list *core-modules* *extra-modules* *package-modules*
|
||||
(list *core-modules* *extra-modules*
|
||||
*core-package-modules* *package-modules*
|
||||
*system-modules*)
|
||||
#:extensions dependencies
|
||||
#:guile-for-build guile-for-build))
|
||||
|
@ -330,6 +344,7 @@ (define *config*
|
|||
*cli-modules*
|
||||
*system-modules*
|
||||
*package-modules*
|
||||
*core-package-modules*
|
||||
*extra-modules*
|
||||
*core-modules*))
|
||||
|
||||
|
|
Loading…
Reference in a new issue