Ricardo Wurmus writes: > NixOS encountered the same problem: > > https://github.com/NixOS/nixpkgs/pull/14568 > > I don’t like their solution to set a variable NIX_PROFILES and let GTK > look for immodule files in each of the directories. Why don't you like their solution? Why do you believe that your proposed solution is better than their solution? We should make sure to choose the best solution available, and right now I'm not sure which one is better. > Instead, I think we should patch both GTK versions to respect > GUIX_GTK2_IM_MODULE_FILE and GUIX_GTK3_IM_MODULE_FILE, and generate > the immodule cache files in a profile hook. > > We did something similar before with GUIX_GTK2_PATH and GUIX_GTK3_PATH. I believe you are referring to this thread: https://lists.gnu.org/archive/html/guix-devel/2015-12/msg00046.html Did that patch actually get committed? If so, why didn't it solve the problem? I've read all the relevant discussions I could find [1], and it isn't clear to me why we need to do what you're suggesting ("patch both GTK versions to respect GUIX_GTK2_IM_MODULE_FILE and GUIX_GTK3_IM_MODULE_FILE, and generate the immodule cache files in a profile hook") if we've already committed the patch presented in the thread above. > What do you think? Is this acceptable/reasonable? Because upstream has made it clear that they won't accept a patch like this, I think it'd be great to patch it ourselves and fix it. I think it would be nice to have a solution that is similar to what NixOS does, but if your patch is really better than NixOS' solution, I would love to see it committed. Ricardo Wurmus writes: > Alex Griffin writes: > >> On Wed, Aug 10, 2016, at 04:09 PM, Ricardo Wurmus wrote: >>> What do you think? Is this acceptable/reasonable? >> >> It seems to me like it's probably fine, for whatever that's worth, and >> also cleaner than the NIX_PROFILES solution. How will this work on >> foreign distros, though? > > On foreign distros you would have to use IBus from Guix with GTK from > Guix. This means that installing IBus from Guix and expecting it to > work with the foreign distro’s applications won’t work. Likewise you > cannot use the distro’s IBus and use it in applications installed via > Guix. > > That’s a general problem — we already experience this with R or Python > (mixing modules installed via different means causes crashes). As unpleasant as that would be, it would still be better than the current situation, in which IBus doesn't work for all installed applications due to the GTK+ major version incompatibility. Footnotes: [1] All the threads here: * GuixSD discussion: https://lists.gnu.org/archive/html/guix-devel/2015-09/msg00306.html * GuixSD solution (?): https://lists.gnu.org/archive/html/guix-devel/2015-12/msg00046.html * More GuixSD discussion (I wasn't aware of the other threads at the time):https://lists.gnu.org/archive/html/help-guix/2016-04/msg00006.html * NixOS solution: https://github.com/NixOS/nixpkgs/pull/14568 * NixOS discussion: https://github.com/NixOS/nixpkgs/pull/14417 * Upstream response to NixOS patch: https://bugzilla.gnome.org/show_bug.cgi?id=764551 -- Chris