[arch-commits] Commit in sagemath/repos (14 files)

Antonio Rojas arojas at archlinux.org
Sun Dec 23 13:32:46 UTC 2018


    Date: Sunday, December 23, 2018 @ 13:32:46
  Author: arojas
Revision: 417616

archrelease: copy trunk to community-staging-x86_64

Added:
  sagemath/repos/community-staging-x86_64/
  sagemath/repos/community-staging-x86_64/PKGBUILD
    (from rev 417615, sagemath/trunk/PKGBUILD)
  sagemath/repos/community-staging-x86_64/fes02.patch
    (from rev 417615, sagemath/trunk/fes02.patch)
  sagemath/repos/community-staging-x86_64/latte-count.patch
    (from rev 417615, sagemath/trunk/latte-count.patch)
  sagemath/repos/community-staging-x86_64/package.patch
    (from rev 417615, sagemath/trunk/package.patch)
  sagemath/repos/community-staging-x86_64/sagemath-cremona.patch
    (from rev 417615, sagemath/trunk/sagemath-cremona.patch)
  sagemath/repos/community-staging-x86_64/sagemath-cypari2.patch
    (from rev 417615, sagemath/trunk/sagemath-cypari2.patch)
  sagemath/repos/community-staging-x86_64/sagemath-env.patch
    (from rev 417615, sagemath/trunk/sagemath-env.patch)
  sagemath/repos/community-staging-x86_64/sagemath-networkx-2.2.patch
    (from rev 417615, sagemath/trunk/sagemath-networkx-2.2.patch)
  sagemath/repos/community-staging-x86_64/sagemath-python3-notebook.patch
    (from rev 417615, sagemath/trunk/sagemath-python3-notebook.patch)
  sagemath/repos/community-staging-x86_64/sagemath-singular-4.1.1.p4.patch
    (from rev 417615, sagemath/trunk/sagemath-singular-4.1.1.p4.patch)
  sagemath/repos/community-staging-x86_64/sagemath-sphinx-1.8.patch
    (from rev 417615, sagemath/trunk/sagemath-sphinx-1.8.patch)
  sagemath/repos/community-staging-x86_64/sagemath-threejs.patch
    (from rev 417615, sagemath/trunk/sagemath-threejs.patch)
  sagemath/repos/community-staging-x86_64/test-optional.patch
    (from rev 417615, sagemath/trunk/test-optional.patch)

----------------------------------+
 PKGBUILD                         |  161 ++++++++++++++++++++++++++
 fes02.patch                      |   57 +++++++++
 latte-count.patch                |   89 ++++++++++++++
 package.patch                    |   39 ++++++
 sagemath-cremona.patch           |   31 +++++
 sagemath-cypari2.patch           |   62 ++++++++++
 sagemath-env.patch               |  162 ++++++++++++++++++++++++++
 sagemath-networkx-2.2.patch      |  224 +++++++++++++++++++++++++++++++++++++
 sagemath-python3-notebook.patch  |   27 ++++
 sagemath-singular-4.1.1.p4.patch |   78 ++++++++++++
 sagemath-sphinx-1.8.patch        |   28 ++++
 sagemath-threejs.patch           |   11 +
 test-optional.patch              |   25 ++++
 13 files changed, 994 insertions(+)

Copied: sagemath/repos/community-staging-x86_64/PKGBUILD (from rev 417615, sagemath/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2018-12-23 13:32:46 UTC (rev 417616)
@@ -0,0 +1,161 @@
+# 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.5
+pkgrel=1
+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 ppl 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-future gap flintqs lcalc lrcalc arb
+  eclib gmp-ecm 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
+  libgiac libhomfly libbraiding three.js openblas)
+optdepends=('cython2: to compile cython code' 'python2-pkgconfig: to compile cython code'
+  'jmol: 3D plots' 'sage-notebook: Flask notebook interface (deprecated)'
+  'sagemath-doc: Documentation and inline help' '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' 'polymake: polymake backend for polyhedral computations'
+  'shared_meataxe: faster matrix arithmetic over finite fields'
+  '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 symmetrica python2-jinja coin-or-cbc sirocco
+  mcqd coxeter bliss-graphs tdlib python2-pkgconfig shared_meataxe libfes primecount)
+source=("$pkgname-$pkgver.tar.gz::https://github.com/sagemath/sage/archive/$pkgver.tar.gz"
+        sagemath-env.patch
+        package.patch
+        latte-count.patch
+        sagemath-python3-notebook.patch
+        test-optional.patch
+        fes02.patch
+        sagemath-threejs.patch
+        sagemath-cremona.patch
+        sagemath-gap-4.10.patch
+        sagemath-sphinx-1.8.patch
+        sagemath-networkx-2.2.patch
+        sagemath-cypari2.patch
+        sagemath-singular-4.1.1.p4.patch)
+sha256sums=('369810fac9ad7fb6cb1eb2a82d3e3679edee015778de34c56670d4ee80bde690'
+            'f26ab0f22d7d916a621f02b9d9fc806eb6825f8d34cdf45accb0e2601c82f049'
+            '960afe4fcbffe2762b66119b8f14355386ced0d8ee52b535d0dac1dba90d365b'
+            'ef265f88ceb6caf4aac2d86ea74850861d99a63d11c94fc52b2ce88053c26d1e'
+            'bd2744c6564bbf71bd6ea3cd7b9031e2126cc1423bcdc1fcc258d90d750a129d'
+            'f12bd2a53ad51549015093aacc89978f4d796d9ab5bcd3d737aa0d57a5815b54'
+            '7fcb52e96935dccb0f958d37c2f4e3918392480b9af53e08562f6cba6c68cb94'
+            'f6b48abf34f64ea3fc092b0f0179e89633f7d3ecc0d62c2acacbfa1217751d63'
+            '4c6df9e4e5a7b29ecf6189eda3e5a79f69b6e1b4d29c1b9559663149b8c0af96'
+            '224f8d1db783d7ae25408912c4891687d6a8a1dacc8c5b3a00b725a28d951b6c'
+            '22f5e44a42c8276025b8512f45cac1c36d576c29c7fd9d36fde8b19ff87867d8'
+            '27e2590d3ff8242dd76579defdcf3d17ce54937e1bc8c847089fd3b681e98008'
+            '1677bcaa3fe19bf978b6ffaae7b64b7ec32df63fa3d0e28b179cfa831fcfa896'
+            '482887fe43d89cef3270e89300ab9e2238fa74cd5b7c875688b68fb1b10c4fdf')
+
+prepare(){
+  cd sage-$pkgver
+
+# Arch-specific patches
+# assume all optional packages are installed
+  patch -p0 -i ../package.patch
+# set env variables
+  patch -p0 -i ../sagemath-env.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 three.js plotting backend
+  patch -p1 -i ../sagemath-threejs.patch
+# fix introspection with sphinx 1.8
+  patch -p1 -i ../sagemath-sphinx-1.8.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
+# Fix graph generators with networkx 2.2 https://trac.sagemath.org/ticket/26326
+  patch -p1 -i ../sagemath-networkx-2.2.patch
+# Fix build with cypari 2.0 https://trac.sagemath.org/ticket/26442
+  patch -p1 -i ../sagemath-cypari2.patch
+# Build with GAP 4.10 https://trac.sagemath.org/ticket/22626
+  patch -p1 -i ../sagemath-gap-4.10.patch
+# Fixes for singular 4.1.1p4 https://trac.sagemath.org/ticket/25993
+  patch -p1 -i ../sagemath-singular-4.1.1.p4.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|cython {OPT}|cython2 {OPT}|' -e 's|python setup.py|python2 setup.py|' -i src/sage/misc/cython.py
+  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
+  export SAGE_ROOT="$PWD"
+  export SAGE_SRC="$PWD"
+  python2 setup.py build
+}
+
+package_sagemath() {
+  optdepends+=('sagemath-jupyter: Jupyter kernel')
+
+  cd sage-$pkgver/src
+
+  export SAGE_ROOT="$PWD"
+  export SAGE_LOCAL="/usr"
+  export 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 env eval 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
+
+# Split jupyter kernel
+  rm -r "$pkgdir"/usr/share/jupyter
+}
+
+package_sagemath-jupyter() {
+  pkgdesc='Jupyter kernel for SageMath'
+  depends=(sagemath python2-jupyter_client python2-ipywidgets mathjax jsmol)
+  optdepends=('sage-notebook-exporter: convert flask notebooks to Jupyter')
+
+  cd sage-$pkgver/src
+
+  export SAGE_ROOT="$PWD"
+  export SAGE_LOCAL="/usr"
+
+  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-staging-x86_64/fes02.patch (from rev 417615, sagemath/trunk/fes02.patch)
===================================================================
--- community-staging-x86_64/fes02.patch	                        (rev 0)
+++ community-staging-x86_64/fes02.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -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
+

Copied: sagemath/repos/community-staging-x86_64/latte-count.patch (from rev 417615, sagemath/trunk/latte-count.patch)
===================================================================
--- community-staging-x86_64/latte-count.patch	                        (rev 0)
+++ community-staging-x86_64/latte-count.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -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
+@@ -171,7 +171,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
+@@ -179,7 +179,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
+@@ -187,7 +187,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
+@@ -195,7 +195,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
+@@ -207,7 +207,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
+@@ -93,7 +93,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: ...
+@@ -112,7 +112,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
+     # Check that LattE is present
+     Latte().require()
+ 
+-    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
+@@ -10,10 +10,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", spkg="latte_int", url="https://www.math.ucdavis.edu/~latte/software.php")
++        Executable.__init__(self, "latte-count", executable="latte-count", spkg="latte_int", url="https://www.math.ucdavis.edu/~latte/software.php")
+ 
+ class Latte_integrate(Executable):
+     r"""
+

Copied: sagemath/repos/community-staging-x86_64/package.patch (from rev 417615, sagemath/trunk/package.patch)
===================================================================
--- community-staging-x86_64/package.patch	                        (rev 0)
+++ community-staging-x86_64/package.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -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
+@@ -328,7 +328,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):
+     r"""
+--- 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-staging-x86_64/sagemath-cremona.patch (from rev 417615, sagemath/trunk/sagemath-cremona.patch)
===================================================================
--- community-staging-x86_64/sagemath-cremona.patch	                        (rev 0)
+++ community-staging-x86_64/sagemath-cremona.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -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
+@@ -53,7 +53,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
+ from sage.misc.all import walltime
+ 
+@@ -835,7 +835,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:
+@@ -1683,7 +1683,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-staging-x86_64/sagemath-cypari2.patch (from rev 417615, sagemath/trunk/sagemath-cypari2.patch)
===================================================================
--- community-staging-x86_64/sagemath-cypari2.patch	                        (rev 0)
+++ community-staging-x86_64/sagemath-cypari2.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -0,0 +1,62 @@
+diff --git a/src/sage/rings/finite_rings/element_pari_ffelt.pyx b/src/sage/rings/finite_rings/element_pari_ffelt.pyx
+index ff73a1f..fba303a 100644
+--- a/src/sage/rings/finite_rings/element_pari_ffelt.pyx
++++ b/src/sage/rings/finite_rings/element_pari_ffelt.pyx
+@@ -869,7 +869,7 @@ cdef class FiniteFieldElement_pari_ffelt(FinitePolyExtElement):
+             Univariate Polynomial Ring in beta over Finite Field of size 3
+         """
+         sig_on()
+-        return self._parent.polynomial_ring(name)(new_gen(FF_to_FpXQ_i(self.val)))
++        return self._parent.polynomial_ring(name)(new_gen(FF_to_FpXQ(self.val)))
+ 
+     def minpoly(self, var='x'):
+         """
+diff --git a/src/sage/rings/number_field/maps.py b/src/sage/rings/number_field/maps.py
+index 1727c13..5717227 100644
+--- a/src/sage/rings/number_field/maps.py
++++ b/src/sage/rings/number_field/maps.py
+@@ -358,7 +358,7 @@ class MapRelativeNumberFieldToRelativeVectorSpace(NumberFieldIsomorphism):
+             g = g(beta).lift()
+         # Convert the coefficients to elements of the base field.
+         B, from_B, _ = K.absolute_base_field()
+-        return self.codomain()([from_B(B(z.lift(), check=False)) for z in g.Vecrev(-K.relative_degree())])
++        return self.codomain()([from_B(B(z.lift(), check=False)) for z in g.Vecrev(K.relative_degree())])
+ 
+ 
+ class NameChangeMap(NumberFieldIsomorphism):
+diff --git a/src/sage/rings/polynomial/polynomial_element.pyx b/src/sage/rings/polynomial/polynomial_element.pyx
+index 2b5504a..8bd32dd 100644
+--- a/src/sage/rings/polynomial/polynomial_element.pyx
++++ b/src/sage/rings/polynomial/polynomial_element.pyx
+@@ -4364,8 +4364,7 @@ cdef class Polynomial(CommutativeAlgebraElement):
+             sage: G.prod() == g
+             True
+         """
+-        pols = G[0]
+-        exps = G[1]
++        pols, exps = G
+         R = self._parent
+         F = [(R(f), int(e)) for f, e in zip(pols, exps)]
+ 
+diff --git a/src/sage/rings/power_series_pari.pyx b/src/sage/rings/power_series_pari.pyx
+index e37e0a3..2e03ade 100644
+--- a/src/sage/rings/power_series_pari.pyx
++++ b/src/sage/rings/power_series_pari.pyx
+@@ -678,7 +678,8 @@ cdef class PowerSeries_pari(PowerSeries):
+             g = g.truncate()
+         if typ(g.g) == t_POL and varn(g.g) == vn:
+             # t_POL has 2 codewords.  Use new_ref instead of g[i] for speed.
+-            return [R(g.new_ref(gel(g.g, i))) for i in range(2, lg(g.g))]
++            G = g.fixGEN()
++            return [R(g.new_ref(gel(G, i))) for i in range(2, lg(G))]
+         else:
+             return [R(g)]
+ 
+@@ -729,6 +730,7 @@ cdef class PowerSeries_pari(PowerSeries):
+             return []
+ 
+         cdef pari_gen g = self.g
++        g.fixGEN()
+         cdef long l, m
+ 
+         R = self.base_ring()

Copied: sagemath/repos/community-staging-x86_64/sagemath-env.patch (from rev 417615, sagemath/trunk/sagemath-env.patch)
===================================================================
--- community-staging-x86_64/sagemath-env.patch	                        (rev 0)
+++ community-staging-x86_64/sagemath-env.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -0,0 +1,162 @@
+--- src/bin/sage-env.orig	2015-01-06 10:46:04.469687605 +0100
++++ src/bin/sage-env	2015-01-06 10:49:59.547762019 +0100
+@@ -111,41 +111,7 @@
+ }
+ 
+ 
+-# New value for SAGE_ROOT: either SAGE_ROOT (if given)
+-# or a guessed value based on pwd.
+-if [ -n "$SAGE_ROOT" ]; then
+-    NEW_SAGE_ROOT="$SAGE_ROOT"
+-elif [ -f sage -a -d build ]; then
+-    NEW_SAGE_ROOT="."
+-elif [ -f ../../sage -a -d ../../build ]; then
+-    NEW_SAGE_ROOT="../.."
+-else
+-    # No idea what SAGE_ROOT should be...
+-    echo >&2 "Error: You must set the SAGE_ROOT environment variable or run this"
+-    echo >&2 "script from the SAGE_ROOT or SAGE_ROOT/local/bin/ directory."
+-    return 1
+-fi
+-
+-# Make NEW_SAGE_ROOT absolute
+-NEW_SAGE_ROOT=`cd "$NEW_SAGE_ROOT" && pwd -P`
+-
+-# Sanity check NEW_SAGE_ROOT
+-if [ -f "$NEW_SAGE_ROOT/sage" -a -d "$NEW_SAGE_ROOT/build" ]; then
+-    :
+-else
+-    echo >&2 "Error: SAGE_ROOT is set to a bad value:"
+-    echo >&2 "SAGE_ROOT=$SAGE_ROOT"
+-    echo >&2 "You must correct it or erase it and run this script from the SAGE_ROOT"
+-    echo >&2 "or SAGE_ROOT/local/bin/ directory."
+-    return 1
+-fi
+-
+-# Warn if NEW_SAGE_ROOT does not equal the old SAGE_ROOT
+-if [ "$SAGE_ROOT" != "$NEW_SAGE_ROOT" -a -n "$SAGE_ROOT" ]; then
+-    echo >&2 "Warning: overwriting SAGE_ROOT environment variable:"
+-    echo >&2 "Old SAGE_ROOT=$SAGE_ROOT"
+-    echo >&2 "New SAGE_ROOT=$NEW_SAGE_ROOT"
+-fi
++NEW_SAGE_ROOT="/usr"
+ 
+ 
+ # Don't execute the commands more than once for the same version of
+@@ -174,33 +174,9 @@
+ export SAGE_ENV_SOURCED=$SAGE_ENV_VERSION
+ 
+ export SAGE_ROOT="$NEW_SAGE_ROOT"
++export SAGE_LOCAL='/usr'
++export SAGE_SCRIPTS_DIR='/usr/bin'
+ 
+-
+-# sage-env must know where the Sage's script files are.
+-# Note that SAGE_SCRIPTS_DIR is only used here, so it does not need to
+-# be exported.
+-if [ -z "$SAGE_SCRIPTS_DIR" ]; then
+-    if [ -n "$SAGE_LOCAL" ] && [ -f "$SAGE_LOCAL/bin/sage-env-config" ]; then
+-        SAGE_SCRIPTS_DIR="$SAGE_LOCAL/bin"
+-    elif [ -f "$SAGE_ROOT/src/bin/sage-env-config" ]; then
+-        SAGE_SCRIPTS_DIR="$SAGE_ROOT/src/bin"
+-    else
+-        echo >&2 "Error: You must set either the SAGE_LOCAL or SAGE_SCRIPTS_DIR environment variable to run this"
+-        return 1
+-    fi
+-elif [ ! -f "$SAGE_SCRIPTS_DIR/sage-env-config" ]; then
+-    echo >&2 "Error: SAGE_SCRIPTS_DIR is set to a bad value:"
+-    echo >&2 "SAGE_SCRIPTS_DIR=$SAGE_SCRIPTS_DIR"
+-    echo >&2 "You must correct it or erase it and rerun this script"
+-    return 1
+-fi
+-
+-# Set environment variables (like SAGE_LOCAL) depending on ./configure
+-. "$SAGE_SCRIPTS_DIR/sage-env-config"
+-if [ $? -ne 0 ]; then
+-    echo >&2 "Error: failed to source $SAGE_SCRIPTS_DIR/sage-env-config"
+-    return 1
+-fi
+ 
+ # The compilers are set in order of priority by
+ # 1) environment variables
+@@ -296,8 +296,8 @@
+ export SAGE_SPKG_INST="$SAGE_LOCAL/var/lib/sage/installed"
+ export SAGE_SPKG_SCRIPTS="$SAGE_LOCAL/var/lib/sage/scripts"
+ export SAGE_LOGS="$SAGE_ROOT/logs/pkgs"
+-export SAGE_SRC="$SAGE_ROOT/src"
+-export SAGE_DOC_SRC="$SAGE_SRC/doc"
++export SAGE_SRC="$SAGE_LOCAL/lib/python2.7/site-packages"
++export SAGE_DOC_SRC="$SAGE_SHARE/doc/sage"
+ export SAGE_DOC="$SAGE_SHARE/doc/sage"
+ 
+ if [ -z "${SAGE_ORIG_PATH_SET}" ]; then
+@@ -403,29 +403,8 @@
+     export SAGE_STARTUP_FILE
+ fi
+ 
++export LIBMTX="$DOT_SAGE/meataxe"
++[[ -d $LIBMTX ]] || mkdir -p $LIBMTX # Create meataxe data dir
+-if [ "$PYTHON_EGG_CACHE" = "" ]; then
+-    PYTHON_EGG_CACHE="$DOT_SAGE/.python-eggs"
+-    export PYTHON_EGG_CACHE
+-fi
+-
+-# Set PYTHONUSERBASE to avoid picking up non-Sage versions of
+-# Matplotlib, numpy, etc. See http://trac.sagemath.org/ticket/19612.
+-#
+-# For more history (it used to be PYTHONNOUSERSITE=yes which killed
+-# the ability to do "sage -pip install PACKAGE --user"), see
+-# http://trac.sagemath.org/ticket/14243 and
+-# http://trac.sagemath.org/ticket/18955.
+-
+-if [ "$PYTHONUSERBASE" = "" ]; then
+-    PYTHONUSERBASE="$DOT_SAGE/local"
+-    export PYTHONUSERBASE
+-fi
+-
+-if [ -n "$PYTHONHOME" ]; then
+-    >&2 echo "Warning: PYTHONHOME must not be set when running Sage, clearing env..."
+-    unset PYTHONHOME
+-fi
+-
+ LDFLAGS="-L$SAGE_LOCAL/lib -Wl,-rpath,$SAGE_LOCAL/lib $LDFLAGS"
+ export LDFLAGS
+ 
+@@ -489,8 +489,6 @@
+     fi
+ fi
+
+-export MAXIMA_PREFIX="$SAGE_LOCAL"
+-export MAXIMA_USERDIR="$DOT_SAGE/maxima"
+ 
+ PERL5LIB="$SAGE_LOCAL/lib/perl5:$PERL5LIB" && export PERL5LIB
+ 
+@@ -601,9 +601,6 @@
+     LD_LIBRARY_PATH="$SAGE_LOCAL/bin:$LD_LIBRARY_PATH" && export LD_LIBRARY_PATH
+ fi
+ 
+-# See trac 7186 -- this is needed if ecl is moved
+-ECLDIR="$SAGE_LOCAL/lib/ecl/" && export ECLDIR
+-
+ # Handle parallel building/testing/...
+ # See Trac Ticket #12016
+ # First, figure out the right values for SAGE_NUM_THREADS (default
+--- src/sage/env.py.orig       2017-12-07 19:51:25.554281539 +0000
++++ src/sage/env.py    2017-12-07 19:51:42.787654650 +0000
+@@ -117,13 +117,13 @@
+ _add_variable_or_fallback('LOCAL_IDENTIFIER','$HOSTNAME.%s'%os.getpid())
+ 
+ # bunch of sage directories and files
+-_add_variable_or_fallback('SAGE_ROOT',       None)
+-_add_variable_or_fallback('SAGE_LOCAL',      None)
++_add_variable_or_fallback('SAGE_ROOT',       '')
++_add_variable_or_fallback('SAGE_LOCAL',      '/usr')
+ _add_variable_or_fallback('SAGE_ETC',        opj('$SAGE_LOCAL', 'etc'))
+ _add_variable_or_fallback('SAGE_INC',        opj('$SAGE_LOCAL', 'include'))
+ _add_variable_or_fallback('SAGE_SHARE',      opj('$SAGE_LOCAL', 'share'))
+ 
+-_add_variable_or_fallback('SAGE_SRC',        opj('$SAGE_ROOT', 'src'))
++_add_variable_or_fallback('SAGE_SRC',        opj('$SAGE_LOCAL', 'lib', 'python2.7', 'site-packages'))
+ 
+ try:
+     sitepackages_dirs = site.getsitepackages()

Copied: sagemath/repos/community-staging-x86_64/sagemath-networkx-2.2.patch (from rev 417615, sagemath/trunk/sagemath-networkx-2.2.patch)
===================================================================
--- community-staging-x86_64/sagemath-networkx-2.2.patch	                        (rev 0)
+++ community-staging-x86_64/sagemath-networkx-2.2.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -0,0 +1,224 @@
+diff --git a/src/sage/graphs/digraph_generators.py b/src/sage/graphs/digraph_generators.py
+index d0023e9..a478727 100644
+--- a/src/sage/graphs/digraph_generators.py
++++ b/src/sage/graphs/digraph_generators.py
+@@ -1108,7 +1108,7 @@ class DiGraphGenerators():
+ 
+         -  ``kernel`` - the attachment kernel
+ 
+-        -  ``seed`` - for the random number generator
++        -  ``seed`` - a ``random.Random`` seed for the random number generator
+ 
+ 
+         EXAMPLES::
+@@ -1124,7 +1124,7 @@ class DiGraphGenerators():
+           Random Networks, Phys. Rev. E vol. 63 (2001), p. 066123.
+         """
+         if seed is None:
+-            seed = current_randstate().long_seed()
++            seed = current_randstate().c_random()
+         import networkx
+         return DiGraph(networkx.gn_graph(n, kernel, seed=seed))
+ 
+@@ -1144,7 +1144,7 @@ class DiGraphGenerators():
+ 
+         -  ``n`` - number of vertices.
+ 
+-        -  ``seed`` - for the random number generator
++        -  ``seed`` - a ``random.Random`` seed for the random number generator
+ 
+ 
+         EXAMPLES::
+@@ -1160,7 +1160,7 @@ class DiGraphGenerators():
+           Copying, Phys. Rev. E vol. 71 (2005), p. 036118.
+         """
+         if seed is None:
+-            seed = current_randstate().long_seed()
++            seed = current_randstate().c_random()
+         import networkx
+         return DiGraph(networkx.gnc_graph(n, seed=seed))
+ 
+@@ -1355,7 +1355,7 @@ class DiGraphGenerators():
+ 
+         -  ``p`` - redirection probability
+ 
+-        -  ``seed`` - for the random number generator.
++        -  ``seed`` - a ``random.Random`` seed for the random number generator.
+ 
+ 
+         EXAMPLES::
+@@ -1371,7 +1371,7 @@ class DiGraphGenerators():
+           Random Networks, Phys. Rev. E vol. 63 (2001), p. 066123.
+         """
+         if seed is None:
+-            seed = current_randstate().long_seed()
++            seed = current_randstate().c_random()
+         import networkx
+         return DiGraph(networkx.gnc_graph(n, seed=seed))
+ 
+diff --git a/src/sage/graphs/generators/random.py b/src/sage/graphs/generators/random.py
+index 06a5203..5b1e3ce 100644
+--- a/src/sage/graphs/generators/random.py
++++ b/src/sage/graphs/generators/random.py
+@@ -30,7 +30,7 @@ def RandomGNP(n, p, seed=None, fast=True, algorithm='Sage'):
+ 
+     - ``p`` -- probability of an edge
+ 
+-    - ``seed`` -- integer seed for random number generator (default ``None``).
++    - ``seed`` -- a ``random.Random`` seed for random number generator (default ``None``).
+ 
+     - ``fast`` -- boolean set to True (default) to use the algorithm with
+       time complexity in `O(n+m)` proposed in [BatBra2005]_. It is designed
+@@ -106,7 +106,7 @@ def RandomGNP(n, p, seed=None, fast=True, algorithm='Sage'):
+         raise ValueError("The probability p must be in [0..1].")
+ 
+     if seed is None:
+-        seed = current_randstate().long_seed()
++        seed = current_randstate().c_random()
+     if p == 1:
+         from sage.graphs.generators.basic import CompleteGraph
+         return CompleteGraph(n)
+@@ -140,7 +140,7 @@ def RandomBarabasiAlbert(n, m, seed=None):
+ 
+     - ``m`` - number of edges to attach from each new node
+ 
+-    - ``seed`` -- integer seed for random number generator (default ``None``).
++    - ``seed`` -- a ``random.Random`` seed for random number generator (default ``None``).
+ 
+     EXAMPLES:
+ 
+@@ -175,7 +175,7 @@ def RandomBarabasiAlbert(n, m, seed=None):
+ 
+     """
+     if seed is None:
+-        seed = current_randstate().long_seed()
++        seed = current_randstate().c_random()
+     import networkx
+     return Graph(networkx.barabasi_albert_graph(n,m,seed=seed))
+ 
+@@ -625,7 +625,7 @@ def RandomGNM(n, m, dense=False, seed=None):
+     - ``dense`` - whether to use NetworkX's
+       dense_gnm_random_graph or gnm_random_graph
+ 
+-    - ``seed`` -- integer seed for random number generator (default ``None``).
++    - ``seed`` -- a ``random.Random`` seed for random number generator (default ``None``).
+ 
+     EXAMPLES: We show the edge list of a random graph on 5 nodes with
+     10 edges.
+@@ -658,7 +658,7 @@ def RandomGNM(n, m, dense=False, seed=None):
+         sage: G.show()  # long time
+     """
+     if seed is None:
+-        seed = current_randstate().long_seed()
++        seed = current_randstate().c_random()
+     import networkx
+     if dense:
+         return Graph(networkx.dense_gnm_random_graph(n, m, seed=seed))
+@@ -688,7 +688,7 @@ def RandomNewmanWattsStrogatz(n, k, p, seed=None):
+     - ``p`` - the probability of adding a new edge for
+       each edge
+ 
+-    - ``seed`` -- integer seed for random number generator (default ``None``).
++    - ``seed`` -- a ``random.Random`` seed for random number generator (default ``None``).
+ 
+     EXAMPLES: We show the edge list of a random graph on 7 nodes with 2
+     "nearest neighbors" and probability `p = 0.2`::
+@@ -708,7 +708,7 @@ def RandomNewmanWattsStrogatz(n, k, p, seed=None):
+       99, 2566-2572.
+     """
+     if seed is None:
+-        seed = current_randstate().long_seed()
++        seed = current_randstate().c_random()
+     import networkx
+     return Graph(networkx.newman_watts_strogatz_graph(n, k, p, seed=seed))
+ 
+@@ -728,7 +728,7 @@ def RandomHolmeKim(n, m, p, seed=None):
+     - ``p`` - probability of adding a triangle after
+       adding a random edge.
+ 
+-    - ``seed`` -- integer seed for random number generator (default ``None``).
++    - ``seed`` -- a ``random.Random`` seed for random number generator (default ``None``).
+ 
+     From the NetworkX documentation: The average clustering has a hard
+     time getting above a certain cutoff that depends on m. This cutoff
+@@ -764,7 +764,7 @@ def RandomHolmeKim(n, m, p, seed=None):
+       with tunable clustering, Phys. Rev. E (2002). vol 65, no 2, 026107.
+     """
+     if seed is None:
+-        seed = current_randstate().long_seed()
++        seed = current_randstate().c_random()
+     import networkx
+     return Graph(networkx.powerlaw_cluster_graph(n, m, p, seed=seed))
+ 
+@@ -1239,7 +1239,7 @@ def RandomLobster(n, p, q, seed=None):
+     - ``q`` - probability of adding an edge (claw) to the
+       arms
+ 
+-    - ``seed`` -- integer seed for random number generator (default ``None``).
++    - ``seed`` -- a ``random.Random`` seed for random number generator (default ``None``).
+ 
+     EXAMPLES: We show the edge list of a random graph with 3 backbone
+     nodes and probabilities `p = 0.7` and `q = 0.3`::
+@@ -1253,7 +1253,7 @@ def RandomLobster(n, p, q, seed=None):
+         sage: G.show()  # long time
+     """
+     if seed is None:
+-        seed = current_randstate().long_seed()
++        seed = current_randstate().c_random()
+     import networkx
+     return Graph(networkx.random_lobster(n, p, q, seed=seed))
+ 
+@@ -1344,7 +1344,7 @@ def RandomTreePowerlaw(n, gamma=3, tries=100, seed=None):
+     - ``tries`` - number of attempts to adjust sequence to
+       make a tree
+ 
+-    - ``seed`` -- integer seed for random number generator (default ``None``).
++    - ``seed`` -- a ``random.Random`` seed for random number generator (default ``None``).
+ 
+     EXAMPLES: We show the edge list of a random graph with 10 nodes and
+     a power law exponent of 2.
+@@ -1361,7 +1361,7 @@ def RandomTreePowerlaw(n, gamma=3, tries=100, seed=None):
+         ....:     G.show()  # random output, long time
+     """
+     if seed is None:
+-        seed = current_randstate().long_seed()
++        seed = current_randstate().c_random()
+     import networkx
+     try:
+         return Graph(networkx.random_powerlaw_tree(n, gamma, seed=seed, tries=tries))
+@@ -1382,7 +1382,7 @@ def RandomRegular(d, n, seed=None):
+ 
+     - ``d`` - degree
+ 
+-    - ``seed`` -- integer seed for random number generator (default ``None``).
++    - ``seed`` -- a ``random.Random`` seed for random number generator (default ``None``).
+ 
+ 
+     EXAMPLES: We show the edge list of a random graph with 8 nodes each
+@@ -1410,7 +1410,7 @@ def RandomRegular(d, n, seed=None):
+       regular graphs quickly. Prob. and Comp. 8 (1999), pp 377-396.
+     """
+     if seed is None:
+-        seed = current_randstate().long_seed()
++        seed = current_randstate().c_random()
+     import networkx
+     try:
+         N = networkx.random_regular_graph(d, n, seed=seed)
+@@ -1435,7 +1435,7 @@ def RandomShell(constructor, seed=None):
+     - ``d`` - the ratio of inter (next) shell edges to
+       intra shell edges
+ 
+-    - ``seed`` -- integer seed for random number generator (default ``None``).
++    - ``seed`` -- a ``random.Random`` seed for random number generator (default ``None``).
+ 
+     EXAMPLES::
+ 
+@@ -1445,7 +1445,7 @@ def RandomShell(constructor, seed=None):
+         sage: G.show()  # long time
+     """
+     if seed is None:
+-        seed = current_randstate().long_seed()
++        seed = current_randstate().c_random()
+     import networkx
+     return Graph(networkx.random_shell_graph(constructor, seed=seed))
+ 

Copied: sagemath/repos/community-staging-x86_64/sagemath-python3-notebook.patch (from rev 417615, sagemath/trunk/sagemath-python3-notebook.patch)
===================================================================
--- community-staging-x86_64/sagemath-python3-notebook.patch	                        (rev 0)
+++ community-staging-x86_64/sagemath-python3-notebook.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -0,0 +1,27 @@
+diff --git a/src/bin/sage-notebook b/src/bin/sage-notebook
+index 74192da240..0ede281aad 100755
+--- a/src/bin/sage-notebook
++++ b/src/bin/sage-notebook
+@@ -96,8 +96,7 @@ class NotebookJupyter(object):
+         if not have_prerequisites():
+             print(self.PREREQUISITE_ERROR)
+             raise SystemExit(1)
+-        from notebook.notebookapp import main
+-        main(argv)
++        os.execvp('jupyter-notebook', ['jupyter-notebook'] + argv)
+ 
+ 
+ class NotebookJupyterlab(object):
+diff --git a/src/sage/repl/ipython_kernel/install.py b/src/sage/repl/ipython_kernel/install.py
+index 3912b8cdf5..bd40cdadda 100644
+--- a/src/sage/repl/ipython_kernel/install.py
++++ b/src/sage/repl/ipython_kernel/install.py
+@@ -303,7 +303,6 @@ def have_prerequisites(debug=True):
+         True
+     """
+     try:
+-        from notebook.notebookapp import NotebookApp
+         return True
+     except ImportError:
+         if debug:
+

Copied: sagemath/repos/community-staging-x86_64/sagemath-singular-4.1.1.p4.patch (from rev 417615, sagemath/trunk/sagemath-singular-4.1.1.p4.patch)
===================================================================
--- community-staging-x86_64/sagemath-singular-4.1.1.p4.patch	                        (rev 0)
+++ community-staging-x86_64/sagemath-singular-4.1.1.p4.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -0,0 +1,78 @@
+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)
+ 
+     ###########################

Copied: sagemath/repos/community-staging-x86_64/sagemath-sphinx-1.8.patch (from rev 417615, sagemath/trunk/sagemath-sphinx-1.8.patch)
===================================================================
--- community-staging-x86_64/sagemath-sphinx-1.8.patch	                        (rev 0)
+++ community-staging-x86_64/sagemath-sphinx-1.8.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -0,0 +1,28 @@
+--- a/src/sage/misc/sphinxify.py	2018-09-14 20:13:32.788831484 +0200
++++ b/src/sage/misc/sphinxify.py	2018-09-14 20:14:07.142478667 +0200
+@@ -68,6 +68,7 @@
+         sage: assert n == len(sys.path)
+     """
+     srcdir = mkdtemp()
++    outdir = mkdtemp()
+     base_name = os.path.join(srcdir, 'docstring')
+     rst_name = base_name + '.rst'
+ 
+@@ -75,7 +76,7 @@
+         suffix = '.html'
+     else:
+         suffix = '.txt'
+-    output_name = base_name + suffix
++    output_name = os.path.join(outdir, 'docstring') + suffix
+ 
+     with open(rst_name, 'w') as filed:
+         filed.write(docstring)
+@@ -93,7 +94,7 @@
+ 
+     import sys
+     old_sys_path = list(sys.path)  # Sphinx modifies sys.path
+-    sphinx_app = Sphinx(srcdir, confdir, srcdir, doctreedir, format,
++    sphinx_app = Sphinx(srcdir, confdir, outdir, doctreedir, format,
+                         confoverrides, None, None, True)
+     sphinx_app.build(None, [rst_name])
+     sys.path = old_sys_path

Copied: sagemath/repos/community-staging-x86_64/sagemath-threejs.patch (from rev 417615, sagemath/trunk/sagemath-threejs.patch)
===================================================================
--- community-staging-x86_64/sagemath-threejs.patch	                        (rev 0)
+++ community-staging-x86_64/sagemath-threejs.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -0,0 +1,11 @@
+--- a/src/sage/repl/rich_output/display_manager.py
++++ b/src/sage/repl/rich_output/display_manager.py
+@@ -746,7 +746,7 @@ class DisplayManager(SageObject):
+         """
+         if online:
+             from sage.misc.package import installed_packages
+-            version = installed_packages()['threejs'].split('.')[0]
++            version = 'r80'
+             return """
+ <script src="https://cdn.rawgit.com/mrdoob/three.js/{0}/build/three.min.js"></script>
+ <script src="https://cdn.rawgit.com/mrdoob/three.js/{0}/examples/js/controls/OrbitControls.js"></script>

Copied: sagemath/repos/community-staging-x86_64/test-optional.patch (from rev 417615, sagemath/trunk/test-optional.patch)
===================================================================
--- community-staging-x86_64/test-optional.patch	                        (rev 0)
+++ community-staging-x86_64/test-optional.patch	2018-12-23 13:32:46 UTC (rev 417616)
@@ -0,0 +1,25 @@
+--- 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,22 +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):
+-                        raise ValueError('invalid optional tag {!r}'.format(o))
+-
+                 options.optional |= auto_optional_tags
+
+         self.options = options



More information about the arch-commits mailing list