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

Allow disabling freeze files in cabal.project.local #6041

Open
merijn opened this issue May 9, 2019 · 3 comments
Open

Allow disabling freeze files in cabal.project.local #6041

merijn opened this issue May 9, 2019 · 3 comments

Comments

@merijn
Copy link
Collaborator

merijn commented May 9, 2019

I would like to commit a cabal.project.freeze file to my repository so that non-Haskell savvy users can easily/reliably build my Haskell code, but since I also use the repository to actively develop this would make it tricky/annoying to add new packages/change bounds, etc. while programming.

If there was a way to override/skip freeze files in cabal.project.local I could simply commit the freeze file in the repo and, in my development clone, modify the cabal.project.local that I have anyway to ignore the freeze file while developing.

@23Skidoo
Copy link
Member

In the past, @dcoutts suggested adding an explicit include mechanism for config files: for example, cabal.project could explicitly include ~/.cabal/config and cabal.project.local, and cabal.project.local could by default include cabal.project.freeze.

Then it'd be easy to implement something like configure --ignore-freeze-file as well as extra project-local config files (see #6016 (comment)).

@hvr
Copy link
Member

hvr commented May 15, 2019

@23Skidoo How would that design allow me to ignore the existence of a .freeze or .local file (while honoring the existence of a cabal.project file) only via CLI (i.e. w/o renaming or deleting any files)

@23Skidoo
Copy link
Member

For the .freeze file: configure --ignore-freeze-file would regenerate the .local file without the include cabal.project.freeze line. For the .local file: you'd need to edit the cabal.project file and remove the include cabal.project.local line.

We'd also need to start versioning the cabal.project file because everyone's currently relying on implicit include semantics.

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