new file mode 100644
@@ -0,0 +1,36 @@
+From: Khem Raj <khem.raj@oss.qualcomm.com>
+Subject: fann2.i: add py2/py3 C-API compat macros
+
+The HELPER_ARRAY_TEMPLATE typemaps in fann2.i use the Python 2 C-API
+names PyInt_Check/PyInt_AsLong/PyInt_FromLong. Python 3.14 no longer
+ships any fallback definitions for them, so the SWIG-generated wrapper
+fails to compile:
+
+ fann2/fann2_wrap.cxx:10062:41: error: use of undeclared identifier 'PyInt_AsLong'; did you mean 'PyLong_AsLong'?
+
+Map them to their PyLong_* equivalents.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
+---
+--- a/fann2/fann2.i
++++ b/fann2/fann2.i
+@@ -15,6 +15,18 @@
+ #include "fann_cpp_subclass.h"
+ %}
+
++%{
++#ifndef PyInt_Check
++#define PyInt_Check(x) PyLong_Check(x)
++#endif
++#ifndef PyInt_AsLong
++#define PyInt_AsLong(x) PyLong_AsLong(x)
++#endif
++#ifndef PyInt_FromLong
++#define PyInt_FromLong(x) PyLong_FromLong(x)
++#endif
++%}
++
+ %define HELPER_ARRAY_TEMPLATE( templ , T, GetFunc, SetFunc, cast)
+ %typemap(in) templ<T> * (templ<T> temp){
+ // templ<T>* type_map in
@@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c73b943dc75f6f65e007c56ac6515c8f"
SRC_URI[sha256sum] = "cdca0a65ad48e08320672affe38c3dd4ea15e27821e5e1db9fa2b34299bdd41e"
SRC_URI += " file://0001-setup.py-Don-t-hardcode-swig-and-fann2-binary-locati.patch"
+SRC_URI += " file://0002-fann2.i-add-py2-py3-C-API-compat-macros.patch"
inherit pypi setuptools3
fann2.i's HELPER_ARRAY_TEMPLATE typemaps use the Python 2 C-API names PyInt_Check/PyInt_AsLong/PyInt_FromLong. Python 3.14 no longer ships any fallback definitions for them, so the SWIG-generated wrapper fails to compile: fann2/fann2_wrap.cxx:10062:41: error: use of undeclared identifier 'PyInt_AsLong'; did you mean 'PyLong_AsLong'? Add a patch mapping them to their PyLong_* equivalents. Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> --- ...n2.i-add-py2-py3-C-API-compat-macros.patch | 36 +++++++++++++++++++ .../python/python3-fann2_1.1.2.bb | 1 + 2 files changed, 37 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-fann2/0002-fann2.i-add-py2-py3-C-API-compat-macros.patch