diff options
author | Mart Raudsepp <leio@gentoo.org> | 2018-12-29 22:37:43 +0200 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2018-12-29 22:39:47 +0200 |
commit | e5e599b190b06e3598f238324bf165f8f930de44 (patch) | |
tree | ba16ac479cc32f0f89203a7792a2d3f7a0bb9ddf /dev-python/pygobject/files | |
parent | dev-libs/atk: remove old (diff) | |
download | gentoo-e5e599b190b06e3598f238324bf165f8f930de44.tar.gz gentoo-e5e599b190b06e3598f238324bf165f8f930de44.tar.bz2 gentoo-e5e599b190b06e3598f238324bf165f8f930de44.zip |
dev-python/pygobject: remove old
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'dev-python/pygobject/files')
-rw-r--r-- | dev-python/pygobject/files/pygobject-3.24.1-py37.patch | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/dev-python/pygobject/files/pygobject-3.24.1-py37.patch b/dev-python/pygobject/files/pygobject-3.24.1-py37.patch deleted file mode 100644 index 31250e3561c8..000000000000 --- a/dev-python/pygobject/files/pygobject-3.24.1-py37.patch +++ /dev/null @@ -1,255 +0,0 @@ -From c60ef6a2bcc05010a89328d5fc2704d1aa505e2a Mon Sep 17 00:00:00 2001 -From: Christoph Reiter <reiter.christoph@gmail.com> -Date: Sat, 10 Mar 2018 18:04:14 +0100 -Subject: [PATCH 1/4] tests_gi: Use capture_output() context manager instead of - manually mocking stdout - ---- - tests/helper.py | 2 +- - tests/test_gi.py | 14 +++----------- - 2 files changed, 4 insertions(+), 12 deletions(-) - -diff --git a/tests/helper.py b/tests/helper.py -index c4308fee..892cb740 100644 ---- a/tests/helper.py -+++ b/tests/helper.py -@@ -113,7 +113,7 @@ def capture_glib_deprecation_warnings(): - @contextlib.contextmanager - def capture_output(): - """ -- with capture_output as (stdout, stderr): -+ with capture_output() as (stdout, stderr): - some_action() - print(stdout.getvalue(), stderr.getvalue()) - """ -diff --git a/tests/test_gi.py b/tests/test_gi.py -index d0c72b64..3b77ff2d 100644 ---- a/tests/test_gi.py -+++ b/tests/test_gi.py -@@ -13,7 +13,6 @@ import subprocess - import gc - import weakref - import warnings --from io import StringIO, BytesIO - - import gi - import gi.overrides -@@ -24,7 +23,7 @@ from gi.repository import GObject, GLib, Gio - from gi.repository import GIMarshallingTests - - from compathelper import _bytes, _unicode --from helper import capture_exceptions -+from helper import capture_exceptions, capture_output - - if sys.version_info < (3, 0): - CONSTANT_UTF8 = "const \xe2\x99\xa5 utf8" -@@ -2836,16 +2835,9 @@ class TestModule(unittest.TestCase): - self.assertTrue(hasattr(item, '__class__')) - - def test_help(self): -- orig_stdout = sys.stdout -- try: -- if sys.version_info < (3, 0): -- sys.stdout = BytesIO() -- else: -- sys.stdout = StringIO() -+ with capture_output() as (stdout, stderr): - help(GIMarshallingTests) -- output = sys.stdout.getvalue() -- finally: -- sys.stdout = orig_stdout -+ output = stdout.getvalue() - - self.assertTrue('SimpleStruct' in output, output) - self.assertTrue('Interface2' in output, output) --- -2.18.0 - -From 1826e41cd317ba3c19cf8767b1ef8752f1865aac Mon Sep 17 00:00:00 2001 -From: Christoph Reiter <reiter.christoph@gmail.com> -Date: Sat, 10 Mar 2018 18:54:28 +0100 -Subject: [PATCH 2/4] IntrospectionModule: __path__ should be List[str] and not - str - -This fixes a crash when calling help() on the module which got stricter with -Python 3.7. - -It's a bit questionable why the type has __path__ in the first place as -that's only meant for packages. But let's leave that for now. ---- - gi/module.py | 5 +++-- - tests/test_gi.py | 6 ++++-- - 2 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/gi/module.py b/gi/module.py -index fd8f5080..9e8b5256 100644 ---- a/gi/module.py -+++ b/gi/module.py -@@ -124,10 +124,11 @@ class IntrospectionModule(object): - self._version = version - self.__name__ = 'gi.repository.' + namespace - -- self.__path__ = repository.get_typelib_path(self._namespace) -+ path = repository.get_typelib_path(self._namespace) -+ self.__path__ = [path] - if _have_py3: - # get_typelib_path() delivers bytes, not a string -- self.__path__ = self.__path__.decode('UTF-8') -+ self.__path__ = [path.decode('UTF-8')] - - if self._version is None: - self._version = repository.get_version(self._namespace) -diff --git a/tests/test_gi.py b/tests/test_gi.py -index 3b77ff2d..2fa0423d 100644 ---- a/tests/test_gi.py -+++ b/tests/test_gi.py -@@ -2813,8 +2813,10 @@ class TestKeywords(unittest.TestCase): - - class TestModule(unittest.TestCase): - def test_path(self): -- self.assertTrue(GIMarshallingTests.__path__.endswith('GIMarshallingTests-1.0.typelib'), -- GIMarshallingTests.__path__) -+ path = GIMarshallingTests.__path__ -+ assert isinstance(path, list) -+ assert len(path) == 1 -+ assert path[0].endswith('GIMarshallingTests-1.0.typelib') - - def test_str(self): - self.assertTrue("'GIMarshallingTests' from '" in str(GIMarshallingTests), --- -2.18.0 - -From 8adc8be0a2ab17e5215a4bc6f63a9ee391237596 Mon Sep 17 00:00:00 2001 -From: Christoph Reiter <reiter.christoph@gmail.com> -Date: Sun, 11 Mar 2018 13:13:30 +0100 -Subject: [PATCH 3/4] _struct_dealloc: handle being called with an error set - -With Python 3.7 it gets called with an error set and tp_dealloc -implementations need to handle that. -Fix by saving and restoring the error. ---- - gi/pygi-struct.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/gi/pygi-struct.c b/gi/pygi-struct.c -index 4d5b5411..e2906e0a 100644 ---- a/gi/pygi-struct.c -+++ b/gi/pygi-struct.c -@@ -61,7 +61,14 @@ out: - static void - _struct_dealloc (PyGIStruct *self) - { -- GIBaseInfo *info = _struct_get_info ( (PyObject *) self ); -+ GIBaseInfo *info; -+ PyObject *error_type, *error_value, *error_traceback; -+ gboolean have_error = !!PyErr_Occurred (); -+ -+ if (have_error) -+ PyErr_Fetch (&error_type, &error_value, &error_traceback); -+ -+ info = _struct_get_info ( (PyObject *) self ); - - if (info != NULL && g_struct_info_is_foreign ( (GIStructInfo *) info)) { - pygi_struct_foreign_release (info, pyg_pointer_get_ptr (self)); -@@ -73,6 +80,9 @@ _struct_dealloc (PyGIStruct *self) - g_base_info_unref (info); - } - -+ if (have_error) -+ PyErr_Restore (error_type, error_value, error_traceback); -+ - Py_TYPE (self)->tp_free ((PyObject *)self); - } - --- -2.18.0 - -From 2299d46e7a57a74f734844ae28bfd536e89e5254 Mon Sep 17 00:00:00 2001 -From: Christoph Reiter <reiter.christoph@gmail.com> -Date: Sat, 10 Mar 2018 20:03:33 +0100 -Subject: [PATCH 4/4] marshal-cleanup: save and restore exception around - cleanup - -With Python 3.7 some Python API in the cleanup path clears exceptions -which makes us return NULL in the end without an error set. - -Make if safe to call the cleanup functions with an error set by -saving and restoring exceptions. ---- - gi/pygi-marshal-cleanup.c | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -diff --git a/gi/pygi-marshal-cleanup.c b/gi/pygi-marshal-cleanup.c -index b4d04bc5..0e4eda3f 100644 ---- a/gi/pygi-marshal-cleanup.c -+++ b/gi/pygi-marshal-cleanup.c -@@ -93,6 +93,11 @@ pygi_marshal_cleanup_args_from_py_marshal_success (PyGIInvokeState *state, - PyGICallableCache *cache) - { - gssize i; -+ PyObject *error_type, *error_value, *error_traceback; -+ gboolean have_error = !!PyErr_Occurred (); -+ -+ if (have_error) -+ PyErr_Fetch (&error_type, &error_value, &error_traceback); - - for (i = 0; i < _pygi_callable_cache_args_len (cache); i++) { - PyGIArgCache *arg_cache = _pygi_callable_cache_get_arg (cache, i); -@@ -112,6 +117,9 @@ pygi_marshal_cleanup_args_from_py_marshal_success (PyGIInvokeState *state, - state->args[i].arg_cleanup_data = NULL; - } - } -+ -+ if (have_error) -+ PyErr_Restore (error_type, error_value, error_traceback); - } - - void -@@ -119,6 +127,12 @@ pygi_marshal_cleanup_args_to_py_marshal_success (PyGIInvokeState *state, - PyGICallableCache *cache) - { - GSList *cache_item; -+ PyObject *error_type, *error_value, *error_traceback; -+ gboolean have_error = !!PyErr_Occurred (); -+ -+ if (have_error) -+ PyErr_Fetch (&error_type, &error_value, &error_traceback); -+ - /* clean up the return if available */ - if (cache->return_cache != NULL) { - PyGIMarshalCleanupFunc cleanup_func = cache->return_cache->to_py_cleanup; -@@ -153,6 +167,9 @@ pygi_marshal_cleanup_args_to_py_marshal_success (PyGIInvokeState *state, - - cache_item = cache_item->next; - } -+ -+ if (have_error) -+ PyErr_Restore (error_type, error_value, error_traceback); - } - - void -@@ -161,6 +178,11 @@ pygi_marshal_cleanup_args_from_py_parameter_fail (PyGIInvokeState *state, - gssize failed_arg_index) - { - gssize i; -+ PyObject *error_type, *error_value, *error_traceback; -+ gboolean have_error = !!PyErr_Occurred (); -+ -+ if (have_error) -+ PyErr_Fetch (&error_type, &error_value, &error_traceback); - - state->failed = TRUE; - -@@ -192,6 +214,9 @@ pygi_marshal_cleanup_args_from_py_parameter_fail (PyGIInvokeState *state, - } - state->args[i].arg_cleanup_data = NULL; - } -+ -+ if (have_error) -+ PyErr_Restore (error_type, error_value, error_traceback); - } - - void --- -2.18.0 - |