From c67ea330d4cf3abfe59e36669b7c2a7864c5e355 Mon Sep 17 00:00:00 2001 From: "(" Date: Fri, 24 Jun 2022 18:56:28 +0100 Subject: build-system/dub: Use the gold linker. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --- guix/build-system/dub.scm | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'guix') 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) -- cgit v1.2.1