summary refs log tree commit diff
path: root/gnu/packages/dlang.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-01-02 12:07:30 +0200
committerEfraim Flashner <efraim@flashner.co.il>2023-01-02 15:04:55 +0200
commit80ef8ff7ed1aaed47cabbf14e2b6daa663fc51cd (patch)
treefb1c9844acc565a2f28075d9850c5ec79a9bb36c /gnu/packages/dlang.scm
parentd46d958ae77fef5b76d47f662a1f4dd1a3bd92b3 (diff)
downloadguix-80ef8ff7ed1aaed47cabbf14e2b6daa663fc51cd.tar.gz
gnu: ldc: Update to 1.30.0.
* gnu/packages/dlang.scm (ldc-bootstrap): Update to 1.30.0.
[native-inputs]: Remove ld-gold-wrapper, Add lld-wrapper with lld-11.
(ldc)[arguments]: Adjust 'fix-compiler-rt-library-discovery phase to
change the order of linked libraries. Adjust 'disable-problematic-tests
phase to work around more GDB tests. Adjust custom 'check phase for race
condition in one of the tests.
Diffstat (limited to 'gnu/packages/dlang.scm')
-rw-r--r--gnu/packages/dlang.scm21
1 files changed, 11 insertions, 10 deletions
diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm
index 9a972182cc..d605067864 100644
--- a/gnu/packages/dlang.scm
+++ b/gnu/packages/dlang.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
-;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021-2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2022 ( <paren@disroot.org>
 ;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
@@ -149,14 +149,14 @@ to a minimal test case.")
 (define ldc-bootstrap
   (package
     (name "ldc")
-    (version "1.27.1")
+    (version "1.30.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/ldc-developers/ldc/releases"
                            "/download/v" version "/ldc-" version "-src.tar.gz"))
        (sha256
-        (base32 "1775001ba6n8w46ln530kb5r66vs935ingnppgddq8wqnc0gbj4k"))))
+        (base32 "1kfs4fpr1525sv2ny10hlfppy8c075vjm8m649wr2b9411pkgfzx"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                  ;skip in the bootstrap
@@ -190,10 +190,7 @@ to a minimal test case.")
        ("tzdata" ,tzdata)
        ("zlib" ,zlib)))
     (native-inputs
-     ;; Importing (gnu packages commencement) would introduce a cycle.
-     `(("ld-gold-wrapper" ,(module-ref (resolve-interface
-                                        '(gnu packages commencement))
-                                       'ld-gold-wrapper))
+     `(("lld-wrapper" ,(make-lld-wrapper lld-11 #:lld-as-ld? #t))
        ("llvm" ,llvm-11)
        ("ldc" ,gdmd)
        ("ninja" ,ninja)
@@ -260,7 +257,7 @@ bootstrapping more recent compilers written in D.")
                  ;; find the compiler-rt libraries they need to be linked with
                  ;; for the tests.
                  (substitute* (find-files "." "^ldc2.*\\.conf\\.in$")
-                   ((".*lib-dirs = \\[\n" all)
+                   ((".*LIB_SUFFIX.*" all)
                     (string-append all
                                    "        \"" clang-runtime
                                    "/lib/linux\",\n"))))))
@@ -294,12 +291,15 @@ bootstrapping more recent compilers written in D.")
                   ""))
                ;; The GDB tests suite fails; there are a few bug reports about
                ;; it upstream.
-               (for-each delete-file (find-files "tests" "gdb.*\\.(d|sh)$"))
+               (for-each delete-file (find-files "tests" "gdb.*\\.(c|d|sh)$"))
                (delete-file "tests/d2/dmd-testsuite/runnable/debug_info.d")
                (delete-file "tests/d2/dmd-testsuite/runnable/b18504.d")
                (substitute* "runtime/druntime/test/exceptions/Makefile"
                  ((".*TESTS\\+=rt_trap_exceptions_drt_gdb.*")
                   ""))
+               ;; Drop gdb_dflags from the test suite.
+               (substitute* "tests/d2/CMakeLists.txt"
+                 (("\\$\\{gdb_dflags\\}") ""))
                ;; The following tests fail on some systems, not all of
                ;; which are tested upstream.
                (with-directory-excursion "tests"
@@ -346,7 +346,8 @@ bootstrapping more recent compilers written in D.")
                    (invoke "ctest" "--output-on-failure" "-j" job-count
                            "-R" "lit-tests")
                    (display "running the dmd test suite...\n")
-                   (invoke "ctest" "--output-on-failure" "-j" job-count
+                   ;; This test has a race condition so run it with 1 core.
+                   (invoke "ctest" "--output-on-failure" "-j" "1"
                            "-R" "dmd-testsuite")
                    (display "running the defaultlib unit tests and druntime \
 integration tests...\n")