unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: raingloom <raingloom@riseup.net>
To: Andreas Reuleaux <rx@a-rx.info>
Cc: help-guix <help-guix@gnu.org>
Subject: Re: pulling from my personal channel only - is this possible ?
Date: Wed, 1 Sep 2021 23:57:46 +0200	[thread overview]
Message-ID: <20210901235746.5f651b7d@amethyst> (raw)
In-Reply-To: <87fsuot70w.fsf@softland>

On Wed, 01 Sep 2021 20:44:47 +0100
Andreas Reuleaux <rx@a-rx.info> wrote:

> raingloom <raingloom@riseup.net> writes:
> 
> > None that I'm aware of, but you don't need to push/pull to test
> > anything. Just use the --load-path argument or the GUILE_LOAD_PATH
> > environment variable. That way you can use a local checkout.  
> 
> 
> 
> Well, OK, thanks:
> 
> I am experimenting, and apparently all three: guix pull, guix
> package, guix build accept a --load-path parameter:
> 
> * If I call guix pull with --load-path... it still takes ~ 53s,
>   and I wanted to do that only once per day, say -- ruling out this
>   possibility
> 
> * Thus I am trying to use a --load-path w/ guix package -i,
>   or guix package -u (instead of using my personal channel)
>   but with not too much success yet, cf. below

I don't think --load-path makes much sense for guix pull. Pretty sure
that would only make sense if you were modifying the guix or gnu
namespaces, or in other words, Guix itself.

> * maybe I should use --load-path w/ guix build instead ?
>   not sure, if this make sense in my case.

It does, that is how you should be building packages. Either with
--load-path or loading an expression from a file.

> Setting the stage now: with my personal channel set up, I can
> install a few haskell packages (not found in guix core yet):
> as specified in my manifest file:
> --8<---------------cut here---------------start------------->8---
> guix package -m ~/cfg/stuff/manifest-hs.scm
> --8<---------------cut here---------------end--------------->8---
> 
> with manifest-hs.scm:
> --8<---------------cut here---------------start------------->8---
> (specifications->manifest
>   (list
>    
>    ;; "cabal-install"
> 
>    "ghc"
>    
>    ;; [channel]
>    "ghc-filepattern"
> 
>    ;; [channel]
>    "ghc-formatting"
> 
>    ;; [channel]
>    "ghc-heaps"
> 
>    ;; [channel]
>    "ghc-js-dgtable"
> 
>    ;; [channel]
>    "ghc-map-syntax"
> 
>    ;; [channel]
>    "ghc-quickcheck-text"
> 
>    ;; [channel]
>    ;; "ghc-shake"
> 
>    ;; [channel]
>    "ghc-string-interpolate"
>       
>    ))
> --8<---------------cut here---------------end--------------->8---
> 
> [channel] comments therein indicate, that these packages are from my
> channel (just as a reminder for me), for example "ghc-formatting" is
> from my channel, whereas "ghc" is from guix core. -- "ghc-shake" used
> to work for me before, but now has issues - unrelated to my question
> though, thus commented out for now (and a good candidate maybe for
> building with guix build -f ghc-shake.scm).
> 
> 
> Those packages I get installed just fine
> (and note in particular, that ghc-formatting is at v7.1.3 -
> we will change that below):
> 
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ guix package -I
> ghc-string-interpolate	0.3.1.1.849b579	out
> /gnu/store/g8rw5ppn3sdfayzfgrdq79xy3b0jkz58-ghc-string-interpolate-0.3.1.1.849b579
> ghc-quickcheck-text 	0.3.1.1.849b579	out
> /gnu/store/60wnvhmf4vjm23d85nxga4mxh2v5xhly-ghc-quickcheck-text-0.3.1.1.849b579
> ghc-map-syntax      	0.3.02d857z    	out
> /gnu/store/m3bawbfw6pqd9rrn6pwydi689dwbpjzc-ghc-map-syntax-0.3.02d857z
> ghc-js-dgtable      	0.4-849b579    	out
> /gnu/store/3g3nr1b0jl8syw52vq3dzqd0zfrq85m8-ghc-js-dgtable-0.4-849b579
> ghc-heaps           	0.4-849b579    	out
> /gnu/store/hp5d0dakjh17j92q7n1z656jhc3wbjhb-ghc-heaps-0.4-849b579
> ghc-formatting      	v7.1.3.849b579 	out
> /gnu/store/znblyzx2ki9fjx3a61m247ksgx6lc4vf-ghc-formatting-v7.1.3.849b579
> ghc-filepattern     	0.1.2-849b579  	out
> /gnu/store/jg1qyss1mms7iamplxkrbyicvc08n462-ghc-filepattern-0.1.2-849b579
> ghc                 	8.8.4          	out
> /gnu/store/0284m9ddms3w10zh1shgkimnjbidzy5j-ghc-8.8.4 git
>            2.33.0	        out
> /gnu/store/g69aj4572bllw73phbpxqbpgqb7s3zyl-git-2.33.0 rx@dell ~$
> --8<---------------cut here---------------end--------------->8---
> 
> 
> 
> Now I remove my .config/guix/channels.scm:
> 
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ rm ~/.config/guix/channels.scm 
> --8<---------------cut here---------------end--------------->8---
> 
> pull again (just guix core this time):
> 
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ guix pull
> Updating channel 'guix' from Git repository at
> 'https://git.savannah.gnu.org/git/guix.git'... Building from this
> channel: guix      https://git.savannah.gnu.org/git/guix.git
> c75b30d Computing Guix derivation for 'x86_64-linux'... -
> --8<---------------cut here---------------end--------------->8---
> 
> and remove my packages:
> 
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ guix package -r ghc-string-interpolate ghc-quickcheck-text
> ghc-map-syntax ghc-js-dgtable ghc-heaps ghc-formatting
> ghc-filepattern The following packages will be removed:
> ghc-filepattern        0.1.2-849b579 ghc-formatting
> v7.1.3.849b579 ghc-heaps              0.4-849b579
>    ghc-js-dgtable         0.4-849b579
>    ghc-map-syntax         0.3.02d857z
>    ghc-quickcheck-text    0.3.1.1.849b579
>    ghc-string-interpolate 0.3.1.1.849b579
> 
> hint: Consider setting the necessary environment variables by running:
> 
>      GUIX_PROFILE="/home/rx/.guix-profile"
>      . "$GUIX_PROFILE/etc/profile"
> 
> Alternately, see `guix package --search-paths -p
> "/home/rx/.guix-profile"'.
> 
> rx@dell ~$ guix package -I
> ghc	8.8.4	out
> /gnu/store/0284m9ddms3w10zh1shgkimnjbidzy5j-ghc-8.8.4 git
> 2.33.0	out
> /gnu/store/g69aj4572bllw73phbpxqbpgqb7s3zyl-git-2.33.0 rx@dell ~$
> --8<---------------cut here---------------end--------------->8---
> 
> 
> 
> Now having my packages locally (as from a git clone for example - I am
> developing them on another (debian) machine really - thus git comes in
> handy to get them on my guix machine dell as well):
> 
> --8<---------------cut here---------------start------------->8---
> rx@dell ~/tmp$ git clone http://git.a-rx.info/channel/
> Cloning into 'channel'...
> --8<---------------cut here---------------end--------------->8---
> 
> 
> Now I try to install them w/ --load-path:
> 
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ guix package --load-path="/tmp/rx/channel" -m
> ~/cfg/stuff/manifest-hs.scm guix package: error: ghc-filepattern:
> unknown package guix package: error: failed to load
> '/home/rx/cfg/stuff/manifest-hs.scm': gnu/packages.scm:543:4: In
> procedure specification->package+output: Throw to key `quit' with
> args `(1)'. rx@dell ~$
> --8<---------------cut here---------------end--------------->8---
> 
> 
> Not too convincing :-( -

You probably used the wrong path. I've made that mistake before.
Testing it on one of my Guix systems:
```
root@blue ~# cd /tmp
root@blue /tmp# git clone http://git.a-rx.info/channel/
Cloning into 'channel'...
root@blue /tmp# guix package --load-path="/tmp/channel" --show=ghc-filepattern
name: ghc-filepattern
```


  reply	other threads:[~2021-09-01 21:58 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-01 15:59 pulling from my personal channel only - is this possible ? Andreas Reuleaux
2021-09-01 16:53 ` raingloom
2021-09-01 19:44   ` Andreas Reuleaux
2021-09-01 21:57     ` raingloom [this message]
2021-09-01 22:16       ` Andreas Reuleaux
2021-09-01 21:16 ` Simon Streit
2021-09-01 21:43   ` Andreas Reuleaux
2021-09-01 23:26     ` Andreas Reuleaux
2021-09-02  8:33       ` Simon Streit
2021-09-01 22:15   ` Andreas Reuleaux
2021-09-02 11:29 ` zimoun
2021-09-02 11:43   ` Andreas Reuleaux
2021-09-02 20:06     ` 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=20210901235746.5f651b7d@amethyst \
    --to=raingloom@riseup.net \
    --cc=help-guix@gnu.org \
    --cc=rx@a-rx.info \
    /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).