Skip to content

cabal-install uses internal libraries.#3533

Closed
ezyang wants to merge 5 commits intohaskell:masterfrom
ezyang:cabal-use-convenience
Closed

cabal-install uses internal libraries.#3533
ezyang wants to merge 5 commits intohaskell:masterfrom
ezyang:cabal-use-convenience

Conversation

@ezyang
Copy link
Copy Markdown
Contributor

@ezyang ezyang commented Jul 11, 2016

There are lots of benefits:

* We only build solver code once, instead of repeatedly
  rebuilding it for each test suite.

* Duplication in the cabal-install file is greatly
  reduced.

There is one downside, which is that we don't rebuild
cabal-install with asserts turned on. I think we should
look into making this a runtime toggleable chunk of code.

Signed-off-by: Edward Z. Yang ezyang@cs.stanford.edu

@23Skidoo
Copy link
Copy Markdown
Member

LGTM, but build bot failures will need to be fixed.

+36 −122

Nice!

@ezyang ezyang force-pushed the cabal-use-convenience branch from 76df543 to 416cbd5 Compare July 11, 2016 06:18
@ezyang
Copy link
Copy Markdown
Contributor Author

ezyang commented Jul 11, 2016

Build failures were due to CI starting to build Haddocks for our internal library, and thus finding out all the places where we got the Haddock syntax wrong. I think I've nailed all of them.

@BardurArantsson
Copy link
Copy Markdown
Collaborator

So I'm guessing that this means (assuming it's merged) that we could also do so for the solver-only bits? (That is, the Distribution.Solver.* modules.)

(I'd be happy to do a PR for that, time permitting.)

@23Skidoo
Copy link
Copy Markdown
Member

So I'm guessing that this means (assuming it's merged) that we could also do so for the solver-only bits? (That is, the Distribution.Solver.* modules.)

Yes.

(I'd be happy to do a PR for that, time permitting.)

Please do!

@ezyang ezyang force-pushed the cabal-use-convenience branch 2 times, most recently from a0a7118 to 6d88c67 Compare July 11, 2016 18:16
ezyang added 5 commits July 12, 2016 17:21
There are lots of benefits:

    * We only build solver code once, instead of repeatedly
      rebuilding it for each test suite.

    * Duplication in the cabal-install file is greatly
      reduced.

There is one downside, which is that we don't rebuild
cabal-install with asserts turned on.  I think we should
look into making this a runtime toggleable chunk of code.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
A side effect of making cabal-install an internal library is that
Haddock now generates documentation for it.  Make sure that all
of our comments are valid!

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
…ternal libraries.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
@ezyang ezyang force-pushed the cabal-use-convenience branch from 6d88c67 to 13a9fe1 Compare July 13, 2016 00:21
@ezyang
Copy link
Copy Markdown
Contributor Author

ezyang commented Jul 13, 2016

I guess even when I get this green, we can't do this for 1.26, because the need for internal library support means that you can't "cabal install cabal-install" from 1.24 (which doesn't understand internal libraries.) So we need one intervening release before we can put this in.

@BardurArantsson
Copy link
Copy Markdown
Collaborator

Ah, true. Guess it'll have to wait for post-1.26.

@23Skidoo
Copy link
Copy Markdown
Member

Well, in principle we can release cabal-install 1.26 faster than originally planned (e.g. in September).

@phadej
Copy link
Copy Markdown
Collaborator

phadej commented Jul 13, 2016

Won't this need a Cabal-1.26 too?

@23Skidoo
Copy link
Copy Markdown
Member

Yes, but I don't see this as a problem.

@ezyang
Copy link
Copy Markdown
Contributor Author

ezyang commented Jul 22, 2016

Well, I'm going to close this for now, no way to merge.

@ezyang ezyang closed this Jul 22, 2016
@23Skidoo
Copy link
Copy Markdown
Member

We should revive this after the next release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants