diff --git a/0001-Fix-compatibility-with-Python-3.10.patch b/0001-Fix-compatibility-with-Python-3.10.patch new file mode 100644 index 0000000..0ee28f0 --- /dev/null +++ b/0001-Fix-compatibility-with-Python-3.10.patch @@ -0,0 +1,37 @@ +From cbf668383d83f29dd9e61ca224c242b2db337663 Mon Sep 17 00:00:00 2001 +From: Igor Raits +Date: Sun, 18 Jul 2021 18:47:05 +0200 +Subject: [PATCH] Fix compatibility with Python 3.10 + +Fixes: https://github.com/openSUSE/libsolv/issues/461 +Signed-off-by: Igor Raits +--- + bindings/solv.i | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/bindings/solv.i b/bindings/solv.i +index 3bbeca04..abfb5e15 100644 +--- a/bindings/solv.i ++++ b/bindings/solv.i +@@ -10,6 +10,12 @@ + %markfunc Pool "mark_Pool"; + #endif + ++#ifdef SWIGPYTHON ++%begin %{ ++#define PY_SSIZE_T_CLEAN ++%} ++#endif ++ + /** + ** binaryblob handling + **/ +@@ -69,7 +75,7 @@ typedef struct { + + %typemap(out,noblock=1,fragment="SWIG_FromCharPtrAndSize") BinaryBlob { + #if defined(SWIGPYTHON) && defined(PYTHON3) +- $result = $1.data ? Py_BuildValue("y#", $1.data, $1.len) : SWIG_Py_Void(); ++ $result = $1.data ? Py_BuildValue("y#", $1.data, (Py_ssize_t)$1.len) : SWIG_Py_Void(); + #elif defined(SWIGTCL) + Tcl_SetObjResult(interp, $1.data ? Tcl_NewByteArrayObj($1.data, $1.len) : NULL); + #else diff --git a/libsolv.spec b/libsolv.spec index 3f5b07a..ce3b07d 100644 --- a/libsolv.spec +++ b/libsolv.spec @@ -29,6 +29,7 @@ Summary: Package dependency solver License: BSD URL: https://github.com/openSUSE/libsolv Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz +Patch0001: https://github.com/openSUSE/libsolv/pull/462.patch#/0001-Fix-compatibility-with-Python-3.10.patch BuildRequires: cmake BuildRequires: gcc-c++