Hi Greg, Greg Hogan <c...@greghogan.com> writes:
> For the Python-3.5.9 tarball the first version loads in the expected way. > The second tarball is restored to a new location: > > ---------------------------------------- > $ cp -a /gnu/store/f99fblkzb6ip268sg096shhs7wzjyp55-Python-3.5.9.tar.xz > Python-3.5.9.tar.xz > $ guix download Python-3.5.9.tar.xz > /gnu/store/f99fblkzb6ip268sg096shhs7wzjyp55-Python-3.5.9.tar.xz > 0jdh9pvx6m6lfz2liwvvhn7vks7qrysqgwn517fkpxb77b33fjn2 > > $ cp -a /gnu/store/nj79fxxl5wvnq7jpj2wgbx0591gkjw41-Python-3.5.9.tar.xz > Python-3.5.9.tar.xz > $ guix download Python-3.5.9.tar.xz > /gnu/store/9sa83nyjlm5dyhwys4imm1wa40mjaw1x-Python-3.5.9.tar.xz > 0rkn451qfz3gbni57la00a5fbgish9jmm5bmhmgmf223vxwya447 > ---------------------------------------- > > Since the tarball is not restored to the original location the guix build > command still attempts the download and fails the offline build. guix download will only work properly for the outputs of "fixed-output" derivations, i.e. derivations for which Guix knows, in advance, the sha256 hash of the resulting output. This roughly corresponds to store items that either downloaded or imported directly into the store from local files (e.g. patches). It will *not* work properly for the outputs of derivations that are computed somehow, where Guix does *not* know in advance the hash of the resulting output. In particular, it won't work properly for outputs that result from applying patches or snippets. My guess is that the second tarball above was the result of applying patches to the downloaded tarball. To copy arbitrary store items from one machine to another, you need "guix copy" or "guix archive". Regards, Mark