From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: IBus and different GTK versions Date: Mon, 14 Sep 2015 10:28:58 +0200 Message-ID: <87k2rt8kvp.fsf@elephly.net> References: <87a8sqa7at.fsf@elephly.net> <87mvwq35c4.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33725) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbP8R-0004C5-Jt for guix-devel@gnu.org; Mon, 14 Sep 2015 04:29:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZbP8O-0006FJ-DK for guix-devel@gnu.org; Mon, 14 Sep 2015 04:29:11 -0400 Received: from sender163-mail.zoho.com ([74.201.84.163]:25893) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZbP8O-0006F0-5H for guix-devel@gnu.org; Mon, 14 Sep 2015 04:29:08 -0400 In-reply-to: <87mvwq35c4.fsf@gmail.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: =?utf-8?B?5a6L5paH5q2m?= Cc: guix-devel 宋文武 writes: > Ricardo Wurmus writes: > >> [...] >> >> It seems that GTK3 only looks for >> ‘$libdir/gtk-3.0/3.0.0/immodules.cache’ and GTK2 only looks for >> ‘$libdir/gtk-2.0/2.10.0/immodules.cache’ by default, where ‘$libdir’ is >> ‘$out/lib’ of the GTK package. (According to >> https://developer.gnome.org/gtk3/stable/gtk-running.html) >> >> To make IBus work we need to find a way to make the different major >> versions of GTK respect different ‘immodules.cache’ files that are *not* >> located in their ‘$libdir’. In that case we could generate a fresh >> ‘immodules.cache’ file for each major GTK version when building a >> profile. Unfortunately, I haven’t been able to find any documented >> means to achieve this. It might require patching the GTKs to check an >> additional path or environment variable. >> > We can set 'GTK_EXE_PREFIX' to the '~/.guix-profile', and generate the > 'immodules.cache' files in a profile hook. It will work for both gtk2 > and gtk3 applications. Does this mean that GTK needs to be installed in the user’s profile for this to work? I thought ‘GTK_EXE_PREFIX’ would change the path of ‘$libdir’ for *all* of GTK’s libraries. It can only have one value, not a list of paths to look for libraries. ~~ Ricardo