IRC channel logs
2022-10-11.log
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: 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. <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>do you actually use inferiors to mix packages coming from different revisions? <rekado>only when I absolutely have to reconstruct a strange environment because whoever built it didn’t use a manifest <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>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 <civodul>thing of the nice holidays awaiting!