all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#63276: Allow channels to depend on a past Guix revision / private dependencies
@ 2023-05-04 15:52 Maxim Cournoyer
  2023-05-04 19:09 ` Simon Tournier
  0 siblings, 1 reply; 3+ messages in thread
From: Maxim Cournoyer @ 2023-05-04 15:52 UTC (permalink / raw)
  To: 63276

Hi,

Recently (after the last core-updates merge), I've had the following
failure on 'guix pull', caused by my 'sfl-guix-channel' channel [0]:

[0]  https://gitlab.com/Apteryks/sfl-guix-channel

--8<---------------cut here---------------start------------->8---
$ guix pull
[...]
\builder for `/gnu/store/zliavnqgx3jxp8yc44nn1y34b3bjvlcw-guix-package-cache.drv' failed to produce output path `/gnu/store/0m2c2zrphqpmfhjb60k85yhfq704ay5r-guix-package-cache'
la compilation de /gnu/store/zliavnqgx3jxp8yc44nn1y34b3bjvlcw-guix-package-cache.drv a échoué
conseil : This usually indicates a bug in one of the channels you are pulling from, or some incompatibility
among them.  You can check the build log and report the issue to the channel developers.

The channels you are pulling from are: guix sfl-packages.

Vous trouverez le journal de compilation dans « /var/log/guix/drvs/zl/iavnqgx3jxp8yc44nn1y34b3bjvlcw-guix-package-cache.drv ».
cannot build derivation `/gnu/store/v5rszp4m1vv7zf20vrb1sghi4528d40j-profile.drv': 1 dependencies couldn't be built
guix pull: erreur : build of `/gnu/store/v5rszp4m1vv7zf20vrb1sghi4528d40j-profile.drv' failed

$ tail /var/log/guix/drvs/zl/iavnqgx3jxp8yc44nn1y34b3bjvlcw-guix-package-cache.drv
  1694:48  4 (thunk)
In sfl/packages/sflvault.scm:
    75:29  3 (propagated-inputs #<package python-sflvault-common@0.9?>)
In ice-9/boot-9.scm:
  1685:16  2 (raise-exception _ #:continuable? _)
  1780:13  1 (_ #<&compound-exception components: (#<&undefined-vari?>)
In unknown file:
           0 (backtrace #<undefined>)

(exception unbound-variable (value #f) (value "Unbound variable: ~S")
(value (python-pycrypto)) (value #f))
--8<---------------cut here---------------end--------------->8---

This is caused by the use of the 'python-pycrypto' package in the
channel, removed in commit a55e18f17cc82a01c11d03bdfb693c62cb068d5c.

It seems a valid use case to have a channel that depends on an old Guix
version.  Should this be supported?

If I could for example use the following channel dependency file at the
level of the channel in a .guix-channel, to depend on an older Guix
revision:

--8<---------------cut here---------------start------------->8---
(channel
 (version 0)
 (dependencies
  (channel
   (inherit %default-guix-channel)
   (commit "9ed65e6af77893b658a7159b091b5002892c2f95"))))
--8<---------------cut here---------------end--------------->8---

And have this used by the channel *privately*, it seems it'd solve the
problem, right?

I tried 'guix pull' from the channel using the following
~/.config/guix/channels.scm file with the above .guix-channel file
installed to the ~/src/sfl-guix-channel checkout:

--8<---------------cut here---------------start------------->8---
(cons (channel
       (name 'sfl-packages)
       ;;       (url "https://gitlab.com/Apteryks/sfl-guix-channel")
       (url "file:///home/maxim/src/sfl-guix-channel"))
      %default-channels)
--8<---------------cut here---------------end--------------->8---

But I got:

--8<---------------cut here---------------start------------->8---
$ guix pull
Mise à jour du canal « sfl-packages » depuis le dépôt Git « file:///home/maxim/src/sfl-guix-channel »...
Backtrace:
          18 (primitive-load "/home/maxim/.config/guix/current/bin/g…")
In guix/ui.scm:
   2300:7 17 (run-guix . _)
  2263:10 16 (run-guix-command _ . _)
In ice-9/boot-9.scm:
  1752:10 15 (with-exception-handler _ _ #:unwind? _ # _)
  1747:15 14 (with-exception-handler #<procedure 7f64cc5c71e0 at ic…> …)
  1752:10 13 (with-exception-handler _ _ #:unwind? _ # _)
In guix/store.scm:
   659:37 12 (thunk)
In guix/status.scm:
    839:4 11 (call-with-status-report _ _)
In guix/store.scm:
   1321:3 10 (_)
   1298:8  9 (call-with-build-handler #<procedure 7f64cc5de690 at g…> …)
In guix/scripts/pull.scm:
   862:26  8 (_)
In guix/channels.scm:
    528:7  7 (loop _ _)
In guix/combinators.scm:
    48:26  6 (fold2 #<procedure 7f64cdcc66c0 at guix/channels.scm:5…> …)
In guix/channels.scm:
   560:37  5 (_ #<<channel> name: sfl-packages url: "file:///home/m…> …)
    528:7  4 (loop _ _)
In guix/combinators.scm:
    48:26  3 (fold2 #<procedure 7f64cdcc65a0 at guix/channels.scm:5…> …)
In guix/channels.scm:
   534:29  2 (_ #f () ())
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f
--8<---------------cut here---------------end--------------->8---

As a workaround, I can define a 'python-pycryto*' in the channel itself,
although that's kind of silly because it can only be used with a Guix
inferior pegged to commit 9ed65e6af77893b658a7159b091b5002892c2f95,
which does contain 'python-pycryto'.

Thoughts?

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-05-05 14:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-04 15:52 bug#63276: Allow channels to depend on a past Guix revision / private dependencies Maxim Cournoyer
2023-05-04 19:09 ` Simon Tournier
2023-05-05 14:36   ` Maxim Cournoyer

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.