diff options
author | Andreas Enge <andreas@enge.fr> | 2013-01-13 14:27:16 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-01-13 23:14:28 +0100 |
commit | 90a6d47caa67c8ccc51dad750b6ccab923df1f8b (patch) | |
tree | 32eee2de14879a960381d33df476b8864f511d50 | |
parent | a53b000c7a97701c0f5462b6a4c0cc7b098ac7db (diff) | |
download | guix-90a6d47caa67c8ccc51dad750b6ccab923df1f8b.tar.gz guix-90a6d47caa67c8ccc51dad750b6ccab923df1f8b.zip |
distro: Add PARI/GP
* distro/packages/algebra.scm (pari-gp): New variable.
-rw-r--r-- | distro/packages/algebra.scm | 53 |
1 files changed, 51 insertions, 2 deletions
diff --git a/distro/packages/algebra.scm b/distro/packages/algebra.scm index 0cbc5c4597..dd89ec4302 100644 --- a/distro/packages/algebra.scm +++ b/distro/packages/algebra.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -20,6 +20,8 @@ (define-module (distro packages algebra) #:use-module (distro) #:use-module (distro packages multiprecision) + #:use-module (distro packages perl) + #:use-module (distro packages readline) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) @@ -54,7 +56,6 @@ multiplication routines such as Toom–Cook and the FFT. ") (license lgpl2.1+) (home-page "http://mpfrcx.multiprecision.org/"))) - (define-public fplll (package (name "fplll") @@ -101,3 +102,51 @@ as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.") (license gpl3+))) + +(define-public pari-gp + (package + (name "pari-gp") + (version "2.5.3") + (source (origin + (method url-fetch) + (uri (string-append + "http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-" + version ".tar.gz")) + (sha256 (base32 + "0zsjccnnv00kwj2gk3ww2v530kjin1rgj8p8hbl4pwcnwc7m68gl")))) + (build-system gnu-build-system) + (inputs `(("gmp" ,gmp) + ("perl" ,perl) + ("readline" ,readline))) + (arguments + (lambda (system) + `(#:make-flags '("gp") +;; FIXME: building the documentation requires tex; once this is available, +;; replace "gp" by "all" + #:test-target "dobench" + #:phases + (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (readline (assoc-ref inputs "readline")) + (gmp (assoc-ref inputs "gmp"))) + (zero? + (system* "./Configure" + (string-append "--prefix=" out) + (string-append "--with-readline=" readline) + (string-append "--with-gmp=" gmp))))) +;; FIXME: readline and gmp will be detected automatically in the next +;; stable release + %standard-phases)))) + (synopsis "PARI/GP, a computer algebra system for number theory") + (description + "PARI/GP is a widely used computer algebra system designed for fast +computations in number theory (factorisations, algebraic number theory, +elliptic curves...), but it also contains a large number of other useful +functions to compute with mathematical entities such as matrices, +polynomials, power series, algebraic numbers, etc., and a lot of +transcendental functions. +PARI is also available as a C library to allow for faster computations.") + (license gpl2+) + (home-page "http://pari.math.u-bordeaux.fr/"))) |