From daa83c69f6e90885731b11b06b263365992ef539 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jun 2022 14:33:12 +0300 Subject: [PATCH] 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 @@ (define-public ldc "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 @@ (define (gnu-triplet->clang-arch system) 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 @@ (define (gnu-triplet->clang-arch system) "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