guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/03: self: Include gnu/build/* in the result.


From: Ludovic Courtès
Subject: 03/03: self: Include gnu/build/* in the result.
Date: Fri, 1 Jun 2018 18:43:56 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 1458f768c1049812166228b8526128b199518e50
Author: Ludovic Courtès <address@hidden>
Date:   Sat Jun 2 00:04:39 2018 +0200

    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(-)

diff --git a/guix/self.scm b/guix/self.scm
index bf5b1be..a24e9c6 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]