aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/ldc.scm
diff options
context:
space:
mode:
authorRoel Janssen <roel@gnu.org>2016-02-22 22:01:39 +0100
committerLeo Famulari <leo@famulari.name>2016-02-23 01:27:19 -0500
commitc1fc7a67e45bb4df944e3c2dd0cdb21a0ecde478 (patch)
treeca18bc1b653e37bc47cbe3e0c22e09a1ce82b9a0 /gnu/packages/ldc.scm
parente9f68a647dc0d3cf7ac20f7d198a3b16ea2639fb (diff)
downloadguix-c1fc7a67e45bb4df944e3c2dd0cdb21a0ecde478.tar
guix-c1fc7a67e45bb4df944e3c2dd0cdb21a0ecde478.tar.gz
gnu: Add rdmd.
* gnu/packages/ldc.scm (rdmd): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
Diffstat (limited to 'gnu/packages/ldc.scm')
-rw-r--r--gnu/packages/ldc.scm45
1 files changed, 44 insertions, 1 deletions
diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 1981bc115d..66da63581c 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2015, 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2015 Pjotr Prins <pjotr.guix@thebird.nl>
;;;
;;; This file is part of GNU Guix.
@@ -21,6 +21,8 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages base)
@@ -29,6 +31,47 @@
#:use-module (gnu packages textutils)
#:use-module (gnu packages zip))
+(define-public rdmd
+ (let ((commit "da0a2e0a379b08294015eec9d531f1e5dd4226f0"))
+ (package
+ (name "rdmd")
+ (version (string-append "v2.070.0-1." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/D-Programming-Language/tools.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1pcx5lyqzrip86f4vv60x292rpvnwsq2hvl1znm9x9rn68f34m45"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'check) ; There is no Makefile, so there's no 'make check'.
+ (replace
+ 'build
+ (lambda _
+ (zero? (system* "ldc2" "rdmd.d"))))
+ (replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "rdmd" bin)))))))
+ (native-inputs
+ `(("ldc" ,ldc)))
+ (home-page "https://github.com/D-Programming-Language/tools/")
+ (synopsis "Specialized equivalent to 'make' for the D language")
+ (description
+ "rdmd is a companion to the dmd compiler that simplifies the typical
+edit-compile-link-run or edit-make-run cycle to a rapid edit-run cycle. Like
+make and other tools, rdmd uses the relative dates of the files involved to
+minimize the amount of work necessary. Unlike make, rdmd tracks dependencies
+and freshness without requiring additional information from the user.")
+ (license license:boost1.0))))
+
(define-public ldc
(package
(name "ldc")