forked from pool/python-cftime
- add upstream cython3.patch OBS-URL: https://build.opensuse.org/request/show/1108092 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cftime?expand=0&rev=20
57 lines
2.1 KiB
Diff
57 lines
2.1 KiB
Diff
From 31f782aed3de56300886dd7350f1faff657e14dd Mon Sep 17 00:00:00 2001
|
|
From: Spencer Clark <spencerkclark@gmail.com>
|
|
Date: Sat, 29 Jul 2023 09:51:10 -0400
|
|
Subject: [PATCH] Set c_api_binop_methods compiler directive to True
|
|
|
|
This retains Cython 0.x behavior for arithmetic operators for
|
|
Cython >= 3.0.0.
|
|
---
|
|
Changelog | 2 ++
|
|
pyproject.toml | 2 +-
|
|
requirements-dev.txt | 2 +-
|
|
setup.py | 9 ++++++++-
|
|
4 files changed, 12 insertions(+), 3 deletions(-)
|
|
|
|
Index: cftime-1.6.2/pyproject.toml
|
|
===================================================================
|
|
--- cftime-1.6.2.orig/pyproject.toml
|
|
+++ cftime-1.6.2/pyproject.toml
|
|
@@ -1,3 +1,3 @@
|
|
[build-system]
|
|
-requires = ["setuptools>=41.2", "cython", "wheel", "oldest-supported-numpy"]
|
|
+requires = ["setuptools>=41.2", "cython>=0.29.20", "wheel", "oldest-supported-numpy"]
|
|
build-backend = "setuptools.build_meta"
|
|
Index: cftime-1.6.2/requirements-dev.txt
|
|
===================================================================
|
|
--- cftime-1.6.2.orig/requirements-dev.txt
|
|
+++ cftime-1.6.2/requirements-dev.txt
|
|
@@ -1,7 +1,7 @@
|
|
check-manifest
|
|
coverage
|
|
coveralls
|
|
-cython>0.26.1
|
|
+cython>=0.29.20
|
|
pytest
|
|
pytest-cov
|
|
sphinx
|
|
Index: cftime-1.6.2/setup.py
|
|
===================================================================
|
|
--- cftime-1.6.2.orig/setup.py
|
|
+++ cftime-1.6.2/setup.py
|
|
@@ -16,7 +16,14 @@ except ImportError:
|
|
BASEDIR = os.path.abspath(os.path.dirname(__file__))
|
|
SRCDIR = os.path.join(BASEDIR,'src')
|
|
CMDS_NOCYTHONIZE = ['clean','clean_cython','sdist']
|
|
-COMPILER_DIRECTIVES = {}
|
|
+COMPILER_DIRECTIVES = {
|
|
+ # Cython 3.0.0 changes the default of the c_api_binop_methods directive to
|
|
+ # False, resulting in errors in datetime and timedelta arithmetic:
|
|
+ # https://github.com/Unidata/cftime/issues/271. We explicitly set it to
|
|
+ # True to retain Cython 0.x behavior for future Cython versions. This
|
|
+ # directive was added in Cython version 0.29.20.
|
|
+ "c_api_binop_methods": True
|
|
+}
|
|
DEFINE_MACROS = [("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")]
|
|
FLAG_COVERAGE = '--cython-coverage' # custom flag enabling Cython line tracing
|
|
NAME = 'cftime'
|