On Tue, Apr 28, 2015 at 4:48 PM Thomas Tuegel <ttuegel@gmail.com> wrote:
On Tue, Apr 28, 2015 at 8:40 AM, Gershom B <gershomb@gmail.com> wrote:
> More troublesome, I recall that the current scheme for cabal is that it is fully bootstrappable by only depending on GHC base libs and “vendored” dependencies?

Well, not really. We have an ugly bootstrapping script that downloads
the other dependencies:
https://github.com/haskell/cabal/blob/master/cabal-install/bootstrap.sh

Speaking of which...

On Tue, Apr 28, 2015 at 7:38 AM, Michael Snoyman <michael@snoyman.com> wrote:
>
> On Tue, Apr 28, 2015 at 2:56 PM Thomas Tuegel <ttuegel@gmail.com> wrote:
>>
>> Considering users with cabal-install already, that many dependencies
>> is only a small maintenance problem. Bootstrapping will not be a small
>> problem.
>>
>
> Can you explain what the bootstrapping issue is here? If it's what I think
> you're getting at, I think I have a simple solution to that:
>
> https://www.stackage.org/lts/build-plan?package=http-client&_accept=application/x-sh
>
> Note that this script generation isn't really highly tested, I put it
> together a few weeks back as a proof-of-concept to help out someone playing
> around with LTS Haskell + Nix.

Sorry, yes, the bootstrapping issue I referred to was installing
cabal-install starting from just a bare GHC installation, as you
correctly inferred. I think that script you generated is nicer than
what we do now; that would be good to have, regardless of where we
come down on the TLS situation. Is the source code that generates that
script available?



Thank you :)

Yes, the code is part of the stackage-server code base, available here:

https://github.com/fpco/stackage-server/blob/master/Handler/BuildPlan.hs#L40

When I was working on this for Nix, I offered to make the code a standalone library/tool instead. That offer's still open if it would be useful to others.

Michael