From b1de0922ef8add641256027a8cd0dfb1de57406a Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Mon, 22 Feb 2016 12:23:53 +0100 Subject: [PATCH] gnu: Add rdmd. * gnu/packages/ldc.scm (rdmd): New variable. --- gnu/packages/ldc.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index 1981bc1..4799b10 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -22,6 +22,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages libedit) @@ -29,6 +30,48 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages zip)) +(define-public rdmd + (let ((commit "4dba6877c")) + (package + (name "rdmd") + (version "20160217") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/D-Programming-Language/tools.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (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"))) + (mkdir-p bin) + (copy-file "rdmd" (string-append bin "/rdmd")))))))) + (native-inputs + `(("ldc" ,ldc))) + (home-page "https://github.com/D-Programming-Language/tools/") + (synopsis "Tool for the D language which is used for compiling") + (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") -- 2.5.0