]> git.pld-linux.org Git - packages/alsa-lib.git/commitdiff
fix build with python 3.10
authorJan Palus <atler@pld-linux.org>
Thu, 31 Mar 2022 21:11:18 +0000 (23:11 +0200)
committerJan Palus <atler@pld-linux.org>
Thu, 31 Mar 2022 21:11:18 +0000 (23:11 +0200)
from https://github.com/alsa-project/alsa-lib/pull/210

alsa-lib.spec
python3.10.patch [new file with mode: 0644]

index 2bb01e8f43e1444a43069d2bf1892cdc1380eaed..5680a6f649040e4dfffe75fede824f049c572d6a 100644 (file)
@@ -29,6 +29,7 @@ Source4:      ftp://ftp.alsa-project.org/pub/lib/alsa-topology-conf-%{topology_confve
 # Source4-md5: 066d6a980e09a2fa44b4cc1d06ecc0ea
 Source5:       ftp://ftp.alsa-project.org/pub/lib/alsa-ucm-conf-%{ucm_confver}.tar.bz2
 # Source5-md5: 8b23fb19430b9e6ef47776de4b55c420
+Patch0:                python3.10.patch
 URL:           https://www.alsa-project.org/
 BuildRequires: autoconf >= 2.59
 BuildRequires: automake
@@ -202,6 +203,7 @@ Moduł wiązania Pythona dla interfejsu miksera architektury ALSA.
 
 %prep
 %setup -q
+%patch0 -p1
 cp -p %{SOURCE3} src/conf
 
 %build
diff --git a/python3.10.patch b/python3.10.patch
new file mode 100644 (file)
index 0000000..b4a5f9d
--- /dev/null
@@ -0,0 +1,64 @@
+From 80a36beca0adf30abff1807ec6436ca16ee9d4de Mon Sep 17 00:00:00 2001
+From: Graham Inggs <ginggs@debian.org>
+Date: Thu, 20 Jan 2022 09:29:37 +0200
+Subject: [PATCH] Make code compatible with Python 3.10 As noted in bpo-30459,
+ PyTuple_SET_ITEM() does not return a value.
+
+https://bugs.python.org/issue30459
+---
+ modules/mixer/simple/python.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/modules/mixer/simple/python.c b/modules/mixer/simple/python.c
+index 8a7264d4..6b51e6bc 100644
+--- a/modules/mixer/simple/python.c
++++ b/modules/mixer/simple/python.c
+@@ -775,8 +775,8 @@ pymixer_melement_new(struct pymixer *pymixer, PyObject *args)
+       obj = PyDict_GetItemString(pymixer->mdict, class);
+       if (obj) {
+               obj1 = PyTuple_New(4);
+-              if (PyTuple_SET_ITEM(obj1, 0, (PyObject *)pymixer))
+-                      Py_INCREF((PyObject *)pymixer);
++              PyTuple_SET_ITEM(obj1, 0, (PyObject *)pymixer);
++              Py_INCREF((PyObject *)pymixer);
+               PyTuple_SET_ITEM(obj1, 1, PyUnicode_FromString(name));
+               PyTuple_SET_ITEM(obj1, 2, PyInt_FromLong(index));
+               PyTuple_SET_ITEM(obj1, 3, PyInt_FromLong(weight));
+@@ -920,8 +920,8 @@ static PyObject *new_helem(struct python_priv *priv, snd_hctl_elem_t *helem)
+       obj = PyDict_GetItemString(priv->py_mdict, "HElement");
+       if (obj) {
+               obj1 = PyTuple_New(3);
+-              if (PyTuple_SET_ITEM(obj1, 0, py_hctl))
+-                      Py_INCREF(py_hctl);
++              PyTuple_SET_ITEM(obj1, 0, py_hctl);
++              Py_INCREF(py_hctl);
+               PyTuple_SET_ITEM(obj1, 1, PyFloat_FromDouble(1));
+               PyTuple_SET_ITEM(obj1, 2, PyInt_FromLong((long)helem));
+               obj2 = PyObject_CallObject(obj, obj1);
+@@ -995,11 +995,11 @@ int alsa_mixer_simple_event(snd_mixer_class_t *class, unsigned int mask,
+               }
+               if (o == NULL)
+                       return 0;
+-              if (PyTuple_SET_ITEM(t, 1, o))
+-                      Py_INCREF(o);
++              PyTuple_SET_ITEM(t, 1, o);
++              Py_INCREF(o);
+               o = melem ? find_melem(priv, melem) : Py_None;
+-              if (PyTuple_SET_ITEM(t, 2, o))
+-                      Py_INCREF(o);
++              PyTuple_SET_ITEM(t, 2, o);
++              Py_INCREF(o);
+               r = PyObject_CallObject(priv->py_event_func, t);
+               Py_DECREF(t);
+               if (r) {
+@@ -1066,8 +1066,8 @@ static int alsa_mixer_simple_pyinit(struct python_priv *priv,
+               obj1 = PyTuple_New(3);
+               PyTuple_SET_ITEM(obj1, 0, PyInt_FromLong((long)class));
+               PyTuple_SET_ITEM(obj1, 1, PyInt_FromLong((long)mixer));
+-              if (PyTuple_SET_ITEM(obj1, 2, mdict))
+-                      Py_INCREF(mdict);
++              PyTuple_SET_ITEM(obj1, 2, mdict);
++              Py_INCREF(mdict);
+               obj2 = PyObject_CallObject(obj, obj1);
+               Py_XDECREF(obj1);
+               PyDict_SetItemString(mdict, "mixer", obj2);
This page took 0.070546 seconds and 4 git commands to generate.