[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guix packaging tutorial with hand holding

From: Ricardo Wurmus
Subject: Re: Guix packaging tutorial with hand holding
Date: Thu, 30 May 2019 08:56:24 +0200
User-agent: mu4e 1.2.0; emacs 26.2


> The tutorial is old so it mentions the “GUIX_PACKAGE_PATH” 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 — 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’t need Github or any other externally hosted repository.  You
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 — the git. Then what? Where to
> run guix pull and guix package -u — in the git, leave the SD versions
> un-updated?

When working with the Guix source code in a git checkout you don’t
generally use “guix pull”.  Instead you use “./pre-inst-env guix” 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 “guix pull” it’s a little

> 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
> — 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’s the
definition of “fftw”, which is what both “fftwf” and “fftw-openmpi”
inherit from.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]