mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-10-16 06:37:38 +00:00
python3-fann2: add SWIG py2/py3 C-API compat patch
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>
This commit is contained in:
2 files changed
+37
No files matched your search
+36
@@ -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[sha256sum] = "cdca0a65ad48e08320672affe38c3dd4ea15e27821e5e1db9fa2b34299bdd41e"
|
||||||
|
|
||||||
SRC_URI += " file://0001-setup.py-Don-t-hardcode-swig-and-fann2-binary-locati.patch"
|
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
|
inherit pypi setuptools3
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user