Subject: [PATCH] gnu: ibus-anthy: Update to 1.15.12

From: Alice BRENON <[email-masked]>
Date: Tue, 28 Jun 2022 10:43:04 +0200

Hi,

I have no proof that this merge is the culprit but I updated my system
~24h ago, first time since the merge on friday June the 24th (to
97766323bc6e2b4dcfba4d6b46749a4280bca709, previous update was on the
14th of June, d1f3bba66cc4c1763c7391755d884aaa723c9bb7) and now ibus
fails to load the anthy input method upon startup. The daemon starts
without it, and any time I try to restart it (with `ibus-daemon
-xrv`) loading anthy fails, yielding this stacktrace:

```
Traceback (most recent call last):
	File
	"/gnu/store/93fbwxycshdz4gcqphcns3dk0x5fxayx-ibus-anthy-1.5.14/share/ibus-anthy/engine/main.py",
	line 44, in <module>
	import factory
	File
	"/gnu/store/93fbwxycshdz4gcqphcns3dk0x5fxayx-ibus-anthy-1.5.14/share/ibus-anthy/engine/factory.py",
	line 33, in <module>
	import engine
	File
	"/gnu/store/93fbwxycshdz4gcqphcns3dk0x5fxayx-ibus-anthy-1.5.14/share/ibus-anthy/engine/engine.py",
	line 42, in <module>
	gi_require_version('Anthy', '9000')
	File
	"/gnu/store/g14amgxwm9sj24p1myw0f2hh109ymjcv-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/__init__.py",
	line 126, in require_version
	raise ValueError('Namespace %s not available' %
			namespace)
	ValueError: Namespace Anthy not available
```

I'm surprised to see that version '9000' is expected while anthy
reports version 9100h but I don't really know what should be expected
there.

At least one other person, dominicm could reproduce the issue (see
https://logs.guix.gnu.org/guix/2022-06-27.log).

I don't understand much about the inner workings of ibus, anthy or
pygobject which seems to be doing the actual work of loading Anthy, but
I've tried clearing all caches I could think of as advised by @rekado
and still face the issue. I've tried to diff the working and broken
systems to look for anthy modules and except version differences, added
translations and an appdata XML file removed, I don't see anything (I
removed the number in system-<number>-link to get a relevant diff, and
/dev/fd/63 is the one that used to work, /dev/fd/62 the new one that's
broken as can be acertained by looking at the versions associated to
ibus-anthy).

```
--- /dev/fd/63	2022-06-27 21:31:09.399685309 +0200
+++ /dev/fd/62	2022-06-27 21:31:09.399685309 +0200
@@ -5,9 +5,9 @@
 /var/guix/profiles/system-link/profile/lib/libanthydic.so.0
 /var/guix/profiles/system-link/profile/lib/libanthyinput.la
 /var/guix/profiles/system-link/profile/lib/libanthy.la
+/var/guix/profiles/system-link/profile/lib/libanthygobject-1.0.so.5.0.514
 /var/guix/profiles/system-link/profile/lib/libanthygobject-1.0.la
 /var/guix/profiles/system-link/profile/lib/libanthygobject-1.0.so.5
-/var/guix/profiles/system-link/profile/lib/libanthygobject-1.0.so.5.0.509
 /var/guix/profiles/system-link/profile/lib/libanthydic.so
 /var/guix/profiles/system-link/profile/lib/libanthy.so.0.1.0
 /var/guix/profiles/system-link/profile/lib/libanthydic.so.0.1.0
@@ -31,15 +31,23 @@
 /var/guix/profiles/system-link/profile/share/icons/hicolor/scalable/apps/ibus-anthy.svg
 /var/guix/profiles/system-link/profile/share/applications/ibus-setup-anthy.desktop
 /var/guix/profiles/system-link/profile/share/ibus-anthy
+/var/guix/profiles/system-link/profile/share/doc/ibus-anthy-1.5.14
 /var/guix/profiles/system-link/profile/share/doc/anthy-9100h
-/var/guix/profiles/system-link/profile/share/doc/ibus-anthy-1.5.9
 /var/guix/profiles/system-link/profile/share/anthy
 /var/guix/profiles/system-link/profile/share/ibus/component/anthy.xml
+/var/guix/profiles/system-link/profile/share/glib-2.0/schemas/org.freedesktop.ibus.engine.anthy.gschema.xml
+/var/guix/profiles/system-link/profile/share/metainfo/org.freedesktop.ibus.engine.anthy.metainfo.xml
 /var/guix/profiles/system-link/profile/share/locale/zh_CN/LC_MESSAGES/ibus-anthy.mo
 /var/guix/profiles/system-link/profile/share/locale/ja/LC_MESSAGES/ibus-anthy.mo
+/var/guix/profiles/system-link/profile/share/locale/cs/LC_MESSAGES/ibus-anthy.mo
 /var/guix/profiles/system-link/profile/share/locale/pt_BR/LC_MESSAGES/ibus-anthy.mo
+/var/guix/profiles/system-link/profile/share/locale/tr/LC_MESSAGES/ibus-anthy.mo
+/var/guix/profiles/system-link/profile/share/locale/hu/LC_MESSAGES/ibus-anthy.mo
+/var/guix/profiles/system-link/profile/share/locale/fi/LC_MESSAGES/ibus-anthy.mo
 /var/guix/profiles/system-link/profile/share/locale/fr/LC_MESSAGES/ibus-anthy.mo
+/var/guix/profiles/system-link/profile/share/locale/ko/LC_MESSAGES/ibus-anthy.mo
 /var/guix/profiles/system-link/profile/share/locale/el/LC_MESSAGES/ibus-anthy.mo
 /var/guix/profiles/system-link/profile/share/locale/uk/LC_MESSAGES/ibus-anthy.mo
+/var/guix/profiles/system-link/profile/share/locale/de/LC_MESSAGES/ibus-anthy.mo
+/var/guix/profiles/system-link/profile/share/locale/es/LC_MESSAGES/ibus-anthy.mo
 /var/guix/profiles/system-link/profile/share/locale/ca/LC_MESSAGES/ibus-anthy.mo
-/var/guix/profiles/system-link/profile/share/appdata/ibus-anthy.appdata.xml
```

I then tried to skip PATH resolution and call `ibus-daemon` directly
from the working and broken profiles, and both yield the same error. I
tried diffing these wrappers directly but I didn't get a clear
understanding of the differences between the variables `XDG_DATA_DIRS`,
`GTK_PATH` and `GIO_EXTRA_MODULES` that they set. Finally, I repeat
that my setup was working flawlessly before the upgrade (and still does
if I boot on the older profile), in particular my
$GUIX_GTK3_IM_MODULE_FILE variable is set properly to
/run/current-system/profile/lib/gtk-3.0/3.0.0/immodules-gtk3.cache as
advised once by lilyp, and looking at the caches in the directries near
didn't yield anything relevant either.

Higashi-san, Maxim Cournoyer, isn't any of you using ibus-anthy ? Don't
you face this issue too ?

Regards,

Alice