Sagemath 7.3 on fedora
by Paulo César Pereira de Andrade
Hi,
=====
First the good news:
Debian appears to have a team devoted to get sagemath
again packaged:
https://wiki.debian.org/DebianScience/Sage
http://lists.alioth.debian.org/pipermail/debian-science-sagemath/
so, some/most efforts related to be upstream can be shared.
Ascii-art screenshot of my xterm:
---8<---
[pcpa@localhost ~]$ cat /etc/fedora-release
Fedora release 26 (Rawhide)
[pcpa@localhost ~]$ rpm -q sagemath
sagemath-7.3-1.fc26.x86_64
[pcpa@localhost ~]$ sage -v
SageMath version 7.3, Release Date: 2016-08-04
[pcpa@localhost ~]$ sage -notebook
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 7.3, Release Date: 2016-08-04 │
│ Type "notebook()" for the browser-based notebook interface. │
│ Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
Please wait while the old SageNB Notebook server starts...
The notebook files are stored in: sage_notebook.sagenb
┌────────────────────────────────────────────────┐
│ │
│ Open your web browser to http://localhost:8080 │
│ │
└────────────────────────────────────────────────┘
Executing twistd --pidfile="sage_notebook.sagenb/sagenb.pid" -ny
"sage_notebook.sagenb/twistedconf.tac"
2016-08-12T14:58:21-0400 [-] Loading sage_notebook.sagenb/twistedconf.tac...
2016-08-12T14:58:23-0400 [-] Loaded.
2016-08-12T14:58:23-0400
[twisted.scripts._twistd_unix.UnixAppLogger#info] twistd 16.3.0
(/usr/bin/python2 2.7.12) starting up.
2016-08-12T14:58:23-0400
[twisted.scripts._twistd_unix.UnixAppLogger#info] reactor class:
twisted.internet.epollreactor.EPollReactor.
2016-08-12T14:58:23-0400 [-] QuietSite starting on 8080
2016-08-12T14:58:23-0400 [__builtin__.QuietSite#info] Starting factory
<__builtin__.QuietSite instance at 0x7f8a8d726bd8>
---8<---
mostly functional, cool stuff like tutorial jsmol interactive
plots work (there is need to update some packages
and at least one new package).
=====
Now the bad news :(
I am still unsure if I will get a functional package, as way
too many components are still broken (does not rebuild all
the docs due to crashes)...
It still requires significant work, as rawhide did not update to
ipython 4, and possibly one of the reasons is sagemath 6.8, so
I hacked (mostly overwrote ipython stuff with sage-6.8 files) it
to work with ipython 3.
I still need this https://bugzilla.redhat.com/show_bug.cgi?id=1296652
and now also need this:
https://github.com/cython/cython/pull/483/commits/97de55acf4efe3c3ae2b5a9...
I am bypassing the need of those by copying the cython install
to the buildroot, patching it, and using the patched cython... (ugly)
Besides hacking cython, it is still required to hack sphinx to
rebuild docs, with this hack from sagemath:
---8<---
Allow Sphinx to recognize the Sage prompt "sage:"
the same way it recognizes the ">>>" from Python
diff -ru a/sphinx/highlighting.py b/sphinx/highlighting.py
--- a/sphinx/highlighting.py 2016-03-28 15:16:34.000000000 +0200
+++ b/sphinx/highlighting.py 2016-04-22 22:34:29.642929758 +0200
@@ -96,15 +96,19 @@
source = source.decode()
# find out which lexer to use
- if lang in ('py', 'python'):
+ elif lang in ('py', 'python'):
if source.startswith('>>>'):
# interactive session
lexer = lexers['pycon']
+ elif source.startswith('sage: '):
+ lexer = lexers['pycon']
else:
lexer = lexers['python']
elif lang in ('py3', 'python3', 'default'):
if source.startswith('>>>'):
lexer = lexers['pycon3']
+ elif source.startswith('sage: '):
+ lexer = lexers['pycon']
else:
lexer = lexers['python3']
elif lang == 'guess':
---8<---
Maybe we could get this in upstream...
https://bugzilla.redhat.com/show_bug.cgi?id=839321#c4
There is also the bundling of pari...
Thanks,
Paulo
6 years, 9 months