-
Notifications
You must be signed in to change notification settings - Fork 691
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
cabal freeze should take current cabal.config in the account #2519
Comments
/cc @benarmston |
When freeze was first written it was decided that it should always try to I think we should at least have an option to use the cabal.config file and
|
Currently Version resolution takes into account what is installed, mostly. Sometimes it takes selected compiler version in account. If it is not installed then guesses something somehow, hard to know. There are silent discrepancies between 'don't have a sandbox', 'have a sandbox' and 'have a sandbox with installed packages' and 'have a sandbox with installed packages for different compiler'. Add also that cabal-install needs to be of large enough version to even look at cabal.config but you cannot put 'cabal-version: > 1.20' because this makes project silently depend on 'Cabal > 1.20' but it will not install 'Cabal > 1.20' and you are in deployment hell. Also: 'it was decided': can you point me when and who 'decided it'? |
On 3 Apr 2015 14:35, "gracjan" notifications@github.com wrote:
That's about right. There are multiple use cases for freeze and it
Could you explain these discrepancies better please?
I'm not sure I understand this point or at least not how it pertains to
I can but it will have to be later. I'm on my phone at the moment and don't
|
I guess there are many. Example:
Expected:
Actual:
Solution:
|
What happened to @gracjan burned me as well. The example above is particularly frustrating because there is no It caught me by surprise that |
Closing as a duplicate of #2265. |
Scenario:
my-package.cabal
, add some dependenciens.cabal freeze
.my-package.cabal
.cabal freeze
to fill in exact versions of new dependencies.Expected:
In 4
cabal freeze
fills in the missing information taking currentcabal.config
in account.Current:
In 4
cabal freeze
resolves packages from scratch producing a new list of package versions that is effectively random and has no relation to anything project related.(Note about 'effectively random': resolved packages depend on last 'cabal update'. What 'cabal update' fetches is out of control and is a good source of entropy. Hence: random).
The text was updated successfully, but these errors were encountered: