summaryrefslogtreecommitdiff
path: root/gnu/packages/algebra.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/algebra.scm')
-rw-r--r--gnu/packages/algebra.scm58
1 files changed, 48 insertions, 10 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 11fb460df5..a7455feb88 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -20,6 +20,7 @@
(define-module (gnu packages algebra)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages mpi)
@@ -133,17 +134,14 @@ solve the shortest vector problem.")
("readline" ,readline)))
(arguments
'(#:make-flags '("all")
- ;; FIXME: building the documentation requires tex; once this is
- ;; available, replace "gp" by "all"
#:test-target "dobench"
- #:phases
- (alist-replace
- 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (zero?
- (system* "./Configure" (string-append "--prefix=" out)))))
- %standard-phases)))
+ #:phases (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (zero?
+ (system* "./Configure"
+ (string-append "--prefix=" out)))))))))
(synopsis "PARI/GP, a computer algebra system for number theory")
(description
"PARI/GP is a widely used computer algebra system designed for fast
@@ -284,6 +282,46 @@ real and complex numbers, with automatic, rigorous error control.")
(license license:gpl2+)
(home-page "http://fredrikj.net/arb/")))
+(define-public ntl
+ (package
+ (name "ntl")
+ (version "9.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://shoup.net/ntl/ntl-"
+ version ".tar.gz"))
+ (sha256 (base32
+ "115frp5flyvw9wghz4zph1b3llmr5nbxk1skgsggckr81fh3gmxq"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("libtool" ,libtool)
+ ("perl" ,perl))) ; for configuration
+ ;; FIXME: Add optional input gf2x once available; then also add
+ ;; configure flag "NTL_GF2X_LIB=on".
+ (inputs
+ `(("gmp" ,gmp)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (chdir "src")
+ (system* "./configure"
+ (string-append "PREFIX=" (assoc-ref outputs "out"))
+ ;; Do not build especially for the build machine.
+ "NATIVE=off"
+ ;; Also do not tune to the build machine.
+ "WIZARD=off"
+ "SHARED=on")
+ #t)))))
+ (synopsis "C++ library for number theory")
+ (description
+ "NTL is a C++ library providing data structures and algorithms
+for manipulating signed, arbitrary length integers, and for vectors,
+matrices, and polynomials over the integers and over finite fields.")
+ (license license:gpl2+)
+ (home-page "http://shoup.net/ntl/")))
+
(define-public bc
(package
(name "bc")