diff options
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 20 | ||||
-rw-r--r-- | sagemath-detect-igraph.patch | 21 | ||||
-rw-r--r-- | sagemath-networkx2.patch | 26 | ||||
-rw-r--r-- | sagemath-pynac-0.7.11.patch | 21 |
5 files changed, 65 insertions, 33 deletions
@@ -1,6 +1,6 @@ pkgbase = sagemath-git pkgdesc = Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab - pkgver = 8.1.beta4.r0.gf34394d84e + pkgver = 8.1.beta6.r0.g6cd99718a8 pkgrel = 1 url = http://www.sagemath.org arch = i686 @@ -89,6 +89,7 @@ pkgbase = sagemath-git optdepends = python2-pynormaliz: Normaliz backend for polyhedral computations optdepends = latte-integrale: integral point count in polyhedra optdepends = polymake: polymake backend for polyhedral computations + optdepends = meataxe: faster matrix arithmetic over finite fields optdepends = sirocco: for computing the fundamental group of the complement of a plane curve optdepends = three.js: alternative 3D plots engine optdepends = tachyon: alternative 3D plots engine @@ -102,7 +103,8 @@ pkgbase = sagemath-git source = r-no-readline.patch source = fes02.patch source = sagemath-ecl-no-sigfpe.patch - source = sagemath-pynac-0.7.11.patch + source = sagemath-detect-igraph.patch + source = sagemath-networkx2.patch sha256sums = SKIP sha256sums = e0b5b8673300857fde823209a7e90faecf9e754ab812cc5e54297eddc0c79571 sha256sums = 4a2297e4d9d28f0b3a1f58e1b463e332affcb109eafde44837b1657e309c8212 @@ -113,7 +115,8 @@ pkgbase = sagemath-git sha256sums = ef9f401fa84fe1772af9efee6816643534f2896da4c23b809937b19771bdfbbf sha256sums = a39da083c038ada797ffc5bedc9ba47455a3f77057d42f86484ae877ef9172ea sha256sums = c31809f887bf9acc45c5bd9dd30bb93e73601d3efbf3016594c3c1d241731c8a - sha256sums = 3e23ff449a5a3a032684287722455633762636b93ecfc35fb00e875c69eff240 + sha256sums = 90be1d1a90120bd5bd3620769480106ba809dd23e896bc4a3f8931e5340f3cda + sha256sums = a1a0ab5b794136b518f5f66fe9f1689411fabb3b81560b159eae81f6f69000e3 pkgname = sagemath-git optdepends = cython2: to compile cython code @@ -140,6 +143,7 @@ pkgname = sagemath-git optdepends = python2-pynormaliz: Normaliz backend for polyhedral computations optdepends = latte-integrale: integral point count in polyhedra optdepends = polymake: polymake backend for polyhedral computations + optdepends = meataxe: faster matrix arithmetic over finite fields optdepends = sirocco: for computing the fundamental group of the complement of a plane curve optdepends = three.js: alternative 3D plots engine optdepends = tachyon: alternative 3D plots engine @@ -8,7 +8,7 @@ pkgbase=sagemath-git pkgname=(sagemath-git sagemath-jupyter-git) -pkgver=8.1.beta4.r0.gf34394d84e +pkgver=8.1.beta6.r0.g6cd99718a8 pkgrel=1 pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab" arch=(i686 x86_64) @@ -29,13 +29,15 @@ optdepends=('cython2: to compile cython code' 'python2-pkgconfig: to compile cyt 'libhomfly: for computing the homfly polynomial of links' 'libbraiding: for computing in braid groups' 'libfes: exhaustive search of solutions for boolean equations' 'python2-pynormaliz: Normaliz backend for polyhedral computations' 'latte-integrale: integral point count in polyhedra' 'polymake: polymake backend for polyhedral computations' + 'meataxe: faster matrix arithmetic over finite fields' 'sirocco: for computing the fundamental group of the complement of a plane curve' 'three.js: alternative 3D plots engine' 'tachyon: alternative 3D plots engine') makedepends=(cython2 boost ratpoints symmetrica python2-jinja coin-or-cbc libhomfly libbraiding sirocco mcqd coxeter3 modular_decomposition bliss-graphs tdlib python2-pkgconfig meataxe libfes git) source=(git://git.sagemath.org/sage.git#branch=develop env.patch package.patch latte-count.patch jupyter-path.patch sagemath-python3-notebook.patch test-optional.patch - r-no-readline.patch fes02.patch sagemath-ecl-no-sigfpe.patch sagemath-pynac-0.7.11.patch) + r-no-readline.patch fes02.patch sagemath-ecl-no-sigfpe.patch + sagemath-detect-igraph.patch sagemath-networkx2.patch) sha256sums=('SKIP' 'e0b5b8673300857fde823209a7e90faecf9e754ab812cc5e54297eddc0c79571' '4a2297e4d9d28f0b3a1f58e1b463e332affcb109eafde44837b1657e309c8212' @@ -46,7 +48,8 @@ sha256sums=('SKIP' 'ef9f401fa84fe1772af9efee6816643534f2896da4c23b809937b19771bdfbbf' 'a39da083c038ada797ffc5bedc9ba47455a3f77057d42f86484ae877ef9172ea' 'c31809f887bf9acc45c5bd9dd30bb93e73601d3efbf3016594c3c1d241731c8a' - '3e23ff449a5a3a032684287722455633762636b93ecfc35fb00e875c69eff240') + '90be1d1a90120bd5bd3620769480106ba809dd23e896bc4a3f8931e5340f3cda' + 'a1a0ab5b794136b518f5f66fe9f1689411fabb3b81560b159eae81f6f69000e3') pkgver() { cd sage @@ -74,14 +77,16 @@ prepare(){ # fix Cremona database detection sed -e "s|is_package_installed('database_cremona_ellcurve')|os.path.exists('/usr/share/cremona/cremona.db')|" \ -i src/sage/databases/cremona.py +# fix python-igraph detection + patch -p1 -i ../sagemath-detect-igraph.patch +# adapt to networkx 2 changes + patch -p1 -i ../sagemath-networkx2.patch # Upstream patches # fix build against libfes 0.2 http://trac.sagemath.org/ticket/15209 patch -p1 -i ../fes02.patch # disable SIGFPE for ecl https://trac.sagemath.org/ticket/22191 - patch -p1 -i ../sagemath-ecl-no-sigfpe.patch -# fix build with pynac 0.7.11 https://trac.sagemath.org/ticket/23820 - patch -p1 -i ../sagemath-pynac-0.7.11.patch +# patch -p1 -i ../sagemath-ecl-no-sigfpe.patch # use python2 sed -e 's|#!/usr/bin/env python|#!/usr/bin/env python2|' -e 's|exec python|exec python2|' -i src/bin/* @@ -141,9 +146,6 @@ package_sagemath-git() { # Split jupyter kernel rm -r "$pkgdir"/usr/share/jupyter - -# Drop meataxe extension, it segfaults -# rm "$pkgdir"/usr/lib/python2.7/site-packages/sage/matrix/matrix_gfpn_dense.* } package_sagemath-jupyter-git() { diff --git a/sagemath-detect-igraph.patch b/sagemath-detect-igraph.patch new file mode 100644 index 000000000000..89965d45e286 --- /dev/null +++ b/sagemath-detect-igraph.patch @@ -0,0 +1,21 @@ +diff --git a/src/sage/graphs/generic_graph.py b/src/sage/graphs/generic_graph.py +index 252984f..ce19682 100644 +--- a/src/sage/graphs/generic_graph.py ++++ b/src/sage/graphs/generic_graph.py +@@ -7876,10 +7875,12 @@ class GenericGraph(GenericGraph_pyx): + if algorithm is None: + if vertex_bound: + algorithm = "LP" +- elif is_package_installed("python_igraph"): +- algorithm = "igraph" + else: +- algorithm = "FF" ++ algorithm = "igraph" ++ try: ++ import igraph ++ except ImportError: ++ algorithm = "FF" + + if (algorithm == "FF"): + return self._ford_fulkerson(x,y, value_only=value_only, integer=integer, use_edge_labels=use_edge_labels) + diff --git a/sagemath-networkx2.patch b/sagemath-networkx2.patch new file mode 100644 index 000000000000..b26160b6ffb1 --- /dev/null +++ b/sagemath-networkx2.patch @@ -0,0 +1,26 @@ +diff --git a/src/sage/graphs/digraph.py b/src/sage/graphs/digraph.py +index 8c29602da6..e7a185d586 100644 +--- a/src/sage/graphs/digraph.py ++++ b/src/sage/graphs/digraph.py +@@ -751,7 +751,7 @@ class DiGraph(GenericGraph): + self.allow_multiple_edges(multiedges,check=False) + self.allow_loops(loops,check=False) + self.add_vertices(data.nodes()) +- self.add_edges((u,v,r(l)) for u,v,l in data.edges_iter(data=True)) ++ self.add_edges((u,v,r(l)) for u,v,l in data.edges(data=True)) + elif format == 'igraph': + if not data.is_directed(): + raise ValueError("A *directed* igraph graph was expected. To "+ +diff --git a/src/sage/graphs/graph.py b/src/sage/graphs/graph.py +index b63135d8e6..5775042976 100644 +--- a/src/sage/graphs/graph.py ++++ b/src/sage/graphs/graph.py +@@ -1199,7 +1199,7 @@ class Graph(GenericGraph): + self.allow_loops(loops, check=False) + self.allow_multiple_edges(multiedges, check=False) + self.add_vertices(data.nodes()) +- self.add_edges((u,v,r(l)) for u,v,l in data.edges_iter(data=True)) ++ self.add_edges((u,v,r(l)) for u,v,l in data.edges(data=True)) + elif format == 'igraph': + if data.is_directed(): + raise ValueError("An *undirected* igraph graph was expected. "+ diff --git a/sagemath-pynac-0.7.11.patch b/sagemath-pynac-0.7.11.patch deleted file mode 100644 index b846d9883287..000000000000 --- a/sagemath-pynac-0.7.11.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/src/sage/libs/pynac/pynac.pxd -+++ b/src/sage/libs/pynac/pynac.pxd -@@ -302,7 +302,6 @@ cdef extern from "sage/libs/pynac/wrap.h": - bint is_a_fderivative "is_a<GiNaC::fderivative>" (GEx e) - bint is_a_function "is_a<GiNaC::function>" (GEx e) - bint is_exactly_a_function "is_exactly_a<GiNaC::function>" (GEx e) -- bint is_a_ncmul "is_a<GiNaC::ncmul>" (GEx e) - - # Arithmetic - int ginac_error() ---- a/src/sage/symbolic/expression.pyx -+++ b/src/sage/symbolic/expression.pyx -@@ -5536,7 +5536,7 @@ cdef class Expression(CommutativeRingElement): - cdef unsigned serial - if is_a_add(self._gobj): - return add_vararg -- elif is_a_mul(self._gobj) or is_a_ncmul(self._gobj): -+ elif is_a_mul(self._gobj): - return mul_vararg - elif is_a_power(self._gobj): - return operator.pow |