diff options
Diffstat (limited to 'gnu/packages/algebra.scm')
-rw-r--r-- | gnu/packages/algebra.scm | 58 |
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") |