Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Undo new-build support for convenience libraries. #3647

Closed
wants to merge 1 commit into from

Conversation

ezyang
Copy link
Contributor

@ezyang ezyang commented Jul 31, 2016

The previous approach I took, though correct, was quite
confusing. If I refactor InstallPlan to operate on a
per-component basis, then we'll automatically get support
for convenience libraries, which will ultimately cleaner.
(While we won't be able to get rid of support for whole
package installs, it will be safe to assume packages
using convenience libraries also support one-shot
configure.)

I think this may fix #3637.

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

The previous approach I took, though correct, was quite
confusing.  If I refactor InstallPlan to operate on a
per-component basis, then we'll automatically get support
for convenience libraries, which will ultimately cleaner.
(While we won't be able to get rid of support for whole
package installs, it will be safe to assume packages
using convenience libraries also support one-shot
configure.)

I think this may fix haskell#3637.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
@ezyang ezyang force-pushed the pr/remove-install-sublib branch from 9473439 to 5199bf4 Compare July 31, 2016 09:06
@hvr
Copy link
Member

hvr commented Aug 3, 2016

Just for the record, this doesn't fix #3637 yet, as with this patch applied to master, and trying to build exe:cabal with it:

$ cabal new-build exe:cabal
In order, the following will be built (use -v for more details):
cabal-install-1.25.0.0
rebuildTarget: unexpected package status
CallStack (from HasCallStack):
error, called at ./Distribution/Client/ProjectBuilding.hs:676:23 in
main:Distribution.Client.ProjectBuilding

@23Skidoo
Copy link
Member

23Skidoo commented Aug 4, 2016

If I refactor InstallPlan to operate on a
per-component basis, then we'll automatically get support
for convenience libraries, which will ultimately cleaner.

SGTM.

@ezyang
Copy link
Contributor Author

ezyang commented Aug 4, 2016

Actually, I am feeling a little regretful about this patch, because component-izing the new-build code was quite involved, and I'm not sure I want to do it again for the old codepath (install). So I think maybe I'll revert half this patch, keeping the old implementation for the legacy codepath (which hopefully is going away soon.)

@23Skidoo
Copy link
Member

23Skidoo commented Aug 4, 2016

(which hopefully is going away soon.)

Well, it will still be around in the next release for sure.

@ezyang
Copy link
Contributor Author

ezyang commented Aug 11, 2016

Going to redo the patch to only drop this codepath for new-build.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

new-build: Repeating build fails
3 participants