diff --git a/sources b/sources index 95d930c..80ecf06 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sympy-1.12.tar.gz) = 96a89b88f6912d70c56f5bd1903dd3c518963118ff25d033cdcb7da2f260b8ee209d3ab4a4394dd2b5dc0b4585b71ccd55d55c8e5c6e28024cccbedf07ee4360 +SHA512 (sympy-1.12.1.tar.gz) = 5e7642b6e70332f521a3bc58a9c19a64f8eb3e9a6cc6cab63a3e02a9343e31a616f6f437b6c9af601f05fb4f3f69efee1b9811370721a456c14264b97697c965 diff --git a/sympy-python3.12.patch b/sympy-python3.12.patch deleted file mode 100644 index 2458bc0..0000000 --- a/sympy-python3.12.patch +++ /dev/null @@ -1,111 +0,0 @@ ---- sympy-sympy-1.12/sympy/logic/boolalg.py.orig 2023-05-09 17:42:05.000000000 -0600 -+++ sympy-sympy-1.12/sympy/logic/boolalg.py 2023-06-29 16:38:14.568908065 -0600 -@@ -1012,7 +1012,7 @@ class Xor(BooleanFunction): - for j in range(i + 1, len(rel)): - rj, cj = rel[j][:2] - if cj == nc: -- odd = ~odd -+ odd = not odd - break - elif cj == c: - break ---- sympy-sympy-1.12/sympy/parsing/ast_parser.py.orig 2023-05-09 17:42:05.000000000 -0600 -+++ sympy-sympy-1.12/sympy/parsing/ast_parser.py 2023-06-29 17:12:19.620751353 -0600 -@@ -23,7 +23,7 @@ from sympy.core.basic import Basic - from sympy.core.sympify import SympifyError - - from ast import parse, NodeTransformer, Call, Name, Load, \ -- fix_missing_locations, Str, Tuple -+ fix_missing_locations, Constant, Tuple - - class Transform(NodeTransformer): - -@@ -52,7 +52,7 @@ class Transform(NodeTransformer): - elif node.id in ['True', 'False']: - return node - return fix_missing_locations(Call(func=Name('Symbol', Load()), -- args=[Str(node.id)], keywords=[])) -+ args=[Constant(node.id)], keywords=[])) - - def visit_Lambda(self, node): - args = [self.visit(arg) for arg in node.args.args] ---- sympy-sympy-1.12/sympy/parsing/sympy_parser.py.orig 2023-05-09 17:42:05.000000000 -0600 -+++ sympy-sympy-1.12/sympy/parsing/sympy_parser.py 2024-03-22 10:22:05.814313289 -0600 -@@ -627,7 +627,9 @@ def factorial_notation(tokens: List[TOKE - result: List[TOKEN] = [] - nfactorial = 0 - for toknum, tokval in tokens: -- if toknum == ERRORTOKEN: -+ if toknum == OP and tokval == "!": -+ nfactorial += 1 -+ elif toknum == ERRORTOKEN: - op = tokval - if op == '!': - nfactorial += 1 -@@ -1135,9 +1137,7 @@ class EvaluateFalseTransformer(ast.NodeT - new_node = ast.Call( - func=ast.Name(id=sympy_class, ctx=ast.Load()), - args=[left, right], -- keywords=[ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))], -- starargs=None, -- kwargs=None -+ keywords=[ast.keyword(arg='evaluate', value=ast.Constant(value=False))] - ) - return new_node - return node -@@ -1167,10 +1167,8 @@ class EvaluateFalseTransformer(ast.NodeT - if isinstance(node.op, ast.Sub): - right = ast.Call( - func=ast.Name(id='Mul', ctx=ast.Load()), -- args=[ast.UnaryOp(op=ast.USub(), operand=ast.Num(1)), right], -- keywords=[ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))], -- starargs=None, -- kwargs=None -+ args=[ast.UnaryOp(op=ast.USub(), operand=ast.Constant(1)), right], -+ keywords=[ast.keyword(arg='evaluate', value=ast.Constant(value=False))] - ) - elif isinstance(node.op, ast.Div): - if isinstance(node.left, ast.UnaryOp): -@@ -1178,18 +1176,14 @@ class EvaluateFalseTransformer(ast.NodeT - rev = True - left = ast.Call( - func=ast.Name(id='Pow', ctx=ast.Load()), -- args=[left, ast.UnaryOp(op=ast.USub(), operand=ast.Num(1))], -- keywords=[ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))], -- starargs=None, -- kwargs=None -+ args=[left, ast.UnaryOp(op=ast.USub(), operand=ast.Constant(1))], -+ keywords=[ast.keyword(arg='evaluate', value=ast.Constant(value=False))] - ) - else: - right = ast.Call( - func=ast.Name(id='Pow', ctx=ast.Load()), -- args=[right, ast.UnaryOp(op=ast.USub(), operand=ast.Num(1))], -- keywords=[ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))], -- starargs=None, -- kwargs=None -+ args=[right, ast.UnaryOp(op=ast.USub(), operand=ast.Constant(1))], -+ keywords=[ast.keyword(arg='evaluate', value=ast.Constant(value=False))] - ) - - if rev: # undo reversal -@@ -1197,9 +1191,7 @@ class EvaluateFalseTransformer(ast.NodeT - new_node = ast.Call( - func=ast.Name(id=sympy_class, ctx=ast.Load()), - args=[left, right], -- keywords=[ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))], -- starargs=None, -- kwargs=None -+ keywords=[ast.keyword(arg='evaluate', value=ast.Constant(value=False))] - ) - - if sympy_class in ('Add', 'Mul'): -@@ -1212,7 +1204,7 @@ class EvaluateFalseTransformer(ast.NodeT - def visit_Call(self, node): - new_node = self.generic_visit(node) - if isinstance(node.func, ast.Name) and node.func.id in self.functions: -- new_node.keywords.append(ast.keyword(arg='evaluate', value=ast.NameConstant(value=False, ctx=ast.Load()))) -+ new_node.keywords.append(ast.keyword(arg='evaluate', value=ast.Constant(value=False))) - return new_node - - diff --git a/sympy.spec b/sympy.spec index be1a8f2..0528299 100644 --- a/sympy.spec +++ b/sympy.spec @@ -6,7 +6,7 @@ %global debug_package %{nil} Name: sympy -Version: 1.12 +Version: 1.12.1 Release: %autorelease Summary: A Python library for symbolic mathematics @@ -18,12 +18,9 @@ VCS: https://github.com/sympy/sympy Source0: %{vcs}/archive/%{name}-%{version}.tar.gz # Skip tests that require a display Patch0: %{name}-circuitplot.patch -# Adapt to python 3.12 -# https://github.com/sympy/sympy/pull/26386 -Patch1: %{name}-python3.12.patch # Fix incompatible pointers, which are an error with GCC 14 # https://github.com/sympy/sympy/pull/25968 -Patch2: %{name}-incompatible-pointer.patch +Patch1: %{name}-incompatible-pointer.patch # This package used to be noarch, and should still be noarch. However, because # there is no JDK available on i686 anymore, the antlr4 package is also not @@ -99,9 +96,6 @@ Recommends: %{py3_dist numexpr} Recommends: %{py3_dist pyglet} Recommends: %{py3_dist scipy} -# This can be removed when F38 reaches EOL -Obsoletes: sympy-texmacs < 1.8 - %description -n python3-%{name} SymPy aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be