diff options
author | Marek Szuba <marecki@gentoo.org> | 2021-06-04 12:21:30 +0100 |
---|---|---|
committer | Marek Szuba <marecki@gentoo.org> | 2021-06-04 12:23:44 +0100 |
commit | 7efabb81f9bbfc7ea149285949a27400ea6db736 (patch) | |
tree | 172a3faa3c9471158859ea3287ed0fc33f8dcd04 /media-gfx/zbar | |
parent | media-gfx/zbar: drop 0.23-r1 (diff) | |
download | gentoo-7efabb81f9bbfc7ea149285949a27400ea6db736.tar.gz gentoo-7efabb81f9bbfc7ea149285949a27400ea6db736.tar.bz2 gentoo-7efabb81f9bbfc7ea149285949a27400ea6db736.zip |
media-gfx/zbar: fix python3_9 compilation failure
Backported upstream fix. Tested against python3_8 and python3_9,
compiles fine against both.
Reported-by: PhobosK <phobosk@fastmail.fm>
Closes: https://bugs.gentoo.org/788703
Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'media-gfx/zbar')
-rw-r--r-- | media-gfx/zbar/files/zbar-0.23.1_python_tp_print.patch | 55 | ||||
-rw-r--r-- | media-gfx/zbar/zbar-0.23.1.ebuild | 1 |
2 files changed, 56 insertions, 0 deletions
diff --git a/media-gfx/zbar/files/zbar-0.23.1_python_tp_print.patch b/media-gfx/zbar/files/zbar-0.23.1_python_tp_print.patch new file mode 100644 index 000000000000..8d4d821426d2 --- /dev/null +++ b/media-gfx/zbar/files/zbar-0.23.1_python_tp_print.patch @@ -0,0 +1,55 @@ +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, + }; + diff --git a/media-gfx/zbar/zbar-0.23.1.ebuild b/media-gfx/zbar/zbar-0.23.1.ebuild index d74a878a969a..7b07b269b68f 100644 --- a/media-gfx/zbar/zbar-0.23.1.ebuild +++ b/media-gfx/zbar/zbar-0.23.1.ebuild @@ -87,6 +87,7 @@ PATCHES=( "${FILESDIR}/${PN}-0.23_fix_Qt5X11Extras_detect.patch" "${FILESDIR}/${PN}-0.23_fix_python_detect.patch" "${FILESDIR}/${P}-autoconf-2.70.patch" + "${FILESDIR}/${PN}-0.23.1_python_tp_print.patch" ) DOCS=( README.md NEWS.md TODO.md HACKING.md TODO.md ChangeLog ) |