diff mbox

[2/7] gnu: Add r-rbgl.

Message ID 87k2eds89x.fsf@gnu.org
State New
Headers show

Commit Message

Roel Janssen Sept. 15, 2016, 11:38 a.m. UTC
* gnu/packages/bioinformatics.scm (r-rbgl): New variable.
---
 gnu/packages/bioinformatics.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

Comments

Ricardo Wurmus Sept. 19, 2016, 10:09 a.m. UTC | #1
Roel Janssen <roel@gnu.org> writes:

> * gnu/packages/bioinformatics.scm (r-rbgl): New variable.
> ---
>  gnu/packages/bioinformatics.scm | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
> index ffb9692..3d607cc 100644
> --- a/gnu/packages/bioinformatics.scm
> +++ b/gnu/packages/bioinformatics.scm
> @@ -5309,6 +5309,30 @@ packages.")
>  CRAN, and (some) github packages.")
>      (license license:artistic2.0)))
>  
> +(define-public r-rbgl
> +  (package
> +    (name "r-rbgl")
> +    (version "1.49.3")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://bioconductor.org/packages/3.4/bioc/src/contrib/"
> +                    "RBGL_" version ".tar.gz"))

Shouldn’t this be “(bioconductor-uri "RBGL" version)”?

> +              (sha256
> +               (base32
> +                "0rpiqpalbxk82jkwv3l0fimq9y2hrdi0f7ca4v21318541vfsncs"))))
> +    (properties
> +     `((upstream-name . "RBGL")))
> +    (build-system r-build-system)
> +    (propagated-inputs
> +     `(("r-graph" ,r-graph)))
> +    (home-page "http://bioconductor.org/packages/RBGL")
> +    (synopsis "Interface to the graph algorithms from Boost")
> +    (description
> +     "This package provides a fairly extensive and comprehensive interface to
> +the graph algorithms contained in the Boost library.")
> +    (license license:artistic2.0)))
> +

This package looks very familiar.  Chances are that I packaged this
already and forgot about it… :)

~~ Ricardo
Roel Janssen Sept. 19, 2016, 10:15 a.m. UTC | #2
Ricardo Wurmus writes:

> Roel Janssen <roel@gnu.org> writes:
>
>> * gnu/packages/bioinformatics.scm (r-rbgl): New variable.
>> ---
>>  gnu/packages/bioinformatics.scm | 24 ++++++++++++++++++++++++
>>  1 file changed, 24 insertions(+)
>>
>> diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
>> index ffb9692..3d607cc 100644
>> --- a/gnu/packages/bioinformatics.scm
>> +++ b/gnu/packages/bioinformatics.scm
>> @@ -5309,6 +5309,30 @@ packages.")
>>  CRAN, and (some) github packages.")
>>      (license license:artistic2.0)))
>>  
>> +(define-public r-rbgl
>> +  (package
>> +    (name "r-rbgl")
>> +    (version "1.49.3")
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri (string-append
>> +                    "https://bioconductor.org/packages/3.4/bioc/src/contrib/"
>> +                    "RBGL_" version ".tar.gz"))
>
> Shouldn’t this be “(bioconductor-uri "RBGL" version)”?

You are right, it should be “(bioconductor-uri "RBGL" version)”.

>> +              (sha256
>> +               (base32
>> +                "0rpiqpalbxk82jkwv3l0fimq9y2hrdi0f7ca4v21318541vfsncs"))))
>> +    (properties
>> +     `((upstream-name . "RBGL")))
>> +    (build-system r-build-system)
>> +    (propagated-inputs
>> +     `(("r-graph" ,r-graph)))
>> +    (home-page "http://bioconductor.org/packages/RBGL")
>> +    (synopsis "Interface to the graph algorithms from Boost")
>> +    (description
>> +     "This package provides a fairly extensive and comprehensive interface to
>> +the graph algorithms contained in the Boost library.")
>> +    (license license:artistic2.0)))
>> +
>
> This package looks very familiar.  Chances are that I packaged this
> already and forgot about it… :)

Do you whether you stripped the Boost source code in this package and
used the Boost library from Guix?  I wanted to do so, but couldn't
figure out how it gets build!  Plus, they use Boost 1.61.0 on this RBGL
release, and we are stuck at 1.60.0.

Thanks for looking at this package.

Kind regards,
Roel Janssen
Ricardo Wurmus Sept. 19, 2016, 10:54 a.m. UTC | #3
Roel Janssen <roel@gnu.org> writes:

> Ricardo Wurmus writes:
>
>> Roel Janssen <roel@gnu.org> writes:
>>
>>> * gnu/packages/bioinformatics.scm (r-rbgl): New variable.
>>> ---
>>>  gnu/packages/bioinformatics.scm | 24 ++++++++++++++++++++++++
>>>  1 file changed, 24 insertions(+)
>>>
>>> diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
>>> index ffb9692..3d607cc 100644
>>> --- a/gnu/packages/bioinformatics.scm
>>> +++ b/gnu/packages/bioinformatics.scm
>>> @@ -5309,6 +5309,30 @@ packages.")
>>>  CRAN, and (some) github packages.")
>>>      (license license:artistic2.0)))
>>>  
>>> +(define-public r-rbgl
>>> +  (package
>>> +    (name "r-rbgl")
>>> +    (version "1.49.3")
>>> +    (source (origin
>>> +              (method url-fetch)
>>> +              (uri (string-append
>>> +                    "https://bioconductor.org/packages/3.4/bioc/src/contrib/"
>>> +                    "RBGL_" version ".tar.gz"))
>>
>> Shouldn’t this be “(bioconductor-uri "RBGL" version)”?
>
> You are right, it should be “(bioconductor-uri "RBGL" version)”.

Okay.  I’ll make the change before pushing.

>>> +              (sha256
>>> +               (base32
>>> +                "0rpiqpalbxk82jkwv3l0fimq9y2hrdi0f7ca4v21318541vfsncs"))))
>>> +    (properties
>>> +     `((upstream-name . "RBGL")))
>>> +    (build-system r-build-system)
>>> +    (propagated-inputs
>>> +     `(("r-graph" ,r-graph)))
>>> +    (home-page "http://bioconductor.org/packages/RBGL")
>>> +    (synopsis "Interface to the graph algorithms from Boost")
>>> +    (description
>>> +     "This package provides a fairly extensive and comprehensive interface to
>>> +the graph algorithms contained in the Boost library.")
>>> +    (license license:artistic2.0)))
>>> +
>>
>> This package looks very familiar.  Chances are that I packaged this
>> already and forgot about it… :)
>
> Do you whether you stripped the Boost source code in this package and
> used the Boost library from Guix?  I wanted to do so, but couldn't
> figure out how it gets build!  Plus, they use Boost 1.61.0 on this RBGL
> release, and we are stuck at 1.60.0.

I didn’t try to swap out the sources.  In my opinion this should be
treated as a fork.  It’s a subset of Boost with R-specific adaptations.
Other R packages may depend on this particular “flavour” and might not
work well otherwise.

If someone made the effort to change this, it would need to be checked
each time we updated our Boost package.  I don’t think we have the
infrastructure to keep track of these things, so I’d rather err on the
side of keeping things as upstream has them.

~~ Ricardo
Roel Janssen Sept. 19, 2016, 11:31 a.m. UTC | #4
Ricardo Wurmus writes:

> Roel Janssen <roel@gnu.org> writes:
>
>> Ricardo Wurmus writes:
>>
>>> Roel Janssen <roel@gnu.org> writes:
>>>
>>>> * gnu/packages/bioinformatics.scm (r-rbgl): New variable.
>>>> ---
>>>>  gnu/packages/bioinformatics.scm | 24 ++++++++++++++++++++++++
>>>>  1 file changed, 24 insertions(+)
>>>>
>>>> diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
>>>> index ffb9692..3d607cc 100644
>>>> --- a/gnu/packages/bioinformatics.scm
>>>> +++ b/gnu/packages/bioinformatics.scm
>>>> @@ -5309,6 +5309,30 @@ packages.")
>>>>  CRAN, and (some) github packages.")
>>>>      (license license:artistic2.0)))
>>>>  
>>>> +(define-public r-rbgl
>>>> +  (package
>>>> +    (name "r-rbgl")
>>>> +    (version "1.49.3")
>>>> +    (source (origin
>>>> +              (method url-fetch)
>>>> +              (uri (string-append
>>>> +                    "https://bioconductor.org/packages/3.4/bioc/src/contrib/"
>>>> +                    "RBGL_" version ".tar.gz"))
>>>
>>> Shouldn’t this be “(bioconductor-uri "RBGL" version)”?
>>
>> You are right, it should be “(bioconductor-uri "RBGL" version)”.
>
> Okay.  I’ll make the change before pushing.

If you want I can do the modifications as well and push.  Saves you some
valuable time :)

>>>> +              (sha256
>>>> +               (base32
>>>> +                "0rpiqpalbxk82jkwv3l0fimq9y2hrdi0f7ca4v21318541vfsncs"))))
>>>> +    (properties
>>>> +     `((upstream-name . "RBGL")))
>>>> +    (build-system r-build-system)
>>>> +    (propagated-inputs
>>>> +     `(("r-graph" ,r-graph)))
>>>> +    (home-page "http://bioconductor.org/packages/RBGL")
>>>> +    (synopsis "Interface to the graph algorithms from Boost")
>>>> +    (description
>>>> +     "This package provides a fairly extensive and comprehensive interface to
>>>> +the graph algorithms contained in the Boost library.")
>>>> +    (license license:artistic2.0)))
>>>> +
>>>
>>> This package looks very familiar.  Chances are that I packaged this
>>> already and forgot about it… :)
>>
>> Do you whether you stripped the Boost source code in this package and
>> used the Boost library from Guix?  I wanted to do so, but couldn't
>> figure out how it gets build!  Plus, they use Boost 1.61.0 on this RBGL
>> release, and we are stuck at 1.60.0.
>
> I didn’t try to swap out the sources.  In my opinion this should be
> treated as a fork.  It’s a subset of Boost with R-specific adaptations.
> Other R packages may depend on this particular “flavour” and might not
> work well otherwise.
>
> If someone made the effort to change this, it would need to be checked
> each time we updated our Boost package.  I don’t think we have the
> infrastructure to keep track of these things, so I’d rather err on the
> side of keeping things as upstream has them.

Right.  I didn't compare the original boost sources with the one
provided with the RBGL package, so I didn't know there were differences
in code.

I agree to keep the "forked" Boost code instead of using the upstream
Boost code for additional reasons:

1. It makes the package recipe much simpler.
2. It keeps the package as the maintainer of RBGL meant to distribute
it.  The compile-time overhead is manageable (building the package on my
machine takes less than ten minutes).

I will take care of upstreaming this package and the other six I proposed.

Kind regards,
Roel Janssen
Ricardo Wurmus Sept. 19, 2016, 1 p.m. UTC | #5
Roel Janssen <roel@gnu.org> writes:

>> Okay.  I’ll make the change before pushing.
>
> If you want I can do the modifications as well and push.  Saves you some
> valuable time :)

Yes, that would be best.  I forgot that you already have push access! :)

>> I didn’t try to swap out the sources.  In my opinion this should be
>> treated as a fork.  It’s a subset of Boost with R-specific adaptations.
>> Other R packages may depend on this particular “flavour” and might not
>> work well otherwise.
>>
>> If someone made the effort to change this, it would need to be checked
>> each time we updated our Boost package.  I don’t think we have the
>> infrastructure to keep track of these things, so I’d rather err on the
>> side of keeping things as upstream has them.
>
> Right.  I didn't compare the original boost sources with the one
> provided with the RBGL package, so I didn't know there were differences
> in code.

I should state that I also don’t *know* if there are differences.  But I
know that “r-bh”, for example, does something similar and we decided not
to make it reuse the upstream Boost sources for similar reasons.

> I agree to keep the "forked" Boost code instead of using the upstream
> Boost code for additional reasons:
>
> 1. It makes the package recipe much simpler.
> 2. It keeps the package as the maintainer of RBGL meant to distribute
> it.  The compile-time overhead is manageable (building the package on my
> machine takes less than ten minutes).
>
> I will take care of upstreaming this package and the other six I proposed.

Okay.  Please take a quick look at my comments before pushing.

~~ Ricardo
Roel Janssen Sept. 19, 2016, 1:28 p.m. UTC | #6
Ricardo Wurmus writes:

> Roel Janssen <roel@gnu.org> writes:
>
>>> Okay.  I’ll make the change before pushing.
>>
>> If you want I can do the modifications as well and push.  Saves you some
>> valuable time :)
>
> Yes, that would be best.  I forgot that you already have push access! :)

Great, then I'll take care of it.

>>> I didn’t try to swap out the sources.  In my opinion this should be
>>> treated as a fork.  It’s a subset of Boost with R-specific adaptations.
>>> Other R packages may depend on this particular “flavour” and might not
>>> work well otherwise.
>>>
>>> If someone made the effort to change this, it would need to be checked
>>> each time we updated our Boost package.  I don’t think we have the
>>> infrastructure to keep track of these things, so I’d rather err on the
>>> side of keeping things as upstream has them.
>>
>> Right.  I didn't compare the original boost sources with the one
>> provided with the RBGL package, so I didn't know there were differences
>> in code.
>
> I should state that I also don’t *know* if there are differences.  But I
> know that “r-bh”, for example, does something similar and we decided not
> to make it reuse the upstream Boost sources for similar reasons.

Okay.  Then I will generate a diff between Boost-1.61.0 and this to see
whether there are any differences.  I could then add a comment to the
package to state whether this is the original Boost source or not.

>> I agree to keep the "forked" Boost code instead of using the upstream
>> Boost code for additional reasons:
>>
>> 1. It makes the package recipe much simpler.
>> 2. It keeps the package as the maintainer of RBGL meant to distribute
>> it.  The compile-time overhead is manageable (building the package on my
>> machine takes less than ten minutes).
>>
>> I will take care of upstreaming this package and the other six I proposed.
>
> Okay.  Please take a quick look at my comments before pushing.

Of course.  Your comments are much appreciated.  I need to slow down a
bit and think more about the synopsis and descriptions of packages.. :)

Thanks!

Kind regards,
Roel Janssen
diff mbox

Patch

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index ffb9692..3d607cc 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -5309,6 +5309,30 @@  packages.")
 CRAN, and (some) github packages.")
     (license license:artistic2.0)))
 
+(define-public r-rbgl
+  (package
+    (name "r-rbgl")
+    (version "1.49.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://bioconductor.org/packages/3.4/bioc/src/contrib/"
+                    "RBGL_" version ".tar.gz"))
+              (sha256
+               (base32
+                "0rpiqpalbxk82jkwv3l0fimq9y2hrdi0f7ca4v21318541vfsncs"))))
+    (properties
+     `((upstream-name . "RBGL")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-graph" ,r-graph)))
+    (home-page "http://bioconductor.org/packages/RBGL")
+    (synopsis "Interface to the graph algorithms from Boost")
+    (description
+     "This package provides a fairly extensive and comprehensive interface to
+the graph algorithms contained in the Boost library.")
+    (license license:artistic2.0)))
+
 (define-public r-dnacopy
   (package
     (name "r-dnacopy")