unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: Roel Janssen <roel@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH] Add rdmd.
Date: Mon, 22 Feb 2016 12:46:18 -0500	[thread overview]
Message-ID: <20160222174618.GA4836@jasmine> (raw)
In-Reply-To: <8760xg290c.fsf@gnu.org>

On Mon, Feb 22, 2016 at 02:02:27PM +0100, Roel Janssen wrote:
> From 67222c11f6bb8d07b798b1f50eae6e23d8e77b2b Mon Sep 17 00:00:00 2001
> From: Roel Janssen <roel@gnu.org>
> Date: Mon, 22 Feb 2016 14:00:53 +0100
> Subject: [PATCH] gnu: Add rdmd.
> 
> * gnu/packages/ldc.scm (rdmd): New variable.

Thanks for the patch!

> ---
>  gnu/packages/ldc.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
> 
> diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
> index 1981bc1..c00e0dc 100644
> --- a/gnu/packages/ldc.scm
> +++ b/gnu/packages/ldc.scm
> @@ -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,48 @@
>    #:use-module (gnu packages textutils)
>    #:use-module (gnu packages zip))
>  
> +(define-public rdmd
> +  (let ((commit "4dba6877c"))

Please use the full hash here.

You can see commit 423eef362b for an example of how to construct a
pleasant version string, and section 7.6.3 of the current manual (in
git) for the specification of that version string.

If desired, you can generate an HTML version of the manual with
`make doc/guix.html`.

> +    (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'.

Is there a test suite that is meant to be invoked some other way?

> +           (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"))))))))

mkdir-p and copy-file can be shortened into install-file :)

> +      (native-inputs
> +       `(("ldc" ,ldc)))
> +      (home-page "https://github.com/D-Programming-Language/tools/")
> +      (synopsis "Tool for the D language which is used for compiling")

This makes it sounds like a compiler, but it sounds more like a dmd
version of Make? Is that correct?

Looks good with these changes and a clarified synopsis.

> +      (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
> 

> Dear list,
> 
> I forgot to add git-download to the modules.  Please use the patch
> attached here.
> 
> Kind regards,
> Roel Janssen
> 
> 
> Roel Janssen writes:
> 
> > 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
> 

  reply	other threads:[~2016-02-22 17:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-22 11:27 [PATCH] Add rdmd Roel Janssen
2016-02-22 13:02 ` Roel Janssen
2016-02-22 17:46   ` Leo Famulari [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160222174618.GA4836@jasmine \
    --to=leo@famulari.name \
    --cc=guix-devel@gnu.org \
    --cc=roel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).