Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

custom-setup should respect hs-source-dirs #3085

Closed
ezyang opened this issue Jan 27, 2016 · 6 comments
Closed

custom-setup should respect hs-source-dirs #3085

ezyang opened this issue Jan 27, 2016 · 6 comments
Assignees

Comments

@ezyang
Copy link
Contributor

ezyang commented Jan 27, 2016

Otherwise, we can't support Cabal self-bootstrapping now that the source files have gone into src.

@ezyang
Copy link
Contributor Author

ezyang commented Jan 28, 2016

Chatting with @dcoutts, it seems that we want to keep custom-setup stanzas as simple as possible, because any tools which want to use them need to know how to build them and we want to keep this simple. (I'm a little skeptical; maybe this just means that there should be a way for a Cabal project to refer to an external Cabal project to supply the setup script...) Which means that we don't want to do this.

But then how do we bootstrap Cabal now? A thorny issue.

@23Skidoo
Copy link
Member

Now that Cabal uses build-type: Simple, maybe bootstrapping should be something that is only done manually? This will mean that Cabal.cabal will only be able to use Cabal features that are available in supported GHC versions. Not sure how bad of a limitation this is.

@ezyang
Copy link
Contributor Author

ezyang commented Jan 28, 2016

The obvious way to manually bootstrap (cabal install Cabal; cabal install cabal-install) is fairly annoying when you are refactoring data structures like LocalBuildInfo. (You may not want to "just" build a Setup executable because you want cabal-install to take care of things for you, e.g. cabal new-build.) It's possible that cabal-install could be adjusted to make this case easier ("Yes, I know it's a Simple build type, but please use this setup executable anyway").

@hvr
Copy link
Member

hvr commented Jan 28, 2016

@ezyang are you considering cabal.project-based development of Cabal+cabal-install, or is this still about the pre-nix workflows?

@ezyang
Copy link
Contributor Author

ezyang commented Jan 28, 2016

This is in both worlds, but I'm thinking about Nix workflow.

@ezyang
Copy link
Contributor Author

ezyang commented Mar 20, 2016

Cabal got moved out of src back to the base directory so this problem is no longer a blocker for Cabal. So I guess close for now. See also #3003

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

No branches or pull requests

3 participants