From 42506f75e8ea857465f97549b6052514a0549c7a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 25 Aug 2015 03:43:04 -0300 Subject: sagemath-6.8-3.parabola1: fixes for IPython 4 and add Jupyter kernel file --- libre/sagemath/PKGBUILD | 24 +++++++++++++++++++----- libre/sagemath/c_lib.patch | 17 ----------------- libre/sagemath/ipython-4.patch | 35 +++++++++++++++++++++++++++++++++++ libre/sagemath/kernel.json | 1 + 4 files changed, 55 insertions(+), 22 deletions(-) delete mode 100644 libre/sagemath/c_lib.patch create mode 100644 libre/sagemath/ipython-4.patch create mode 100644 libre/sagemath/kernel.json diff --git a/libre/sagemath/PKGBUILD b/libre/sagemath/PKGBUILD index 199bb1d0a..872ceceb7 100644 --- a/libre/sagemath/PKGBUILD +++ b/libre/sagemath/PKGBUILD @@ -11,7 +11,7 @@ pkgname=sagemath pkgver=6.8 -pkgrel=2.parabola1 +pkgrel=3.parabola1 pkgdesc="Free Mathematics Software, free software replacement of Magma, Maple, Mathematica, and Matlab, without nonfree nauty recommendation" arch=(i686 x86_64) url="http://www.sagemath.org" @@ -21,7 +21,7 @@ depends=(ipython2 ppl mpfi palp polybori singular libcliquer maxima-ecl gfan sym eclib gmp-ecm zn_poly gd python2-cvxopt pynac linbox gsl rubiks pari-galdata pari-seadata-small planarity rankwidth sage-data-combinatorial_designs sage-data-elliptic_curves sage-data-graphs sage-data-polytopes_db sage-data-conway_polynomials) optdepends=('cython2: to compile cython code' 'jmol: 3D plots' 'sage-notebook: Browser-based (flask) notebook interface' - 'sagemath-doc: Documentation and inline help' 'ipython2-notebook: IPython notebook interface' 'mathjax: IPython notebook interface' + 'sagemath-doc: Documentation and inline help' 'ipython2-notebook: Jupyter notebook interface' 'mathjax: Jupyter notebook interface' 'coin-or-cbc: COIN backend for numerical computations' 'buckygen: for generating fullerene graphs' 'plantri: for generating some classes of graphs' 'benzene: for generating fusenes and benzenoids' 'modular_decomposition: modular decomposition of graphs' @@ -34,11 +34,12 @@ replaces=(sage-mathematics) provides=(sage-mathematics) source=("$pkgname-$pkgver.tar.gz::https://github.com/sagemath/sage/archive/$pkgver.tar.gz" # "http://www.sagemath.org/packages/upstream/pexpect/pexpect-2.0.tar.bz2" -"http://mirrors.mit.edu/sage/spkg/upstream/pexpect/pexpect-2.0.tar.bz2" +"http://mirrors.mit.edu/sage/spkg/upstream/pexpect/pexpect-2.0.tar.bz2" 'kernel.json' 'anal.h' 'package.patch' 'env.patch' 'paths.patch' 'clean.patch' 'skip-check.patch' -'pexpect-env.patch' 'pexpect-del.patch' 'disable-fes.patch' 'cython-0.23.patch') +'pexpect-env.patch' 'pexpect-del.patch' 'disable-fes.patch' 'cython-0.23.patch' 'ipython-4.patch') md5sums=('943780ef4460e38f28fefe95e3138981' 'd9a3e113ed147dcee8f89962a8dccd43' + '4cee4f96bcd877587e7efc40c20adba7' 'a906a180d198186a39820b0a2f9a9c63' 'f72e544032b1a3f952b7ddafc3a49d63' '843a6cc3b17a1850604593813321418e' @@ -48,7 +49,8 @@ md5sums=('943780ef4460e38f28fefe95e3138981' 'a83a3b1bc7fcb7cbf752a83a8311fc42' 'f333939ea6c41377b66407c81016cee4' '4eb23a3c7363258bc9ba764d6e5512ba' - '1b8dfa047115180aa0afbeaf19d97762') + '1b8dfa047115180aa0afbeaf19d97762' + '41aa997ad9f00afdc3357b37fc70f0e6') prepare(){ cd sage-$pkgver @@ -79,6 +81,8 @@ prepare(){ sed -e "s|os.path.join(SAGE_ROOT, 'sage')|'/usr/bin/sage'|" -i src/sage/repl/ipython_kernel/install.py # find bliss headers sed -e 's|graph.hh|bliss/graph.hh|' -i src/sage/graphs/bliss.pyx +# fix IPython 4 compatibility + patch -p0 -i ../ipython-4.patch # Upstream patches # fix build against libfes 0.2 http://trac.sagemath.org/ticket/15209 @@ -158,4 +162,14 @@ package() { python2 setup.py install --root="$pkgdir" --optimize=1 mkdir -p "$pkgdir"/usr/lib/sage/site-packages/ mv "$pkgdir"/usr/lib/python2.7/site-packages/pexpect* "$pkgdir"/usr/lib/sage/site-packages/ + +# Install Jupyter kernel + install -Dm644 "$srcdir"/kernel.json "$pkgdir"/usr/share/jupyter/kernels/sagemath/kernel.json + cd "$pkgdir"/usr/share/jupyter/kernels/sagemath + ln -s /usr/share/doc/sage/output/html/en doc + ln -s /usr/share/sage/ext/notebook-ipython/logo.svg . + ln -s /usr/share/sage/ext/notebook-ipython/logo-64x64.png . + + mkdir "$pkgdir"/usr/share/jupyter/nbextensions + ln -s /usr/share/{jsmol,mathjax} "$pkgdir"/usr/share/jupyter/nbextensions } diff --git a/libre/sagemath/c_lib.patch b/libre/sagemath/c_lib.patch deleted file mode 100644 index 6df7b8efa..000000000 --- a/libre/sagemath/c_lib.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- src/setup.py.orig 2014-11-01 23:49:10.000000000 +0100 -+++ src/setup.py 2014-11-07 00:40:58.414838636 +0100 -@@ -171,10 +171,12 @@ - m.libraries = ['csage'] + m.libraries - if m.language == 'c++': - m.libraries.append('stdc++') -+ m.libraries.append('ntl') -+ m.libraries = m.libraries + ['gmp', 'm', 'dl'] - - m.extra_compile_args = m.extra_compile_args + extra_compile_args - m.extra_link_args = m.extra_link_args + extra_link_args -- m.library_dirs = m.library_dirs + [os.path.join(SAGE_LOCAL, "lib")] -+ m.library_dirs += ['c_lib', '%s/lib' % SAGE_LOCAL] - m.include_dirs = m.include_dirs + include_dirs - - - diff --git a/libre/sagemath/ipython-4.patch b/libre/sagemath/ipython-4.patch new file mode 100644 index 000000000..a3b17563d --- /dev/null +++ b/libre/sagemath/ipython-4.patch @@ -0,0 +1,35 @@ +--- src/sage/repl/interpreter.py.orig 2015-08-16 14:57:55.571128473 +0200 ++++ src/sage/repl/interpreter.py 2015-08-16 14:58:06.647849803 +0200 +@@ -104,8 +104,8 @@ + import sys + from sage.repl.preparse import preparse + +-from IPython import Config +-from IPython.utils.traitlets import Bool, Type ++from traitlets.config.loader import Config ++from traitlets import Bool, Type + + from sage.env import SAGE_LOCAL + +--- src/sage/repl/ipython_kernel/__main__.py.orig 2015-08-22 12:32:58.595605714 +0200 ++++ src/sage/repl/ipython_kernel/__main__.py 2015-08-22 12:33:36.065900491 +0200 +@@ -1,3 +1,3 @@ +-from IPython.kernel.zmq.kernelapp import IPKernelApp ++from ipykernel.kernelapp import IPKernelApp + from sage.repl.ipython_kernel.kernel import SageKernel + IPKernelApp.launch_instance(kernel_class=SageKernel) +--- src/sage/repl/ipython_kernel/kernel.py.orig 2015-08-22 12:35:08.709928354 +0200 ++++ src/sage/repl/ipython_kernel/kernel.py 2015-08-22 12:35:31.983429208 +0200 +@@ -15,9 +15,9 @@ + #***************************************************************************** + + import sys +-from IPython.kernel.zmq.ipkernel import IPythonKernel +-from IPython.kernel.zmq.zmqshell import ZMQInteractiveShell +-from IPython.utils.traitlets import Type ++from ipykernel.ipkernel import IPythonKernel ++from ipykernel.zmqshell import ZMQInteractiveShell ++from traitlets import Type + + from sage.env import SAGE_VERSION, SAGE_EXTCODE, SAGE_DOC + from sage.repl.interpreter import SageNotebookInteractiveShell diff --git a/libre/sagemath/kernel.json b/libre/sagemath/kernel.json new file mode 100644 index 000000000..19b0f197b --- /dev/null +++ b/libre/sagemath/kernel.json @@ -0,0 +1 @@ +{"display_name": "SageMath", "argv": ["/usr/bin/sage", "-python", "-m", "sage.repl.ipython_kernel", "-f", "{connection_file}"]} -- cgit v1.2.3