unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: 白い熊 <help-guix_gnu.org@sumou.com>
Cc: help-guix@gnu.org
Subject: Re: Guix packaging tutorial with hand holding
Date: Thu, 30 May 2019 08:56:24 +0200	[thread overview]
Message-ID: <8736kwl9bb.fsf@elephly.net> (raw)
In-Reply-To: <443844029.1559193703837.eu.faircode.email@localhost>

Hi,

> 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
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
> — 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.

--
Ricardo

  reply	other threads:[~2019-05-30  7:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-30  5:41 Guix packaging tutorial with hand holding 白い熊
2019-05-30  6:56 ` Ricardo Wurmus [this message]
2019-06-01 22:20   ` 白い熊
2019-05-30 21:37 ` Björn Höfling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8736kwl9bb.fsf@elephly.net \
    --to=rekado@elephly.net \
    --cc=help-guix@gnu.org \
    --cc=help-guix_gnu.org@sumou.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).