Overall I like this approach. One problem the old script suffered from was that its goals and, in particular, non-goals weren't clearly stated. Lets state the goal clearly:
Goal: Be able to bootstrap a cabal-install binary of a bare GHC install from https://www.haskell.org/ghc/download Non-goal: Be able to bootstrap using a modified global package DB or using a user DB in an arbitrary state. The latter is a non-goal because doing that well requires a constraint solver. We've tried to to emulate that using regexes in the past and that has become more and more untenable. The goal is met by the new Bootstrap.hs by nailing down the exact version numbers to use. Questions about Bootstrap.sh: * Can we make it work in-tree? I tried it on master now and that didn't work (because it tried to install Cabal-1.23 from Hackage, which doesn't exist.) This is needed to we can run it on Travis to test it. * We need to make sure it works on supported platforms: Linux, OS X, and Windows. This is mostly about testing. * How can I test it in the current state? As mentioned above, bootstrapping in the master branch didn't work. * We should output a message once the install is done to tell the user how to use the bootstrapped binary. In particular, we might want to tell the user to use it to reinstall cabal-install not in a sandbox. On Sat, Jan 10, 2015 at 12:52 PM, Jake Wheat <jakewheatm...@gmail.com> wrote: > I have an draft rewrite of bootstrap.sh in haskell. I've tried to improve > the maintainability of the code and reliability of running the bootstrap. > > > https://github.com/JakeWheat/cabal/blob/bootstrap-hs/cabal-install/Bootstrap.hs > > Any feedback is appreciated! > > _______________________________________________ > cabal-devel mailing list > cabal-devel@haskell.org > http://www.haskell.org/mailman/listinfo/cabal-devel > >
_______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel