From: Jan Palus Date: Thu, 31 Mar 2022 21:11:18 +0000 (+0200) Subject: fix build with python 3.10 X-Git-Tag: auto/th/alsa-lib-1.2.6.1-5~1 X-Git-Url: http://git.pld-linux.org/?p=packages%2Falsa-lib.git;a=commitdiff_plain;h=fd954e218ec51bb90ccd470910ccee8a8a650b25 fix build with python 3.10 from https://github.com/alsa-project/alsa-lib/pull/210 --- diff --git a/alsa-lib.spec b/alsa-lib.spec index 2bb01e8..5680a6f 100644 --- a/alsa-lib.spec +++ b/alsa-lib.spec @@ -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 index 0000000..b4a5f9d --- /dev/null +++ b/python3.10.patch @@ -0,0 +1,64 @@ +From 80a36beca0adf30abff1807ec6436ca16ee9d4de Mon Sep 17 00:00:00 2001 +From: Graham Inggs +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);