summaryrefslogtreecommitdiff
path: root/gnu/packages/algebra.scm
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2019-06-18 13:08:07 +0200
committerAndreas Enge <andreas@enge.fr>2019-06-18 19:57:05 +0200
commit4bf9cb405358ab21be0a6d8650c51567dd8da0f2 (patch)
tree70e81ff96091921cf2f1122763748d221e0ffa60 /gnu/packages/algebra.scm
parentf0fbb31d0175ec37f4c76addbfddf5a546361f6d (diff)
downloadpatches-4bf9cb405358ab21be0a6d8650c51567dd8da0f2.tar
patches-4bf9cb405358ab21be0a6d8650c51567dd8da0f2.tar.gz
gnu: Add fflas-ffpack.
* gnu/packages/algebra.scm (fflas-ffpack): New variable.
Diffstat (limited to 'gnu/packages/algebra.scm')
-rw-r--r--gnu/packages/algebra.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 449ca7b189..6b15df1e64 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -43,6 +43,7 @@
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
@@ -1134,3 +1135,53 @@ provides data-structures and templated classes for the manipulation of
compound objects, such as vectors, matrices and univariate polynomials.")
(license license:cecill-b)
(home-page "https://github.com/linbox-team/givaro")))
+
+(define-public fflas-ffpack
+ (package
+ (name "fflas-ffpack")
+ (version "2.4.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/linbox-team/fflas-ffpack")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ynbjd72qrwp0b4kpn0p5d7gddpvj8dlb5fwdxajr5pvkvi3if74"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("openblas" ,openblas)))
+ (propagated-inputs
+ `(("givaro" ,givaro))) ; required according to the .pc file
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-blas-libs="
+ (assoc-ref %build-inputs "openblas")
+ "/lib/libopenblas.so"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'setenv
+ ;; Prevent the autogen.sh script to carry out the configure
+ ;; script, which has not yet been patched to replace /bin/sh.
+ (lambda _
+ (setenv "NOCONFIGURE" "yes")
+ #t)))))
+ (synopsis "C++ library for linear algebra over finite fields")
+ (description
+ "FFLAS-FFPACK is a C++ template library for basic linear algebra
+operations over a finite field.
+FFLAS (Finite Field Linear Algebra Subprograms) provides the implementation
+of a subset of routines of the numerical BLAS; it also supports sparse
+matrix-vector products.
+FFPACK (Finite Field Linear Algebra Package) is inspired by the LAPACK
+library to provide functionalities of higher level, using the kernel
+of a BLAS. Additionally, it provides routines specific to exact linear
+algebra, such as the row echelon form.")
+ (license license:lgpl2.1+)
+ (home-page "https://linbox-team.github.io/fflas-ffpack/")))