doc: Fix typo.
[jackhill/guix/guix.git] / gnu / packages / sagemath.scm
CommitLineData
adba6466
AE
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages sagemath)
20 #:use-module ((guix licenses) #:prefix license:)
21 #:use-module (guix packages)
22 #:use-module (guix download)
20caeea4 23 #:use-module (guix build-system gnu)
adba6466
AE
24 #:use-module (guix build-system python)
25 #:use-module (gnu packages algebra)
5e388a6e 26 #:use-module (gnu packages compression)
adba6466
AE
27 #:use-module (gnu packages multiprecision)
28 #:use-module (gnu packages python)
29 #:use-module (gnu packages python-xyz))
30
31
32(define-public python-cypari2
ff33c38c
AE
33 (package
34 (name "python-cypari2")
1e1a65a6 35 (version "2.1.1")
ff33c38c 36 (source
adba6466
AE
37 (origin
38 (method url-fetch)
39 (uri (pypi-uri "cypari2" version))
40 (sha256
ff33c38c 41 (base32
1e1a65a6 42 "1nwkzgqvbw6361x0rpggy1q5nx663fswhpvg8md6xhqyfwpgc7nz"))))
ff33c38c
AE
43 (build-system python-build-system)
44 (native-inputs
adba6466 45 `(("python-cython" ,python-cython)))
ff33c38c 46 (propagated-inputs
adba6466 47 `(("python-cysignals" ,python-cysignals)))
ff33c38c 48 (inputs
adba6466
AE
49 `(("gmp" ,gmp)
50 ("pari-gp", pari-gp)))
ff33c38c
AE
51 (home-page "https://cypari2.readthedocs.io/")
52 (synopsis
adba6466 53 "Python interface to the number theory library libpari")
ff33c38c 54 (description
adba6466
AE
55 "Cypari2 provides a Python interface to the number theory library
56PARI/GP. It has been spun off from the SageMath mathematics software system,
57but it can be used independently.")
ff33c38c 58 (license license:gpl2+)))
adba6466
AE
59
60(define-public python2-cypari2
61 (package-with-python2 python-cypari2))
62
5e388a6e
AE
63;; The stable version of the following package is not young enough to be
64;; used with Sage, since it does not support cython. One would need to
65;; use an alpha release. On the other hand, Sage can be built without it.
66(define-public python-gmpy2
67 (package
af5ead8b
MB
68 (name "python-gmpy2")
69 (version "2.0.8")
70 (source (origin
71 (method url-fetch)
72 (uri (pypi-uri "gmpy2" version ".zip"))
73 (sha256
74 (base32
75 "0grx6zmi99iaslm07w6c2aqpnmbkgrxcqjrqpfq223xri0r3w8yx"))))
76 (build-system python-build-system)
77 (native-inputs
78 `(("unzip" ,unzip)))
79 (inputs
80 `(("gmp" ,gmp)
81 ("mpfr" ,mpfr)
82 ("mpc" ,mpc)))
83 (home-page "https://github.com/aleaxit/gmpy")
84 (synopsis
5e388a6e 85 "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x")
af5ead8b 86 (description
ec6f1a0e
AE
87 "This package provides a Python interface to the GNU multiprecision
88libraries GMO, MPFR and MPC.")
af5ead8b 89 (license license:lgpl3+)))
5e388a6e
AE
90
91(define-public python2-gmpy2
92 (package-with-python2 python-gmpy2))
20caeea4
AE
93
94(define-public cliquer
95 (package
96 (name "cliquer")
97 (version "1.21")
98 ;; The original source package is available from the home page and
99 ;; has not seen any release since 2010; it comes with only a Makefile
100 ;; without an "install" target. Instead, there is an autotoolized
101 ;; tarball available from the Sage project.
102 (source
103 (origin
104 (method url-fetch)
105 (uri "http://users.ox.ac.uk/~coml0531/sage/cliquer-1.21.tar.gz")
106 (sha256
107 (base32
108 "1hdzrmrx0nvvj8kbwxrs8swqgkd284khzl623jizixcv28xb77aq"))))
109 (build-system gnu-build-system)
110 (synopsis "C routines for finding cliques in weighted graphs")
111 (description "Cliquer is a set of reentrant C routines for finding
112cliques in a weighted or unweighted graph. It uses an exact
113branch-and-bound algorithm. It can search for maximum or maximum-weight
114cliques or cliques with size or weight within a given range, restrict the
115search to maximal cliques, store cliques in memory and call a user-defined
116function for every found clique.")
117 (license license:gpl2+)
118 (home-page "https://users.aalto.fi/~pat/cliquer.html")))