Subject: bug#26141: [PATCH] gnu: Add r-cairo.

From: Ricardo Wurmus <[email-masked]>
Date: Fri, 17 Mar 2017 16:19:53 +0100

John Darrington <[email-masked]> writes:

> On Fri, Mar 17, 2017 at 03:23:16PM +0100, Ricardo Wurmus wrote:
>      * gnu/packages/statistics.scm (r-cairo): New variable.
>      ---
>       gnu/packages/statistics.scm | 35 +++++++++++++++++++++++++++++++++++
>       1 file changed, 35 insertions(+)
>
>      diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
>      index d8e50b998..c8d9e78ea 100644
>      --- a/gnu/packages/statistics.scm
>      +++ b/gnu/packages/statistics.scm
>      @@ -5150,3 +5150,38 @@ genome-wide association studies can be analyzed efficiently.")
>           (description
>            "This package provides a pure R implementation of the t-SNE algorithm.")
>           (license license:gpl2+)))
>      +
>      +(define-public r-cairo
>      +  (package
>      +    (name "r-cairo")
>      +    (version "1.5-9")
>      +    (source
>      +     (origin
>      +       (method url-fetch)
>      +       (uri (cran-uri "Cairo" version))
>      +       (sha256
>      +        (base32
>      +         "1x1q99r3r978rlkkm5gixkv03p0mcr6k7ydcqdmisrwnmrn7p1ia"))))

>      +    (properties `((upstream-name . "Cairo")))
> What does this mean? "properties" doesn't seem to be mentioned in the manual.

“properties” is for custom … properties that don’t deserve their own
field in the “package” object.  The “upstream-name” property is used by
the updaters to be able to construct the upstream URL to check for newer
versions.

>
>      +    (build-system r-build-system)
>      +    (inputs
>      +     `(("cairo" ,cairo)
>      +       ("libxt" ,libxt)))
>
> Many packages which need libxt as an input, need special measures to
> make sure that libxt finds their resource files.  Did you check to
> see if that is the case with this package?

This does not seem to be the case here.  I’ve run the examples in the
manual for this package and successfully rendered a plot to PDF.  The
output of “Cairo.capabilities()” also indicates that the X11 backend
works.

Thanks for taking the time to comment on this!

--
Ricardo