summaryrefslogtreecommitdiff
path: root/gnu/packages/bioconductor.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bioconductor.scm')
-rw-r--r--gnu/packages/bioconductor.scm83
1 files changed, 83 insertions, 0 deletions
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 2796f4f90e..e7db82741d 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2020 Peter Lo <peterloleungyau@gmail.com>
;;; Copyright © 2020 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -8347,6 +8348,88 @@ routines.")
objects from the @code{graph} package.")
(license license:epl1.0)))
+(define-public r-rhdf5lib
+ (package
+ (name "r-rhdf5lib")
+ (version "1.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "Rhdf5lib" version))
+ (sha256
+ (base32
+ "0f45sqrvzj6x4mckalyp8366hm8v0rrmzklx3xd4gs6l2wallcn9"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete bundled binaries
+ (delete-file-recursively "src/wininclude/")
+ (delete-file-recursively "src/winlib-4.9.3/")
+ (delete-file-recursively "src/winlib-8.3.0/")
+ (delete-file "src/hdf5small_cxx_hl_1.10.6.tar.gz")
+ #t))))
+ (properties `((upstream-name . "Rhdf5lib")))
+ (build-system r-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'do-not-use-bundled-hdf5
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each delete-file '("configure" "configure.ac"))
+ ;; Do not make other packages link with the proprietary libsz.
+ (substitute* "R/zzz.R"
+ ((" \"%s/libsz.a\"") ""))
+ (with-directory-excursion "src"
+ (invoke "tar" "xvf" (assoc-ref inputs "hdf5-source"))
+ (rename-file (string-append "hdf5-" ,(package-version hdf5-1.10))
+ "hdf5")
+ ;; Remove timestamp and host system information to make
+ ;; the build reproducible.
+ (substitute* "hdf5/src/libhdf5.settings.in"
+ (("Configured on: @CONFIG_DATE@")
+ "Configured on: Guix")
+ (("Uname information:.*")
+ "Uname information: Linux\n")
+ ;; Remove unnecessary store reference.
+ (("C Compiler:.*")
+ "C Compiler: GCC\n"))
+ (rename-file "Makevars.in" "Makevars")
+ (substitute* "Makevars"
+ (("@ZLIB_LIB@") "-lz")
+ (("@ZLIB_INCLUDE@") "")
+ (("HDF5_CXX_LIB=.*")
+ (string-append "HDF5_CXX_LIB="
+ (assoc-ref inputs "hdf5") "/lib/libhdf5_cpp.a\n"))
+ (("HDF5_LIB=.*")
+ (string-append "HDF5_LIB="
+ (assoc-ref inputs "hdf5") "/lib/libhdf5.a\n"))
+ (("HDF5_CXX_INCLUDE=.*") "HDF5_CXX_INCLUDE=./hdf5/c++/src\n")
+ (("HDF5_INCLUDE=.*") "HDF5_INCLUDE=./hdf5/src\n")
+ (("HDF5_HL_INCLUDE=.*") "HDF5_HL_INCLUDE=./hdf5/hl/src\n")
+ (("HDF5_HL_CXX_INCLUDE=.*") "HDF5_HL_CXX_INCLUDE=./hdf5/hl/c++/src\n")
+ (("HDF5_HL_LIB=.*")
+ (string-append "HDF5_HL_LIB="
+ (assoc-ref inputs "hdf5") "/lib/libhdf5_hl.a\n"))
+ (("HDF5_HL_CXX_LIB=.*")
+ (string-append "HDF5_HL_CXX_LIB="
+ (assoc-ref inputs "hdf5") "/lib/libhdf5_hl_cpp.a\n"))
+ ;; szip is non-free software
+ (("cp \"\\$\\{SZIP_LIB\\}.*") "")
+ (("PKG_LIBS =.*") "PKG_LIBS = -lz -lhdf5\n")))
+ #t)))))
+ (inputs
+ `(("zlib" ,zlib)))
+ (propagated-inputs
+ `(("hdf5" ,hdf5-1.10)))
+ (native-inputs
+ `(("hdf5-source" ,(package-source hdf5-1.10))
+ ("r-knitr" ,r-knitr)))
+ (home-page "https://bioconductor.org/packages/Rhdf5lib")
+ (synopsis "HDF5 library as an R package")
+ (description "This package provides C and C++ HDF5 libraries for use in R
+packages.")
+ (license license:artistic2.0)))
+
(define-public r-beachmat
(package
(name "r-beachmat")