aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/dlang.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/dlang.scm')
-rw-r--r--gnu/packages/dlang.scm25
1 files changed, 18 insertions, 7 deletions
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 <pjotr.guix@thebird.nl>
;;; Copyright © 2017 Frederick Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; 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 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -53,7 +53,7 @@
(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 @@
(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