;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2018, 2020 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018, 2019, 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
-;;; Copyright © 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017, 2019 Arun Isaac <arunisaac@systemreboot.net>
#t))))))
(synopsis "Management suite for data with parallel IO support")))
+(define-public hdf5-blosc
+ (package
+ (name "hdf5-blosc")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Blosc/hdf5-blosc.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1nj2bm1v6ymm3fmyvhbn6ih5fgdiapavlfghh1pvbmhw71cysyqs"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-DBLOSC_INSTALL_DIR="
+ (assoc-ref %build-inputs "c-blosc"))
+ (string-append "-DPLUGIN_INSTALL_PATH="
+ (assoc-ref %outputs "out")
+ "/hdf5/lib/plugin"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'do-not-build-blosc
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("set\\(BLOSC_INSTALL_DIR.*") "")
+ (("ExternalProject_Add\\(project_blosc") "message("))
+ #t)))))
+ (inputs
+ `(("c-blosc" ,c-blosc)
+ ("hdf5" ,hdf5-1.10)))
+ (home-page "https://github.com/Blosc/hdf5-blosc")
+ (synopsis "Filter for HDF5 using the Blosc compressor")
+ (description "This is a filter for HDF5 that uses the Blosc compressor; by
+installing this filter, you can read and write HDF5 files with
+Blosc-compressed datasets.")
+ (license license:expat)))
+
(define-public h5check
(package
(name "h5check")
(define-public glm
(package
(name "glm")
- (version "0.9.9.6")
+ (version "0.9.9.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/g-truc/glm/releases/download/"
version "/glm-" version ".zip"))
(sha256
- (base32 "1l0pi1qi37mk6s0yrkrw07lspv4gcqnr9ryg3521hrl77ff37dwx"))
- (patches (search-patches "glm-restore-install-target.patch"))))
+ (base32 "0k6yk9v46h690rshdx49x98y5qspkzibld1wb51jwcm35vba7qip"))))
(build-system cmake-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Since version 0.9.9.6, 'make install' is not supported
+ ;; and we have to do it "manually". Upstream discussion:
+ ;; <https://github.com/g-truc/glm/pull/968>.
+ (let* ((source (string-append "../glm"))
+ (out (assoc-ref outputs "out"))
+ (inc (string-append out "/include"))
+ (lib (string-append out "/lib"))
+ (pkgconfig (string-append lib "/pkgconfig")))
+ (with-directory-excursion source
+ (mkdir-p inc)
+ (mkdir-p pkgconfig)
+ (copy-recursively "glm" (string-append inc "/glm"))
+ (copy-recursively "cmake" (string-append lib "/cmake"))
+ (call-with-output-file (string-append pkgconfig "/glm.pc")
+ (lambda (port)
+ (format port
+ "prefix=~a
+includedir=${prefix}/include
+
+Name: GLM
+Description: OpenGL Mathematics
+Version: ~a
+Cflags: -I${includedir}~%" out ,(version-prefix version 3)))))
+ #t))))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "https://glm.g-truc.net/")
(define-public flann
(package
(name "flann")
- (version "1.8.4")
+ (version "1.9.1")
+ (home-page "https://github.com/mariusmuja/flann/")
(source
(origin
- (method url-fetch)
- (uri
- (string-append
- "http://www.cs.ubc.ca/research/flann/uploads/FLANN/flann-"
- version "-src.zip"))
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "022w8hph7bli5zbpnk3z1qh1c2sl5hm8fw2ccim651ynn0hr7fyz"))
+ "0p56fl2yx1r86ds1mgjq40926jdcgq3hka7p3l1hv2acv9jxp15x"))
(patches (search-patches "flann-cmake-3.11.patch"))))
(build-system cmake-build-system)
- (outputs '("out"
- "octave")) ;46 MiB .mex file that pulls Octave
+ (outputs '("out"))
(native-inputs
`(("unzip" ,unzip)))
(inputs
`(("hdf5" ,hdf5)
- ("octave" ,octave-cli)
+ ;; FIXME: 'mkoctfile' fails with a linker error:
+ ;; ld: cannot find -loctinterp
+ ;; ld: cannot find -loctave
+ ;; Disable it for now.
+ ;;("octave" ,octave-cli)
("python" ,python-2) ; print syntax
;; ("python2-numpy" ,python2-numpy) ; only required for the tests
("zlib" ,zlib)))
;; Save 12 MiB by not installing .a files. Passing
;; '-DBUILD_STATIC_LIBS=OFF' has no effect.
#:phases (modify-phases %standard-phases
- (add-before 'configure 'set-octave-directory
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Install the .mex file in the "octave" output.
- (let ((out (assoc-ref outputs "octave")))
- (substitute* "src/matlab/CMakeLists.txt"
- (("share/flann/octave")
- (string-append out "/share/flann/octave")))
- #t)))
(add-after 'install 'remove-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
#t))))
#:tests? #f)) ; The test data are downloaded from the Internet.
- (home-page "http://www.cs.ubc.ca/research/flann/")
(synopsis "Library for approximate nearest neighbors computation")
(description "FLANN is a library for performing fast approximate
nearest neighbor searches in high dimensional spaces. It implements a