The bootstrap.sh script has to go

Herbert Valerio Riedel hvr at gnu.org
Thu Jan 1 11:43:32 UTC 2015


On 2014-12-30 at 21:23:19 +0100, Jake Wheat wrote:

[...]

> Simplify the bootstrap.sh process:
>
> * always use a fixed set of versions of packages for the dependencies

For me, the primary use-case of `bootstrap.sh` is to be able to build a
matching `cabal-install` executable for a given major GHC version w/o
requiring having an existing cabal-install executable compatible w/ the
GHC version I'm trying to bootstrap cabal-install with.  (If I had an
older `cabal-install` executable, I would use that to bootstrap the new
one)

So, if a given cabal-install's bootstrap.sh would only support
bootstrapping via its associated GHC major version
(e.g. cabal-install-1.22.x would require GHC 7.10.x) then I guess the
bootstrap.sh wouldn't need to perform any significant package version
resolving, and could just use such a single fixed set of versions (and
preferably in a sandbox to ignore any user pkg-db) as you seem to
propose.


Alternatively, GHC could start bundling cabal-install, which would IMHO
eliminate the need for a bootstrap.sh in the first place (but we had
that discussion already, and it would also require to pull
cabal-install's dependencies into the GHC distribution, while OTOH GHC
is trying to avoid acquiring additional build dependencies...)

Cheers,
  hvr


More information about the cabal-devel mailing list