Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-gobject for openSUSE:Factory checked in at 2022-04-26 20:15:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-gobject (Old) and /work/SRC/openSUSE:Factory/.python-gobject.new.1538 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gobject" Tue Apr 26 20:15:04 2022 rev:90 rq:972485 version:3.42.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-gobject/python-gobject.changes 2021-09-29 20:18:18.966890915 +0200 +++ /work/SRC/openSUSE:Factory/.python-gobject.new.1538/python-gobject.changes 2022-04-26 20:17:06.972713322 +0200 @@ -1,0 +2,13 @@ +Thu Apr 21 01:02:25 UTC 2022 - Emily Gonyer <emilyyr...@gmail.com> + +- Update to version 3.42.1: + + Do not error out for unknown scopes. + + gtk overrides: restore Gtk.ListStore.insert_with_valuesv with + newer GTK4. + + gtk overrides: Do not override Treeview.enable_model_drag_xx + for GTK4. + + Implement DynamicImporter.find_spec() to silence deprecation + warning. + + Some test/CI fixes. + +------------------------------------------------------------------- Old: ---- pygobject-3.42.0.tar.xz New: ---- pygobject-3.42.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-gobject.spec ++++++ --- /var/tmp/diff_new_pack.rh1Fd6/_old 2022-04-26 20:17:07.428713873 +0200 +++ /var/tmp/diff_new_pack.rh1Fd6/_new 2022-04-26 20:17:07.432713879 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-gobject # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,7 +29,7 @@ %global __requires_exclude_from ^%{_libdir}/python.*/site-packages/gi/__init__.py$ %define _name pygobject Name: python-gobject -Version: 3.42.0 +Version: 3.42.1 Release: 0 Summary: Python bindings for GObject License: LGPL-2.1-or-later @@ -52,7 +52,7 @@ # BuildRequires: pkgconfig(gdk-3.0) >= 2.38.0 BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.46.0 # Trigger an automatic installation of python(2|3.*)-gobject when python and libgirepository are installed. -Supplements: packageand(python:%{introspection_real_package}) +Supplements: (python and %{introspection_real_package}) %python_subpackages %description @@ -65,7 +65,7 @@ Requires: %{name} = %{version} Requires: %{name}-cairo = %{version} # See above -#Supplements: packageand(python-gobject:%%{gdk_real_package}) +#Supplements: (python-gobject and %{gdk_real_package}) %description Gdk Pygobjects is an extension module for python that gives you access to @@ -77,7 +77,7 @@ Summary: Python bindings for GObject/Cairo Group: Development/Languages/Python Requires: %{name} = %{version} -Supplements: packageand(python-gobject:%{cairo_real_package}) +Supplements: (python-gobject and %{cairo_real_package}) %description cairo Pygobjects is an extension module for python that gives you access to ++++++ pygobject-3.42.0.tar.xz -> pygobject-3.42.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/.gitlab-ci/test-msys2.sh new/pygobject-3.42.1/.gitlab-ci/test-msys2.sh --- old/pygobject-3.42.0/.gitlab-ci/test-msys2.sh 2020-11-15 17:50:40.600214500 +0100 +++ new/pygobject-3.42.1/.gitlab-ci/test-msys2.sh 2022-04-17 14:33:47.580015200 +0200 @@ -32,6 +32,9 @@ mkdir -p "${COV_DIR}" export COVERAGE_FILE="${COV_DIR}/.coverage.${COV_KEY}" +# FIXME: g_callable_info_free_closure etc +CFLAGS+=" -Wno-error=deprecated-declarations" + # https://docs.python.org/3/using/cmdline.html#envvar-PYTHONDEVMODE export PYTHONDEVMODE=1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/NEWS new/pygobject-3.42.1/NEWS --- old/pygobject-3.42.0/NEWS 2021-09-19 10:35:22.787498700 +0200 +++ new/pygobject-3.42.1/NEWS 2022-04-17 14:42:33.263242000 +0200 @@ -1,3 +1,13 @@ +3.42.1 - 2022-04-17 +------------------- + +* Do not error out for unknown scopes :mr:`179` +* gtk overrides: restore Gtk.ListStore.insert_with_valuesv with newer gtk4 :issue:`467` +* gtk overrides: Do not override Treeview.enable_model_drag_xx for GTK4 :mr:`175` +* Implement DynamicImporter.find_spec() to silence a deprecation warning with Python 3.10 :issue:`473` +* Some test/CI fixes + + 3.42.0 - 2021-09-19 ------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/PKG-INFO new/pygobject-3.42.1/PKG-INFO --- old/pygobject-3.42.0/PKG-INFO 2021-09-19 12:19:43.782817600 +0200 +++ new/pygobject-3.42.1/PKG-INFO 2022-04-17 14:46:37.864698400 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: PyGObject -Version: 3.42.0 +Version: 3.42.1 Summary: Python bindings for GObject Introspection Home-page: https://pygobject.readthedocs.io Author: James Henstridge @@ -8,29 +8,6 @@ Maintainer: Simon Feltman Maintainer-email: sfelt...@src.gnome.org License: GNU LGPL -Description: .. image:: https://pygobject.readthedocs.io/en/latest/_images/pygobject.svg - :align: center - :width: 400px - :height: 98px - - | - - **PyGObject** is a Python package which provides bindings for `GObject - <https://developer.gnome.org/gobject/stable/>`__ based libraries such as `GTK - <https://www.gtk.org/>`__, `GStreamer <https://gstreamer.freedesktop.org/>`__, - `WebKitGTK <https://webkitgtk.org/>`__, `GLib - <https://developer.gnome.org/glib/stable/>`__, `GIO - <https://developer.gnome.org/gio/stable/>`__ and many more. - - It supports Linux, Windows and macOS and works with **Python 3.6+** and - **PyPy3**. PyGObject, including this documentation, is licensed under the - **LGPLv2.1+**. - - - ---- - - For more information visit https://pygobject.readthedocs.io - Platform: POSIX, Windows Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers @@ -41,3 +18,29 @@ Classifier: Programming Language :: Python Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Python: >=3.6, <4 +License-File: COPYING + +.. image:: https://pygobject.readthedocs.io/en/latest/_images/pygobject.svg + :align: center + :width: 400px + :height: 98px + +| + +**PyGObject** is a Python package which provides bindings for `GObject +<https://developer.gnome.org/gobject/stable/>`__ based libraries such as `GTK +<https://www.gtk.org/>`__, `GStreamer <https://gstreamer.freedesktop.org/>`__, +`WebKitGTK <https://webkitgtk.org/>`__, `GLib +<https://developer.gnome.org/glib/stable/>`__, `GIO +<https://developer.gnome.org/gio/stable/>`__ and many more. + +It supports Linux, Windows and macOS and works with **Python 3.6+** and +**PyPy3**. PyGObject, including this documentation, is licensed under the +**LGPLv2.1+**. + + +---- + +For more information visit https://pygobject.readthedocs.io + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/PyGObject.egg-info/PKG-INFO new/pygobject-3.42.1/PyGObject.egg-info/PKG-INFO --- old/pygobject-3.42.0/PyGObject.egg-info/PKG-INFO 2021-09-19 12:19:43.462815300 +0200 +++ new/pygobject-3.42.1/PyGObject.egg-info/PKG-INFO 2022-04-17 14:46:37.452696300 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: PyGObject -Version: 3.42.0 +Version: 3.42.1 Summary: Python bindings for GObject Introspection Home-page: https://pygobject.readthedocs.io Author: James Henstridge @@ -8,29 +8,6 @@ Maintainer: Simon Feltman Maintainer-email: sfelt...@src.gnome.org License: GNU LGPL -Description: .. image:: https://pygobject.readthedocs.io/en/latest/_images/pygobject.svg - :align: center - :width: 400px - :height: 98px - - | - - **PyGObject** is a Python package which provides bindings for `GObject - <https://developer.gnome.org/gobject/stable/>`__ based libraries such as `GTK - <https://www.gtk.org/>`__, `GStreamer <https://gstreamer.freedesktop.org/>`__, - `WebKitGTK <https://webkitgtk.org/>`__, `GLib - <https://developer.gnome.org/glib/stable/>`__, `GIO - <https://developer.gnome.org/gio/stable/>`__ and many more. - - It supports Linux, Windows and macOS and works with **Python 3.6+** and - **PyPy3**. PyGObject, including this documentation, is licensed under the - **LGPLv2.1+**. - - - ---- - - For more information visit https://pygobject.readthedocs.io - Platform: POSIX, Windows Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers @@ -41,3 +18,29 @@ Classifier: Programming Language :: Python Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Python: >=3.6, <4 +License-File: COPYING + +.. image:: https://pygobject.readthedocs.io/en/latest/_images/pygobject.svg + :align: center + :width: 400px + :height: 98px + +| + +**PyGObject** is a Python package which provides bindings for `GObject +<https://developer.gnome.org/gobject/stable/>`__ based libraries such as `GTK +<https://www.gtk.org/>`__, `GStreamer <https://gstreamer.freedesktop.org/>`__, +`WebKitGTK <https://webkitgtk.org/>`__, `GLib +<https://developer.gnome.org/glib/stable/>`__, `GIO +<https://developer.gnome.org/gio/stable/>`__ and many more. + +It supports Linux, Windows and macOS and works with **Python 3.6+** and +**PyPy3**. PyGObject, including this documentation, is licensed under the +**LGPLv2.1+**. + + +---- + +For more information visit https://pygobject.readthedocs.io + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/gi/importer.py new/pygobject-3.42.1/gi/importer.py --- old/pygobject-3.42.0/gi/importer.py 2020-05-06 18:48:34.871111600 +0200 +++ new/pygobject-3.42.1/gi/importer.py 2022-03-28 06:47:29.139362300 +0200 @@ -107,15 +107,20 @@ def __init__(self, path): self.path = path - def find_module(self, fullname, path=None): + def _find_module_check(self, fullname): if not fullname.startswith(self.path): - return + return False path, namespace = fullname.rsplit('.', 1) - if path != self.path: - return + return path == self.path + + def find_spec(self, fullname, path=None, target=None): + if self._find_module_check(fullname): + return importlib.util.spec_from_loader(fullname, self) - return self + def find_module(self, fullname, path=None): + if self._find_module_check(fullname): + return self def load_module(self, fullname): if fullname in sys.modules: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/gi/overrides/Gtk.py new/pygobject-3.42.1/gi/overrides/Gtk.py --- old/pygobject-3.42.0/gi/overrides/Gtk.py 2021-03-19 14:26:34.823526400 +0100 +++ new/pygobject-3.42.1/gi/overrides/Gtk.py 2022-04-01 19:16:56.840291000 +0200 @@ -64,21 +64,21 @@ __all__.append('PyGTKDeprecationWarning') -def _construct_target_list(targets): - """Create a list of TargetEntry items from a list of tuples in the form (target, flags, info) - - The list can also contain existing TargetEntry items in which case the existing entry - is re-used in the return list. - """ - target_entries = [] - for entry in targets: - if not isinstance(entry, Gtk.TargetEntry): - entry = Gtk.TargetEntry.new(*entry) - target_entries.append(entry) - return target_entries +if GTK2 or GTK3: + def _construct_target_list(targets): + """Create a list of TargetEntry items from a list of tuples in the form (target, flags, info) + The list can also contain existing TargetEntry items in which case the existing entry + is re-used in the return list. + """ + target_entries = [] + for entry in targets: + if not isinstance(entry, Gtk.TargetEntry): + entry = Gtk.TargetEntry.new(*entry) + target_entries.append(entry) + return target_entries -__all__.append('_construct_target_list') + __all__.append('_construct_target_list') def _builder_connect_callback(builder, gobj, signal_name, handler_name, connect_obj, flags, obj_or_map): @@ -995,10 +995,17 @@ Gtk.ListStore.__init__(self) self.set_column_types(column_types) + # insert_with_valuesv got renamed to insert_with_values with 4.1.0 + # https://gitlab.gnome.org/GNOME/gtk/-/commit/a1216599ff6b39bca3e9 + if not hasattr(Gtk.ListStore, "insert_with_valuesv"): + insert_with_valuesv = Gtk.ListStore.insert_with_values + elif not hasattr(Gtk.ListStore, "insert_with_values"): + insert_with_values = Gtk.ListStore.insert_with_valuesv + def _do_insert(self, position, row): if row is not None: row, columns = self._convert_row(row) - treeiter = self.insert_with_valuesv(position, columns, row) + treeiter = self.insert_with_values(position, columns, row) else: treeiter = Gtk.ListStore.insert(self, position) @@ -1352,16 +1359,18 @@ get_visible_range = strip_boolean_result(Gtk.TreeView.get_visible_range) get_dest_row_at_pos = strip_boolean_result(Gtk.TreeView.get_dest_row_at_pos) - def enable_model_drag_source(self, start_button_mask, targets, actions): - target_entries = _construct_target_list(targets) - super(TreeView, self).enable_model_drag_source(start_button_mask, - target_entries, - actions) - - def enable_model_drag_dest(self, targets, actions): - target_entries = _construct_target_list(targets) - super(TreeView, self).enable_model_drag_dest(target_entries, - actions) + if GTK2 or GTK3: + def enable_model_drag_source(self, start_button_mask, targets, actions): + target_entries = _construct_target_list(targets) + super(TreeView, self).enable_model_drag_source(start_button_mask, + target_entries, + actions) + + if GTK2 or GTK3: + def enable_model_drag_dest(self, targets, actions): + target_entries = _construct_target_list(targets) + super(TreeView, self).enable_model_drag_dest(target_entries, + actions) def scroll_to_cell(self, path, column=None, use_align=False, row_align=0.0, col_align=0.0): if not isinstance(path, Gtk.TreePath): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/gi/pygi-closure.c new/pygobject-3.42.1/gi/pygi-closure.c --- old/pygobject-3.42.0/gi/pygi-closure.c 2020-05-02 22:41:27.259341500 +0200 +++ new/pygobject-3.42.1/gi/pygi-closure.c 2022-04-17 14:33:47.588015300 +0200 @@ -620,8 +620,10 @@ async_free_list = g_slist_prepend (async_free_list, closure); break; default: - g_error ("Invalid scope reached inside %s. Possibly a bad annotation?", - g_base_info_get_name (closure->info)); + /* Handle new scopes added by gobject-introspection */ + g_critical ("Unknown scope reached inside %s. Please file an issue " + "at https://gitlab.gnome.org/GNOME/pygobject/issues/new", + g_base_info_get_name (closure->info)); } _invoke_state_clear (&state); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/meson.build new/pygobject-3.42.1/meson.build --- old/pygobject-3.42.0/meson.build 2021-09-19 12:18:44.102367200 +0200 +++ new/pygobject-3.42.1/meson.build 2022-04-17 14:33:47.592015500 +0200 @@ -1,5 +1,5 @@ project('pygobject', 'c', - version : '3.42.0', + version : '3.42.1', meson_version : '>= 0.47.0', default_options : [ 'warning_level=1', 'buildtype=debugoptimized']) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/pyproject.toml new/pygobject-3.42.1/pyproject.toml --- old/pygobject-3.42.0/pyproject.toml 2021-09-19 12:18:44.102367200 +0200 +++ new/pygobject-3.42.1/pyproject.toml 2022-04-17 14:33:47.592015500 +0200 @@ -1,6 +1,6 @@ [tool.poetry] name = "PyGObject" -version = "3.42.0" +version = "3.42.1" description = "Python bindings for GObject Introspection" authors = ["Christoph Reiter"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/setup.py new/pygobject-3.42.1/setup.py --- old/pygobject-3.42.0/setup.py 2021-09-19 12:18:44.102367200 +0200 +++ new/pygobject-3.42.1/setup.py 2022-04-17 14:33:47.592015500 +0200 @@ -37,7 +37,7 @@ from distutils.spawn import find_executable -PYGOBJECT_VERSION = "3.42.0" +PYGOBJECT_VERSION = "3.42.1" GLIB_VERSION_REQUIRED = "2.56.0" GI_VERSION_REQUIRED = "1.56.0" PYCAIRO_VERSION_REQUIRED = "1.16.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/tests/__init__.py new/pygobject-3.42.1/tests/__init__.py --- old/pygobject-3.42.0/tests/__init__.py 2020-11-15 17:50:40.608214400 +0100 +++ new/pygobject-3.42.1/tests/__init__.py 2022-04-17 14:33:47.592015500 +0200 @@ -44,8 +44,10 @@ # force untranslated messages, as we check for them in some tests os.environ['LC_MESSAGES'] = 'C' os.environ['G_DEBUG'] = 'fatal-warnings fatal-criticals' - if sys.platform == "darwin": - # gtk 3.22 has warnings and ciriticals on OS X, ignore for now + if sys.platform == "darwin" or os.name == "nt": + # gtk 3.22 has warnings and ciriticals on OS X, ignore for now. + # On Windows glib will create an error dialog which will block tests + # so it's never a good idea there to make things fatal. os.environ['G_DEBUG'] = '' # make Gio able to find our gschemas.compiled in tests/. This needs to be set diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/tests/test_docstring.py new/pygobject-3.42.1/tests/test_docstring.py --- old/pygobject-3.42.0/tests/test_docstring.py 2020-11-06 17:17:01.017879700 +0100 +++ new/pygobject-3.42.1/tests/test_docstring.py 2022-03-28 06:47:29.143362300 +0200 @@ -93,8 +93,9 @@ @unittest.skipUnless(Gtk, 'no Gtk') def test_shared_array_length_with_prior_out_arg(self): # Test the 'iter' out argument does not effect length argument skipping. - self.assertEqual(Gtk.ListStore.insert_with_valuesv.__doc__, - 'insert_with_valuesv(self, position:int, columns:list, values:list) -> iter:Gtk.TreeIter') + self.assertRegex( + Gtk.ListStore.insert_with_valuesv.__doc__, + 'insert_with_values.*\\(self, position:int, columns:list, values:list\\) -> iter:Gtk.TreeIter') def test_sub_class_doc(self): class A(GObject.Object): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/tests/test_glib.py new/pygobject-3.42.1/tests/test_glib.py --- old/pygobject-3.42.0/tests/test_glib.py 2020-05-06 18:48:34.879111800 +0200 +++ new/pygobject-3.42.1/tests/test_glib.py 2022-03-28 06:47:29.143362300 +0200 @@ -282,8 +282,10 @@ self.assertGreaterEqual(micro, 0) def test_timezone_constructor(self): - timezone = GLib.TimeZone("+05:21") - self.assertEqual(timezone.get_offset(0), ((5 * 60) + 21) * 60) + with warnings.catch_warnings(): + warnings.simplefilter('ignore', DeprecationWarning) + timezone = GLib.TimeZone("+05:21") + self.assertEqual(timezone.get_offset(0), ((5 * 60) + 21) * 60) def test_source_attach_implicit_context(self): context = GLib.MainContext.default() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.42.0/tests/test_overrides_gtk.py new/pygobject-3.42.1/tests/test_overrides_gtk.py --- old/pygobject-3.42.0/tests/test_overrides_gtk.py 2021-03-19 14:26:34.823526400 +0100 +++ new/pygobject-3.42.1/tests/test_overrides_gtk.py 2022-04-01 19:16:50.500258400 +0200 @@ -786,7 +786,7 @@ @unittest.skipIf(sys.platform == "darwin", "crashes") @unittest.skipIf(GTK4, "uses lots of gtk3 only api") - def test_drag_target_list_gtk3(self): + def test_tree_view_drag_target_list_gtk3(self): mixed_target_list = [Gtk.TargetEntry.new('test0', 0, 0), ('test1', 1, 1), Gtk.TargetEntry.new('test2', 2, 2), @@ -818,6 +818,19 @@ treeview.enable_model_drag_dest(mixed_target_list, Gdk.DragAction.DEFAULT | Gdk.DragAction.MOVE) + @unittest.skipUnless(GTK4, "gtk4 only") + def test_tree_view_drag_content_formats_gtk4(self): + content_formats = Gdk.ContentFormats.new( + ["application/json", "GTK_TREE_MODEL_ROW"] + ) + treeview = Gtk.TreeView() + treeview.enable_model_drag_source(Gdk.ModifierType.BUTTON1_MASK, + content_formats, + Gdk.DragAction.MOVE) + + treeview.enable_model_drag_dest(content_formats, + Gdk.DragAction.MOVE) + @unittest.skipIf(Gtk_version == "4.0", "not in gtk4") def test_scrollbar(self): adjustment = Gtk.Adjustment() @@ -1377,6 +1390,20 @@ assert result.props.name == member +@unittest.skipUnless(Gtk, 'Gtk not available') +class TestListStore(unittest.TestCase): + + def test_insert_with_values(self): + model = Gtk.ListStore(int) + assert hasattr(model, 'insert_with_values') + iter_ = model.insert_with_values(0, (0,), [42]) + assert isinstance(iter_, Gtk.TreeIter) + assert hasattr(model, 'insert_with_valuesv') + iter_ = model.insert_with_valuesv(0, (0,), [43]) + assert isinstance(iter_, Gtk.TreeIter) + assert len(model) == 2 + + @ignore_gi_deprecation_warnings @unittest.skipUnless(Gtk, 'Gtk not available') class TestTreeModel(unittest.TestCase):