Subject: Re: bug#57379: GUI toolkit for Guile 3.0?

From: Lee Thomas <[email-masked]>
Date: Sun, 28 Aug 2022 19:32:50 -0700

Thanks again, David. I was able to use a solution from Ricardo to get
guile-gi to run under guix, but it didn't work for g-golf. :-( Even so, I
was serious about wanting to help you out. My Ubuntu system has guile
3.0.7, which I hope would be OK. For g-golf, would you recommend I clone
your github repo and compile it . . . ? I can give that a try. I'm not
entirely sure that packages installed by guix won't interfere, and I don't
yet know how to uninstall guix, but I'll give it my best shot for you.

On Sun, Aug 28, 2022 at 3:42 PM David Pirotte <[email-masked]> wrote:

> Hello Lee,
>
> > Thank you greatly, David. I cleaned up my guix environment and
> > reinstalled G-Golf, and now the hello world script runs but hangs
> > after these errors:
>
> > (g-golf-hello-world.scm:494347): GLib-GObject-WARNING **:
> > 12:37:46.818: cannot register existing type 'GdkPixbuf'
>
> This is a guix problem, reported a few years ago already by one of my
> first g-golf user, the author of the nomad package. I have no idea why,
> nor what it takes to fix this in guix, but this error is the symptom
> that you (guix, not you nor g-golf) is trying to load the Gdk typelib
> more then once, which is 'unauthorized', by (GNOME) design.
>
> Until what causes this error is fixed, absolutely nothing can work.
>
> I am on Debian, where all examples work [1]
>
> > (g-golf-hello-world.scm:494347): GLib-GObject-CRITICAL **:
> > 12:37:46.818: g_type_add_interface_static: assertion
> > 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
>
> This is the symptom that you are running a g-golf version that was
> built from the devel branch - where as this is generally ok, I am also
> very cautious to what I push even on the devel branch, I am in a process
> of re-designing re-writing the way users may register new classes, that
> inherit from GInterface. I also am re-designing re-writing how users
> interact with VFunc. For these reasons, I recommend the guix team
> to stick to the latest commit of the master branch for now.
>
> The hello-world example has worked 'fine', on Debian, for many years,
> you don't need the latest commit to run it :) - though in January
> 2021, I updated it (as well as other examples) to use Gtk-4.0.
>
>         I see Ricardo also answered and tried, I'll also comment his
>         message(s) ...
>
> David
>
> [1]    in addition to what you need to install g-golf, to run the
> examples, you also need to install gir1.2-gtk-4.0:amd64 (or
> gir1.2-gtk-4.0:xxxx  for another architecture, which content is listed
> below, fwiw:
>
> dpkg -L gir1.2-gtk-4.0:amd64
> /.
> /usr
> /usr/lib
> /usr/lib/x86_64-linux-gnu
> /usr/lib/x86_64-linux-gnu/girepository-1.0
> /usr/lib/x86_64-linux-gnu/girepository-1.0/Gdk-4.0.typelib
> /usr/lib/x86_64-linux-gnu/girepository-1.0/GdkWayland-4.0.typelib
> /usr/lib/x86_64-linux-gnu/girepository-1.0/GdkX11-4.0.typelib
> /usr/lib/x86_64-linux-gnu/girepository-1.0/Gsk-4.0.typelib
> /usr/lib/x86_64-linux-gnu/girepository-1.0/Gtk-4.0.typelib
> /usr/share
> /usr/share/doc
> /usr/share/doc/gir1.2-gtk-4.0
> /usr/share/doc/gir1.2-gtk-4.0/changelog.Debian.gz
> /usr/share/doc/gir1.2-gtk-4.0/copyright
>