Thanks again, I will have a look (but not tonight any more). -A
raingloom <raingl...@riseup.net> writes: > On Wed, 01 Sep 2021 20:44:47 +0100 > Andreas Reuleaux <r...@a-rx.info> wrote: > >> raingloom <raingl...@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 > ```