guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add rdmd.


From: Leo Famulari
Subject: Re: [PATCH] Add rdmd.
Date: Mon, 22 Feb 2016 12:46:18 -0500
User-agent: Mutt/1.5.24 (2015-08-30)

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 <address@hidden>
> 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 via email to

[Prev in Thread] Current Thread [Next in Thread]