aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/algebra.scm41
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 0b291106ad..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)
@@ -281,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")