Subject: bug#30122: python-pygobject with gtk+ broken.

From: Fis Trivial <[email-masked]>
Date: Mon, 15 Jan 2018 13:15:55 +0000

* Steps to reproduce:
Install python-pygobject with guix: `guix package -i python-pygobject`
Install gtk+ with guix: `guix package -i gtk+`

$ python
>>> from gi.repository import Gtk

* Full message
--8<---------------cut here---------------start------------->8---
Python 3.5.3 (default, Jan  1 1970, 00:00:01)
[GCC 5.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from gi.repository import Gtk
/home/fis/.guix-profile/lib/python3.5/site-packages/gi/module.py:178: Warning: cannot register existing type 'AtkImplementorIface'
  g_type = info.get_g_type()
/home/fis/.guix-profile/lib/python3.5/site-packages/gi/module.py:212: Warning: g_type_get_qdata: assertion 'node != NULL' failed
  type_ = g_type.pytype
/home/fis/.guix-profile/lib/python3.5/site-packages/gi/types.py:235: Warning: cannot register existing type 'AtkImplementorIface'
  register_interface_info(cls.__info__.get_g_type())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
  File "/home/fis/.guix-profile/lib/python3.5/site-packages/gi/importer.py", line 146, in load_module
    dynamic_module = load_overrides(introspection_module)
  File "/home/fis/.guix-profile/lib/python3.5/site-packages/gi/overrides/__init__.py", line 125, in load_overrides
    override_mod = importlib.import_module(override_package_name)
  File "/gnu/store/h29ggyz1wsmmk220gy811hy181lszz3y-python-3.5.3/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/fis/.guix-profile/lib/python3.5/site-packages/gi/overrides/Gtk.py", line 120, in <module>
    class Widget(Gtk.Widget):
  File "/home/fis/.guix-profile/lib/python3.5/site-packages/gi/module.py", line 183, in __getattr__
    interfaces = tuple(interface for interface in get_interfaces_for_object(info)
  File "/home/fis/.guix-profile/lib/python3.5/site-packages/gi/module.py", line 107, in get_interfaces_for_object
    interfaces.append(getattr(module, name))
  File "/home/fis/.guix-profile/lib/python3.5/site-packages/gi/module.py", line 222, in __getattr__
    wrapper = metaclass(name, bases, dict_)
  File "/home/fis/.guix-profile/lib/python3.5/site-packages/gi/types.py", line 235, in __init__
    register_interface_info(cls.__info__.get_g_type())
TypeError: must be an interface
--8<---------------cut here---------------end--------------->8---

* Platform
Fedora 26 x86_64

* Version
guix (GNU Guix) bad12e839c2f7823c45aa0121f7d5c9bb70905b7

I have the script running on Fedora with dependencies built by dnf, but not guix.
I searched around, tried to find out what is missing.
But it doesn't seem to be a problem caused by missing packages.