diff mbox series

python3-cython: upgrade 3.0.12 -> 3.1.0

Message ID 20250512144351.1143277-1-tgamblin@baylibre.com
State New
Headers show
Series python3-cython: upgrade 3.0.12 -> 3.1.0 | expand

Commit Message

Trevor Gamblin May 12, 2025, 2:43 p.m. UTC
Many changes are included with this release, including support for
freethreading builds of CPython 3.13, cleanup of legacy code, and many
other features and bug fixes.

Changelog: https://github.com/cython/cython/blob/master/CHANGES.rst

Patch '0001-Output-import-relative-paths-in-generated-C-code.-GH.patch'
is included in 3.1.0, so we no longer need the backport:

|tgamblin@megalith ~/workspace/git/pythonsrc/cython (master)$ git tag --contains 20bceea6b19ffc2f65b9fba2e4f737f09e5a2b20
|3.1.0
|3.1.0-1
|3.1.0a1
|3.1.0b1
|3.1.0rc1
|3.1.0rc2

Reproducibility looks OK.

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
---
 ...lative-paths-in-generated-C-code.-GH.patch | 73 -------------------
 ...thon_3.0.12.bb => python3-cython_3.1.0.bb} |  3 +-
 2 files changed, 1 insertion(+), 75 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python3-cython/0001-Output-import-relative-paths-in-generated-C-code.-GH.patch
 rename meta/recipes-devtools/python/{python3-cython_3.0.12.bb => python3-cython_3.1.0.bb} (88%)
diff mbox series

Patch

diff --git a/meta/recipes-devtools/python/python3-cython/0001-Output-import-relative-paths-in-generated-C-code.-GH.patch b/meta/recipes-devtools/python/python3-cython/0001-Output-import-relative-paths-in-generated-C-code.-GH.patch
deleted file mode 100644
index bbafc294163..00000000000
--- a/meta/recipes-devtools/python/python3-cython/0001-Output-import-relative-paths-in-generated-C-code.-GH.patch
+++ /dev/null
@@ -1,73 +0,0 @@ 
-From 9b5f3b09f76899eba510c2d8f3ed2b0f752a4d1b Mon Sep 17 00:00:00 2001
-From: Oscar Benjamin <oscar.j.benjamin@gmail.com>
-Date: Sat, 24 Aug 2024 08:30:31 +0100
-Subject: [PATCH] Output import-relative paths in generated C code. (GH-6341)
-
-When cython is run on a file that is not in the current working directory,
-it outputs filepaths that are either absolute or are basenames.
-It is not good to output absolute paths in the generated C code and
-basenames mess up coverage measurement.
-
-Upstream-Status: Backport [20bceea6b19ffc2f65b9fba2e4f737f09e5a2b20]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- Cython/Compiler/ExprNodes.py  | 8 +++++++-
- Cython/Compiler/ModuleNode.py | 9 ++++++---
- 2 files changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/Cython/Compiler/ExprNodes.py b/Cython/Compiler/ExprNodes.py
-index a6bb1688e..0fbb15368 100644
---- a/Cython/Compiler/ExprNodes.py
-+++ b/Cython/Compiler/ExprNodes.py
-@@ -21,6 +21,7 @@ import re
- import sys
- import copy
- import os.path
-+import pathlib
- import operator
- 
- from .Errors import (
-@@ -10072,7 +10073,12 @@ class CodeObjectNode(ExprNode):
-         func_name = code.get_py_string_const(
-             func.name, identifier=True, is_str=False, unicode_value=func.name)
-         # FIXME: better way to get the module file path at module init time? Encoding to use?
--        file_path = StringEncoding.bytes_literal(func.pos[0].get_filenametable_entry().encode('utf8'), 'utf8')
-+        file_path = func.pos[0].get_filenametable_entry()
-+        if os.path.isabs(file_path):
-+            file_path = func.pos[0].get_description()
-+        # Always use / as separator
-+        file_path = pathlib.Path(file_path).as_posix()
-+        file_path = StringEncoding.bytes_literal(file_path.encode('utf-8'), 'utf8')
-         file_path_const = code.get_py_string_const(file_path, identifier=False, is_str=True)
- 
-         # This combination makes CPython create a new dict for "frame.f_locals" (see GH #1836).
-diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py
-index 43c6b5f07..8c29d6db7 100644
---- a/Cython/Compiler/ModuleNode.py
-+++ b/Cython/Compiler/ModuleNode.py
-@@ -13,6 +13,7 @@ from collections import defaultdict
- import json
- import operator
- import os
-+import pathlib
- import re
- import sys
- 
-@@ -944,9 +945,11 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
-             for source_desc in code.globalstate.filename_list:
-                 file_path = source_desc.get_filenametable_entry()
-                 if isabs(file_path):
--                    file_path = basename(file_path)  # never include absolute paths
--                escaped_filename = file_path.replace("\\", "\\\\").replace('"', r'\"')
--                escaped_filename = as_encoded_filename(escaped_filename)
-+                    # never include absolute paths
-+                    file_path = source_desc.get_description()
-+                # Always use / as separator
-+                file_path = pathlib.Path(file_path).as_posix()
-+                escaped_filename = as_encoded_filename(file_path)
-                 code.putln('%s,' % escaped_filename.as_c_string_literal())
-         else:
-             # Some C compilers don't like an empty array
--- 
-2.34.1
-
diff --git a/meta/recipes-devtools/python/python3-cython_3.0.12.bb b/meta/recipes-devtools/python/python3-cython_3.1.0.bb
similarity index 88%
rename from meta/recipes-devtools/python/python3-cython_3.0.12.bb
rename to meta/recipes-devtools/python/python3-cython_3.1.0.bb
index f1951e3ae67..f93135b94bc 100644
--- a/meta/recipes-devtools/python/python3-cython_3.0.12.bb
+++ b/meta/recipes-devtools/python/python3-cython_3.1.0.bb
@@ -7,8 +7,7 @@  SECTION = "devel/python"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=61c3ee8961575861fa86c7e62bc9f69c"
 
-SRC_URI += "file://0001-Output-import-relative-paths-in-generated-C-code.-GH.patch"
-SRC_URI[sha256sum] = "b988bb297ce76c671e28c97d017b95411010f7c77fa6623dd0bb47eed1aee1bc"
+SRC_URI[sha256sum] = "1097dd60d43ad0fff614a57524bfd531b35c13a907d13bee2cc2ec152e6bf4a1"
 
 inherit pypi setuptools3 cython