unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Phil <phil@beadling.co.uk>
To: zimoun <zimon.toutoune@gmail.com>
Cc: help-guix <help-guix@gnu.org>
Subject: Re: guix pull only from private channel
Date: Tue, 22 Dec 2020 09:27:34 +0000	[thread overview]
Message-ID: <858s9qxkah.fsf@beadling.co.uk> (raw)
In-Reply-To: <86wnxb9wxh.fsf@gmail.com>


zimoun writes:

> Hi,
>
> Do not take the snippet as bullet-proof.  It is a quick example to
> illustrate the Guix power. ;-)

Yep understood - it was a good starting point for me to expand on!

> You mean that:
>

> $ guix pull -C /tmp/one-channel.scm -p /tmp/one

> /tmp/one-channel.scm:2:1: error: 'guix' channel is lacking
> hint: Make sure your list of channels contains one channel named `guix' providing the core of Guix.

Yes - I think I understand now, having re-read parts of the manual.  A
channel.scm represents a guix channel AND optional other channels.  It
has to describe where guix is.

> I am not sure to understand what you want to do, but you can pin one
> “guix” version with something like:
>
> --8<---------------cut here---------------start------------->8---
> (list
>  (channel
>   (name 'past)
>   (url "https://gitlab.inria.fr/guix-hpc/guix-past.git"))
>  (channel
>   (name 'guix) ; avoid to recompute heavy derivations and build modules
>   (url "https://git.savannah.gnu.org/git/guix.git")
>   (commit "d62c9b2671be55ae0305bebfda17b595f33797f2"))) ; v1.1.0
> --8<---------------cut here---------------end--------------->8---
>

Yep this is what I've ended up doing - but am still a bit surprised that
even with a pinned guix commit id, and a private channel containing a
single trivial package with available substitute, doing a 'git pull' is
still fairly expensive (approx 1min).  This is quicker than pulling
latest guix, of course - so there is some improvement.

I was hoping that pinning the guix channel would make 'guix pull'
pretty fast.

My guess is that even though no packages are downloaded to update the
guix channel, time is still required to create the updated profile with the
pinned guix and the update to the single package in my private channel?

-------

In my (simple/limited) use-case I can avoid the 'guix pull' altogether by using
use of GUIX_PACKAGE_PATH to point to my local packages that I'm
updating - no 'guix pull' is then needed (unlike a local channel/git
repo) and I get rid of the 1min wait.

This works well but having read this in the cookbook:

"Note: Starting from Guix 0.16, the more flexible Guix channels are the
preferred way and supersede ‘GUIX_PACKAGE_PATH’."

I'm wondering GUIX_PACKAGE_PATH is ultimately going to be removed, and
replaced by local clones of channels (which I accept are far more
flexible, but in my specific use-case less efficient)?

I don't suppose anyone cares to comment on if GUIX_PACKAGE_PATH is
likely to be completely phased out in favor of channels or if it is
recognized as separately useful to channels?

Personally I think GUIX_PACKAGE_PATH still serves some practical
purpose, which is not as well covered by channels?




  reply	other threads:[~2020-12-22  9:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-15 17:58 guix pull only from private channel Phil
2020-12-16 14:07 ` zimoun
2020-12-19 12:28   ` Phil
2020-12-21 12:16     ` zimoun
2020-12-22  9:27       ` Phil [this message]
2020-12-22 11:44         ` zimoun

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=858s9qxkah.fsf@beadling.co.uk \
    --to=phil@beadling.co.uk \
    --cc=help-guix@gnu.org \
    --cc=zimon.toutoune@gmail.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).