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.
This commit is contained in:
Efraim Flashner 2023-01-02 12:07:30 +02:00
parent d46d958ae7
commit 80ef8ff7ed
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -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 @@ (define-public gdmd
(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 @@ (define ldc-bootstrap
("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 @@ (define (gnu-triplet->clang-arch system)
;; 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 @@ (define (gnu-triplet->clang-arch system)
""))
;; 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 @@ (define (gnu-triplet->clang-arch system)
(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")