efraim pushed a commit to branch master
in repository guix.
commit daa83c69f6e90885731b11b06b263365992ef539
Author: Efraim Flashner <[email protected]>
AuthorDate: Sun Jun 26 14:33:12 2022 +0300
gnu: ldc: Work towards building on aarch64-linux.
* gnu/packages/dlang.scm (ldc)[arguments]: Adjust configure-flags to not
dynamically compile. Adjust custom 'fix-compiler-rt-library-discovery
phase to add a case for aarch64. Adjust custom'disable-problematic-tests
phase to remove some tests for aarch64-linux.
---
gnu/packages/dlang.scm | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm
index 76c71c43e2..9a972182cc 100644
--- a/gnu/packages/dlang.scm
+++ b/gnu/packages/dlang.scm
@@ -227,7 +227,8 @@ bootstrapping more recent compilers written in D.")
"ldc2-unittest" "all-test-runners"))
((#:configure-flags flags)
`(,@flags "-DBUILD_SHARED_LIBS=ON"
- "-DLDC_LINK_MANUALLY=OFF"))
+ "-DLDC_LINK_MANUALLY=OFF"
+ "-DLDC_DYNAMIC_COMPILE=OFF"))
((#:tests? _) #t)
((#:phases phases)
`(modify-phases ,phases
@@ -248,7 +249,8 @@ bootstrapping more recent compilers written in D.")
system)))))
(matches ("x86_64" => "x86_64")
("i686" => "i386")
- ("armhf" => "armhf"))))
+ ("armhf" => "armhf")
+ ("aarch64" => "aarch64"))))
;; Coax LLVM into agreeing with Clang about system target
;; naming.
(substitute* "driver/linker-gcc.cpp"
@@ -313,6 +315,12 @@ bootstrapping more recent compilers written in D.")
"sanitizers/msan_noerror.d"
"sanitizers/msan_uninitialized.d"
"d2/dmd-testsuite/runnable_cxx/cppa.d")))
+ (,(target-aarch64?)
+ (for-each delete-file
+ '("d2/dmd-testsuite/runnable/ldc_cabi1.d"
+ "sanitizers/fuzz_basic.d"
+ "sanitizers/msan_noerror.d"
+ "sanitizers/msan_uninitialized.d")))
(#t '())))))
(add-before 'configure 'set-cc-and-cxx-to-use-clang
;; The tests require to be built with Clang; build everything