IRC channel logs

2022-11-17.log

back to list of logs

<rekado>guix workflow does not work with the time machine
<rekado>I???m testing with: ./pre-inst-env guix time-machine --commit=64c0bc0252d7e91c0ce08a0b90fe5a7244fa904c -- workflow
<rekado>and it throws a weird error: https://elephly.net/paste/1668717411.html
<rekado>this looks like it???s about loading guile-config???s (config api), but that???s not using #:inlinable-exports AFAICT
<civodul>i wouldn't use ./pre-inst-env together with "guix time-machine", unless you're debugging time-machine itself
<civodul>what's #:inlinable-exports ?
<rekado>sorry, that???s pre-inst-env from GWL
<rekado>I can reproduce this with: ./pre-inst-env /home/rekado/.cache/guix/inferiors/tlenat6h6zp3jrve7ywo47t7gbz4it3vrjb7uzdowvx37urf43za/bin/guix workflow
<civodul>oh
<rekado>no idea what #:inlinable-exports is.
<rekado>it doesn???t appear in my code
<civodul>apparently that's the name of an optimization pass
<rekado>I???m guessing that this is something to do with my load path shenanigans
<civodul>i imagine something like one bit compiled with Guile 3.0.8 (which supports cross-module inlining) running on 3.0.7
<rekado>yes, my thoughts exactly
<rekado>I am in fact using guile 3.0.8, but curiously the load path contains a whole lot of 3.0.7.
<rekado>and that???s because /home/rekado/.cache/guix/inferiors/tlenat6h6zp3jrve7ywo47t7gbz4it3vrjb7uzdowvx37urf43za/bin/guix is built with Guile 3.0.7
<rekado>ugh, no idea how to work around this.
<rekado>GWL has other dependencies like guile-config; that???s built with a current version of Guile. I can???t just use the old Guix???s load path.
<rekado>one more obstacle that makes me think that extension won???t work like this.
<rekado>I think I can work around this
<rekado>we???re already using inferiors for package lookups; I just need to avoid setting the load path while the potentially older guile is running.
<civodul>this is tricky
<rekado>I think I got it
<rekado>instead of setting the load path in (guix extensions workflow) I set it in the invocation of ???guile??? before evaluating (@ (gwl main) guix-workflow-main)
<rekado>this does the trick: https://elephly.net/paste/1668719288.patch.html
<civodul>so it spawns a new Guile process and it's that process that adjusts its load path
<civodul>clever
<rekado>???clever??? is a nice way of spelling ???gross??? :)
<civodul>yeah "gross" may also be a valid qualifier :-)