Python bindings for GObject

Edit Package python-gobject

Pygobjects is an extension module for python that gives you access to
GLib's GObjects.

Refresh
Refresh
Source Files
Filename Size Changed
pygobject-3.46.0.tar.xz 0000561552 548 KB
python-gobject.changes 0000102973 101 KB
python-gobject.spec 0000008096 7.91 KB
Revision 96 (latest revision is 98)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1110890 from Dominique Leuenberger's avatar Dominique Leuenberger (dimstar) (revision 96)
- Update to version 3.46.0:
  + Add support for Python 3.12.
  + Drop GTK 2 support.
  + Complete the PEP-451 implementation in gi.importer.
  + Replace usage of deprecated FFI closure API.
  + Fix invalid marshalling in some cases for boxed values, for
    example with Gtk.StyleContext.get_property().
  + Consistent setting of enum and flag property.
  + Fix docstring for methods that return an array and have a
    length (out) argument.
  + Overrides:
    - Fix incompatibility for CssProvider.load_from_data() (GTK
      4.10).
    - Allow Gdk.{Color,RGBA} instances to be compared with other
      objects.
    - Add overrides for Gdk.FileList in Gdk-4.0.
  + Updated documentation.
- Add explicit BuildRequires on pkgconfig(libffi). This is looked
  by the build scripts and was already being pulled in by something
  else. (forwarded request 1110326 from iznogood)
Comments 11

Christoph Reiter's avatar

What's up with the extra -Gdk package split? The changelog suggests that it's to prevent depending on various X11 related things, but overrides in PyGObject are only active if the respective typelib gets loaded and they don't add a dependency.


Dominique Leuenberger's avatar

The deps is on an RPM level - having typelib(GtK) being pulled in means you get an X-stack for all cases.


Christoph Reiter's avatar

(I'm not that familiar with the rpm/spec sytem)

What does pull in the gtk typelib?. PyGObject does not depend on gtk+, only its test suite those.


Dominique Leuenberger's avatar

e.g. from /usr/lib64/python2.7/site-packages/gi/overrides/Gdk.py

    require_version("GdkX11", Gdk._version)
    from gi.repository import GdkX11

=> that gives a typelib(GdkX11) dependency

hence, not splitting Gdk.py into a sep sub-package makes the entire python[23]-gobject require GTK dependencies


Dominique Leuenberger's avatar

and if you install a headless system (think also containers), you're happy to be able to avoid deps on pango, cairo. gtk, x11


Christoph Reiter's avatar

If you don't use gdk this file never gets executed so it doesn't add a dependency.


Dominique Leuenberger's avatar

RPM has to satisfy its dependencies at install time, not at runtime.


Christoph Reiter's avatar

There is nothing to satisfy as there is no dependency.

anyway, just note that splitting things this way is not supported upstream and you get to keep the bug reports.


Dominique Leuenberger's avatar

If upstream does not get the concept of rpm deps, I honestly do not care - packaging bugs are ours, and upstream would not care for them anyway. This split is understood by us distro maintainers and why know how to deal with it.


Christoph Reiter's avatar

I guess I don't get it. It just seems like added complexity for no gain to me.

Looking at some pygobject apps: pitivi, lollypop, gramps, d-feet don't seem depend on it.


Dominique Leuenberger's avatar

rpm -qRf /usr/lib64/python2.7/site-packages/gi/overrides/Gdk.py

python(abi) = 2.7
python2-gobject = 3.24.1
python2-gobject-cairo = 3.24.1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsLzma) <= 4.4.6-1
typelib(GObject)
typelib(Gdk)
typelib(GdkX11)
typelib(Gtk)
typelib(Pango)
typelib(cairo)
openSUSE Build Service is sponsored by