From 08170d1fd42a57c24b47a853a1b1cc28de183828 Mon Sep 17 00:00:00 2001 From: Dave Andreoli Date: Fri, 2 Jan 2015 13:25:44 +0100 Subject: [PATCH] Disable evas.SmartObject to workaround Cython brakage. SmartObject do work fully in real, thay probably need a full rewrite, so this should not harm at all. Also disabled tests and examples --- efl/evas/efl.evas.pyx | 4 +- efl/evas/efl.evas_object_image.pxi | 2 + examples/elementary/test.py | 45 +++++-------------- setup.py | 8 ++-- tests/evas/test_06_object_smart.py | 1 + tests/evas/test_12_object_smart_as_factory.py | 1 + 6 files changed, 22 insertions(+), 39 deletions(-) diff --git a/efl/evas/efl.evas.pyx b/efl/evas/efl.evas.pyx index fc96dd0..d989aaa 100644 --- a/efl/evas/efl.evas.pyx +++ b/efl/evas/efl.evas.pyx @@ -350,7 +350,9 @@ include "efl.evas_canvas.pxi" include "efl.evas_object_events.pxi" include "efl.evas_object_callbacks.pxi" include "efl.evas_object.pxi" -include "efl.evas_object_smart.pxi" +# Disable evas smart object for the moment, because PyMethod_New is broken +# in recent Cython versions, at least in Cython 0.21.1/2 using py3. +# include "efl.evas_object_smart.pxi" include "efl.evas_object_image.pxi" include "efl.evas_object_line.pxi" include "efl.evas_object_rectangle.pxi" diff --git a/efl/evas/efl.evas_object_image.pxi b/efl/evas/efl.evas_object_image.pxi index f4977d9..e77f418 100644 --- a/efl/evas/efl.evas_object_image.pxi +++ b/efl/evas/efl.evas_object_image.pxi @@ -15,6 +15,8 @@ # You should have received a copy of the GNU Lesser General Public License # along with this Python-EFL. If not, see . +from cpython cimport PyObject + cdef extern from "Python.h": PyObject * PyMemoryView_FromBuffer(Py_buffer *info) diff --git a/examples/elementary/test.py b/examples/elementary/test.py index 854f6a6..6107239 100755 --- a/examples/elementary/test.py +++ b/examples/elementary/test.py @@ -40,26 +40,13 @@ FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL items = [ ("Core Libs", [ - ( - "Evas Objects", - "test_core_evas_objects", - "core_evas_objects_clicked" - ), - ( - "Evas Canvas Callbacks", - "test_core_evas_canvas_callbacks", - "core_evas_canvas_callbacks_clicked" - ), - ( - "Evas Object Callbacks", - "test_core_evas_object_callbacks", - "core_evas_object_callbacks_clicked"), + ("Evas Objects", "test_core_evas_objects", "core_evas_objects_clicked"), + ("Evas Canvas Callbacks", "test_core_evas_canvas_callbacks", + "core_evas_canvas_callbacks_clicked"), + ("Evas Object Callbacks", "test_core_evas_object_callbacks", + "core_evas_object_callbacks_clicked"), ("Evas Textgrid", "test_evas_textgrid", "evas_textgrid_clicked"), - ( - "Evas Smart Object", - "test_core_evas_smart", - "core_evas_smart_clicked" - ), + # ("Evas Smart Object","test_core_evas_smart","core_evas_smart_clicked"), ]), ("3D", [ ("Evas Map 3D", "test_3d", "evas3d_clicked"), @@ -143,11 +130,7 @@ items = [ ("Entry", "test_entry", "entry_clicked"), ("Entry Scrolled", "test_entry", "entry_scrolled_clicked"), ("Entry Anchor", "test_entry", "entry_anchor_clicked"), - ( - "MultiButtonEntry", - "test_multibuttonentry", - "multibuttonentry_clicked" - ), + ("MultiButtonEntry","test_multibuttonentry","multibuttonentry_clicked"), ]), ("Focus", [ ("Focus", "test_focus", "focus_clicked"), @@ -222,16 +205,10 @@ items = [ ("Day Selector", "test_dayselector", "dayselector_clicked"), ("Disk Selector", "test_diskselector", "diskselector_clicked"), ("File Selector", "test_fileselector", "fileselector_clicked"), - ( - "Fileselector button", - "test_fileselector_button", - "fileselector_button_clicked" - ), - ( - "Fileselector entry", - "test_fileselector_entry", - "fileselector_entry_clicked" - ), + ("Fileselector button", "test_fileselector_button", + "fileselector_button_clicked"), + ("Fileselector entry", "test_fileselector_entry", + "fileselector_entry_clicked"), ("Flip Selector", "test_flipselector", "flipselector_clicked"), ("Hoversel", "test_hoversel", "hoversel_clicked"), ("Index", "test_index", "index_clicked"), diff --git a/setup.py b/setup.py index 5de4e68..7fdc16a 100755 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ VERSION = "%d.%d" % (vers[0], vers[1] if vers[2] < 99 else vers[1] + 1) # dependencies CYTHON_MIN_VERSION = "0.19" -CYTHON_BLACKLIST = ("0.21.1", "0.21.2") # only used if py3 +# CYTHON_BLACKLIST = ("0.21.1", "0.21.2") # only used if py3 EFL_MIN_VER = RELEASE ELM_MIN_VER = RELEASE @@ -168,9 +168,9 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) & set(sys.argv): Cython.__version__, CYTHON_MIN_VERSION)) # Cython PyMethod_New() is broken for py3! blacklisted - if sys.version_info[0] > 2 and Cython.__version__ in CYTHON_BLACKLIST: - raise SystemExit("found %s, it's broken! Need another release" % - Cython.__version__) + # if sys.version_info[0] > 2 and Cython.__version__ in CYTHON_BLACKLIST: + # raise SystemExit("found %s, it's broken! Need another release" % + # Cython.__version__) sys.stdout.write("OK, found %s\n" % Cython.__version__) module_suffix = ".pyx" diff --git a/tests/evas/test_06_object_smart.py b/tests/evas/test_06_object_smart.py index da49b2d..f16b177 100644 --- a/tests/evas/test_06_object_smart.py +++ b/tests/evas/test_06_object_smart.py @@ -24,6 +24,7 @@ class MyObject(evas.SmartObject): self.r1.geometry = (0, 0, w2, h2) self.r2.geometry = (w2, h2, w2, h2) +@unittest.skip("SmartObject disabled") class SmartObjectTest(unittest.TestCase): def setUp(self): self.canvas = evas.Canvas(method="buffer", diff --git a/tests/evas/test_12_object_smart_as_factory.py b/tests/evas/test_12_object_smart_as_factory.py index 7b24fe5..cd4367c 100644 --- a/tests/evas/test_12_object_smart_as_factory.py +++ b/tests/evas/test_12_object_smart_as_factory.py @@ -7,6 +7,7 @@ import unittest class MyObject(evas.SmartObject): pass +@unittest.skip("SmartObject disabled") class CanvasFactory(unittest.TestCase): def setUp(self): self.canvas = evas.Canvas(method="buffer",