sagemath/sagemath-sagenb.patch
Jerry James 87098dcde0 Add -buildroot patch and only build cython interfaces once.
Also:
- Drop LANGUAGES variable setting, now ignored by the sagemath build system.
- Drop unused SAGE_CBLAS variable from /usr/bin/sage.
- Do not force the C locale when launching sagemath.
- Allow the user to override SAGE_DEBUG in /usr/bin/sage.
- Add -ecm, -giac, and -latte patches to fix interactions with external tools.
- Add -sigfpe patch from upstream.
- Fix flask_autoindex and flask_openid imports in sagenb.
- Add Education category to the desktop file (bz 1624545).
- Fix SINGULAR_SO variable in /usr/bin/sage (bz 1636759 and 1655248).
- Invoke twistd-2 instead of twistd (bz 1640890).
- Improve jupyter integration (bz 1663165).
- Move existing jupyter integration into the notebook subpackage.
- Require python-jupyter-filesystem instead of owning its directories.
- Drop one more remnant of the F24 to F25 upgrade fixup.
2019-01-19 09:07:04 -07:00

104 lines
5.7 KiB
Diff

diff -up build/pkgs/sagenb/src/sagenb/flask_version/base.py.orig build/pkgs/sagenb/src/sagenb/flask_version/base.py
--- build/pkgs/sagenb/src/sagenb/flask_version/base.py.orig 2018-01-24 04:17:47.000000000 -0700
+++ build/pkgs/sagenb/src/sagenb/flask_version/base.py 2019-01-18 15:02:10.691836714 -0700
@@ -7,13 +7,11 @@ from functools import partial
from flask import Flask, Blueprint, url_for, request, session, redirect, g, make_response, current_app, render_template
from .decorators import login_required, guest_or_login_required, with_lock
from .decorators import global_lock
-# Make flask use the old session foo from <=flask-0.9
-from flask_oldsessions import OldSecureCookieSessionInterface
-from flask.ext.autoindex import AutoIndex
+from flask_autoindex import AutoIndex
from sage.env import SAGE_SRC, SAGE_DOC
SRC = os.path.join(SAGE_SRC, 'sage')
-from flask.ext.openid import OpenID
+from flask_openid import OpenID
from flask_babel import Babel, gettext, ngettext, lazy_gettext, get_locale
from sagenb.misc.misc import SAGENB_ROOT, DATA, translations_path, N_, nN_, unicode_str
from json import dumps
@@ -28,7 +26,6 @@ class SageNBFlask(Flask):
def __init__(self, *args, **kwds):
self.startup_token = kwds.pop('startup_token', None)
Flask.__init__(self, *args, **kwds)
- self.session_interface = OldSecureCookieSessionInterface()
self.config['SESSION_COOKIE_HTTPONLY'] = False
@@ -39,13 +36,13 @@ class SageNBFlask(Flask):
self.add_static_path('/javascript', DATA)
self.add_static_path('/static', DATA)
self.add_static_path('/java', DATA)
- self.add_static_path('/java/jmol', os.path.join(os.environ["SAGE_SHARE"],"jmol"))
- self.add_static_path('/jsmol', os.path.join(os.environ["SAGE_SHARE"],"jsmol"))
- self.add_static_path('/jsmol/js', os.path.join(os.environ["SAGE_SHARE"],"jsmol","js"))
- self.add_static_path('/j2s', os.path.join(os.environ["SAGE_SHARE"],"jsmol","j2s"))
- self.add_static_path('/jsmol/j2s', os.path.join(os.environ["SAGE_SHARE"],"jsmol","j2s"))
- self.add_static_path('/j2s/core', os.path.join(os.environ["SAGE_SHARE"],"jsmol","j2s","core"))
- self.add_static_path('/threejs', os.path.join(os.environ["SAGE_SHARE"],"threejs"))
+ self.add_static_path('/java/jmol', os.path.join(os.environ["SAGE_ROOT"],"share","jmol"))
+ self.add_static_path('/jsmol', os.path.join(os.environ["SAGE_ROOT"],"share","jsmol"))
+ self.add_static_path('/jsmol/js', os.path.join(os.environ["SAGE_ROOT"],"share","jsmol","js"))
+ self.add_static_path('/j2s', os.path.join(os.environ["SAGE_ROOT"],"jsmol","j2s"))
+ self.add_static_path('/jsmol/j2s', os.path.join(os.environ["SAGE_ROOT"],"share","jsmol","j2s"))
+ self.add_static_path('/j2s/core', os.path.join(os.environ["SAGE_ROOT"],"share","jsmol","j2s","core"))
+ self.add_static_path('/threejs', os.path.join(os.environ["SAGE_ROOT"],"share","threejs"))
import mimetypes
mimetypes.add_type('text/plain','.jmol')
diff -up build/pkgs/sagenb/src/sagenb/misc/misc.py.orig build/pkgs/sagenb/src/sagenb/misc/misc.py
--- build/pkgs/sagenb/src/sagenb/misc/misc.py.orig 2017-06-02 16:24:20.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/misc/misc.py 2018-08-29 08:44:38.823169061 -0600
@@ -184,7 +184,8 @@ def pad_zeros(s, size=3):
SAGENB_ROOT = os.path.split(resource_filename(__name__, ''))[0]
-DATA = os.path.join(SAGENB_ROOT, 'data')
+import sage.env
+DATA = os.path.join(sage.env.SAGE_SRC, 'sagenb', 'data')
if 'DOT_SAGENB' in os.environ:
DOT_SAGENB = os.environ['DOT_SAGENB']
diff -up build/pkgs/sagenb/src/sagenb/notebook/cell.py.orig build/pkgs/sagenb/src/sagenb/notebook/cell.py
--- build/pkgs/sagenb/src/sagenb/notebook/cell.py.orig 2018-01-24 04:17:38.000000000 -0700
+++ build/pkgs/sagenb/src/sagenb/notebook/cell.py 2018-08-29 08:44:38.823169061 -0600
@@ -2384,8 +2384,8 @@ class Cell(Cell_generic):
with open(jmol_name, 'r') as f:
jmol_script = f.read()
jmol_script = jmol_script.replace(
- 'defaultdirectory "',
- 'defaultdirectory "{0}/'.format(self.url_to_worksheet()))
+ 'defaultdirectory "',
+ 'defaultdirectory "/home/' + self.worksheet_filename() + '/')
with open(jmol_name, 'w') as f:
f.write(jmol_script)
diff -up build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py.orig build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py
--- build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py.orig 2018-05-22 10:16:28.000000000 -0600
+++ build/pkgs/sagenb/src/sagenb/notebook/run_notebook.py 2019-01-18 16:37:26.438289912 -0700
@@ -53,12 +53,11 @@ sagenb.notebook.misc.DIR = %(cwd)r #We s
# Flask #
#########
import os, sys, random
-import sagenb.flask_version.base as flask_base
-opts={}
+sagenb_dir = os.path.join(os.environ['SAGE_ROOT'], 'src', 'sagenb')
+sys.path.append(sagenb_dir)
+import flask_version.base as flask_base
startup_token = '{0:x}'.format(random.randint(0, 2**128))
-if %(automatic_login)s:
- opts['startup_token'] = startup_token
-flask_app = flask_base.create_app(%(notebook_opts)s, **opts)
+flask_app = flask_base.create_app(%(notebook_opts)s, startup_token=startup_token)
def save_notebook(notebook):
print("Quitting all running worksheets...")
@@ -336,7 +335,7 @@ reactor.addSystemEventTrigger('before',
profilecmd = '--profile=%s --profiler=cprofile --savestats'%self.profile_file(kw['profile'])
else:
profilecmd=''
- cmd = 'twistd %s --pidfile="%s" -ny "%s"' % (profilecmd, kw['pidfile'], conf)
+ cmd = 'twistd-2 %s --pidfile="%s" -ny "%s"' % (profilecmd, kw['pidfile'], conf)
return cmd
def get_old_settings(self, conf):