Hi, zimoun <zimon.touto...@gmail.com> skribis:
> To be clear, the seed (bootstrap) fixes how the compilers OCaml@4.01, > OCaml@4.07, OCaml@4.09, CPython@2.7, CPython@3.5, CPython@3.6, PyPy > (not yet in Guix), GCC@8, GCC@9, Clang@8, Clang@9, etc are compiled. > Then, it is difficult to use them to compile a package with one of > them. > > Do we end with 'package-with-ocaml4.01', 'package-with-ocaml4.07', > 'package-with-ocaml4.09', 'package-with-python2', > 'package-with-python3.5', 'package-with-python3.6', > 'package-with-pypy', 'package-with-gcc8', 'package-with-gcc9', etc.? > > Do the users have to write all these 'package-with-<version>'? > And if one wants to use CPython@3.5 and GCC@8, does they need to > define the package using: > > (define-public my-foo > (package-with-python3.5 > (package-with-gcc8 foo))) > > ? > > I feel something is lacking. I agree. ‘package-input-rewriting’ gives us almost what you want, with the limitation that implicit inputs are ignored (which is a good thing sometimes, and a problem in cases where you want to experiment with toolchains, as you write). What we’d need is a variant of ‘package-input-rewriting’ that somehow walks through implicit dependencies. It could do that by changing the build system, I guess. Thanks, Ludo’.