aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2013-01-13 14:27:16 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-13 23:14:28 +0100
commit90a6d47caa67c8ccc51dad750b6ccab923df1f8b (patch)
tree32eee2de14879a960381d33df476b8864f511d50
parenta53b000c7a97701c0f5462b6a4c0cc7b098ac7db (diff)
downloadguix-90a6d47caa67c8ccc51dad750b6ccab923df1f8b.tar.gz
guix-90a6d47caa67c8ccc51dad750b6ccab923df1f8b.zip
distro: Add PARI/GP
* distro/packages/algebra.scm (pari-gp): New variable.
-rw-r--r--distro/packages/algebra.scm53
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/")))