From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: Guix packaging tutorial with hand holding Date: Thu, 30 May 2019 08:56:24 +0200 Message-ID: <8736kwl9bb.fsf@elephly.net> References: <443844029.1559193703837.eu.faircode.email@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:49295) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hWFEp-0008S3-M0 for help-guix@gnu.org; Thu, 30 May 2019 03:12:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hWFEo-0000nG-Lk for help-guix@gnu.org; Thu, 30 May 2019 03:12:35 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21208) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hWFEo-0000mp-E0 for help-guix@gnu.org; Thu, 30 May 2019 03:12:34 -0400 In-reply-to: <443844029.1559193703837.eu.faircode.email@localhost> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: =?utf-8?B?55m944GE54aK?= Cc: help-guix@gnu.org Hi, > The tutorial is old so it mentions the =E2=80=9CGUIX_PACKAGE_PATH=E2=80= =9D approach > which is deprecated and recommends using Guix channels. This is not a problem. GUIX_PACKAGE_PATH is still supported. It works fine for this kind of thing where you temporarily extend the number of modules that Guix loads. For long-term use we recommend the use of channels instead. > In the Guix manual I see the way to add a channel to your Guix, now is > there a way to use a local git directory? So that I could experiment > locally =E2=80=94 without right away going through syncing the local git = with > an online git repository? If not I'll guess I'll have to go through > Github just to play with some intro stuff. You don=E2=80=99t need Github or any other externally hosted repository. Y= ou can use a local git directory just fine. > Second, working on the Guix git checkout is recommended as the best > way. What is the way of working with Guix git checkout on a GuixSD > system? I.e. should I pull, build it =E2=80=94 the git. Then what? Where = to > run guix pull and guix package -u =E2=80=94 in the git, leave the SD vers= ions > un-updated? When working with the Guix source code in a git checkout you don=E2=80=99t generally use =E2=80=9Cguix pull=E2=80=9D. Instead you use =E2=80=9C./pre-= inst-env guix=E2=80=9D to have Guix act on the modified source code. Using the git checkout is how you can modify modules that are part of Guix, which is how you can create patches that we can apply to Guix, so that everybody benefits from your changes. If you want to keep using the git checkout as your primary installation of Guix you can do that too, but combined with =E2=80=9Cguix pull=E2=80=9D = it=E2=80=99s a little inconvenient. > Finally, are there some nice examples of using inheritance? I.e. I > just want to add a compile option, or some dependency to some package > =E2=80=94 is there some example I can play with? Yes, there are a couple of packages in Guix that are just variants of other packages. In gnu/packages/algebra.scm, for example, there=E2=80=99s = the definition of =E2=80=9Cfftw=E2=80=9D, which is what both =E2=80=9Cfftwf=E2= =80=9D and =E2=80=9Cfftw-openmpi=E2=80=9D inherit from. -- Ricardo