Hi, If the package source tarball is provided to ’--with-source’, then the hash differs. I would expect a fixed point.
Let investigate: --8<---------------cut here---------------start------------->8--- $ guix build hello@2.10 --with-source=hello=https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz /gnu/store/zfwhbbknkhxi3yqmp0qgh1l1crljgbm6-hello-2.10 $ guix build hello@2.10 /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10 --8<---------------cut here---------------end--------------->8--- Where https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz is an official mirror. I expect the same store item. Why are they different? It is because the derivations are different. The first call contains the source tarball as an “input”; that’s fine. The second call contains the source tarball as a derivation; again that’s fine. The corresponding first and second derivations are: --8<---------------cut here---------------start------------->8--- Derive ([("out","/gnu/store/zfwhbbknkhxi3yqmp0qgh1l1crljgbm6-hello-2.10","","")] ,[("/gnu/store/101ny738l311p4fm3cas7jgnkzagjv6a-module-import-compiled.drv",["out"]) [...] ,("/gnu/store/z4s27gwacbw8f38andfsh21r8v330dag-xz-5.2.4.drv",["out"])] ,["/gnu/store/8a0wry8cvr405ha8d8bpjyzj5dzghigd-module-import", "/gnu/store/chariqd6k0sli3s7vcl4q3al0crirz5v-hello-2.10.tar.gz", "/gnu/store/rndq9g8877l29ha41dvsl3aj1z0gw0ng-hello-2.10-guile-builder"] [...] --8<---------------cut here---------------end--------------->8--- and --8<---------------cut here---------------start------------->8--- Derive ([("out","/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10","","")] ,[("/gnu/store/101ny738l311p4fm3cas7jgnkzagjv6a-module-import-compiled.drv",["out"]) ,("/gnu/store/1a7xfcqcxj0pqi4f81x1agcxa46v2bbm-hello-2.10.tar.gz.drv",["out"]) [...] ,("/gnu/store/z4s27gwacbw8f38andfsh21r8v330dag-xz-5.2.4.drv",["out"])] ,["/gnu/store/8a0wry8cvr405ha8d8bpjyzj5dzghigd-module-import", "/gnu/store/kql8b2hbsabcmany4m3hfm3wzdiymliy-hello-2.10-guile-builder"] [...] --8<---------------cut here---------------end--------------->8--- Therefore, I understand why the two store items have different hashes. Although, it should be better that the derivations would be the same; another story. :-) What puzzled me are the corresponding ’guile-builder’s: --8<---------------cut here---------------start------------->8--- (define %build-inputs (quote (("source" . "/gnu/store/chariqd6k0sli3s7vcl4q3al0crirz5v-hello-2.10.tar.gz") --8<---------------cut here---------------end--------------->8--- and --8<---------------cut here---------------start------------->8--- (define %build-inputs (quote (("source" . "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz") --8<---------------cut here---------------end--------------->8--- but these 2 items have the same hash: --8<---------------cut here---------------start------------->8--- $ guix hash /gnu/store/chariqd6k0sli3s7vcl4q3al0crirz5v-hello-2.10.tar.gz 0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i $ guix hash /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz 0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i --8<---------------cut here---------------end--------------->8--- Why? It is fixed-output so I was expecting the same thing. And the same as: --8<---------------cut here---------------start------------->8--- $ guix download https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz Starting download of /tmp/guix-file.qkhxkp >From https://ftpmirror.gnu.org/gnu/hello/hello-2.10.tar.gz... following redirection to `https://mirrors.sarata.com/gnu/hello/hello-2.10.tar.gz'... …10.tar.gz 709KiB 549KiB/s 00:01 [##################] 100.0% /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz 0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i --8<---------------cut here---------------end--------------->8--- Why the store item of source tarball is it different when applying the transformation? Maxime provided a clue [1]. All the best, simon 1: <https://yhetil.org/guix/bd48bb84243bb6b6a3a7f6e1350767d7c1015238.ca...@telenet.be>