diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 04dd236770..cdbbe909cc 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015, 2018 Pjotr Prins ;;; Copyright © 2017 Frederick Muriithi ;;; Copyright © 2017 Ricardo Wurmus -;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2019, 2022 Tobias Geerinckx-Rice ;;; Copyright © 2020 Guy Fleury Iteriteka ;;; Copyright © 2021, 2022 Efraim Flashner ;;; Copyright © 2021 Maxim Cournoyer @@ -53,7 +53,7 @@ (define-module (gnu packages dlang) (define-public d-tools (package (name "d-tools") - (version "2.077.1") + (version "2.100.0") (source (origin (method git-fetch) @@ -62,22 +62,33 @@ (define-public d-tools (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0wqqw7h1bwpdfrr9vgqkwzh47aqkd6imac1d6nn8gjlqzdcblqdr")))) + (base32 "1jbn0hyskv4ykcckw0iganpyrm0bq2lggswspw21r4hgnxkmjbyw")))) (build-system gnu-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (delete 'configure) - (delete 'check) ; There is no Makefile, so there's no 'make check'. (replace 'build (lambda _ + (mkdir-p "bin") (setenv "CC" #$(cc-for-target)) (setenv "LD" #$(ld-for-target)) - (invoke "ldc2" "rdmd.d"))) + (invoke "ldc2" "rdmd.d" "--of" "bin/rdmd") + (apply invoke "ldc2" "--of=bin/dustmite" + (find-files "DustMite" ".*\\.d")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd" + "--rdmd-default-compiler" "ldmd2")))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "rdmd" bin))))))) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man (string-append out "/man"))) + (for-each delete-file (find-files "bin" "\\.o$")) + (copy-recursively "bin" bin) + (copy-recursively "man" man))))))) (native-inputs (list ldc (module-ref (resolve-interface