guix-commits
[Top][All Lists]
Advanced

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

02/10: build-system/dub: Use the gold linker.


From: guix-commits
Subject: 02/10: build-system/dub: Use the gold linker.
Date: Sat, 25 Jun 2022 17:37:06 -0400 (EDT)

nckx pushed a commit to branch master
in repository guix.

commit c67ea330d4cf3abfe59e36669b7c2a7864c5e355
Author: ( <paren@disroot.org>
AuthorDate: Fri Jun 24 18:56:28 2022 +0100

    build-system/dub: Use the gold linker.
    
    * guix/build-system/dub.scm (default-ld-gold-wrapper): New procedure.
    (lower): Add a LD-GOLD-WRAPPER to the keyword arguments, and to the
    resulting bag's…
    [build-inputs]: …build inputs.
    
    Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
---
 guix/build-system/dub.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/guix/build-system/dub.scm b/guix/build-system/dub.scm
index 55ad7decb8..8aa93d5b0f 100644
--- a/guix/build-system/dub.scm
+++ b/guix/build-system/dub.scm
@@ -51,6 +51,13 @@
   (let ((pkg-config (resolve-interface '(gnu packages pkg-config))))
     (module-ref pkg-config 'pkg-config)))
 
+(define (default-ld-gold-wrapper)
+  "Return the default ld-gold-wrapper package."
+  ;; LDC doesn't work with Guix's default (BFD) linker.
+  ;; Lazily resolve the binding to avoid a circular dependency.
+  (let ((commencement (resolve-interface '(gnu packages commencement))))
+    (module-ref commencement 'ld-gold-wrapper)))
+
 (define %dub-build-system-modules
   ;; Build-side modules imported by default.
   `((guix build dub-build-system)
@@ -100,6 +107,7 @@
                 (ldc (default-ldc))
                 (dub (default-dub))
                 (pkg-config (default-pkg-config))
+                (ld-gold-wrapper (default-ld-gold-wrapper))
                 #:allow-other-keys
                 #:rest arguments)
   "Return a bag for NAME."
@@ -121,6 +129,7 @@
                         ,@(standard-packages)))
          (build-inputs `(("ldc" ,ldc)
                          ("dub" ,dub)
+                         ("ld-gold-wrapper" ,ld-gold-wrapper)
                          ,@native-inputs))
          (outputs outputs)
          (build dub-build)



reply via email to

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