Build with sharedmeataxe and tdlib support.

Use local objects.inv when building documentation.
This commit is contained in:
Jerry James 2020-01-09 19:18:28 -07:00
parent 4f4f23c8e6
commit 44047e4277
7 changed files with 283 additions and 112 deletions

View file

@ -1,6 +1,5 @@
diff -up src/module_list.py.orig src/module_list.py
--- src/module_list.py.orig 2019-10-03 14:49:13.122428790 -0300
+++ src/module_list.py 2019-10-03 14:49:25.274499871 -0300
--- src/module_list.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/module_list.py 2020-01-06 20:27:37.840293653 -0700
@@ -389,16 +389,16 @@ ext_modules = [
Extension('sage.graphs.matchpoly',
sources = ['sage/graphs/matchpoly.pyx']),
@ -23,22 +22,20 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.graphs.planarity',
sources = ['sage/graphs/planarity.pyx'],
@@ -417,10 +417,10 @@ ext_modules = [
@@ -417,10 +417,9 @@ ext_modules = [
Extension('sage.graphs.graph_decompositions.cutwidth',
sources = ['sage/graphs/graph_decompositions/cutwidth.pyx']),
- OptionalExtension('sage.graphs.graph_decompositions.tdlib',
- sources = ['sage/graphs/graph_decompositions/tdlib.pyx'],
+ Extension('sage.graphs.graph_decompositions.tdlib',
sources = ['sage/graphs/graph_decompositions/tdlib.pyx'],
- language="c++",
- package = 'tdlib'),
+# OptionalExtension('sage.graphs.graph_decompositions.tdlib',
+# sources = ['sage/graphs/graph_decompositions/tdlib.pyx'],
+# language="c++",
+# package = 'tdlib'),
+ language="c++"),
Extension('sage.graphs.spanning_tree',
sources = ['sage/graphs/spanning_tree.pyx']),
@@ -476,9 +476,9 @@ ext_modules = [
@@ -476,9 +475,9 @@ ext_modules = [
##
################################
@ -50,7 +47,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('*', ['sage/interfaces/*.pyx']),
@@ -497,21 +497,19 @@ ext_modules = [
@@ -497,21 +496,19 @@ ext_modules = [
##
################################
@ -77,7 +74,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.libs.flint.flint',
sources = ["sage/libs/flint/flint.pyx"],
@@ -540,10 +538,9 @@ ext_modules = [
@@ -540,13 +537,14 @@ ext_modules = [
sources = ["sage/libs/homfly.pyx"],
libraries = ["homfly", "gc"]),
@ -88,38 +85,75 @@ diff -up src/module_list.py.orig src/module_list.py
- package="sirocco",
language = 'c++'),
Extension('*', ['sage/libs/linbox/*.pyx']),
@@ -563,10 +560,10 @@ ext_modules = [
- Extension('*', ['sage/libs/linbox/*.pyx']),
+ Extension('*',
+ sources = ['sage/libs/linbox/*.pyx'],
+ libraries = ["gomp"]),
Extension('sage.libs.lcalc.lcalc_Lfunction',
sources = ['sage/libs/lcalc/lcalc_Lfunction.pyx'],
@@ -563,10 +561,9 @@ ext_modules = [
Extension('sage.libs.lrcalc.lrcalc',
sources = ["sage/libs/lrcalc/lrcalc.pyx"]),
- OptionalExtension("sage.libs.meataxe",
- sources = ['sage/libs/meataxe.pyx'],
+ Extension("sage.libs.meataxe",
sources = ['sage/libs/meataxe.pyx'],
- libraries = ['mtx'],
- package = 'meataxe'),
+# OptionalExtension("sage.libs.meataxe",
+# sources = ['sage/libs/meataxe.pyx'],
+# libraries = ['mtx'],
+# package = 'meataxe'),
+ libraries = ['mtx']),
Extension('*', ['sage/libs/pari/*.pyx']),
@@ -874,10 +871,10 @@ ext_modules = [
@@ -812,7 +809,8 @@ ext_modules = [
include_dirs = cblas_include_dirs),
Extension('sage.matrix.matrix_integer_sparse',
- sources = ['sage/matrix/matrix_integer_sparse.pyx']),
+ sources = ['sage/matrix/matrix_integer_sparse.pyx'],
+ libraries = ['gomp']),
Extension('sage.matrix.matrix_mod2_dense',
sources = ['sage/matrix/matrix_mod2_dense.pyx'],
@@ -831,20 +829,21 @@ ext_modules = [
Extension('sage.matrix.matrix_modn_dense_float',
sources = ['sage/matrix/matrix_modn_dense_float.pyx'],
language="c++",
- libraries = cblas_libs,
+ libraries = cblas_libs + ['gomp'],
library_dirs = cblas_library_dirs,
include_dirs = cblas_include_dirs),
Extension('sage.matrix.matrix_modn_dense_double',
sources = ['sage/matrix/matrix_modn_dense_double.pyx'],
language="c++",
- libraries = cblas_libs,
+ libraries = cblas_libs + ['gomp'],
library_dirs = cblas_library_dirs,
include_dirs = cblas_include_dirs,
extra_compile_args = ["-D_XPG6"]),
Extension('sage.matrix.matrix_modn_sparse',
- sources = ['sage/matrix/matrix_modn_sparse.pyx']),
+ sources = ['sage/matrix/matrix_modn_sparse.pyx'],
+ libraries = ['gomp']),
Extension('sage.matrix.matrix_mpolynomial_dense',
sources = ['sage/matrix/matrix_mpolynomial_dense.pyx']),
@@ -874,10 +873,9 @@ ext_modules = [
Extension('sage.matrix.matrix_window',
sources = ['sage/matrix/matrix_window.pyx']),
- OptionalExtension("sage.matrix.matrix_gfpn_dense",
- sources = ['sage/matrix/matrix_gfpn_dense.pyx'],
+ Extension("sage.matrix.matrix_gfpn_dense",
sources = ['sage/matrix/matrix_gfpn_dense.pyx'],
- libraries = ['mtx'],
- package = 'meataxe'),
+# OptionalExtension("sage.matrix.matrix_gfpn_dense",
+# sources = ['sage/matrix/matrix_gfpn_dense.pyx'],
+# libraries = ['mtx'],
+# package = 'meataxe'),
+ libraries = ['mtx']),
Extension('sage.matrix.misc',
sources = ['sage/matrix/misc.pyx']),
@@ -1053,26 +1050,25 @@ ext_modules = [
@@ -1053,26 +1051,25 @@ ext_modules = [
Extension("sage.numerical.backends.interactivelp_backend",
["sage/numerical/backends/interactivelp_backend.pyx"]),
@ -128,18 +162,17 @@ diff -up src/module_list.py.orig src/module_list.py
- libraries = ["gurobi"],
- condition = os.path.isfile(SAGE_INC + "/gurobi_c.h") and
- os.path.isfile(SAGE_LOCAL + "/lib/libgurobi.so")),
-
- OptionalExtension("sage.numerical.backends.cplex_backend",
- ["sage/numerical/backends/cplex_backend.pyx"],
- libraries = ["cplex"],
- condition = os.path.isfile(SAGE_INC + "/cplex.h") and
- os.path.isfile(SAGE_LOCAL + "/lib/libcplex.a")),
+# OptionalExtension("sage.numerical.backends.gurobi_backend",
+# ["sage/numerical/backends/gurobi_backend.pyx"],
+# libraries = ["gurobi"],
+# condition = os.path.isfile(SAGE_INC + "/gurobi_c.h") and
+# os.path.isfile(SAGE_LOCAL + "/lib/libgurobi.so")),
+
- OptionalExtension("sage.numerical.backends.cplex_backend",
- ["sage/numerical/backends/cplex_backend.pyx"],
- libraries = ["cplex"],
- condition = os.path.isfile(SAGE_INC + "/cplex.h") and
- os.path.isfile(SAGE_LOCAL + "/lib/libcplex.a")),
+# OptionalExtension("sage.numerical.backends.cplex_backend",
+# ["sage/numerical/backends/cplex_backend.pyx"],
+# libraries = ["cplex"],

View file

@ -1,6 +1,5 @@
diff -up src/module_list.py.orig src/module_list.py
--- src/module_list.py.orig 2019-10-03 16:21:27.371721895 -0300
+++ src/module_list.py 2019-10-03 16:28:36.076432442 -0300
--- src/module_list.py.orig 2020-01-06 20:29:14.108070190 -0700
+++ src/module_list.py 2020-01-06 20:29:39.724010734 -0700
@@ -44,6 +44,9 @@ zlib_libs = zlib_pc['libraries']
zlib_library_dirs = zlib_pc['library_dirs']
zlib_include_dirs = zlib_pc['include_dirs']
@ -36,7 +35,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('*', sources = ['sage/algebras/finite_dimensional_algebras/*.pyx']),
@@ -558,7 +570,8 @@ ext_modules = [
@@ -559,7 +571,8 @@ ext_modules = [
[])),
Extension('sage.libs.lrcalc.lrcalc',
@ -44,8 +43,8 @@ diff -up src/module_list.py.orig src/module_list.py
+ sources = ["sage/libs/lrcalc/lrcalc.pyx"],
+ include_dirs = [os.path.join(SAGE_INC, 'lrcalc')]),
# OptionalExtension("sage.libs.meataxe",
# sources = ['sage/libs/meataxe.pyx'],
Extension("sage.libs.meataxe",
sources = ['sage/libs/meataxe.pyx'],
@@ -580,23 +593,28 @@ ext_modules = [
sources = ['sage/libs/readline.pyx'],
libraries = ['readline']),
@ -108,15 +107,15 @@ diff -up src/module_list.py.orig src/module_list.py
libraries=['ntl']),
Extension('sage.matrix.matrix_gap',
@@ -844,6 +865,7 @@ ext_modules = [
sources = ['sage/matrix/matrix_modn_sparse.pyx']),
@@ -846,6 +867,7 @@ ext_modules = [
libraries = ['gomp']),
Extension('sage.matrix.matrix_mpolynomial_dense',
+ include_dirs = singular_incs,
sources = ['sage/matrix/matrix_mpolynomial_dense.pyx']),
Extension('sage.matrix.matrix_polynomial_dense',
@@ -1131,7 +1153,8 @@ ext_modules = [
@@ -1132,7 +1154,8 @@ ext_modules = [
language = 'c++'),
Extension("sage.rings.complex_arb",
@ -126,7 +125,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.rings.complex_double',
sources = ['sage/rings/complex_double.pyx'],
@@ -1207,7 +1230,8 @@ ext_modules = [
@@ -1208,7 +1231,8 @@ ext_modules = [
sources = ['sage/rings/real_interval_absolute.pyx']),
Extension("sage.rings.real_arb",
@ -136,7 +135,7 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.rings.real_lazy',
sources = ['sage/rings/real_lazy.pyx']),
@@ -1290,6 +1314,7 @@ ext_modules = [
@@ -1291,6 +1315,7 @@ ext_modules = [
Extension('sage.rings.number_field.number_field_element_quadratic',
sources = ['sage/rings/number_field/number_field_element_quadratic.pyx'],
@ -144,7 +143,7 @@ diff -up src/module_list.py.orig src/module_list.py
libraries=['ntl'],
language = 'c++'),
@@ -1429,12 +1454,15 @@ ext_modules = [
@@ -1430,12 +1455,15 @@ ext_modules = [
sources = ['sage/rings/polynomial/multi_polynomial.pyx']),
Extension('sage.rings.polynomial.multi_polynomial_ideal_libsingular',
@ -160,7 +159,7 @@ diff -up src/module_list.py.orig src/module_list.py
sources = ['sage/rings/polynomial/multi_polynomial_libsingular.pyx']),
Extension('sage.rings.polynomial.multi_polynomial_ring_base',
@@ -1447,7 +1475,8 @@ ext_modules = [
@@ -1448,7 +1476,8 @@ ext_modules = [
sources = ['sage/rings/polynomial/polydict.pyx']),
Extension('sage.rings.polynomial.polynomial_complex_arb',
@ -170,9 +169,8 @@ diff -up src/module_list.py.orig src/module_list.py
Extension('sage.rings.polynomial.polynomial_compiled',
sources = ['sage/rings/polynomial/polynomial_compiled.pyx']),
diff -up src/setup.py.orig src/setup.py
--- src/setup.py.orig 2019-10-03 16:28:47.206502813 -0300
+++ src/setup.py 2019-10-03 16:29:08.059634660 -0300
--- src/setup.py.orig 2020-01-06 20:29:10.564078418 -0700
+++ src/setup.py 2020-01-06 20:29:39.725010732 -0700
@@ -85,6 +85,7 @@ keep_going = False
# search for dependencies and add to gcc -I<path>

View file

@ -0,0 +1,15 @@
diff -up src/sage/docs/conf.py.orig src/sage/docs/conf.py
--- src/sage/docs/conf.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/docs/conf.py 2020-01-02 11:19:45.125646695 -0700
@@ -169,9 +169,8 @@ todo_include_todos = True
python_version = sys.version_info.major
intersphinx_mapping = {
'python': ('https://docs.python.org/',
- os.path.join(SAGE_DOC_SRC, "common",
- "python{}.inv".format(python_version))),
- 'pplpy': (PPLPY_DOCS, None)}
+ '/usr/share/doc/python3-docs/html/objects.inv'),
+ 'pplpy': (PPLPY_DOCS, '/usr/share/doc/python3-pplpy/objects.inv')}
def set_intersphinx_mappings(app):
"""

View file

@ -1,6 +1,6 @@
diff -up build/pkgs/sagenb/src/sagenb/misc/support.py.orig build/pkgs/sagenb/src/sagenb/misc/support.py
--- build/pkgs/sagenb/src/sagenb/misc/support.py.orig 2019-10-09 15:29:08.866640263 -0300
+++ build/pkgs/sagenb/src/sagenb/misc/support.py 2019-10-09 15:29:13.695667468 -0300
--- build/pkgs/sagenb/src/sagenb/misc/support.py.orig 2019-02-01 06:34:20.000000000 -0700
+++ build/pkgs/sagenb/src/sagenb/misc/support.py 2020-01-07 19:57:46.756664911 -0700
@@ -178,7 +178,7 @@ def completions(s, globs, format=False,
try:
if not '.' in s and not '(' in s:
@ -11,8 +11,8 @@ diff -up build/pkgs/sagenb/src/sagenb/misc/support.py.orig build/pkgs/sagenb/src
if not ')' in s:
i = s.rfind('.')
diff -up build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py.orig build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py
--- build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py.orig 2019-10-09 15:29:08.867640268 -0300
+++ build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py 2019-10-09 15:29:13.696667474 -0300
--- build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py.orig 2019-02-01 05:37:36.000000000 -0700
+++ build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py 2020-01-07 19:57:46.757664910 -0700
@@ -25,7 +25,7 @@ This module contains three classes:
.. NOTE::
@ -32,8 +32,8 @@ diff -up build/pkgs/sagenb/src/sagenb/notebook/docHTMLProcessor.py.orig build/pk
# HTMLParser, and may never actually be visibly called here.
diff -up build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py.orig build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py
--- build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py.orig 2019-10-09 15:29:08.870640285 -0300
+++ build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py 2019-10-09 15:29:13.697667479 -0300
--- build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py.orig 2019-02-01 05:37:36.000000000 -0700
+++ build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py 2020-01-07 19:57:46.758664910 -0700
@@ -59,7 +59,7 @@ class Parser:
'parent': r'(?:%s)?' % re.escape(PARENT_PREFIX),
}
@ -44,8 +44,8 @@ diff -up build/pkgs/sagenb/src/sagenb/notebook/wiki2html.py.orig build/pkgs/sage
'punct': punct_pattern,
}
diff -up build/pkgs/sagetex/src/extractsagecode.py.orig build/pkgs/sagetex/src/extractsagecode.py
--- build/pkgs/sagetex/src/extractsagecode.py.orig 2019-10-09 15:29:08.872640297 -0300
+++ build/pkgs/sagetex/src/extractsagecode.py 2019-10-09 15:29:13.697667479 -0300
--- build/pkgs/sagetex/src/extractsagecode.py.orig 2019-06-11 04:58:29.000000000 -0600
+++ build/pkgs/sagetex/src/extractsagecode.py 2020-01-07 19:57:46.759664909 -0700
@@ -45,7 +45,7 @@ See the SageTeX documentation for more d
try:
@ -56,8 +56,8 @@ diff -up build/pkgs/sagetex/src/extractsagecode.py.orig build/pkgs/sagetex/src/e
usage()
sys.exit(2)
diff -up build/pkgs/sagetex/src/makestatic.py.orig build/pkgs/sagetex/src/makestatic.py
--- build/pkgs/sagetex/src/makestatic.py.orig 2019-10-09 15:29:08.874640308 -0300
+++ build/pkgs/sagetex/src/makestatic.py 2019-10-09 15:29:13.698667485 -0300
--- build/pkgs/sagetex/src/makestatic.py.orig 2019-06-11 04:58:29.000000000 -0600
+++ build/pkgs/sagetex/src/makestatic.py 2020-01-07 19:57:46.759664909 -0700
@@ -45,7 +45,7 @@ See the SageTeX documentation for more d
try:
@ -68,8 +68,8 @@ diff -up build/pkgs/sagetex/src/makestatic.py.orig build/pkgs/sagetex/src/makest
usage()
sys.exit(2)
diff -up build/pkgs/sagetex/src/remote-sagetex.py.orig build/pkgs/sagetex/src/remote-sagetex.py
--- build/pkgs/sagetex/src/remote-sagetex.py.orig 2019-10-09 15:29:08.876640319 -0300
+++ build/pkgs/sagetex/src/remote-sagetex.py 2019-10-09 15:29:13.698667485 -0300
--- build/pkgs/sagetex/src/remote-sagetex.py.orig 2019-06-11 04:58:29.000000000 -0600
+++ build/pkgs/sagetex/src/remote-sagetex.py 2020-01-07 19:57:46.760664908 -0700
@@ -24,12 +24,11 @@
## You should have received a copy of the GNU General Public License along
## with this program. If not, see <http://www.gnu.org/licenses/>.
@ -133,8 +133,8 @@ diff -up build/pkgs/sagetex/src/remote-sagetex.py.orig build/pkgs/sagetex/src/re
if not password:
from getpass import getpass
diff -up build/pkgs/sagetex/src/sagetexparse.py.orig build/pkgs/sagetex/src/sagetexparse.py
--- build/pkgs/sagetex/src/sagetexparse.py.orig 2019-10-09 15:29:08.877640325 -0300
+++ build/pkgs/sagetex/src/sagetexparse.py 2019-10-09 15:29:13.699667491 -0300
--- build/pkgs/sagetex/src/sagetexparse.py.orig 2019-06-11 04:58:29.000000000 -0600
+++ build/pkgs/sagetex/src/sagetexparse.py 2020-01-07 19:57:46.760664908 -0700
@@ -132,7 +132,7 @@ class SageCodeExtractor():
def plotout(self, s, l, t):
@ -145,8 +145,8 @@ diff -up build/pkgs/sagetex/src/sagetexparse.py.orig build/pkgs/sagetex/src/sage
self.result += t.code[1:-1] + '\n\n'
diff -up src/sage/combinat/finite_state_machine.py.orig src/sage/combinat/finite_state_machine.py
--- src/sage/combinat/finite_state_machine.py.orig 2019-10-09 15:29:08.880640342 -0300
+++ src/sage/combinat/finite_state_machine.py 2019-10-09 15:29:13.703667513 -0300
--- src/sage/combinat/finite_state_machine.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/combinat/finite_state_machine.py 2020-01-07 19:57:46.766664904 -0700
@@ -936,7 +936,7 @@ from six.moves import range, zip_longest
from six import itervalues
@ -166,8 +166,8 @@ diff -up src/sage/combinat/finite_state_machine.py.orig src/sage/combinat/finite
This class takes an input, feeds it into a finite state machine
(automaton or transducer, in particular), tests whether this was
diff -up src/sage/combinat/multiset_partition_into_sets_ordered.py.orig src/sage/combinat/multiset_partition_into_sets_ordered.py
--- src/sage/combinat/multiset_partition_into_sets_ordered.py.orig 2019-10-09 15:29:08.882640353 -0300
+++ src/sage/combinat/multiset_partition_into_sets_ordered.py 2019-10-09 15:29:13.704667519 -0300
--- src/sage/combinat/multiset_partition_into_sets_ordered.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/combinat/multiset_partition_into_sets_ordered.py 2020-01-07 19:57:46.768664902 -0700
@@ -1952,7 +1952,7 @@ class OrderedMultisetPartitionsIntoSets(
# slice by 'order'
@ -178,8 +178,8 @@ diff -up src/sage/combinat/multiset_partition_into_sets_ordered.py.orig src/sage
# slice by 'size'
diff -up src/sage/combinat/root_system/branching_rules.py.orig src/sage/combinat/root_system/branching_rules.py
--- src/sage/combinat/root_system/branching_rules.py.orig 2019-10-09 15:29:08.884640364 -0300
+++ src/sage/combinat/root_system/branching_rules.py 2019-10-09 15:29:13.707667536 -0300
--- src/sage/combinat/root_system/branching_rules.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/combinat/root_system/branching_rules.py 2020-01-07 19:57:46.769664902 -0700
@@ -1750,7 +1750,7 @@ def branching_rule(Rtype, Stype, rule="d
elif rule == "tensor" or rule == "tensor-debug":
if not Stype.is_compound():
@ -190,8 +190,8 @@ diff -up src/sage/combinat/root_system/branching_rules.py.orig src/sage/combinat
if Rtype[0] == 'A':
nr = Rtype[1]+1
diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/geometry/triangulation/point_configuration.py
--- src/sage/geometry/triangulation/point_configuration.py.orig 2019-10-09 15:29:08.886640376 -0300
+++ src/sage/geometry/triangulation/point_configuration.py 2019-10-09 15:29:13.707667536 -0300
--- src/sage/geometry/triangulation/point_configuration.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/geometry/triangulation/point_configuration.py 2020-01-07 19:57:46.770664901 -0700
@@ -619,7 +619,7 @@ class PointConfiguration(UniqueRepresent
['{{0,1,2,4},{1,2,3,4}}']
"""
@ -201,9 +201,70 @@ diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/ge
proc.expect(r'Evaluating Commandline Options \.\.\.')
proc.expect(r'\.\.\. done\.')
proc.setecho(0)
diff -up src/sage/graphs/graph_latex.py.orig src/sage/graphs/graph_latex.py
--- src/sage/graphs/graph_latex.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/graphs/graph_latex.py 2020-01-07 19:59:40.240580166 -0700
@@ -1156,7 +1156,7 @@ class GraphLatex(SageObject):
#
elif name in color_dicts:
if not isinstance(value, dict):
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
else:
for key, c in value.items():
try:
@@ -1165,42 +1165,42 @@ class GraphLatex(SageObject):
raise ValueError('%s option for %s needs to be a matplotlib color (always as a string), not %s' % (name, key, c))
elif name in positive_scalar_dicts:
if not isinstance(value, dict):
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
else:
for key, x in value.items():
if not type(x) in [int, Integer, float, RealLiteral] or not x >= 0.0:
raise ValueError('%s option for %s needs to be a positive number, not %s' % (name, key, x))
elif name in boolean_dicts:
if not isinstance(value, dict):
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
else:
for key, b in value.items():
if not isinstance(b, bool):
raise ValueError('%s option for %s needs to be True or False, not %s' % (name, key, b))
elif name == 'vertex_shapes':
if not isinstance(value, dict):
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
else:
for key, s in value.items():
if s not in shape_names:
raise ValueError('%s option for %s needs to be a vertex shape, not %s' % (name, key, s))
elif name == 'vertex_label_placements':
if not isinstance(value, dict):
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
else:
for key, p in value.items():
if not(p == 'center') and not(isinstance(p, tuple) and len(p) == 2 and type(p[0]) in number_types and p[0] >= 0 and type(p[1]) in number_types and p[1] >= 0):
raise ValueError('%s option for %s needs to be None or a pair of positive numbers, not %s' % (name, key, p))
elif name == 'edge_label_placements':
if not isinstance(value, dict):
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
else:
for key, p in value.items():
if not(type(p) in [float, RealLiteral] and (0 <= p) and (p <= 1)) and not(p in label_places):
raise ValueError('%s option for %s needs to be a number between 0.0 and 1.0 or a place (like "above"), not %s' % (name, key, p))
elif name == 'loop_placements':
if not isinstance(value, dict):
- raise TypeError('%s option must be a dictionary, not %s' (name, value))
+ raise TypeError('%s option must be a dictionary, not %s' % (name, value))
else:
for key, p in value.items():
if not((isinstance(p, tuple)) and (len(p) == 2) and (p[0] >= 0) and (p[1] in compass_points)):
diff -up src/sage/interfaces/frobby.py.orig src/sage/interfaces/frobby.py
--- src/sage/interfaces/frobby.py.orig 2019-10-09 15:29:08.888640387 -0300
+++ src/sage/interfaces/frobby.py 2019-10-09 15:29:13.707667536 -0300
--- src/sage/interfaces/frobby.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/interfaces/frobby.py 2020-01-07 19:57:46.771664900 -0700
@@ -77,7 +77,7 @@ class Frobby:
print("Frobby command: ", repr(command))
print("Frobby input:\n", input)
@ -214,8 +275,8 @@ diff -up src/sage/interfaces/frobby.py.orig src/sage/interfaces/frobby.py
if verbose:
diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
--- src/sage/interfaces/gfan.py.orig 2019-10-09 15:29:08.889640393 -0300
+++ src/sage/interfaces/gfan.py 2019-10-09 15:29:13.708667541 -0300
--- src/sage/interfaces/gfan.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/interfaces/gfan.py 2020-01-07 19:57:46.772664899 -0700
@@ -66,7 +66,7 @@ class Gfan(object):
if six.PY2:
enc_kwargs = {}
@ -226,8 +287,8 @@ diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
gfan_processes = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE,
**enc_kwargs)
diff -up src/sage/interfaces/gp.py.orig src/sage/interfaces/gp.py
--- src/sage/interfaces/gp.py.orig 2019-10-09 15:29:08.891640404 -0300
+++ src/sage/interfaces/gp.py 2019-10-09 15:29:13.709667547 -0300
--- src/sage/interfaces/gp.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/interfaces/gp.py 2020-01-07 19:57:46.773664899 -0700
@@ -934,17 +934,6 @@ class GpElement(ExpectElement):
"""
return repr(self.type()) == 't_STR'
@ -247,8 +308,8 @@ diff -up src/sage/interfaces/gp.py.orig src/sage/interfaces/gp.py
"""
Return Python float.
diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
--- src/sage/interfaces/latte.py.orig 2019-10-09 15:29:08.893640415 -0300
+++ src/sage/interfaces/latte.py 2019-10-09 15:29:13.709667547 -0300
--- src/sage/interfaces/latte.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/interfaces/latte.py 2020-01-07 19:57:46.773664899 -0700
@@ -152,6 +152,7 @@ def count(arg, ehrhart_polynomial=False,
latte_proc = Popen(args,
stdin=PIPE, stdout=PIPE,
@ -266,8 +327,8 @@ diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
ans, err = latte_proc.communicate(arg)
diff -up src/sage/interfaces/sagespawn.pyx.orig src/sage/interfaces/sagespawn.pyx
--- src/sage/interfaces/sagespawn.pyx.orig 2019-10-09 15:29:08.894640421 -0300
+++ src/sage/interfaces/sagespawn.pyx 2019-10-09 15:29:13.709667547 -0300
--- src/sage/interfaces/sagespawn.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/interfaces/sagespawn.pyx 2020-01-07 19:57:46.774664898 -0700
@@ -1,6 +1,6 @@
"""
Sage wrapper around pexpect's ``spawn`` class and
@ -316,8 +377,8 @@ diff -up src/sage/interfaces/sagespawn.pyx.orig src/sage/interfaces/sagespawn.py
pass
self.fileobj.close()
diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.pyx
--- src/sage/libs/coxeter3/coxeter.pyx.orig 2019-10-09 15:29:08.896640432 -0300
+++ src/sage/libs/coxeter3/coxeter.pyx 2019-10-09 15:29:13.709667547 -0300
--- src/sage/libs/coxeter3/coxeter.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/libs/coxeter3/coxeter.pyx 2020-01-07 19:57:46.776664896 -0700
@@ -33,7 +33,7 @@ cdef class String:
EXAMPLES::
@ -451,8 +512,8 @@ diff -up src/sage/libs/coxeter3/coxeter.pyx.orig src/sage/libs/coxeter3/coxeter.
if rank == 0:
raise NotImplementedError("Coxeter group of type ['A',0] using Coxeter 3 not yet implemented")
diff -up src/sage/misc/parser.pyx.orig src/sage/misc/parser.pyx
--- src/sage/misc/parser.pyx.orig 2019-10-09 15:29:08.898640443 -0300
+++ src/sage/misc/parser.pyx 2019-10-09 15:30:11.051990579 -0300
--- src/sage/misc/parser.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/misc/parser.pyx 2020-01-07 19:57:46.777664896 -0700
@@ -96,7 +96,7 @@ def token_to_str(int token):
@ -752,8 +813,8 @@ diff -up src/sage/misc/parser.pyx.orig src/sage/misc/parser.pyx
return self.p_list(tokens)
else:
diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
--- src/sage/plot/plot3d/plot3d.py.orig 2019-10-09 15:29:08.899640449 -0300
+++ src/sage/plot/plot3d/plot3d.py 2019-10-09 15:29:13.710667553 -0300
--- src/sage/plot/plot3d/plot3d.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/plot/plot3d/plot3d.py 2020-01-07 19:57:46.778664895 -0700
@@ -188,7 +188,8 @@ class _Coordinates(object):
sage: arb((x+z,y*z,z), z, (x,y))
Arbitrary Coordinates coordinate transform (z in terms of x, y)
@ -765,8 +826,8 @@ diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
raise ValueError('variables were specified incorrectly for this coordinate system; incorrect variables were %s'%list(set(all_vars).symmetric_difference(set(indep_vars+[dep_var]))))
self.dep_var = dep_var
diff -up src/sage/plot/point.py.orig src/sage/plot/point.py
--- src/sage/plot/point.py.orig 2019-10-09 15:29:08.901640460 -0300
+++ src/sage/plot/point.py 2019-10-09 15:29:13.711667558 -0300
--- src/sage/plot/point.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/plot/point.py 2020-01-07 19:57:46.779664894 -0700
@@ -29,7 +29,7 @@ TESTS::
from sage.misc.decorators import options, rename_keyword
from sage.plot.colors import to_mpl_color
@ -786,8 +847,8 @@ diff -up src/sage/plot/point.py.orig src/sage/plot/point.py
try:
diff -up src/sage/repl/display/fancy_repr.py.orig src/sage/repl/display/fancy_repr.py
--- src/sage/repl/display/fancy_repr.py.orig 2019-10-09 15:29:08.903640471 -0300
+++ src/sage/repl/display/fancy_repr.py 2019-10-09 15:29:13.711667558 -0300
--- src/sage/repl/display/fancy_repr.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/repl/display/fancy_repr.py 2020-01-07 19:57:46.780664894 -0700
@@ -15,7 +15,7 @@ Representations of objects.
import types
@ -807,8 +868,8 @@ diff -up src/sage/repl/display/fancy_repr.py.orig src/sage/repl/display/fancy_re
else:
# A user-provided repr. Find newlines and replace them with p.break_()
diff -up src/sage/repl/ipython_kernel/interact.py.orig src/sage/repl/ipython_kernel/interact.py
--- src/sage/repl/ipython_kernel/interact.py.orig 2019-10-09 15:29:08.904640477 -0300
+++ src/sage/repl/ipython_kernel/interact.py 2019-10-09 15:29:13.711667558 -0300
--- src/sage/repl/ipython_kernel/interact.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/repl/ipython_kernel/interact.py 2020-01-07 19:57:46.781664893 -0700
@@ -35,7 +35,8 @@ EXAMPLES::
from ipywidgets.widgets import SelectionSlider, ValueWidget, ToggleButtons
@ -820,8 +881,8 @@ diff -up src/sage/repl/ipython_kernel/interact.py.orig src/sage/repl/ipython_ker
from .widgets_sagenb import input_grid
from sage.structure.element import parent
diff -up src/sage/rings/integer.pyx.orig src/sage/rings/integer.pyx
--- src/sage/rings/integer.pyx.orig 2019-10-09 15:29:08.906640488 -0300
+++ src/sage/rings/integer.pyx 2019-10-09 15:29:13.712667564 -0300
--- src/sage/rings/integer.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/rings/integer.pyx 2020-01-07 19:57:46.785664890 -0700
@@ -7124,7 +7124,7 @@ cdef int mpz_set_str_python(mpz_ptr z, c
while x[0] == c' ': x += 1 # Strip spaces
@ -832,8 +893,8 @@ diff -up src/sage/rings/integer.pyx.orig src/sage/rings/integer.pyx
assert base >= 2
diff -up src/sage/rings/multi_power_series_ring_element.py.orig src/sage/rings/multi_power_series_ring_element.py
--- src/sage/rings/multi_power_series_ring_element.py.orig 2019-10-09 15:29:08.908640499 -0300
+++ src/sage/rings/multi_power_series_ring_element.py 2019-10-09 15:29:13.712667564 -0300
--- src/sage/rings/multi_power_series_ring_element.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/rings/multi_power_series_ring_element.py 2020-01-07 19:57:46.786664889 -0700
@@ -1396,7 +1396,7 @@ class MPowerSeries(PowerSeries):
# at this stage, self is probably a non-zero
# element of the base ring
@ -844,8 +905,8 @@ diff -up src/sage/rings/multi_power_series_ring_element.py.orig src/sage/rings/m
def is_nilpotent(self):
diff -up src/sage/rings/polynomial/pbori.pyx.orig src/sage/rings/polynomial/pbori.pyx
--- src/sage/rings/polynomial/pbori.pyx.orig 2019-10-09 15:29:08.910640511 -0300
+++ src/sage/rings/polynomial/pbori.pyx 2019-10-09 15:29:13.713667570 -0300
--- src/sage/rings/polynomial/pbori.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/rings/polynomial/pbori.pyx 2020-01-07 19:57:46.788664888 -0700
@@ -4765,8 +4765,7 @@ cdef class PolynomialConstruct:
# So, it is just a conversion. [Simon King]
return (<BooleanPolynomialRing>ring)._element_constructor_(x)
@ -857,8 +918,8 @@ diff -up src/sage/rings/polynomial/pbori.pyx.orig src/sage/rings/polynomial/pbor
cdef class MonomialConstruct:
diff -up src/sage/rings/real_mpfi.pyx.orig src/sage/rings/real_mpfi.pyx
--- src/sage/rings/real_mpfi.pyx.orig 2019-10-09 15:29:08.911640516 -0300
+++ src/sage/rings/real_mpfi.pyx 2019-10-09 15:29:13.715667581 -0300
--- src/sage/rings/real_mpfi.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/rings/real_mpfi.pyx 2020-01-07 19:57:46.790664886 -0700
@@ -1943,12 +1943,12 @@ cdef class RealIntervalFieldElement(Ring
cdef long digits
@ -884,8 +945,8 @@ diff -up src/sage/rings/real_mpfi.pyx.orig src/sage/rings/real_mpfi.pyx
mant_string = bytes_to_str(tmp_cstr+1)
sign_string = bytes_to_str(b'-')
diff -up src/sage/rings/real_mpfr.pyx.orig src/sage/rings/real_mpfr.pyx
--- src/sage/rings/real_mpfr.pyx.orig 2019-10-09 15:29:08.913640528 -0300
+++ src/sage/rings/real_mpfr.pyx 2019-10-09 15:29:13.715667581 -0300
--- src/sage/rings/real_mpfr.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/rings/real_mpfr.pyx 2020-01-07 19:57:46.791664885 -0700
@@ -2039,7 +2039,7 @@ cdef class RealNumber(sage.structure.ele
if s is NULL:
raise RuntimeError("unable to convert an mpfr number to a string")
@ -896,8 +957,8 @@ diff -up src/sage/rings/real_mpfr.pyx.orig src/sage/rings/real_mpfr.pyx
t = char_to_str(s + 1)
else:
diff -up src/sage/structure/sage_object.pyx.orig src/sage/structure/sage_object.pyx
--- src/sage/structure/sage_object.pyx.orig 2019-10-09 15:29:08.915640539 -0300
+++ src/sage/structure/sage_object.pyx 2019-10-09 15:29:13.715667581 -0300
--- src/sage/structure/sage_object.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/structure/sage_object.pyx 2020-01-07 19:57:46.791664885 -0700
@@ -665,7 +665,7 @@ cdef class SageObject:
try:
s = self._interface_init_(I)
@ -908,8 +969,8 @@ diff -up src/sage/structure/sage_object.pyx.orig src/sage/structure/sage_object.
if c:
try:
diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
--- src/sage/symbolic/expression.pyx.orig 2019-10-09 15:29:08.917640550 -0300
+++ src/sage/symbolic/expression.pyx 2019-10-09 15:29:13.719667603 -0300
--- src/sage/symbolic/expression.pyx.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/symbolic/expression.pyx 2020-01-07 19:57:46.794664883 -0700
@@ -12916,7 +12916,7 @@ cdef class hold_class:
sage: SR(2)^5
32
@ -929,9 +990,9 @@ diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
def start(self):
"""
diff -up src/setup.py.orig src/setup.py
--- src/setup.py.orig 2019-10-09 15:28:16.478345141 -0300
+++ src/setup.py 2019-10-09 15:29:13.720667609 -0300
@@ -233,7 +233,7 @@ class sage_build_cython(Command):
--- src/setup.py.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/setup.py 2020-01-07 19:57:46.794664883 -0700
@@ -232,7 +232,7 @@ class sage_build_cython(Command):
cdivision=True,
embedsignature=True,
fast_getattr=True,

27
sagemath-tdlib.patch Normal file
View file

@ -0,0 +1,27 @@
--- src/sage/graphs/graph_decompositions/tdlib/sage_tdlib.cpp.orig 2019-09-29 17:03:11.000000000 -0600
+++ src/sage/graphs/graph_decompositions/tdlib/sage_tdlib.cpp 2020-01-06 10:58:12.087355771 -0700
@@ -2,8 +2,8 @@
#include <map>
#include <boost/graph/adjacency_list.hpp>
-#include "tdlib/TD_combinations.hpp"
-#include "tdlib/TD_misc.hpp"
+#include <treedec/combinations.hpp>
+#include <treedec/misc.hpp>
#ifndef TD_STRUCT_VERTEX
#define TD_STRUCT_VERTEX
@@ -16,13 +16,6 @@ struct Vertex{
typedef boost::adjacency_list<boost::setS, boost::vecS, boost::undirectedS, Vertex> TD_graph_t;
-struct bag{
- std::set<unsigned int> bag;
-};
-
-typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, bag> TD_tree_dec_t;
-
-
void make_tdlib_graph(TD_graph_t &G, std::vector<unsigned int> &V, std::vector<unsigned int> &E){
unsigned int max = 0;
for(unsigned int i = 0; i < V.size(); i++)

21
sagemath.rpmlintrc Normal file
View file

@ -0,0 +1,21 @@
# THIS FILE IS FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON
# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors
# The dictionary is missing some technical terms
addFilter(r'W: spelling-error .* (Extcode|iteratively|polytopes?|pre)')
# The Requires ensure the symlinks will not dangle
addFilter(r'W: dangling-symlink')
# This file is incorrectly detected as a devel file
addFilter(r'W: devel-file-in-non-devel-package .*sage-env-config')
# objects.inv files are not text
addFilter(r'W: file-not-utf8 .*objects\.inv')
addFilter(r'W: wrong-file-end-of-line-encoding .*objects\.inv')
# This file uses no symbols from glibc
addFilter(r'E: library-not-linked-against-libc .*/bit_vector_operations/cc\.cpython-38-x86_64-linux-gnu\.so')
# Documentation is in the -doc subpackages
addFilter(r'W: no-documentation')

View file

@ -77,7 +77,7 @@
%endif
# Spkg equivalents of required rpms; we pretend they are installed as spkgs.
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.73 cbc-2.10.3 CoCoALib-0.99601 coxeter3-1.1 cryptominisat-5.6.8 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.10.2 gmp-6.1.2 libsirocco-2.0 lrslib-070 mcqd-1.0 primecount-5.1 qepcad-B.1.72 saclib-2.2.7 surf-1.0.6-gcc6
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.73 cbc-2.10.3 CoCoALib-0.99601 coxeter3-1.1 cryptominisat-5.6.8 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.10.2 gmp-6.1.2 libsirocco-2.0 lrslib-070 mcqd-1.0 meataxe-1.0 primecount-5.1 qepcad-B.1.72 saclib-2.2.7 surf-1.0.6-gcc6 tdlib-0.9.0
%ifarch %{ix86} x86_64
%global SAGE_REQUIRED_PKGS %{SAGE_REQUIRED_PKGS} fes-0.2
@ -95,7 +95,7 @@
Name: sagemath
Summary: A free open-source mathematics software system
Version: 8.9
Release: 1%{?dist}
Release: 2%{?dist}
# The file ${SAGE_ROOT}/COPYING.txt is the upstream license breakdown file
# Additionally, every $files section has a comment with the license name
# before files with that license
@ -212,6 +212,12 @@ Patch30: %{name}-sagenb-python3.patch
# Adapt to primecount 5.x
Patch31: %{name}-primecount.patch
# Adapt to recent tdlib 0.9
Patch32: %{name}-tdlib.patch
# Use local objects.inv for intersphinx since no network on koji builders
Patch33: %{name}-intersphinx.patch
BuildRequires: 4ti2
BuildRequires: arb-devel
BuildRequires: bliss-devel
@ -303,10 +309,12 @@ BuildRequires: ppl-devel
BuildRequires: primecount-devel
BuildRequires: pynac-devel
BuildRequires: python3-devel
BuildRequires: python3-docs
BuildRequires: python3-cypari2-devel
BuildRequires: python3-cysignals-devel
BuildRequires: python3-pillow-devel
BuildRequires: python3-pplpy-devel
BuildRequires: python3-tdlib-devel
BuildRequires: python3dist(brial)
BuildRequires: python3dist(cvxopt)
BuildRequires: python3dist(cython)
@ -367,6 +375,7 @@ BuildRequires: R
BuildRequires: ratpoints-devel
BuildRequires: readline-devel
BuildRequires: rw-devel
BuildRequires: sharedmeataxe-devel
BuildRequires: Singular-devel
BuildRequires: sirocco-devel
BuildRequires: stix-math-fonts
@ -448,6 +457,7 @@ Requires: palp
Requires: pari-galdata
Requires: pari-gp
Requires: pari-seadata
Requires: python3-tdlib
Requires: python3dist(brial)
Requires: python3dist(cypari2)
Requires: python3dist(cysignals)
@ -911,6 +921,8 @@ popd
%patch29
%patch30
%patch31
%patch32
%patch33
sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \
-e 's|@@SAGE_DOC@@|%{SAGE_DOC}|' \
@ -1927,6 +1939,10 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
########################################################################
%changelog
* Thu Jan 9 2020 Jerry James <loganjerry@gmail.com> - 8.9-2
- Build with sharedmeataxe and tdlib support
- Use local objects.inv when building documentation
* Thu Nov 7 2019 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 8.9-1
- Update to latest upstream release
- Drop no longer need patches and rediff current ones