gnu: Add symengine.

* gnu/packages/algebra.scm (symengine): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
This commit is contained in:
Vinicius Monego 2020-06-24 10:16:55 -03:00 committed by Nicolas Goaziou
parent 48eeee818a
commit d0337a226b
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D

View file

@ -12,6 +12,7 @@
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -43,6 +44,7 @@ (define-module (gnu packages algebra)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages llvm)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
@ -946,6 +948,46 @@ (define-public lmfit
algorithms from the FORTRAN library MINPACK.")
(license license:bsd-2)))
(define-public symengine
(package
(name "symengine")
(version "0.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/symengine/symengine.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "129iv9maabmb42ylfdv0l0g94mcbf3y4q3np175008rcqdr8z6h1"))))
(build-system cmake-build-system)
(arguments
'(;; These are the suggested build options in the README.
#:configure-flags
'("-DCMAKE_BUILD_TYPE=Release"
"-DWITH_GMP=on"
"-DWITH_MPFR=on"
"-DWITH_MPC=on"
"-DINTEGER_CLASS=flint"
"-DWITH_LLVM=on"
"-DWITH_SYMENGINE_THREAD_SAFE=on"
"-DBUILD_SHARED_LIBS=on"))) ; also build libsymengine
(native-inputs
`(("llvm" ,llvm)))
(inputs
`(("flint" ,flint)
("gmp" ,gmp)
("mpc" ,mpc)
("mpfr" ,mpfr)))
(home-page "https://github.com/symengine/symengine")
(synopsis "Fast symbolic manipulation library")
(description "SymEngine is a standalone fast C++ symbolic manipulation
library. Optional thin wrappers allow usage of the library from other
languages.")
(license (list license:expat ; SymEngine
license:bsd-3)))) ; 3rd party code
(define-public eigen
(package
(name "eigen")