diff options
author | ( <paren@disroot.org> | 2022-06-24 18:56:28 +0100 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2022-06-19 02:00:00 +0200 |
commit | c67ea330d4cf3abfe59e36669b7c2a7864c5e355 (patch) | |
tree | e1beeb91bef2ff968f585b1213cfa7ad3fccce84 /guix | |
parent | c539a13050e4e5469ce9b3d09efb5cabfa5d832b (diff) |
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>
Diffstat (limited to 'guix')
-rw-r--r-- | guix/build-system/dub.scm | 9 |
1 files changed, 9 insertions, 0 deletions
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) |