summaryrefslogtreecommitdiff
path: root/guix/self.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-06-02 00:04:39 +0200
committerLudovic Courtès <ludo@gnu.org>2018-06-02 00:43:49 +0200
commit1458f768c1049812166228b8526128b199518e50 (patch)
treeab00d235820e4d7da642bca92bc63b34d87b6fef /guix/self.scm
parent8031b3fa3c01d084a557b53b72e9bf1bcd99aa1a (diff)
downloadgnu-guix-1458f768c1049812166228b8526128b199518e50.tar
gnu-guix-1458f768c1049812166228b8526128b199518e50.tar.gz
self: Include gnu/build/* in the result.
Previously, modules like gnu/build/cross-toolchain.scm or gnu/build/svg.scm were missing from the result. * guix/self.scm (compiled-guix)[*system-modules*]: Add gnu/build/* to #:extra-files. (imported-files)[same-target?]: New procedure. [build]: Call 'delete-duplicates' on FILES.
Diffstat (limited to 'guix/self.scm')
-rw-r--r--guix/self.scm14
1 files changed, 12 insertions, 2 deletions
diff --git a/guix/self.scm b/guix/self.scm
index bf5b1be1f3..a24e9c6147 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -314,7 +314,12 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'."
*extra-modules* *core-modules*)
#:extensions dependencies
#:extra-files
- (file-imports source "gnu/system/examples" (const #t))
+ (append (file-imports source "gnu/system/examples"
+ (const #t))
+
+ ;; Build-side code that we don't build. Some of
+ ;; these depend on guile-rsvg, the Shepherd, etc.
+ (file-imports source "gnu/build" (const #t)))
#:guile-for-build
guile-for-build))
@@ -482,6 +487,11 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'."
(define (imported-files name files)
;; This is a non-monadic, simplified version of 'imported-files' from (guix
;; gexp).
+ (define same-target?
+ (match-lambda*
+ (((file1 . _) (file2 . _))
+ (string=? file1 file2))))
+
(define build
(with-imported-modules (source-module-closure
'((guix build utils)))
@@ -498,7 +508,7 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'."
;; symlinks, as this makes a difference for
;; 'add-to-store'.
(copy-file store-path final-path)))
- '#$files))))
+ '#$(delete-duplicates files same-target?)))))
;; We're just copying files around, no need to substitute or offload it.
(computed-file name build