summaryrefslogtreecommitdiff
path: root/dev-python/cftime/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-07-31 10:44:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-07-31 10:44:36 +0100
commit53aea9d709c9286028405b25584181507f47442f (patch)
treee7b1ada98149b1cc40791b5bb7616d133d80d46c /dev-python/cftime/files
parent358368569cfce7dc6be9a6faed29805babe0e371 (diff)
gentoo auto-resync : 31:07:2023 - 10:44:36
Diffstat (limited to 'dev-python/cftime/files')
-rw-r--r--dev-python/cftime/files/cftime-1.6.2-cython-3.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/dev-python/cftime/files/cftime-1.6.2-cython-3.patch b/dev-python/cftime/files/cftime-1.6.2-cython-3.patch
new file mode 100644
index 000000000000..c52ebdb3c84f
--- /dev/null
+++ b/dev-python/cftime/files/cftime-1.6.2-cython-3.patch
@@ -0,0 +1,34 @@
+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(-)
+
+diff --git a/setup.py b/setup.py
+index 006f1a92..360396fa 100644
+--- a/setup.py
++++ b/setup.py
+@@ -16,7 +16,14 @@
+ 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'