[arch-commits] Commit in sagemath/trunk (16 files)

Antonio Rojas arojas at archlinux.org
Sun Dec 10 19:12:16 UTC 2017


    Date: Sunday, December 10, 2017 @ 19:12:15
  Author: arojas
Revision: 273618

Update to 8.1

Added:
  sagemath/trunk/sagemath-env.patch
    (from rev 273617, sagemath/trunk/env.patch)
Modified:
  sagemath/trunk/PKGBUILD
  sagemath/trunk/fes02.patch
  sagemath/trunk/jupyter-path.patch
  sagemath/trunk/latte-count.patch
  sagemath/trunk/package.patch
  sagemath/trunk/r-no-readline.patch
  sagemath/trunk/sagemath-detect-igraph.patch
  sagemath/trunk/sagemath-networkx2.patch
  sagemath/trunk/sagemath-python3-notebook.patch
  sagemath/trunk/test-optional.patch
Deleted:
  sagemath/trunk/env.patch
  sagemath/trunk/sagemath-brial-1.2.patch
  sagemath/trunk/sagemath-cython-0.26.patch
  sagemath/trunk/sagemath-pynac-0.7.11.patch
  sagemath/trunk/sagemath-pynac-0.7.12.patch

---------------------------------+
 PKGBUILD                        |   59 ++---
 env.patch                       |   93 ---------
 fes02.patch                     |    4 
 jupyter-path.patch              |    6 
 latte-count.patch               |   14 -
 package.patch                   |    2 
 r-no-readline.patch             |    2 
 sagemath-brial-1.2.patch        |   14 -
 sagemath-cython-0.26.patch      |   26 --
 sagemath-detect-igraph.patch    |    2 
 sagemath-env.patch              |  105 ++++++++++
 sagemath-networkx2.patch        |    2 
 sagemath-pynac-0.7.11.patch     |   21 --
 sagemath-pynac-0.7.12.patch     |  390 --------------------------------------
 sagemath-python3-notebook.patch |    4 
 test-optional.patch             |    2 
 16 files changed, 145 insertions(+), 601 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-12-10 17:10:58 UTC (rev 273617)
+++ PKGBUILD	2017-12-10 19:12:15 UTC (rev 273618)
@@ -8,8 +8,8 @@
 
 pkgbase=sagemath
 pkgname=(sagemath sagemath-jupyter)
-pkgver=8.0
-pkgrel=12
+pkgver=8.1
+pkgrel=1
 pkgdesc="Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab"
 arch=(x86_64)
 url="http://www.sagemath.org"
@@ -23,7 +23,7 @@
   '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'
-  'modular_decomposition: modular decomposition of graphs' 'ffmpeg: to export animations to video' 'imagemagick: to show animations'
+  'ffmpeg: to export animations to video' 'imagemagick: to show animations'
   'coxeter3: Coxeter groups implementation' 'cryptominisat5: SAT solver' 'gap-data: for computing Galois groups'
   'lrs: Algorithms for linear reverse search used in game theory and for computing volume of polytopes'
   'libhomfly: for computing the homfly polynomial of links' 'libbraiding: for computing in braid groups'
@@ -33,29 +33,24 @@
   'sirocco: for computing the fundamental group of the complement of a plane curve'
   'three.js: alternative 3D plots engine' 'tachyon: alternative 3D plots engine')
 makedepends=(cython2 boost ratpoints symmetrica python2-jinja coin-or-cbc libhomfly libbraiding sirocco
-  mcqd coxeter3 modular_decomposition bliss-graphs tdlib python2-pkgconfig meataxe libfes)
+  mcqd coxeter3 bliss-graphs tdlib python2-pkgconfig meataxe libfes)
 source=("$pkgname-$pkgver.tar.gz::https://github.com/sagemath/sage/archive/$pkgver.tar.gz"
-        env.patch package.patch latte-count.patch jupyter-path.patch sagemath-python3-notebook.patch test-optional.patch
-        r-no-readline.patch fes02.patch sagemath-ecl-no-sigfpe.patch sagemath-cython-0.26.patch sagemath-threejs.patch
-        sagemath-pynac-0.7.11.patch sagemath-pynac-0.7.12.patch sagemath-detect-igraph.patch sagemath-networkx2.patch
-        sagemath-brial-1.2.patch sagemath-linbox-1.5.patch sagemath-pynac-0.7.14.patch)
-sha256sums=('91df3e303add71616e24b38c04789f66d57ada7b1017e5369e850c42d5e8753d'
-            'e0b5b8673300857fde823209a7e90faecf9e754ab812cc5e54297eddc0c79571'
-            '4a2297e4d9d28f0b3a1f58e1b463e332affcb109eafde44837b1657e309c8212'
-            'c6836783251d94c00f0229c1e671de86c58c6c6fb0f6959725317817abc64ca8'
-            '775051aa9076ebf631c8a291af38b6ec4a13c904740dc9da831641d592d8bcd8'
-            '27aa73d427d92aeb2c181a233aa3a574a4158cd7dee33832808f69edaec55ea2'
-            '81d08c6a760f171f3381455b66a6c84789c9f0eefddbe6ca5794075514ad8c3a'
-            'ef9f401fa84fe1772af9efee6816643534f2896da4c23b809937b19771bdfbbf'
-            'a39da083c038ada797ffc5bedc9ba47455a3f77057d42f86484ae877ef9172ea'
+        sagemath-env.patch package.patch latte-count.patch jupyter-path.patch sagemath-python3-notebook.patch test-optional.patch
+        r-no-readline.patch fes02.patch sagemath-ecl-no-sigfpe.patch sagemath-threejs.patch
+        sagemath-detect-igraph.patch sagemath-networkx2.patch sagemath-linbox-1.5.patch sagemath-pynac-0.7.14.patch)
+sha256sums=('a42b55c2c8ac244535dc9b87171b7d4dd7e1d498099518ab253354fbe2eaaa7b'
+            '6dc9b101310f80381c61c0312a3e5c648771bfe0de2e94ac46fafe7282a3e0ee'
+            'c41ae665499c6cd775d40bbe178f8786830b0931ee26bf11ee02f7d83bcc8107'
+            '0b680e674c11c47afa86162d8b49645620b8912722e08133d23357c29ca9310a'
+            '2cad308f8adbb6c54e6603fa22b2f0eb60f6f09248d5d015000c3932ac14f646'
+            '962ce805c87147212b21fc2ab0ac9af9bd0033942c7a6905b9906645b48e8a4f'
+            'ef94908d4ab28d13af622e6e58ec191aa78817d17e4466c7bb6f64ee72a813b9'
+            'afd0952b9bb8f52fd428eae36cf719a58ff85a894baae88cbb2124e043768cc7'
+            '7fcb52e96935dccb0f958d37c2f4e3918392480b9af53e08562f6cba6c68cb94'
             'c31809f887bf9acc45c5bd9dd30bb93e73601d3efbf3016594c3c1d241731c8a'
-            '2953ef15d957a2f3304a5584c154bf4777bcb4b461414d3a2178423257539755'
             '514135b920a43f999571a15e97b41e14f5bed59f65b19643864dc23555a7b830'
-            '3e23ff449a5a3a032684287722455633762636b93ecfc35fb00e875c69eff240'
-            '719bb39c9c2cd1c6e75be0969000ba5ffcd2875bb5190fce6bb6a6feaa76b96f'
-            '90be1d1a90120bd5bd3620769480106ba809dd23e896bc4a3f8931e5340f3cda'
-            'a1a0ab5b794136b518f5f66fe9f1689411fabb3b81560b159eae81f6f69000e3'
-            '64ee1930049a17a7295bb45513efc9d484299132900fc9b8e308a9fe1a2df149'
+            '28d7789b8d777922ab8871ca43b6afab751428cae875c0343d3962e6a2030b88'
+            '37c5c1e694a2aca06c0f1c7d99622ff81fd2bc6a51e8745762294889fa4673f6'
             'a52d03e04c9d64bb957a1f8dcdae3280ebb9450a7fd76aaf5ae5de5c6f74774f'
             '538f7b279d72f4b67edb445d386d267f3f7022c1079031ca7ea06f6ce392c906')
 
@@ -66,7 +61,7 @@
 # assume all optional packages are installed
   patch -p0 -i ../package.patch
 # set env variables
-  patch -p0 -i ../env.patch
+  patch -p0 -i ../sagemath-env.patch
 # don't list optional packages when running tests
   patch -p0 -i ../test-optional.patch
 # set jupyter path
@@ -86,20 +81,12 @@
   patch -p1 -i ../sagemath-networkx2.patch
 # fix three.js plotting backend
   patch -p1 -i ../sagemath-threejs.patch
-# fix build with brial 1.2
-  patch -p1 -i ../sagemath-brial-1.2.patch
 
 # Upstream patches  
 # fix build against libfes 0.2 http://trac.sagemath.org/ticket/15209
   patch -p1 -i ../fes02.patch
 # disable SIGFPE for ecl https://trac.sagemath.org/ticket/22191
-  patch -p1 -i ../sagemath-ecl-no-sigfpe.patch
-# disable auto_picke for cython 0.26 https://trac.sagemath.org/ticket/23360
-  patch -p1 -i ../sagemath-cython-0.26.patch
-# fix build with pynac 0.7.11 https://trac.sagemath.org/ticket/23820
-  patch -p1 -i ../sagemath-pynac-0.7.11.patch
-# fix build with pynac 0.7.12 https://trac.sagemath.org/ticket/23950
-  patch -p1 -i ../sagemath-pynac-0.7.12.patch
+# patch -p1 -i ../sagemath-ecl-no-sigfpe.patch
 # fix build with linbox 1.5 https://trac.sagemath.org/ticket/24214
   patch -p1 -i ../sagemath-linbox-1.5.patch
 # fix build with pynac 0.7.14 https://trac.sagemath.org/ticket/24329
@@ -123,7 +110,6 @@
   export SAGE_LOCAL="/usr"
   export SAGE_ROOT="$PWD"
   export SAGE_SRC="$PWD"
-  export CC=gcc
 
   python2 setup.py build
 }
@@ -130,9 +116,6 @@
 
 package_sagemath() {
   optdepends+=('sagemath-jupyter: Jupyter kernel')
-  conflicts=(sage-mathematics)
-  replaces=(sage-mathematics) 
-  provides=(sage-mathematics)
 
   cd sage-$pkgver/src
 
@@ -145,7 +128,7 @@
   mkdir -p "$pkgdir"/usr/bin
   cp bin/sage "$pkgdir"/usr/bin
   for _i in arch-env banner cachegrind callgrind cleaner coverage coverageall cython env env-config eval grep grepdoc inline-fortran \
-    ipython massif maxima.lisp native-execute notebook num-threads.py omega open preparse python rst2ipynb rst2sws rst2txt run \
+    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

Deleted: env.patch
===================================================================
--- env.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ env.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -1,93 +0,0 @@
---- 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"
- 
- # Display the Sage startup banner, used in src/bin/sage
- sage_banner() {
-@@ -151,6 +151,7 @@
- export SAGE_ENV_SOURCED=$SAGE_ENV_VERSION
- 
- export SAGE_ROOT="$NEW_SAGE_ROOT"
-+export SAGE_LOCAL='/usr'
- 
- # sage-env must know where the Sage's script files are.
- 
-@@ -233,8 +233,9 @@
- export SAGE_EXTCODE="$SAGE_SHARE/sage/ext"
- export SAGE_SPKG_INST="$SAGE_LOCAL/var/lib/sage/installed"
- export SAGE_LOGS="$SAGE_ROOT/logs/pkgs"
--export SAGE_SRC="$SAGE_ROOT/src"
--export SAGE_DOC_SRC="$SAGE_SRC/doc"
-+export GAP_ROOT_DIR="/usr/lib/gap"
-+export SAGE_SRC="$SAGE_SHARE/sage/source"
-+export SAGE_DOC_SRC="$SAGE_SHARE/doc/sage"
- export SAGE_DOC="$SAGE_SHARE/doc/sage"
- 
- if [ -z "${SAGE_ORIG_PATH_SET}" ]; then
-@@ -374,6 +337,9 @@
-     export SAGE_STARTUP_FILE
- fi
- 
-+export LIBMTX="$DOT_SAGE/meataxe"
-+[[ -d $LIBMTX ]] || mkdir -p $LIBMTX # Create meataxe data dir
-+
- if [ -z "$IPYTHONDIR" ]; then
-     # We hardcode a version number in the directory name. The idea is
-     # that we keep using the same version number as long as that is
-@@ -468,7 +400,6 @@
-         fi
-     fi
- fi
--export MAXIMA_PREFIX="$SAGE_LOCAL"
- 
- PERL5LIB="$SAGE_LOCAL/lib/perl5:$PERL5LIB" && export PERL5LIB
- 
-@@ -629,9 +608,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

Modified: fes02.patch
===================================================================
--- fes02.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ fes02.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -42,8 +42,8 @@
 +    void exhaustive_search_wrapper(int n, int n_eqs, int degree, int ***coeffs, solution_callback_t callback, void* callback_state, int verbose, int T)
  
  
- include 'sage/ext/interrupt.pxi'  #sig_on(), sig_off()
-@@ -219,7 +221,7 @@ def exhaustive_search(eqs,  max_sols=Infinity, verbose=False):
+ from sage.rings.integer import Integer
+@@ -217,7 +217,7 @@ def exhaustive_search(eqs,  max_sols=Infinity, verbose=False):
  
      # ------- runs the library
      sig_on()

Modified: jupyter-path.patch
===================================================================
--- jupyter-path.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ jupyter-path.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -1,7 +1,7 @@
 --- src/sage/repl/ipython_kernel/install.py.orig	2015-10-23 19:23:39.728456590 +0000
 +++ src/sage/repl/ipython_kernel/install.py	2015-10-23 19:24:00.965018978 +0000
 @@ -13,8 +13,7 @@
-     SAGE_ROOT, SAGE_DOC, SAGE_LOCAL, SAGE_EXTCODE,
+     SAGE_DOC, SAGE_LOCAL, SAGE_EXTCODE,
      SAGE_VERSION
  )
 -from jupyter_core.paths import ENV_JUPYTER_PATH
@@ -8,9 +8,9 @@
 -JUPYTER_PATH = ENV_JUPYTER_PATH[0]
 +JUPYTER_PATH = os.environ.get('JUPYTER_PATH') 
  
+ 
  class SageKernelSpec(object):
-
-@@ -208,7 +208,7 @@
+@@ -225,7 +225,7 @@
              sage: spec._symlink_resources()    # not tested
          """
          path = os.path.join(SAGE_EXTCODE, 'notebook-ipython')

Modified: latte-count.patch
===================================================================
--- latte-count.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ latte-count.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -2,7 +2,7 @@
 index 268af9db0d..70d41dfa30 100644
 --- a/src/sage/geometry/polyhedron/base_ZZ.py
 +++ b/src/sage/geometry/polyhedron/base_ZZ.py
-@@ -228,7 +228,7 @@ class Polyhedron_ZZ(Polyhedron_base):
+@@ -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 ...
              ...
@@ -11,7 +11,7 @@
              ...
              sage: p    # optional - latte_int
              1/2*t^2 + 3/2*t + 1
-@@ -236,7 +236,7 @@ class Polyhedron_ZZ(Polyhedron_base):
+@@ -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 ...
              ...
@@ -20,7 +20,7 @@
              ...
              sage: p   # optional - latte_int
              1/2*t^2 + 3/2*t + 1
-@@ -244,7 +244,7 @@ class Polyhedron_ZZ(Polyhedron_base):
+@@ -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 ...
              ...
@@ -29,7 +29,7 @@
              ...
              sage: p   # optional - latte_int
              1/2*t^2 + 3/2*t + 1
-@@ -252,7 +252,7 @@ class Polyhedron_ZZ(Polyhedron_base):
+@@ -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 ...
              ...
@@ -38,7 +38,7 @@
              ...
              sage: p   # optional - latte_int
              1/2*t^2 + 3/2*t + 1
-@@ -264,7 +264,7 @@ class Polyhedron_ZZ(Polyhedron_base):
+@@ -207,7 +207,7 @@ class Polyhedron_ZZ(Polyhedron_base):
              ...
              RuntimeError: LattE integrale program failed (exit code 1):
              ...
@@ -51,7 +51,7 @@
 index 066cedd401..302b39910d 100644
 --- a/src/sage/interfaces/latte.py
 +++ b/src/sage/interfaces/latte.py
-@@ -86,7 +86,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
+@@ -88,7 +88,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 ...
          ...
@@ -60,7 +60,7 @@
          ...
          Total Unimodular Cones: ...
          Maximum number of simplicial cones in memory at once: ...
-@@ -106,7 +106,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
+@@ -108,7 +108,7 @@ def count(arg, ehrhart_polynomial=False, multivariate_generating_function=False,
      from sage.misc.misc import SAGE_TMP
      from sage.rings.integer import Integer
  

Modified: package.patch
===================================================================
--- package.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ package.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -1,6 +1,6 @@
 --- 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
-@@ -343,7 +343,7 @@
+@@ -320,7 +320,7 @@
          sage: for pkg in list_packages('pip', local=True):
          ....:     assert not is_package_installed(pkg)
      """

Modified: r-no-readline.patch
===================================================================
--- r-no-readline.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ r-no-readline.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -1,6 +1,6 @@
 --- a/src/sage/interfaces/r.py
 +++ b/src/sage/interfaces/r.py
-@@ -331,7 +331,7 @@
+@@ -332,7 +332,7 @@
                    prompt = '> ', #default, later comes the change
  
                    # This is the command that starts up your program

Deleted: sagemath-brial-1.2.patch
===================================================================
--- sagemath-brial-1.2.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ sagemath-brial-1.2.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -1,14 +0,0 @@
---- sage-8.0/src/sage/libs/polybori/pb_wrap.h.0	2017-10-24 07:49:41.623327120 +0000
-+++ sage-8.0/src/sage/libs/polybori/pb_wrap.h	2017-10-24 07:50:02.720034688 +0000
-@@ -178,9 +178,9 @@
- 
- template <class Type>
- class PBWrappedPtr:
--  public boost::shared_ptr<Type> {
-+  public std::shared_ptr<Type> {
-     typedef PBWrappedPtr self;
--    typedef boost::shared_ptr<Type> base;
-+    typedef std::shared_ptr<Type> base;
- 
-  public:
-     PBWrappedPtr(): base() {}

Deleted: sagemath-cython-0.26.patch
===================================================================
--- sagemath-cython-0.26.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ sagemath-cython-0.26.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -1,26 +0,0 @@
-diff --git a/src/setup.py b/src/setup.py
-index 2215379..ddca1eb 100755
---- a/src/setup.py
-+++ b/src/setup.py
-@@ -95,7 +95,12 @@ library_dirs = [os.path.join(SAGE_LOCAL, "lib")]
- 
- # Manually add -fno-strict-aliasing, which is needed to compile Cython
- # and disappears from the default flags if the user has set CFLAGS.
--extra_compile_args = [ "-fno-strict-aliasing" ]
-+#
-+# Add -DCYTHON_CLINE_IN_TRACEBACK=1 which causes the .c line number to
-+# always appear in exception tracebacks (by default, this is a runtime
-+# setting in Cython which causes some overhead every time an exception
-+# is raised).
-+extra_compile_args = ["-fno-strict-aliasing", "-DCYTHON_CLINE_IN_TRACEBACK=1"]
- extra_link_args = [ ]
- 
- DEVEL = False
-@@ -336,6 +341,7 @@ class sage_build_cython(Command):
- 
-         # Cython compiler directives
-         self.cython_directives = dict(
-+            auto_pickle=False,
-             autotestdict=False,
-             cdivision=True,
-             embedsignature=True,

Modified: sagemath-detect-igraph.patch
===================================================================
--- sagemath-detect-igraph.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ sagemath-detect-igraph.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -2,7 +2,7 @@
 index 252984f..ce19682 100644
 --- a/src/sage/graphs/generic_graph.py
 +++ b/src/sage/graphs/generic_graph.py
-@@ -7876,10 +7875,12 @@ class GenericGraph(GenericGraph_pyx):
+@@ -8188,10 +8188,12 @@ class GenericGraph(GenericGraph_pyx):
          if algorithm is None:
              if vertex_bound:
                  algorithm = "LP"

Copied: sagemath/trunk/sagemath-env.patch (from rev 273617, sagemath/trunk/env.patch)
===================================================================
--- sagemath-env.patch	                        (rev 0)
+++ sagemath-env.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -0,0 +1,105 @@
+--- 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"
+ 
+ # Display the Sage startup banner, used in src/bin/sage
+ sage_banner() {
+@@ -185,6 +185,7 @@
+ export SAGE_ENV_SOURCED=$SAGE_ENV_VERSION
+ 
+ export SAGE_ROOT="$NEW_SAGE_ROOT"
++export SAGE_LOCAL='/usr'
+ 
+ 
+ # sage-env must know where the Sage's script files are.
+@@ -307,8 +307,9 @@
+ export SAGE_EXTCODE="$SAGE_SHARE/sage/ext"
+ export SAGE_SPKG_INST="$SAGE_LOCAL/var/lib/sage/installed"
+ export SAGE_LOGS="$SAGE_ROOT/logs/pkgs"
+-export SAGE_SRC="$SAGE_ROOT/src"
+-export SAGE_DOC_SRC="$SAGE_SRC/doc"
++export GAP_ROOT_DIR="/usr/lib/gap"
++export SAGE_SRC="$SAGE_SHARE/sage/source"
++export SAGE_DOC_SRC="$SAGE_SHARE/doc/sage"
+ export SAGE_DOC="$SAGE_SHARE/doc/sage"
+ 
+ if [ -z "${SAGE_ORIG_PATH_SET}" ]; then
+@@ -414,6 +414,9 @@
+     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
+@@ -499,7 +499,6 @@
+         fi
+     fi
+ fi
+-export MAXIMA_PREFIX="$SAGE_LOCAL"
+ 
+ PERL5LIB="$SAGE_LOCAL/lib/perl5:$PERL5LIB" && export PERL5LIB
+ 
+@@ -619,9 +619,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
+@@ -118,7 +118,7 @@
+ 
+ # 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_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'))
+

Modified: sagemath-networkx2.patch
===================================================================
--- sagemath-networkx2.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ sagemath-networkx2.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -2,7 +2,7 @@
 index 8c29602da6..e7a185d586 100644
 --- a/src/sage/graphs/digraph.py
 +++ b/src/sage/graphs/digraph.py
-@@ -751,7 +751,7 @@ class DiGraph(GenericGraph):
+@@ -755,7 +755,7 @@ class DiGraph(GenericGraph):
              self.allow_multiple_edges(multiedges,check=False)
              self.allow_loops(loops,check=False)
              self.add_vertices(data.nodes())

Deleted: sagemath-pynac-0.7.11.patch
===================================================================
--- sagemath-pynac-0.7.11.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ sagemath-pynac-0.7.11.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -1,21 +0,0 @@
---- a/src/sage/libs/pynac/pynac.pxd
-+++ b/src/sage/libs/pynac/pynac.pxd
-@@ -302,7 +302,6 @@ cdef extern from "sage/libs/pynac/wrap.h":
-     bint is_a_fderivative "is_a<GiNaC::fderivative>" (GEx e)
-     bint is_a_function "is_a<GiNaC::function>" (GEx e)
-     bint is_exactly_a_function "is_exactly_a<GiNaC::function>" (GEx e)
--    bint is_a_ncmul "is_a<GiNaC::ncmul>" (GEx e)
- 
-     # Arithmetic
-     int ginac_error()
---- a/src/sage/symbolic/expression.pyx
-+++ b/src/sage/symbolic/expression.pyx
-@@ -5536,7 +5536,7 @@ cdef class Expression(CommutativeRingElement):
-         cdef unsigned serial
-         if is_a_add(self._gobj):
-             return add_vararg
--        elif is_a_mul(self._gobj) or is_a_ncmul(self._gobj):
-+        elif is_a_mul(self._gobj):
-             return mul_vararg
-         elif is_a_power(self._gobj):
-             return operator.pow

Deleted: sagemath-pynac-0.7.12.patch
===================================================================
--- sagemath-pynac-0.7.12.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ sagemath-pynac-0.7.12.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -1,390 +0,0 @@
-diff --git a/src/doc/de/thematische_anleitungen/sage_gymnasium.rst b/src/doc/de/thematische_anleitungen/sage_gymnasium.rst
-index 5a150a0..f9ede06 100644
---- a/src/doc/de/thematische_anleitungen/sage_gymnasium.rst
-+++ b/src/doc/de/thematische_anleitungen/sage_gymnasium.rst
-@@ -716,7 +716,7 @@ die ähnliche Funktion ``canonicalize_radical``::
- Diese Gesetze können auch umgekehrt verwendet werden, wie in diesem Beispiel::
- 
-     sage: (5*log(2) + 5*log(5)).simplify_log()
--    log(100000)
-+    5*log(10)
- 
- Es geben weitere mögliche Vereinfachungen, die wir hier nicht weiter erwähnen.
- 
-diff --git a/src/sage/coding/code_bounds.py b/src/sage/coding/code_bounds.py
-index 7935bbf..64ac455 100644
---- a/src/sage/coding/code_bounds.py
-+++ b/src/sage/coding/code_bounds.py
-@@ -577,8 +577,8 @@ def entropy(x, q=2):
- 
-         sage: codes.bounds.entropy(0, 2)
-         0
--        sage: codes.bounds.entropy(1/5,4)
--        1/5*log(3)/log(4) - 4/5*log(4/5)/log(4) - 1/5*log(1/5)/log(4)
-+        sage: codes.bounds.entropy(1/5,4).factor()
-+        1/10*(log(3) - 4*log(4/5) - log(1/5))/log(2)
-         sage: codes.bounds.entropy(1, 3)
-         log(2)/log(3)
- 
-diff --git a/src/sage/functions/log.py b/src/sage/functions/log.py
-index 15e3dbf..64d898c 100644
---- a/src/sage/functions/log.py
-+++ b/src/sage/functions/log.py
-@@ -121,12 +121,12 @@ class Function_exp(GinacFunction):
-             sage: model_exp = exp(II)**a*(b)
-             sage: sol1_l={b: 5.0, a: 1.1}
-             sage: model_exp.subs(sol1_l)
--            5.00000000000000*(e^II)^1.10000000000000
-+            5.00000000000000*e^(1.10000000000000*II)
- 
-         ::
- 
-             sage: exp(3)^II*exp(x)
--            (e^3)^II*e^x
-+            e^(3*II + x)
-             sage: exp(x)*exp(x)
-             e^(2*x)
-             sage: exp(x)*exp(a)
-@@ -137,7 +137,7 @@ class Function_exp(GinacFunction):
-         Another instance of the same problem (:trac:`7394`)::
- 
-             sage: 2*sqrt(e)
--            2*sqrt(e)
-+            2*e^(1/2)
- 
-         Check that :trac:`19918` is fixed::
- 
-@@ -271,7 +271,7 @@ class Function_log(GinacFunction):
-             sage: RDF(log(1024, 2))
-             10.0
-             sage: log(10, 4)
--            log(10)/log(4)
-+            1/2*log(10)/log(2)
-             sage: RDF(log(10, 4))
-             1.6609640474436813
-             sage: log(10, 2)
-diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
-index 5db9871..c877454 100644
---- a/src/sage/functions/orthogonal_polys.py
-+++ b/src/sage/functions/orthogonal_polys.py
-@@ -1666,7 +1666,7 @@ class Func_assoc_legendre_Q(BuiltinFunction):
-         EXAMPLES::
- 
-             sage: gen_legendre_Q(2,1,3)
--            -1/4*sqrt(-2)*(-36*I*pi + 36*log(4) - 36*log(2) - 25)
-+            -1/4*sqrt(-2)*(-36*I*pi + 36*log(2) - 25)
-         """
-         ret = self._eval_special_values_(n, m, x)
-         if ret is not None:
-diff --git a/src/sage/libs/pynac/pynac.pxd b/src/sage/libs/pynac/pynac.pxd
-index 9e37f08..1d19fdd 100644
---- a/src/sage/libs/pynac/pynac.pxd
-+++ b/src/sage/libs/pynac/pynac.pxd
-@@ -97,6 +97,7 @@ cdef extern from "sage/libs/pynac/wrap.h":
- 
-     cdef cppclass GEx "ex":
-         GEx()
-+        GEx(GNumeric o)
-         GEx(GSymbol m)
-         GEx(GEx m)
-         GEx(long n)
-@@ -127,8 +128,8 @@ cdef extern from "sage/libs/pynac/wrap.h":
-         GEx numer()                   except +
-         GEx denom()                   except +
-         GEx numer_denom()             except +
--        int degree(GEx expr)          except +
--        int ldegree(GEx expr)         except +
-+        GNumeric degree(GEx expr)          except +
-+        GNumeric ldegree(GEx expr)         except +
-         GEx unit(GEx expr)            except +
-         GEx content(GEx expr)         except +
-         GEx primpart(GEx expr)        except +
-@@ -161,6 +162,7 @@ cdef extern from "sage/libs/pynac/wrap.h":
- 
-     # Algorithms
-     GEx g_gcd "gcd"(GEx a, GEx b) except +
-+    bint g_factor "factor"(GEx expr, GEx res) except +
-     GEx g_gosper_term "gosper_term"(GEx the_ex, GEx n) except +
-     GEx g_gosper_sum_definite "gosper_sum_definite"(GEx the_ex,
-             GEx n, GEx a, GEx b, int* p) except +
-diff --git a/src/sage/rings/asymptotic/asymptotic_ring.py b/src/sage/rings/asymptotic/asymptotic_ring.py
-index 0b03a4a..9de56a6 100644
---- a/src/sage/rings/asymptotic/asymptotic_ring.py
-+++ b/src/sage/rings/asymptotic/asymptotic_ring.py
-@@ -2485,7 +2485,7 @@ class AsymptoticExpansion(CommutativeAlgebraElement):
-         ::
- 
-             sage: (x^2 + log(x)).subs(x=4*x+2).truncate(5)
--            16*x^2 + 16*x + log(x) + log(4) + 4 + 1/2*x^(-1) + O(x^(-2))
-+            16*x^2 + 16*x + log(x) + 2*log(2) + 4 + 1/2*x^(-1) + O(x^(-2))
-             sage: _.parent()
-             Asymptotic Ring <(e^x)^QQ * x^ZZ * log(x)^ZZ> over Symbolic Ring
- 
-diff --git a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py 
-b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
-index 9a6f67a..de61ed3 100644
---- a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
-+++ b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
-@@ -60,9 +60,15 @@ A univariate smooth point example::
-     sage: decomp = F.asymptotic_decomposition(alpha)
-     sage: decomp
-     (0, []) +
--    (-1/2*(x^2 + 6*x + 9)*r^2/(x^5 + 9*x^4 + 27*x^3 + 27*x^2)
--     - 1/2*(5*x^2 + 24*x + 27)*r/(x^5 + 9*x^4 + 27*x^3 + 27*x^2)
--     - 3*(x^2 + 3*x + 3)/(x^5 + 9*x^4 + 27*x^3 + 27*x^2),
-+    (-1/2*r^2*(x^2/(x^5 + 9*x^4 + 27*x^3 + 27*x^2)
-+     + 6*x/(x^5 + 9*x^4 + 27*x^3 + 27*x^2)
-+     + 9/(x^5 + 9*x^4 + 27*x^3 + 27*x^2))
-+     - 1/2*r*(5*x^2/(x^5 + 9*x^4 + 27*x^3 + 27*x^2)
-+     + 24*x/(x^5 + 9*x^4 + 27*x^3 + 27*x^2)
-+     + 27/(x^5 + 9*x^4 + 27*x^3 + 27*x^2))
-+     - 3*x^2/(x^5 + 9*x^4 + 27*x^3 + 27*x^2)
-+     - 9*x/(x^5 + 9*x^4 + 27*x^3 + 27*x^2)
-+     - 9/(x^5 + 9*x^4 + 27*x^3 + 27*x^2),
-      [(x - 1/2, 1)])
-     sage: F1 = decomp[1]
-     sage: p = {x: 1/2}
-@@ -139,9 +145,9 @@ A multiple point example (Example 6.5 of [RaWi2012]_)::
-     sage: alpha = (var('a'), var('b'))
-     sage: decomp =  F.asymptotic_decomposition(alpha); decomp
-     (0, []) +
--    (-1/9*(2*b^2*x^2 - 5*a*b*x*y + 2*a^2*y^2)*r^2/(x^2*y^2)
--      - 1/9*(6*b*x^2 - 5*(a + b)*x*y + 6*a*y^2)*r/(x^2*y^2)
--      - 1/9*(4*x^2 - 5*x*y + 4*y^2)/(x^2*y^2),
-+    (-1/9*r^2*(2*a^2/x^2 + 2*b^2/y^2 - 5*a*b/(x*y))
-+     - 1/9*r*(6*a/x^2 + 6*b/y^2 - 5*a/(x*y) - 5*b/(x*y))
-+     - 4/9/x^2 - 4/9/y^2 + 5/9/(x*y),
-      [(x + 2*y - 1, 1), (2*x + y - 1, 1)])
-     sage: F1 = decomp[1]
-     sage: F1.asymptotics(p, alpha, 2)
-@@ -1480,9 +1486,9 @@ class FractionWithFactoredDenominator(RingElement):
-             sage: alpha = [var('a')]
-             sage: F.asymptotic_decomposition(alpha)
-             (0, []) +
--            (1/54*(5*a^2*x^2 + 2*a^2*x + 11*a^2)*r^2/x^2
--             - 1/54*(5*a*x^2 - 2*a*x - 33*a)*r/x^2 + 11/27/x^2, [(x - 1, 1)]) +
--            (-5/27, [(x + 2, 1)])
-+            (1/54*(5*a^2 + 2*a^2/x + 11*a^2/x^2)*r^2
-+             - 1/54*(5*a - 2*a/x - 33*a/x^2)*r + 11/27/x^2,
-+            [(x - 1, 1)]) + (-5/27, [(x + 2, 1)])
- 
-         ::
- 
-@@ -1495,7 +1501,7 @@ class FractionWithFactoredDenominator(RingElement):
-             sage: alpha = var('a, b')
-             sage: F.asymptotic_decomposition(alpha)
-             (0, []) +
--            (1/3*(2*b*x - a*y)*r/(x*y) + 1/3*(2*x - y)/(x*y),
-+            (-1/3*r*(a/x - 2*b/y) - 1/3/x + 2/3/y,
-              [(x + 2*y - 1, 1), (2*x + y - 1, 1)])
-         """
-         R = self.denominator_ring
-@@ -1600,7 +1606,7 @@ class FractionWithFactoredDenominator(RingElement):
-             (1, [(x*y + x + y - 1, 2)])
-             sage: alpha = [4, 3]
-             sage: decomp = F.asymptotic_decomposition(alpha); decomp
--            (0, []) + (-3/2*r*(y + 1)/y - 1/2*(y + 1)/y, [(x*y + x + y - 1, 1)])
-+            (0, []) + (-3/2*r*(1/y + 1) - 1/2/y - 1/2, [(x*y + x + y - 1, 1)])
-             sage: F1 = decomp[1]
-             sage: p = {y: 1/3, x: 1/2}
-             sage: asy = F1.asymptotics(p, alpha, 2, verbose=True)
-@@ -1634,7 +1640,7 @@ class FractionWithFactoredDenominator(RingElement):
-             sage: alpha = [3, 3, 2]
-             sage: decomp = F.asymptotic_decomposition(alpha); decomp
-             (0, []) +
--            (16*r*(4*y - 3*z)/(y*z) + 16*(2*y - z)/(y*z),
-+            (-16*r*(3/y - 4/z) - 16/y + 32/z,
-              [(x + 2*y + z - 4, 1), (2*x + y + z - 4, 1)])
-             sage: F1 = decomp[1]
-             sage: p = {x: 1, y: 1, z: 1}
-diff --git a/src/sage/rings/asymptotic/term_monoid.py b/src/sage/rings/asymptotic/term_monoid.py
-index b879639..ded7f02 100644
---- a/src/sage/rings/asymptotic/term_monoid.py
-+++ b/src/sage/rings/asymptotic/term_monoid.py
-@@ -3339,7 +3339,7 @@ class ExactTerm(TermWithCoefficient):
-             sage: T(x^1234).log_term()
-             (1234*log(x),)
-             sage: T(49*x^7).log_term(base=7)
--            (log(49)/log(7), 7/log(7)*log(x))
-+            (2, 7/log(7)*log(x))
- 
-         ::
- 
-@@ -3347,7 +3347,7 @@ class ExactTerm(TermWithCoefficient):
-             sage: T('x * y').log_term()
-             (log(x), log(y))
-             sage: T('4 * x * y').log_term(base=2)
--            (log(4)/log(2), 1/log(2)*log(x), 1/log(2)*log(y))
-+            (2, 1/log(2)*log(x), 1/log(2)*log(y))
- 
-         .. SEEALSO::
- 
-diff --git a/src/sage/rings/integer.pyx b/src/sage/rings/integer.pyx
-index 0b8a3bd..cdc34a2 100644
---- a/src/sage/rings/integer.pyx
-+++ b/src/sage/rings/integer.pyx
-@@ -2532,7 +2532,7 @@ cdef class Integer(sage.structure.element.EuclideanDomainElement):
-             sage: Integer(125).log(5,prec=53)
-             3.00000000000000
-             sage: log(Integer(125))
--            log(125)
-+            3*log(5)
- 
-         For extremely large numbers, this works::
- 
-diff --git a/src/sage/rings/rational.pyx b/src/sage/rings/rational.pyx
-index 36af3a5..857081b 100644
---- a/src/sage/rings/rational.pyx
-+++ b/src/sage/rings/rational.pyx
-@@ -3075,11 +3075,11 @@ cdef class Rational(sage.structure.element.FieldElement):
-             sage: (124/345).log(5,100)
-             -0.63578895682825611710391773754
-             sage: log(QQ(125))
--            log(125)
-+            3*log(5)
-             sage: log(QQ(125), 5)
-             3
-             sage: log(QQ(125), 3)
--            log(125)/log(3)
-+            3*log(5)/log(3)
-             sage: QQ(8).log(1/2)
-             -3
-             sage: (1/8).log(1/2)
-diff --git a/src/sage/schemes/elliptic_curves/ell_point.py b/src/sage/schemes/elliptic_curves/ell_point.py
-index 8009421..9ec892e 100644
---- a/src/sage/schemes/elliptic_curves/ell_point.py
-+++ b/src/sage/schemes/elliptic_curves/ell_point.py
-@@ -2886,7 +2886,7 @@ class EllipticCurvePoint_number_field(EllipticCurvePoint_field):
-             sage: Q.non_archimedean_local_height(K.ideal(1-2*i))
-             0
-             sage: Q.non_archimedean_local_height()
--            1/2*log(16)
-+            2*log(2)
- 
-         An example over the rational numbers::
- 
-diff --git a/src/sage/symbolic/constants_c.pyx b/src/sage/symbolic/constants_c.pyx
-index 8eb61f5..38e8db6 100644
---- a/src/sage/symbolic/constants_c.pyx
-+++ b/src/sage/symbolic/constants_c.pyx
-@@ -145,14 +145,14 @@ cdef class E(Expression):
-             sage: t.operands()
-             [a]
- 
--        As opposed to::
-+        This applies to the unit argument as well::
- 
-             sage: u = SR(1).exp()^a; u
-             e^a
-             sage: u.operator()
--            <built-in function pow>
-+            exp
-             sage: u.operands()
--            [e, a]
-+            [a]
- 
-         It also works with matrices (see :trac:`4735`)::
- 
-diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx
-index 94252ea..3e06201 100644
---- a/src/sage/symbolic/expression.pyx
-+++ b/src/sage/symbolic/expression.pyx
-@@ -3247,11 +3247,8 @@ cdef class Expression(CommutativeRingElement):
-             -1
-             sage: b = -x*A; c = b*b; c
-             1/4*x^2*(sqrt(5) + I*sqrt(2*sqrt(5) + 10) - 1)
--
--        Products of non integer powers of exp are not simplified::
--
-             sage: exp(x)^I*exp(z)^(2.5)
--            (e^x)^I*(e^z)^2.50000000000000
-+            e^(I*x + 2.50000000000000*z)
- 
-         ::
- 
-@@ -3925,7 +3922,7 @@ cdef class Expression(CommutativeRingElement):
-             sage: 0^1.0
-             0.000000000000000
-             sage: exp(x)^1.0
--            (e^x)^1.00000000000000
-+            e^(1.00000000000000*x)
-         """
-         cdef Expression base, nexp
- 
-@@ -6311,7 +6308,7 @@ cdef class Expression(CommutativeRingElement):
-             0
-         """
-         cdef Expression ss = self.coerce_in(s)
--        return self._gobj.ldegree(ss._gobj)
-+        return new_Expression_from_GEx(self._parent, GEx(self._gobj.ldegree(ss._gobj)))
- 
-     def degree(self, s):
-         """
-@@ -6337,7 +6334,7 @@ cdef class Expression(CommutativeRingElement):
-             0
-         """
-         cdef Expression ss = self.coerce_in(s)
--        return self._gobj.degree(ss._gobj)
-+        return new_Expression_from_GEx(self._parent, GEx(self._gobj.degree(ss._gobj)))
- 
-     def unit(self, s):
-         """
-@@ -7185,12 +7182,12 @@ cdef class Expression(CommutativeRingElement):
-             sage: f.collect(z)
-             (x^2*y^2 + 4)*z^2 + 4*x*y + 20*y^2 + (x + 21*y)*z
- 
--        Sometimes, we do have to call :meth:`expand()` on the
--        expression first to achieve the desired result::
-+        The terms are collected, whether the expression
-+        is expanded or not::
- 
-             sage: f = (x + y)*(x - z)
-             sage: f.collect(x)
--            x^2 + x*y - x*z - y*z
-+            x^2 + x*(y - z) - y*z
-             sage: f.expand().collect(x)
-             x^2 + x*(y - z) - y*z
- 
-@@ -10433,9 +10430,9 @@ cdef class Expression(CommutativeRingElement):
-         ``x*log(9)`` is contracted only if ``algorithm`` is ``'all'``::
- 
-             sage: (x*log(9)).simplify_log()
--            x*log(9)
-+            2*x*log(3)
-             sage: (x*log(9)).simplify_log('all')
--            log(9^x)
-+            log(3^(2*x))
- 
-         TESTS:
- 
-@@ -10550,7 +10547,7 @@ cdef class Expression(CommutativeRingElement):
-         To expand also log(3/4) use ``algorithm='all'``::
- 
-             sage: (log(3/4*x^pi)).log_expand('all')
--            pi*log(x) - log(4) + log(3)
-+            pi*log(x) + log(3) - 2*log(2)
- 
-         To expand only the power use ``algorithm='powers'``.::
- 
-@@ -10573,7 +10570,7 @@ cdef class Expression(CommutativeRingElement):
-             pi*log(x) + log(3/4)
- 
-             sage: (log(3/4*x^pi)).log_expand('all')
--            pi*log(x) - log(4) + log(3)
-+            pi*log(x) + log(3) - 2*log(2)
- 
-             sage: (log(3/4*x^pi)).log_expand()
-             pi*log(x) + log(3/4)
-diff --git a/src/sage/tests/french_book/calculus_doctest.py b/src/sage/tests/french_book/calculus_doctest.py
-index 0d40cae..ffe5d4b 100644
---- a/src/sage/tests/french_book/calculus_doctest.py
-+++ b/src/sage/tests/french_book/calculus_doctest.py
-@@ -331,7 +331,7 @@ Sage example in ./calculus.tex, line 914::
- Sage example in ./calculus.tex, line 929::
- 
-     sage: v(x) = diff(u(x), x); sol = solve(v(x) == 0, x); sol
--    [x == 100/log(100), x == 0]
-+    [x == 50/log(10), x == 0]
-     sage: floor(sol[0].rhs())
-     21
- 

Modified: sagemath-python3-notebook.patch
===================================================================
--- sagemath-python3-notebook.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ sagemath-python3-notebook.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -11,12 +11,12 @@
 +        os.execvp('jupyter-notebook', ['jupyter-notebook'] + argv)
  
  
- class SageNBExport(NotebookJupyter):
+ 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
-@@ -281,7 +281,6 @@ def have_prerequisites(debug=True):
+@@ -280,7 +280,6 @@ def have_prerequisites(debug=True):
          True
      """
      try:

Modified: test-optional.patch
===================================================================
--- test-optional.patch	2017-12-10 17:10:58 UTC (rev 273617)
+++ test-optional.patch	2017-12-10 19:12:15 UTC (rev 273618)
@@ -1,6 +1,6 @@
 --- 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
-@@ -307,22 +307,6 @@
+@@ -320,22 +320,6 @@
              if "all" in options.optional:
                  # Special case to run all optional tests
                  options.optional = True



More information about the arch-commits mailing list