mirror of
https://src.fedoraproject.org/rpms/sagemath.git
synced 2025-04-10 23:18:51 -04:00
Rebuild for gap 4.11.0.
Also: - Update libgap interface for gap 4.11.0. - Adjust list of gap packages to match build/pkgs/gap_packages. - Point sharedmeataxe to a writable directory for its multiplication tables.
This commit is contained in:
parent
042a67aa71
commit
e87f50f39d
3 changed files with 257 additions and 20 deletions
|
@ -1,6 +1,5 @@
|
|||
diff -up src/sage/env.py.orig src/sage/env.py
|
||||
--- src/sage/env.py.orig 2020-02-27 16:09:10.913012356 -0700
|
||||
+++ src/sage/env.py 2020-02-27 16:16:34.080052271 -0700
|
||||
--- src/sage/env.py.orig 2020-03-13 09:03:58.705213254 -0600
|
||||
+++ src/sage/env.py 2020-03-13 09:06:42.148502755 -0600
|
||||
@@ -151,11 +151,11 @@ var('SAGE_DATE', version.date)
|
||||
var('SAGE_VERSION_BANNER', version.banner)
|
||||
|
||||
|
@ -34,10 +33,11 @@ diff -up src/sage/env.py.orig src/sage/env.py
|
|||
-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(SAGE_SHARE, 'meataxe'))
|
||||
+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'))
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
diff -up src/sage/env.py.orig src/sage/env.py
|
||||
--- src/sage/env.py.orig 2019-06-26 14:41:04.000000000 -0600
|
||||
+++ src/sage/env.py 2019-06-27 11:39:02.780593101 -0600
|
||||
--- src/sage/env.py.orig 2020-01-01 04:03:10.000000000 -0700
|
||||
+++ src/sage/env.py 2020-03-13 09:51:49.255840082 -0600
|
||||
@@ -174,7 +174,7 @@ var('CONWAY_POLYNOMIALS_DATA_DIR', joi
|
||||
var('GRAPHS_DATA_DIR', join(SAGE_SHARE, 'graphs'))
|
||||
var('ELLCURVE_DATA_DIR', join(SAGE_SHARE, 'ellcurves'))
|
||||
|
@ -10,3 +9,226 @@ diff -up src/sage/env.py.orig src/sage/env.py
|
|||
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/libs/gap/element.pyx.orig 2020-01-01 04:03:10.000000000 -0700
|
||||
+++ src/sage/libs/gap/element.pyx 2020-03-13 10:38:15.632637753 -0600
|
||||
@@ -264,7 +264,7 @@ cdef Obj make_gap_string(sage_string) ex
|
||||
try:
|
||||
GAP_Enter()
|
||||
b = str_to_bytes(sage_string)
|
||||
- C_NEW_STRING(result, len(b), b)
|
||||
+ result = MakeStringWithLen(b, len(b))
|
||||
return result
|
||||
finally:
|
||||
GAP_Leave()
|
||||
@@ -955,7 +955,7 @@ cdef class GapElement(RingElement):
|
||||
sig_on()
|
||||
try:
|
||||
GAP_Enter()
|
||||
- return EQ(self.value, c_other.value)
|
||||
+ return <bint>EQ(self.value, c_other.value)
|
||||
finally:
|
||||
GAP_Leave()
|
||||
sig_off()
|
||||
@@ -977,7 +977,7 @@ cdef class GapElement(RingElement):
|
||||
sig_on()
|
||||
try:
|
||||
GAP_Enter()
|
||||
- return LT(self.value, c_other.value)
|
||||
+ return <bint>LT(self.value, c_other.value)
|
||||
finally:
|
||||
GAP_Leave()
|
||||
sig_off()
|
||||
@@ -1205,7 +1205,7 @@ cdef class GapElement(RingElement):
|
||||
sage: a.is_function()
|
||||
False
|
||||
"""
|
||||
- return IS_FUNC(self.value)
|
||||
+ return <bint>IS_FUNC(self.value)
|
||||
|
||||
def is_list(self):
|
||||
r"""
|
||||
@@ -1222,7 +1222,7 @@ cdef class GapElement(RingElement):
|
||||
sage: libgap.eval('3/2').is_list()
|
||||
False
|
||||
"""
|
||||
- return IS_LIST(self.value)
|
||||
+ return <bint>IS_LIST(self.value)
|
||||
|
||||
def is_record(self):
|
||||
r"""
|
||||
@@ -1239,7 +1239,7 @@ cdef class GapElement(RingElement):
|
||||
sage: libgap.eval('rec(a:=1, b:=3)').is_record()
|
||||
True
|
||||
"""
|
||||
- return IS_REC(self.value)
|
||||
+ return <bint>IS_REC(self.value)
|
||||
|
||||
cpdef is_bool(self):
|
||||
r"""
|
||||
@@ -1272,7 +1272,7 @@ cdef class GapElement(RingElement):
|
||||
sage: libgap('this is a string').is_string()
|
||||
True
|
||||
"""
|
||||
- return IS_STRING(self.value)
|
||||
+ return <bint>IS_STRING(self.value)
|
||||
|
||||
def is_permutation(self):
|
||||
r"""
|
||||
@@ -1458,7 +1458,7 @@ cdef class GapElement_Integer(GapElement
|
||||
sage: N.IsInt()
|
||||
true
|
||||
"""
|
||||
- return IS_INTOBJ(self.value)
|
||||
+ return <bint>IS_INTOBJ(self.value)
|
||||
|
||||
def _rational_(self):
|
||||
r"""
|
||||
@@ -2797,7 +2797,7 @@ cdef class GapElement_List(GapElement):
|
||||
...
|
||||
ValueError: too many indices
|
||||
"""
|
||||
- cdef int j
|
||||
+ cdef Int j
|
||||
cdef Obj obj = self.value
|
||||
|
||||
if isinstance(i, tuple):
|
||||
@@ -2868,7 +2868,7 @@ cdef class GapElement_List(GapElement):
|
||||
if not IS_MUTABLE_OBJ(self.value):
|
||||
raise TypeError('immutable Gap object does not support item assignment')
|
||||
|
||||
- cdef int j
|
||||
+ cdef Int j
|
||||
cdef Obj obj = self.value
|
||||
|
||||
if isinstance(i, tuple):
|
||||
--- src/sage/libs/gap/gap_includes.pxd.orig 2020-01-01 04:03:10.000000000 -0700
|
||||
+++ src/sage/libs/gap/gap_includes.pxd 2020-03-13 10:32:21.845358454 -0600
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
cdef extern from "gap/system.h" nogil:
|
||||
ctypedef char Char
|
||||
- ctypedef int Int
|
||||
- ctypedef unsigned int UInt
|
||||
+ ctypedef long Int
|
||||
+ ctypedef unsigned long UInt
|
||||
ctypedef void* Obj
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ cdef extern from "gap/ariths.h" nogil:
|
||||
Obj QUO(Obj, Obj)
|
||||
Obj POW(Obj, Obj)
|
||||
Obj MOD(Obj, Obj)
|
||||
- bint EQ(Obj opL, Obj opR)
|
||||
- bint LT(Obj opL, Obj opR)
|
||||
+ Int EQ(Obj opL, Obj opR)
|
||||
+ Int LT(Obj opL, Obj opR)
|
||||
|
||||
|
||||
cdef extern from "gap/bool.h" nogil:
|
||||
@@ -34,7 +34,7 @@ cdef extern from "gap/bool.h" nogil:
|
||||
|
||||
|
||||
cdef extern from "gap/calls.h" nogil:
|
||||
- bint IS_FUNC(Obj)
|
||||
+ Int IS_FUNC(Obj)
|
||||
Obj CALL_0ARGS(Obj f) # 0 arguments
|
||||
Obj CALL_1ARGS(Obj f, Obj a1) # 1 argument
|
||||
Obj CALL_2ARGS(Obj f, Obj a1, Obj a2)
|
||||
@@ -56,7 +56,7 @@ cdef extern from "gap/gasman_intern.h" n
|
||||
|
||||
|
||||
cdef extern from "gap/gvars.h" nogil:
|
||||
- UInt GVarName "GVarName"(char* name)
|
||||
+ UInt GVarName "GVarName"(const char* name)
|
||||
void AssGVar "AssGVar"(UInt gvar, Obj val)
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ cdef extern from "gap/integer.h" nogil:
|
||||
|
||||
|
||||
cdef extern from "gap/intobj.h" nogil:
|
||||
- bint IS_INTOBJ(Obj obj)
|
||||
+ Int IS_INTOBJ(Obj obj)
|
||||
Obj INTOBJ_INT(Int)
|
||||
Int INT_INTOBJ(Obj)
|
||||
|
||||
@@ -95,11 +95,11 @@ cdef extern from "gap/libgap-api.h" nogi
|
||||
|
||||
|
||||
cdef extern from "gap/lists.h" nogil:
|
||||
- bint IS_LIST(Obj lst)
|
||||
- int LEN_LIST(Obj lst)
|
||||
- Obj ELM_LIST(Obj lst, int pos)
|
||||
- Obj ELM0_LIST(Obj lst, int pos)
|
||||
- void ASS_LIST(Obj lst, int pos, Obj elt)
|
||||
+ Int IS_LIST(Obj lst)
|
||||
+ Int LEN_LIST(Obj lst)
|
||||
+ Obj ELM_LIST(Obj lst, Int pos)
|
||||
+ Obj ELM0_LIST(Obj lst, Int pos)
|
||||
+ void ASS_LIST(Obj lst, Int pos, Obj elt)
|
||||
|
||||
|
||||
cdef extern from "gap/listfunc.h" nogil:
|
||||
@@ -111,13 +111,13 @@ cdef extern from "gap/macfloat.h" nogil:
|
||||
|
||||
|
||||
cdef extern from "gap/objects.h" nogil:
|
||||
- bint IS_MUTABLE_OBJ(Obj obj)
|
||||
+ Int IS_MUTABLE_OBJ(Obj obj)
|
||||
Obj SHALLOW_COPY_OBJ(Obj obj)
|
||||
- Obj CopyObj(Obj obj, int mut)
|
||||
+ Obj CopyObj(Obj obj, Int mut)
|
||||
|
||||
UInt SIZE_OBJ(Obj obj)
|
||||
UInt TNUM_OBJ(Obj obj)
|
||||
- char* TNAM_OBJ(Obj obj)
|
||||
+ const char* TNAM_OBJ(Obj obj)
|
||||
|
||||
cdef enum TNUM:
|
||||
T_INT
|
||||
@@ -147,23 +147,23 @@ cdef extern from "gap/objects.h" nogil:
|
||||
|
||||
|
||||
cdef extern from "gap/precord.h" nogil:
|
||||
- Obj NEW_PREC(int len)
|
||||
- int LEN_PREC(Obj rec)
|
||||
- int GET_RNAM_PREC(Obj rec, int i)
|
||||
- Obj GET_ELM_PREC(Obj rec, int i)
|
||||
+ Obj NEW_PREC(UInt len)
|
||||
+ UInt LEN_PREC(Obj rec)
|
||||
+ Int GET_RNAM_PREC(Obj rec, UInt i)
|
||||
+ Obj GET_ELM_PREC(Obj rec, UInt i)
|
||||
void AssPRec(Obj rec, UInt rnam, Obj val)
|
||||
|
||||
|
||||
cdef extern from "gap/records.h" nogil:
|
||||
- char* NAME_RNAM(UInt rnam)
|
||||
- bint IS_REC(Obj obj)
|
||||
+ Obj NAME_RNAM(UInt rnam)
|
||||
+ Int IS_REC(Obj obj)
|
||||
Obj ELM_REC(Obj rec, UInt rnam)
|
||||
- UInt RNamName(Char* name)
|
||||
+ UInt RNamName(const Char* name)
|
||||
|
||||
|
||||
cdef extern from "gap/stringobj.h" nogil:
|
||||
char* CSTR_STRING(Obj list)
|
||||
- bint IS_STRING(Obj obj)
|
||||
- bint IsStringConv(Obj obj)
|
||||
- Obj NEW_STRING(Int)
|
||||
- void C_NEW_STRING(Obj new_gap_string, int length, char* c_string)
|
||||
+ Int IS_STRING(Obj obj)
|
||||
+ Int IsStringConv(Obj obj)
|
||||
+ Obj NEW_STRING(Int len)
|
||||
+ Obj MakeStringWithLen(const char *buf, size_t len)
|
||||
--- src/sage/libs/gap/util.pyx.orig 2020-01-01 04:03:10.000000000 -0700
|
||||
+++ src/sage/libs/gap/util.pyx 2020-03-13 10:23:13.675207968 -0600
|
||||
@@ -386,7 +386,7 @@ cdef Obj gap_eval(str gap_string) except
|
||||
"""
|
||||
initialize()
|
||||
cdef Obj result
|
||||
- cdef int i, j, nresults
|
||||
+ cdef Int nresults
|
||||
|
||||
# Careful: We need to keep a reference to the bytes object here
|
||||
# so that Cython doesn't deallocate it before GAP is done with
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
Name: sagemath
|
||||
Summary: A free open-source mathematics software system
|
||||
Version: 9.0
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
# The file ${SAGE_ROOT}/COPYING.txt is the upstream license breakdown file
|
||||
# Additionally, every $files section has a comment with the license name
|
||||
# before files with that license
|
||||
|
@ -161,7 +161,7 @@ Patch14: %{name}-lcalc.patch
|
|||
# avoid assertion in coin backend
|
||||
Patch15: %{name}-cbc.patch
|
||||
|
||||
# Use system gap directories
|
||||
# Use system gap directories and modernize libgap interface
|
||||
Patch16: %{name}-libgap.patch
|
||||
|
||||
# Build fes
|
||||
|
@ -226,26 +226,29 @@ BuildRequires: fes-devel
|
|||
%endif
|
||||
BuildRequires: flint-devel
|
||||
BuildRequires: gap
|
||||
BuildRequires: GAPDoc
|
||||
BuildRequires: gap-libs
|
||||
BuildRequires: gap-pkg-atlasrep
|
||||
BuildRequires: gap-pkg-cohomolo
|
||||
BuildRequires: gap-pkg-corelg
|
||||
BuildRequires: gap-pkg-crime
|
||||
BuildRequires: gap-pkg-design
|
||||
BuildRequires: gap-pkg-edim
|
||||
BuildRequires: gap-pkg-forms
|
||||
BuildRequires: gap-pkg-francy
|
||||
BuildRequires: gap-pkg-guava
|
||||
BuildRequires: gap-pkg-hapcryst
|
||||
BuildRequires: gap-pkg-hecke
|
||||
BuildRequires: gap-pkg-jupyterviz
|
||||
BuildRequires: gap-pkg-jupyterkernel
|
||||
BuildRequires: gap-pkg-liealgdb
|
||||
BuildRequires: gap-pkg-liepring
|
||||
BuildRequires: gap-pkg-loops
|
||||
BuildRequires: gap-pkg-lpres
|
||||
BuildRequires: gap-pkg-mapclass
|
||||
BuildRequires: gap-pkg-nautytracesinterface
|
||||
BuildRequires: gap-pkg-qpa
|
||||
BuildRequires: gap-pkg-radiroot
|
||||
BuildRequires: gap-pkg-repsn
|
||||
BuildRequires: gap-pkg-semigroups
|
||||
BuildRequires: gap-pkg-singular
|
||||
BuildRequires: gap-pkg-sonata
|
||||
BuildRequires: gap-pkg-toric
|
||||
BuildRequires: gap-pkg-utils
|
||||
BuildRequires: gc-devel
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-gfortran
|
||||
|
@ -408,23 +411,29 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
|
|||
Requires: 4ti2
|
||||
Requires: cddlib-tools
|
||||
Requires: gap
|
||||
Requires: gap-pkg-atlasrep
|
||||
Requires: gap-pkg-cohomolo
|
||||
Requires: gap-pkg-corelg
|
||||
Requires: gap-pkg-crime
|
||||
Requires: gap-pkg-design
|
||||
Requires: gap-pkg-edim
|
||||
Requires: gap-pkg-forms
|
||||
Requires: gap-pkg-francy
|
||||
Requires: gap-pkg-guava
|
||||
Requires: gap-pkg-hapcryst
|
||||
Requires: gap-pkg-hecke
|
||||
Requires: gap-pkg-jupyterviz
|
||||
Requires: gap-pkg-jupyterkernel
|
||||
Requires: gap-pkg-liealgdb
|
||||
Requires: gap-pkg-liepring
|
||||
Requires: gap-pkg-loops
|
||||
Requires: gap-pkg-lpres
|
||||
Requires: gap-pkg-mapclass
|
||||
Requires: gap-pkg-nautytracesinterface
|
||||
Requires: gap-pkg-qpa
|
||||
Requires: gap-pkg-radiroot
|
||||
Requires: gap-pkg-repsn
|
||||
Requires: gap-pkg-sonata
|
||||
Requires: gap-pkg-semigroups
|
||||
Requires: gap-pkg-singular
|
||||
Requires: gap-pkg-toric
|
||||
Requires: gap-pkg-utils
|
||||
Requires: gfan
|
||||
Requires: gmp-ecm
|
||||
Requires: jmol
|
||||
|
@ -947,7 +956,7 @@ sed -e "s|'%{_bindir}/env', 'which'|'%{_bindir}/which'|" \
|
|||
%endif
|
||||
|
||||
# GAP does not have enough memory to load the entire workspace
|
||||
sed -i 's/64m/128m/' src/sage/interfaces/gap.py
|
||||
sed -i 's/64m/256m/' src/sage/interfaces/gap.py
|
||||
|
||||
|
||||
########################################################################
|
||||
|
@ -1801,6 +1810,12 @@ rm -fr %{SAGE_LOCAL}/var/lib/sage/installed/database_cremona_ellcurve-%{cremona_
|
|||
|
||||
########################################################################
|
||||
%changelog
|
||||
* Fri Mar 13 2020 Jerry James <loganjerry@gmail.com> - 9.0-2
|
||||
- Rebuild for gap 4.11.0
|
||||
- Update libgap interface for gap 4.11.0
|
||||
- Adjust list of gap packages to match build/pkgs/gap_packages
|
||||
- Point sharedmeataxe to a writable directory for its multiplication tables
|
||||
|
||||
* Fri Feb 28 2020 Jerry James <loganjerry@gmail.com> - 9.0-1
|
||||
- Version 9.0 (bz 1756780, 1770880)
|
||||
- Drop upstreamed -ecm and -primecount patches
|
||||
|
|
Loading…
Add table
Reference in a new issue