summaryrefslogtreecommitdiff
path: root/sci-libs/libsigrok/files/libsigrok-0.5.2-py313.patch
blob: a4c1be8de96a351c5d5fd327dbebce0315e29860 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
http://sigrok.org/gitweb/?p=libsigrok.git;a=commit;h=5bc8174531df86991ba8aa6d12942923925d9e72

From: Gerhard Sittig <redacted>
Date: Mon, 2 Oct 2023 16:33:08 +0000 (+0200)
Subject: bindings/python: rephrase for Python 3.9 deprecation (call API)
X-Git-Url: http://sigrok.org/gitweb/?p=libsigrok.git;a=commitdiff_plain;h=5bc8174531df86991ba8aa6d12942923925d9e72;hp=1711287ee9e5e4d37cab1cf9fcda5c98f732a137

bindings/python: rephrase for Python 3.9 deprecation (call API)

The PyEval_CallObject() routine was deprecated in Python 3.9, use
PyObject_CallObject() instead which has existed since at least 3.0.

There are also PyEval_InitThreads() deprecation warnings, but these
originate from SWIG generated code and are outside of our control.
Requires SWIG version 4.1 to silence these.

Tested-By: Sascha Silbe <redacted>
--- a/bindings/python/sigrok/core/classes.i
+++ b/bindings/python/sigrok/core/classes.i
@@ -134,7 +134,7 @@ typedef guint pyg_flags_type;
 
         auto arglist = Py_BuildValue("(OO)", log_obj, string_obj);
 
-        auto result = PyEval_CallObject($input, arglist);
+        auto result = PyObject_CallObject($input, arglist);
 
         Py_XDECREF(arglist);
         Py_XDECREF(log_obj);
@@ -177,7 +177,7 @@ typedef guint pyg_flags_type;
     $1 = [=] () {
         const auto gstate = PyGILState_Ensure();
 
-        const auto result = PyEval_CallObject($input, nullptr);
+        const auto result = PyObject_CallObject($input, nullptr);
         const bool completed = !PyErr_Occurred();
         const bool valid_result = (completed && result == Py_None);
 
@@ -221,7 +221,7 @@ typedef guint pyg_flags_type;
 
         auto arglist = Py_BuildValue("(OO)", device_obj, packet_obj);
 
-        auto result = PyEval_CallObject($input, arglist);
+        auto result = PyObject_CallObject($input, arglist);
 
         Py_XDECREF(arglist);
         Py_XDECREF(device_obj);