(address . bug-guix@gnu.org)
Hi,
Using 3dcc74d, I get an unexpected behaviour. First, all expected:
Toggle snippet (10 lines)
$ guix build ghc@8.10 -n
122,4 MB would be downloaded:
/gnu/store/p8rk5cp1p4b2zky4zj1shfqb11qb5nmk-ghc-8.10.7-doc
/gnu/store/i92h6i23rnvrvn7xva6w9x7gjkljmfws-ghc-8.10.7
$ guix build ghc@8.4 -n
/gnu/store/5gp4k7ly1smhkx95rhq21nvxmyg687bv-ghc-8.4.4-doc
/gnu/store/wxfr2naibx3qpy4w243a7ga98mchf6g3-ghc-8.4.4
I have ghc@8.4 in my local store, but not ghc@8.10. In addition, no
path between ghc@8.4 and ghc@8.10,
Toggle snippet (4 lines)
$ guix graph --path ghc@8.4 ghc@8.10
guix graph: error: no path from 'ghc@8.4.4' to 'ghc@8.10.7'
Even, ghc@8.4 is used in the bootstrap chain of ghc@8.10,
Toggle snippet (7 lines)
$ guix graph --path ghc@8.10 ghc@8.4
ghc@8.10.7
ghc@8.8.4
ghc@8.6.5
ghc@8.4.4
However, tandam!
Toggle snippet (8 lines)
$ guix shell -C ghc@8.4
The following derivation will be built:
/gnu/store/rx0spryh76az0ll6ddy7f7hy8ykhglnh-profile.drv
117,7 MB will be downloaded
ghc-8.10.7 112.3MiB 3.3MiB/s 00:01 [ ] 1.9% C-c C-c
From the profile.drv, the culprit is identified:
/gnu/store/…-ghc-package-cache.drv,
Toggle snippet (15 lines)
Derive
([("out","/gnu/store/mcmwdg13f5rc9vdklgbmsn6h84bgdp3q-ghc-package-cache","","")]
,[("/gnu/store/8m7vppxy4l824yk4036iisk2zy7qzgcx-ghc-8.4.4.drv",["out"])
,("/gnu/store/bc5cm1g1b884nvgiysq8x0i0wxplkqhl-ghc-8.10.7.drv",["out"])
,("/gnu/store/m0nbbk3vgl637ibrz7z72r5v0dkswpi2-guile-3.0.7.drv",["out"])
,("/gnu/store/qcksap17gs36gpnjj3by4d7r7yxfq405-module-import-compiled.drv",["out"])]
,["/gnu/store/45dpf18lzvzs6sbmihifw6ch9p6y20yr-ghc-package-cache-builder","/gnu/store/4j2xcm5s0hvmpjm8fdbmb02ipvr6wyxn-module-import"]
,"x86_64-linux","/gnu/store/fidl08nms5v63lkqv627zibxpd85zxqb-guile-3.0.7/bin/guile",["--no-auto-compile","-L","/gnu/store/4j2xcm5s0hvmpjm8fdbmb02ipvr6wyxn-module-import","-C","/gnu/store/n7687sw6nkrhpjkdgysgz7baihzipgl0-module-import-compiled","/gnu/store/45dpf18lzvzs6sbmihifw6ch9p6y20yr-ghc-package-cache-builder"]
,[("allowSubstitutes","0")
,("guix properties","((type . profile-hook) (hook . ghc-package-cache))")
,("out","/gnu/store/mcmwdg13f5rc9vdklgbmsn6h84bgdp3q-ghc-package-cache")
,("preferLocalBuild","1")])
From my perspective, it is a bug from (guix profiles)
’ghc-package-cache-file’ which always includes ’ghc’, currently pointing
to ghc@8.10.
Toggle snippet (4 lines)
(define ghc ;lazy reference
(module-ref (resolve-interface '(gnu packages haskell)) 'ghc))
Well, the fix is not jumping to my eyes. If someone has an idea to
conditionally remove this reference to ’ghc’?
Cheers,
simon