forked from pool/python-pycairo
- Add patch to fix build on python 3.8:
* python38.patch OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pycairo?expand=0&rev=5
This commit is contained in:
committed by
Git OBS Bridge
parent
539361c744
commit
765e3efbd8
26
python38.patch
Normal file
26
python38.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
From 71c81741495cdce132b6f45a0f596d70909c1e4d Mon Sep 17 00:00:00 2001
|
||||
From: Christoph Reiter <reiter.christoph@gmail.com>
|
||||
Date: Sat, 15 Jun 2019 16:07:00 +0200
|
||||
Subject: [PATCH] enum: explicitely set enum.__str__
|
||||
|
||||
Python 3.8 has removed the int.__str__ implementation. So we don't fall
|
||||
back to object.__str__ and thus enum.__repr__ set __str__ to int.__repr__
|
||||
instead. This gives us the same behaviour with all python versions.
|
||||
|
||||
See https://github.com/python/cpython/commit/96aeaec64738b730
|
||||
---
|
||||
cairo/enums.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/cairo/enums.c b/cairo/enums.c
|
||||
index 08fbaf3..4273232 100644
|
||||
--- a/cairo/enums.c
|
||||
+++ b/cairo/enums.c
|
||||
@@ -257,6 +257,7 @@ init_enums (PyObject *module) {
|
||||
PyObject *ev;
|
||||
|
||||
Pycairo_IntEnum_Type.tp_repr = (reprfunc)int_enum_repr;
|
||||
+ Pycairo_IntEnum_Type.tp_str = PYCAIRO_PyLong_Type.tp_repr;
|
||||
Pycairo_IntEnum_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;
|
||||
Pycairo_IntEnum_Type.tp_methods = int_enum_methods;
|
||||
Pycairo_IntEnum_Type.tp_base = &PYCAIRO_PyLong_Type;
|
Reference in New Issue
Block a user