Message ID | 20200622010155.17641-1-monego@posteo.net |
---|---|
State | Accepted |
Headers | show |
Series | [bug#41995,1/2] gnu: Add symengine. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
Hello, Vinicius Monego <monego@posteo.net> writes: > * gnu/packages/algebra.scm (symengine): New variable. Thank you. I couldn't build it because gperftools currently has a failing test. > + '(#: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" IIUC correctly, these are the suggested build options in the README. It may be worth adding a comment about it since this looks a bit opinionated. > + "-DWITH_TCMALLOC=on"))) This does not belong to the set of suggested build options. Is there a particular reason to activate it? If so, would it make sense to add a comment about it? I also see there is a "BUILD_SHARED_LIBS" flag, off by default. Would it make sense to activate it? > + (license (list license:expat ;; SymEngine. > + license:bsd-3)))) ;; Third party code. In both comments, there should be a single semicolon and no full stop. Could you send an updated patch? Regards,
Hello Nicolas, > + "-DWITH_TCMALLOC=on"))) > > This does not belong to the set of suggested build options. Is there > a particular reason to activate it? If so, would it make sense to add > a comment about it? That was part of the optimized build suggestions. I removed it, since this feature is provided by gperftools and it's causing trouble. > I also see there is a "BUILD_SHARED_LIBS" flag, off by default. Would > it > make sense to activate it? The shared library is used by the Julia wrapper. I noticed that we have a Julia build system, so I enabled this too. The other suggestions were also applied.
Hello,
Vinicius Monego <monego@posteo.net> writes:
> The other suggestions were also applied.
I applied both patches. I had to fix indentation. You may want to find
out why it was off.
Thank you!
Regards,
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index b78e6ef304..ec381ac708 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -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 @@ #: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 @@ minimization and curve fitting. It is mature code, based on decades-old 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 + '(#: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" + "-DWITH_TCMALLOC=on"))) + (native-inputs + `(("gperftools" ,gperftools) + ("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)))) ;; Third party code. + (define-public eigen (package (name "eigen")