unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Edouard Klein <edou@rdklein.fr>
To: Andreas Reuleaux <rx@a-rx.info>
Cc: help-guix@gnu.org
Subject: Re: setting up my own channel (for some personal packages)
Date: Sat, 28 Aug 2021 19:40:47 +0200	[thread overview]
Message-ID: <87h7f95us8.fsf@rdklein.fr> (raw)
In-Reply-To: <87r1ed1rpf.fsf@softland>

Hi,

I am not sure, but here is my try:

I cloned your channel2 repo, and saw in emacs-hide-comnt.scm:

(define-module (gnu packages emacs-hide-comnt)

Modules names in Guile (in all schemes ?) must match the path, so either
put emacs-hide-comnt.scm in gnu/packages, or change the above line to:

(define-module (emacs-hide-comnt)

See that urweb.scm starts with:
(define-module (urweb)

My interpretation is that the error message means that the
emacs-hide-comnt module was not found where it was looked for, i.e. in
gnu/packages.

This may not be the only problem, but it is worth a try.

Good luck :)

Cheers,

Edouard.


Andreas Reuleaux <rx@a-rx.info> writes:

> Hi,
>
> I am trying to set up my own channel for some personal packages,
> and I do have some success to that end, but I am still experiencing
> issues:
>
>
> TL;dr - short summary:
>
>   my package: emacs-hide-comnt.scm (below) breaks my setup for "guix pull"
>   (which otherwise works just fine without that package)
>   my package emacs-hide-comnt.scm cannot be too bad either:
>   I can build+install it just fine by hand.
>   
>
>
> I am following the guix guide, and have stolen two packages from
>
> --8<---------------cut here---------------start------------->8---
> https://github.com/jsoo1/guix-channel
> --8<---------------cut here---------------end--------------->8---
>
>
> namely emacs-dump.scm (which provides my-emacs-dump), and
> urweb.scm.
>
> I have set up my own git repo (with just these two packages for now) at:
>
> --8<---------------cut here---------------start------------->8---
> http://git.a-rx.info/channel
> --8<---------------cut here---------------end--------------->8---
>
>
> and (with a git-url) in my ~/.config/guix/channels.scm:
>
> --8<---------------cut here---------------start------------->8---
> (cons (channel
>        (name 'my-stuff)
>
>
>        (url "git://git.a-rx.info/channel")
>
>        (introduction
>         (make-channel-introduction
> 	 "56384c65b5d57606cd7ff3e2a4db1c99c24d7adf"
>          (openpgp-fingerprint
>           "99BB E77D 73AE 07B9 D4B0  CA2E 3384 11E5 6E09 31B5")
>          ))
>
>        )
>       %default-channels)
> --8<---------------cut here---------------end--------------->8---
>
>
>
> I can "guix pull" (I am using "--allow-downgrades" the first time here, as I have used
> channel my-stuff with a different inital commit before), anyway this
> works fine so far - guix pull does not complain about the my-stuff channel.
>
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ guix pull --allow-downgrades
> Updating channel 'my-stuff' from Git repository at 'git://git.a-rx.info/channel'...
> guix pull: warning: moving channel 'my-stuff' from 12ac4ab75c0b9dc247af3a65179c566e198d908d to unrelated commit 56384c65b5d57606cd7ff3e2a4db1c99c24d7adf
> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> Building from these channels:
>   guix      https://git.savannah.gnu.org/git/guix.git	63fec9f
>   my-stuff  git://git.a-rx.info/channel	56384c6
> Computing Guix derivation for 'x86_64-linux'... /
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
> The following derivations will be built:
>    /gnu/store/dsb3bcmddgsvn34wxh0g2mbm4lyq1haz-profile.drv
>    /gnu/store/d227lqkghmg48b34b81si8hdmz3vba64-my-stuff.drv
>    /gnu/store/mcp30c79gi9cdnckg4ghahkaygn85ykk-inferior-script.scm.drv
>    /gnu/store/d84yrjgr6bkg7c6h9i0bxjz7cfxhisp2-profile.drv
>    /gnu/store/vrr8flhvf06xprqm6n9q45pj10h7r10g-inferior-script.scm.drv
>
> building /gnu/store/mcp30c79gi9cdnckg4ghahkaygn85ykk-inferior-script.scm.drv...
> building /gnu/store/d227lqkghmg48b34b81si8hdmz3vba64-my-stuff.drv...
> building CA certificate bundle...
> listing Emacs sub-directories...
> building fonts directory...
> building directory of Info manuals...
> building database for manual pages...
> building profile with 2 packages...
> building /gnu/store/vrr8flhvf06xprqm6n9q45pj10h7r10g-inferior-script.scm.drv...
> building package cache...
> building profile with 2 packages...
> New in this revision:
>   2 new packages: lsofgraph, urweb
>
> rx@dell ~$ guix pull 
> Updating channel 'my-stuff' from Git repository at 'git://git.a-rx.info/channel'...
> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> Building from these channels:
>   guix      https://git.savannah.gnu.org/git/guix.git	63fec9f
>   my-stuff  git://git.a-rx.info/channel	56384c6
> Computing Guix derivation for 'x86_64-linux'... /
> nothing to be done
>
> rx@dell ~$
> --8<---------------cut here---------------end--------------->8---
>
>
> and "urweb" is available, for example
>
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ guix package -A urwe
> urweb	20190217	out	urweb.scm:15:2
> rx@dell ~
> --8<---------------cut here---------------end--------------->8---
>
>
>
>
> Thus apparently my setup is not too bad (including my rx.key in the
> keyring branch etc.).
>
>
> Now I am setting up a second channel2 instead: again with the two packages
> emacs-dump.scm and urweb.scm as above, but additionally an emacs package
> that I have created myself: emacs-hide-comnt.scm
>
> (Really this is just a prerequisite for another package that I am
> interested in, and I have a package definition for as well:
> emacs-thing-cmds.scm - but I keep that question for another mail):
>
> Now with my ~/.config/guix/channels.scm for channel2:
>
> --8<---------------cut here---------------start------------->8---
> (cons (channel
>        (name 'my-stuff2)
>
>
>        (url "git://git.a-rx.info/channel2")
>
>        (introduction
>         (make-channel-introduction
> 	 "3a64194919ceeb16ee03df17de2c3c612d410145"
>          (openpgp-fingerprint
>           "99BB E77D 73AE 07B9 D4B0  CA2E 3384 11E5 6E09 31B5")
>          ))
>
>        )
>       %default-channels)
> --8<---------------cut here---------------end--------------->8---
>
>
>
> I cannot pull any more:
>
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ guix pull 
> Updating channel 'my-stuff2' from Git repository at 'git://git.a-rx.info/channel2'...
> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> Building from these channels:
>   guix      https://git.savannah.gnu.org/git/guix.git	63fec9f
>   my-stuff2 git://git.a-rx.info/channel2	3a64194
> Computing Guix derivation for 'x86_64-linux'... -
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
> The following derivations will be built:
>    /gnu/store/1vvwqnj7d1hp8nf8kcpf1r5wrlibkxya-profile.drv
>    /gnu/store/hiqych1a0qdmdzq45mi1k96df9zr0p7k-my-stuff2.drv
>    /gnu/store/b0hk5dvfid7pkjxrwfylmkn5w3pwzbxq-inferior-script.scm.drv
>    /gnu/store/5ww6yaqz98jnkp2gfdpjzksx5azwd63i-inferior-script.scm.drv
>    /gnu/store/j9w5gvf7slfc1ahmryd45i0nfr3j8509-profile.drv
>
> building /gnu/store/b0hk5dvfid7pkjxrwfylmkn5w3pwzbxq-inferior-script.scm.drv...
> building /gnu/store/hiqych1a0qdmdzq45mi1k96df9zr0p7k-my-stuff2.drv...
> |builder for `/gnu/store/hiqych1a0qdmdzq45mi1k96df9zr0p7k-my-stuff2.drv' failed to produce output path `/gnu/store/ww01v7zdx110q887146y9m67j3rikypw-my-stuff2'
> build of /gnu/store/hiqych1a0qdmdzq45mi1k96df9zr0p7k-my-stuff2.drv failed
> View build log at '/var/log/guix/drvs/hi/qych1a0qdmdzq45mi1k96df9zr0p7k-my-stuff2.drv.bz2'.
> cannot build derivation `/gnu/store/1vvwqnj7d1hp8nf8kcpf1r5wrlibkxya-profile.drv': 1 dependencies couldn't be built
> guix pull: error: build of `/gnu/store/1vvwqnj7d1hp8nf8kcpf1r5wrlibkxya-profile.drv' failed
> rx@dell ~$
> --8<---------------cut here---------------end--------------->8---
>
>
> with
>
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ bzcat '/var/log/guix/drvs/hi/qych1a0qdmdzq45mi1k96df9zr0p7k-my-stuff2.drv.bz2'
> (repl-version 0 1 1)
> (exception misc-error (value #f) (value "no code for module ~S") (value ((emacs-hide-comnt))) (value #f))
> rx@dell ~$
> --8<---------------cut here---------------end--------------->8---
>
>
>
> Apparently my emacs-hide-comnt.scm package
> at http://git.a-rx.info/channel2/tree/ breaks my setup.
>
> And I don't see why: I can download the package and build/install it
> just fine:
>
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ wget -nd http://git.a-rx.info/channel2/plain/emacs-hide-comnt.scm
> --2021-08-28 16:46:47--  http://git.a-rx.info/channel2/plain/emacs-hide-comnt.scm
> Resolving git.a-rx.info (git.a-rx.info)... 178.79.166.98
> Connecting to git.a-rx.info (git.a-rx.info)|178.79.166.98|:80... connected.
> HTTP request sent, awaiting response... 200 OK
> Length: 2035 (2.0K) [text/plain]
> Saving to: ‘emacs-hide-comnt.scm’
>
> emacs-hide-comnt.scm               100%[===============================================================>]   1.99K  --.-KB/s    in 0s      
>
> 2021-08-28 16:46:47 (324 MB/s) - ‘emacs-hide-comnt.scm’ saved [2035/2035]
>
> rx@dell ~$
> --8<---------------cut here---------------end--------------->8---
>
> --8<---------------cut here---------------start------------->8---
> rx@dell ~$ guix build -f emacs-hide-comnt.scm 
> /gnu/store/w098p5vxd0iy31mxkcp47xk3n5f5d175-emacs-hide-comnt-2019.11
> rx@dell ~$ 
> rx@dell ~$ guix install $(guix build -f emacs-hide-comnt.scm)
> The following package will be upgraded:
>    emacs-hide-comnt (dependencies or package changed)
>
> nothing to be done
> rx@dell ~$
> --8<---------------cut here---------------end--------------->8---
>
>
>
> Hm???
>
> One difference that I see: my emacs-hide-comnt.scm has
> a last line of 
>
> --8<---------------cut here---------------start------------->8---
> emacs-hide-comnt
> --8<---------------cut here---------------end--------------->8---
>
> and I need that for building the package by hand - If I remove
> that line (the corresponding packages: emacs-dump.scm, urweb.scm
> don't have such last lines): then I cannot build my package by hand
> any more - and worse: I still cannot pull from my channel2 ??
>
> Thanks in advance.



  reply	other threads:[~2021-08-28 17:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-28 16:04 setting up my own channel (for some personal packages) Andreas Reuleaux
2021-08-28 17:40 ` Edouard Klein [this message]
2021-08-28 18:43   ` Andreas Reuleaux
2021-08-29 16:30     ` 'edk@beaver-labs.com'
2021-08-29 16:46       ` Tobias Geerinckx-Rice

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=87h7f95us8.fsf@rdklein.fr \
    --to=edou@rdklein.fr \
    --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).