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 2021-09-29 20:17:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-gobject (Old)
 and      /work/SRC/openSUSE:Factory/.python-gobject.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-gobject"

Wed Sep 29 20:17:51 2021 rev:89 rq:921651 version:3.42.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-gobject/python-gobject.changes    
2021-08-05 20:48:20.999915410 +0200
+++ /work/SRC/openSUSE:Factory/.python-gobject.new.1899/python-gobject.changes  
2021-09-29 20:18:18.966890915 +0200
@@ -1,0 +2,11 @@
+Mon Sep 20 10:21:08 UTC 2021 - Dominique Leuenberger <dims...@opensuse.org>
+
+- Update to version 3.42.0:
+  + meson: Bump minimum meson_version to 0.47.0.
+  + Expose GObject.Object.run_dispose().
+  + docs: document Gtk.Template.
+  + dev: Add poetry support.
+  + meson: use main branch for glib subproject.
+  + Fix some small memory leaks.
+
+-------------------------------------------------------------------

Old:
----
  pygobject-3.40.1.tar.xz

New:
----
  pygobject-3.42.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-gobject.spec ++++++
--- /var/tmp/diff_new_pack.K00elN/_old  2021-09-29 20:18:19.438891984 +0200
+++ /var/tmp/diff_new_pack.K00elN/_new  2021-09-29 20:18:19.442891993 +0200
@@ -29,13 +29,13 @@
 %global __requires_exclude_from 
^%{_libdir}/python.*/site-packages/gi/__init__.py$
 %define _name   pygobject
 Name:           python-gobject
-Version:        3.40.1
+Version:        3.42.0
 Release:        0
 Summary:        Python bindings for GObject
 License:        LGPL-2.1-or-later
 Group:          Development/Languages/Python
 URL:            https://wiki.gnome.org/Projects/PyGObject/
-Source0:        
https://download.gnome.org/sources/pygobject/3.40/%{_name}-%{version}.tar.xz
+Source0:        
https://download.gnome.org/sources/pygobject/3.42/%{_name}-%{version}.tar.xz
 
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module pycairo >= 1.16.0}

++++++ pygobject-3.40.1.tar.xz -> pygobject-3.42.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/NEWS new/pygobject-3.42.0/NEWS
--- old/pygobject-3.40.1/NEWS   2021-03-30 08:44:57.289334000 +0200
+++ new/pygobject-3.42.0/NEWS   2021-09-19 10:35:22.787498700 +0200
@@ -1,3 +1,14 @@
+3.42.0 - 2021-09-19
+-------------------
+
+* meson: Bump minimum meson_version to 0.47.0
+* Expose GObject.Object.run_dispose() :issue:`470`
+* docs: document Gtk.Template. :issue:`396`
+* dev: Add poetry support
+* meson: use main branch for glib subproject
+* Fix some small memory leaks :mr:`178`
+
+
 3.40.1 - 2021-03-30
 -------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/PKG-INFO 
new/pygobject-3.42.0/PKG-INFO
--- old/pygobject-3.40.1/PKG-INFO       2021-03-30 08:48:02.722973000 +0200
+++ new/pygobject-3.42.0/PKG-INFO       2021-09-19 12:19:43.782817600 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: PyGObject
-Version: 3.40.1
+Version: 3.42.0
 Summary: Python bindings for GObject Introspection
 Home-page: https://pygobject.readthedocs.io
 Author: James Henstridge
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/PyGObject.egg-info/PKG-INFO 
new/pygobject-3.42.0/PyGObject.egg-info/PKG-INFO
--- old/pygobject-3.40.1/PyGObject.egg-info/PKG-INFO    2021-03-30 
08:48:02.342970000 +0200
+++ new/pygobject-3.42.0/PyGObject.egg-info/PKG-INFO    2021-09-19 
12:19:43.462815300 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: PyGObject
-Version: 3.40.1
+Version: 3.42.0
 Summary: Python bindings for GObject Introspection
 Home-page: https://pygobject.readthedocs.io
 Author: James Henstridge
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/PyGObject.egg-info/SOURCES.txt 
new/pygobject-3.42.0/PyGObject.egg-info/SOURCES.txt
--- old/pygobject-3.40.1/PyGObject.egg-info/SOURCES.txt 2021-03-30 
08:48:02.382970000 +0200
+++ new/pygobject-3.42.0/PyGObject.egg-info/SOURCES.txt 2021-09-19 
12:19:43.502815500 +0200
@@ -54,6 +54,7 @@
 docs/guide/debug_profile.rst
 docs/guide/deploy.rst
 docs/guide/faq.rst
+docs/guide/gtk_template.rst
 docs/guide/index.rst
 docs/guide/porting.rst
 docs/guide/testing.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/docs/getting_started.rst 
new/pygobject-3.42.0/docs/getting_started.rst
--- old/pygobject-3.40.1/docs/getting_started.rst       2020-05-02 
22:42:27.715824100 +0200
+++ new/pygobject-3.42.0/docs/getting_started.rst       2021-09-18 
16:24:01.638779900 +0200
@@ -91,7 +91,7 @@
 
 Installing from PyPI with pip:
   #) Open a terminal and enter your virtual environment
-  #) Execute ``sudo dnf install gcc gobject-introspection-devel cairo-devel 
pkg-config python3-devel gtk3``
+  #) Execute ``sudo dnf install gcc gobject-introspection-devel 
cairo-gobject-devel pkg-config python3-devel gtk3``
      to install the build dependencies and GTK
   #) Execute ``pip3 install pycairo`` to build and install Pycairo
   #) Execute ``pip3 install PyGObject`` to build and install PyGObject
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/docs/guide/gtk_template.rst 
new/pygobject-3.42.0/docs/guide/gtk_template.rst
--- old/pygobject-3.40.1/docs/guide/gtk_template.rst    1970-01-01 
01:00:00.000000000 +0100
+++ new/pygobject-3.42.0/docs/guide/gtk_template.rst    2021-04-30 
08:21:57.033439600 +0200
@@ -0,0 +1,123 @@
+============
+Gtk.Template
+============
+
+A GtkWidget subclass can use a
+`GtkBuilder UI Definition 
<https://developer.gnome.org/gtk3/stable/GtkBuilder.html#BUILDER-UI>`__
+XML document as a template to create child widgets and set its own
+properties, without creating a GtkBuilder instance. This is implemented
+for Python by PyGObject with Gtk.Template.
+
+The subclass uses a ``@Gtk.Template`` decorator and declares a class
+variable ``__gtype_name__`` with the value of the XML ``template``
+element ``class`` attribute.
+
+Child widgets are declared, typically with the same names as the XML
+``object`` element ``id`` attributes, at the class level as instances
+of ``Gtk.Template.Child``.
+
+Signal handler methods, typically with the same names as the XML ``signal``
+element ``handler`` attributes, use the ``@Gtk.Template.Callback`` decorator.
+
+``Gtk.Template()`` takes a mandatory keyword argument passing the XML document
+or its location, either ``string``, ``filename`` or ``resource_path``.
+
+``Gtk.Template.Child()`` and ``Gtk.Template.Callback()`` optionally take
+a ``name`` argument matching the value of the respective XML attribute,
+in which case the Python attribute can have a different name.
+
+Examples
+--------
+
+.. code-block:: python
+
+    xml = """\
+    <interface>
+      <template class="example1" parent="GtkBox">
+        <child>
+          <object class="GtkButton" id="hello_button">
+            <property name="label">Hello World</property>
+            <signal name="clicked" handler="hello_button_clicked" swapped="no" 
/>
+          </object>
+        </child>
+      </template>
+    </interface>
+    """
+
+    @Gtk.Template(string=xml)
+    class Foo(Gtk.Box):
+        __gtype_name__ = "example1"
+
+        hello_button = Gtk.Template.Child()
+
+        @Gtk.Template.Callback()
+        def hello_button_clicked(self, *args):
+            pass
+
+Python attribute names that are different to the XML values:
+
+.. code-block:: python
+
+    @Gtk.Template(string=xml)
+    class Foo(Gtk.Box):
+        __gtype_name__ = "example1"
+
+        my_button = Gtk.Template.Child("hello_button")
+
+        @Gtk.Template.Callback("hello_button_clicked")
+        def bar(self, *args):
+            pass
+
+
+To add widgets to the built-in child of a parent, describe the built-in widget
+in the XML with its ``child`` element having an ``internal-child`` attribute 
set
+to the name of the built-in widget:
+
+.. code-block:: XML
+
+    <interface>
+      <template class="example2" parent="GtkDialog">
+        <child internal-child="vbox">
+          <object class="GtkBox">
+            <child>
+              <object class="GtkButton" id="hello_button">
+                <property name="label">Hello World</property>
+              </object>
+            </child>
+          </object>
+        </child>
+      </template>
+    </interface>
+
+
+Subclasses that declare ``__gtype_name__`` can be used as objects in the XML:
+
+.. code-block:: python
+
+    xml = """\
+    <interface>
+      <template class="example3" parent="GtkBox">
+        <child>
+          <object class="ExampleButton" id="hello_button">
+            <property name="label">Hello World</property>
+            <signal name="clicked" handler="hello_button_clicked" swapped="no" 
/>
+          </object>
+        </child>
+      </template>
+    </interface>
+    """
+
+
+    class HelloButton(Gtk.Button):
+        __gtype_name__ = "ExampleButton"
+
+
+    @Gtk.Template(string=xml)
+    class Foo(Gtk.Box):
+        __gtype_name__ = "example3"
+
+        hello_button = Gtk.Template.Child()
+
+        @Gtk.Template.Callback()
+        def hello_button_clicked(self, *args):
+            pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/docs/guide/index.rst 
new/pygobject-3.42.0/docs/guide/index.rst
--- old/pygobject-3.40.1/docs/guide/index.rst   2019-12-30 12:13:06.353884500 
+0100
+++ new/pygobject-3.42.0/docs/guide/index.rst   2021-04-30 08:21:57.033439600 
+0200
@@ -9,6 +9,7 @@
 
     api/index
     cairo_integration
+    gtk_template
     threading
     debug_profile
     deploy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/docs/index.rst 
new/pygobject-3.42.0/docs/index.rst
--- old/pygobject-3.40.1/docs/index.rst 2020-11-15 17:50:40.604214400 +0100
+++ new/pygobject-3.42.0/docs/index.rst 2021-04-27 15:37:26.748245000 +0200
@@ -82,7 +82,7 @@
 * `Pithos <https://pithos.github.io/>`__ - a Pandora Radio client
 * `Pitivi <http://www.pitivi.org/>`__ - a free and open source video editor
 * `Quod Libet <https://quodlibet.readthedocs.io/>`__ - a music library manager 
/ player
-* `Terminator <https://gnome-terminator.org/>` -- The Robot Future of Terminals
+* `Terminator <https://gnome-terminator.org/>`__ - The Robot Future of 
Terminals
 * `Transmageddon <http://www.linuxrising.org/>`__ - a video transcoder
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/gi/overrides/GObject.py 
new/pygobject-3.42.0/gi/overrides/GObject.py
--- old/pygobject-3.40.1/gi/overrides/GObject.py        2020-05-06 
18:48:34.871111600 +0200
+++ new/pygobject-3.42.0/gi/overrides/GObject.py        2021-04-30 
08:21:57.033439600 +0200
@@ -520,7 +520,6 @@
     interface_install_property = _unsupported_method
     interface_list_properties = _unsupported_method
     notify_by_pspec = _unsupported_method
-    run_dispose = _unsupported_method
     watch_closure = _unsupported_method
 
     # Make all reference management methods private but still accessible.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/gi/pygflags.c 
new/pygobject-3.42.0/gi/pygflags.c
--- old/pygobject-3.40.1/gi/pygflags.c  2020-05-06 18:48:34.871111600 +0200
+++ new/pygobject-3.42.0/gi/pygflags.c  2021-09-18 16:24:01.642779800 +0200
@@ -108,10 +108,13 @@
     tmp = generate_repr(self->gtype, (guint)PyLong_AsUnsignedLongMask 
((PyObject*)self));
 
     module = PyObject_GetAttrString ((PyObject *)self, "__module__");
-    if (module == NULL)
+    if (module == NULL) {
+        g_free (tmp);
         return NULL;
+    }
 
     if (!PyUnicode_Check (module)) {
+        g_free (tmp);
         Py_DECREF (module);
         return NULL;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/gi/pygi-info.c 
new/pygobject-3.42.0/gi/pygi-info.c
--- old/pygobject-3.40.1/gi/pygi-info.c 2020-11-15 17:50:40.604214400 +0100
+++ new/pygobject-3.42.0/gi/pygi-info.c 2021-09-18 16:24:01.642779800 +0200
@@ -1862,6 +1862,7 @@
 
         object_type = (PyTypeObject *) PyObject_Type (object);
         if (object_type == NULL) {
+            g_free (type_name_expected);
             return -1;
         }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/meson.build 
new/pygobject-3.42.0/meson.build
--- old/pygobject-3.40.1/meson.build    2021-03-30 08:42:55.804256000 +0200
+++ new/pygobject-3.42.0/meson.build    2021-09-19 12:18:44.102367200 +0200
@@ -1,6 +1,6 @@
 project('pygobject', 'c',
-  version : '3.40.1',
-  meson_version : '>= 0.46.0',
+  version : '3.42.0',
+  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.40.1/pyproject.toml 
new/pygobject-3.42.0/pyproject.toml
--- old/pygobject-3.40.1/pyproject.toml 2020-05-02 22:41:27.259341500 +0200
+++ new/pygobject-3.42.0/pyproject.toml 2021-09-19 12:18:44.102367200 +0200
@@ -1,2 +1,19 @@
+[tool.poetry]
+name = "PyGObject"
+version = "3.42.0"
+description = "Python bindings for GObject Introspection"
+authors = ["Christoph Reiter"]
+
+[tool.poetry.dependencies]
+python = "^3.6"
+pycairo = "^1.16"
+
+[tool.poetry.dev-dependencies]
+pytest = "^6.0.0"
+flake8 = "^3.9.1"
+Sphinx = "^3.5.4"
+sphinx-rtd-theme = "^0.5.2"
+coverage = "^5.5"
+
 [build-system]
 requires = ["setuptools", "wheel", "pycairo"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/setup.py 
new/pygobject-3.42.0/setup.py
--- old/pygobject-3.40.1/setup.py       2021-03-30 08:42:55.804256000 +0200
+++ new/pygobject-3.42.0/setup.py       2021-09-19 12:18:44.102367200 +0200
@@ -37,7 +37,7 @@
 from distutils.spawn import find_executable
 
 
-PYGOBJECT_VERSION = "3.40.1"
+PYGOBJECT_VERSION = "3.42.0"
 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.40.1/subprojects/glib.wrap 
new/pygobject-3.42.0/subprojects/glib.wrap
--- old/pygobject-3.40.1/subprojects/glib.wrap  2019-12-30 12:13:06.361884400 
+0100
+++ new/pygobject-3.42.0/subprojects/glib.wrap  2021-09-18 16:24:01.642779800 
+0200
@@ -2,4 +2,5 @@
 directory=glib
 url=https://gitlab.gnome.org/GNOME/glib.git
 push-url=g...@gitlab.gnome.org:GNOME/glib.git
-revision=master
+revision=main
+depth=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pygobject-3.40.1/subprojects/gobject-introspection.wrap 
new/pygobject-3.42.0/subprojects/gobject-introspection.wrap
--- old/pygobject-3.40.1/subprojects/gobject-introspection.wrap 2019-12-30 
12:13:06.361884400 +0100
+++ new/pygobject-3.42.0/subprojects/gobject-introspection.wrap 2021-09-18 
16:24:01.642779800 +0200
@@ -3,3 +3,4 @@
 url=https://gitlab.gnome.org/GNOME/gobject-introspection.git
 push-url=g...@gitlab.gnome.org:GNOME/gobject-introspection.git
 revision=master
+depth=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/subprojects/libffi.wrap 
new/pygobject-3.42.0/subprojects/libffi.wrap
--- old/pygobject-3.40.1/subprojects/libffi.wrap        2019-12-30 
12:13:06.361884400 +0100
+++ new/pygobject-3.42.0/subprojects/libffi.wrap        2021-09-18 
16:24:01.642779800 +0200
@@ -2,3 +2,4 @@
 directory=libffi
 url=https://github.com/centricular/libffi.git
 revision=meson
+depth=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/subprojects/pycairo.wrap 
new/pygobject-3.42.0/subprojects/pycairo.wrap
--- old/pygobject-3.40.1/subprojects/pycairo.wrap       2020-05-02 
22:42:27.719824000 +0200
+++ new/pygobject-3.42.0/subprojects/pycairo.wrap       2021-09-18 
16:24:01.642779800 +0200
@@ -2,3 +2,4 @@
 directory=pycairo
 url=https://github.com/pygobject/pycairo.git
 revision=pycairo-1.18
+depth=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/tests/test_gobject.py 
new/pygobject-3.42.0/tests/test_gobject.py
--- old/pygobject-3.40.1/tests/test_gobject.py  2020-11-15 17:50:40.608214400 
+0100
+++ new/pygobject-3.42.0/tests/test_gobject.py  2021-04-30 08:21:57.033439600 
+0200
@@ -67,6 +67,25 @@
 
 class TestGObjectAPI(unittest.TestCase):
 
+    def test_run_dispose(self):
+        class TestObject(GObject.GObject):
+            int_prop = GObject.Property(default=0, type=int)
+
+        obj = TestObject()
+        called = []
+
+        def on_notify(*args):
+            called.append(args)
+
+        obj.connect('notify::int-prop', on_notify)
+        obj.notify("int-prop")
+        obj.notify("int-prop")
+        # after this everything should be disconnected
+        obj.run_dispose()
+        obj.notify("int-prop")
+        obj.notify("int-prop")
+        assert len(called) == 2
+
     def test_call_method_uninitialized_instance(self):
         obj = GObject.Object.__new__(GObject.Object)
         with self.assertRaisesRegex(RuntimeError, '.*is not initialized'):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pygobject-3.40.1/tests/testhelpermodule.c 
new/pygobject-3.42.0/tests/testhelpermodule.c
--- old/pygobject-3.40.1/tests/testhelpermodule.c       2020-05-06 
18:48:34.883111700 +0200
+++ new/pygobject-3.42.0/tests/testhelpermodule.c       2021-09-18 
16:24:01.642779800 +0200
@@ -362,11 +362,12 @@
 static GValue *
 test_gvalue_callback (GObject *object, const GValue *v)
 {
-  GValue *ret = g_malloc0 (sizeof (GValue));
+  GValue *ret;
 
   g_return_val_if_fail (G_IS_OBJECT (object), NULL);
   g_return_val_if_fail (G_IS_VALUE (v), NULL);
 
+  ret = g_malloc0 (sizeof (GValue));
   g_value_init (ret, G_VALUE_TYPE (v));
   g_value_copy (v, ret);
   return ret;
@@ -375,10 +376,11 @@
 static GValue *
 test_gvalue_ret_callback (GObject *object, GType type)
 {
-  GValue *ret = g_malloc0 (sizeof (GValue));
+  GValue *ret;
 
   g_return_val_if_fail (G_IS_OBJECT (object), NULL);
 
+  ret = g_malloc0 (sizeof (GValue));
   g_value_init (ret, type);
 
   switch (type) {

Reply via email to