summary refs log tree commit diff
path: root/gnu/packages/dlang.scm
diff options
context:
space:
mode:
author( <paren@disroot.org>2022-06-15 19:53:50 +0100
committerTobias Geerinckx-Rice <me@tobias.gr>2022-06-19 02:00:01 +0200
commitf3c50743730a248ab36890b2eed1b772ad13340a (patch)
treea1fb565649022a10c72c32a6885c751a4c396d40 /gnu/packages/dlang.scm
parent30afa097a5973716c3e553a253d90612a9ef081d (diff)
downloadguix-f3c50743730a248ab36890b2eed1b772ad13340a.tar.gz
gnu: d-tools: Update to 2.100.0.
* gnu/packages/dlang.scm (d-tools): Update to 2.100.0.
[arguments]: Adjust accordingly.  Reinstate a custom 'check phase.
Install the rdmd man page.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
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