gnu: Add rdmd.

* gnu/packages/ldc.scm (rdmd): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
This commit is contained in:
Roel Janssen 2016-02-22 22:01:39 +01:00 committed by Leo Famulari
parent e9f68a647d
commit c1fc7a67e4

View file

@ -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 @@ (define-module (gnu packages ldc)
#: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 @@ (define-module (gnu packages ldc)
#: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")