IRC channel logs


back to list of logs

<rekado_>I’m struggling to reconstruct which version of Guix was used to build a particular variant of snakemake.
<rekado_>I have a couple of clues including the derivation, the derivation of a profile containing it, and clues as to the version of certain packages being used.
<rekado_>but it’s really hard to narrow things down
<PurpleSym>I’m currently fixing texlive-apa6, which lacks its dependencies. Looks like we need a new phase for texlive packages, which makes sure all `\RequirePackage` are satisfied.
<civodul>rekado_: the profile should contain provenance info in its manifest
<civodul>if not, you can look for the .drv in the Guix Data Service, unless it's a grafting derivation
<rekado_>unfortunately it is a grafting derivation
<rekado_>but I already figured out a way to build the ungrafted thing
<rekado_>so now it’s just a matter of finding the cause of the graft
<rekado_>and then build the package from the commit before that
<rekado_>there’s no provenance info, because it’s a version 3 manifest. A little too old.
<rekado_>PurpleSym: good idea
<rekado_>PurpleSym: another build phase might be to run files-differ? on the output to make sure the package contains all needed files
<rekado_>civodul: all this because of a bad ~/.bashrc! This predated the introduction of “guix shell --check”.
<rekado_>my colleague sourced their default profile in ~/.bashrc, so the development environment was a motely mix of whatever happened to be in the default profile at the time and the actual project manifest.
<rekado_>now I’m on a last minute journey to salvage the reproducibility section in the reviewed paper…
<PurpleSym>rekado_: Yeah, TeX is in a rough shape. Is there a reason we’re pulling packages from texlive and not directly from CTAN?
<PurpleSym>(Which, as I understand, is the PyPi/CRAN/… of TeX.)
<zimoun>civodul: did you followed the JCAD presentations yesterday? Some questions were… intriguing about reproducibility.
<civodul>zimoun: hi! i didn't
<civodul>intriguing in what way?
<zimoun>about the understanding of what means reproducibility in the big picture of scientific methodology.
<rekado>I found a way to reproduce the package, but I think I also found a problem
<rekado>inferiors are not the same as using guix time-machine.
<rekado>maybe that’s obvious because the profile building machinery differs between different versions of Guix
<rekado>but it also means that it’s impossible to recreate a profile that was built with multiple different versions of Guix
<civodul>rekado: you mean a profile that was built by a sequence of "guix install" and "guix pull" commands?
<rekado>but this case actually looks simpler than I anticipated
<rekado>it’s really just a manifest that was used with “guix environment -m”.
<civodul>that's why we recommend using manifests :-)
<rekado>a profile that’s built by looking up packages in an inferior differs from a profile that’s built from the same manifest contents with “guix time-machine”
<civodul>ah yes, that too
<rekado>this is what tripped me up
<civodul>do you actually use inferiors to mix packages coming from different revisions?
<rekado>never on purpose
<civodul>and by accident? ;-)
<rekado>only when I absolutely have to reconstruct a strange environment because whoever built it didn’t use a manifest
<civodul>i see
<civodul>you're doing premium support!
<rekado>yeah… :-/
<rekado>I’d rather not
<rekado>I’m on holiday, but on my last day the paper’s PDF proof was sent to us for final verification
<rekado>and that’s when I see that my feedback on the reproducibility section was not acted on
<rekado>at all.
<civodul>bah :-/
<rekado>last minute attempt to salvage this, but it’s incredibly frustrating.
<civodul>your team ought to know better, i guess
<rekado>this could have been a perfect showcase for “guix time-machine -C channels.scm -- shell foo”
<rekado>and now it’s a full page of last minute supplementary info
<rekado>not happy
<civodul>thing of the nice holidays awaiting!