Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37573556
en ru br
Репозитории ALT

Группа :: Графика
Пакет: zbar

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: 938d39716488b545b92c28f48acc94a7b8fc9138.patch
Скачать


From 938d39716488b545b92c28f48acc94a7b8fc9138 Mon Sep 17 00:00:00 2001
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Date: Tue, 28 Jul 2020 10:27:30 +0200
Subject: [PATCH] python: enum: make it compatible with Python 3.9
As reported by:
	https://github.com/mchehab/zbar/issues/92
python bindings don't build with Python 3.9, because it is
using tp_print, which has been silently ignored since Python
3.0, according with[1]:
	"The tp_print slot of PyTypeObject has been removed.
	 It was used for printing objects to files in Python 2.7
	 and before.
	 Since Python 3.0, it has been ignored and unused."
[1] https://docs.python.org/3.9/whatsnew/3.9.html#id3
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 python/enum.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/python/enum.c b/python/enum.c
index a1135531..dfe1b1ef 100644
--- a/python/enum.c
+++ b/python/enum.c
@@ -76,6 +76,8 @@ enumitem_str (zbarEnumItem *self)
     return(self->name);
 }
 
+#if PY_MAJOR_VERSION < 3
+/* tp_print was dropped on Python 3.9 */
 static int
 enumitem_print (zbarEnumItem *self,
                 FILE *fp,
@@ -83,6 +85,7 @@ enumitem_print (zbarEnumItem *self,
 {
     return(self->name->ob_type->tp_print(self->name, fp, flags));
 }
+#endif
 
 static PyObject*
 enumitem_repr (zbarEnumItem *self)
@@ -115,7 +118,9 @@ PyTypeObject zbarEnumItem_Type = {
     .tp_new         = (newfunc)enumitem_new,
     .tp_dealloc     = (destructor)enumitem_dealloc,
     .tp_str         = (reprfunc)enumitem_str,
+#if PY_MAJOR_VERSION < 3
     .tp_print       = (printfunc)enumitem_print,
+#endif
     .tp_repr        = (reprfunc)enumitem_repr,
 };
 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin