summaryrefslogtreecommitdiff
path: root/libre/sagemath
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2016-02-01 02:10:38 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2016-02-01 02:21:14 -0300
commit29b827a60d0abd14d0da1b90a6e7122c372063cd (patch)
treebe96504f94cfb35b6d5e266fafc63fddfebc1a55 /libre/sagemath
parentf03af127be4b27db3ebeb614a5ac3a0a0d2f516e (diff)
sagemath-7.0-3.parabola1: updating version
* fix contour plots with matplotlib 1.5.1 * drop old patches * bundle a pexpect git snapshot
Diffstat (limited to 'libre/sagemath')
-rw-r--r--libre/sagemath/PKGBUILD45
-rw-r--r--libre/sagemath/contour.patch11
-rw-r--r--libre/sagemath/pexpect-del.patch15
-rw-r--r--libre/sagemath/pexpect-env.patch32
4 files changed, 30 insertions, 73 deletions
diff --git a/libre/sagemath/PKGBUILD b/libre/sagemath/PKGBUILD
index 3a16be1b6..663476df9 100644
--- a/libre/sagemath/PKGBUILD
+++ b/libre/sagemath/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 153716 2015-12-19 11:03:07Z arojas $
+# $Id: PKGBUILD 159626 2016-01-30 19:54:42Z arojas $
# Maintainer (Arch): Evgeniy Alekseev <arcanis.arch at gmail dot com>
# Maintainer (Arch): Antonio Rojas <arojas@archlinux.org>
# Contributor (Arch): Daniel Wallace <danielwallace at gtmanfred dot com>
@@ -10,13 +10,13 @@
# Maintainer: André Silva <emulatorman@parabola.nu>
pkgname=sagemath
-pkgver=6.10
-pkgrel=2.parabola1
+pkgver=7.0
+pkgrel=3.parabola1
pkgdesc="Free Mathematics Software, free software replacement of Magma, Maple, Mathematica, and Matlab, without nonfree nauty recommendation"
arch=(i686 x86_64)
url="http://www.sagemath.org"
license=(GPL)
-depends=(ipython2 atlas-lapack ppl mpfi palp brial singular libcliquer maxima-ecl gfan sympow tachyon python2-rpy2
+depends=(ipython2 atlas-lapack ppl mpfi palp brial singular cliquer maxima-ecl gfan sympow tachyon python2-rpy2
python2-matplotlib python2-scipy python2-sympy python2-networkx python2-igraph libgap flintqs lcalc lrcalc lrs arb
eclib gmp-ecm zn_poly gd python2-cvxopt pynac linbox gsl rubiks pari-galdata pari-seadata-small planarity rankwidth
sage-data-combinatorial_designs sage-data-elliptic_curves sage-data-graphs sage-data-polytopes_db sage-data-conway_polynomials)
@@ -25,30 +25,29 @@ optdepends=('cython2: to compile cython code' 'jmol: 3D plots' 'sage-notebook: B
'coin-or-cbc: COIN backend for numerical computations'
'buckygen: for generating fullerene graphs' 'plantri: for generating some classes of graphs' 'benzene: for generating fusenes and benzenoids'
'modular_decomposition: modular decomposition of graphs' 'ffmpeg: to export animations to video' 'imagemagick: to show animations'
- 'coxeter3: Coxeter groups implementation' 'cryptominisat: SAT solver')
+ 'coxeter3: Coxeter groups implementation' 'cryptominisat: SAT solver' 'gap-data: for computing Galois groups')
makedepends=(cython2 boost ratpoints symmetrica fflas-ffpack python2-jinja coin-or-cbc
mcqd coxeter3 cryptominisat modular_decomposition bliss-graphs tdlib) # libfes
conflicts=(sage-mathematics)
replaces=(sage-mathematics)
provides=(sage-mathematics)
-source=("$pkgname-$pkgver.tar.gz::https://github.com/sagemath/sage/archive/$pkgver.tar.gz"
- "http://mirrors.mit.edu/sage/spkg/upstream/pexpect/pexpect-2.0.tar.bz2"
+source=("$pkgname-$pkgver.tar.gz::https://github.com/sagemath/sage/archive/$pkgver.tar.gz"
+ pexpect.zip::"https://github.com/pexpect/pexpect/archive/524495960dd8898ddd30f7ba37298de51beee773.zip"
anal.h package.patch env.patch paths.patch clean.patch skip-check.patch
- pexpect-env.patch pexpect-del.patch disable-fes.patch jupyter-path.patch test-optional.patch python-2.7.11.patch)
-md5sums=('3c92d9cc67e2be5bc7802427e84b9b71'
- 'd9a3e113ed147dcee8f89962a8dccd43'
+ disable-fes.patch jupyter-path.patch test-optional.patch python-2.7.11.patch contour.patch)
+md5sums=('34807a7cf5dd79c008abd377ba1427fa'
+ 'a346bb2c0350c1cb17d5325235c5e38a'
'a906a180d198186a39820b0a2f9a9c63'
'9ba81f717ffd4e20b8b2f2a318307488'
'e1b1d0d2e6b187309ae2b74489356b9a'
'fd8e3e07f5b7318e6a7200a3c64f5bc2'
'6d9ae0978ce6a05a0da2cafdfb178a09'
'5947a420a0b1483f0cbc74c76895789b'
- 'a83a3b1bc7fcb7cbf752a83a8311fc42'
- 'f333939ea6c41377b66407c81016cee4'
'4eb23a3c7363258bc9ba764d6e5512ba'
'16b529194c6105c3364127bd8f1efa83'
'cdcabd475b80afe0534a5621e972736e'
- 'ef927896f2071b442b1d07d7e69f5f3a')
+ 'ef927896f2071b442b1d07d7e69f5f3a'
+ '930cb987f63fd465a3a7123b0f5c2b85')
prepare(){
cd sage-$pkgver
@@ -81,6 +80,8 @@ prepare(){
patch -p0 -i ../jupyter-path.patch
# fix timeit with Python 2.7.11
patch -p0 -i ../python-2.7.11.patch
+# fix contour plots with matplotlib 1.5.1
+ patch -p0 -i ../contour.patch
# Upstream patches
# fix build against libfes 0.2 http://trac.sagemath.org/ticket/15209
@@ -101,12 +102,6 @@ prepare(){
# remove developer interface
rm -r src/sage/dev
-
- cd "$srcdir"/pexpect-2.0
-# fix env in pexpect
- patch -p1 -i ../pexpect-env.patch
-# hide exceptions in pexpect
- patch -p1 -i ../pexpect-del.patch
}
@@ -122,10 +117,8 @@ build() {
python2 setup.py build
-# build pexpect
- pushd "$srcdir"/pexpect-2.0
- python2 setup.py build
- popd
+ cd "$srcdir"/pexpect-*
+ python2 setup.py build
}
package() {
@@ -155,9 +148,9 @@ package() {
# Create SAGE_SRC, needed for the notebook
mkdir "$pkgdir"/usr/share/sage/source
-# Install Sage's own pexpect
- cd "$srcdir"/pexpect-2.0
+# install pexpect
+ cd "$srcdir"/pexpect-*
python2 setup.py install --root="$pkgdir" --optimize=1
mkdir -p "$pkgdir"/usr/lib/sage/site-packages/
- mv "$pkgdir"/usr/lib/python2.7/site-packages/pexpect* "$pkgdir"/usr/lib/sage/site-packages/
+ mv "$pkgdir"/usr/lib/python2.7/site-packages/pexpect "$pkgdir"/usr/lib/sage/site-packages/
}
diff --git a/libre/sagemath/contour.patch b/libre/sagemath/contour.patch
new file mode 100644
index 000000000..f63955f8d
--- /dev/null
+++ b/libre/sagemath/contour.patch
@@ -0,0 +1,11 @@
+--- src/sage/plot/contour_plot.py.orig 2016-01-20 15:01:00.077409793 +0100
++++ src/sage/plot/contour_plot.py 2016-01-20 15:01:22.591370847 +0100
+@@ -568,7 +568,7 @@
+ g.add_primitive(ContourPlot(xy_data_array, xrange, yrange, options))
+ return g
+
+-@options(plot_points=150, contours=(0,0), fill=False, cmap=["blue"])
++@options(plot_points=150, contours=(0,1e-20), fill=False, cmap=["blue"])
+ def implicit_plot(f, xrange, yrange, **options):
+ r"""
+ ``implicit_plot`` takes a function of two variables, `f(x,y)`
diff --git a/libre/sagemath/pexpect-del.patch b/libre/sagemath/pexpect-del.patch
deleted file mode 100644
index 3019968d2..000000000
--- a/libre/sagemath/pexpect-del.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ru src/pexpect.py src.del/pexpect.py
---- src/pexpect.py 2005-11-17 15:36:09.000000000 +0100
-+++ src.del/pexpect.py 2012-01-13 10:24:01.000000000 +0100
-@@ -341,7 +341,10 @@
- """
- if self.closed:
- return
-- self.close()
-+ try:
-+ self.close()
-+ except:
-+ pass
-
- def __str__(self):
- """This returns the current state of the pexpect object as a string.
diff --git a/libre/sagemath/pexpect-env.patch b/libre/sagemath/pexpect-env.patch
deleted file mode 100644
index 99cf44885..000000000
--- a/libre/sagemath/pexpect-env.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -ru src.p4/pexpect.py src.new/pexpect.py
---- src.p4/pexpect.py 2009-01-23 11:01:57.000000000 +0100
-+++ src.new/pexpect.py 2012-01-12 13:38:06.000000000 +0100
-@@ -209,7 +209,7 @@
- Use this class to start and control child applications.
- """
-
-- def __init__(self, command, args=[], timeout=30, maxread=2000, searchwindowsize=None, logfile=None):
-+ def __init__(self, command, args=[], timeout=30, maxread=2000, searchwindowsize=None, logfile=None, env=None):
- """This is the constructor. The command parameter may be a string
- that includes a command and any arguments to the command. For example:
- p = pexpect.spawn ('/usr/bin/ftp')
-@@ -302,6 +302,7 @@
- self.child_fd = -1 # initially closed
- self.timeout = timeout
- self.delimiter = EOF
-+ self.env = env
- self.logfile = logfile
- self.maxread = maxread # Max bytes to read at one time into buffer.
- self.buffer = '' # This is the read buffer. See maxread.
-@@ -421,7 +422,10 @@
- # (specifically, Tomcat).
- signal.signal(signal.SIGHUP, signal.SIG_IGN)
-
-- os.execv(self.command, self.args)
-+ if self.env is None:
-+ os.execv(self.command, self.args)
-+ else:
-+ os.execve(self.command, self.args, self.env)
-
- # Parent
- self.terminated = 0