From: Ricardo Wurmus <rekado@elephly.net>
To: Roel Janssen <roel@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 7/7] gnu: Add r-bioccheck.
Date: Thu, 20 Oct 2016 08:16:46 +0200 [thread overview]
Message-ID: <87funrwnn5.fsf@elephly.net> (raw)
In-Reply-To: <87twc856ze.fsf@gnu.org>
Roel Janssen <roel@gnu.org> writes:
>>> +(define-public r-bioccheck
>>> + (package
>>> + (name "r-bioccheck")
>>> + (version "1.10.0")
>>> + (source (origin
>>> + (method url-fetch)
>>> + (uri (bioconductor-uri "BiocCheck" version))
>>> + (sha256
>>> + (base32
>>> + "1rfy37xg1nc2cmgbclvzsi7sgmdcdjiahsx9crgx3yaw7kxgiack"))))
>>> + (properties
>>> + `((upstream-name . "BiocCheck")))
>>> + (build-system r-build-system)
>>> + (arguments
>>> + '(#:phases
>>> + (modify-phases %standard-phases
>>> + ;; This package can be used by calling BiocCheck(<package>) from
>>> + ;; within R, or by running R CMD BiocCheck <package>. This phase
>>> + ;; makes sure the latter works. For this to work, the BiocCheck
>>> + ;; script must be somewhere on the PATH (not the R bin directory).
>>> + (add-after 'install 'install-bioccheck-subcommand
>>> + (lambda _
>>> + (let ((dest-dir (string-append %output "/bin"))
>>> + (script-dir
>>> + (string-append %output "/site-library/BiocCheck/script/")))
>>
>> We usually prefer to do this
>>
>> (lambda* (#:key outputs #:allow-other-keys)
>> (let* ((out (assoc-ref outputs "out"))
>> … out …)))
>>
>> instead of using the magical “%output”.
>
> Ofcourse! Sorry, I should've known this.
>
>
>>> + (mkdir-p dest-dir)
>>> + (zero? (system* "ln" "--symbolic"
>>> + (string-append script-dir "/checkBadDeps.R")
>>> + (string-append dest-dir "/checkBadDeps.R")))
>>> + (zero? (system* "ln" "--symbolic"
>>> + (string-append script-dir "/BiocCheck")
>>> + (string-append dest-dir "/BiocCheck")))))))))
>>
>> Would it work to use “install-file” here (or to use Guile’s “symlink
>> oldpath newpath”) instead of shelling out?
>
> I prefer symlinking. Sorry for being a shell-out. I updated the patch
> to use Guile's @code{symlink} instead (I wasn't aware of this function!).
>
> Here's the new patch:
>
>From cce8a9580645011cf8f6b259296a4779633aa2af Mon Sep 17 00:00:00 2001
> From: Roel Janssen <roel@gnu.org>
> Date: Thu, 20 Oct 2016 00:00:33 +0200
> Subject: [PATCH] gnu: Add r-bioccheck.
>
> * gnu/packages/bioinformatics.scm (r-bioccheck): New variable.
> ---
> gnu/packages/bioinformatics.scm | 46 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 46 insertions(+)
>
> diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
> index 3fe7b5f..8e426d0 100644
> --- a/gnu/packages/bioinformatics.scm
> +++ b/gnu/packages/bioinformatics.scm
> @@ -5936,6 +5936,52 @@ Bioconductor PDF and HTML documents. Package vignettes illustrate use and
> functionality.")
> (license license:artistic2.0)))
>
> +(define-public r-bioccheck
> + (package
> + (name "r-bioccheck")
> + (version "1.10.0")
> + (source (origin
> + (method url-fetch)
> + (uri (bioconductor-uri "BiocCheck" version))
> + (sha256
> + (base32
> + "1rfy37xg1nc2cmgbclvzsi7sgmdcdjiahsx9crgx3yaw7kxgiack"))))
> + (properties
> + `((upstream-name . "BiocCheck")))
> + (build-system r-build-system)
> + (arguments
> + '(#:phases
> + (modify-phases %standard-phases
> + ;; This package can be used by calling BiocCheck(<package>) from
> + ;; within R, or by running R CMD BiocCheck <package>. This phase
> + ;; makes sure the latter works. For this to work, the BiocCheck
> + ;; script must be somewhere on the PATH (not the R bin directory).
> + (add-after 'install 'install-bioccheck-subcommand
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let ((dest-dir (string-append (assoc-ref outputs "out") "/bin"))
> + (script-dir
> + (string-append %output "/site-library/BiocCheck/script/")))
You missed one “%output” :)
I’d bind “out” it in the “let*” so that you don’t need to “assoc-ref” twice.
> + (mkdir-p dest-dir)
> + (symlink (string-append script-dir "/checkBadDeps.R")
> + (string-append dest-dir "/checkBadDeps.R"))
> + (symlink (string-append script-dir "/BiocCheck")
> + (string-append dest-dir "/BiocCheck"))))))))
One last thing: please let the lambda end with #t.
Other than that it’s all good.
Thanks!
~~ Ricardo
next prev parent reply other threads:[~2016-10-20 6:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-15 11:39 [PATCH 7/7] gnu: Add r-bioccheck Roel Janssen
2016-09-19 12:37 ` Ricardo Wurmus
2016-10-19 14:46 ` Roel Janssen
2016-10-19 17:09 ` Ricardo Wurmus
2016-10-19 22:06 ` Roel Janssen
2016-10-20 6:16 ` Ricardo Wurmus [this message]
2016-10-20 7:59 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87funrwnn5.fsf@elephly.net \
--to=rekado@elephly.net \
--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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.