New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ibus-engines.table: fix after update of settings infrastructure #61978
Conversation
@jtojnar As probably the only person following this, can you comment? |
Hmm, I would expect the standard constructor to work: https://github.com/ibus/ibus/blob/82a728de97308f6ce36c814e30a292f96e76cc13/bindings/pygobject/gi/overrides/IBus.py#L155-L174 Perhaps adding ibus to |
One more thing I noticed, during the build:
Apparently, there are multiple schema directories: $ file /nix/store/airn74yfk0zbb3r9ym10w93inff80rwh-ibus-with-plugins-1.5.20/share/gsettings-schemas/*/glib-2.0/schemas
/nix/store/airn74yfk0zbb3r9ym10w93inff80rwh-ibus-with-plugins-1.5.20/share/gsettings-schemas/ibus-1.5.20/glib-2.0/schemas: directory
/nix/store/airn74yfk0zbb3r9ym10w93inff80rwh-ibus-with-plugins-1.5.20/share/gsettings-schemas/ibus-table-1.9.21/glib-2.0/schemas: directory Which trips up glib setup hook:
|
Hmm, I am still getting #56621 (comment) when I click Input Method (IPA-X-SAMPA) Preferences in |
And that will not be enough since we are not actually building overrides in ibus. |
The following should work --- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -130,6 +130,7 @@
dconf
gdk_pixbuf
gobject-introspection
+ python3.pkgs.pygobject3 # for pygobject overrides
gtk2
gtk3
isocodes
@@ -140,6 +141,11 @@
wayland
];
+ makeFlags = [
+ # build does not make the path relative to prefix
+ "pyoverridesdir=${placeholder "out"}/${python3.sitePackages}/gi/overrides"
+ ];
+
enableParallelBuilding = true;
doCheck = false; # requires X11 daemon see https://github.com/ibus/ibus/blob/82a728de97308f6ce36c814e30a292f96e76cc13/configure.ac#L432 and https://github.com/ibus/ibus/blob/82a728de97308f6ce36c814e30a292f96e76cc13/bindings/pygobject/Makefile.am#L35 but it does not:
Edit: the issue is that we still build Python 2 library so we actually need to override https://github.com/ibus/ibus/blob/82a728de97308f6ce36c814e30a292f96e76cc13/configure.ac#L436 |
Thanks for working on this! I'll test it all out and work out how to organise the commits. I guess it doesn't really matter between making a new commit for these changes vs modifying the old commit. |
Can confirm the same behaviour. Input methods fundamentally work. Preferences for ibus-table via ibus-setup interface do not show. Preferences do, however, work by clicking the tray icon and choosing “Setup”. |
Yeah, that probably has something to do with the Looking at https://github.com/mike-fabian/ibus-table/blob/7bf7a90d189364678a53aad1149246b5bff3a2e8/engine/ibus_table_location.py#L52, I wonder how does it even work when we are unsetting the env vars. I would expect a crash. |
Fixes NixOS#56621. Adds a wrapper to deal with gsettings, and includes a hack to make things actually work (postFixup).
Co-Authored-By: Jan Tojnar <jtojnar@gmail.com>
Sorry for leaving this for a while. After a quick test, I'm sufficiently convinced that we don't need the |
This should be good to go now, right? Unless anyone else is wanting to test too |
Thanks. If I recall correctly, there were still some issues with the preferences but this should at least fix the breakage that was preventing ibus-table from working at all. |
I'll have another look at that, because I think everything's working fine on my machine. |
Motivation for this change
Fixes #56621. Adds a wrapper to deal with gsettings, and includes a hack to make things actually work (postFixup).
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)