[arch-commits] Commit in sagemath/repos/community-x86_64 (22 files)
Antonio Rojas
arojas at archlinux.org
Sat Oct 5 08:08:51 UTC 2019
Date: Saturday, October 5, 2019 @ 08:08:49
Author: arojas
Revision: 512888
archrelease: copy trunk to community-x86_64
Added:
sagemath/repos/community-x86_64/PKGBUILD
(from rev 512887, sagemath/trunk/PKGBUILD)
sagemath/repos/community-x86_64/fes02.patch
(from rev 512887, sagemath/trunk/fes02.patch)
sagemath/repos/community-x86_64/latte-count.patch
(from rev 512887, sagemath/trunk/latte-count.patch)
sagemath/repos/community-x86_64/package.patch
(from rev 512887, sagemath/trunk/package.patch)
sagemath/repos/community-x86_64/sagemath-cremona.patch
(from rev 512887, sagemath/trunk/sagemath-cremona.patch)
sagemath/repos/community-x86_64/sagemath-ecl-sigfpe.patch
(from rev 512887, sagemath/trunk/sagemath-ecl-sigfpe.patch)
sagemath/repos/community-x86_64/sagemath-mathjax-dir.patch
(from rev 512887, sagemath/trunk/sagemath-mathjax-dir.patch)
sagemath/repos/community-x86_64/sagemath-primecount-5.1.patch
(from rev 512887, sagemath/trunk/sagemath-primecount-5.1.patch)
sagemath/repos/community-x86_64/sagemath-python3-notebook.patch
(from rev 512887, sagemath/trunk/sagemath-python3-notebook.patch)
sagemath/repos/community-x86_64/sagemath-singular-4.1.2.patch
(from rev 512887, sagemath/trunk/sagemath-singular-4.1.2.patch)
sagemath/repos/community-x86_64/test-optional.patch
(from rev 512887, sagemath/trunk/test-optional.patch)
Deleted:
sagemath/repos/community-x86_64/PKGBUILD
sagemath/repos/community-x86_64/fes02.patch
sagemath/repos/community-x86_64/latte-count.patch
sagemath/repos/community-x86_64/package.patch
sagemath/repos/community-x86_64/sagemath-cremona.patch
sagemath/repos/community-x86_64/sagemath-ecl-sigfpe.patch
sagemath/repos/community-x86_64/sagemath-mathjax-dir.patch
sagemath/repos/community-x86_64/sagemath-primecount-5.1.patch
sagemath/repos/community-x86_64/sagemath-python3-notebook.patch
sagemath/repos/community-x86_64/sagemath-singular-4.1.2.patch
sagemath/repos/community-x86_64/test-optional.patch
---------------------------------+
PKGBUILD | 304 +++++++++++++++++++-------------------
fes02.patch | 114 +++++++-------
latte-count.patch | 178 +++++++++++-----------
package.patch | 78 ++++-----
sagemath-cremona.patch | 62 +++----
sagemath-ecl-sigfpe.patch | 294 ++++++++++++++++++------------------
sagemath-mathjax-dir.patch | 54 +++---
sagemath-primecount-5.1.patch | 178 +++++++++++-----------
sagemath-python3-notebook.patch | 158 +++++++++----------
sagemath-singular-4.1.2.patch | 204 ++++++++++++-------------
test-optional.patch | 40 ++---
11 files changed, 832 insertions(+), 832 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2019-10-05 08:07:41 UTC (rev 512887)
+++ PKGBUILD 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,152 +0,0 @@
-# Maintainer: Antonio Rojas <arojas at archlinux.org>
-# Contributor: Evgeniy Alekseev <arcanis.arch at gmail dot com>
-# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
-# Contributor: Thomas Dziedzic <gostrc at gmail dot com>
-# Contributor: Osman Ugus <ugus11 at yahoo dot com>
-# Contributor: Stefan Husmann <stefan-husmann at t-online dot de>
-
-pkgbase=sagemath
-pkgname=(sagemath sagemath-jupyter)
-pkgver=8.9
-pkgrel=3
-pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab"
-arch=(x86_64)
-url="http://www.sagemath.org"
-license=(GPL)
-depends=(ipython2 palp brial cliquer maxima-ecl gfan sympow nauty python2-rpy2 python2-fpylll python2-psutil python2-cypari2
- python2-matplotlib python2-scipy python2-sympy python2-networkx python2-pillow python2-pplpy python2-future
- gap flintqs lcalc lrcalc arb eclib zn_poly gd python2-cvxopt pynac linbox m4rie rubiks pari-galdata pari-seadata-small planarity rankwidth tachyon
- sage-data-combinatorial_designs sage-data-elliptic_curves sage-data-graphs sage-data-polytopes_db sage-data-conway_polynomials
- iml libgiac libhomfly libbraiding symmetrica three.js)
-optdepends=('cython2: to compile cython code' 'python2-pkgconfig: to compile cython code'
- 'jmol: 3D plots' 'sage-notebook: Flask notebook interface (deprecated)'
- 'sagemath-doc: HTML documentation' 'python2-igraph: igraph backend for graph theory'
- 'coin-or-cbc: COIN backend for numerical computations' 'coin-or-csdp: for computing Lovász theta-function of graphs'
- 'buckygen: for generating fullerene graphs' 'plantri: for generating some classes of graphs' 'benzene: for generating fusenes and benzenoids'
- 'ffmpeg: to export animations to video' 'imagemagick: to show animations'
- 'coxeter: Coxeter groups implementation'
- 'lrs: Algorithms for linear reverse search used in game theory and for computing volume of polytopes'
- 'libfes: exhaustive search of solutions for boolean equations' 'python2-pynormaliz: Normaliz backend for polyhedral computations'
- 'latte-integrale: integral point count in polyhedra' 'python2-jupymake: polymake backend for polyhedral computations'
- 'shared_meataxe: faster matrix arithmetic over finite fields' 'openblas: faster linear algebra'
- 'sirocco: for computing the fundamental group of the complement of a plane curve' 'primecount: faster prime_pi implementation'
- 'dot2tex: for displaying some diagrams' 'cryptominisat5: SAT solver' 'python2-pycosat: picosat SAT solver'
- 'python2-pip: to install optional packages with sage -pip')
-makedepends=(cython2 boost ratpoints python2-jinja coin-or-cbc sirocco
- mcqd coxeter bliss tdlib python2-pkgconfig shared_meataxe libfes primecount)
-source=("$pkgname-$pkgver.tar.gz::https://github.com/sagemath/sage/archive/$pkgver.tar.gz"
- package.patch
- latte-count.patch
- sagemath-python3-notebook.patch
- test-optional.patch
- fes02.patch
- sagemath-cremona.patch
- sagemath-singular-4.1.2.patch
- sagemath-ecl-sigfpe.patch
- sagemath-primecount-5.1.patch
- sagemath-mathjax-dir.patch)
-sha256sums=('4f9f18a08142fed69342b58ffc6221ec16fe8daf1042086b351e1308489ec5d4'
- '328e45e78065b5f6527174bda48cfff6828acbf107c2535b0a9a92c3ceb35842'
- '1a82372a96ffd5e6d475b0e620935967ce5eb9b4484607d39da90824a77b07c4'
- '8b19aee28cb36b43815c206afee41a08a522f2502581f49b6bbc4a274fcf9dff'
- '1f2a34e15bf732ec8687c467a52e897615505dc3ddd792d811e8b6a7e19f1517'
- '7fcb52e96935dccb0f958d37c2f4e3918392480b9af53e08562f6cba6c68cb94'
- '5281e5c715ff14ffa4003f643a508863ca58efb9e083cece81928f78810dc525'
- '961bfb5694b67d425d21240d71490cb71714b5207c23448c89be0966512ff8f9'
- 'a42f3b152b1aedb8abf16bc70971419919d1fe30328574e7fef8305f9d07d938'
- '4e48ce9aa6a584a9e342e4fb0dac91a1af27cfc40bfedb54e68ccad3b9257bb6'
- '388cd321fb8b73ae839bf2c150f7dd26ba34b0f6845f9761184db1dd5086b697')
-
-prepare(){
- cd sage-$pkgver
-
-# Arch-specific patches
-# assume all optional packages are installed
- patch -p0 -i ../package.patch
-# don't list optional packages when running tests
- patch -p0 -i ../test-optional.patch
-# use correct latte-count binary name
- patch -p1 -i ../latte-count.patch
-# make 'sage -notebook=jupyter' work with our python3 jupyter-notebook package
- patch -p1 -i ../sagemath-python3-notebook.patch
-# fix build with primecount 5.1
- patch -p1 -i ../sagemath-primecount-5.1.patch
-# Don't hardcode mathjax path
- patch -p1 -i ../sagemath-mathjax-dir.patch
-
-# Upstream patches
-# fix build against libfes 0.2 http://trac.sagemath.org/ticket/15209
- patch -p1 -i ../fes02.patch
-# use Features to detect Cremona databases https://trac.sagemath.org/ticket/25825
- patch -p1 -i ../sagemath-cremona.patch
-# Fixes for singular 4.1.2 https://trac.sagemath.org/ticket/25993
- patch -p1 -i ../sagemath-singular-4.1.2.patch
-# Fix SIGFPE crashes with ecl 16.1.3 https://trac.sagemath.org/ticket/22191
- patch -p1 -i ../sagemath-ecl-sigfpe.patch
-
-# use python2
- sed -e 's|sage-python23|python2|' -e 's|#!/usr/bin/env python\b|#!/usr/bin/env python2|' -i src/bin/*
- sed -e 's|exec ipython\b|exec ipython2|' -e 's|cygdb|cygdb2|g' -i src/bin/sage
- sed -e "s|'cython'|'cython2'|" -i src/bin/sage-cython
-}
-
-
-build() {
- cd sage-$pkgver/src
-
- export CC=gcc \
- SAGE_ROOT="$PWD" \
- SAGE_SRC="$PWD" \
- SAGE_NUM_THREADS=10
- python2 setup.py build
-}
-
-package_sagemath() {
- optdepends+=('sagemath-jupyter: Jupyter kernel')
-
- cd sage-$pkgver/src
-
- export SAGE_ROOT="$PWD" \
- SAGE_LOCAL="/usr" \
- SAGE_EXTCODE="$PWD"/ext
- python2 setup.py install --root="$pkgdir" --optimize=1
-
- mkdir -p "$pkgdir"/usr/bin
- cp bin/{sage,math-readline} "$pkgdir"/usr/bin
- for _i in cachegrind callgrind cleaner coverage coverageall cython eval fixdoctests grep grepdoc inline-fortran ipynb2rst \
- ipython massif maxima.lisp native-execute notebook num-threads.py omega open preparse python rst2sws rst2txt run \
- run-cython runtests startuptime.py sws2rst valgrind version.sh
- do
- cp bin/sage-$_i "$pkgdir"/usr/bin
- done
-
- mkdir -p "$pkgdir"/usr/share/sage
- cp -r ext "$pkgdir"/usr/share/sage
-
-# Remove sage_setup
- rm -r "$pkgdir"/usr/lib/python2.7/site-packages/sage_setup
-# Install tests
- cp -r sage/doctest/tests "$pkgdir"/usr/lib/python2.7/site-packages/sage/doctest
- cp -r sage/tests/books "$pkgdir"/usr/lib/python2.7/site-packages/sage/tests
-
-# Split jupyter kernel
- rm -r "$pkgdir"/usr/share/jupyter
-}
-
-package_sagemath-jupyter() {
- pkgdesc='Jupyter kernel for SageMath'
- depends=(sagemath python2-jupyter_client python2-ipywidgets jsmol)
- optdepends=('sage-notebook-exporter: convert flask notebooks to Jupyter')
-
- cd sage-$pkgver/src
-
- export SAGE_ROOT="$PWD" \
- SAGE_LOCAL="/usr" \
- MATHJAX_DIR="/usr/share/mathjax2"
- python2 -c "from sage.repl.ipython_kernel.install import SageKernelSpec; SageKernelSpec.update(prefix='$pkgdir/usr')"
-# fix symlinks to assets
- for _i in $(ls ext/notebook-ipython); do
- rm "$pkgdir"/usr/share/jupyter/kernels/sagemath/$_i
- ln -s /usr/share/sage/ext/notebook-ipython/$_i "$pkgdir"/usr/share/jupyter/kernels/sagemath/
- done
-}
Copied: sagemath/repos/community-x86_64/PKGBUILD (from rev 512887, sagemath/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,152 @@
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+# Contributor: Evgeniy Alekseev <arcanis.arch at gmail dot com>
+# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Thomas Dziedzic <gostrc at gmail dot com>
+# Contributor: Osman Ugus <ugus11 at yahoo dot com>
+# Contributor: Stefan Husmann <stefan-husmann at t-online dot de>
+
+pkgbase=sagemath
+pkgname=(sagemath sagemath-jupyter)
+pkgver=8.9
+pkgrel=4
+pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab"
+arch=(x86_64)
+url="http://www.sagemath.org"
+license=(GPL)
+depends=(ipython2 palp brial cliquer maxima-ecl gfan sympow nauty python2-rpy2 python2-fpylll python2-psutil python2-cypari2
+ python2-matplotlib python2-scipy python2-sympy python2-networkx python2-pillow python2-pplpy python2-future python2-sphinx
+ gap flintqs lcalc lrcalc arb eclib zn_poly gd python2-cvxopt pynac linbox m4rie rubiks pari-galdata pari-seadata-small planarity rankwidth tachyon
+ sage-data-combinatorial_designs sage-data-elliptic_curves sage-data-graphs sage-data-polytopes_db sage-data-conway_polynomials
+ iml libgiac libhomfly libbraiding symmetrica three.js)
+optdepends=('cython2: to compile cython code' 'python2-pkgconfig: to compile cython code'
+ 'jmol: 3D plots' 'sage-notebook: Flask notebook interface (deprecated)'
+ 'sagemath-doc: HTML documentation' 'python2-igraph: igraph backend for graph theory'
+ 'coin-or-cbc: COIN backend for numerical computations' 'coin-or-csdp: for computing Lovász theta-function of graphs'
+ 'buckygen: for generating fullerene graphs' 'plantri: for generating some classes of graphs' 'benzene: for generating fusenes and benzenoids'
+ 'ffmpeg: to export animations to video' 'imagemagick: to show animations'
+ 'coxeter: Coxeter groups implementation'
+ 'lrs: Algorithms for linear reverse search used in game theory and for computing volume of polytopes'
+ 'libfes: exhaustive search of solutions for boolean equations' 'python2-pynormaliz: Normaliz backend for polyhedral computations'
+ 'latte-integrale: integral point count in polyhedra' 'python2-jupymake: polymake backend for polyhedral computations'
+ 'shared_meataxe: faster matrix arithmetic over finite fields' 'openblas: faster linear algebra'
+ 'sirocco: for computing the fundamental group of the complement of a plane curve' 'primecount: faster prime_pi implementation'
+ 'dot2tex: for displaying some diagrams' 'cryptominisat5: SAT solver' 'python2-pycosat: picosat SAT solver'
+ 'python2-pip: to install optional packages with sage -pip')
+makedepends=(cython2 boost ratpoints python2-jinja coin-or-cbc sirocco
+ mcqd coxeter bliss tdlib python2-pkgconfig shared_meataxe libfes primecount)
+source=("$pkgname-$pkgver.tar.gz::https://github.com/sagemath/sage/archive/$pkgver.tar.gz"
+ package.patch
+ latte-count.patch
+ sagemath-python3-notebook.patch
+ test-optional.patch
+ fes02.patch
+ sagemath-cremona.patch
+ sagemath-singular-4.1.2.patch
+ sagemath-ecl-sigfpe.patch
+ sagemath-primecount-5.1.patch
+ sagemath-mathjax-dir.patch)
+sha256sums=('4f9f18a08142fed69342b58ffc6221ec16fe8daf1042086b351e1308489ec5d4'
+ '328e45e78065b5f6527174bda48cfff6828acbf107c2535b0a9a92c3ceb35842'
+ '1a82372a96ffd5e6d475b0e620935967ce5eb9b4484607d39da90824a77b07c4'
+ '8b19aee28cb36b43815c206afee41a08a522f2502581f49b6bbc4a274fcf9dff'
+ '1f2a34e15bf732ec8687c467a52e897615505dc3ddd792d811e8b6a7e19f1517'
+ '7fcb52e96935dccb0f958d37c2f4e3918392480b9af53e08562f6cba6c68cb94'
+ '5281e5c715ff14ffa4003f643a508863ca58efb9e083cece81928f78810dc525'
+ '961bfb5694b67d425d21240d71490cb71714b5207c23448c89be0966512ff8f9'
+ 'a42f3b152b1aedb8abf16bc70971419919d1fe30328574e7fef8305f9d07d938'
+ '4e48ce9aa6a584a9e342e4fb0dac91a1af27cfc40bfedb54e68ccad3b9257bb6'
+ '388cd321fb8b73ae839bf2c150f7dd26ba34b0f6845f9761184db1dd5086b697')
+
+prepare(){
+ cd sage-$pkgver
+
+# Arch-specific patches
+# assume all optional packages are installed
+ patch -p0 -i ../package.patch
+# don't list optional packages when running tests
+ patch -p0 -i ../test-optional.patch
+# use correct latte-count binary name
+ patch -p1 -i ../latte-count.patch
+# make 'sage -notebook=jupyter' work with our python3 jupyter-notebook package
+ patch -p1 -i ../sagemath-python3-notebook.patch
+# fix build with primecount 5.1
+ patch -p1 -i ../sagemath-primecount-5.1.patch
+# Don't hardcode mathjax path
+ patch -p1 -i ../sagemath-mathjax-dir.patch
+
+# Upstream patches
+# fix build against libfes 0.2 http://trac.sagemath.org/ticket/15209
+ patch -p1 -i ../fes02.patch
+# use Features to detect Cremona databases https://trac.sagemath.org/ticket/25825
+ patch -p1 -i ../sagemath-cremona.patch
+# Fixes for singular 4.1.2 https://trac.sagemath.org/ticket/25993
+ patch -p1 -i ../sagemath-singular-4.1.2.patch
+# Fix SIGFPE crashes with ecl 16.1.3 https://trac.sagemath.org/ticket/22191
+ patch -p1 -i ../sagemath-ecl-sigfpe.patch
+
+# use python2
+ sed -e 's|sage-python23|python2|' -e 's|#!/usr/bin/env python\b|#!/usr/bin/env python2|' -i src/bin/*
+ sed -e 's|exec ipython\b|exec ipython2|' -e 's|cygdb|cygdb2|g' -i src/bin/sage
+ sed -e "s|'cython'|'cython2'|" -i src/bin/sage-cython
+}
+
+
+build() {
+ cd sage-$pkgver/src
+
+ export CC=gcc \
+ SAGE_ROOT="$PWD" \
+ SAGE_SRC="$PWD" \
+ SAGE_NUM_THREADS=10
+ python2 setup.py build
+}
+
+package_sagemath() {
+ optdepends+=('sagemath-jupyter: Jupyter kernel')
+
+ cd sage-$pkgver/src
+
+ export SAGE_ROOT="$PWD" \
+ SAGE_LOCAL="/usr" \
+ SAGE_EXTCODE="$PWD"/ext
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ mkdir -p "$pkgdir"/usr/bin
+ cp bin/{sage,math-readline} "$pkgdir"/usr/bin
+ for _i in cachegrind callgrind cleaner coverage coverageall cython eval fixdoctests grep grepdoc inline-fortran ipynb2rst \
+ ipython massif maxima.lisp native-execute notebook num-threads.py omega open preparse python rst2sws rst2txt run \
+ run-cython runtests startuptime.py sws2rst valgrind version.sh
+ do
+ cp bin/sage-$_i "$pkgdir"/usr/bin
+ done
+
+ mkdir -p "$pkgdir"/usr/share/sage
+ cp -r ext "$pkgdir"/usr/share/sage
+
+# Remove sage_setup
+ rm -r "$pkgdir"/usr/lib/python2.7/site-packages/sage_setup
+# Install tests
+ cp -r sage/doctest/tests "$pkgdir"/usr/lib/python2.7/site-packages/sage/doctest
+ cp -r sage/tests/books "$pkgdir"/usr/lib/python2.7/site-packages/sage/tests
+
+# Split jupyter kernel
+ rm -r "$pkgdir"/usr/share/jupyter
+}
+
+package_sagemath-jupyter() {
+ pkgdesc='Jupyter kernel for SageMath'
+ depends=(sagemath python2-jupyter_client python2-ipywidgets jsmol)
+ optdepends=('sage-notebook-exporter: convert flask notebooks to Jupyter')
+
+ cd sage-$pkgver/src
+
+ export SAGE_ROOT="$PWD" \
+ SAGE_LOCAL="/usr" \
+ MATHJAX_DIR="/usr/share/mathjax2"
+ python2 -c "from sage.repl.ipython_kernel.install import SageKernelSpec; SageKernelSpec.update(prefix='$pkgdir/usr')"
+# fix symlinks to assets
+ for _i in $(ls ext/notebook-ipython); do
+ rm "$pkgdir"/usr/share/jupyter/kernels/sagemath/$_i
+ ln -s /usr/share/sage/ext/notebook-ipython/$_i "$pkgdir"/usr/share/jupyter/kernels/sagemath/
+ done
+}
Deleted: fes02.patch
===================================================================
--- fes02.patch 2019-10-05 08:07:41 UTC (rev 512887)
+++ fes02.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,57 +0,0 @@
-From b1f5e3ecc789db674fe17552812f2d0e2ab84be0 Mon Sep 17 00:00:00 2001
-From: Charles Bouillaguet <charles.bouillaguet at lifl.fr>
-Date: Thu, 19 Sep 2013 10:31:11 +0200
-Subject: updating the libFES binding to match a change in the interface
-
----
- src/sage/libs/fes.pyx | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/src/sage/libs/fes.pyx b/src/sage/libs/fes.pyx
-index 40b9c23..d188cf0 100644
---- a/src/sage/libs/fes.pyx
-+++ b/src/sage/libs/fes.pyx
-@@ -1,17 +1,19 @@
- """
--Binding for the FES library.
-+Binding for the libFES library.
-
- Finding solutions of systems of boolean equations by exhaustive
- search, via the fes library. This is usually (much) faster than
- computing a Groebner basis, except in special cases where the latter
- is particularly easy.
-
--The FES library is presently only able to deal with polynomials in 64
-+More information is available at [http://www.lifl.fr/~bouillag/fes].
-+
-+The libFES library is presently only able to deal with polynomials in 64
- variables. Performing a full exhaustive search over 64 variables will
- take a **long** time. The number of variables can be artificially
- reduced to 64 by specializing some of them.
-
--Note that the FES library **requires** at least of the equations to be
-+Note that the libFES library **requires** at least of the equations to be
- non-linear.
-
- AUTHORS:
-@@ -71,7 +73,7 @@ from libc.stdint cimport uint64_t
- cdef extern from "fes_interface.h":
- ctypedef int (*solution_callback_t)(void *, uint64_t)
-
-- void exhaustive_search_wrapper(int n, int n_eqs, int degree, int ***coeffs, solution_callback_t callback, void* callback_state, int verbose)
-+ void exhaustive_search_wrapper(int n, int n_eqs, int degree, int ***coeffs, solution_callback_t callback, void* callback_state, int verbose, int T)
-
-
- from sage.rings.integer import Integer
-@@ -217,7 +217,7 @@ def exhaustive_search(eqs, max_sols=Infinity, verbose=False):
-
- # ------- runs the library
- sig_on()
-- exhaustive_search_wrapper(n, len(eqs), degree, coeffs, report_solution, <void *> internal_state, verbose)
-+ exhaustive_search_wrapper(n, len(eqs), degree, coeffs, report_solution, <void *> internal_state, verbose, 0)
- sig_off()
-
- # ------- frees memory occupied by the dense representation of the equations
---
-cgit v1.0-1-gd88e
-
Copied: sagemath/repos/community-x86_64/fes02.patch (from rev 512887, sagemath/trunk/fes02.patch)
===================================================================
--- fes02.patch (rev 0)
+++ fes02.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,57 @@
+From b1f5e3ecc789db674fe17552812f2d0e2ab84be0 Mon Sep 17 00:00:00 2001
+From: Charles Bouillaguet <charles.bouillaguet at lifl.fr>
+Date: Thu, 19 Sep 2013 10:31:11 +0200
+Subject: updating the libFES binding to match a change in the interface
+
+---
+ src/sage/libs/fes.pyx | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/src/sage/libs/fes.pyx b/src/sage/libs/fes.pyx
+index 40b9c23..d188cf0 100644
+--- a/src/sage/libs/fes.pyx
++++ b/src/sage/libs/fes.pyx
+@@ -1,17 +1,19 @@
+ """
+-Binding for the FES library.
++Binding for the libFES library.
+
+ Finding solutions of systems of boolean equations by exhaustive
+ search, via the fes library. This is usually (much) faster than
+ computing a Groebner basis, except in special cases where the latter
+ is particularly easy.
+
+-The FES library is presently only able to deal with polynomials in 64
++More information is available at [http://www.lifl.fr/~bouillag/fes].
++
++The libFES library is presently only able to deal with polynomials in 64
+ variables. Performing a full exhaustive search over 64 variables will
+ take a **long** time. The number of variables can be artificially
+ reduced to 64 by specializing some of them.
+
+-Note that the FES library **requires** at least of the equations to be
++Note that the libFES library **requires** at least of the equations to be
+ non-linear.
+
+ AUTHORS:
+@@ -71,7 +73,7 @@ from libc.stdint cimport uint64_t
+ cdef extern from "fes_interface.h":
+ ctypedef int (*solution_callback_t)(void *, uint64_t)
+
+- void exhaustive_search_wrapper(int n, int n_eqs, int degree, int ***coeffs, solution_callback_t callback, void* callback_state, int verbose)
++ void exhaustive_search_wrapper(int n, int n_eqs, int degree, int ***coeffs, solution_callback_t callback, void* callback_state, int verbose, int T)
+
+
+ from sage.rings.integer import Integer
+@@ -217,7 +217,7 @@ def exhaustive_search(eqs, max_sols=Infinity, verbose=False):
+
+ # ------- runs the library
+ sig_on()
+- exhaustive_search_wrapper(n, len(eqs), degree, coeffs, report_solution, <void *> internal_state, verbose)
++ exhaustive_search_wrapper(n, len(eqs), degree, coeffs, report_solution, <void *> internal_state, verbose, 0)
+ sig_off()
+
+ # ------- frees memory occupied by the dense representation of the equations
+--
+cgit v1.0-1-gd88e
+
Deleted: latte-count.patch
===================================================================
--- latte-count.patch 2019-10-05 08:07:41 UTC (rev 512887)
+++ latte-count.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,89 +0,0 @@
-diff --git a/src/sage/geometry/polyhedron/base_ZZ.py b/src/sage/geometry/polyhedron/base_ZZ.py
-index 268af9db0d..70d41dfa30 100644
---- a/src/sage/geometry/polyhedron/base_ZZ.py
-+++ b/src/sage/geometry/polyhedron/base_ZZ.py
-@@ -170,7 +170,7 @@ class Polyhedron_ZZ(Polyhedron_base):
- sage: p = P.ehrhart_polynomial(maxdet=5, verbose=True) # optional - latte_int
- This is LattE integrale ...
- ...
-- Invocation: count --ehrhart-polynomial '--redundancy-check=none' --cdd '--maxdet=5' /dev/stdin
-+ Invocation: latte-count --ehrhart-polynomial '--redundancy-check=none' --cdd '--maxdet=5' /dev/stdin
- ...
- sage: p # optional - latte_int
- 1/2*t^2 + 3/2*t + 1
-@@ -178,7 +178,7 @@ class Polyhedron_ZZ(Polyhedron_base):
- sage: p = P.ehrhart_polynomial(dual=True, verbose=True) # optional - latte_int
- This is LattE integrale ...
- ...
-- Invocation: count --ehrhart-polynomial '--redundancy-check=none' --cdd --dual /dev/stdin
-+ Invocation: latte-count --ehrhart-polynomial '--redundancy-check=none' --cdd --dual /dev/stdin
- ...
- sage: p # optional - latte_int
- 1/2*t^2 + 3/2*t + 1
-@@ -186,7 +186,7 @@ class Polyhedron_ZZ(Polyhedron_base):
- sage: p = P.ehrhart_polynomial(irrational_primal=True, verbose=True) # optional - latte_int
- This is LattE integrale ...
- ...
-- Invocation: count --ehrhart-polynomial '--redundancy-check=none' --cdd --irrational-primal /dev/stdin
-+ Invocation: latte-count --ehrhart-polynomial '--redundancy-check=none' --cdd --irrational-primal /dev/stdin
- ...
- sage: p # optional - latte_int
- 1/2*t^2 + 3/2*t + 1
-@@ -194,7 +194,7 @@ class Polyhedron_ZZ(Polyhedron_base):
- sage: p = P.ehrhart_polynomial(irrational_all_primal=True, verbose=True) # optional - latte_int
- This is LattE integrale ...
- ...
-- Invocation: count --ehrhart-polynomial '--redundancy-check=none' --cdd --irrational-all-primal /dev/stdin
-+ Invocation: latte-count --ehrhart-polynomial '--redundancy-check=none' --cdd --irrational-all-primal /dev/stdin
- ...
- sage: p # optional - latte_int
- 1/2*t^2 + 3/2*t + 1
-@@ -206,7 +206,7 @@ class Polyhedron_ZZ(Polyhedron_base):
- ...
- RuntimeError: LattE integrale program failed (exit code 1):
- ...
-- Invocation: count --ehrhart-polynomial '--redundancy-check=none' --cdd '--bim-bam-boum=19' /dev/stdin
-+ Invocation: latte-count --ehrhart-polynomial '--redundancy-check=none' --cdd '--bim-bam-boum=19' /dev/stdin
- Unknown command/option --bim-bam-boum=19
- """
- if self.is_empty():
-diff --git a/src/sage/interfaces/latte.py b/src/sage/interfaces/latte.py
-index 066cedd401..302b39910d 100644
---- a/src/sage/interfaces/latte.py
-+++ b/src/sage/interfaces/latte.py
-@@ -96,7 +96,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
- sage: n = count(cddin, cdd=True, verbose=True, raw_output=True) # optional - latte_int
- This is LattE integrale ...
- ...
-- Invocation: count '--redundancy-check=none' --cdd /dev/stdin
-+ Invocation: latte-count '--redundancy-check=none' --cdd /dev/stdin
- ...
- Total Unimodular Cones: ...
- Maximum number of simplicial cones in memory at once: ...
-@@ -117,7 +117,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
-
- arg = str_to_bytes(arg)
-
-- args = ['count']
-+ args = ['latte-count']
- if ehrhart_polynomial and multivariate_generating_function:
- raise ValueError
- if ehrhart_polynomial:
-diff --git a/src/sage/features/latte.py b/src/sage/features/latte.py
-index 63d227fd35..040a5cf1f9 100644
---- a/src/sage/features/latte.py
-+++ b/src/sage/features/latte.py
-@@ -9,10 +9,10 @@ from . import Executable, Feature, FeatureTestResult
-
- class Latte_count(Executable):
- r"""
-- Feature for the executable ``count`` from the LattE suite.
-+ Feature for the executable ``latte-count`` from the LattE suite.
- """
- def __init__(self):
-- Executable.__init__(self, "count", executable="count",
-+ Executable.__init__(self, "latte-count", executable="count",
- spkg="latte_int",
- url=LATTE_URL)
-
-
Copied: sagemath/repos/community-x86_64/latte-count.patch (from rev 512887, sagemath/trunk/latte-count.patch)
===================================================================
--- latte-count.patch (rev 0)
+++ latte-count.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,89 @@
+diff --git a/src/sage/geometry/polyhedron/base_ZZ.py b/src/sage/geometry/polyhedron/base_ZZ.py
+index 268af9db0d..70d41dfa30 100644
+--- a/src/sage/geometry/polyhedron/base_ZZ.py
++++ b/src/sage/geometry/polyhedron/base_ZZ.py
+@@ -170,7 +170,7 @@ class Polyhedron_ZZ(Polyhedron_base):
+ sage: p = P.ehrhart_polynomial(maxdet=5, verbose=True) # optional - latte_int
+ This is LattE integrale ...
+ ...
+- Invocation: count --ehrhart-polynomial '--redundancy-check=none' --cdd '--maxdet=5' /dev/stdin
++ Invocation: latte-count --ehrhart-polynomial '--redundancy-check=none' --cdd '--maxdet=5' /dev/stdin
+ ...
+ sage: p # optional - latte_int
+ 1/2*t^2 + 3/2*t + 1
+@@ -178,7 +178,7 @@ class Polyhedron_ZZ(Polyhedron_base):
+ sage: p = P.ehrhart_polynomial(dual=True, verbose=True) # optional - latte_int
+ This is LattE integrale ...
+ ...
+- Invocation: count --ehrhart-polynomial '--redundancy-check=none' --cdd --dual /dev/stdin
++ Invocation: latte-count --ehrhart-polynomial '--redundancy-check=none' --cdd --dual /dev/stdin
+ ...
+ sage: p # optional - latte_int
+ 1/2*t^2 + 3/2*t + 1
+@@ -186,7 +186,7 @@ class Polyhedron_ZZ(Polyhedron_base):
+ sage: p = P.ehrhart_polynomial(irrational_primal=True, verbose=True) # optional - latte_int
+ This is LattE integrale ...
+ ...
+- Invocation: count --ehrhart-polynomial '--redundancy-check=none' --cdd --irrational-primal /dev/stdin
++ Invocation: latte-count --ehrhart-polynomial '--redundancy-check=none' --cdd --irrational-primal /dev/stdin
+ ...
+ sage: p # optional - latte_int
+ 1/2*t^2 + 3/2*t + 1
+@@ -194,7 +194,7 @@ class Polyhedron_ZZ(Polyhedron_base):
+ sage: p = P.ehrhart_polynomial(irrational_all_primal=True, verbose=True) # optional - latte_int
+ This is LattE integrale ...
+ ...
+- Invocation: count --ehrhart-polynomial '--redundancy-check=none' --cdd --irrational-all-primal /dev/stdin
++ Invocation: latte-count --ehrhart-polynomial '--redundancy-check=none' --cdd --irrational-all-primal /dev/stdin
+ ...
+ sage: p # optional - latte_int
+ 1/2*t^2 + 3/2*t + 1
+@@ -206,7 +206,7 @@ class Polyhedron_ZZ(Polyhedron_base):
+ ...
+ RuntimeError: LattE integrale program failed (exit code 1):
+ ...
+- Invocation: count --ehrhart-polynomial '--redundancy-check=none' --cdd '--bim-bam-boum=19' /dev/stdin
++ Invocation: latte-count --ehrhart-polynomial '--redundancy-check=none' --cdd '--bim-bam-boum=19' /dev/stdin
+ Unknown command/option --bim-bam-boum=19
+ """
+ if self.is_empty():
+diff --git a/src/sage/interfaces/latte.py b/src/sage/interfaces/latte.py
+index 066cedd401..302b39910d 100644
+--- a/src/sage/interfaces/latte.py
++++ b/src/sage/interfaces/latte.py
+@@ -96,7 +96,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
+ sage: n = count(cddin, cdd=True, verbose=True, raw_output=True) # optional - latte_int
+ This is LattE integrale ...
+ ...
+- Invocation: count '--redundancy-check=none' --cdd /dev/stdin
++ Invocation: latte-count '--redundancy-check=none' --cdd /dev/stdin
+ ...
+ Total Unimodular Cones: ...
+ Maximum number of simplicial cones in memory at once: ...
+@@ -117,7 +117,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
+
+ arg = str_to_bytes(arg)
+
+- args = ['count']
++ args = ['latte-count']
+ if ehrhart_polynomial and multivariate_generating_function:
+ raise ValueError
+ if ehrhart_polynomial:
+diff --git a/src/sage/features/latte.py b/src/sage/features/latte.py
+index 63d227fd35..040a5cf1f9 100644
+--- a/src/sage/features/latte.py
++++ b/src/sage/features/latte.py
+@@ -9,10 +9,10 @@ from . import Executable, Feature, FeatureTestResult
+
+ class Latte_count(Executable):
+ r"""
+- Feature for the executable ``count`` from the LattE suite.
++ Feature for the executable ``latte-count`` from the LattE suite.
+ """
+ def __init__(self):
+- Executable.__init__(self, "count", executable="count",
++ Executable.__init__(self, "latte-count", executable="count",
+ spkg="latte_int",
+ url=LATTE_URL)
+
+
Deleted: package.patch
===================================================================
--- package.patch 2019-10-05 08:07:41 UTC (rev 512887)
+++ package.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,39 +0,0 @@
---- src/sage/misc/package.py.orig 2014-11-23 15:58:13.000000000 +0100
-+++ src/sage/misc/package.py 2015-01-22 20:32:25.651383902 +0100
-@@ -336,7 +336,7 @@
- Use the framework provided by :mod:`sage.features` to check
- whether a library is installed and functional.
- """
-- return any(p.split('-')[0] == package for p in installed_packages(exclude_pip))
-+ return True
-
-
- def package_versions(package_type, local=False):
---- src/sage_setup/optional_extension.py.orig 2016-10-19 18:35:10.092577510 +0000
-+++ src/sage_setup/optional_extension.py 2016-10-19 18:38:13.514765366 +0000
-@@ -21,8 +21,6 @@
- from distutils.extension import Extension
- from sage.misc.package import list_packages
-
--all_packages = list_packages(local=True)
--
-
- class CythonizeExtension(Extension):
- """
-@@ -76,15 +74,7 @@
- condition = kwds.pop("condition")
- except KeyError:
- pkg = kwds.pop("package")
-- from sage.misc.package import is_package_installed
-- try:
-- pkginfo = all_packages[pkg]
-- except KeyError:
-- # Might be an installed old-style package
-- condition = is_package_installed(pkg)
-- else:
-- condition = (pkginfo["installed_version"] == pkginfo["remote_version"])
--
-+ condition = True
- if condition:
- return Extension(*args, **kwds)
- else:
Copied: sagemath/repos/community-x86_64/package.patch (from rev 512887, sagemath/trunk/package.patch)
===================================================================
--- package.patch (rev 0)
+++ package.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,39 @@
+--- src/sage/misc/package.py.orig 2014-11-23 15:58:13.000000000 +0100
++++ src/sage/misc/package.py 2015-01-22 20:32:25.651383902 +0100
+@@ -336,7 +336,7 @@
+ Use the framework provided by :mod:`sage.features` to check
+ whether a library is installed and functional.
+ """
+- return any(p.split('-')[0] == package for p in installed_packages(exclude_pip))
++ return True
+
+
+ def package_versions(package_type, local=False):
+--- src/sage_setup/optional_extension.py.orig 2016-10-19 18:35:10.092577510 +0000
++++ src/sage_setup/optional_extension.py 2016-10-19 18:38:13.514765366 +0000
+@@ -21,8 +21,6 @@
+ from distutils.extension import Extension
+ from sage.misc.package import list_packages
+
+-all_packages = list_packages(local=True)
+-
+
+ class CythonizeExtension(Extension):
+ """
+@@ -76,15 +74,7 @@
+ condition = kwds.pop("condition")
+ except KeyError:
+ pkg = kwds.pop("package")
+- from sage.misc.package import is_package_installed
+- try:
+- pkginfo = all_packages[pkg]
+- except KeyError:
+- # Might be an installed old-style package
+- condition = is_package_installed(pkg)
+- else:
+- condition = (pkginfo["installed_version"] == pkginfo["remote_version"])
+-
++ condition = True
+ if condition:
+ return Extension(*args, **kwds)
+ else:
Deleted: sagemath-cremona.patch
===================================================================
--- sagemath-cremona.patch 2019-10-05 08:07:41 UTC (rev 512887)
+++ sagemath-cremona.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,31 +0,0 @@
-diff --git a/src/sage/databases/cremona.py b/src/sage/databases/cremona.py
-index 3f8dd62..ed5726a 100644
---- a/src/sage/databases/cremona.py
-+++ b/src/sage/databases/cremona.py
-@@ -51,7 +51,7 @@ from sage.misc.prandom import randint
-
- import sage.schemes.elliptic_curves.constructor as elliptic
- from .sql_db import SQLDatabase, verify_column
--from sage.misc.package import is_package_installed
-+from sage.features.databases import DatabaseCremona
- from sage.env import CREMONA_MINI_DATA_DIR, CREMONA_LARGE_DATA_DIR, SAGE_SHARE
- from sage.misc.all import walltime
-
-@@ -843,7 +843,7 @@ class MiniCremonaDatabase(SQLDatabase):
- if N < self.largest_conductor():
- message = "There is no elliptic curve with label " + label \
- + " in the database"
-- elif is_package_installed('database_cremona_ellcurve'):
-+ elif DatabaseCremona().is_present():
- message = "There is no elliptic curve with label " + label \
- + " in the currently available databases"
- else:
-@@ -1695,7 +1695,7 @@ def CremonaDatabase(name=None,mini=None,set_global=None):
- if name is None and not set_global:
- return _db
- if set_global and name is None:
-- if is_package_installed('database_cremona_ellcurve'):
-+ if DatabaseCremona().is_present():
- name = 'cremona'
- else:
- name = 'cremona mini'
Copied: sagemath/repos/community-x86_64/sagemath-cremona.patch (from rev 512887, sagemath/trunk/sagemath-cremona.patch)
===================================================================
--- sagemath-cremona.patch (rev 0)
+++ sagemath-cremona.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,31 @@
+diff --git a/src/sage/databases/cremona.py b/src/sage/databases/cremona.py
+index 3f8dd62..ed5726a 100644
+--- a/src/sage/databases/cremona.py
++++ b/src/sage/databases/cremona.py
+@@ -51,7 +51,7 @@ from sage.misc.prandom import randint
+
+ import sage.schemes.elliptic_curves.constructor as elliptic
+ from .sql_db import SQLDatabase, verify_column
+-from sage.misc.package import is_package_installed
++from sage.features.databases import DatabaseCremona
+ from sage.env import CREMONA_MINI_DATA_DIR, CREMONA_LARGE_DATA_DIR, SAGE_SHARE
+ from sage.misc.all import walltime
+
+@@ -843,7 +843,7 @@ class MiniCremonaDatabase(SQLDatabase):
+ if N < self.largest_conductor():
+ message = "There is no elliptic curve with label " + label \
+ + " in the database"
+- elif is_package_installed('database_cremona_ellcurve'):
++ elif DatabaseCremona().is_present():
+ message = "There is no elliptic curve with label " + label \
+ + " in the currently available databases"
+ else:
+@@ -1695,7 +1695,7 @@ def CremonaDatabase(name=None,mini=None,set_global=None):
+ if name is None and not set_global:
+ return _db
+ if set_global and name is None:
+- if is_package_installed('database_cremona_ellcurve'):
++ if DatabaseCremona().is_present():
+ name = 'cremona'
+ else:
+ name = 'cremona mini'
Deleted: sagemath-ecl-sigfpe.patch
===================================================================
--- sagemath-ecl-sigfpe.patch 2019-10-05 08:07:41 UTC (rev 512887)
+++ sagemath-ecl-sigfpe.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,147 +0,0 @@
-diff --git a/src/sage/libs/ecl.pyx b/src/sage/libs/ecl.pyx
-index e408866..fa24ac0 100644
---- a/src/sage/libs/ecl.pyx
-+++ b/src/sage/libs/ecl.pyx
-@@ -16,7 +16,7 @@ from __future__ import print_function, absolute_import
- #adapted to work with pure Python types.
-
- from libc.stdlib cimport abort
--from libc.signal cimport SIGINT, SIGBUS, SIGSEGV, SIGCHLD
-+from libc.signal cimport SIGINT, SIGBUS, SIGSEGV, SIGCHLD, SIGFPE
- from libc.signal cimport raise_ as signal_raise
- from posix.signal cimport sigaction, sigaction_t
- cimport cysignals.signals
-@@ -48,9 +48,14 @@ cdef extern from "eclsig.h":
- void ecl_sig_off()
- cdef sigaction_t ecl_sigint_handler
- cdef sigaction_t ecl_sigbus_handler
-+ cdef sigaction_t ecl_sigfpe_handler
- cdef sigaction_t ecl_sigsegv_handler
- cdef mpz_t ecl_mpz_from_bignum(cl_object obj)
- cdef cl_object ecl_bignum_from_mpz(mpz_t num)
-+ cdef int fegetexcept()
-+ cdef int feenableexcept(int)
-+ cdef int fedisableexcept(int)
-+ cdef int ecl_feflags
-
- cdef cl_object string_to_object(char * s):
- return ecl_read_from_cstring(s)
-@@ -239,6 +244,7 @@ def init_ecl():
- global ecl_has_booted
- cdef char *argv[1]
- cdef sigaction_t sage_action[32]
-+ cdef int sage_fpes
- cdef int i
-
- if ecl_has_booted:
-@@ -258,6 +264,8 @@ def init_ecl():
- for i in range(1,32):
- sigaction(i, NULL, &sage_action[i])
-
-+ sage_fpes = fegetexcept()
-+
- #initialize ECL
- ecl_set_option(ECL_OPT_SIGNAL_HANDLING_THREAD, 0)
- cl_boot(1, argv)
-@@ -265,8 +273,12 @@ def init_ecl():
- #save signal handler from ECL
- sigaction(SIGINT, NULL, &ecl_sigint_handler)
- sigaction(SIGBUS, NULL, &ecl_sigbus_handler)
-+ sigaction(SIGFPE, NULL, &ecl_sigfpe_handler)
- sigaction(SIGSEGV, NULL, &ecl_sigsegv_handler)
-
-+ #save ECL's floating point exception flags
-+ ecl_feflags = fegetexcept()
-+
- #verify that no SIGCHLD handler was installed
- cdef sigaction_t sig_test
- sigaction(SIGCHLD, NULL, &sig_test)
-@@ -277,6 +289,9 @@ def init_ecl():
- for i in range(1,32):
- sigaction(i, &sage_action[i], NULL)
-
-+ fedisableexcept(ecl_feflags)
-+ feenableexcept(sage_fpes)
-+
- #initialise list of objects and bind to global variable
- # *SAGE-LIST-OF-OBJECTS* to make it rooted in the reachable tree for the GC
- list_of_objects=cl_cons(Cnil,cl_cons(Cnil,Cnil))
-@@ -320,7 +335,6 @@ def init_ecl():
- (values nil (princ-to-string cnd)))))
- """))
- safe_funcall_clobj=cl_eval(string_to_object(b"(symbol-function 'sage-safe-funcall)"))
--
- ecl_has_booted = 1
-
- cdef cl_object ecl_safe_eval(cl_object form) except NULL:
-diff --git a/src/sage/libs/eclsig.h b/src/sage/libs/eclsig.h
-index f9f2690..a7e1f40 100644
---- a/src/sage/libs/eclsig.h
-+++ b/src/sage/libs/eclsig.h
-@@ -9,24 +9,66 @@
-
-
- #include <signal.h>
-+
-+/* Rummage around to determine how ECL was configured */
-+#define ECL_AVOID_FPE_H /* Prevent some local includes */
-+#include <ecl/config-internal.h>
-+
-+#ifdef HAVE_FENV_H
-+#include <fenv.h>
-+#ifndef FE_ALL_EXCEPT
-+#define FE_ALL_EXCEPT FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INVALID
-+#endif
-+#else
-+#ifndef FE_ALL_EXCEPT
-+#define FE_ALL_EXCEPT 0
-+#endif
-+#define feclearexcept(flags) do {} while (0)
-+#endif
-+
-+#ifndef HAVE_FEENABLEEXCEPT
-+/* These are GNU extensions */
-+#define fegetexcept() 0
-+#define feenablexcept(flags) do {} while (0)
-+#define fdisableexcept(flags) do {} while (0)
-+#endif
-+
- static struct sigaction ecl_sigint_handler;
- static struct sigaction ecl_sigbus_handler;
-+static struct sigaction ecl_sigfpe_handler;
- static struct sigaction ecl_sigsegv_handler;
- static struct sigaction sage_sigint_handler;
- static struct sigaction sage_sigbus_handler;
-+static struct sigaction sage_sigfpe_handler;
- static struct sigaction sage_sigsegv_handler;
-+static int ecl_feflags;
-+static int sage_feflags;
-
- static inline void set_ecl_signal_handler(void)
- {
- sigaction(SIGINT, &ecl_sigint_handler, &sage_sigint_handler);
- sigaction(SIGBUS, &ecl_sigbus_handler, &sage_sigbus_handler);
-+ sigaction(SIGFPE, &ecl_sigfpe_handler, &sage_sigfpe_handler);
- sigaction(SIGSEGV, &ecl_sigsegv_handler, &sage_sigsegv_handler);
-+
-+ /* first clear pending floating point exceptions, if any */
-+ feclearexcept(FE_ALL_EXCEPT);
-+
-+ /* sage_feflags should be 0; we don't set them otherwise */
-+ sage_feflags = fedisableexcept(FE_ALL_EXCEPT);
-+ feenableexcept(ecl_feflags);
- }
-
- static inline void unset_ecl_signal_handler(void)
- {
-+ /* clear pending exceptions and restore previous exception mask */
-+ feclearexcept(FE_ALL_EXCEPT);
-+ ecl_feflags = fedisableexcept(FE_ALL_EXCEPT);
-+ feenableexcept(sage_feflags);
-+
- sigaction(SIGINT, &sage_sigint_handler, NULL);
- sigaction(SIGBUS, &sage_sigbus_handler, NULL);
-+ sigaction(SIGFPE, &sage_sigfpe_handler, NULL);
- sigaction(SIGSEGV, &sage_sigsegv_handler, NULL);
- }
-
Copied: sagemath/repos/community-x86_64/sagemath-ecl-sigfpe.patch (from rev 512887, sagemath/trunk/sagemath-ecl-sigfpe.patch)
===================================================================
--- sagemath-ecl-sigfpe.patch (rev 0)
+++ sagemath-ecl-sigfpe.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,147 @@
+diff --git a/src/sage/libs/ecl.pyx b/src/sage/libs/ecl.pyx
+index e408866..fa24ac0 100644
+--- a/src/sage/libs/ecl.pyx
++++ b/src/sage/libs/ecl.pyx
+@@ -16,7 +16,7 @@ from __future__ import print_function, absolute_import
+ #adapted to work with pure Python types.
+
+ from libc.stdlib cimport abort
+-from libc.signal cimport SIGINT, SIGBUS, SIGSEGV, SIGCHLD
++from libc.signal cimport SIGINT, SIGBUS, SIGSEGV, SIGCHLD, SIGFPE
+ from libc.signal cimport raise_ as signal_raise
+ from posix.signal cimport sigaction, sigaction_t
+ cimport cysignals.signals
+@@ -48,9 +48,14 @@ cdef extern from "eclsig.h":
+ void ecl_sig_off()
+ cdef sigaction_t ecl_sigint_handler
+ cdef sigaction_t ecl_sigbus_handler
++ cdef sigaction_t ecl_sigfpe_handler
+ cdef sigaction_t ecl_sigsegv_handler
+ cdef mpz_t ecl_mpz_from_bignum(cl_object obj)
+ cdef cl_object ecl_bignum_from_mpz(mpz_t num)
++ cdef int fegetexcept()
++ cdef int feenableexcept(int)
++ cdef int fedisableexcept(int)
++ cdef int ecl_feflags
+
+ cdef cl_object string_to_object(char * s):
+ return ecl_read_from_cstring(s)
+@@ -239,6 +244,7 @@ def init_ecl():
+ global ecl_has_booted
+ cdef char *argv[1]
+ cdef sigaction_t sage_action[32]
++ cdef int sage_fpes
+ cdef int i
+
+ if ecl_has_booted:
+@@ -258,6 +264,8 @@ def init_ecl():
+ for i in range(1,32):
+ sigaction(i, NULL, &sage_action[i])
+
++ sage_fpes = fegetexcept()
++
+ #initialize ECL
+ ecl_set_option(ECL_OPT_SIGNAL_HANDLING_THREAD, 0)
+ cl_boot(1, argv)
+@@ -265,8 +273,12 @@ def init_ecl():
+ #save signal handler from ECL
+ sigaction(SIGINT, NULL, &ecl_sigint_handler)
+ sigaction(SIGBUS, NULL, &ecl_sigbus_handler)
++ sigaction(SIGFPE, NULL, &ecl_sigfpe_handler)
+ sigaction(SIGSEGV, NULL, &ecl_sigsegv_handler)
+
++ #save ECL's floating point exception flags
++ ecl_feflags = fegetexcept()
++
+ #verify that no SIGCHLD handler was installed
+ cdef sigaction_t sig_test
+ sigaction(SIGCHLD, NULL, &sig_test)
+@@ -277,6 +289,9 @@ def init_ecl():
+ for i in range(1,32):
+ sigaction(i, &sage_action[i], NULL)
+
++ fedisableexcept(ecl_feflags)
++ feenableexcept(sage_fpes)
++
+ #initialise list of objects and bind to global variable
+ # *SAGE-LIST-OF-OBJECTS* to make it rooted in the reachable tree for the GC
+ list_of_objects=cl_cons(Cnil,cl_cons(Cnil,Cnil))
+@@ -320,7 +335,6 @@ def init_ecl():
+ (values nil (princ-to-string cnd)))))
+ """))
+ safe_funcall_clobj=cl_eval(string_to_object(b"(symbol-function 'sage-safe-funcall)"))
+-
+ ecl_has_booted = 1
+
+ cdef cl_object ecl_safe_eval(cl_object form) except NULL:
+diff --git a/src/sage/libs/eclsig.h b/src/sage/libs/eclsig.h
+index f9f2690..a7e1f40 100644
+--- a/src/sage/libs/eclsig.h
++++ b/src/sage/libs/eclsig.h
+@@ -9,24 +9,66 @@
+
+
+ #include <signal.h>
++
++/* Rummage around to determine how ECL was configured */
++#define ECL_AVOID_FPE_H /* Prevent some local includes */
++#include <ecl/config-internal.h>
++
++#ifdef HAVE_FENV_H
++#include <fenv.h>
++#ifndef FE_ALL_EXCEPT
++#define FE_ALL_EXCEPT FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INVALID
++#endif
++#else
++#ifndef FE_ALL_EXCEPT
++#define FE_ALL_EXCEPT 0
++#endif
++#define feclearexcept(flags) do {} while (0)
++#endif
++
++#ifndef HAVE_FEENABLEEXCEPT
++/* These are GNU extensions */
++#define fegetexcept() 0
++#define feenablexcept(flags) do {} while (0)
++#define fdisableexcept(flags) do {} while (0)
++#endif
++
+ static struct sigaction ecl_sigint_handler;
+ static struct sigaction ecl_sigbus_handler;
++static struct sigaction ecl_sigfpe_handler;
+ static struct sigaction ecl_sigsegv_handler;
+ static struct sigaction sage_sigint_handler;
+ static struct sigaction sage_sigbus_handler;
++static struct sigaction sage_sigfpe_handler;
+ static struct sigaction sage_sigsegv_handler;
++static int ecl_feflags;
++static int sage_feflags;
+
+ static inline void set_ecl_signal_handler(void)
+ {
+ sigaction(SIGINT, &ecl_sigint_handler, &sage_sigint_handler);
+ sigaction(SIGBUS, &ecl_sigbus_handler, &sage_sigbus_handler);
++ sigaction(SIGFPE, &ecl_sigfpe_handler, &sage_sigfpe_handler);
+ sigaction(SIGSEGV, &ecl_sigsegv_handler, &sage_sigsegv_handler);
++
++ /* first clear pending floating point exceptions, if any */
++ feclearexcept(FE_ALL_EXCEPT);
++
++ /* sage_feflags should be 0; we don't set them otherwise */
++ sage_feflags = fedisableexcept(FE_ALL_EXCEPT);
++ feenableexcept(ecl_feflags);
+ }
+
+ static inline void unset_ecl_signal_handler(void)
+ {
++ /* clear pending exceptions and restore previous exception mask */
++ feclearexcept(FE_ALL_EXCEPT);
++ ecl_feflags = fedisableexcept(FE_ALL_EXCEPT);
++ feenableexcept(sage_feflags);
++
+ sigaction(SIGINT, &sage_sigint_handler, NULL);
+ sigaction(SIGBUS, &sage_sigbus_handler, NULL);
++ sigaction(SIGFPE, &sage_sigfpe_handler, NULL);
+ sigaction(SIGSEGV, &sage_sigsegv_handler, NULL);
+ }
+
Deleted: sagemath-mathjax-dir.patch
===================================================================
--- sagemath-mathjax-dir.patch 2019-10-05 08:07:41 UTC (rev 512887)
+++ sagemath-mathjax-dir.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,27 +0,0 @@
-diff --git a/src/sage/docs/conf.py b/src/sage/docs/conf.py
-index 401342da5b..12c418ad93 100644
---- a/src/sage/docs/conf.py
-+++ b/src/sage/docs/conf.py
-@@ -1,5 +1,5 @@
- import sys, os, sphinx
--from sage.env import SAGE_DOC_SRC, SAGE_DOC, SAGE_SRC, THEBE_DIR, PPLPY_DOCS, SAGE_SHARE
-+from sage.env import SAGE_DOC_SRC, SAGE_DOC, SAGE_SRC, THEBE_DIR, PPLPY_DOCS, MATHJAX_DIR
- import sage.version
- from sage.misc.sagedoc import extlinks
- import dateutil.parser
-@@ -260,13 +260,12 @@ if (os.environ.get('SAGE_DOC_MATHJAX', 'no') != 'no'
- from sage.misc.latex_macros import sage_mathjax_macros
- html_theme_options['mathjax_macros'] = sage_mathjax_macros()
-
-- mathjax_relative = 'mathjax'
-+ mathjax_relative = os.path.basename(MATHJAX_DIR)
-
- # It would be really nice if sphinx would copy the entire mathjax directory,
- # (so we could have a _static/mathjax directory), rather than the contents of the directory
-
-- mathjax_static = os.path.join(SAGE_SHARE, mathjax_relative)
-- html_static_path.append(mathjax_static)
-+ html_static_path.append(MATHJAX_DIR)
- exclude_patterns += ['**/'+os.path.join(mathjax_relative, i)
- for i in ('docs', 'README*', 'test',
- 'unpacked', 'LICENSE')]
Copied: sagemath/repos/community-x86_64/sagemath-mathjax-dir.patch (from rev 512887, sagemath/trunk/sagemath-mathjax-dir.patch)
===================================================================
--- sagemath-mathjax-dir.patch (rev 0)
+++ sagemath-mathjax-dir.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,27 @@
+diff --git a/src/sage/docs/conf.py b/src/sage/docs/conf.py
+index 401342da5b..12c418ad93 100644
+--- a/src/sage/docs/conf.py
++++ b/src/sage/docs/conf.py
+@@ -1,5 +1,5 @@
+ import sys, os, sphinx
+-from sage.env import SAGE_DOC_SRC, SAGE_DOC, SAGE_SRC, THEBE_DIR, PPLPY_DOCS, SAGE_SHARE
++from sage.env import SAGE_DOC_SRC, SAGE_DOC, SAGE_SRC, THEBE_DIR, PPLPY_DOCS, MATHJAX_DIR
+ import sage.version
+ from sage.misc.sagedoc import extlinks
+ import dateutil.parser
+@@ -260,13 +260,12 @@ if (os.environ.get('SAGE_DOC_MATHJAX', 'no') != 'no'
+ from sage.misc.latex_macros import sage_mathjax_macros
+ html_theme_options['mathjax_macros'] = sage_mathjax_macros()
+
+- mathjax_relative = 'mathjax'
++ mathjax_relative = os.path.basename(MATHJAX_DIR)
+
+ # It would be really nice if sphinx would copy the entire mathjax directory,
+ # (so we could have a _static/mathjax directory), rather than the contents of the directory
+
+- mathjax_static = os.path.join(SAGE_SHARE, mathjax_relative)
+- html_static_path.append(mathjax_static)
++ html_static_path.append(MATHJAX_DIR)
+ exclude_patterns += ['**/'+os.path.join(mathjax_relative, i)
+ for i in ('docs', 'README*', 'test',
+ 'unpacked', 'LICENSE')]
Deleted: sagemath-primecount-5.1.patch
===================================================================
--- sagemath-primecount-5.1.patch 2019-10-05 08:07:41 UTC (rev 512887)
+++ sagemath-primecount-5.1.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,89 +0,0 @@
-diff --git a/src/sage/interfaces/primecount.pyx b/src/sage/interfaces/primecount.pyx
-index a0f698779e..86dce1c790 100644
---- a/src/sage/interfaces/primecount.pyx
-+++ b/src/sage/interfaces/primecount.pyx
-@@ -22,7 +22,7 @@ cdef inline int _do_sig(int64_t n):
- "threshold for sig_on/sig_off"
- return n >> 26
-
--cpdef int64_t prime_pi(int64_t n, method=None) except -1:
-+cpdef int64_t prime_pi(int64_t n) except -1:
- r"""
- Return the number of prime numbers smaller or equal than ``n``.
-
-@@ -30,71 +30,17 @@ cpdef int64_t prime_pi(int64_t n, method=None) except -1:
-
- - ``n`` - an integer
-
-- - ``method`` - ``None`` or a string that determines the primecount
-- function to be called
--
-- - ``"deleglise_rivat"``
-- - ``"legendre"``
-- - ``"lehmer"``
-- - ``"lmo"``
-- - ``"meissel"``
-- - ``"primesieve"``
--
- EXAMPLES::
-
- sage: from sage.interfaces.primecount import prime_pi # optional - primecount
-
- sage: prime_pi(1000) == 168 # optional - primecount
- True
-- sage: prime_pi(1000, "deleglise_rivat") == 168 # optional - primecount
-- True
-- sage: prime_pi(1000, "legendre") == 168 # optional - primecount
-- True
-- sage: prime_pi(1000, "lehmer") == 168 # optional - primecount
-- True
-- sage: prime_pi(1000, "lmo") == 168 # optional - primecount
-- True
-- sage: prime_pi(1000, "meissel") == 168 # optional - primecount
-- True
-- sage: prime_pi(1000, "primesieve") == 168 # optional - primecount
-- True
-- sage: prime_pi(1000, "youpi") # optional - primecount
-- Traceback (most recent call last):
-- ...
-- ValueError: unknown method 'youpi'
- """
- cdef int64_t ans
-- if method is None:
-- if _do_sig(n): sig_on()
-- ans = primecount.pi(n)
-- if _do_sig(n): sig_off()
-- elif method == "deleglise_rivat":
-- if _do_sig(n): sig_on()
-- ans = primecount.pi_deleglise_rivat(n)
-- if _do_sig(n): sig_off()
-- elif method == "legendre":
-- if _do_sig(n): sig_on()
-- ans = primecount.pi_legendre(n)
-- if _do_sig(n): sig_off()
-- elif method == "lehmer":
-- if _do_sig(n): sig_on()
-- ans = primecount.pi_lehmer(n)
-- if _do_sig(n): sig_off()
-- elif method == "lmo":
-- if _do_sig(n): sig_on()
-- ans = primecount.pi_lmo(n)
-- if _do_sig(n): sig_off()
-- elif method == "meissel":
-- if _do_sig(n): sig_on()
-- ans = primecount.pi_meissel(n)
-- if _do_sig(n): sig_off()
-- elif method == "primesieve":
-- if _do_sig(n): sig_on()
-- ans = primecount.pi_primesieve(n)
-- if _do_sig(n): sig_off()
-- else:
-- raise ValueError("unknown method {!r}".format(method))
--
-+ if _do_sig(n): sig_on()
-+ ans = primecount.pi(n)
-+ if _do_sig(n): sig_off()
- return ans
-
- cpdef prime_pi_128(n):
-
Copied: sagemath/repos/community-x86_64/sagemath-primecount-5.1.patch (from rev 512887, sagemath/trunk/sagemath-primecount-5.1.patch)
===================================================================
--- sagemath-primecount-5.1.patch (rev 0)
+++ sagemath-primecount-5.1.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,89 @@
+diff --git a/src/sage/interfaces/primecount.pyx b/src/sage/interfaces/primecount.pyx
+index a0f698779e..86dce1c790 100644
+--- a/src/sage/interfaces/primecount.pyx
++++ b/src/sage/interfaces/primecount.pyx
+@@ -22,7 +22,7 @@ cdef inline int _do_sig(int64_t n):
+ "threshold for sig_on/sig_off"
+ return n >> 26
+
+-cpdef int64_t prime_pi(int64_t n, method=None) except -1:
++cpdef int64_t prime_pi(int64_t n) except -1:
+ r"""
+ Return the number of prime numbers smaller or equal than ``n``.
+
+@@ -30,71 +30,17 @@ cpdef int64_t prime_pi(int64_t n, method=None) except -1:
+
+ - ``n`` - an integer
+
+- - ``method`` - ``None`` or a string that determines the primecount
+- function to be called
+-
+- - ``"deleglise_rivat"``
+- - ``"legendre"``
+- - ``"lehmer"``
+- - ``"lmo"``
+- - ``"meissel"``
+- - ``"primesieve"``
+-
+ EXAMPLES::
+
+ sage: from sage.interfaces.primecount import prime_pi # optional - primecount
+
+ sage: prime_pi(1000) == 168 # optional - primecount
+ True
+- sage: prime_pi(1000, "deleglise_rivat") == 168 # optional - primecount
+- True
+- sage: prime_pi(1000, "legendre") == 168 # optional - primecount
+- True
+- sage: prime_pi(1000, "lehmer") == 168 # optional - primecount
+- True
+- sage: prime_pi(1000, "lmo") == 168 # optional - primecount
+- True
+- sage: prime_pi(1000, "meissel") == 168 # optional - primecount
+- True
+- sage: prime_pi(1000, "primesieve") == 168 # optional - primecount
+- True
+- sage: prime_pi(1000, "youpi") # optional - primecount
+- Traceback (most recent call last):
+- ...
+- ValueError: unknown method 'youpi'
+ """
+ cdef int64_t ans
+- if method is None:
+- if _do_sig(n): sig_on()
+- ans = primecount.pi(n)
+- if _do_sig(n): sig_off()
+- elif method == "deleglise_rivat":
+- if _do_sig(n): sig_on()
+- ans = primecount.pi_deleglise_rivat(n)
+- if _do_sig(n): sig_off()
+- elif method == "legendre":
+- if _do_sig(n): sig_on()
+- ans = primecount.pi_legendre(n)
+- if _do_sig(n): sig_off()
+- elif method == "lehmer":
+- if _do_sig(n): sig_on()
+- ans = primecount.pi_lehmer(n)
+- if _do_sig(n): sig_off()
+- elif method == "lmo":
+- if _do_sig(n): sig_on()
+- ans = primecount.pi_lmo(n)
+- if _do_sig(n): sig_off()
+- elif method == "meissel":
+- if _do_sig(n): sig_on()
+- ans = primecount.pi_meissel(n)
+- if _do_sig(n): sig_off()
+- elif method == "primesieve":
+- if _do_sig(n): sig_on()
+- ans = primecount.pi_primesieve(n)
+- if _do_sig(n): sig_off()
+- else:
+- raise ValueError("unknown method {!r}".format(method))
+-
++ if _do_sig(n): sig_on()
++ ans = primecount.pi(n)
++ if _do_sig(n): sig_off()
+ return ans
+
+ cpdef prime_pi_128(n):
+
Deleted: sagemath-python3-notebook.patch
===================================================================
--- sagemath-python3-notebook.patch 2019-10-05 08:07:41 UTC (rev 512887)
+++ sagemath-python3-notebook.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,79 +0,0 @@
-diff --git a/src/bin/sage-notebook b/src/bin/sage-notebook
-index 83109e6..b954c22 100755
---- a/src/bin/sage-notebook
-+++ b/src/bin/sage-notebook
-@@ -91,12 +91,8 @@ class NotebookJupyter(object):
-
- def __init__(self, argv):
- self.print_banner()
-- from sage.repl.ipython_kernel.install import have_prerequisites
-- if not have_prerequisites():
-- print(self.PREREQUISITE_ERROR)
-- raise SystemExit(1)
-- from notebook.notebookapp import main
-- main(argv)
-+ from sys import prefix
-+ os.execv(os.path.join(prefix, 'bin', 'jupyter-notebook'), ['jupyter-notebook'] + argv)
-
-
- class NotebookJupyterlab(object):
-@@ -109,15 +105,15 @@ class NotebookJupyterlab(object):
- cls(['help'])
-
- def __init__(self, argv):
-+ self.print_banner()
-+ from sys import prefix
- try:
-- from jupyterlab.labapp import main
-- except ImportError:
-+ os.execv(os.path.join(prefix, 'bin', 'jupyter-lab'), ['jupyter-lab'] + argv)
-+ except OSError:
- print("Jupyterlab is not installed (at least not in this Sage installation).")
- print("You can install it by running")
- print(" sage --pip install jupyterlab")
- raise SystemExit(1)
-- self.print_banner()
-- main(argv)
-
-
- class SageNBExport(NotebookJupyter):
-diff --git a/src/sage/repl/ipython_kernel/install.py b/src/sage/repl/ipython_kernel/install.py
-index 073fae5..81378f4 100644
---- a/src/sage/repl/ipython_kernel/install.py
-+++ b/src/sage/repl/ipython_kernel/install.py
-@@ -279,35 +279,3 @@ class SageKernelSpec(object):
- instance.use_local_threejs()
- instance._install_spec()
- instance._symlink_resources()
--
--
--def have_prerequisites(debug=True):
-- """
-- Check that we have all prerequisites to run the Jupyter notebook.
--
-- In particular, the Jupyter notebook requires OpenSSL whether or
-- not you are using https. See :trac:`17318`.
--
-- INPUT:
--
-- ``debug`` -- boolean (default: ``True``). Whether to print debug
-- information in case that prerequisites are missing.
--
-- OUTPUT:
--
-- Boolean.
--
-- EXAMPLES::
--
-- sage: from sage.repl.ipython_kernel.install import have_prerequisites
-- sage: have_prerequisites(debug=False) in [True, False]
-- True
-- """
-- try:
-- from notebook.notebookapp import NotebookApp
-- return True
-- except ImportError:
-- if debug:
-- import traceback
-- traceback.print_exc()
-- return False
Copied: sagemath/repos/community-x86_64/sagemath-python3-notebook.patch (from rev 512887, sagemath/trunk/sagemath-python3-notebook.patch)
===================================================================
--- sagemath-python3-notebook.patch (rev 0)
+++ sagemath-python3-notebook.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,79 @@
+diff --git a/src/bin/sage-notebook b/src/bin/sage-notebook
+index 83109e6..b954c22 100755
+--- a/src/bin/sage-notebook
++++ b/src/bin/sage-notebook
+@@ -91,12 +91,8 @@ class NotebookJupyter(object):
+
+ def __init__(self, argv):
+ self.print_banner()
+- from sage.repl.ipython_kernel.install import have_prerequisites
+- if not have_prerequisites():
+- print(self.PREREQUISITE_ERROR)
+- raise SystemExit(1)
+- from notebook.notebookapp import main
+- main(argv)
++ from sys import prefix
++ os.execv(os.path.join(prefix, 'bin', 'jupyter-notebook'), ['jupyter-notebook'] + argv)
+
+
+ class NotebookJupyterlab(object):
+@@ -109,15 +105,15 @@ class NotebookJupyterlab(object):
+ cls(['help'])
+
+ def __init__(self, argv):
++ self.print_banner()
++ from sys import prefix
+ try:
+- from jupyterlab.labapp import main
+- except ImportError:
++ os.execv(os.path.join(prefix, 'bin', 'jupyter-lab'), ['jupyter-lab'] + argv)
++ except OSError:
+ print("Jupyterlab is not installed (at least not in this Sage installation).")
+ print("You can install it by running")
+ print(" sage --pip install jupyterlab")
+ raise SystemExit(1)
+- self.print_banner()
+- main(argv)
+
+
+ class SageNBExport(NotebookJupyter):
+diff --git a/src/sage/repl/ipython_kernel/install.py b/src/sage/repl/ipython_kernel/install.py
+index 073fae5..81378f4 100644
+--- a/src/sage/repl/ipython_kernel/install.py
++++ b/src/sage/repl/ipython_kernel/install.py
+@@ -279,35 +279,3 @@ class SageKernelSpec(object):
+ instance.use_local_threejs()
+ instance._install_spec()
+ instance._symlink_resources()
+-
+-
+-def have_prerequisites(debug=True):
+- """
+- Check that we have all prerequisites to run the Jupyter notebook.
+-
+- In particular, the Jupyter notebook requires OpenSSL whether or
+- not you are using https. See :trac:`17318`.
+-
+- INPUT:
+-
+- ``debug`` -- boolean (default: ``True``). Whether to print debug
+- information in case that prerequisites are missing.
+-
+- OUTPUT:
+-
+- Boolean.
+-
+- EXAMPLES::
+-
+- sage: from sage.repl.ipython_kernel.install import have_prerequisites
+- sage: have_prerequisites(debug=False) in [True, False]
+- True
+- """
+- try:
+- from notebook.notebookapp import NotebookApp
+- return True
+- except ImportError:
+- if debug:
+- import traceback
+- traceback.print_exc()
+- return False
Deleted: sagemath-singular-4.1.2.patch
===================================================================
--- sagemath-singular-4.1.2.patch 2019-10-05 08:07:41 UTC (rev 512887)
+++ sagemath-singular-4.1.2.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,102 +0,0 @@
-diff --git a/src/sage/libs/singular/function.pyx b/src/sage/libs/singular/function.pyx
-index 87342e8..9a0d37d 100644
---- a/src/sage/libs/singular/function.pyx
-+++ b/src/sage/libs/singular/function.pyx
-@@ -1258,7 +1258,7 @@ cdef class SingularFunction(SageObject):
- Traceback (most recent call last):
- ...
- RuntimeError: error in Singular function call 'size':
-- Wrong number of arguments (got 2 arguments, arity code is 300)
-+ Wrong number of arguments (got 2 arguments, arity code is 302)
- sage: size('foobar', ring=P)
- 6
-
-@@ -1667,17 +1667,17 @@ def singular_function(name):
- Traceback (most recent call last):
- ...
- RuntimeError: error in Singular function call 'factorize':
-- Wrong number of arguments (got 0 arguments, arity code is 303)
-+ Wrong number of arguments (got 0 arguments, arity code is 305)
- sage: factorize(f, 1, 2)
- Traceback (most recent call last):
- ...
- RuntimeError: error in Singular function call 'factorize':
-- Wrong number of arguments (got 3 arguments, arity code is 303)
-+ Wrong number of arguments (got 3 arguments, arity code is 305)
- sage: factorize(f, 1, 2, 3)
- Traceback (most recent call last):
- ...
- RuntimeError: error in Singular function call 'factorize':
-- Wrong number of arguments (got 4 arguments, arity code is 303)
-+ Wrong number of arguments (got 4 arguments, arity code is 305)
-
- The Singular function ``list`` can be called with any number of
- arguments::
-diff --git a/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx b/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx
-index 8f6576b477..deaf0f5769 100644
---- a/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx
-+++ b/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx
-@@ -447,7 +447,7 @@ cdef class FreeAlgebraElement_letterplace(AlgebraElement):
- return True
- for i from 0 <= i < p_d-s_d:
- s_poly = singular_system("stest",s_poly,1,
-- A._degbound,A.__ngens,ring=P)
-+ ring=P)
- if P.monomial_divides(s_poly,p_poly):
- return True
- return False
-@@ -601,7 +601,7 @@ cdef class FreeAlgebraElement_letterplace(AlgebraElement):
- # we must put the polynomials into the same ring
- left._poly = A._current_ring(left._poly)
- right._poly = A._current_ring(right._poly)
-- rshift = singular_system("stest",right._poly,left._poly.degree(),A._degbound,A.__ngens, ring=A._current_ring)
-+ rshift = singular_system("stest",right._poly,left._poly.degree(), ring=A._current_ring)
- return FreeAlgebraElement_letterplace(A,left._poly*rshift, check=False)
-
- def __pow__(FreeAlgebraElement_letterplace self, int n, k):
-@@ -629,7 +629,7 @@ cdef class FreeAlgebraElement_letterplace(AlgebraElement):
- q = p = self._poly
- cdef int i
- for i from 0<i<n:
-- q = singular_system("stest",q,d,A._degbound,A.__ngens,
-+ q = singular_system("stest",q,d,
- ring=A._current_ring)
- p *= q
- return FreeAlgebraElement_letterplace(A, p, check=False)
-diff --git a/src/sage/algebras/letterplace/free_algebra_letterplace.pyx b/src/sage/algebras/letterplace/free_algebra_letterplace.pyx
-index 7a8400052e..b3474fa07c 100644
---- a/src/sage/algebras/letterplace/free_algebra_letterplace.pyx
-+++ b/src/sage/algebras/letterplace/free_algebra_letterplace.pyx
-@@ -683,7 +683,7 @@ cdef class FreeAlgebra_letterplace(Algebra):
- degbound = self._degbound
- cdef list G = [C(x._poly) for x in g]
- for y in G:
-- out.extend([y]+[singular_system("stest",y,n+1,degbound,ngens,ring=C) for n in xrange(d-y.degree())])
-+ out.extend([y]+[singular_system("stest",y,n+1,ring=C) for n in xrange(d-y.degree())])
- return C.ideal(out)
-
- ###########################
-diff --git a/src/sage/algebras/letterplace/letterplace_ideal.pyx b/src/sage/algebras/letterplace/letterplace_ideal.pyx
-index 5776c58cf7..e4ad267bd4 100644
---- a/src/sage/algebras/letterplace/letterplace_ideal.pyx
-+++ b/src/sage/algebras/letterplace/letterplace_ideal.pyx
-@@ -48,7 +48,7 @@ from sage.rings.infinity import Infinity
- #####################
- # Define some singular functions
- lib("freegb.lib")
--singular_system=singular_function("system")
-+singular_std=singular_function("std")
- poly_reduce=singular_function("NF")
-
- class LetterplaceIdeal(Ideal_nc):
-@@ -276,8 +276,7 @@ class LetterplaceIdeal(Ideal_nc):
- A.set_degbound(degbound)
- P = A._current_ring
- out = [FreeAlgebraElement_letterplace(A,X,check=False) for X in
-- singular_system("freegb",P.ideal([x._poly for x in self.__GB.gens()]),
-- degbound,A.__ngens, ring = P)]
-+ singular_std(P.ideal([x._poly for x in self.__GB.gens()]), ring = P)]
- libsingular_options['redTail'] = bck[0]
- libsingular_options['redSB'] = bck[1]
- self.__GB = A.ideal(out,side='twosided',coerce=False)
-
Copied: sagemath/repos/community-x86_64/sagemath-singular-4.1.2.patch (from rev 512887, sagemath/trunk/sagemath-singular-4.1.2.patch)
===================================================================
--- sagemath-singular-4.1.2.patch (rev 0)
+++ sagemath-singular-4.1.2.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,102 @@
+diff --git a/src/sage/libs/singular/function.pyx b/src/sage/libs/singular/function.pyx
+index 87342e8..9a0d37d 100644
+--- a/src/sage/libs/singular/function.pyx
++++ b/src/sage/libs/singular/function.pyx
+@@ -1258,7 +1258,7 @@ cdef class SingularFunction(SageObject):
+ Traceback (most recent call last):
+ ...
+ RuntimeError: error in Singular function call 'size':
+- Wrong number of arguments (got 2 arguments, arity code is 300)
++ Wrong number of arguments (got 2 arguments, arity code is 302)
+ sage: size('foobar', ring=P)
+ 6
+
+@@ -1667,17 +1667,17 @@ def singular_function(name):
+ Traceback (most recent call last):
+ ...
+ RuntimeError: error in Singular function call 'factorize':
+- Wrong number of arguments (got 0 arguments, arity code is 303)
++ Wrong number of arguments (got 0 arguments, arity code is 305)
+ sage: factorize(f, 1, 2)
+ Traceback (most recent call last):
+ ...
+ RuntimeError: error in Singular function call 'factorize':
+- Wrong number of arguments (got 3 arguments, arity code is 303)
++ Wrong number of arguments (got 3 arguments, arity code is 305)
+ sage: factorize(f, 1, 2, 3)
+ Traceback (most recent call last):
+ ...
+ RuntimeError: error in Singular function call 'factorize':
+- Wrong number of arguments (got 4 arguments, arity code is 303)
++ Wrong number of arguments (got 4 arguments, arity code is 305)
+
+ The Singular function ``list`` can be called with any number of
+ arguments::
+diff --git a/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx b/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx
+index 8f6576b477..deaf0f5769 100644
+--- a/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx
++++ b/src/sage/algebras/letterplace/free_algebra_element_letterplace.pyx
+@@ -447,7 +447,7 @@ cdef class FreeAlgebraElement_letterplace(AlgebraElement):
+ return True
+ for i from 0 <= i < p_d-s_d:
+ s_poly = singular_system("stest",s_poly,1,
+- A._degbound,A.__ngens,ring=P)
++ ring=P)
+ if P.monomial_divides(s_poly,p_poly):
+ return True
+ return False
+@@ -601,7 +601,7 @@ cdef class FreeAlgebraElement_letterplace(AlgebraElement):
+ # we must put the polynomials into the same ring
+ left._poly = A._current_ring(left._poly)
+ right._poly = A._current_ring(right._poly)
+- rshift = singular_system("stest",right._poly,left._poly.degree(),A._degbound,A.__ngens, ring=A._current_ring)
++ rshift = singular_system("stest",right._poly,left._poly.degree(), ring=A._current_ring)
+ return FreeAlgebraElement_letterplace(A,left._poly*rshift, check=False)
+
+ def __pow__(FreeAlgebraElement_letterplace self, int n, k):
+@@ -629,7 +629,7 @@ cdef class FreeAlgebraElement_letterplace(AlgebraElement):
+ q = p = self._poly
+ cdef int i
+ for i from 0<i<n:
+- q = singular_system("stest",q,d,A._degbound,A.__ngens,
++ q = singular_system("stest",q,d,
+ ring=A._current_ring)
+ p *= q
+ return FreeAlgebraElement_letterplace(A, p, check=False)
+diff --git a/src/sage/algebras/letterplace/free_algebra_letterplace.pyx b/src/sage/algebras/letterplace/free_algebra_letterplace.pyx
+index 7a8400052e..b3474fa07c 100644
+--- a/src/sage/algebras/letterplace/free_algebra_letterplace.pyx
++++ b/src/sage/algebras/letterplace/free_algebra_letterplace.pyx
+@@ -683,7 +683,7 @@ cdef class FreeAlgebra_letterplace(Algebra):
+ degbound = self._degbound
+ cdef list G = [C(x._poly) for x in g]
+ for y in G:
+- out.extend([y]+[singular_system("stest",y,n+1,degbound,ngens,ring=C) for n in xrange(d-y.degree())])
++ out.extend([y]+[singular_system("stest",y,n+1,ring=C) for n in xrange(d-y.degree())])
+ return C.ideal(out)
+
+ ###########################
+diff --git a/src/sage/algebras/letterplace/letterplace_ideal.pyx b/src/sage/algebras/letterplace/letterplace_ideal.pyx
+index 5776c58cf7..e4ad267bd4 100644
+--- a/src/sage/algebras/letterplace/letterplace_ideal.pyx
++++ b/src/sage/algebras/letterplace/letterplace_ideal.pyx
+@@ -48,7 +48,7 @@ from sage.rings.infinity import Infinity
+ #####################
+ # Define some singular functions
+ lib("freegb.lib")
+-singular_system=singular_function("system")
++singular_std=singular_function("std")
+ poly_reduce=singular_function("NF")
+
+ class LetterplaceIdeal(Ideal_nc):
+@@ -276,8 +276,7 @@ class LetterplaceIdeal(Ideal_nc):
+ A.set_degbound(degbound)
+ P = A._current_ring
+ out = [FreeAlgebraElement_letterplace(A,X,check=False) for X in
+- singular_system("freegb",P.ideal([x._poly for x in self.__GB.gens()]),
+- degbound,A.__ngens, ring = P)]
++ singular_std(P.ideal([x._poly for x in self.__GB.gens()]), ring = P)]
+ libsingular_options['redTail'] = bck[0]
+ libsingular_options['redSB'] = bck[1]
+ self.__GB = A.ideal(out,side='twosided',coerce=False)
+
Deleted: test-optional.patch
===================================================================
--- test-optional.patch 2019-10-05 08:07:41 UTC (rev 512887)
+++ test-optional.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -1,20 +0,0 @@
---- src/sage/doctest/control.py.orig 2016-10-20 19:39:53.714618246 +0200
-+++ src/sage/doctest/control.py 2016-10-20 19:40:15.158049920 +0200
-@@ -347,17 +347,6 @@
- # Special case to run all optional tests
- options.optional = True
- else:
-- # We replace the 'optional' tag by all optional
-- # packages for which the installed version matches the
-- # latest available version (this implies in particular
-- # that the package is actually installed).
-- if 'optional' in options.optional:
-- options.optional.discard('optional')
-- from sage.misc.package import list_packages
-- for pkg in list_packages('optional', local=True).values():
-- if pkg['installed_version'] == pkg['remote_version']:
-- options.optional.add(pkg['name'])
--
- # Check that all tags are valid
- for o in options.optional:
- if not optionaltag_regex.search(o):
Copied: sagemath/repos/community-x86_64/test-optional.patch (from rev 512887, sagemath/trunk/test-optional.patch)
===================================================================
--- test-optional.patch (rev 0)
+++ test-optional.patch 2019-10-05 08:08:49 UTC (rev 512888)
@@ -0,0 +1,20 @@
+--- src/sage/doctest/control.py.orig 2016-10-20 19:39:53.714618246 +0200
++++ src/sage/doctest/control.py 2016-10-20 19:40:15.158049920 +0200
+@@ -347,17 +347,6 @@
+ # Special case to run all optional tests
+ options.optional = True
+ else:
+- # We replace the 'optional' tag by all optional
+- # packages for which the installed version matches the
+- # latest available version (this implies in particular
+- # that the package is actually installed).
+- if 'optional' in options.optional:
+- options.optional.discard('optional')
+- from sage.misc.package import list_packages
+- for pkg in list_packages('optional', local=True).values():
+- if pkg['installed_version'] == pkg['remote_version']:
+- options.optional.add(pkg['name'])
+-
+ # Check that all tags are valid
+ for o in options.optional:
+ if not optionaltag_regex.search(o):
More information about the arch-commits
mailing list