Guake : Failed to load module "unity-gtk-module"

Bonjour, j’ai installé le terminal “guake” via :

nix-env -iA nixpkgs.guake

Résultat au lancement :slight_smile:

guake 

(.guake-wrapped:6336): Gtk-WARNING **: 12:54:28.789: Locale not supported by C library.
	Using the fallback 'C' locale.
Gtk-Message: 12:54:28.791: Failed to load module "unity-gtk-module"
Guake not running, starting it
Traceback (most recent call last):
 ➤ File "/nix/store/4jkl0zzlv9la046fivyl4a6c781bnzjp-guake-3.6.3/bin/..guake-wrapped-wrapped", line 11, in <module>
    sys.exit(exec_main())
 ➤ File "/nix/store/4jkl0zzlv9la046fivyl4a6c781bnzjp-guake-3.6.3/lib/python3.7/site-packages/guake/main.py", line 488, in exec_main
    if not main():
 ➤ File "/nix/store/4jkl0zzlv9la046fivyl4a6c781bnzjp-guake-3.6.3/lib/python3.7/site-packages/guake/main.py", line 373, in main
    from guake.guake_app import Guake
 ➤ File "/nix/store/4jkl0zzlv9la046fivyl4a6c781bnzjp-guake-3.6.3/lib/python3.7/site-packages/guake/guake_app.py", line 56, in <module>
    from guake.about import AboutDialog
 ➤ File "/nix/store/4jkl0zzlv9la046fivyl4a6c781bnzjp-guake-3.6.3/lib/python3.7/site-packages/guake/about.py", line 28, in <module>
    from guake.common import gladefile
 ➤ File "/nix/store/4jkl0zzlv9la046fivyl4a6c781bnzjp-guake-3.6.3/lib/python3.7/site-packages/guake/common.py", line 30, in <module>
    from guake.paths import GLADE_DIR
 ➤ File "/nix/store/4jkl0zzlv9la046fivyl4a6c781bnzjp-guake-3.6.3/lib/python3.7/site-packages/guake/paths.py", line 26, in <module>
    from pkg_resources import Requirement
<class 'ModuleNotFoundError'> No module named 'pkg_resources'()

Salut, j’ai l’impression c’est ce problème : guake: add missing dependency on setuptools by wamserma · Pull Request #73250 · NixOS/nixpkgs · GitHub
Sur 19.09, ça peut peut-être fonctionner si tu installes manuellement nixpkgs.python3Packages.setuptools .

Les dépôts ont été maj et effectivement, le fix corrige : nickel

Mais Guake n’est pas traduit (sur une autre distrib que nixios) non plus et c’est sans doute pour la même raison qu’ici : Création de mon premier paquet Nix - #14 by mothsart

C’est dommage et du coup, c’est un soucis récurrent à tous les softs interprétés (en tout cas dev en python).

Après enquète un peu plus approfondi (que juste, ça marche pas :sweat_smile:), je remarque que les .mo sont bien au bon endroit, que le chemin transmis à gettext est le bon.

Je décide de patcher le code et “tada”.
Donc, avec ce diff, ça fonctionne (pas partout en réalité mais c’est plus pour l’exemple) :

Du coup, j’ai du mal à déterminer si c’est le code de Guake qui est daubé (ce qui me semble le plus probable) ou celui de Nix ?
A qui dois-je remonter l’anomalie ?

J’ai trouvé le soucis : on inclus la lib gettext qui n’est pas appelé directement. Ca passe par “locale”. J’ai donc remplacé “gettext” par “locale” et voici ma première PR : correction on Guake i18n : guake use C locales (not gettext directly) by mothsART · Pull Request #78488 · NixOS/nixpkgs · GitHub