From 1458f768c1049812166228b8526128b199518e50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 2 Jun 2018 00:04:39 +0200 Subject: 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. --- guix/self.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'guix') 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 -- cgit v1.2.3