From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46656) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d4727-0003ua-CR for guix-patches@gnu.org; Fri, 28 Apr 2017 10:38:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d4723-0003CV-Eh for guix-patches@gnu.org; Fri, 28 Apr 2017 10:38:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:46639) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d4723-0003CO-AP for guix-patches@gnu.org; Fri, 28 Apr 2017 10:38:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d4723-0007RF-50 for guix-patches@gnu.org; Fri, 28 Apr 2017 10:38:03 -0400 Subject: bug#25741: [PATCH 2/2] gnu: kbd: Add neo layout. Resent-Message-ID: References: <20170215164800.15907-1-contact.ng0@cryptolab.net> <20170215164800.15907-2-contact.ng0@cryptolab.net> <8737em3ov0.fsf@elephly.net> <20170427215337.smsuh3jkuq7gw2ua@abyayala> <87d1bxarj4.fsf@elephly.net> <20170428093940.qebl5oexqszdblw3@abyayala> From: Ricardo Wurmus In-reply-to: <20170428093940.qebl5oexqszdblw3@abyayala> Date: Fri, 28 Apr 2017 16:37:52 +0200 Message-ID: <87bmrgy4vz.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: ng0 Cc: 25741@debbugs.gnu.org ng0 writes: > Would this still work as intended? > kbd is a global package, part of the base. This doesn’t matter. The question here is: does this piece of software have a mechanism to override or augment the search path for keymaps. Often this is done with environment variables. So I took the sources and searched for “getenv”: tar xf $(guix build kbd) grep getenv -r kbd-* Here’s what turned up: […] kbd-2.0.4/src/libkeymap/analyze.l: if ((ev = getenv("LOADKEYS_INCLUDE_PATH")) != NULL) { kbd-2.0.4/src/libkeymap/analyze.c: if ((ev = getenv("LOADKEYS_INCLUDE_PATH")) != NULL) { kbd-2.0.4/src/loadkeys.c: if ((ev = getenv("LOADKEYS_KEYMAP_PATH")) != NULL) { […] This might be useful. > If I create a new > package which inherits from kbd, and people have to explicitly > add it to (packages) in (operating-system), it will colide with > (kbd). I don’t understand what you mean. Guix gives us programmatic control over the package graph. It is easy to replace all instances of one package with another package (see “package-input-rewriting”). In this case that’s not even necessary; one can just take the “%base-packages” list, delete “kbd” from it, and cons “my-custom-kbd” onto it. However, none of this will be needed if you can augment the path where kbd looks for keymaps. > I feel like kbd doesn#t work this way What makes you say this? I don’t see anything special about kbd, but maybe I’m missing something here. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net