mirror of
https://src.fedoraproject.org/rpms/sagemath.git
synced 2025-04-04 04:28:51 -04:00
Version 9.3.
- Drop -arb and -openblas patches. - Add -cvxopt patch. - Add metainfo file.
This commit is contained in:
parent
26b688d416
commit
0a1b42ef2b
21 changed files with 1096 additions and 1037 deletions
108
org.sagemath.sage.metainfo.xml
Normal file
108
org.sagemath.sage.metainfo.xml
Normal file
|
@ -0,0 +1,108 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>org.sagemath.sage</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-2.0-or-later</project_license>
|
||||
<name>sagemath</name>
|
||||
<summary>Mathematics Software System</summary>
|
||||
<description>
|
||||
<p>
|
||||
Sage is a free open-source mathematics software system licensed
|
||||
under the GPL. It combines the power of many existing open-source
|
||||
packages into a common Python-based interface.
|
||||
</p>
|
||||
</description>
|
||||
<launchable type="desktop-id">org.sagemath.sage.desktop</launchable>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131280369/in/album-72157603532209437/</image>
|
||||
<caption>Notebook</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131280403/in/album-72157603532209437/</image>
|
||||
<caption>Symbolic computation</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131280441/in/album-72157603532209437/</image>
|
||||
<caption>More symbolic computation</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2132057124/in/album-72157603532209437/</image>
|
||||
<caption>Basic plotting</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131280543/in/album-72157603532209437/</image>
|
||||
<caption>Plotting multiple functions</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131280585/in/album-72157603532209437/</image>
|
||||
<caption>Plotting options</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131280629/in/album-72157603532209437/</image>
|
||||
<caption>Polygons</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131280689/in/album-72157603532209437/</image>
|
||||
<caption>Text annotations</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131280719/in/album-72157603532209437/</image>
|
||||
<caption>Parametric plotting</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2132057406/in/album-72157603532209437/</image>
|
||||
<caption>List comprehensions</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2132057442/in/album-72157603532209437/</image>
|
||||
<caption>Rubik's cube</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2132057494/in/album-72157603532209437/</image>
|
||||
<caption>Scrambled cube</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2132057548/in/album-72157603532209437/</image>
|
||||
<caption>3D cube</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131280959/in/album-72157603532209437/</image>
|
||||
<caption>Interactive 3D cube</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2132057724/in/album-72157603532209437/</image>
|
||||
<caption>3D plotting with Tachyon</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2132057802/in/album-72157603532209437/</image>
|
||||
<caption>Parametric 3D plotting</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2132057836/in/album-72157603532209437/</image>
|
||||
<caption>JSMath and LaTeX</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2132057874/in/album-72157603532209437/</image>
|
||||
<caption>Matrix operations</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131281199/in/album-72157603532209437/</image>
|
||||
<caption>Plotting of graphs</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://www.flickr.com/photos/sagescreenshots/2131281877/in/album-72157603532209437/</image>
|
||||
<caption>Contour plot</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<update_contact>loganjerry@gmail.com</update_contact>
|
||||
<url type="homepage">https://www.sagemath.org/</url>
|
||||
<url type="bugtracker">https://trac.sagemath.org/</url>
|
||||
<url type="faq">https://doc.sagemath.org/html/en/faq/</url>
|
||||
<url type="help">https://doc.sagemath.org/</url>
|
||||
<url type="donation">https://github.com/sponsors/sagemath</url>
|
||||
<content_rating type="oars-1.0"></content_rating>
|
||||
<provides>
|
||||
<binary>sage</binary>
|
||||
</provides>
|
||||
</component>
|
|
@ -1,9 +1,9 @@
|
|||
diff -up src/sage/sandpiles/sandpile.py.orig src/sage/sandpiles/sandpile.py
|
||||
--- src/sage/sandpiles/sandpile.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/sandpiles/sandpile.py 2020-10-30 14:00:00.744208307 -0600
|
||||
@@ -347,9 +347,6 @@ from sage.arith.all import falling_facto
|
||||
from sage.rings.all import Integer, PolynomialRing, QQ, ZZ
|
||||
from sage.symbolic.all import I, pi, SR
|
||||
--- src/sage/sandpiles/sandpile.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/sandpiles/sandpile.py 2021-05-28 11:34:47.438557513 -0600
|
||||
@@ -347,9 +347,6 @@ from sage.rings.all import Integer, Poly
|
||||
from sage.symbolic.constants import I, pi
|
||||
from sage.symbolic.ring import SR
|
||||
|
||||
-# TODO: remove the following line once 4ti2 functions are removed
|
||||
-path_to_zsolve = os.path.join(SAGE_LOCAL, 'bin', 'zsolve')
|
||||
|
@ -11,8 +11,8 @@ diff -up src/sage/sandpiles/sandpile.py.orig src/sage/sandpiles/sandpile.py
|
|||
|
||||
|
||||
def _sandpile_help(cls, usage, verbose=True):
|
||||
@@ -5174,7 +5171,7 @@ class SandpileDivisor(dict):
|
||||
sign_file.close()
|
||||
@@ -5172,7 +5169,7 @@ class SandpileDivisor(dict):
|
||||
sign_file.write('\n')
|
||||
# compute
|
||||
try:
|
||||
- os.system(path_to_zsolve+' -q ' + lin_sys + ' > ' + lin_sys_log)
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
diff -up src/sage/libs/arb/arb_wrap.h.orig src/sage/libs/arb/arb_wrap.h
|
||||
--- src/sage/libs/arb/arb_wrap.h.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/arb/arb_wrap.h 2020-10-30 16:10:40.145976088 -0600
|
||||
@@ -11,18 +11,18 @@
|
||||
#define ulong mp_limb_t
|
||||
#define slong mp_limb_signed_t
|
||||
|
||||
-#include <acb.h>
|
||||
-#include <acb_calc.h>
|
||||
-#include <acb_elliptic.h>
|
||||
-#include <acb_hypgeom.h>
|
||||
-#include <acb_mat.h>
|
||||
-#include <acb_modular.h>
|
||||
-#include <acb_poly.h>
|
||||
-#include <arb.h>
|
||||
-#include <arb_hypgeom.h>
|
||||
-#include <arf.h>
|
||||
-#include <bernoulli.h>
|
||||
-#include <mag.h>
|
||||
+#include <arb/acb.h>
|
||||
+#include <arb/acb_calc.h>
|
||||
+#include <arb/acb_elliptic.h>
|
||||
+#include <arb/acb_hypgeom.h>
|
||||
+#include <arb/acb_mat.h>
|
||||
+#include <arb/acb_modular.h>
|
||||
+#include <arb/acb_poly.h>
|
||||
+#include <arb/arb.h>
|
||||
+#include <arb/arb_hypgeom.h>
|
||||
+#include <arb/arf.h>
|
||||
+#include <arb/bernoulli.h>
|
||||
+#include <arb/mag.h>
|
||||
|
||||
#undef ulong
|
||||
#undef slong
|
|
@ -1,7 +1,7 @@
|
|||
diff -up src/sage/databases/cremona.py.orig src/sage/databases/cremona.py
|
||||
--- src/sage/databases/cremona.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/databases/cremona.py 2020-10-30 14:02:27.778960819 -0600
|
||||
@@ -854,7 +854,8 @@ class MiniCremonaDatabase(SQLDatabase):
|
||||
--- src/sage/databases/cremona.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/databases/cremona.py 2021-05-28 11:39:00.005575551 -0600
|
||||
@@ -885,7 +885,8 @@ class MiniCremonaDatabase(SQLDatabase):
|
||||
message = "There is no elliptic curve with label " \
|
||||
+ label + " in the default database; try installing " \
|
||||
+ "the optional package database_cremona_ellcurve which " \
|
||||
|
@ -11,8 +11,8 @@ diff -up src/sage/databases/cremona.py.orig src/sage/databases/cremona.py
|
|||
raise ValueError(message)
|
||||
ainvs = eval(c[0])
|
||||
data = {'cremona_label': label,
|
||||
@@ -1659,6 +1660,7 @@ class LargeCremonaDatabase(MiniCremonaDa
|
||||
con.executemany("UPDATE t_curve SET gens=? WHERE curve=?", \
|
||||
@@ -1663,6 +1664,7 @@ class LargeCremonaDatabase(MiniCremonaDa
|
||||
con.executemany("UPDATE t_curve SET gens=? WHERE curve=?",
|
||||
curve_data)
|
||||
print("Committing...")
|
||||
+ self.commit()
|
||||
|
|
24
sagemath-cvxopt.patch
Normal file
24
sagemath-cvxopt.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
diff -up src/sage/numerical/backends/cvxopt_backend.pyx.orig src/sage/numerical/backends/cvxopt_backend.pyx
|
||||
--- src/sage/numerical/backends/cvxopt_backend.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/numerical/backends/cvxopt_backend.pyx 2021-05-28 12:05:47.551650940 -0600
|
||||
@@ -550,7 +550,7 @@ cdef class CVXOPTBackend(GenericBackend)
|
||||
self.answer = solvers.lp(c,G,h)
|
||||
|
||||
#possible outcomes
|
||||
- if self.answer['status'] == 'optimized':
|
||||
+ if self.answer['status'] in ['optimized', 'optimal']:
|
||||
pass
|
||||
elif self.answer['status'] == 'primal infeasible':
|
||||
raise MIPSolverException("CVXOPT: primal infeasible")
|
||||
diff -up src/sage/numerical/backends/cvxopt_sdp_backend.pyx.orig src/sage/numerical/backends/cvxopt_sdp_backend.pyx
|
||||
--- src/sage/numerical/backends/cvxopt_sdp_backend.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/numerical/backends/cvxopt_sdp_backend.pyx 2021-05-28 12:05:47.552650940 -0600
|
||||
@@ -150,7 +150,7 @@ cdef class CVXOPTSDPBackend(MatrixSDPBac
|
||||
self.answer = solvers.sdp(c,Gs=G_matrix,hs=h_matrix)
|
||||
|
||||
#possible outcomes
|
||||
- if self.answer['status'] == 'optimized':
|
||||
+ if self.answer['status'] in ['optimized', 'optimal']:
|
||||
pass
|
||||
elif self.answer['status'] == 'primal infeasible':
|
||||
raise SDPSolverException("CVXOPT: primal infeasible")
|
|
@ -1,43 +1,56 @@
|
|||
diff -up src/sage/env.py.orig src/sage/env.py
|
||||
--- src/sage/env.py.orig 2020-10-30 16:09:54.834029866 -0600
|
||||
+++ src/sage/env.py 2020-10-30 16:10:20.089999891 -0600
|
||||
@@ -159,14 +159,14 @@ var('SAGE_DATE', version.date)
|
||||
var('SAGE_VERSION_BANNER', version.banner)
|
||||
--- src/sage/env.py.orig 2021-05-29 21:01:26.503474025 -0600
|
||||
+++ src/sage/env.py 2021-05-29 21:03:06.389635554 -0600
|
||||
@@ -166,16 +166,16 @@ SAGE_DATE = var("SAGE_DATE", version.dat
|
||||
SAGE_VERSION_BANNER = var("SAGE_VERSION_BANNER", version.banner)
|
||||
|
||||
# bunch of sage directories and files
|
||||
-var('SAGE_LOCAL', os.path.abspath(sys.prefix))
|
||||
-var('SAGE_ETC', join(SAGE_LOCAL, 'etc'))
|
||||
-var('SAGE_INC', join(SAGE_LOCAL, 'include'))
|
||||
-var('SAGE_SHARE', join(SAGE_LOCAL, 'share'))
|
||||
-var('SAGE_DOC', join(SAGE_SHARE, 'doc', 'sage'))
|
||||
+var('SAGE_LOCAL', '@@SAGE_LOCAL@@')
|
||||
+var('SAGE_ETC', join('/usr', 'share', 'sagemath', 'etc'))
|
||||
+var('SAGE_INC', join('/usr', 'include'))
|
||||
+var('SAGE_SHARE', join('/usr', 'share', 'sagemath'))
|
||||
+var('SAGE_DOC', join('/usr', 'share', 'doc', 'sagemath'))
|
||||
var('SAGE_SPKG_INST', join(SAGE_LOCAL, 'var', 'lib', 'sage', 'installed'))
|
||||
var('SAGE_LIB', os.path.dirname(os.path.dirname(sage.__file__)))
|
||||
-var('SAGE_EXTCODE', join(SAGE_LIB, 'sage', 'ext_data'))
|
||||
+var('SAGE_EXTCODE', join('/usr', 'share', 'sagemath', 'etc'))
|
||||
# virtual environment where sagelib is installed
|
||||
-SAGE_VENV = var("SAGE_VENV", os.path.abspath(sys.prefix))
|
||||
+SAGE_VENV = var("SAGE_VENV", "@@SAGE_LOCAL@@")
|
||||
SAGE_LIB = var("SAGE_LIB", os.path.dirname(os.path.dirname(sage.__file__)))
|
||||
-SAGE_EXTCODE = var("SAGE_EXTCODE", join(SAGE_LIB, "sage", "ext_data"))
|
||||
+SAGE_EXTCODE = var("SAGE_EXTCODE", join("/usr", "share", "sagemath", "etc"))
|
||||
|
||||
var('SAGE_ROOT') # no fallback for SAGE_ROOT
|
||||
var('SAGE_SRC', join(SAGE_ROOT, 'src'), SAGE_LIB)
|
||||
@@ -187,13 +187,13 @@ var('THEBE_DIR', joi
|
||||
var('COMBINATORIAL_DESIGN_DATA_DIR', join(SAGE_SHARE, 'combinatorial_designs'))
|
||||
var('CREMONA_MINI_DATA_DIR', join(SAGE_SHARE, 'cremona'))
|
||||
var('CREMONA_LARGE_DATA_DIR', join(SAGE_SHARE, 'cremona'))
|
||||
-var('JMOL_DIR', join(SAGE_SHARE, 'jmol'))
|
||||
-var('JSMOL_DIR', join(SAGE_SHARE, 'jsmol'))
|
||||
-var('MATHJAX_DIR', join(SAGE_SHARE, 'mathjax'))
|
||||
-var('MTXLIB', join(SAGE_SHARE, 'meataxe'))
|
||||
+var('JMOL_DIR', join('/usr', 'share', 'java', 'jmol'))
|
||||
+var('JSMOL_DIR', join('/usr', 'share', 'javascript', 'jsmol'))
|
||||
+var('MATHJAX_DIR', join('/usr', 'share', 'javascript', 'mathjax'))
|
||||
+var('MTXLIB', join(DOT_SAGE, 'meataxe'))
|
||||
var('THREEJS_DIR', join(SAGE_SHARE, 'threejs'))
|
||||
var('SINGULARPATH', join(SAGE_SHARE, 'singular'))
|
||||
-var('PPLPY_DOCS', join(SAGE_SHARE, 'doc', 'pplpy'))
|
||||
+var('PPLPY_DOCS', join('/usr', 'share', 'doc', 'python3-pplpy'))
|
||||
var('MAXIMA', 'maxima')
|
||||
var('MAXIMA_FAS')
|
||||
var('SAGE_NAUTY_BINS_PREFIX', '')
|
||||
# prefix hierarchy where non-Python packages are installed
|
||||
SAGE_LOCAL = var("SAGE_LOCAL", SAGE_VENV)
|
||||
-SAGE_ETC = var("SAGE_ETC", join(SAGE_LOCAL, "etc"))
|
||||
-SAGE_INC = var("SAGE_INC", join(SAGE_LOCAL, "include"))
|
||||
-SAGE_SHARE = var("SAGE_SHARE", join(SAGE_LOCAL, "share"))
|
||||
-SAGE_DOC = var("SAGE_DOC", join(SAGE_SHARE, "doc", "sage"))
|
||||
+SAGE_ETC = var("SAGE_ETC", join("/usr", "share", "sagemath", "etc"))
|
||||
+SAGE_INC = var("SAGE_INC", join("/usr", "include"))
|
||||
+SAGE_SHARE = var("SAGE_SHARE", join("/usr", "share", "sagemath"))
|
||||
+SAGE_DOC = var("SAGE_DOC", join("/usr", "share", "doc", "sagemath"))
|
||||
SAGE_SPKG_INST = var("SAGE_SPKG_INST", join(SAGE_LOCAL, "var", "lib", "sage", "installed"))
|
||||
|
||||
# source tree of the Sage distribution
|
||||
@@ -199,12 +199,12 @@ THEBE_DIR = var("THEBE_DIR", join(SAGE_S
|
||||
COMBINATORIAL_DESIGN_DATA_DIR = var("COMBINATORIAL_DESIGN_DATA_DIR", join(SAGE_SHARE, "combinatorial_designs"))
|
||||
CREMONA_MINI_DATA_DIR = var("CREMONA_MINI_DATA_DIR", join(SAGE_SHARE, "cremona"))
|
||||
CREMONA_LARGE_DATA_DIR = var("CREMONA_LARGE_DATA_DIR", join(SAGE_SHARE, "cremona"))
|
||||
-JMOL_DIR = var("JMOL_DIR", join(SAGE_SHARE, "jmol"))
|
||||
-MATHJAX_DIR = var("MATHJAX_DIR", join(SAGE_SHARE, "mathjax"))
|
||||
-MTXLIB = var("MTXLIB", join(SAGE_SHARE, "meataxe"))
|
||||
+JMOL_DIR = var("JMOL_DIR", join("/usr", "share", "java", "jmol"))
|
||||
+MATHJAX_DIR = var("MATHJAX_DIR", join("/usr", "share", "javascript", "mathjax"))
|
||||
+MTXLIB = var("MTXLIB", join(DOT_SAGE, "meataxe"))
|
||||
THREEJS_DIR = var("THREEJS_DIR", join(SAGE_SHARE, "threejs"))
|
||||
SINGULARPATH = var("SINGULARPATH", join(SAGE_SHARE, "singular"))
|
||||
-PPLPY_DOCS = var("PPLPY_DOCS", join(SAGE_SHARE, "doc", "pplpy"))
|
||||
+PPLPY_DOCS = var("PPLPY_DOCS", join("/usr", "share", "doc", "python3-pplpy"))
|
||||
MAXIMA = var("MAXIMA", "maxima")
|
||||
MAXIMA_FAS = var("MAXIMA_FAS")
|
||||
SAGE_NAUTY_BINS_PREFIX = var("SAGE_NAUTY_BINS_PREFIX", "")
|
||||
@@ -301,10 +301,10 @@ def _get_shared_lib_path(*libnames: str)
|
||||
|
||||
# locate singular shared object
|
||||
# On Debian it's libsingular-Singular so try that as well
|
||||
-SINGULAR_SO = var("SINGULAR_SO", _get_shared_lib_path("Singular", "singular-Singular"))
|
||||
+SINGULAR_SO = var("SINGULAR_SO", "@@LIBDIR@@/libSingular.so")
|
||||
|
||||
# locate libgap shared object
|
||||
-GAP_SO = var("GAP_SO", _get_shared_lib_path("gap", ""))
|
||||
+GAP_SO = var("GAP_SO", "@@LIBDIR@@/libgap.so")
|
||||
|
||||
# post process
|
||||
if ' ' in DOT_SAGE:
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,7 @@
|
|||
diff -up src/sage/env.py.orig src/sage/env.py
|
||||
--- src/sage/env.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/env.py 2020-10-30 15:44:29.575821493 -0600
|
||||
@@ -413,7 +413,8 @@ def cython_aliases():
|
||||
--- src/sage/env.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/env.py 2021-05-28 11:18:15.134457599 -0600
|
||||
@@ -430,7 +430,8 @@ def cython_aliases():
|
||||
aliases[var + "INCDIR"] = pc['include_dirs']
|
||||
aliases[var + "LIBDIR"] = pc['library_dirs']
|
||||
aliases[var + "LIBEXTRA"] = list(filter(lambda s: not s.startswith(('-l','-L')), libs.split()))
|
||||
|
@ -12,25 +12,25 @@ diff -up src/sage/env.py.orig src/sage/env.py
|
|||
# uname-specific flags
|
||||
UNAME = os.uname()
|
||||
diff -up src/sage/graphs/mcqd.pyx.orig src/sage/graphs/mcqd.pyx
|
||||
--- src/sage/graphs/mcqd.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/graphs/mcqd.pyx 2020-10-30 15:47:32.294609185 -0600
|
||||
--- src/sage/graphs/mcqd.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/graphs/mcqd.pyx 2021-05-28 11:18:15.134457599 -0600
|
||||
@@ -1,4 +1,5 @@
|
||||
# distutils: language = c++
|
||||
+# distutils: libraries = mcqd
|
||||
# sage_setup: distribution = sage-mcqd
|
||||
|
||||
from sage.ext.memory_allocator cimport MemoryAllocator
|
||||
from cysignals.signals cimport sig_on, sig_off
|
||||
diff -up src/sage/interfaces/primecount.pyx.orig src/sage/interfaces/primecount.pyx
|
||||
--- src/sage/interfaces/primecount.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/interfaces/primecount.pyx 2020-10-30 15:47:42.766597012 -0600
|
||||
--- src/sage/interfaces/primecount.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/interfaces/primecount.pyx 2021-05-28 11:18:15.134457599 -0600
|
||||
@@ -1,3 +1,4 @@
|
||||
+# distutils: libraries = primecount
|
||||
# sage_setup: distribution = sage-primecount
|
||||
|
||||
r"""
|
||||
diff -up src/sage/libs/arb/arb.pxd.orig src/sage/libs/arb/arb.pxd
|
||||
--- src/sage/libs/arb/arb.pxd.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/arb/arb.pxd 2020-10-30 15:47:18.918624733 -0600
|
||||
--- src/sage/libs/arb/arb.pxd.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/arb/arb.pxd 2021-05-28 11:18:15.135457599 -0600
|
||||
@@ -1,4 +1,5 @@
|
||||
# distutils: libraries = gmp flint ARB_LIBRARY
|
||||
+# distutils: include_dirs = /usr/include/arb /usr/include/flint
|
||||
|
@ -38,8 +38,8 @@ diff -up src/sage/libs/arb/arb.pxd.orig src/sage/libs/arb/arb.pxd
|
|||
|
||||
from sage.libs.arb.types cimport *
|
||||
diff -up src/sage/libs/arb/arb_version.pyx.orig src/sage/libs/arb/arb_version.pyx
|
||||
--- src/sage/libs/arb/arb_version.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/arb/arb_version.pyx 2020-10-30 15:54:30.743122593 -0600
|
||||
--- src/sage/libs/arb/arb_version.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/arb/arb_version.pyx 2021-05-28 11:18:15.135457599 -0600
|
||||
@@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8
|
||||
+# distutils: include_dirs = /usr/include/arb /usr/include/flint
|
||||
|
@ -47,48 +47,48 @@ diff -up src/sage/libs/arb/arb_version.pyx.orig src/sage/libs/arb/arb_version.py
|
|||
from sage.cpython.string cimport char_to_str
|
||||
|
||||
diff -up src/sage/libs/arb/arith.pyx.orig src/sage/libs/arb/arith.pyx
|
||||
--- src/sage/libs/arb/arith.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/arb/arith.pyx 2020-10-30 15:54:53.191096510 -0600
|
||||
--- src/sage/libs/arb/arith.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/arb/arith.pyx 2021-05-28 11:18:15.135457599 -0600
|
||||
@@ -1,3 +1,4 @@
|
||||
+# distutils: include_dirs = /usr/include/arb /usr/include/flint
|
||||
"""
|
||||
Arithmetic functions using the arb library
|
||||
"""
|
||||
diff -up src/sage/libs/mpmath/ext_impl.pyx.orig src/sage/libs/mpmath/ext_impl.pyx
|
||||
--- src/sage/libs/mpmath/ext_impl.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/mpmath/ext_impl.pyx 2020-10-30 15:52:15.823279433 -0600
|
||||
--- src/sage/libs/mpmath/ext_impl.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/mpmath/ext_impl.pyx 2021-05-28 11:18:15.135457599 -0600
|
||||
@@ -1,3 +1,4 @@
|
||||
+# distutils: include_dirs = /usr/include/flint
|
||||
"""
|
||||
This module provides the core implementation of multiprecision
|
||||
floating-point arithmetic. Operations are done in-place.
|
||||
diff -up src/sage/libs/mpmath/ext_libmp.pyx.orig src/sage/libs/mpmath/ext_libmp.pyx
|
||||
--- src/sage/libs/mpmath/ext_libmp.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/mpmath/ext_libmp.pyx 2020-10-30 15:53:01.023226835 -0600
|
||||
--- src/sage/libs/mpmath/ext_libmp.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/mpmath/ext_libmp.pyx 2021-05-28 11:18:15.135457599 -0600
|
||||
@@ -1,3 +1,4 @@
|
||||
+# distutils: include_dirs = /usr/include/flint
|
||||
"""
|
||||
Faster versions of some key functions in mpmath.libmp
|
||||
"""
|
||||
diff -up src/sage/libs/mpmath/ext_main.pyx.orig src/sage/libs/mpmath/ext_main.pyx
|
||||
--- src/sage/libs/mpmath/ext_main.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/mpmath/ext_main.pyx 2020-10-30 15:52:35.663256336 -0600
|
||||
--- src/sage/libs/mpmath/ext_main.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/mpmath/ext_main.pyx 2021-05-28 11:18:15.135457599 -0600
|
||||
@@ -1,3 +1,4 @@
|
||||
+# distutils: include_dirs = /usr/include/flint
|
||||
"""
|
||||
mpmath floating-point numbers
|
||||
|
||||
diff -up src/sage/libs/mpmath/utils.pyx.orig src/sage/libs/mpmath/utils.pyx
|
||||
--- src/sage/libs/mpmath/utils.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/mpmath/utils.pyx 2020-10-30 15:51:33.798328356 -0600
|
||||
--- src/sage/libs/mpmath/utils.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/mpmath/utils.pyx 2021-05-28 11:18:15.136457599 -0600
|
||||
@@ -1,3 +1,4 @@
|
||||
+# distutils: include_dirs = /usr/include/flint
|
||||
"""
|
||||
Utilities for Sage-mpmath interaction
|
||||
|
||||
diff -up src/sage/matrix/matrix_complex_ball_dense.pyx.orig src/sage/matrix/matrix_complex_ball_dense.pyx
|
||||
--- src/sage/matrix/matrix_complex_ball_dense.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/matrix/matrix_complex_ball_dense.pyx 2020-10-30 15:55:44.799036557 -0600
|
||||
--- src/sage/matrix/matrix_complex_ball_dense.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/matrix/matrix_complex_ball_dense.pyx 2021-05-28 11:18:15.136457599 -0600
|
||||
@@ -1,4 +1,5 @@
|
||||
# distutils: libraries = ARB_LIBRARY
|
||||
+# distutils: include_dirs = /usr/include/arb /usr/include/flint
|
||||
|
@ -96,26 +96,28 @@ diff -up src/sage/matrix/matrix_complex_ball_dense.pyx.orig src/sage/matrix/matr
|
|||
Arbitrary precision complex ball matrices using Arb
|
||||
|
||||
diff -up src/sage/matrix/matrix_cyclo_dense.pyx.orig src/sage/matrix/matrix_cyclo_dense.pyx
|
||||
--- src/sage/matrix/matrix_cyclo_dense.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/matrix/matrix_cyclo_dense.pyx 2020-10-30 15:56:45.647965864 -0600
|
||||
@@ -1,5 +1,6 @@
|
||||
--- src/sage/matrix/matrix_cyclo_dense.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/matrix/matrix_cyclo_dense.pyx 2021-05-28 12:09:14.100657210 -0600
|
||||
@@ -1,7 +1,7 @@
|
||||
# distutils: language = c++
|
||||
# distutils: libraries = ntl
|
||||
+# distutils: include_dirs = /usr/include/arb /usr/include/flint
|
||||
# distutils: libraries = NTL_LIBRARIES
|
||||
# distutils: extra_compile_args = NTL_CFLAGS
|
||||
-# distutils: include_dirs = NTL_INCDIR
|
||||
+# distutils: include_dirs = NTL_INCDIR /usr/include/arb /usr/include/flint
|
||||
# distutils: library_dirs = NTL_LIBDIR
|
||||
# distutils: extra_link_args = NTL_LIBEXTRA
|
||||
"""
|
||||
Matrices over Cyclotomic Fields
|
||||
|
||||
diff -up src/sage/matrix/matrix_mpolynomial_dense.pyx.orig src/sage/matrix/matrix_mpolynomial_dense.pyx
|
||||
--- src/sage/matrix/matrix_mpolynomial_dense.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/matrix/matrix_mpolynomial_dense.pyx 2020-10-30 15:57:50.862889413 -0600
|
||||
--- src/sage/matrix/matrix_mpolynomial_dense.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/matrix/matrix_mpolynomial_dense.pyx 2021-05-28 11:18:15.136457599 -0600
|
||||
@@ -1,3 +1,4 @@
|
||||
+# distutils: include_dirs = /usr/include/singular /usr/include/factory
|
||||
"""
|
||||
Dense matrices over multivariate polynomials over fields
|
||||
|
||||
diff -up src/sage/rings/complex_arb.pyx.orig src/sage/rings/complex_arb.pyx
|
||||
--- src/sage/rings/complex_arb.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/rings/complex_arb.pyx 2020-11-05 15:42:05.494453973 -0700
|
||||
--- src/sage/rings/complex_arb.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/rings/complex_arb.pyx 2021-05-28 11:18:15.137457600 -0600
|
||||
@@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8
|
||||
+# distutils: include_dirs = /usr/include/arb /usr/include/flint
|
||||
|
@ -123,42 +125,43 @@ diff -up src/sage/rings/complex_arb.pyx.orig src/sage/rings/complex_arb.pyx
|
|||
Arbitrary precision complex balls using Arb
|
||||
|
||||
diff -up src/sage/rings/number_field/number_field_element_quadratic.pyx.orig src/sage/rings/number_field/number_field_element_quadratic.pyx
|
||||
--- src/sage/rings/number_field/number_field_element_quadratic.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/rings/number_field/number_field_element_quadratic.pyx 2020-11-05 15:48:03.436448764 -0700
|
||||
@@ -1,5 +1,6 @@
|
||||
# distutils: libraries = ntl
|
||||
--- src/sage/rings/number_field/number_field_element_quadratic.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/rings/number_field/number_field_element_quadratic.pyx 2021-05-28 11:18:15.138457600 -0600
|
||||
@@ -4,6 +4,7 @@
|
||||
# distutils: library_dirs = NTL_LIBDIR
|
||||
# distutils: extra_link_args = NTL_LIBEXTRA
|
||||
# distutils: language = c++
|
||||
+# distutils: include_dirs = /usr/include/arb /usr/include/flint
|
||||
"""
|
||||
Optimized Quadratic Number Field Elements
|
||||
|
||||
diff -up src/sage/rings/polynomial/multi_polynomial_libsingular.pyx.orig src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
|
||||
--- src/sage/rings/polynomial/multi_polynomial_libsingular.pyx.orig 2020-10-30 11:34:26.064980206 -0600
|
||||
+++ src/sage/rings/polynomial/multi_polynomial_libsingular.pyx 2020-10-30 16:02:19.239570828 -0600
|
||||
--- src/sage/rings/polynomial/multi_polynomial_libsingular.pyx.orig 2021-05-28 11:01:44.993275358 -0600
|
||||
+++ src/sage/rings/polynomial/multi_polynomial_libsingular.pyx 2021-05-28 11:18:15.138457600 -0600
|
||||
@@ -1,3 +1,4 @@
|
||||
+# distutils: include_dirs = /usr/include/singular /usr/include/factory
|
||||
r"""
|
||||
Multivariate Polynomials via libSINGULAR
|
||||
|
||||
diff -up src/sage/rings/polynomial/multi_polynomial.pyx.orig src/sage/rings/polynomial/multi_polynomial.pyx
|
||||
--- src/sage/rings/polynomial/multi_polynomial.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/rings/polynomial/multi_polynomial.pyx 2020-11-05 15:42:05.505453973 -0700
|
||||
--- src/sage/rings/polynomial/multi_polynomial.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/rings/polynomial/multi_polynomial.pyx 2021-05-28 11:18:15.139457600 -0600
|
||||
@@ -1,3 +1,4 @@
|
||||
+# distutils: include_dirs = /usr/include/singular /usr/include/factory
|
||||
r"""
|
||||
Base class for elements of multivariate polynomial rings
|
||||
"""
|
||||
diff -up src/sage/rings/polynomial/plural.pyx.orig src/sage/rings/polynomial/plural.pyx
|
||||
--- src/sage/rings/polynomial/plural.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/rings/polynomial/plural.pyx 2020-11-05 15:42:05.507453973 -0700
|
||||
--- src/sage/rings/polynomial/plural.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/rings/polynomial/plural.pyx 2021-05-28 11:18:15.139457600 -0600
|
||||
@@ -1,3 +1,4 @@
|
||||
+# distutils: include_dirs = /usr/include/singular /usr/include/factory
|
||||
r"""
|
||||
Noncommutative Polynomials via libSINGULAR/Plural
|
||||
|
||||
diff -up src/sage/rings/polynomial/polynomial_complex_arb.pyx.orig src/sage/rings/polynomial/polynomial_complex_arb.pyx
|
||||
--- src/sage/rings/polynomial/polynomial_complex_arb.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/rings/polynomial/polynomial_complex_arb.pyx 2020-10-30 16:03:19.870498851 -0600
|
||||
--- src/sage/rings/polynomial/polynomial_complex_arb.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/rings/polynomial/polynomial_complex_arb.pyx 2021-05-28 11:18:15.139457600 -0600
|
||||
@@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8
|
||||
+# distutils: include_dirs = /usr/include/arb /usr/include/flint
|
||||
|
@ -166,8 +169,8 @@ diff -up src/sage/rings/polynomial/polynomial_complex_arb.pyx.orig src/sage/ring
|
|||
Univariate polynomials over `\CC` with interval coefficients using Arb.
|
||||
|
||||
diff -up src/sage/rings/real_arb.pyx.orig src/sage/rings/real_arb.pyx
|
||||
--- src/sage/rings/real_arb.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/rings/real_arb.pyx 2020-11-05 15:42:05.510453973 -0700
|
||||
--- src/sage/rings/real_arb.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/rings/real_arb.pyx 2021-05-28 11:18:15.140457600 -0600
|
||||
@@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8
|
||||
+# distutils: include_dirs = /usr/include/arb /usr/include/flint
|
||||
|
@ -175,13 +178,13 @@ diff -up src/sage/rings/real_arb.pyx.orig src/sage/rings/real_arb.pyx
|
|||
Arbitrary precision real balls using Arb
|
||||
|
||||
diff -up src/sage_setup/command/sage_build_cython.py.orig src/sage_setup/command/sage_build_cython.py
|
||||
--- src/sage_setup/command/sage_build_cython.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage_setup/command/sage_build_cython.py 2020-10-30 16:04:33.325411659 -0600
|
||||
@@ -59,6 +59,7 @@ if subprocess.call("""$CC --version | gr
|
||||
--- src/sage_setup/command/sage_build_cython.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage_setup/command/sage_build_cython.py 2021-05-28 12:09:14.113657210 -0600
|
||||
@@ -209,6 +209,7 @@ class sage_build_cython(Command):
|
||||
self.library_order = library_order
|
||||
# Search for dependencies in the source tree and add to the list of include directories
|
||||
self.sage_include_dirs = sage_include_directories(use_sources=True)
|
||||
+ self.sage_include_dirs.extend(['@@CYSIGNALS@@'])
|
||||
|
||||
# Search for dependencies in the source tree and add to the list of include directories
|
||||
include_dirs = sage_include_directories(use_sources=True)
|
||||
+include_dirs.extend(['@@CYSIGNALS@@'])
|
||||
|
||||
# Look for libraries only in what is configured already through distutils
|
||||
# and environment variables
|
||||
from Cython.Build import cythonize
|
||||
import Cython.Compiler.Options
|
||||
|
|
|
@ -1,116 +1,283 @@
|
|||
diff -up src/sage/env.py.orig src/sage/env.py
|
||||
--- src/sage/env.py.orig 2020-10-30 16:10:20.089999891 -0600
|
||||
+++ src/sage/env.py 2020-10-31 12:11:19.256615196 -0600
|
||||
@@ -391,7 +391,7 @@ def cython_aliases():
|
||||
aliases = {}
|
||||
diff -up configure.orig configure
|
||||
--- configure.orig 2021-05-09 16:01:38.000000000 -0600
|
||||
+++ configure 2021-06-03 06:44:51.137915577 -0600
|
||||
@@ -12184,12 +12184,12 @@ if test -n "$OPENBLAS_CFLAGS"; then
|
||||
pkg_cv_OPENBLAS_CFLAGS="$OPENBLAS_CFLAGS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openblas >= 0.2.20\""; } >&5
|
||||
- ($PKG_CONFIG --exists --print-errors "openblas >= 0.2.20") 2>&5
|
||||
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"flexiblas >= 3.0.0\""; } >&5
|
||||
+ ($PKG_CONFIG --exists --print-errors "flexiblas >= 3.0.0") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
- pkg_cv_OPENBLAS_CFLAGS=`$PKG_CONFIG --cflags "openblas >= 0.2.20" 2>/dev/null`
|
||||
+ pkg_cv_OPENBLAS_CFLAGS=`$PKG_CONFIG --cflags "flexiblas >= 3.0.0" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -12201,12 +12201,12 @@ if test -n "$OPENBLAS_LIBS"; then
|
||||
pkg_cv_OPENBLAS_LIBS="$OPENBLAS_LIBS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openblas >= 0.2.20\""; } >&5
|
||||
- ($PKG_CONFIG --exists --print-errors "openblas >= 0.2.20") 2>&5
|
||||
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"flexiblas >= 3.0.0\""; } >&5
|
||||
+ ($PKG_CONFIG --exists --print-errors "flexiblas >= 3.0.0") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
- pkg_cv_OPENBLAS_LIBS=`$PKG_CONFIG --libs "openblas >= 0.2.20" 2>/dev/null`
|
||||
+ pkg_cv_OPENBLAS_LIBS=`$PKG_CONFIG --libs "flexiblas >= 3.0.0" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -12227,9 +12227,9 @@ else
|
||||
_pkg_short_errors_supported=no
|
||||
fi
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
- OPENBLAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "openblas >= 0.2.20" 2>&1`
|
||||
+ OPENBLAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "flexiblas >= 3.0.0" 2>&1`
|
||||
else
|
||||
- OPENBLAS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "openblas >= 0.2.20" 2>&1`
|
||||
+ OPENBLAS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "flexiblas >= 3.0.0" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$OPENBLAS_PKG_ERRORS" >&5
|
||||
@@ -12257,16 +12257,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
-char openblas_get_config ();
|
||||
+char flexiblas_get_version ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
-return openblas_get_config ();
|
||||
+return flexiblas_get_version ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas cblas blas; do
|
||||
+for ac_lib in '' flexiblas cblas blas; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -12319,22 +12319,22 @@ else
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <stdio.h>
|
||||
- char *openblas_get_config(void);
|
||||
+ void flexiblas_get_version(void);
|
||||
int version[3];
|
||||
int
|
||||
main ()
|
||||
{
|
||||
version[0] = version[1] = version[2] = 0;
|
||||
/*printf("%s", openblas_get_config());*/
|
||||
- if (sscanf(openblas_get_config(), "OpenBLAS %d.%d.%d",
|
||||
- version, version+1, version+2) < 1)
|
||||
- return 1;
|
||||
+ flexiblas_get_version(&version[0], &version[1], &version[2]);
|
||||
+
|
||||
+
|
||||
if ( 10000 * version[0]
|
||||
+ 100 * version[1]
|
||||
+ version[2]
|
||||
- < 10000 * 0
|
||||
- + 100 * 2
|
||||
- + 20)
|
||||
+ < 10000 * 3
|
||||
+ + 100 * 0
|
||||
+ + 0)
|
||||
return 1;
|
||||
;
|
||||
return 0;
|
||||
@@ -12387,7 +12387,7 @@ return cblas_dgemm ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas cblas blas; do
|
||||
+for ac_lib in '' flexiblas cblas blas; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -12451,7 +12451,7 @@ return dgeqrf ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas lapack; do
|
||||
+for ac_lib in '' flexiblas lapack; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -12515,7 +12515,7 @@ return dgeqrf_ ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas lapack; do
|
||||
+for ac_lib in '' flexiblas lapack; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -12579,7 +12579,7 @@ return DGEQRF ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas lapack; do
|
||||
+for ac_lib in '' flexiblas lapack; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -12643,7 +12643,7 @@ return DGEQRF_ ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas lapack; do
|
||||
+for ac_lib in '' flexiblas lapack; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -12731,16 +12731,16 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
-char openblas_get_config ();
|
||||
+char flexiblas_get_version ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
-return openblas_get_config ();
|
||||
+return flexiblas_get_version ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas cblas blas; do
|
||||
+for ac_lib in '' flexiblas cblas blas; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -12793,22 +12793,22 @@ else
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <stdio.h>
|
||||
- char *openblas_get_config(void);
|
||||
+ void flexiblas_get_version(void);
|
||||
int version[3];
|
||||
int
|
||||
main ()
|
||||
{
|
||||
version[0] = version[1] = version[2] = 0;
|
||||
/*printf("%s", openblas_get_config());*/
|
||||
- if (sscanf(openblas_get_config(), "OpenBLAS %d.%d.%d",
|
||||
- version, version+1, version+2) < 1)
|
||||
- return 1;
|
||||
+ flexiblas_get_version(&version[0], &version[1], &version[2]);
|
||||
+
|
||||
+
|
||||
if ( 10000 * version[0]
|
||||
+ 100 * version[1]
|
||||
+ version[2]
|
||||
- < 10000 * 0
|
||||
- + 100 * 2
|
||||
- + 20)
|
||||
+ < 10000 * 3
|
||||
+ + 100 * 0
|
||||
+ + 0)
|
||||
return 1;
|
||||
;
|
||||
return 0;
|
||||
@@ -12861,7 +12861,7 @@ return cblas_dgemm ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas cblas blas; do
|
||||
+for ac_lib in '' flexiblas cblas blas; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -12925,7 +12925,7 @@ return dgeqrf ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas lapack; do
|
||||
+for ac_lib in '' flexiblas lapack; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -12989,7 +12989,7 @@ return dgeqrf_ ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas lapack; do
|
||||
+for ac_lib in '' flexiblas lapack; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -13053,7 +13053,7 @@ return DGEQRF ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas lapack; do
|
||||
+for ac_lib in '' flexiblas lapack; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -13117,7 +13117,7 @@ return DGEQRF_ ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
-for ac_lib in '' openblas lapack; do
|
||||
+for ac_lib in '' flexiblas lapack; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
@@ -13192,12 +13192,12 @@ if test -n "$OPENBLASPCDIR"; then
|
||||
pkg_cv_OPENBLASPCDIR="$OPENBLASPCDIR"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openblas\""; } >&5
|
||||
- ($PKG_CONFIG --exists --print-errors "openblas") 2>&5
|
||||
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"flexiblas\""; } >&5
|
||||
+ ($PKG_CONFIG --exists --print-errors "flexiblas") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
- pkg_cv_OPENBLASPCDIR=`$PKG_CONFIG --variable="pcfiledir" "openblas" 2>/dev/null`
|
||||
+ pkg_cv_OPENBLASPCDIR=`$PKG_CONFIG --variable="pcfiledir" "flexiblas" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -13412,7 +13412,7 @@ fi
|
||||
if test x$sage_spkg_install_openblas != xyes; then :
|
||||
|
||||
|
||||
- SAGE_OPENBLAS_PC_COMMAND="\$(LN) -sf \"$OPENBLASPCDIR/openblas.pc\" \"\$(@)\""
|
||||
+ SAGE_OPENBLAS_PC_COMMAND="\$(LN) -sf \"$OPENBLASPCDIR/flexiblas.pc\" \"\$(@)\""
|
||||
|
||||
|
||||
if test x$sage_install_blas_pc = xyes; then :
|
||||
diff -up src/sage/env.py.orig src/sage/env.py
|
||||
--- src/sage/env.py.orig 2021-06-16 13:13:15.378722205 -0600
|
||||
+++ src/sage/env.py 2021-06-16 13:42:26.443996772 -0600
|
||||
@@ -209,7 +209,7 @@ MAXIMA = var("MAXIMA", "maxima")
|
||||
MAXIMA_FAS = var("MAXIMA_FAS")
|
||||
SAGE_NAUTY_BINS_PREFIX = var("SAGE_NAUTY_BINS_PREFIX", "")
|
||||
ARB_LIBRARY = var("ARB_LIBRARY", "arb")
|
||||
-CBLAS_PC_MODULES = var("CBLAS_PC_MODULES", "cblas:openblas:blas")
|
||||
+CBLAS_PC_MODULES = var("CBLAS_PC_MODULES", "flexiblas:cblas:openblas:blas")
|
||||
ECL_CONFIG = var("ECL_CONFIG", "ecl-config")
|
||||
NTL_INCDIR = var("NTL_INCDIR")
|
||||
NTL_LIBDIR = var("NTL_LIBDIR")
|
||||
@@ -408,7 +408,7 @@ def cython_aliases():
|
||||
for lib in ['fflas-ffpack', 'givaro', 'gsl', 'linbox', 'Singular',
|
||||
- 'libpng', 'gdlib', 'm4ri', 'zlib', 'cblas', 'lapack']:
|
||||
+ 'libpng', 'gdlib', 'm4ri', 'zlib', 'flexiblas']:
|
||||
'libpng', 'gdlib', 'm4ri', 'zlib', 'cblas', 'lapack']:
|
||||
var = lib.upper().replace("-", "") + "_"
|
||||
- if lib == 'cblas':
|
||||
+ if lib == 'cblas' or lib == 'lapack':
|
||||
lib = get_cblas_pc_module_name()
|
||||
if lib == 'zlib':
|
||||
aliases[var + "CFLAGS"] = ""
|
||||
diff -up src/sage/matrix/matrix_integer_dense.pyx.orig src/sage/matrix/matrix_integer_dense.pyx
|
||||
--- src/sage/matrix/matrix_integer_dense.pyx.orig 2020-10-30 11:52:49.737274785 -0600
|
||||
+++ src/sage/matrix/matrix_integer_dense.pyx 2020-10-31 17:58:56.243063508 -0600
|
||||
@@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# distutils: extra_compile_args = M4RI_CFLAGS
|
||||
-# distutils: libraries = iml ntl gmp m CBLAS_LIBRARIES
|
||||
-# distutils: library_dirs = CBLAS_LIBDIR
|
||||
-# distutils: include_dirs = M4RI_INCDIR CBLAS_INCDIR
|
||||
+# distutils: libraries = iml ntl gmp m FLEXIBLAS_LIBRARIES
|
||||
+# distutils: library_dirs = FLEXIBLAS_LIBDIR
|
||||
+# distutils: include_dirs = M4RI_INCDIR FLEXIBLAS_INCDIR
|
||||
"""
|
||||
Dense matrices over the integer ring
|
||||
|
||||
diff -up src/sage/matrix/matrix_modn_dense_double.pyx.orig src/sage/matrix/matrix_modn_dense_double.pyx
|
||||
--- src/sage/matrix/matrix_modn_dense_double.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/matrix/matrix_modn_dense_double.pyx 2020-11-05 15:44:59.390454421 -0700
|
||||
@@ -1,7 +1,7 @@
|
||||
# distutils: language = c++
|
||||
-# distutils: libraries = CBLAS_LIBRARIES
|
||||
-# distutils: library_dirs = CBLAS_LIBDIR
|
||||
-# distutils: include_dirs = CBLAS_INCDIR
|
||||
+# distutils: libraries = FLEXIBLAS_LIBRARIES
|
||||
+# distutils: library_dirs = FLEXIBLAS_LIBDIR
|
||||
+# distutils: include_dirs = FLEXIBLAS_INCDIR
|
||||
# distutils: extra_compile_args = -D_XPG6
|
||||
"""
|
||||
Dense matrices over `\ZZ/n\ZZ` for `n < 2^{23}` using LinBox's ``Modular<double>``
|
||||
diff -up src/sage/matrix/matrix_modn_dense_float.pyx.orig src/sage/matrix/matrix_modn_dense_float.pyx
|
||||
--- src/sage/matrix/matrix_modn_dense_float.pyx.orig 2020-11-05 15:44:59.391454421 -0700
|
||||
+++ src/sage/matrix/matrix_modn_dense_float.pyx 2020-11-05 15:45:54.965454564 -0700
|
||||
@@ -1,7 +1,7 @@
|
||||
# distutils: language = c++
|
||||
-# distutils: libraries = CBLAS_LIBRARIES
|
||||
-# distutils: library_dirs = CBLAS_LIBDIR
|
||||
-# distutils: include_dirs = CBLAS_INCDIR
|
||||
+# distutils: libraries = FLEXIBLAS_LIBRARIES
|
||||
+# distutils: library_dirs = FLEXIBLAS_LIBDIR
|
||||
+# distutils: include_dirs = FLEXIBLAS_INCDIR
|
||||
"""
|
||||
Dense matrices over `\ZZ/n\ZZ` for `n < 2^{11}` using LinBox's ``Modular<float>``
|
||||
|
||||
diff -up src/sage/matrix/matrix_rational_dense.pyx.orig src/sage/matrix/matrix_rational_dense.pyx
|
||||
--- src/sage/matrix/matrix_rational_dense.pyx.orig 2020-10-30 11:34:26.031980257 -0600
|
||||
+++ src/sage/matrix/matrix_rational_dense.pyx 2020-10-31 17:58:10.490106273 -0600
|
||||
@@ -1,7 +1,7 @@
|
||||
# distutils: extra_compile_args = -D_XPG6 M4RI_CFLAGS
|
||||
-# distutils: libraries = iml ntl m CBLAS_LIBRARIES
|
||||
-# distutils: library_dirs = CBLAS_LIBDIR
|
||||
-# distutils: include_dirs = M4RI_INCDIR CBLAS_INCDIR
|
||||
+# distutils: libraries = iml ntl m FLEXIBLAS_LIBRARIES
|
||||
+# distutils: library_dirs = FLEXIBLAS_LIBDIR
|
||||
+# distutils: include_dirs = M4RI_INCDIR FLEXIBLAS_INCDIR
|
||||
|
||||
"""
|
||||
Dense matrices over the rational field
|
||||
diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py
|
||||
--- src/sage/misc/cython.py.orig 2020-10-30 16:08:06.039158996 -0600
|
||||
+++ src/sage/misc/cython.py 2020-10-30 16:24:09.037024792 -0600
|
||||
@@ -35,10 +35,9 @@ from sage.cpython.string import str_to_b
|
||||
|
||||
|
||||
# CBLAS can be one of multiple implementations
|
||||
-cblas_pc = pkgconfig.parse('cblas')
|
||||
-cblas_libs = list(cblas_pc['libraries'])
|
||||
-cblas_library_dirs = list(cblas_pc['library_dirs'])
|
||||
-cblas_include_dirs = list(cblas_pc['include_dirs'])
|
||||
+cblas_libs = ['flexiblas']
|
||||
+cblas_library_dirs = ['/usr/lib']
|
||||
+cblas_include_dirs = ['/usr/include/flexiblas']
|
||||
|
||||
standard_libs = [
|
||||
'mpfr', 'gmp', 'gmpxx', 'pari', 'm',
|
||||
diff -up src/sage_setup/library_order.py.orig src/sage_setup/library_order.py
|
||||
--- src/sage_setup/library_order.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage_setup/library_order.py 2020-10-31 12:11:54.313540360 -0600
|
||||
@@ -10,20 +10,18 @@ import os
|
||||
import pkgconfig
|
||||
|
||||
# CBLAS can be one of multiple implementations
|
||||
-cblas_pc = pkgconfig.parse('cblas')
|
||||
-cblas_libs = cblas_pc['libraries']
|
||||
-cblas_library_dirs = cblas_pc['library_dirs']
|
||||
-cblas_include_dirs = cblas_pc['include_dirs']
|
||||
+cblas_libs = ['flexiblas']
|
||||
+cblas_library_dirs = ['/usr/lib']
|
||||
+cblas_include_dirs = ['/usr/include/flexiblas']
|
||||
|
||||
# TODO: Remove Cygwin hack by installing a suitable cblas.pc
|
||||
if os.path.exists('/usr/lib/libblas.dll.a'):
|
||||
cblas_libs = ['gslcblas']
|
||||
|
||||
# LAPACK can be one of multiple implementations
|
||||
-lapack_pc = pkgconfig.parse('lapack')
|
||||
-lapack_libs = lapack_pc['libraries']
|
||||
-lapack_library_dirs = lapack_pc['library_dirs']
|
||||
-lapack_include_dirs = lapack_pc['include_dirs']
|
||||
+lapack_libs = ['flexiblas']
|
||||
+lapack_library_dirs = ['/usr/lib']
|
||||
+lapack_include_dirs = ['/usr/include/flexiblas']
|
||||
|
||||
# GD image library
|
||||
gd_pc = pkgconfig.parse('gdlib')
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -up src/sage/interfaces/jmoldata.py.orig src/sage/interfaces/jmoldata.py
|
||||
--- src/sage/interfaces/jmoldata.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/interfaces/jmoldata.py 2020-10-30 14:01:33.291052531 -0600
|
||||
--- src/sage/interfaces/jmoldata.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/interfaces/jmoldata.py 2021-05-28 11:36:18.844565672 -0600
|
||||
@@ -148,8 +148,6 @@ class JmolData(SageObject):
|
||||
sage: print(os.path.exists(testfile)) # optional -- java
|
||||
True
|
||||
|
@ -21,5 +21,5 @@ diff -up src/sage/interfaces/jmoldata.py.orig src/sage/interfaces/jmoldata.py
|
|||
+ subprocess.call(["jmol", "-n", "-g", size_arg,
|
||||
+ "-J", launchscript, "-j", imagescript], stdout=jout)
|
||||
if not os.path.isfile(targetfile):
|
||||
raise RuntimeError("Jmol failed to create file %s, see %s for details"%(repr(targetfile), repr(scratchout)))
|
||||
raise RuntimeError(f"Jmol failed to create file {targetfile}: {Path(scratchout).read_text()}")
|
||||
os.unlink(scratchout)
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
diff -up src/sage/libs/lcalc/lcalc_Lfunction.pyx.orig src/sage/libs/lcalc/lcalc_Lfunction.pyx
|
||||
--- src/sage/libs/lcalc/lcalc_Lfunction.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/lcalc/lcalc_Lfunction.pyx 2020-10-30 14:40:53.875121354 -0600
|
||||
--- src/sage/libs/lcalc/lcalc_Lfunction.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/lcalc/lcalc_Lfunction.pyx 2021-06-02 17:12:56.077802570 -0600
|
||||
@@ -1,5 +1,5 @@
|
||||
# distutils: libraries = m ntl Lfunction
|
||||
-# distutils: extra_compile_args = -O3 -ffast-math
|
||||
+# distutils: extra_compile_args = -std=gnu++11 -ffast-math
|
||||
# distutils: language = c++
|
||||
r"""
|
||||
Rubinstein's lcalc library
|
||||
# distutils: libraries = m NTL_LIBRARIES Lfunction
|
||||
-# distutils: extra_compile_args = NTL_CFLAGS -O3 -ffast-math
|
||||
+# distutils: extra_compile_args = NTL_CFLAGS -std=gnu++11 -ffast-math
|
||||
# distutils: include_dirs = NTL_INCDIR
|
||||
# distutils: library_dirs = NTL_LIBDIR
|
||||
# distutils: extra_link_args = NTL_LIBEXTRA
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
diff -up src/sage/env.py.orig src/sage/env.py
|
||||
--- src/sage/env.py.orig 2020-10-30 15:44:29.575821493 -0600
|
||||
+++ src/sage/env.py 2020-10-30 16:09:54.834029866 -0600
|
||||
@@ -182,7 +182,7 @@ var('CONWAY_POLYNOMIALS_DATA_DIR', joi
|
||||
var('GRAPHS_DATA_DIR', join(SAGE_SHARE, 'graphs'))
|
||||
var('ELLCURVE_DATA_DIR', join(SAGE_SHARE, 'ellcurves'))
|
||||
var('POLYTOPE_DATA_DIR', join(SAGE_SHARE, 'reflexive_polytopes'))
|
||||
-var('GAP_ROOT_DIR', join(SAGE_SHARE, 'gap'))
|
||||
+var('GAP_ROOT_DIR', join('/usr','lib','gap'))
|
||||
var('THEBE_DIR', join(SAGE_SHARE, 'thebe'))
|
||||
var('COMBINATORIAL_DESIGN_DATA_DIR', join(SAGE_SHARE, 'combinatorial_designs'))
|
||||
var('CREMONA_MINI_DATA_DIR', join(SAGE_SHARE, 'cremona'))
|
||||
--- src/sage/env.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/env.py 2021-06-02 17:13:07.387813291 -0600
|
||||
@@ -194,7 +194,7 @@ CONWAY_POLYNOMIALS_DATA_DIR = var("CONWA
|
||||
GRAPHS_DATA_DIR = var("GRAPHS_DATA_DIR", join(SAGE_SHARE, "graphs"))
|
||||
ELLCURVE_DATA_DIR = var("ELLCURVE_DATA_DIR", join(SAGE_SHARE, "ellcurves"))
|
||||
POLYTOPE_DATA_DIR = var("POLYTOPE_DATA_DIR", join(SAGE_SHARE, "reflexive_polytopes"))
|
||||
-GAP_ROOT_DIR = var("GAP_ROOT_DIR", join(SAGE_SHARE, "gap"))
|
||||
+GAP_ROOT_DIR = var("GAP_ROOT_DIR", join('/usr', 'lib', "gap"))
|
||||
THEBE_DIR = var("THEBE_DIR", join(SAGE_SHARE, "thebe"))
|
||||
COMBINATORIAL_DESIGN_DATA_DIR = var("COMBINATORIAL_DESIGN_DATA_DIR", join(SAGE_SHARE, "combinatorial_designs"))
|
||||
CREMONA_MINI_DATA_DIR = var("CREMONA_MINI_DATA_DIR", join(SAGE_SHARE, "cremona"))
|
||||
diff -up src/sage/libs/gap/element.pyx.orig src/sage/libs/gap/element.pyx
|
||||
--- src/sage/libs/gap/element.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/gap/element.pyx 2020-10-30 14:42:23.392975217 -0600
|
||||
--- src/sage/libs/gap/element.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/gap/element.pyx 2021-05-28 11:43:51.678593573 -0600
|
||||
@@ -264,7 +264,7 @@ cdef Obj make_gap_string(sage_string) ex
|
||||
try:
|
||||
GAP_Enter()
|
||||
|
@ -104,8 +104,8 @@ diff -up src/sage/libs/gap/element.pyx.orig src/sage/libs/gap/element.pyx
|
|||
|
||||
if isinstance(i, tuple):
|
||||
diff -up src/sage/libs/gap/gap_includes.pxd.orig src/sage/libs/gap/gap_includes.pxd
|
||||
--- src/sage/libs/gap/gap_includes.pxd.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/gap/gap_includes.pxd 2020-10-30 14:42:23.392975217 -0600
|
||||
--- src/sage/libs/gap/gap_includes.pxd.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/gap/gap_includes.pxd 2021-05-28 11:43:51.679593573 -0600
|
||||
@@ -13,8 +13,8 @@ from libc.stdint cimport uintptr_t, uint
|
||||
|
||||
cdef extern from "gap/system.h" nogil:
|
||||
|
@ -225,9 +225,9 @@ diff -up src/sage/libs/gap/gap_includes.pxd.orig src/sage/libs/gap/gap_includes.
|
|||
+ Obj NEW_STRING(Int len)
|
||||
+ Obj MakeStringWithLen(const char *buf, size_t len)
|
||||
diff -up src/sage/libs/gap/util.pyx.orig src/sage/libs/gap/util.pyx
|
||||
--- src/sage/libs/gap/util.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/gap/util.pyx 2020-10-30 14:42:23.393975216 -0600
|
||||
@@ -386,7 +386,7 @@ cdef Obj gap_eval(str gap_string) except
|
||||
--- src/sage/libs/gap/util.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/gap/util.pyx 2021-05-28 11:43:51.679593573 -0600
|
||||
@@ -387,7 +387,7 @@ cdef Obj gap_eval(str gap_string) except
|
||||
"""
|
||||
initialize()
|
||||
cdef Obj result
|
||||
|
|
|
@ -1,116 +0,0 @@
|
|||
diff -up src/sage/env.py.orig src/sage/env.py
|
||||
--- src/sage/env.py.orig 2020-10-30 16:10:20.089999891 -0600
|
||||
+++ src/sage/env.py 2020-10-31 12:11:19.256615196 -0600
|
||||
@@ -391,7 +391,7 @@ def cython_aliases():
|
||||
aliases = {}
|
||||
|
||||
for lib in ['fflas-ffpack', 'givaro', 'gsl', 'linbox', 'Singular',
|
||||
- 'libpng', 'gdlib', 'm4ri', 'zlib', 'cblas', 'lapack']:
|
||||
+ 'libpng', 'gdlib', 'm4ri', 'zlib', 'openblas']:
|
||||
var = lib.upper().replace("-", "") + "_"
|
||||
if lib == 'zlib':
|
||||
aliases[var + "CFLAGS"] = ""
|
||||
diff -up src/sage/matrix/matrix_integer_dense.pyx.orig src/sage/matrix/matrix_integer_dense.pyx
|
||||
--- src/sage/matrix/matrix_integer_dense.pyx.orig 2020-10-30 11:52:49.737274785 -0600
|
||||
+++ src/sage/matrix/matrix_integer_dense.pyx 2020-10-31 17:58:56.243063508 -0600
|
||||
@@ -1,8 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# distutils: extra_compile_args = M4RI_CFLAGS
|
||||
-# distutils: libraries = iml ntl gmp m CBLAS_LIBRARIES
|
||||
-# distutils: library_dirs = CBLAS_LIBDIR
|
||||
-# distutils: include_dirs = M4RI_INCDIR CBLAS_INCDIR
|
||||
+# distutils: libraries = iml ntl gmp m OPENBLAS_LIBRARIES
|
||||
+# distutils: library_dirs = OPENBLAS_LIBDIR
|
||||
+# distutils: include_dirs = M4RI_INCDIR OPENBLAS_INCDIR
|
||||
"""
|
||||
Dense matrices over the integer ring
|
||||
|
||||
diff -up src/sage/matrix/matrix_modn_dense_double.pyx.orig src/sage/matrix/matrix_modn_dense_double.pyx
|
||||
--- src/sage/matrix/matrix_modn_dense_double.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/matrix/matrix_modn_dense_double.pyx 2020-11-05 15:54:31.940411433 -0700
|
||||
@@ -1,7 +1,7 @@
|
||||
# distutils: language = c++
|
||||
-# distutils: libraries = CBLAS_LIBRARIES
|
||||
-# distutils: library_dirs = CBLAS_LIBDIR
|
||||
-# distutils: include_dirs = CBLAS_INCDIR
|
||||
+# distutils: libraries = OPENBLAS_LIBRARIES
|
||||
+# distutils: library_dirs = OPENBLAS_LIBDIR
|
||||
+# distutils: include_dirs = OPENBLAS_INCDIR
|
||||
# distutils: extra_compile_args = -D_XPG6
|
||||
"""
|
||||
Dense matrices over `\ZZ/n\ZZ` for `n < 2^{23}` using LinBox's ``Modular<double>``
|
||||
diff -up src/sage/matrix/matrix_modn_dense_float.pyx.orig src/sage/matrix/matrix_modn_dense_float.pyx
|
||||
--- src/sage/matrix/matrix_modn_dense_float.pyx.orig 2020-11-05 15:54:31.940411433 -0700
|
||||
+++ src/sage/matrix/matrix_modn_dense_float.pyx 2020-11-05 15:55:38.853405001 -0700
|
||||
@@ -1,7 +1,7 @@
|
||||
# distutils: language = c++
|
||||
-# distutils: libraries = CBLAS_LIBRARIES
|
||||
-# distutils: library_dirs = CBLAS_LIBDIR
|
||||
-# distutils: include_dirs = CBLAS_INCDIR
|
||||
+# distutils: libraries = OPENBLAS_LIBRARIES
|
||||
+# distutils: library_dirs = OPENBLAS_LIBDIR
|
||||
+# distutils: include_dirs = OPENBLAS_INCDIR
|
||||
"""
|
||||
Dense matrices over `\ZZ/n\ZZ` for `n < 2^{11}` using LinBox's ``Modular<float>``
|
||||
|
||||
diff -up src/sage/matrix/matrix_rational_dense.pyx.orig src/sage/matrix/matrix_rational_dense.pyx
|
||||
--- src/sage/matrix/matrix_rational_dense.pyx.orig 2020-10-30 11:34:26.031980257 -0600
|
||||
+++ src/sage/matrix/matrix_rational_dense.pyx 2020-10-31 17:58:10.490106273 -0600
|
||||
@@ -1,7 +1,7 @@
|
||||
# distutils: extra_compile_args = -D_XPG6 M4RI_CFLAGS
|
||||
-# distutils: libraries = iml ntl m CBLAS_LIBRARIES
|
||||
-# distutils: library_dirs = CBLAS_LIBDIR
|
||||
-# distutils: include_dirs = M4RI_INCDIR CBLAS_INCDIR
|
||||
+# distutils: libraries = iml ntl m OPENBLAS_LIBRARIES
|
||||
+# distutils: library_dirs = OPENBLAS_LIBDIR
|
||||
+# distutils: include_dirs = M4RI_INCDIR OPENBLAS_INCDIR
|
||||
|
||||
"""
|
||||
Dense matrices over the rational field
|
||||
diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py
|
||||
--- src/sage/misc/cython.py.orig 2020-10-30 16:08:06.039158996 -0600
|
||||
+++ src/sage/misc/cython.py 2020-10-30 16:24:09.037024792 -0600
|
||||
@@ -35,10 +35,9 @@ from sage.cpython.string import str_to_b
|
||||
|
||||
|
||||
# CBLAS can be one of multiple implementations
|
||||
-cblas_pc = pkgconfig.parse('cblas')
|
||||
-cblas_libs = list(cblas_pc['libraries'])
|
||||
-cblas_library_dirs = list(cblas_pc['library_dirs'])
|
||||
-cblas_include_dirs = list(cblas_pc['include_dirs'])
|
||||
+cblas_libs = ['openblas']
|
||||
+cblas_library_dirs = ['/usr/lib']
|
||||
+cblas_include_dirs = ['/usr/include/openblas']
|
||||
|
||||
standard_libs = [
|
||||
'mpfr', 'gmp', 'gmpxx', 'pari', 'm',
|
||||
diff -up src/sage_setup/library_order.py.orig src/sage_setup/library_order.py
|
||||
--- src/sage_setup/library_order.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage_setup/library_order.py 2020-10-31 12:11:54.313540360 -0600
|
||||
@@ -10,20 +10,18 @@ import os
|
||||
import pkgconfig
|
||||
|
||||
# CBLAS can be one of multiple implementations
|
||||
-cblas_pc = pkgconfig.parse('cblas')
|
||||
-cblas_libs = cblas_pc['libraries']
|
||||
-cblas_library_dirs = cblas_pc['library_dirs']
|
||||
-cblas_include_dirs = cblas_pc['include_dirs']
|
||||
+cblas_libs = ['openblas']
|
||||
+cblas_library_dirs = ['/usr/lib']
|
||||
+cblas_include_dirs = ['/usr/include/openblas']
|
||||
|
||||
# TODO: Remove Cygwin hack by installing a suitable cblas.pc
|
||||
if os.path.exists('/usr/lib/libblas.dll.a'):
|
||||
cblas_libs = ['gslcblas']
|
||||
|
||||
# LAPACK can be one of multiple implementations
|
||||
-lapack_pc = pkgconfig.parse('lapack')
|
||||
-lapack_libs = lapack_pc['libraries']
|
||||
-lapack_library_dirs = lapack_pc['library_dirs']
|
||||
-lapack_include_dirs = lapack_pc['include_dirs']
|
||||
+lapack_libs = ['openblas']
|
||||
+lapack_library_dirs = ['/usr/lib']
|
||||
+lapack_include_dirs = ['/usr/include/openblas']
|
||||
|
||||
# GD image library
|
||||
gd_pc = pkgconfig.parse('gdlib')
|
|
@ -1,83 +1,6 @@
|
|||
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 2020-08-12 02:35:31.000000000 -0600
|
||||
+++ build/pkgs/sagetex/src/remote-sagetex.py 2020-10-30 14:03:01.286904419 -0600
|
||||
@@ -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/>.
|
||||
##
|
||||
-from __future__ import print_function
|
||||
import json
|
||||
import sys
|
||||
import time
|
||||
import re
|
||||
-import urllib
|
||||
+import urllib.request, urllib.parse, urllib.error
|
||||
import hashlib
|
||||
import os
|
||||
import os.path
|
||||
@@ -156,7 +155,7 @@ class RemoteSage:
|
||||
'\n*(?P<output>.*)', re.DOTALL)
|
||||
self._404 = re.compile('404 Not Found')
|
||||
self._session = self._get_url('login',
|
||||
- urllib.urlencode({'username': user,
|
||||
+ urllib.parse.urlencode({'username': user,
|
||||
'password':
|
||||
password}))['session']
|
||||
self._codewrap = """try:
|
||||
@@ -176,18 +175,18 @@ except:
|
||||
_p_.save(filename=plotfilename, **kwargs)""")
|
||||
|
||||
def _encode(self, d):
|
||||
- return 'session={0}&'.format(self._session) + urllib.urlencode(d)
|
||||
+ return 'session={0}&'.format(self._session) + urllib.parse.urlencode(d)
|
||||
|
||||
def _get_url(self, action, u):
|
||||
- with closing(urllib.urlopen(self._srv + '/simple/' + action +
|
||||
- '?' + u)) as h:
|
||||
+ with closing(urllib.request.urlopen(self._srv + '/simple/' + action +
|
||||
+ '?' + u)) as h:
|
||||
data = self._response.match(h.read())
|
||||
result = json.loads(data.group('header'))
|
||||
result['output'] = data.group('output').rstrip()
|
||||
return result
|
||||
|
||||
def _get_file(self, fn, cell, ofn=None):
|
||||
- with closing(urllib.urlopen(self._srv + '/simple/' + 'file' + '?' +
|
||||
+ with closing(urllib.request.urlopen(self._srv + '/simple/' + 'file' + '?' +
|
||||
self._encode({'cell': cell, 'file': fn}))) as h:
|
||||
myfn = ofn if ofn else fn
|
||||
data = h.read()
|
||||
@@ -277,13 +276,13 @@ if login_info_file:
|
||||
password = get_val(line)
|
||||
|
||||
if not server:
|
||||
- server = raw_input('Enter server: ')
|
||||
+ server = input('Enter server: ')
|
||||
|
||||
if not server.startswith('http'):
|
||||
server = 'https://' + server
|
||||
|
||||
if not username:
|
||||
- username = raw_input('Enter username: ')
|
||||
+ username = input('Enter username: ')
|
||||
|
||||
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 2020-08-12 02:35:31.000000000 -0600
|
||||
+++ build/pkgs/sagetex/src/sagetexparse.py 2020-10-30 14:03:01.286904419 -0600
|
||||
@@ -132,7 +132,7 @@ class SageCodeExtractor():
|
||||
|
||||
def plotout(self, s, l, t):
|
||||
self.result += '# \\sageplot{} from line %s:\n' % lineno(l, s)
|
||||
- if t.format is not '':
|
||||
+ if t.format != '':
|
||||
self.result += '# format: %s' % t.format[0][1:-1] + '\n'
|
||||
self.result += t.code[1:-1] + '\n\n'
|
||||
|
||||
diff -up src/sage/cpython/debugimpl.c.orig src/sage/cpython/debugimpl.c
|
||||
--- src/sage/cpython/debugimpl.c.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/cpython/debugimpl.c 2020-10-30 14:03:01.299904398 -0600
|
||||
--- src/sage/cpython/debugimpl.c.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/cpython/debugimpl.c 2021-05-28 11:39:54.261578894 -0600
|
||||
@@ -148,6 +148,7 @@ static void _type_debug(PyTypeObject* tp
|
||||
printf(" tp_basicsize: %ld\n", (long)tp->tp_basicsize);
|
||||
printf(" tp_itemsize: %ld\n", (long)tp->tp_itemsize);
|
||||
|
@ -95,9 +18,9 @@ diff -up src/sage/cpython/debugimpl.c.orig src/sage/cpython/debugimpl.c
|
|||
attr_pointer_meth(tp_call, "__call__");
|
||||
attr_pointer_meth(tp_str, "__str__");
|
||||
diff -up src/sage/cpython/debug.pyx.orig src/sage/cpython/debug.pyx
|
||||
--- src/sage/cpython/debug.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/cpython/debug.pyx 2020-10-30 14:03:01.300904396 -0600
|
||||
@@ -232,6 +232,7 @@ def type_debug(cls):
|
||||
--- src/sage/cpython/debug.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/cpython/debug.pyx 2021-05-28 11:39:54.261578894 -0600
|
||||
@@ -231,6 +231,7 @@ def type_debug(cls):
|
||||
tp_basicsize: 16
|
||||
tp_itemsize: 0
|
||||
tp_dictoffset: 0
|
||||
|
@ -105,7 +28,7 @@ diff -up src/sage/cpython/debug.pyx.orig src/sage/cpython/debug.pyx
|
|||
tp_weaklistoffset: 0
|
||||
tp_base (__base__): NULL
|
||||
tp_bases (__bases__): tuple:
|
||||
@@ -259,7 +260,6 @@ def type_debug(cls):
|
||||
@@ -258,7 +259,6 @@ def type_debug(cls):
|
||||
tp_dealloc (__dealloc__): 0x7fc57d757010
|
||||
tp_free: PyObject_Del
|
||||
tp_repr (__repr__): 0x7fc57d75b990
|
||||
|
@ -114,9 +37,9 @@ diff -up src/sage/cpython/debug.pyx.orig src/sage/cpython/debug.pyx
|
|||
tp_call (__call__): NULL
|
||||
tp_str (__str__): 0x7fc57d757020
|
||||
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 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/geometry/triangulation/point_configuration.py 2020-10-30 14:03:01.301904394 -0600
|
||||
@@ -619,11 +619,11 @@ class PointConfiguration(UniqueRepresent
|
||||
--- src/sage/geometry/triangulation/point_configuration.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/geometry/triangulation/point_configuration.py 2021-05-28 11:39:54.263578895 -0600
|
||||
@@ -618,11 +618,11 @@ class PointConfiguration(UniqueRepresent
|
||||
['{{0,1,2,4},{1,2,3,4}}']
|
||||
"""
|
||||
timeout = 600
|
||||
|
@ -131,9 +54,9 @@ diff -up src/sage/geometry/triangulation/point_configuration.py.orig src/sage/ge
|
|||
if verbose:
|
||||
print("#### TOPCOM input ####")
|
||||
diff -up src/sage/interfaces/frobby.py.orig src/sage/interfaces/frobby.py
|
||||
--- src/sage/interfaces/frobby.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/interfaces/frobby.py 2020-10-30 14:03:02.534902319 -0600
|
||||
@@ -79,7 +79,7 @@ class Frobby:
|
||||
--- src/sage/interfaces/frobby.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/interfaces/frobby.py 2021-05-28 11:39:54.264578894 -0600
|
||||
@@ -78,7 +78,7 @@ class Frobby:
|
||||
print("Frobby command: ", repr(command))
|
||||
print("Frobby input:\n", input)
|
||||
|
||||
|
@ -143,9 +66,9 @@ diff -up src/sage/interfaces/frobby.py.orig src/sage/interfaces/frobby.py
|
|||
frinput = str_to_bytes(input)
|
||||
else:
|
||||
diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
|
||||
--- src/sage/interfaces/gfan.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/interfaces/gfan.py 2020-10-30 14:11:30.550047499 -0600
|
||||
@@ -62,7 +62,7 @@ class Gfan(object):
|
||||
--- src/sage/interfaces/gfan.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/interfaces/gfan.py 2021-05-28 11:39:54.264578894 -0600
|
||||
@@ -61,7 +61,7 @@ class Gfan(object):
|
||||
print("gfan input:\n%s" % I)
|
||||
|
||||
gfan_processes = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE,
|
||||
|
@ -155,9 +78,9 @@ diff -up src/sage/interfaces/gfan.py.orig src/sage/interfaces/gfan.py
|
|||
|
||||
# sometimes, gfan outputs stuff to stderr even though everything is fine
|
||||
diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
|
||||
--- src/sage/interfaces/latte.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/interfaces/latte.py 2020-10-30 14:03:03.974899895 -0600
|
||||
@@ -152,6 +152,7 @@ def count(arg, ehrhart_polynomial=False,
|
||||
--- src/sage/interfaces/latte.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/interfaces/latte.py 2021-05-28 11:39:54.265578894 -0600
|
||||
@@ -162,6 +162,7 @@ def count(arg, ehrhart_polynomial=False,
|
||||
latte_proc = Popen(args,
|
||||
stdin=PIPE, stdout=PIPE,
|
||||
stderr=(None if verbose else PIPE),
|
||||
|
@ -165,7 +88,7 @@ diff -up src/sage/interfaces/latte.py.orig src/sage/interfaces/latte.py
|
|||
cwd=str(SAGE_TMP))
|
||||
|
||||
ans, err = latte_proc.communicate(arg)
|
||||
@@ -364,6 +365,7 @@ def integrate(arg, polynomial=None, algo
|
||||
@@ -385,6 +386,7 @@ def integrate(arg, polynomial=None, algo
|
||||
latte_proc = Popen(args,
|
||||
stdin=PIPE, stdout=PIPE,
|
||||
stderr=(None if verbose else PIPE),
|
||||
|
@ -174,8 +97,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 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/interfaces/sagespawn.pyx 2020-10-30 14:03:03.975899894 -0600
|
||||
--- src/sage/interfaces/sagespawn.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/interfaces/sagespawn.pyx 2021-05-28 11:39:54.266578895 -0600
|
||||
@@ -1,6 +1,6 @@
|
||||
"""
|
||||
Sage wrapper around pexpect's ``spawn`` class and
|
||||
|
@ -224,8 +147,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 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/libs/coxeter3/coxeter.pyx 2020-10-30 14:03:03.976899892 -0600
|
||||
--- src/sage/libs/coxeter3/coxeter.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/libs/coxeter3/coxeter.pyx 2021-05-28 11:39:54.267578895 -0600
|
||||
@@ -37,7 +37,7 @@ cdef class String:
|
||||
EXAMPLES::
|
||||
|
||||
|
@ -359,9 +282,9 @@ 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/sageinspect.py.orig src/sage/misc/sageinspect.py
|
||||
--- src/sage/misc/sageinspect.py.orig 2020-11-01 10:38:08.203022437 -0700
|
||||
+++ src/sage/misc/sageinspect.py 2020-11-01 10:43:43.355143620 -0700
|
||||
@@ -463,12 +463,9 @@ class SageArgSpecVisitor(ast.NodeVisitor
|
||||
--- src/sage/misc/sageinspect.py.orig 2021-05-28 11:01:40.384274506 -0600
|
||||
+++ src/sage/misc/sageinspect.py 2021-05-28 11:39:54.269578895 -0600
|
||||
@@ -462,12 +462,9 @@ class SageArgSpecVisitor(ast.NodeVisitor
|
||||
"""
|
||||
return node.id
|
||||
|
||||
|
@ -377,7 +300,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
|
|||
|
||||
INPUT:
|
||||
|
||||
@@ -476,17 +473,21 @@ class SageArgSpecVisitor(ast.NodeVisitor
|
||||
@@ -475,17 +472,21 @@ class SageArgSpecVisitor(ast.NodeVisitor
|
||||
|
||||
OUTPUT:
|
||||
|
||||
|
@ -405,7 +328,7 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
|
|||
"""
|
||||
|
||||
return node.value
|
||||
@@ -520,57 +521,6 @@ class SageArgSpecVisitor(ast.NodeVisitor
|
||||
@@ -519,57 +520,6 @@ class SageArgSpecVisitor(ast.NodeVisitor
|
||||
"""
|
||||
return node.arg
|
||||
|
||||
|
@ -464,9 +387,9 @@ diff -up src/sage/misc/sageinspect.py.orig src/sage/misc/sageinspect.py
|
|||
"""
|
||||
Visit a Python AST :class:`ast.List` node.
|
||||
diff -up src/sage/plot/plot3d/plot3d.py.orig src/sage/plot/plot3d/plot3d.py
|
||||
--- src/sage/plot/plot3d/plot3d.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/plot/plot3d/plot3d.py 2020-10-30 14:24:36.813732073 -0600
|
||||
@@ -186,7 +186,7 @@ class _Coordinates(object):
|
||||
--- src/sage/plot/plot3d/plot3d.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/plot/plot3d/plot3d.py 2021-05-28 11:39:54.270578895 -0600
|
||||
@@ -185,7 +185,7 @@ class _Coordinates(object):
|
||||
sage: arb((x+z,y*z,z), z, (x,y))
|
||||
Arbitrary Coordinates coordinate transform (z in terms of x, y)
|
||||
"""
|
||||
|
@ -476,9 +399,9 @@ 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/rings/integer.pyx.orig src/sage/rings/integer.pyx
|
||||
--- src/sage/rings/integer.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/rings/integer.pyx 2020-10-30 14:03:05.737896928 -0600
|
||||
@@ -7093,7 +7093,7 @@ cdef int mpz_set_str_python(mpz_ptr z, c
|
||||
--- src/sage/rings/integer.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/rings/integer.pyx 2021-05-28 11:39:54.274578895 -0600
|
||||
@@ -7089,7 +7089,7 @@ cdef int mpz_set_str_python(mpz_ptr z, c
|
||||
x += 1 # Strip spaces
|
||||
|
||||
# Disallow a sign here
|
||||
|
@ -488,9 +411,9 @@ diff -up src/sage/rings/integer.pyx.orig src/sage/rings/integer.pyx
|
|||
|
||||
assert base >= 2
|
||||
diff -up src/sage/rings/polynomial/pbori/pbori.pyx.orig src/sage/rings/polynomial/pbori/pbori.pyx
|
||||
--- src/sage/rings/polynomial/pbori/pbori.pyx.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/rings/polynomial/pbori/pbori.pyx 2020-11-05 15:44:02.756454276 -0700
|
||||
@@ -4800,8 +4800,7 @@ cdef class PolynomialConstruct:
|
||||
--- src/sage/rings/polynomial/pbori/pbori.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/rings/polynomial/pbori/pbori.pyx 2021-05-28 11:39:54.278578895 -0600
|
||||
@@ -4704,8 +4704,7 @@ cdef class PolynomialConstruct:
|
||||
# So, it is just a conversion. [Simon King]
|
||||
return (<BooleanPolynomialRing>ring)._element_constructor_(x)
|
||||
|
||||
|
@ -501,9 +424,9 @@ diff -up src/sage/rings/polynomial/pbori/pbori.pyx.orig src/sage/rings/polynomia
|
|||
|
||||
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 2020-10-30 11:34:28.078977132 -0600
|
||||
+++ src/sage/rings/real_mpfi.pyx 2020-10-30 14:03:09.088891288 -0600
|
||||
@@ -1955,12 +1955,12 @@ cdef class RealIntervalFieldElement(Ring
|
||||
--- src/sage/rings/real_mpfi.pyx.orig 2021-05-28 11:01:45.006275360 -0600
|
||||
+++ src/sage/rings/real_mpfi.pyx 2021-05-28 11:39:54.280578896 -0600
|
||||
@@ -1944,12 +1944,12 @@ cdef class RealIntervalFieldElement(Ring
|
||||
|
||||
cdef long digits
|
||||
digits = strlen(lower_s)
|
||||
|
@ -518,7 +441,7 @@ diff -up src/sage/rings/real_mpfi.pyx.orig src/sage/rings/real_mpfi.pyx
|
|||
digits -= 1
|
||||
upper_expo -= digits
|
||||
|
||||
@@ -2129,7 +2129,7 @@ cdef class RealIntervalFieldElement(Ring
|
||||
@@ -2118,7 +2118,7 @@ cdef class RealIntervalFieldElement(Ring
|
||||
raise MemoryError("Unable to allocate memory for the mantissa of an interval")
|
||||
mpz_get_str(tmp_cstr, base, lower_mpz)
|
||||
digits = strlen(tmp_cstr)
|
||||
|
@ -528,9 +451,9 @@ 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 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/rings/real_mpfr.pyx 2020-11-05 15:44:02.769454276 -0700
|
||||
@@ -2091,7 +2091,7 @@ cdef class RealNumber(sage.structure.ele
|
||||
--- src/sage/rings/real_mpfr.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/rings/real_mpfr.pyx 2021-05-28 11:39:54.283578896 -0600
|
||||
@@ -2095,7 +2095,7 @@ cdef class RealNumber(sage.structure.ele
|
||||
if s is NULL:
|
||||
raise RuntimeError("unable to convert an mpfr number to a string")
|
||||
# t contains just digits (no sign, decimal point or exponent)
|
||||
|
@ -540,8 +463,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 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/structure/sage_object.pyx 2020-10-30 14:03:09.091891283 -0600
|
||||
--- src/sage/structure/sage_object.pyx.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/structure/sage_object.pyx 2021-05-28 11:39:54.284578896 -0600
|
||||
@@ -688,7 +688,7 @@ cdef class SageObject:
|
||||
try:
|
||||
s = self._interface_init_(I)
|
||||
|
@ -552,9 +475,9 @@ 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 2020-10-30 12:10:19.747169301 -0600
|
||||
+++ src/sage/symbolic/expression.pyx 2020-10-30 14:03:09.095891276 -0600
|
||||
@@ -13071,7 +13071,7 @@ cdef class hold_class:
|
||||
--- src/sage/symbolic/expression.pyx.orig 2021-05-28 11:01:45.016275362 -0600
|
||||
+++ src/sage/symbolic/expression.pyx 2021-05-28 11:39:54.289578896 -0600
|
||||
@@ -13201,7 +13201,7 @@ cdef class hold_class:
|
||||
sage: SR(2)^5
|
||||
32
|
||||
"""
|
||||
|
@ -563,7 +486,7 @@ diff -up src/sage/symbolic/expression.pyx.orig src/sage/symbolic/expression.pyx
|
|||
|
||||
def __exit__(self, *args):
|
||||
"""
|
||||
@@ -13084,7 +13084,7 @@ cdef class hold_class:
|
||||
@@ -13214,7 +13214,7 @@ cdef class hold_class:
|
||||
sage: SR(2)^5
|
||||
32
|
||||
"""
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py
|
||||
--- src/sage/interfaces/qepcad.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/interfaces/qepcad.py 2020-10-30 14:49:41.431265953 -0600
|
||||
--- src/sage/interfaces/qepcad.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/interfaces/qepcad.py 2021-05-28 11:52:46.749626841 -0600
|
||||
@@ -530,7 +530,7 @@ TESTS:
|
||||
|
||||
Check the qepcad configuration file::
|
||||
|
@ -10,15 +10,15 @@ diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py
|
|||
....: f.readlines()[-1]
|
||||
'SINGULAR .../bin\n'
|
||||
|
||||
@@ -606,7 +606,6 @@ AUTHORS:
|
||||
@@ -605,7 +605,6 @@ AUTHORS:
|
||||
# http://www.gnu.org/licenses/
|
||||
#*****************************************************************************
|
||||
from __future__ import print_function, absolute_import
|
||||
|
||||
-from sage.env import SAGE_LOCAL
|
||||
import pexpect
|
||||
import re
|
||||
import sys
|
||||
@@ -621,6 +620,8 @@ from .expect import Expect, ExpectFuncti
|
||||
@@ -620,6 +619,8 @@ from .expect import Expect, ExpectFuncti
|
||||
from sage.interfaces.interface import AsciiArtString
|
||||
|
||||
|
||||
|
@ -27,7 +27,7 @@ diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py
|
|||
def _qepcad_atoms(formula):
|
||||
r"""
|
||||
Return the atoms of a qepcad quantifier-free formula, as a set of strings.
|
||||
@@ -650,17 +651,17 @@ def _qepcad_cmd(memcells=None):
|
||||
@@ -649,17 +650,17 @@ def _qepcad_cmd(memcells=None):
|
||||
|
||||
sage: from sage.interfaces.qepcad import _qepcad_cmd
|
||||
sage: s = _qepcad_cmd()
|
||||
|
@ -48,7 +48,7 @@ diff -up src/sage/interfaces/qepcad.py.orig src/sage/interfaces/qepcad.py
|
|||
|
||||
_command_info_cache = None
|
||||
|
||||
@@ -685,7 +686,7 @@ def _update_command_info():
|
||||
@@ -684,7 +685,7 @@ def _update_command_info():
|
||||
|
||||
cache = {}
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
diff -up src/sage/misc/cython.py.orig src/sage/misc/cython.py
|
||||
--- src/sage/misc/cython.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/misc/cython.py 2020-10-30 16:08:06.039158996 -0600
|
||||
@@ -46,7 +46,7 @@ standard_libs = [
|
||||
] + cblas_libs + [
|
||||
'ntl']
|
||||
--- src/sage/misc/cython.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/misc/cython.py 2021-05-28 11:28:14.608518654 -0600
|
||||
@@ -53,7 +53,7 @@ def _standard_libs_libdirs_incdirs_alias
|
||||
'ec', 'gsl',
|
||||
] + aliases["CBLAS_LIBRARIES"] + [
|
||||
'ntl']
|
||||
- standard_libdirs = [os.path.join(SAGE_LOCAL, "lib")] + aliases["CBLAS_LIBDIR"] + aliases["NTL_LIBDIR"]
|
||||
+ standard_libdirs = [os.path.realpath(os.path.join(SAGE_LOCAL, "lib"))] + aliases["CBLAS_LIBDIR"] + aliases["NTL_LIBDIR"]
|
||||
standard_incdirs = sage_include_directories() + aliases["CBLAS_INCDIR"] + aliases["NTL_INCDIR"]
|
||||
return standard_libs, standard_libdirs, standard_incdirs, aliases
|
||||
|
||||
-standard_libdirs = [os.path.join(SAGE_LOCAL, "lib")] + cblas_library_dirs
|
||||
+standard_libdirs = [os.path.realpath(os.path.join(SAGE_LOCAL, "lib"))] + cblas_library_dirs
|
||||
|
||||
|
||||
################################################################
|
||||
|
|
|
@ -1,78 +1,7 @@
|
|||
diff -up src/sage/doctest/control.py.orig src/sage/doctest/control.py
|
||||
--- src/sage/doctest/control.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/doctest/control.py 2020-10-30 13:55:37.330649309 -0600
|
||||
@@ -115,7 +115,6 @@ class DocTestDefaults(SageObject):
|
||||
self.valgrind = False
|
||||
self.massif = False
|
||||
self.cachegrind = False
|
||||
- self.omega = False
|
||||
self.failed = False
|
||||
self.new = False
|
||||
self.show_skipped = False
|
||||
@@ -318,7 +317,7 @@ class DocTestController(SageObject):
|
||||
if options.gdb or options.debug:
|
||||
# Interactive debuggers: "infinite" timeout
|
||||
options.timeout = 0
|
||||
- elif options.valgrind or options.massif or options.cachegrind or options.omega:
|
||||
+ elif options.valgrind or options.massif or options.cachegrind:
|
||||
# Non-interactive debuggers: 48 hours
|
||||
options.timeout = int(os.getenv('SAGE_TIMEOUT_VALGRIND', 48 * 60 * 60))
|
||||
elif options.long:
|
||||
@@ -1109,13 +1108,8 @@ class DocTestController(SageObject):
|
||||
elif opt.cachegrind:
|
||||
toolname = "cachegrind"
|
||||
flags = os.getenv("SAGE_CACHEGRIND_FLAGS", "")
|
||||
- elif opt.omega:
|
||||
- toolname = "exp-omega"
|
||||
- flags = os.getenv("SAGE_OMEGA_FLAGS", "")
|
||||
cmd = "exec valgrind --tool=%s "%(toolname)
|
||||
flags += ''' --log-file="%s" ''' % logfile
|
||||
- if opt.omega:
|
||||
- toolname = "omega"
|
||||
if "%s" in flags:
|
||||
flags %= toolname + ".%p" # replace %s with toolname
|
||||
cmd += flags + sage_cmd
|
||||
@@ -1201,10 +1195,10 @@ class DocTestController(SageObject):
|
||||
|
||||
"""
|
||||
opt = self.options
|
||||
- L = (opt.gdb, opt.valgrind, opt.massif, opt.cachegrind, opt.omega)
|
||||
+ L = (opt.gdb, opt.valgrind, opt.massif, opt.cachegrind)
|
||||
if any(L):
|
||||
if L.count(True) > 1:
|
||||
- self.log("You may only specify one of gdb, valgrind/memcheck, massif, cachegrind, omega")
|
||||
+ self.log("You may only specify one of gdb, valgrind/memcheck, massif, cachegrind")
|
||||
return 2
|
||||
return self.run_val_gdb()
|
||||
else:
|
||||
diff -up src/sage/interfaces/singular.py.orig src/sage/interfaces/singular.py
|
||||
--- src/sage/interfaces/singular.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/interfaces/singular.py 2020-10-30 13:55:37.332649306 -0600
|
||||
@@ -2349,7 +2349,7 @@ def generate_docstring_dictionary():
|
||||
nodes.clear()
|
||||
node_names.clear()
|
||||
|
||||
- singular_docdir = SINGULARPATH + "/../info/"
|
||||
+ singular_docdir = "/usr/share/info/"
|
||||
|
||||
new_node = re.compile(r"File: singular\.hlp, Node: ([^,]*),.*")
|
||||
new_lookup = re.compile(r"\* ([^:]*):*([^.]*)\..*")
|
||||
@@ -2357,8 +2357,9 @@ def generate_docstring_dictionary():
|
||||
L, in_node, curr_node = [], False, None
|
||||
|
||||
# singular.hlp contains a few iso-5559-1 encoded special characters
|
||||
- with io.open(os.path.join(singular_docdir, 'singular.hlp'),
|
||||
- encoding='latin-1') as f:
|
||||
+ import gzip
|
||||
+ with gzip.open(os.path.join(singular_docdir, 'singular.hlp.gz'),
|
||||
+ encoding='utf-8') as f:
|
||||
for line in f:
|
||||
m = re.match(new_node,line)
|
||||
if m:
|
||||
diff -up src/sage_setup/docbuild/ext/multidocs.py.orig src/sage_setup/docbuild/ext/multidocs.py
|
||||
--- src/sage_setup/docbuild/ext/multidocs.py.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage_setup/docbuild/ext/multidocs.py 2020-10-30 13:55:37.332649306 -0600
|
||||
@@ -82,8 +82,11 @@ def merge_environment(app, env):
|
||||
diff -up src/sage_docbuild/ext/multidocs.py.orig src/sage_docbuild/ext/multidocs.py
|
||||
--- src/sage_docbuild/ext/multidocs.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage_docbuild/ext/multidocs.py 2021-05-28 11:32:20.056542939 -0600
|
||||
@@ -84,8 +84,11 @@ def merge_environment(app, env):
|
||||
for ind in newalldoc:
|
||||
# treat subdocument source as orphaned file and don't complain
|
||||
md = env.metadata.get(ind, dict())
|
||||
|
@ -86,3 +15,27 @@ diff -up src/sage_setup/docbuild/ext/multidocs.py.orig src/sage_setup/docbuild/e
|
|||
# merge the citations
|
||||
newcite = {}
|
||||
for ind, (path, tag, lineno) in citations.items():
|
||||
diff -up src/sage/interfaces/singular.py.orig src/sage/interfaces/singular.py
|
||||
--- src/sage/interfaces/singular.py.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/interfaces/singular.py 2021-05-28 11:29:00.597523201 -0600
|
||||
@@ -2365,7 +2365,7 @@ def generate_docstring_dictionary():
|
||||
nodes.clear()
|
||||
node_names.clear()
|
||||
|
||||
- singular_docdir = SINGULARPATH + "/../info/"
|
||||
+ singular_docdir = "/usr/share/info/"
|
||||
|
||||
new_node = re.compile(r"File: singular\.hlp, Node: ([^,]*),.*")
|
||||
new_lookup = re.compile(r"\* ([^:]*):*([^.]*)\..*")
|
||||
@@ -2373,8 +2373,9 @@ def generate_docstring_dictionary():
|
||||
L, in_node, curr_node = [], False, None
|
||||
|
||||
# singular.hlp contains a few iso-5559-1 encoded special characters
|
||||
- with io.open(os.path.join(singular_docdir, 'singular.hlp'),
|
||||
- encoding='latin-1') as f:
|
||||
+ import gzip
|
||||
+ with gzip.open(os.path.join(singular_docdir, 'singular.hlp.gz'),
|
||||
+ encoding='utf-8') as f:
|
||||
for line in f:
|
||||
m = re.match(new_node,line)
|
||||
if m:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
diff -up src/bin/sage.orig src/bin/sage
|
||||
--- src/bin/sage.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/bin/sage 2020-10-30 13:43:06.816896461 -0600
|
||||
@@ -29,7 +29,6 @@ usage() {
|
||||
--- src/bin/sage.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/bin/sage 2021-05-28 11:16:43.936440802 -0600
|
||||
@@ -109,7 +109,6 @@ usage() {
|
||||
echo " --gap [...] -- run Sage's Gap with given arguments"
|
||||
echo " --gp [...] -- run Sage's PARI/GP calculator with given arguments"
|
||||
echo " -h -- print this help message"
|
||||
|
@ -9,8 +9,8 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
echo " --maxima [...] -- run Sage's Maxima with given arguments"
|
||||
echo " --mwrank [...] -- run Sage's mwrank with given arguments"
|
||||
echo " --notebook=[...] -- start the Sage notebook (valid options are"
|
||||
@@ -59,119 +58,6 @@ usage() {
|
||||
# below, after sourcing sage-env.
|
||||
@@ -159,111 +158,6 @@ if [ -f "${SELF}-env-config" ]; then
|
||||
fi
|
||||
|
||||
#####################################################################
|
||||
-# Special options to be processed without sage-env
|
||||
|
@ -22,7 +22,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
-if [ "$1" = '--nodotsage' ]; then
|
||||
- export DOT_SAGE=`mktemp -d ${TMPDIR:-/tmp}/dotsageXXXXXX`
|
||||
- shift
|
||||
- command "$0" "$@"
|
||||
- command "${SELF}" "$@"
|
||||
- status=$?
|
||||
- rm -rf "$DOT_SAGE"
|
||||
- exit $status
|
||||
|
@ -51,14 +51,6 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
- exit 127
|
||||
-fi
|
||||
-
|
||||
-# Check for '--upgrade' before sourcing sage-env: the top-level "make"
|
||||
-# should be run outside of the Sage shell, see #15517.
|
||||
-if [ "$1" = '-upgrade' -o "$1" = "--upgrade" ]; then
|
||||
- shift
|
||||
- cd "$SAGE_ROOT"
|
||||
- exec local/bin/sage-upgrade "$@"
|
||||
-fi
|
||||
-
|
||||
-# Check for '-i' before sourcing sage-env: running "make"
|
||||
-# should be run outside of the Sage shell.
|
||||
-if [ "$1" = '-f' ]; then
|
||||
|
@ -129,7 +121,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
# Report information about the Sage environment
|
||||
#####################################################################
|
||||
|
||||
@@ -217,20 +103,6 @@ fi
|
||||
@@ -308,20 +202,6 @@ fi
|
||||
|
||||
# Prepare for running Sage, either interactively or non-interactively.
|
||||
sage_setup() {
|
||||
|
@ -150,7 +142,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
if [ ! -d "$IPYTHONDIR" ]; then
|
||||
# make sure that $DOT_SAGE exists so that ipython will happily
|
||||
# create its config directories there. If DOT_SAGE doesn't
|
||||
@@ -241,20 +113,6 @@ sage_setup() {
|
||||
@@ -332,20 +212,6 @@ sage_setup() {
|
||||
}
|
||||
|
||||
|
||||
|
@ -160,7 +152,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
-# if Python and sage-location haven't been installed yet.
|
||||
-maybe_sage_location()
|
||||
-{
|
||||
- if [ -w "$SAGE_LOCAL" ]; then
|
||||
- if [ -n "$SAGE_LOCAL" -a -w "$SAGE_LOCAL" ]; then
|
||||
- if [ -x "$SAGE_LOCAL/bin/python" ] && [ -x "$SAGE_LOCAL/bin/sage-location" ]; then
|
||||
- sage-location || exit $?
|
||||
- fi
|
||||
|
@ -171,7 +163,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
# Start an interactive Sage session, this function never returns.
|
||||
interactive_sage() {
|
||||
sage_setup
|
||||
@@ -292,8 +150,6 @@ usage_advanced() {
|
||||
@@ -383,8 +249,6 @@ usage_advanced() {
|
||||
echo " --nodotsage -- run Sage without using the user's"
|
||||
echo " .sage directory: create and use a temporary"
|
||||
echo " .sage directory instead."
|
||||
|
@ -180,7 +172,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
echo " --simple-prompt -- pass the option through to IPython: use"
|
||||
echo " this option with sage-shell mode in emacs"
|
||||
if [ -n "$SAGE_SRC" -a -d "$SAGE_SRC" ]; then
|
||||
@@ -327,18 +183,9 @@ usage_advanced() {
|
||||
@@ -418,18 +282,9 @@ usage_advanced() {
|
||||
echo " environment (not Sage), passing additional"
|
||||
echo " additional options to IPython"
|
||||
echo " --jupyter [...] -- run Sage's Jupyter with given arguments"
|
||||
|
@ -199,7 +191,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
echo " --python [...], --python3 [...]"
|
||||
echo " -- run the Python 3 interpreter"
|
||||
echo " -R [...] -- run Sage's R with the given arguments"
|
||||
@@ -601,11 +448,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ]
|
||||
@@ -678,11 +533,6 @@ if [ "$1" = '-lisp' -o "$1" = '--lisp' ]
|
||||
exec ecl "$@"
|
||||
fi
|
||||
|
||||
|
@ -211,7 +203,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
if [ "$1" = '-maxima' -o "$1" = '--maxima' ]; then
|
||||
shift
|
||||
maxima_cmd=$(sage-config MAXIMA 2>/dev/null)
|
||||
@@ -630,11 +472,6 @@ if [ "$1" = '-R' -o "$1" = '--R' ]; then
|
||||
@@ -707,11 +557,6 @@ if [ "$1" = '-R' -o "$1" = '--R' ]; then
|
||||
exec R "$@"
|
||||
fi
|
||||
|
||||
|
@ -223,19 +215,19 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
#####################################################################
|
||||
# sage --sh and sage --buildsh
|
||||
#####################################################################
|
||||
@@ -804,11 +641,6 @@ fi
|
||||
@@ -883,11 +728,6 @@ fi
|
||||
# build_sage, sage -b, sage -br, etc. could be moved to
|
||||
# build/bin/sage-site. See #29111.
|
||||
|
||||
-build_sage() {
|
||||
- maybe_sage_location
|
||||
- ( cd "$SAGE_ROOT/build/make" && $MAKE sagelib-no-deps ) || exit $?
|
||||
- ( cd "$SAGE_ROOT/build/make" && ./install sagelib-no-deps ) || exit $?
|
||||
-}
|
||||
-
|
||||
if [[ "$1" =~ ^--notebook=.* || "$1" =~ ^-n=.* || "$1" =~ ^-notebook=.* ]] ; then
|
||||
sage-cleaner &>/dev/null &
|
||||
exec sage-notebook "$@"
|
||||
@@ -819,13 +651,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not
|
||||
@@ -898,13 +738,6 @@ if [ "$1" = "-notebook" -o "$1" = '--not
|
||||
exec sage-notebook "$@"
|
||||
fi
|
||||
|
||||
|
@ -249,12 +241,12 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
if [ -n "$SAGE_SRC" -a -d "$SAGE_SRC" ]; then
|
||||
# Source inspection facilities, supported on sage-the-distribution and on distributions
|
||||
# that package the Sage sources.
|
||||
@@ -842,40 +667,12 @@ if [ -n "$SAGE_SRC" -a -d "$SAGE_SRC" ];
|
||||
@@ -921,36 +754,11 @@ if [ -n "$SAGE_SRC" -a -d "$SAGE_SRC" ];
|
||||
fi
|
||||
fi
|
||||
|
||||
-if [ "$1" = '-b' ]; then
|
||||
- time build_sage
|
||||
- build_sage
|
||||
- exit $?
|
||||
-fi
|
||||
-
|
||||
|
@ -283,15 +275,22 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
- exit $?
|
||||
-fi
|
||||
-
|
||||
exec-runtests() {
|
||||
sage_setup
|
||||
export PYTHONIOENCODING="utf-8" # Fix encoding for doctests
|
||||
@@ -967,10 +775,7 @@ exec-runtests() {
|
||||
exec sage-runtests "$@"
|
||||
}
|
||||
|
||||
-if [ "$1" = '-t' -o "$1" = '-bt' -o "$1" = '-tp' -o "$1" = '-btp' ]; then
|
||||
- if [ "$1" = '-bt' -o "$1" = '-btp' ]; then
|
||||
- build_sage
|
||||
- fi
|
||||
+if [ "$1" = '-t' -o "$1" = '-tp' ]; then
|
||||
sage_setup
|
||||
export PYTHONIOENCODING="utf-8" # Fix encoding for doctests
|
||||
if [ "$1" = '-tp' -o "$1" = '-btp' ]; then
|
||||
@@ -887,16 +684,6 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1"
|
||||
shift
|
||||
exec-runtests -p "$@"
|
||||
@@ -980,34 +785,11 @@ if [ "$1" = '-t' -o "$1" = '-bt' -o "$1"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -300,16 +299,12 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
- build_sage
|
||||
- fi
|
||||
- shift
|
||||
- sage_setup
|
||||
- export PYTHONIOENCODING="utf-8" # Fix encoding for doctests
|
||||
- exec sage-runtests --new "$@"
|
||||
- exec-runtests --new "$@"
|
||||
-fi
|
||||
-
|
||||
if [ "$1" = '-testall' -o "$1" = "--testall" ]; then
|
||||
shift
|
||||
sage_setup
|
||||
@@ -904,21 +691,6 @@ if [ "$1" = '-testall' -o "$1" = "--test
|
||||
exec sage-runtests -a "$@"
|
||||
exec-runtests -a "$@"
|
||||
fi
|
||||
|
||||
-if [ "$1" = '-fixdoctests' -o "$1" = '--fixdoctests' ]; then
|
||||
|
@ -324,13 +319,13 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
-
|
||||
-if [ "$1" = "-coverageall" -o "$1" = "--coverageall" ]; then
|
||||
- shift
|
||||
- exec sage-coverageall "$@"
|
||||
- exec sage-coverage --all "$@"
|
||||
-fi
|
||||
-
|
||||
if [ "$1" = '-startuptime' -o "$1" = '--startuptime' ]; then
|
||||
exec sage-startuptime.py "$@"
|
||||
fi
|
||||
@@ -941,53 +713,6 @@ fi
|
||||
@@ -1030,59 +812,11 @@ fi
|
||||
# Creating and handling Sage distributions
|
||||
#####################################################################
|
||||
|
||||
|
@ -364,27 +359,11 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
- exit 1
|
||||
- fi
|
||||
- done
|
||||
- # Display a message if we actually installed something (using this
|
||||
- # file, generated by sage-spkg, is a bit of a hack though)
|
||||
- if [ -f "$SAGE_LOCAL/lib/sage-force-relocate.txt" ]; then
|
||||
- echo
|
||||
- echo "Warning: it might be needed to update the Sage library before"
|
||||
- echo "installed packages work: you should run 'make' from \$SAGE_ROOT"
|
||||
- echo "before running Sage."
|
||||
- fi
|
||||
- exit 0
|
||||
-}
|
||||
-
|
||||
-
|
||||
-if [ "$1" = '-package' -o "$1" = "--package" ]; then
|
||||
- shift
|
||||
- exec sage-package $@
|
||||
-fi
|
||||
-
|
||||
if [ "$1" = '-optional' -o "$1" = "--optional" ]; then
|
||||
if [ "$1" = '-installed' -o "$1" = "--installed" ]; then
|
||||
shift
|
||||
exec sage-list-packages optional $@
|
||||
@@ -1008,30 +733,6 @@ if [ "$1" = '-installed' -o "$1" = "--in
|
||||
exec sage-list-packages all --installed-only $@
|
||||
fi
|
||||
|
||||
|
@ -397,15 +376,6 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
- install "$@"
|
||||
-fi
|
||||
-
|
||||
-if [ "$1" = '-info' -o "$1" = '--info' ]; then
|
||||
- shift
|
||||
- for PKG in "$@"
|
||||
- do
|
||||
- sage-spkg --info "$PKG" || exit $?
|
||||
- done
|
||||
- exit 0
|
||||
-fi
|
||||
-
|
||||
-if [ "$1" = '-sdist' -o "$1" = "--sdist" ]; then
|
||||
- maybe_sage_location
|
||||
- shift
|
||||
|
@ -415,7 +385,7 @@ diff -up src/bin/sage.orig src/bin/sage
|
|||
#####################################################################
|
||||
# Debugging tools
|
||||
#####################################################################
|
||||
@@ -1075,12 +776,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca
|
||||
@@ -1126,12 +860,6 @@ if [ "$1" = '-callgrind' -o "$1" = "--ca
|
||||
exec sage-callgrind "$@"
|
||||
fi
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
diff -up src/sage/graphs/graph_decompositions/tdlib/sage_tdlib.cpp.orig src/sage/graphs/graph_decompositions/tdlib/sage_tdlib.cpp
|
||||
--- src/sage/graphs/graph_decompositions/tdlib/sage_tdlib.cpp.orig 2020-10-24 11:37:59.000000000 -0600
|
||||
+++ src/sage/graphs/graph_decompositions/tdlib/sage_tdlib.cpp 2020-10-30 16:40:43.904036700 -0600
|
||||
diff -up src/sage/graphs/graph_decompositions/sage_tdlib.cpp.orig src/sage/graphs/graph_decompositions/sage_tdlib.cpp
|
||||
--- src/sage/graphs/graph_decompositions/sage_tdlib.cpp.orig 2021-05-09 16:00:11.000000000 -0600
|
||||
+++ src/sage/graphs/graph_decompositions/sage_tdlib.cpp 2021-06-16 08:33:47.325415307 -0600
|
||||
@@ -2,8 +2,8 @@
|
||||
#include <map>
|
||||
|
||||
|
|
298
sagemath.spec
298
sagemath.spec
|
@ -6,19 +6,11 @@
|
|||
%bcond_with bundled_pexpect
|
||||
%bcond_with bundled_ipython
|
||||
%bcond_without bundled_ipywidgets
|
||||
%bcond_without bundled_jupyter_jsmol
|
||||
%bcond_without bundled_thebe
|
||||
%bcond_without bundled_threejs
|
||||
%bcond_without install_hack
|
||||
|
||||
%if 0%{?fedora} >= 33
|
||||
%bcond_without flexiblas
|
||||
%endif
|
||||
%if %{with flexiblas}
|
||||
%global blaslib flexiblas
|
||||
%else
|
||||
%global blaslib openblas
|
||||
%endif
|
||||
|
||||
# for faster full rpm test builds
|
||||
%ifarch %{ix86} x86_64
|
||||
%bcond_without docs
|
||||
|
@ -48,7 +40,7 @@
|
|||
%global cremona_ver 2019-10-29
|
||||
%global elliptic_curves_pkg elliptic_curves-0.8.1
|
||||
%global flintqs_pkg flintqs-1.0
|
||||
%global graphs_pkg graphs-20161026
|
||||
%global graphs_pkg graphs-20210214
|
||||
%if %{with bundled_ipython}
|
||||
%global ipython_ver 7.13.0
|
||||
%global ipython_pkg ipython-%{ipython_ver}
|
||||
|
@ -56,27 +48,31 @@
|
|||
%global prompt_tookit_pkg prompt_toolkit-%{prompt_toolkit_ver}
|
||||
%endif
|
||||
%if %{with bundled_ipywidgets}
|
||||
%global ipywidgets_ver 7.5.1
|
||||
%global ipywidgets_ver 7.6.3
|
||||
%global ipywidgets_pkg ipywidgets-%{ipywidgets_ver}
|
||||
%endif
|
||||
%if %{with bundled_jupyter_jsmol}
|
||||
%global jupyter_jsmol_ver 0.2.4
|
||||
%global jupyter_jsmol_pkg jupyter_jsmol-%{jupyter_jsmol_ver}
|
||||
%endif
|
||||
%if %{with bundled_pexpect}
|
||||
%global pexpect_pkg pexpect-4.8.0
|
||||
%endif
|
||||
%global polytopes_db_pkg polytopes_db-20170220
|
||||
%global sagetex_pkg sagetex-3.5
|
||||
%global Sphinx_pkg Sphinx-3.1.2
|
||||
%global singular_pkg singular-4.1.1p2
|
||||
%global singular_pkg singular-4.2.0p2
|
||||
%if %{with bundled_thebe}
|
||||
%global thebe_ver 9624e0a0
|
||||
%global thebe_pkg thebe-%{thebe_ver}
|
||||
%endif
|
||||
%if %{with bundled_threejs}
|
||||
%global threejs_ver r117
|
||||
%global threejs_pkg threejs-%{threejs_ver}
|
||||
%global threejs_ver r122
|
||||
%global threejs_pkg threejs-sage-%{threejs_ver}
|
||||
%endif
|
||||
|
||||
# Spkg equivalents of required rpms; we pretend they are installed as spkgs.
|
||||
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.73 CoCoALib-0.99710 coxeter3-3.1 cryptominisat-5.7.1 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.11.0 libsirocco-2.0.2 lrslib-071 mcqd-1.0 meataxe-1.0 primecount-6.1 qepcad-B.1.72 saclib-2.2.7 surf-1.0.6-gcc6 tdlib-0.9.0
|
||||
%global SAGE_REQUIRED_PKGS 4ti2-1.6.9 bliss-0.73 CoCoALib-0.99712 coxeter3-3.1 cryptominisat-5.8.0 database_cremona_ellcurve-%{cremona_ver} gap_packages-4.11.0 libsirocco-2.0.2 lrslib-071a mcqd-1.0 meataxe-1.0 primecount-7.0 qepcad-B.1.74 saclib-2.2.8 surf-1.0.6-gcc6 tdlib-0.9.0
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%global SAGE_REQUIRED_PKGS %{SAGE_REQUIRED_PKGS} fes-0.2
|
||||
|
@ -93,8 +89,8 @@
|
|||
|
||||
Name: sagemath
|
||||
Summary: A free open-source mathematics software system
|
||||
Version: 9.2
|
||||
Release: 5%{?dist}
|
||||
Version: 9.3
|
||||
Release: 1%{?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
|
||||
|
@ -103,6 +99,7 @@ URL: http://www.sagemath.org
|
|||
Source0: http://files.sagemath.org/src/sage-%{version}.tar.gz
|
||||
Source1: https://github.com/JohnCremona/ecdata/archive/%{cremona_ver}/cremona-%{cremona_ver}.tar.gz
|
||||
Source2: gprc.expect
|
||||
Source3: org.sagemath.sage.metainfo.xml
|
||||
# Follow maxima's ExclusiveArch, except exclude 32-bit ARM. The source RPM is
|
||||
# now about 2GB in size. The 32-bit ARM builders run out of memory trying to
|
||||
# create the SRPM and also trying to unpack the SRPM before starting a build.
|
||||
|
@ -171,46 +168,49 @@ Patch16: %{name}-env.patch
|
|||
# https://bugzilla.redhat.com/show_bug.cgi?id=1243590
|
||||
Patch17: %{name}-qepcad.patch
|
||||
|
||||
# Correct path to arb headers
|
||||
Patch18: %{name}-arb.patch
|
||||
# Make the cvxopt backend check for 'optimal' as well as 'optimized'
|
||||
Patch18: %{name}-cvxopt.patch
|
||||
|
||||
# Use flexiblas
|
||||
Patch19: %{name}-flexiblas.patch
|
||||
|
||||
# Use openblas
|
||||
Patch20: %{name}-openblas.patch
|
||||
|
||||
# Fix paths to latte-integrale binaries
|
||||
Patch21: %{name}-latte.patch
|
||||
Patch20: %{name}-latte.patch
|
||||
|
||||
# Change rubiks binary names to match Fedora
|
||||
Patch22: %{name}-rubiks.patch
|
||||
Patch21: %{name}-rubiks.patch
|
||||
|
||||
# Adapt to recent tdlib 0.9
|
||||
Patch23: %{name}-tdlib.patch
|
||||
Patch22: %{name}-tdlib.patch
|
||||
|
||||
# Use local objects.inv for intersphinx since no network on koji builders
|
||||
Patch24: %{name}-intersphinx.patch
|
||||
Patch23: %{name}-intersphinx.patch
|
||||
|
||||
# Remove an unused call to a primecount function that no longer exists
|
||||
Patch25: %{name}-primecount.patch
|
||||
Patch24: %{name}-primecount.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: 4ti2
|
||||
BuildRequires: appstream
|
||||
BuildRequires: arb-devel
|
||||
BuildRequires: bc
|
||||
BuildRequires: bliss-devel
|
||||
BuildRequires: boost-devel
|
||||
BuildRequires: brial-devel
|
||||
BuildRequires: cmake
|
||||
BuildRequires: cddlib-devel
|
||||
BuildRequires: cddlib-tools
|
||||
BuildRequires: cliquer-devel
|
||||
BuildRequires: cocoalib-devel
|
||||
BuildRequires: coxeter-devel
|
||||
BuildRequires: cryptominisat-devel
|
||||
BuildRequires: csdp-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: dvipng
|
||||
BuildRequires: ecl
|
||||
%if %{with fes}
|
||||
BuildRequires: fes-devel
|
||||
%endif
|
||||
BuildRequires: flexiblas-devel
|
||||
BuildRequires: flint-devel
|
||||
BuildRequires: gap-devel
|
||||
BuildRequires: gap-pkg-aclib
|
||||
|
@ -264,7 +264,9 @@ BuildRequires: gdb
|
|||
BuildRequires: gfan
|
||||
BuildRequires: giac-devel
|
||||
BuildRequires: giac-doc
|
||||
BuildRequires: git-core
|
||||
BuildRequires: glpk-devel
|
||||
BuildRequires: glpk-utils
|
||||
BuildRequires: gmp-ecm
|
||||
BuildRequires: gmp-ecm-devel
|
||||
BuildRequires: ImageMagick
|
||||
|
@ -274,42 +276,58 @@ BuildRequires: jmol
|
|||
BuildRequires: jsmol
|
||||
BuildRequires: jsmath-fonts
|
||||
BuildRequires: L-function-devel
|
||||
BuildRequires: latexmk
|
||||
BuildRequires: latte-integrale
|
||||
BuildRequires: libbraiding-devel
|
||||
BuildRequires: libfrobby-devel
|
||||
BuildRequires: libgap
|
||||
BuildRequires: libhomfly-devel
|
||||
BuildRequires: libmpc-devel
|
||||
BuildRequires: lrcalc-devel
|
||||
BuildRequires: lrslib-utils
|
||||
BuildRequires: make
|
||||
BuildRequires: mathjax
|
||||
BuildRequires: maxima-runtime-ecl
|
||||
BuildRequires: mcqd-devel
|
||||
BuildRequires: mpfi-devel
|
||||
BuildRequires: nauty
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: ntl-devel
|
||||
BuildRequires: %{blaslib}-devel
|
||||
BuildRequires: openssl
|
||||
BuildRequires: palp
|
||||
BuildRequires: pandoc
|
||||
BuildRequires: pari-devel
|
||||
BuildRequires: pari-elldata
|
||||
BuildRequires: pari-galdata
|
||||
BuildRequires: pari-galpol
|
||||
BuildRequires: pari-gp
|
||||
BuildRequires: pari-seadata
|
||||
BuildRequires: perl-generators
|
||||
BuildRequires: perl(ExtUtils::MakeMaker)
|
||||
BuildRequires: perl(File::Slurp)
|
||||
BuildRequires: pkgconfig(bdw-gc)
|
||||
BuildRequires: pkgconfig(cbc)
|
||||
BuildRequires: pkgconfig(eclib)
|
||||
BuildRequires: pkgconfig(factory)
|
||||
BuildRequires: pkgconfig(fplll)
|
||||
BuildRequires: pkgconfig(gdlib)
|
||||
BuildRequires: pkgconfig(gf2x)
|
||||
BuildRequires: pkgconfig(gsl)
|
||||
BuildRequires: pkgconfig(igraph)
|
||||
BuildRequires: pkgconfig(libcurl)
|
||||
BuildRequires: pkgconfig(libpng)
|
||||
BuildRequires: pkgconfig(libsemigroups)
|
||||
BuildRequires: pkgconfig(libzmq)
|
||||
BuildRequires: pkgconfig(linbox)
|
||||
BuildRequires: pkgconfig(m4ri)
|
||||
BuildRequires: pkgconfig(m4rie)
|
||||
BuildRequires: pkgconfig(nauty)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: pkgconfig(pynac)
|
||||
BuildRequires: pkgconfig(readline)
|
||||
BuildRequires: pkgconfig(Singular)
|
||||
BuildRequires: pkgconfig(sqlite3)
|
||||
BuildRequires: pkgconfig(tk)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
BuildRequires: planarity-devel
|
||||
BuildRequires: ppl-devel
|
||||
|
@ -324,6 +342,8 @@ BuildRequires: python3-ipython-sphinx
|
|||
BuildRequires: python3-pillow-devel
|
||||
BuildRequires: python3-pplpy-devel
|
||||
BuildRequires: python3-tdlib-devel
|
||||
BuildRequires: python3-tkinter
|
||||
BuildRequires: %{py3_dist argon2-cffi}
|
||||
%if %{with bundled_ipython}
|
||||
BuildRequires: %{py3_dist backcall}
|
||||
%endif
|
||||
|
@ -362,6 +382,7 @@ BuildRequires: %{py3_dist pkgconfig}
|
|||
BuildRequires: %{py3_dist psutil}
|
||||
BuildRequires: %{py3_dist ptyprocess}
|
||||
BuildRequires: %{py3_dist pycryptosat}
|
||||
BuildRequires: %{py3_dist pyopenssl}
|
||||
%if %{with bundled_ipython}
|
||||
BuildRequires: %{py3_dist pyzmq}
|
||||
%endif
|
||||
|
@ -369,12 +390,14 @@ BuildRequires: %{py3_dist rpy2}
|
|||
BuildRequires: %{py3_dist scipy}
|
||||
BuildRequires: %{py3_dist scons}
|
||||
BuildRequires: %{py3_dist setuptools}
|
||||
BuildRequires: %{py3_dist setuptools_scm}
|
||||
%if %{with bundled_ipython}
|
||||
BuildRequires: %{py3_dist simplegeneric}
|
||||
%endif
|
||||
BuildRequires: %{py3_dist six}
|
||||
BuildRequires: %{py3_dist sphinx}
|
||||
BuildRequires: %{py3_dist sympy}
|
||||
BuildRequires: %{py3_dist tox}
|
||||
BuildRequires: %{py3_dist wheel}
|
||||
BuildRequires: %{py3_dist widgetsnbextension}
|
||||
BuildRequires: %{py3_dist zodb3}
|
||||
|
@ -383,9 +406,11 @@ BuildRequires: R
|
|||
BuildRequires: ratpoints-devel
|
||||
BuildRequires: rubiks
|
||||
BuildRequires: rw-devel
|
||||
BuildRequires: saclib-devel
|
||||
BuildRequires: sharedmeataxe-devel
|
||||
BuildRequires: sirocco-devel
|
||||
BuildRequires: suitesparse-devel
|
||||
BuildRequires: surf-geometry
|
||||
BuildRequires: symmetrica-devel
|
||||
BuildRequires: sympow
|
||||
BuildRequires: tachyon
|
||||
|
@ -396,6 +421,7 @@ BuildRequires: tex(makecmds.sty)
|
|||
BuildRequires: web-assets-devel
|
||||
BuildRequires: xorg-x11-fonts-Type1
|
||||
BuildRequires: xorg-x11-server-Xvfb
|
||||
BuildRequires: yasm-devel
|
||||
BuildRequires: zn_poly-devel
|
||||
|
||||
Requires: hicolor-icon-theme
|
||||
|
@ -415,10 +441,6 @@ Provides: bundled(thebe) = %{thebe_ver}
|
|||
Provides: bundled(threejs) = %{threejs_ver}
|
||||
%endif
|
||||
|
||||
# This can be removed when Fedora 30 reaches EOL
|
||||
Obsoletes: %{name}-notebook-export < 8.8-5
|
||||
Provides: %{name}-notebook-export = %{version}-%{release}
|
||||
|
||||
%description
|
||||
Sage is a free open-source mathematics software system licensed
|
||||
under the GPL. It combines the power of many existing open-source
|
||||
|
@ -486,7 +508,9 @@ Requires: mathjax
|
|||
Requires: maxima-runtime-ecl
|
||||
Requires: nauty
|
||||
Requires: palp
|
||||
Requires: pari-elldata
|
||||
Requires: pari-galdata
|
||||
Requires: pari-galpol
|
||||
Requires: pari-gp
|
||||
Requires: pari-seadata
|
||||
Requires: python3-tdlib
|
||||
|
@ -551,6 +575,9 @@ Provides: bundled(prompt_toolkit) = %{prompt_toolkit_ver}
|
|||
%if %{with bundled_ipywidgets}
|
||||
Provides: bundled(ipywidgets) = %{ipywidgets_ver}
|
||||
%endif
|
||||
%if %{with bundled_jupyter_jsmol}
|
||||
Provides: bundled(jupyter-jsmol) = %{jupyter_jsmol_ver}
|
||||
%endif
|
||||
|
||||
%description core
|
||||
This package contains the core sagemath python modules.
|
||||
|
@ -737,12 +764,9 @@ This package contains the Turkish %{name} documentation.
|
|||
Summary: Jupyter integration for sagemath
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: python-jupyter-filesystem
|
||||
Requires: %{py3_dist argon2-cffi}
|
||||
Requires: %{py3_dist widgetsnbextension}
|
||||
|
||||
# This can be removed when Fedora 31 reaches EOL
|
||||
Obsoletes: sagemath-notebook < 9.0-1
|
||||
Provides: sagemath-notebook = %{version}-%{release}
|
||||
|
||||
%description jupyter
|
||||
This package contains a Jupyter integration for sagemath, replacing the
|
||||
defunct notebook functionality.
|
||||
|
@ -819,6 +843,13 @@ pushd build/pkgs/ipywidgets
|
|||
popd
|
||||
%endif
|
||||
|
||||
%if %{with bundled_jupyter_jsmol}
|
||||
pushd build/pkgs/jupyter_jsmol
|
||||
tar zxf ../../../upstream/%{jupyter_jsmol_pkg}.tar.gz
|
||||
mv %{jupyter_jsmol_pkg} src
|
||||
popd
|
||||
%endif
|
||||
|
||||
%if %{with bundled_pexpect}
|
||||
pushd build/pkgs/pexpect
|
||||
tar zxf ../../../upstream/%{pexpect_pkg}.tar.gz
|
||||
|
@ -891,20 +922,16 @@ popd
|
|||
%patch16
|
||||
%patch17
|
||||
%patch18
|
||||
%if "%{blaslib}" == "flexiblas"
|
||||
%patch19
|
||||
%else
|
||||
%patch20
|
||||
%endif
|
||||
%patch21
|
||||
%patch22
|
||||
%patch23
|
||||
%patch24
|
||||
%patch25
|
||||
|
||||
sed -e 's|@@SAGE_ROOT@@|%{SAGE_ROOT}|' \
|
||||
-e 's|@@SAGE_DOC@@|%{SAGE_DOC}|' \
|
||||
-e 's|@@SAGE_LOCAL@@|%{SAGE_LOCAL}|' \
|
||||
-e 's|@@LIBDIR@@|%{_libdir}|g' \
|
||||
-i src/sage/env.py
|
||||
|
||||
sed -e 's|@@CYSIGNALS@@|%{python3_sitearch}/cysignals|' \
|
||||
|
@ -916,23 +943,20 @@ sed -e 's|@@CYSIGNALS@@|%{python3_sitearch}/cysignals|' \
|
|||
find src/sage \( -name \*.pyx -o -name \*.pxd \) -exec touch {} \+
|
||||
|
||||
# fix Singular paths
|
||||
singver=$(sed 's/.*-\([.[:digit:]]*\).*/\1/' <<< %{singular_pkg})
|
||||
singver=$(sed 's/^.*-\([.[:digit:]]*\).*$/\1/' <<< %{singular_pkg})
|
||||
sed -e "s,SINGULARPATH=\",&%{_datadir}/singular/LIB:," \
|
||||
-e "s,\(SINGULAR_EXECUTABLE=\"\).*\",\1%{_libdir}/Singular/Singular\"," \
|
||||
-i src/bin/sage-env
|
||||
sed -e "s,\(SINGULAR_SO = \)SAGE.*,\1'%{_libdir}/libSingular-$singver.so'," \
|
||||
-i src/sage/env.py
|
||||
|
||||
# fix shebangs; some paths contains spaces, so use the null byte facility
|
||||
grep -FrlZ '#!%{_bindir}/env python3' | \
|
||||
xargs -0 sed -i 's,#!%{_bindir}/env python3,#!%{python3},g'
|
||||
grep -FrlZ '#!%{_bindir}/env python' | \
|
||||
xargs -0 sed -i 's,#!%{_bindir}/env python,#!%{python3},g'
|
||||
grep -FrlZ '#!%{_bindir}/env sage-system-python' | \
|
||||
xargs -0 sed -i 's,#!%{_bindir}/env sage-system-python,#!%{python3},g'
|
||||
grep -FrlZ '#!%{_bindir}/env sage-bootstrap-python' | \
|
||||
xargs -0 sed -i 's,#!%{_bindir}/env sage-bootstrap-python,#!%{python3},g'
|
||||
grep -FrlZ '#!%{_bindir}/env sage-python' | \
|
||||
xargs -0 sed -i 's,#!%{_bindir}/env sage-python,#!%{python3},g'
|
||||
grep -FrlZ 'sage-python23' | xargs -0 sed -i 's,sage-python23,python3,g'
|
||||
grep -FrlZ '#!%{_bindir}/env' | \
|
||||
xargs -0 sed -i 's,#!%{_bindir}/env ,#!%{_bindir}/,'
|
||||
grep -rlZ '#!%{_bindir}/python$' | xargs -0 sed -i 's,#!%{_bindir}/python$,&3,'
|
||||
|
@ -945,7 +969,7 @@ sed -i 's,%{_bindir}/python,&3,' src/sage/misc/dev_tools.py
|
|||
sed -e 's,local/bin/python,bin/python,' \
|
||||
-e 's,#!%{_bindir}/python,&3,' \
|
||||
-i src/sage/repl/preparse.py
|
||||
sed -i 's,"$SAGE_LOCAL"/bin/python,%{_bindir}/python,g' src/bin/sage
|
||||
sed -i 's,$SAGE_LOCAL/bin/python,%{_bindir}/python,g' src/bin/sage
|
||||
%if %{with bundled_ipython}
|
||||
sed -e "s|'%{_bindir}/env', 'which'|'%{_bindir}/which'|" \
|
||||
-i build/pkgs/ipython/src/IPython/utils/_process_posix.py
|
||||
|
@ -955,15 +979,38 @@ sed -e "s|'%{_bindir}/env', 'which'|'%{_bindir}/which'|" \
|
|||
sed -i 's/64m/256m/' src/sage/interfaces/gap.py
|
||||
|
||||
# GAP does not have enough memory to build docs
|
||||
sed -i 's/80/128/' src/sage_setup/docbuild/build_options.py
|
||||
sed -i 's/80/128/' src/sage_docbuild/build_options.py
|
||||
|
||||
# Fix detection of Fedora
|
||||
sed -i 's/yum/rpm/' build/bin/sage-guess-package-system
|
||||
|
||||
# Allow use of python 3.10
|
||||
sed -i 's/3\.10\.0/3.11.0/g' configure
|
||||
|
||||
# Allow use of GCC 11
|
||||
sed -i 's/1\[1-9\]/1[2-9]/' configure
|
||||
|
||||
# Allow use of pari 2.13.1
|
||||
sed -i 's/Mod(0, 2)/0/' configure
|
||||
|
||||
# Allow use of fplll 5.4.1
|
||||
sed -i 's/5\.4\.0/5.4.1/g' configure
|
||||
|
||||
# Allow use of giac 1.7
|
||||
sed -i 's/1\.6\.999/1.7.999/g' configure
|
||||
|
||||
# Do not build with -march=native
|
||||
sed -i 's/CFLAGS_MARCH="-march=native"/CFLAGS_MARCH=""/' configure
|
||||
|
||||
|
||||
########################################################################
|
||||
%build
|
||||
export LC_ALL=C.UTF-8
|
||||
export CC=%{__cc}
|
||||
export CFLAGS="%{optflags}"
|
||||
export CXXFLAGS="%{optflags}"
|
||||
export CPPFLAGS="-I%{_includedir}/arb -I%{_includedir}/cddlib"
|
||||
export CFLAGS="%{build_cflags}"
|
||||
export CXXFLAGS="%{build_cxxflags}"
|
||||
export ECMBIN=%{_bindir}/gmp-ecm
|
||||
export SAGE_PYTHON_VERSION=3
|
||||
export SAGE_ROOT=%{buildroot}%{SAGE_ROOT}
|
||||
export SAGE_LOCAL=%{buildroot}%{SAGE_LOCAL}
|
||||
|
@ -992,20 +1039,30 @@ export PYTHON=%{_bindir}/python3
|
|||
export PYTHONPATH=%{buildroot}%{python3_sitearch}:$PYTHONPATH
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# Generate sage-env-config
|
||||
sed -e 's,@prefix@,%{SAGE_LOCAL},' \
|
||||
-e 's,@CC@,gcc,' \
|
||||
-e 's,@CXX@,g++,' \
|
||||
-e 's,@FC@,gfortran,' \
|
||||
-e 's,@OBJC@,gcc,' \
|
||||
-e 's,@OBJCXX@,g++,' \
|
||||
-e 's,@SAGE_PYTHON_VERSION@,3,' \
|
||||
-e 's,@SAGE_GMP_PREFIX@,,' \
|
||||
-e 's,@SAGE_GMP_INCLUDE@,%{_includedir},' \
|
||||
-e 's,@SAGE_MPFR_PREFIX@,,' \
|
||||
-e 's,@SAGE_MPC_PREFIX@,,' \
|
||||
-e 's,@SAGE_NTL_PREFIX@,,' \
|
||||
src/bin/sage-env-config.in > src/bin/sage-env-config
|
||||
# Run the configure script to generate files
|
||||
export GSL_LIBS="-lgsl -lflexiblas -lm"
|
||||
%configure \
|
||||
--prefix=$SAGE_LOCAL \
|
||||
--disable-silent-rules \
|
||||
--enable-4ti2 \
|
||||
--enable-bliss \
|
||||
--enable-cocoalib \
|
||||
--enable-cryptominisat \
|
||||
--enable-csdp \
|
||||
--enable-database_cremona_ellcurve \
|
||||
--enable-frobby \
|
||||
--enable-mcqd \
|
||||
--enable-meataxe \
|
||||
--enable-primecount \
|
||||
--enable-qepcad \
|
||||
--enable-saclib \
|
||||
--enable-sirocco \
|
||||
--enable-surf \
|
||||
--enable-tdlib
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# Link with flexiblas instead of gslcblas
|
||||
grep -FrlZ gslcblas | xargs -0 sed -i 's/gslcblas/flexiblas/g'
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# Save and update environment to generate bundled interfaces
|
||||
|
@ -1016,20 +1073,27 @@ export SAGE_LOCAL=%{_builddir}
|
|||
|
||||
%if %{with bundled_ipython}
|
||||
pushd build/pkgs/ipython/src
|
||||
%__python3 setup.py build
|
||||
%__python3 setup.py install --root %{_builddir}
|
||||
%{python3} setup.py build
|
||||
%{python3} setup.py install --root %{_builddir}
|
||||
popd
|
||||
|
||||
pushd build/pkgs/prompt_toolkit/src
|
||||
%__python3 setup.py build
|
||||
%__python3 setup.py install --root %{_builddir}
|
||||
%{python3} setup.py build
|
||||
%{python3} setup.py install --root %{_builddir}
|
||||
popd
|
||||
%endif
|
||||
|
||||
%if %{with bundled_ipywidgets}
|
||||
pushd build/pkgs/ipywidgets/src
|
||||
%__python3 setup.py build
|
||||
%__python3 setup.py install --root %{_builddir}
|
||||
%{python3} setup.py build
|
||||
%{python3} setup.py install --root %{_builddir}
|
||||
popd
|
||||
%endif
|
||||
|
||||
%if %{with bundled_jupyter_jsmol}
|
||||
pushd build/pkgs/jupyter_jsmol/src
|
||||
%{python3} setup.py build
|
||||
%{python3} setup.py install --root %{_builddir}
|
||||
popd
|
||||
%endif
|
||||
|
||||
|
@ -1051,12 +1115,14 @@ mkdir -p %{buildroot}%{SAGE_SPKG_INST}
|
|||
mkdir -p %{buildroot}%{_libdir}/sagemath/build/pkgs
|
||||
|
||||
pushd src
|
||||
%__python3 -u ./setup.py build
|
||||
%{python3} -u ./setup.py build
|
||||
tar cf - $(find sage -type f \! \( -name \*.c -o -name \*.cc -o -name \*.cpp -o -name .gitignore -o -name \*.hpp \) ) | (cd build/lib.*; tar xf -)
|
||||
tar cf - $(find sage_setup -name \*.py) | (cd build/lib.*; tar xf -)
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
pushd build/pkgs/sagetex/src
|
||||
%__python3 ./setup.py build
|
||||
%{python3} ./setup.py build
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
|
@ -1208,7 +1274,7 @@ popd
|
|||
|
||||
#------------------------------------------------------------------------
|
||||
pushd build/pkgs/conway_polynomials
|
||||
%__python3 ./spkg-install.py
|
||||
%{python3} ./spkg-install.py
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
|
@ -1219,7 +1285,7 @@ pushd build/pkgs/elliptic_curves
|
|||
tar jxf ../../../upstream/%{elliptic_curves_pkg}.tar.bz2
|
||||
mv %{elliptic_curves_pkg} src
|
||||
fi
|
||||
%__python3 ./spkg-install.py
|
||||
%{python3} ./spkg-install.py
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
|
@ -1256,6 +1322,11 @@ mv %{_builddir}%{_bindir}/ip* %{buildroot}%{SAGE_LOCAL}/bin
|
|||
mv %{_builddir}%{python3_sitelib}/ipywidgets* %{buildroot}%{SAGE_PYTHONPATH}
|
||||
%endif
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%if %{with bundled_jupyter_jsmol}
|
||||
mv %{_builddir}%{python3_sitelib}/jupyter_jsmol* %{buildroot}%{SAGE_PYTHONPATH}
|
||||
%endif
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%if %{with bundled_thebe}
|
||||
pushd build/pkgs/thebe
|
||||
|
@ -1275,6 +1346,7 @@ popd
|
|||
) # source build/bin/sage-dist-helpers
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
singver=$(sed 's/^.*-\([.[:digit:]]*\).*$/\1/' <<< %{singular_pkg})
|
||||
cat > %{buildroot}%{SAGE_LOCAL}/bin/sage-env << EOF
|
||||
export CUR=\$PWD
|
||||
##export DOT_SAGE="\$HOME/.sage"
|
||||
|
@ -1295,7 +1367,7 @@ module load surf-geometry-%{_arch}
|
|||
export PATH=$SAGE_LOCAL/bin:\$PATH
|
||||
export SINGULAR_DATA_DIR=%{_datadir}
|
||||
export SINGULAR_BIN_DIR=%{_libdir}/Singular
|
||||
export SINGULAR_SO=%{_libdir}/libSingular-4.1.1.so
|
||||
export SINGULAR_SO=%{_libdir}/libSingular-$singver.so
|
||||
##export PYTHONPATH="$SAGE_PYTHONPATH:\$SAGE_LOCAL/bin"
|
||||
export SAGE_FORTRAN=%{_bindir}/gfortran
|
||||
export SAGE_FORTRAN_LIB=\`gfortran --print-file-name=libgfortran.so\`
|
||||
|
@ -1339,7 +1411,7 @@ pushd src/doc
|
|||
export PATH=%{buildroot}%{_bindir}:$SAGE_LOCAL/bin:$PATH
|
||||
export SINGULARPATH=%{_datadir}/singular/LIB
|
||||
export SINGULAR_BIN_DIR=%{_libdir}/Singular
|
||||
export PYTHONPATH=$SAGE_SETUP:%{buildroot}%{python3_sitearch}:$SAGE_PYTHONPATH:$SAGE_DOC
|
||||
export PYTHONPATH=$SAGE_SETUP:%{buildroot}%{python3_sitearch}:$SAGE_PYTHONPATH:$SAGE_SRC
|
||||
|
||||
%if %{with sphinx_hack}
|
||||
pushd ../../build/pkgs/sphinx/src
|
||||
|
@ -1353,10 +1425,9 @@ pushd src/doc
|
|||
ln -sf %{buildroot}%{SAGE_DOC} %{buildroot}%{SAGE_SRC}/doc
|
||||
export SAGE_DOC=%{buildroot}%{SAGE_DOC}
|
||||
export SAGE_DOC_SRC=$SAGE_DOC
|
||||
# python -m sage_setup.docbuild
|
||||
# Build with an X server running, required by some doc builders
|
||||
SAGE_NUM_THREADS=2 \
|
||||
xvfb-run -d %__python3 -m docbuild --no-pdf-links -k all html -j
|
||||
xvfb-run -d %{python3} -m sage_docbuild --no-pdf-links -k all html -j
|
||||
rm -f %{buildroot}%{SAGE_SRC}/doc
|
||||
ln -sf %{SAGE_DOC} %{buildroot}%{SAGE_SRC}/doc
|
||||
|
||||
|
@ -1409,7 +1480,7 @@ ln -sf src $SAGE_ROOT/devel
|
|||
install -p -m644 -D src/sage/ext_data/notebook-ipython/logo.svg \
|
||||
%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/sagemath.svg
|
||||
mkdir -p %{buildroot}%{_datadir}/applications
|
||||
cat > %{buildroot}%{_datadir}/applications/%{name}.desktop << EOF
|
||||
cat > %{buildroot}%{_datadir}/applications/org.%{name}.sage.desktop << EOF
|
||||
[Desktop Entry]
|
||||
Name=Sagemath
|
||||
Comment=A free open-source mathematics software system
|
||||
|
@ -1419,7 +1490,13 @@ Terminal=true
|
|||
Type=Application
|
||||
Categories=Education;Science;Math;
|
||||
EOF
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.%{name}.sage.desktop
|
||||
|
||||
# Install the AppData file
|
||||
mkdir -p %{buildroot}%{_metainfodir}
|
||||
cp -p %{SOURCE3} %{buildroot}%{_metainfodir}
|
||||
appstreamcli validate --no-net \
|
||||
%{buildroot}%{_metainfodir}/org.%{name}.sage.metainfo.xml
|
||||
|
||||
# Fix permissions
|
||||
find %{buildroot} -name '*.so' -exec chmod 755 {} \+
|
||||
|
@ -1449,6 +1526,9 @@ find %{buildroot}%{SAGE_DOC} -type d -name _sources -exec rm -fr {} \+
|
|||
rm -r %{buildroot}%{python3_sitearch}/sage_setup
|
||||
%endif
|
||||
|
||||
# remove files we do not want to install
|
||||
rm %{buildroot}%{SAGE_LOCAL}/bin/sage-src-env-config.in
|
||||
|
||||
# pretend sagemath spkgs are installed to reduce number of errors
|
||||
# in doctests
|
||||
mkdir -p %{buildroot}%{SAGE_SPKG_INST}
|
||||
|
@ -1465,6 +1545,7 @@ pushd %{buildroot}%{SAGE_SPKG_INST}
|
|||
mkdir $pkg
|
||||
done
|
||||
popd
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
cat > %{buildroot}%{SAGE_LOCAL}/bin/sage-list-packages << EOF
|
||||
#!/bin/sh
|
||||
|
@ -1541,19 +1622,26 @@ popd
|
|||
# Build the large Cremona database
|
||||
export PATH=%{buildroot}%{SAGE_LOCAL}/bin:$PATH
|
||||
export PYTHONPATH=%{buildroot}%{SAGE_PYTHONPATH}:%{buildroot}%{python3_sitearch}
|
||||
touch %{buildroot}%{SAGE_SHARE}/cremona/cremona.db
|
||||
cat > cremona.sage << EOF
|
||||
import sage.env
|
||||
import sage.databases.cremona
|
||||
db_path = '%{buildroot}%{SAGE_SHARE}/cremona/cremona'
|
||||
c = sage.databases.cremona.LargeCremonaDatabase(db_path, False, True)
|
||||
sage.env.SAGE_SHARE = '%{buildroot}%{SAGE_SHARE}'
|
||||
c = sage.databases.cremona.LargeCremonaDatabase('cremona', False, True)
|
||||
c._init_from_ftpdata('ecdata-%{cremona_ver}')
|
||||
EOF
|
||||
%{buildroot}%{SAGE_LOCAL}/bin/sage cremona.sage
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# Script was used to build documentation and possibly other operations
|
||||
perl -pi -e 's|%{buildroot}||g;s|^##||g;' \
|
||||
# Scripts were used to build documentation and possibly other operations
|
||||
sed -i 's|%{buildroot}||g;s|^##||g;' \
|
||||
%{buildroot}%{_bindir}/sage \
|
||||
%{buildroot}%{SAGE_LOCAL}/bin/sage-env
|
||||
%{buildroot}%{SAGE_LOCAL}/bin/sage-env \
|
||||
%{buildroot}%{SAGE_LOCAL}/bin/sage-env-config \
|
||||
%{buildroot}%{SAGE_LOCAL}/bin/sage-src-env-config
|
||||
sed -i "s|$PWD|%{SAGE_ROOT}|g" \
|
||||
%{buildroot}%{SAGE_LOCAL}/bin/sage-env-config \
|
||||
%{buildroot}%{SAGE_LOCAL}/bin/sage-src-env-config
|
||||
|
||||
# last install command
|
||||
rm -fr $DOT_SAGE
|
||||
|
@ -1659,20 +1747,12 @@ end
|
|||
|
||||
%files
|
||||
# GPLv2+
|
||||
%dir %{SAGE_ROOT}
|
||||
%license COPYING.txt
|
||||
%doc %{SAGE_ROOT}/COPYING.txt
|
||||
%dir %{SAGE_ROOT}
|
||||
%dir %{SAGE_LOCAL}/
|
||||
%dir %{SAGE_LOCAL}/bin/
|
||||
%dir %{SAGE_SHARE}/
|
||||
%{SAGE_LOCAL}/bin/QuadraticSieve
|
||||
%{SAGE_LOCAL}/bin/ecm
|
||||
%{SAGE_LOCAL}/bin/gap
|
||||
%{SAGE_LOCAL}/bin/jmol
|
||||
%if %{with bundled_ipython}
|
||||
%{SAGE_LOCAL}/bin/ip*
|
||||
%endif
|
||||
%{SAGE_LOCAL}/bin/python
|
||||
%{SAGE_LOCAL}/bin/sage*
|
||||
%{SAGE_LOCAL}/bin/
|
||||
%{SAGE_LOCAL}/include
|
||||
%{SAGE_LOCAL}/lib
|
||||
%{SAGE_LOCAL}/share
|
||||
|
@ -1681,16 +1761,13 @@ end
|
|||
%{SAGE_ROOT}/devel
|
||||
%{SAGE_ROOT}/doc
|
||||
%{SAGE_ROOT}/share
|
||||
%dir %{SAGE_SRC}/
|
||||
%if %{with docs}
|
||||
%{SAGE_SRC}/doc
|
||||
%endif
|
||||
%{SAGE_SRC}/sage
|
||||
%{SAGE_SRC}/
|
||||
%dir %{SAGE_PYTHONPATH}
|
||||
# GPLv2+
|
||||
%{_bindir}/sage
|
||||
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/applications/org.%{name}.sage.desktop
|
||||
%{_metainfodir}/org.%{name}.sage.metainfo.xml
|
||||
%if %{with bundled_thebe}
|
||||
# MIT
|
||||
%{SAGE_SHARE}/thebe/
|
||||
|
@ -1714,10 +1791,12 @@ end
|
|||
%if %{with bundled_ipywidgets}
|
||||
%{SAGE_PYTHONPATH}/ipywidgets*
|
||||
%endif
|
||||
%if %{with bundled_jupyter_jsmol}
|
||||
%{SAGE_PYTHONPATH}/jupyter_jsmol*
|
||||
%endif
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
%files data
|
||||
%dir %{SAGE_SHARE}/
|
||||
%dir %{SAGE_ETC}/
|
||||
%{SAGE_ETC}/sage
|
||||
%{SAGE_ETC}/gprc.expect
|
||||
|
@ -1775,6 +1854,7 @@ end
|
|||
#------------------------------------------------------------------------
|
||||
%files doc
|
||||
# GPLv2+
|
||||
%license COPYING.txt
|
||||
%dir %{SAGE_DOC}/
|
||||
%{SAGE_DOC}/common/
|
||||
%dir %{SAGE_DOC}/html/
|
||||
|
@ -1909,8 +1989,6 @@ end
|
|||
%{SAGE_ETC}/notebook-ipython/
|
||||
# LGPLv2+
|
||||
%{_datadir}/jupyter/kernels/sagemath/
|
||||
%{_datadir}/jupyter/nbextensions/jsmol
|
||||
%{_datadir}/jupyter/nbextensions/mathjax
|
||||
%{_datadir}/jupyter/nbextensions/threejs
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
|
@ -1923,6 +2001,12 @@ end
|
|||
|
||||
########################################################################
|
||||
%changelog
|
||||
* Thu Jun 17 2021 Jerry James <loganjerry@gmail.com> - 9.3-1
|
||||
- Version 9.3
|
||||
- Drop -arb and -openblas patches
|
||||
- Add -cvxopt patch
|
||||
- Add metainfo file
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 9.2-5
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
|
|
2
sources
2
sources
|
@ -1,2 +1,2 @@
|
|||
SHA512 (cremona-2019-10-29.tar.gz) = 32fbb828f26f87191e39123762cfbd796aac9abf346f0dc981e8e3f390435b22d281be3031ea92ae7e18f4ce41af8054784ca0d550a08f17b05c54ca08b4c9c8
|
||||
SHA512 (sage-9.2.tar.gz) = d7e833919740dd9249b14fb0fc7fdc93ad6265dae9363fa2495c88274f0683c7aae2f7625f842584a95bd4f6a439d575a6532a945d6e50054355853d68e0275d
|
||||
SHA512 (sage-9.3.tar.gz) = e5775aeff52fde3176f73340050e373e010a96f965c4b939b2ab105a941260d163185be2495ad38de6fbcaed81e897b6ad4180874ccfc778542beb79287bc912
|
||||
|
|
Loading…
Add table
Reference in a new issue