guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] R build system and CRAN importer (updated)


From: Ludovic Courtès
Subject: Re: [PATCH] R build system and CRAN importer (updated)
Date: Sat, 29 Aug 2015 23:15:04 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Ricardo Wurmus <address@hidden> skribis:

> From 1c726be7746021f5d967d12154c057391e24585d Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <address@hidden>
> Date: Fri, 24 Jul 2015 16:49:57 +0200
> Subject: [PATCH 1/2] import: Add 'cran' importer.
>
> * guix/import/cran.scm: New file.
> * guix/scripts/import.scm: Add "cran" to 'importers'.
> * guix/scripts/import/cran.scm: New file.
> * tests/cran.scm: New file.
> * Makefile.am (MODULES): Add 'guix/import/cran.scm' and
>   'guix/scripts/import/cran.scm'.
>   (SCM_TESTS): Add 'tests/cran.scm'.
> * doc/guix.texi (Invoking guix import): Document it.
> * po/guix/POTFILES.in: Add 'guix/scripts/import/cran.scm'.

Nice work.

> +(define string->license
> +  (match-lambda
> +   ("AGPL-3" 'agpl3)

Perhaps ‘agpl3+’ is a better match?

> +   ("GPL-2" 'gpl2)

‘gpl2+’

> +   ("GPL-3" 'GPL3)

Lower-case, and probably with ‘+’ as well.

> +   ("LGPL-2" 'lgpl2.0)
> +   ("LGPL-2.1" 'lgpl2.1)
> +   ("LGPL-3" 'lgpl3)

‘+’?

> +(define (format-inputs names)
> +  "Generate a sorted list of package inputs from a list of package NAMES."
> +  (sort
> +    (map (lambda (name)
> +           (list name (list 'unquote (string->symbol name))))
> +         names)
> +    (lambda args
> +      (match args
> +        (((a _ ...) (b _ ...))
> +         (string-ci<? a b))))))

Might be more readable like this:

  (map (lambda ...)
       (sort names string-ci<?))

Otherwise LGTM.  OK to push with these changes.

> From 8271e8a5e7d237693e8d4b7b34e4a484b9a1fc22 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <address@hidden>
> Date: Fri, 31 Jul 2015 14:47:34 +0200
> Subject: [PATCH 2/2] build: Add R build system.
>
> * guix/build-system/r.scm: New file.
> * guix/build/r-build-system: New file.
> * Makefile.am (MODULES): Add new files.
> * doc/guix.texi (Build Systems): Document r-build-system.

[...]

> +(define (call-r command params)

Nitpick: I’d call it ‘invoke-r’ (a function is called, a program is
invoked.)

Thanks!

Ludo’.



reply via email to

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