aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2019-12-06 22:31:05 +0100
committerAndreas Enge <andreas@enge.fr>2019-12-06 22:56:02 +0100
commit0ffc2d537d7080da2072df086400cb7f23462a36 (patch)
tree2bdb383faf4f94aeafc37f19a2177b1906384bf5 /gnu
parent0eb8f530d1d1483e92c695112ad23ab171499e2a (diff)
downloadguix-0ffc2d537d7080da2072df086400cb7f23462a36.tar.gz
guix-0ffc2d537d7080da2072df086400cb7f23462a36.zip
gnu: Add lrslib.
* gnu/packages/maths.scm (lrslib): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/maths.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 9051bcf84a..8364d528fd 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -483,6 +483,45 @@ in arbitrary dimension. It can also be used for the converse operation of
computing convex hulls.")
(license license:gpl2+)))
+(define-public lrslib
+ (package
+ (name "lrslib")
+ (version "7.0a")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/"
+ "lrslib-0"
+ (string-delete #\. version) ".tar.gz"))
+ (sha256
+ (base32
+ "034fa45r9hwx6ljmgpxk2872q34nklkalpdkc6s9hqw57rivi36k"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gmp" ,gmp)))
+ (arguments
+ `(#:tests? #f ; no check phase
+ #:make-flags `("CC=gcc"
+ ,(string-append "prefix=" (assoc-ref %outputs "out"))
+ "all-shared")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (substitute* "makefile"
+ (("-L \\.") "-L . -Wl,-rpath='$$ORIGIN/../lib'"))
+ #t)))))
+ (home-page "http://cgm.cs.mcgill.ca/~avis/C/lrs.html")
+ (synopsis "Convex hulls of polyhedra with exact arithmetic")
+ (description
+ "The C code of lrslib implements the reverse search algorithm for
+vertex enumeration and convex hull problems. Its input file format is
+compatible with cddlib. All computations are done exactly in either
+multiple precision or fixed integer arithmetic. Output is not stored
+in memory, so even problems with very large output sizes can sometimes
+be solved.")
+ (license license:gpl2+)))
+
(define-public arpack-ng
(package
(name "arpack-ng")