unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Add rdmd.
@ 2016-02-22 11:27 Roel Janssen
  2016-02-22 13:02 ` Roel Janssen
  0 siblings, 1 reply; 8+ messages in thread
From: Roel Janssen @ 2016-02-22 11:27 UTC (permalink / raw)
  To: guix-devel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: 0001-gnu-Add-rdmd.patch --]
[-- Type: text/x-patch, Size: 2618 bytes --]

From b1de0922ef8add641256027a8cd0dfb1de57406a Mon Sep 17 00:00:00 2001
From: Roel Janssen <roel@gnu.org>
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


[-- Attachment #2: Type: text/plain, Size: 162 bytes --]

Dear list,

I would like to add rdmd.  Since it's a tool for the D programming
language, I think the best place to put it is ldc.scm.

Kind regards,
Roel Janssen

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-02-23  7:16 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-22 11:27 [PATCH] Add rdmd Roel Janssen
2016-02-22 13:02 ` Roel Janssen
2016-02-22 17:46   ` Leo Famulari
2016-02-22 18:57     ` Roel Janssen
2016-02-22 19:46       ` Leo Famulari
2016-02-22 21:01         ` Roel Janssen
2016-02-23  6:36           ` Leo Famulari
2016-02-23  7:16             ` Roel Janssen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).