Package: sagemath / 7.4-9

Metadata

Package Version Patches format
sagemath 7.4-9 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
u0 version cython 0.25.patch | (download)

sage/src/sage/calculus/var.pyx | 2 2 + 0 - 0 !
sage/src/sage/ext/interactive_constructors_c.pyx | 1 1 + 0 - 0 !
sage/src/sage/misc/citation.pyx | 5 4 + 1 - 0 !
sage/src/sage/misc/fpickle.pyx | 1 1 + 0 - 0 !
sage/src/sage/misc/reset.pyx | 5 4 + 1 - 0 !
sage/src/sage/misc/sage_timeit_class.pyx | 4 2 + 2 - 0 !
sage/src/sage/structure/category_object.pyx | 1 1 + 0 - 0 !
sage/src/sage/structure/sage_object.pyx | 1 1 + 0 - 0 !
sage/src/setup.py | 12 3 + 9 - 0 !
9 files changed, 19 insertions(+), 13 deletions(-)

 [patch 1/2] move old_style_globals to individual modules


u0 version glpk 4.60.patch | (download)

sage/src/sage/numerical/backends/glpk_backend.pyx | 4 2 + 2 - 0 !
sage/src/sage/numerical/backends/glpk_graph_backend.pyx | 8 4 + 4 - 0 !
sage/src/sage/numerical/mip.pyx | 6 3 + 3 - 0 !
3 files changed, 9 insertions(+), 9 deletions(-)

 update doctests to glpk 4.60
 Taken from https://trac.sagemath.org/ticket/20710
u0 version pari 2.9 trac 21765.patch | (download)

sage/src/sage/rings/number_field/number_field_rel.py | 6 2 + 4 - 0 !
1 file changed, 2 insertions(+), 4 deletions(-)

 simplify relative_discriminant()


u0 version pari 2.9.patch | (download)

sage/src/sage/libs/pari/pari_instance.pxd | 1 0 + 1 - 0 !
sage/src/sage/libs/pari/pari_instance.pyx | 362 232 + 130 - 0 !
sage/src/sage/libs/pari/tests.py | 6 3 + 3 - 0 !
sage/src/sage/modular/cusps_nf.py | 18 8 + 10 - 0 !
sage/src/sage/rings/number_field/bdd_height.py | 2 1 + 1 - 0 !
sage/src/sage/rings/number_field/class_group.py | 2 1 + 1 - 0 !
sage/src/sage/rings/number_field/number_field.py | 44 25 + 19 - 0 !
sage/src/sage/rings/number_field/number_field_element.pyx | 2 1 + 1 - 0 !
sage/src/sage/rings/number_field/number_field_ideal_rel.py | 10 5 + 5 - 0 !
sage/src/sage/rings/number_field/number_field_rel.py | 2 1 + 1 - 0 !
sage/src/sage/rings/number_field/unit_group.py | 37 30 + 7 - 0 !
sage/src/sage/rings/polynomial/polynomial_quotient_ring.py | 70 55 + 15 - 0 !
sage/src/sage/schemes/elliptic_curves/ell_number_field.py | 28 15 + 13 - 0 !
sage/src/sage/schemes/elliptic_curves/ell_rational_field.py | 4 2 + 2 - 0 !
sage/src/sage/schemes/elliptic_curves/gp_simon.py | 2 1 + 1 - 0 !
sage/src/sage/schemes/elliptic_curves/period_lattice.py | 4 2 + 2 - 0 !
16 files changed, 382 insertions(+), 212 deletions(-)

 upgrade to pari 2.9.0
u0 version singular 4.patch | (download)

sage/src/bin/sage | 2 1 + 1 - 0 !
sage/src/doc/de/tutorial/interfaces.rst | 1 1 + 0 - 0 !
sage/src/doc/en/constructions/rings.rst | 1 1 + 0 - 0 !
sage/src/doc/en/developer/coding_in_other.rst | 1 1 + 0 - 0 !
sage/src/doc/en/tutorial/interfaces.rst | 1 1 + 0 - 0 !
sage/src/doc/fr/tutorial/interfaces.rst | 1 1 + 0 - 0 !
sage/src/doc/ja/tutorial/interfaces.rst | 1 1 + 0 - 0 !
sage/src/doc/pt/tutorial/interfaces.rst | 1 1 + 0 - 0 !
sage/src/doc/ru/tutorial/interfaces.rst | 1 1 + 0 - 0 !
sage/src/module_list.py | 80 17 + 63 - 0 !
sage/src/sage/arith/misc.py | 2 1 + 1 - 0 !
sage/src/sage/categories/pushout.py | 1 1 + 0 - 0 !
sage/src/sage/interfaces/expect.py | 1 1 + 0 - 0 !
sage/src/sage/interfaces/interface.py | 1 1 + 0 - 0 !
sage/src/sage/interfaces/singular.py | 41 33 + 8 - 0 !
sage/src/sage/interfaces/tests.py | 2 1 + 1 - 0 !
sage/src/sage/libs/singular/decl.pxd | 379 215 + 164 - 0 !
sage/src/sage/libs/singular/function.pyx | 86 47 + 39 - 0 !
sage/src/sage/libs/singular/groebner_strategy.pyx | 6 3 + 3 - 0 !
sage/src/sage/libs/singular/polynomial.pyx | 35 20 + 15 - 0 !
sage/src/sage/libs/singular/ring.pyx | 328 194 + 134 - 0 !
sage/src/sage/libs/singular/singular.pxd | 7 2 + 5 - 0 !
sage/src/sage/libs/singular/singular.pyx | 401 228 + 173 - 0 !
sage/src/sage/misc/cython.py | 2 1 + 1 - 0 !
sage/src/sage/rings/multi_power_series_ring_element.py | 4 2 + 2 - 0 !
sage/src/sage/rings/polynomial/multi_polynomial_ideal.py | 36 19 + 17 - 0 !
sage/src/sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx | 21 10 + 11 - 0 !
sage/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx | 152 89 + 63 - 0 !
sage/src/sage/rings/polynomial/multi_polynomial_ring_generic.pyx | 2 1 + 1 - 0 !
sage/src/sage/rings/polynomial/pbori.pyx | 1 1 + 0 - 0 !
sage/src/sage/rings/polynomial/plural.pxd | 4 4 + 0 - 0 !
sage/src/sage/rings/polynomial/plural.pyx | 30 15 + 15 - 0 !
sage/src/sage/rings/polynomial/polynomial_quotient_ring.py | 1 1 + 0 - 0 !
sage/src/sage/rings/polynomial/polynomial_singular_interface.py | 19 16 + 3 - 0 !
sage/src/sage/rings/polynomial/term_order.py | 2 2 + 0 - 0 !
sage/src/sage/rings/quotient_ring.py | 1 1 + 0 - 0 !
sage/src/sage/rings/quotient_ring_element.py | 1 1 + 0 - 0 !
sage/src/sage/schemes/curves/affine_curve.py | 6 3 + 3 - 0 !
sage/src/sage/schemes/curves/projective_curve.py | 2 1 + 1 - 0 !
sage/src/sage/structure/element.pyx | 11 5 + 6 - 0 !
sage/src/sage/tests/french_book/mpoly.py | 2 1 + 1 - 0 !
41 files changed, 946 insertions(+), 731 deletions(-)

 necessary changes to work with singular 4.
u0 distutils fixes.patch | (download)

sage/src/module_list.py | 18 4 + 14 - 0 !
sage/src/sage/arith/multi_modular.pxd | 2 0 + 2 - 0 !
sage/src/sage/graphs/base/boost_graph.pxd | 2 2 + 0 - 0 !
sage/src/sage/graphs/graph_decompositions/cutwidth.pyx | 1 0 + 1 - 0 !
sage/src/sage/libs/gmpxx.pxd | 1 1 + 0 - 0 !
sage/src/sage/libs/linbox/linbox.pxd | 5 0 + 5 - 0 !
sage/src/sage/libs/linbox/linbox.pyx | 5 5 + 0 - 0 !
sage/src/sage/libs/m4ri.pxd | 1 1 + 0 - 0 !
sage/src/sage/libs/ntl/convert.pxd | 2 0 + 2 - 0 !
sage/src/sage/libs/polybori/decl.pxd | 2 2 + 0 - 0 !
sage/src/sage/matrix/matrix_modn_sparse.pxd | 2 0 + 2 - 0 !
sage/src/sage/modular/arithgroup/farey.pxd | 6 4 + 2 - 0 !
sage/src/sage/modular/arithgroup/farey_symbol.pyx | 1 0 + 1 - 0 !
sage/src/sage/numerical/backends/glpk_backend.pyx | 1 0 + 1 - 0 !
sage/src/sage/numerical/backends/glpk_graph_backend.pyx | 1 0 + 1 - 0 !
15 files changed, 19 insertions(+), 31 deletions(-)

 clean up some # distutils directives


u0 pip nowarn.patch | (download)

sage/src/sage/misc/package.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 don't output pip warnings, otherwise some doctests fail
 This removes two types of warnings. "--no-index" suppresses messages from
 pip advertising a new pip version. This was applied to sage in
 https://trac.sagemath.org/ticket/21812
 "--format=legacy" suppresses a warning that the default format will
 change from legacy to columns. This is being discussed in
 https://trac.sagemath.org/ticket/21835
u0 timeit python 2.7.11.patch | (download)

sage/src/sage/misc/sage_timeit.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix timeit when used with python 2.7.11
 Causes many tests to fail otherwise.
u1 version planarity 3.patch | (download)

sage/src/sage/graphs/planarity.pyx | 53 30 + 23 - 0 !
1 file changed, 30 insertions(+), 23 deletions(-)

 update sage's planarity module to use api v3
 Between v3 and v2, planarity upstream decided to switch from 0-based array
 indexing to 1-based array indexing for the lulz. So funny, I really enjoyed
 wasting several hours of my time.
u1 version pbori boost1.62 hashes.patch | (download)

sage/src/sage/rings/polynomial/pbori.pyx | 12 6 + 6 - 0 !
1 file changed, 6 insertions(+), 6 deletions(-)

 change expected brial hashes for change in hash_combine in boost 1.62
 The hash function for boost::hash_combine() which is called in 
 libbrial/include/polybori/routines/pbori_routines_hash.h was changed for
 boost 1.62 in the commit
 https://github.com/boostorg/functional/commit/45eeb170f2b1372b4b5e52744d3c51eddb285b42
 .
 Therefore the hashes changed. For the same reason brial in Debian has the patch
 testsuite-boost-1.62.patch.
u1 version ecm 7.patch | (download)

sage/src/sage/interfaces/ecm.py | 24 10 + 14 - 0 !
1 file changed, 10 insertions(+), 14 deletions(-)

 necessary changes to work with ecm 7.
u1 version cddlib 094h.patch | (download)

sage/src/sage/geometry/polyhedron/backend_cdd.py | 8 6 + 2 - 0 !
1 file changed, 6 insertions(+), 2 deletions(-)

 use cddlib version 094h
u1 version pkgconfig.patch | (download)

sage/src/module_list.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
u1 fix libgap systemwide.patch | (download)

sage/src/sage/libs/gap/gap_includes.pxd | 40 20 + 20 - 0 !
sage/src/sage/libs/gap/test/main.c | 16 8 + 8 - 0 !
2 files changed, 28 insertions(+), 28 deletions(-)

---
u1 fix use lexists not exists.patch | (download)

sage/src/sage_setup/docbuild/ext/multidocs.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use lexists instead of exists
 os.path.exists returns False for a broken symlink; we want lexists here
u1 fix proper scipy rtol.patch | (download)

sage/src/sage/numerical/optimize.py | 5 4 + 1 - 0 !
sage/src/sage/symbolic/expression.pyx | 6 3 + 3 - 0 !
2 files changed, 7 insertions(+), 4 deletions(-)

 fix sage's use of scipy rtol parameter
 The scipy documentation very clearly says: 
 "The parameter cannot be smaller than its default value of
 ``4*np.finfo(float).eps``" so use that instead of a hard-coded value.
u1 fix preexec fn.patch | (download)

sage/src/sage/interfaces/expect.py | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 work around python bug #1652
 This avoids GAP printing extraneous "gzip: stdout: Broken pipe" errors
 However it is NOT related to Debian bug #844789
u1 fix dont require DISPLAY.patch | (download)

sage/src/sage/gsl/probability_distribution.pyx | 1 1 + 0 - 0 !
sage/src/sage/plot/plot.py | 1 1 + 0 - 0 !
2 files changed, 2 insertions(+)

 don't fail plot.py doctest if display is unset
 https://stackoverflow.com/questions/37604289/tkinter-tclerror-no-display-name-and-no-display-environment-variable
u2 reproducible docs.patch | (download)

sage/src/doc/common/conf.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 generate documentation reproducibly
 TODO: make this use SOURCE_DATE_EPOCH instead which is set automatically by debhelper
 https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal#Python
u2 looser doctest basename.patch | (download)

sage/src/sage/doctest/sources.py | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 make sage.doctest.sources.get_basename work in more situations
 This lets you specify SAGE_SRC like /path/to/test/dir/../../src/dir, which
 avoids post-install test failures in sage/doctest/test.py
u2 fix atrocious symlink logic.patch | (download)

sage/src/sage/repl/ipython_kernel/install.py | 8 8 + 0 - 0 !
1 file changed, 8 insertions(+)

 fix atrocious logic in symlink()
 If the desired result is already in effect, do nothing. Otherwise, proceed
 with the previous behaviour, but handle permissions errors correctly.
 We don't actually need any part of this file in Debian, but fixing this (so
 that post-install tests don't fail) was easier than trying to figure out if
 removing the file would have other consequences elsewhere.
u2 fix trivial test cases.patch | (download)

sage/src/sage/calculus/calculus.py | 2 1 + 1 - 0 !
sage/src/sage/combinat/words/word.py | 8 4 + 4 - 0 !
sage/src/sage/interfaces/interface.py | 4 2 + 2 - 0 !
sage/src/sage/interfaces/maxima_abstract.py | 2 1 + 1 - 0 !
sage/src/sage/interfaces/tachyon.py | 3 2 + 1 - 0 !
sage/src/sage/misc/cython.py | 14 8 + 6 - 0 !
sage/src/sage/modules/free_module_element.pyx | 4 2 + 2 - 0 !
sage/src/sage/repl/interpreter.py | 13 5 + 8 - 0 !
sage/src/sage/tests/gap_packages.py | 2 1 + 1 - 0 !
9 files changed, 26 insertions(+), 26 deletions(-)

 fix trivial test cases to work
 Includes cases of:
 - add more "..." wildcard patterns to the test
 - changing the value to an exactly-equivalent value. 
 These should probably be forwarded upstream.
 .
 Also includes cases of:
 - update an expected error message to some conceptually identical message
u2 fix less trivial test cases.patch | (download)

sage/src/sage/coding/code_bounds.py | 2 1 + 1 - 0 !
sage/src/sage/functions/exp_integral.py | 2 1 + 1 - 0 !
sage/src/sage/graphs/strongly_regular_db.pyx | 8 4 + 4 - 0 !
sage/src/sage/numerical/optimize.py | 6 3 + 3 - 0 !
sage/src/sage/rings/integer.pyx | 3 1 + 2 - 0 !
5 files changed, 10 insertions(+), 11 deletions(-)

 fix some more test cases with less-trivial failures
 Every override in this file should be accompanied by an explanation on why
 it's correct or beneficial.
u2 fix sympow cachedir.patch | (download)

sage/src/sage/lfunctions/sympow.py | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 set sympow_cachedir to be inside dot_sage
 Otherwise tests fail in sbuild because sympow can't create HOME/.sympow
u2 allow override sage local.patch | (download)

sage/build/make/install | 6 3 + 3 - 0 !
sage/configure.ac | 4 2 + 2 - 0 !
sage/sage | 2 2 + 0 - 0 !
sage/src/bin/sage-env | 4 2 + 2 - 0 !
sage/src/sage/env.py | 4 2 + 2 - 0 !
sage/src/sage/repl/ipython_kernel/install.py | 2 1 + 1 - 0 !
sage/src/setup.py | 2 1 + 1 - 0 !
7 files changed, 13 insertions(+), 11 deletions(-)

 allow sage_local to be overridden from outside the makefiles
 This makes it easier for package managers to create binary distributions.
 However, keep SAGE_SPKG_INST relative to SAGE_ROOT rather than SAGE_LOCAL
 since that would be a more intrusive change.
u2 scripts dir.patch | (download)

sage/src/bin/sage | 12 6 + 6 - 0 !
sage/src/bin/sage-cachegrind | 2 1 + 1 - 0 !
sage/src/bin/sage-callgrind | 2 1 + 1 - 0 !
sage/src/bin/sage-env | 4 2 + 2 - 0 !
sage/src/bin/sage-massif | 2 1 + 1 - 0 !
sage/src/bin/sage-omega | 2 1 + 1 - 0 !
sage/src/bin/sage-valgrind | 2 1 + 1 - 0 !
sage/src/sage/doctest/control.py | 12 6 + 6 - 0 !
sage/src/sage/env.py | 1 1 + 0 - 0 !
sage/src/sage/interfaces/maxima.py | 4 2 + 2 - 0 !
10 files changed, 22 insertions(+), 21 deletions(-)

 define and use sage_scripts_dir in more places
 So distros can install them somewhere other than /usr/bin
d0 arb.patch | (download)

sage/src/module_list.py | 4 2 + 2 - 0 !
sage/src/sage/libs/arb/acb.pxd | 2 1 + 1 - 0 !
sage/src/sage/libs/arb/acb_hypgeom.pxd | 2 1 + 1 - 0 !
sage/src/sage/libs/arb/acb_modular.pxd | 2 1 + 1 - 0 !
sage/src/sage/libs/arb/arb.pxd | 2 1 + 1 - 0 !
sage/src/sage/libs/arb/arf.pxd | 2 1 + 1 - 0 !
sage/src/sage/libs/arb/bernoulli.pxd | 2 1 + 1 - 0 !
sage/src/sage/libs/arb/mag.pxd | 2 1 + 1 - 0 !
8 files changed, 9 insertions(+), 9 deletions(-)

 link with -lflint-arb instead of -larb
 The name of the arb library is libflint-arb in Debian.
d0 cython sys path.patch | (download)

sage/src/sage/misc/cython.py | 1 1 + 0 - 0 !
sage/src/setup.py | 1 1 + 0 - 0 !
2 files changed, 2 insertions(+)

 add sys.path to cython includes
 In SageMath this is achieved by patching Cython,
 in this way we can used an unpatched Cython.
d0 gsl cblas.patch | (download)

sage/src/module_list.py | 7 3 + 4 - 0 !
sage/src/sage/misc/cython.py | 9 4 + 5 - 0 !
2 files changed, 7 insertions(+), 9 deletions(-)

 hard-code gsl cblas paths
 Debian does not provide a pkg-config file for libgslcblas,
 so just hard-code the paths here for Sage
d0 libgap sage.patch | (download)

sage/src/module_list.py | 14 9 + 5 - 0 !
sage/src/sage/libs/gap/test/Makefile | 10 6 + 4 - 0 !
sage/src/setup.py | 10 8 + 2 - 0 !
3 files changed, 23 insertions(+), 11 deletions(-)

 use debian libgap paths
 Debian installs libGAP headers to non-standard paths to avoid conflict with
 the main GAP headers. Moreover, many Sage modules use libGAP, so just add
 these paths to all modules instead of doing module-specific patches.
d0 maxima.patch | (download)

sage/src/bin/sage | 2 1 + 1 - 0 !
sage/src/sage/interfaces/expect.py | 2 1 + 1 - 0 !
sage/src/sage/interfaces/maxima.py | 4 2 + 2 - 0 !
sage/src/sage/interfaces/maxima_abstract.py | 11 4 + 7 - 0 !
sage/src/sage/interfaces/maxima_lib.py | 2 1 + 1 - 0 !
5 files changed, 9 insertions(+), 12 deletions(-)

 change to work with debians maxima-sage packages
d0 nauty.patch | (download)

sage/src/sage/graphs/digraph_generators.py | 2 1 + 1 - 0 !
sage/src/sage/graphs/graph_generators.py | 4 2 + 2 - 0 !
sage/src/sage/graphs/hypergraph_generators.py | 2 1 + 1 - 0 !
3 files changed, 4 insertions(+), 4 deletions(-)

---
d0 pari.patch | (download)

sage/src/generate_py_source.mk | 2 1 + 1 - 0 !
sage/src/sage/interfaces/gp.py | 4 2 + 2 - 0 !
sage/src/sage/libs/pari/paripriv.pxd | 4 2 + 2 - 0 !
sage/src/sage_setup/autogen/pari/parser.py | 3 1 + 2 - 0 !
4 files changed, 6 insertions(+), 7 deletions(-)

---
d0 pari stackwarn.patch | (download)

sage/src/doc/en/thematic_tutorials/explicit_methods_in_number_theory/elliptic_curves.rst | 13 11 + 2 - 0 !
sage/src/sage/lfunctions/lcalc.py | 3 3 + 0 - 0 !
sage/src/sage/lfunctions/zero_sums.pyx | 3 3 + 0 - 0 !
sage/src/sage/libs/pari/gen.pyx | 1 1 + 0 - 0 !
sage/src/sage/libs/pari/handle_error.pyx | 1 1 + 0 - 0 !
sage/src/sage/libs/pari/pari_instance.pyx | 6 4 + 2 - 0 !
sage/src/sage/plot/line.py | 1 1 + 0 - 0 !
sage/src/sage/quadratic_forms/quadratic_form__automorphisms.py | 1 1 + 0 - 0 !
sage/src/sage/quadratic_forms/quadratic_form__ternary_Tornaria.py | 1 1 + 0 - 0 !
sage/src/sage/rings/integer.pyx | 1 1 + 0 - 0 !
sage/src/sage/rings/number_field/number_field_element.pyx | 1 1 + 0 - 0 !
sage/src/sage/schemes/elliptic_curves/ell_rational_field.py | 2 2 + 0 - 0 !
sage/src/sage/schemes/elliptic_curves/heegner.py | 1 1 + 0 - 0 !
sage/src/sage/schemes/elliptic_curves/isogeny_small_degree.py | 1 1 + 0 - 0 !
sage/src/sage/schemes/elliptic_curves/lseries_ell.py | 9 8 + 1 - 0 !
sage/src/sage/schemes/hyperelliptic_curves/hyperelliptic_finite_field.py | 1 1 + 0 - 0 !
16 files changed, 41 insertions(+), 5 deletions(-)

 set the default size of the pari stack to 16*10^6 bytes
 Also ignore the remaining warnings. This gets rid of the warnings
 of pari increasing the stack size which caused tests to fail.
d0 rubiks.patch | (download)

sage/src/sage/interfaces/rubik.py | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 find rubiks binaries
d0 singular.patch | (download)

sage/src/sage/interfaces/singular.py | 2 1 + 1 - 0 !
sage/src/sage/libs/singular/singular.pyx | 3 2 + 1 - 0 !
sage/src/sage/misc/cython.py | 6 3 + 3 - 0 !
3 files changed, 6 insertions(+), 5 deletions(-)

 additional changes to work with the debian package of singular
d0 disable jsmol.patch | (download)

sage/src/sage/repl/display/jsmol_iframe.py | 3 3 + 0 - 0 !
sage/src/sage/repl/ipython_kernel/install.py | 18 0 + 18 - 0 !
2 files changed, 3 insertions(+), 18 deletions(-)

 disable installation of jsmol nbextension
d0 paths sharedata.patch | (download)

sage/src/sage/combinat/designs/latin_squares.py | 3 1 + 2 - 0 !
sage/src/sage/databases/conway.py | 3 1 + 2 - 0 !
sage/src/sage/databases/cremona.py | 6 3 + 3 - 0 !
sage/src/sage/databases/sql_db.py | 3 1 + 2 - 0 !
sage/src/sage/geometry/lattice_polytope.py | 3 1 + 2 - 0 !
sage/src/sage/geometry/polyhedron/palp_database.py | 3 1 + 2 - 0 !
sage/src/sage/graphs/graph_database.py | 3 1 + 2 - 0 !
sage/src/sage/graphs/isgci.py | 6 3 + 3 - 0 !
sage/src/sage/graphs/strongly_regular_db.pyx | 3 1 + 2 - 0 !
sage/src/sage/schemes/elliptic_curves/ec_database.py | 3 1 + 2 - 0 !
10 files changed, 14 insertions(+), 22 deletions(-)

 hard-code paths to system shared data
 This could be made generic and forwarded upstream. For example, add another
 SAGE_SHARE_DATA directory, which for upstream would be the same as SAGE_SHARE
 and for us would be /usr/share/sagemeth. However, this may not be worth the
 effort:
 - upstream already tried it before (as SAGE_DATA) and decide to ditch that
 - for upstream to accept it again, we'd also have to patch lots of things that
   are pointless for Debian, such as the scripts in build/pkgs
d0 paths.patch | (download)

sage/src/sage/all.py | 21 0 + 21 - 0 !
sage/src/sage/ext/pselect.pyx | 2 1 + 1 - 0 !
sage/src/sage/interfaces/gap.py | 2 1 + 1 - 0 !
sage/src/sage/interfaces/jmoldata.py | 2 1 + 1 - 0 !
sage/src/sage/interfaces/qepcad.py | 5 0 + 5 - 0 !
sage/src/sage/libs/gap/util.pyx | 2 1 + 1 - 0 !
sage/src/sage/libs/lcalc/lcalc_sage.h | 2 1 + 1 - 0 !
sage/src/sage/misc/cython.py | 2 1 + 1 - 0 !
sage/src/sage/tests/cmdline.py | 6 0 + 6 - 0 !
9 files changed, 6 insertions(+), 38 deletions(-)

 hard-code paths to external system run-time dependencies
d1 install paths.patch # many things in here could be split into an upstreamable patch | (download)

sage/configure.ac | 3 1 + 2 - 0 !
sage/sage | 1 1 + 0 - 0 !
sage/src/Makefile.in | 2 1 + 1 - 0 !
sage/src/module_list.py | 2 1 + 1 - 0 !
sage/src/sage/doctest/sources.py | 4 2 + 2 - 0 !
sage/src/sage/env.py | 8 4 + 4 - 0 !
sage/src/sage/interacts/debugger.py | 4 2 + 2 - 0 !
sage/src/sage/repl/ipython_kernel/install.py | 9 5 + 4 - 0 !
sage/src/sage_setup/clean.py | 2 1 + 1 - 0 !
sage/src/sage_setup/docbuild/ext/multidocs.py | 2 1 + 1 - 0 !
sage/src/sage_setup/find.py | 9 4 + 5 - 0 !
sage/src/setup.py | 10 5 + 5 - 0 !
12 files changed, 28 insertions(+), 28 deletions(-)

 install to debian paths
 TODO: upstream hard-codes "site-packages" in a bunch of places; these should
 be fixed to use SAGE_LIB instead and forwarded upstream. Then this patch could
 be a lot smaller.
 .
 The multidocs.py patch looks like a Sage upstream bug, that probably needs to
 be forwarded.
d1 sage cli.patch | (download)

sage/src/bin/sage | 380 5 + 375 - 0 !
sage/src/sage/tests/cmdline.py | 103 0 + 103 - 0 !
2 files changed, 5 insertions(+), 478 deletions(-)

 patch the sage startup script
 This patch removes options that do not work for us
 and removes a check for if we are in a sage source directory.
 It has only minor modifications from the sage-on-gentoo version.
d1 sage env.patch | (download)

sage/README.md | 2 1 + 1 - 0 !
sage/build/make/deps | 2 1 + 1 - 0 !
sage/build/make/install | 2 1 + 1 - 0 !
sage/configure.ac | 2 1 + 1 - 0 !
sage/src/bin/sage | 7 6 + 1 - 0 !
sage/src/bin/sage-env | 32 10 + 22 - 0 !
sage/src/doc/en/developer/sage_manuals.rst | 2 1 + 1 - 0 !
sage/src/doc/en/faq/faq-general.rst | 2 1 + 1 - 0 !
sage/src/doc/en/installation/source.rst | 2 1 + 1 - 0 !
sage/src/sage/misc/cython.py | 4 2 + 2 - 0 !
sage/src/sage/structure/sage_object.pyx | 2 1 + 1 - 0 !
sage/src/sage_setup/docbuild/__init__.py | 2 1 + 1 - 0 !
12 files changed, 27 insertions(+), 34 deletions(-)

 patch sage-env
 Note that this file is only used during the package build and not installed.
 Instead the file debian/adhoc/sage-env is installed.
 .
 The LD_LIBRARY_PATH can probably be forwarded upstream, either way is fine.
d1 fakeroot.patch | (download)

sage/configure.ac | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

 we are building with fakeroot which makes this check fail.
 dpkg-buildpackage uses `fakeroot debian/rules clean` so this is needed
d1 test optional.patch | (download)

sage/src/sage/doctest/control.py | 16 0 + 16 - 0 !
sage/src/sage/doctest/test.py | 8 0 + 8 - 0 !
2 files changed, 24 deletions(-)

 do not look for optional packages when running the testsuite
d1 multiarch python paths.patch | (download)

sage/src/sage/misc/sageinspect.py | 8 7 + 1 - 0 !
1 file changed, 7 insertions(+), 1 deletion(-)

 correctly handle debian's python multiarch extension module names
 We need to strip that part in order to return the correct ".pyx" filename.
 Otherwise a few post-install tests break.
d1 doc docs.patch | (download)

sage/src/sage/misc/copying.py | 2 1 + 1 - 0 !
sage/src/sage/misc/sagedoc.py | 4 2 + 2 - 0 !
2 files changed, 3 insertions(+), 3 deletions(-)

---