help-guix
[Top][All Lists]
Advanced

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

Re: pulling from my personal channel only - is this possible ?


From: Andreas Reuleaux
Subject: Re: pulling from my personal channel only - is this possible ?
Date: Wed, 01 Sep 2021 23:16:45 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Thanks again, I will have a look (but not tonight any more).

-A


raingloom <raingloom@riseup.net> writes:

> 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 via email to

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