[bug#36800,11/11] gnu: Add r-depecher.
diff mbox series

Message ID 20190724182204.6818-12-zimon.toutoune@gmail.com
State New
Headers show
Series
  • Add r packages to process flow cytometry data
Related show

Commit Message

zimoun July 24, 2019, 6:22 p.m. UTC
* gnu/packages/bioconductor.scm (r-depecher): New variable.
---
 gnu/packages/bioconductor.scm | 44 +++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

Comments

Ricardo Wurmus July 24, 2019, 8:49 p.m. UTC | #1
zimoun <zimon.toutoune@gmail.com> writes:

> * gnu/packages/bioconductor.scm (r-depecher): New variable.

This package cannot actually be built:

--8<---------------cut here---------------start------------->8---
…
if test -e "/usr/bin/strip" & test -e "/bin/uname" & [[ `uname` == "Linux" ]] ; then /usr/bin/strip --strip-debug DepecheR.so; fi
/gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash: /usr/bin/strip: No such file or directory
make: *** [Makevars:6: strippedLib] Error 127
ERROR: compilation failed for package ‘DepecheR’
* removing ‘/gnu/store/pgjzdxwn0nyanx9lvp6i9rxflabh3k21-r-depecher-1.0.3/site-library/DepecheR’
Backtrace:
           4 (primitive-load "/gnu/store/f1ky8a22c7s5p053nci05a536j7…")
In ice-9/eval.scm:
   191:35  3 (_ #f)
In srfi/srfi-1.scm:
   863:16  2 (every1 #<procedure 725d80 at /gnu/store/4p2vk30zhkwxq…> …)
In /gnu/store/4p2vk30zhkwxqdkydn1572qz70jgvl55-module-import/guix/build/gnu-build-system.scm:
   799:28  1 (_ _)
In /gnu/store/4p2vk30zhkwxqdkydn1572qz70jgvl55-module-import/guix/build/utils.scm:
    616:6  0 (invoke _ . _)

/gnu/store/4p2vk30zhkwxqdkydn1572qz70jgvl55-module-import/guix/build/utils.scm:616:6: In procedure invoke:
Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "R" arguments: ("CMD" "INSTALL" "--install-tests" "--library=/gnu/store/pgjzdxwn0nyanx9lvp6i9rxflabh3k21-r-depecher-1.0.3/site-library/" "--built-timestamp=1970-01-01" ".") exit-status: 1 term-signal: #f stop-signal: #f] 7c4ec0>)'.
builder for `/gnu/store/mwcdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv' failed with exit code 1
build of /gnu/store/mwcdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv failed
View build log at '/var/log/guix/drvs/mw/cdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv.bz2'.
guix build: error: build of `/gnu/store/mwcdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv' failed
--8<---------------cut here---------------end--------------->8---

I’ll modify the build phases to patch out this call to /usr/bin/strip.
zimoun July 25, 2019, 9:54 a.m. UTC | #2
Hi Ricardo,

Thank you for your quick feedback.

On Wed, 24 Jul 2019 at 22:50, Ricardo Wurmus <rekado@elephly.net> wrote:
>
> zimoun <zimon.toutoune@gmail.com> writes:
>
> > * gnu/packages/bioconductor.scm (r-depecher): New variable.
>
> This package cannot actually be built:

Sorry for the annoyance.
I missed `--pure` when I built the package.


> --8<---------------cut here---------------start------------->8---
> …
> if test -e "/usr/bin/strip" & test -e "/bin/uname" & [[ `uname` == "Linux" ]] ; then /usr/bin/strip --strip-debug DepecheR.so; fi
> /gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash: /usr/bin/strip: No such file or directory
> make: *** [Makevars:6: strippedLib] Error 127
> ERROR: compilation failed for package ‘DepecheR’
> * removing ‘/gnu/store/pgjzdxwn0nyanx9lvp6i9rxflabh3k21-r-depecher-1.0.3/site-library/DepecheR’
> Backtrace:
>            4 (primitive-load "/gnu/store/f1ky8a22c7s5p053nci05a536j7…")
> In ice-9/eval.scm:
>    191:35  3 (_ #f)
> In srfi/srfi-1.scm:
>    863:16  2 (every1 #<procedure 725d80 at /gnu/store/4p2vk30zhkwxq…> …)
> In /gnu/store/4p2vk30zhkwxqdkydn1572qz70jgvl55-module-import/guix/build/gnu-build-system.scm:
>    799:28  1 (_ _)
> In /gnu/store/4p2vk30zhkwxqdkydn1572qz70jgvl55-module-import/guix/build/utils.scm:
>     616:6  0 (invoke _ . _)
>
> /gnu/store/4p2vk30zhkwxqdkydn1572qz70jgvl55-module-import/guix/build/utils.scm:616:6: In procedure invoke:
> Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "R" arguments: ("CMD" "INSTALL" "--install-tests" "--library=/gnu/store/pgjzdxwn0nyanx9lvp6i9rxflabh3k21-r-depecher-1.0.3/site-library/" "--built-timestamp=1970-01-01" ".") exit-status: 1 term-signal: #f stop-signal: #f] 7c4ec0>)'.
> builder for `/gnu/store/mwcdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv' failed with exit code 1
> build of /gnu/store/mwcdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv failed
> View build log at '/var/log/guix/drvs/mw/cdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv.bz2'.
> guix build: error: build of `/gnu/store/mwcdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv' failed
> --8<---------------cut here---------------end--------------->8---
>
> I’ll modify the build phases to patch out this call to /usr/bin/strip.

Just to understand, you mean patch the file `DepecheR/src/Makevars` to
remove the absolute path `/usr/bin/strip` to simply `strip`. Right?


All the best,
simon
Ricardo Wurmus July 25, 2019, 12:45 p.m. UTC | #3
Hi,

> On Wed, 24 Jul 2019 at 22:50, Ricardo Wurmus <rekado@elephly.net> wrote:
>>
>> zimoun <zimon.toutoune@gmail.com> writes:
>>
>> > * gnu/packages/bioconductor.scm (r-depecher): New variable.
>>
>> This package cannot actually be built:
>
> Sorry for the annoyance.
> I missed `--pure` when I built the package.

You don’t need “--pure” because /usr won’t be available in the build
environment either way.

>> --8<---------------cut here---------------start------------->8---
>> …
>> if test -e "/usr/bin/strip" & test -e "/bin/uname" & [[ `uname` == "Linux" ]] ; then /usr/bin/strip --strip-debug DepecheR.so; fi
>> /gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash: /usr/bin/strip: No such file or directory
>> make: *** [Makevars:6: strippedLib] Error 127
>> ERROR: compilation failed for package ‘DepecheR’
>> * removing ‘/gnu/store/pgjzdxwn0nyanx9lvp6i9rxflabh3k21-r-depecher-1.0.3/site-library/DepecheR’
>> Backtrace:
>>            4 (primitive-load "/gnu/store/f1ky8a22c7s5p053nci05a536j7…")
>> In ice-9/eval.scm:
>>    191:35  3 (_ #f)
>> In srfi/srfi-1.scm:
>>    863:16  2 (every1 #<procedure 725d80 at /gnu/store/4p2vk30zhkwxq…> …)
>> In /gnu/store/4p2vk30zhkwxqdkydn1572qz70jgvl55-module-import/guix/build/gnu-build-system.scm:
>>    799:28  1 (_ _)
>> In /gnu/store/4p2vk30zhkwxqdkydn1572qz70jgvl55-module-import/guix/build/utils.scm:
>>     616:6  0 (invoke _ . _)
>>
>> /gnu/store/4p2vk30zhkwxqdkydn1572qz70jgvl55-module-import/guix/build/utils.scm:616:6: In procedure invoke:
>> Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "R" arguments: ("CMD" "INSTALL" "--install-tests" "--library=/gnu/store/pgjzdxwn0nyanx9lvp6i9rxflabh3k21-r-depecher-1.0.3/site-library/" "--built-timestamp=1970-01-01" ".") exit-status: 1 term-signal: #f stop-signal: #f] 7c4ec0>)'.
>> builder for `/gnu/store/mwcdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv' failed with exit code 1
>> build of /gnu/store/mwcdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv failed
>> View build log at '/var/log/guix/drvs/mw/cdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv.bz2'.
>> guix build: error: build of `/gnu/store/mwcdvlm6f17i81m16w131042cmvlfh5m-r-depecher-1.0.3.drv' failed
>> --8<---------------cut here---------------end--------------->8---
>>
>> I’ll modify the build phases to patch out this call to /usr/bin/strip.
>
> Just to understand, you mean patch the file `DepecheR/src/Makevars` to
> remove the absolute path `/usr/bin/strip` to simply `strip`. Right?

The Makevars file contains a syntax error.  Instead of joining the
checks with “&&” they used “&” which is for background execution.  So
instead of checking things and proceeding only if the checks passed they
would attempt to execute /usr/bin/strip unconditionally.

I only replaced the & with the intended &&, so now the check for
/usr/bin/strip fails and it’s not executed, which is just fine.

Patch
diff mbox series

diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 64625aedd4..7c9a3b7417 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -5013,3 +5013,47 @@  data sets: N-integration with variants of Generalised Canonical Correlation
 Analysis and P-integration with variants of multi-group Partial Least
 Squares.")
     (license license:gpl2+)))
+
+(define-public r-depecher
+  (package
+    (name "r-depecher")
+    (version "1.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (bioconductor-uri "DepecheR" version))
+        (sha256
+          (base32
+            "0qj2h2a50fncppvi2phh0mbivxkn1mv702mqpi9mvvkf3bzq8m0h"))))
+    (properties `((upstream-name . "DepecheR")))
+    (build-system r-build-system)
+    (propagated-inputs
+      `(("r-beanplot" ,r-beanplot)
+        ("r-biocparallel" ,r-biocparallel)
+        ("r-dosnow" ,r-dosnow)
+        ("r-dplyr" ,r-dplyr)
+        ("r-foreach" ,r-foreach)
+        ("r-ggplot2" ,r-ggplot2)
+        ("r-gplots" ,r-gplots)
+        ("r-mass" ,r-mass)
+        ("r-matrixstats" ,r-matrixstats)
+        ("r-mixomics" ,r-mixomics)
+        ("r-moments" ,r-moments)
+        ("r-rcpp" ,r-rcpp)
+        ("r-rcppeigen" ,r-rcppeigen)
+        ("r-reshape2" ,r-reshape2)
+        ("r-viridis" ,r-viridis)))
+    (home-page
+      "https://bioconductor.org/packages/DepecheR")
+    (synopsis
+      "Determination of essential phenotypic elements of clusters in high-dimensional entities")
+    (description
+     "The purpose of this package is to identify traits in a dataset that can
+separate groups.  This is done on two levels.  First, clustering is performed,
+using an implementation of sparse K-means.  Secondly, the generated clusters
+are used to predict outcomes of groups of individuals based on their
+distribution of observations in the different clusters.  As certain clusters
+with separating information will be identified, and these clusters are defined
+by a sparse number of variables, this method can reduce the complexity of
+data, to only emphasize the data that actually matters.")
+    (license license:expat)))