gnu: Add Eigen.
* gnu/packages/algebra.scm (eigen): New variable.
This commit is contained in:
parent
ae1ab9fe82
commit
8f4b1dfb77
|
@ -1,6 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2012, 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2012, 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -29,6 +29,7 @@
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix utils))
|
#:use-module (guix utils))
|
||||||
|
|
||||||
|
|
||||||
|
@ -345,3 +346,57 @@ cosine/ sine transforms or DCT/DST).")
|
||||||
(description
|
(description
|
||||||
(string-append (package-description fftw)
|
(string-append (package-description fftw)
|
||||||
" With OpenMPI parallelism support."))))
|
" With OpenMPI parallelism support."))))
|
||||||
|
|
||||||
|
(define-public eigen
|
||||||
|
(package
|
||||||
|
(name "eigen")
|
||||||
|
(version "3.2.3")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://bitbucket.org/eigen/eigen/get/"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"14l5hlgxxymwyava5mx97ipyk3ma3alaj586aaz1xh1r700a7sxm"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
;; There are 3 test failures in the "unsupported" directory,
|
||||||
|
;; but maintainers say it's a known issue and it's unsupported
|
||||||
|
;; anyway, so just skip them.
|
||||||
|
'(substitute* "CMakeLists.txt"
|
||||||
|
(("add_subdirectory\\(unsupported\\)")
|
||||||
|
"# Do not build the tests for unsupported features.\n")))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
'(;; Turn off debugging symbols to save space.
|
||||||
|
#:build-type "Release"
|
||||||
|
|
||||||
|
;; Use 'make check', as per
|
||||||
|
;; <http://eigen.tuxfamily.org/index.php?title=Tests>.
|
||||||
|
#:test-target "check"
|
||||||
|
|
||||||
|
#:phases (alist-cons-before
|
||||||
|
'check 'build-tests
|
||||||
|
(lambda _
|
||||||
|
;; First build the tests, in parallel.
|
||||||
|
;; See <http://eigen.tuxfamily.org/index.php?title=Tests>.
|
||||||
|
(let* ((cores (current-processor-count))
|
||||||
|
(dash-j (format #f "-j~a" cores)))
|
||||||
|
;; These variables are supposed to be honored.
|
||||||
|
(setenv "EIGEN_MAKE_ARGS" dash-j)
|
||||||
|
(setenv "EIGEN_CTEST_ARGS" dash-j)
|
||||||
|
|
||||||
|
(zero? (system* "make" "buildtests" dash-j))))
|
||||||
|
%standard-phases)))
|
||||||
|
(home-page "http://eigen.tuxfamily.org")
|
||||||
|
(synopsis "C++ template library for linear algebra")
|
||||||
|
(description
|
||||||
|
"Eigen is a C++ template library for linear algebra: matrices, vectors,
|
||||||
|
numerical solvers, and related algorithms. It provides an elegant API based
|
||||||
|
on \"expression templates\". It is versatile: it supports all matrix sizes,
|
||||||
|
all standard numeric types, various matrix decompositions and geometry
|
||||||
|
features, and more.")
|
||||||
|
|
||||||
|
;; Most of the code is MPLv2, with a few files under LGPLv2.1+ or BSD-3.
|
||||||
|
;; See 'COPYING.README' for details.
|
||||||
|
(license mpl2.0)))
|
||||||
|
|
Loading…
Reference in New Issue