-
Notifications
You must be signed in to change notification settings - Fork 698
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
RFC remove allow-older and allow-newer support from Setup.hs #3581
Comments
OK, fine. But we need a test which demonstrates that |
Seems I'm missing a whole lot. In particular, I have not the slightest idea what |
@kosmikus The situation is that Cabal the library has a miniature dependency solver, which picks dependencies when a user runs
|
Well, the reason it was added was because a user requested it. If @snoyberg no longer needs it, we can reconsider, but I don't think removing it buys us that much. #3165 added ~100 lines total, and more than half of those were comments and tests. |
CCing @mgsloan, who will know more about this than I do. |
This implements the flag `--allow-older` which is the analogous to `--allow-newer` acting on lower bounds.
We don't need such a flag. I recall a discussion that likely caused this to be implemented.
|
This is a preparatory refactoring needed for future work such as haskell#4203. I've refrained from doing additional cleanups in order to keep this a refactoring that mostly moves around blocks of code mostly unchanged (except for whitespace), and make it easier to review. This feature was originally implemented because its lack was complained about by Stack/Stackage developers. However, after it got implemented it was never really being used; what's more, it's causing us overhead for no benefit as well as blocking us improving the implementation via the likes of haskell#4203. Closes haskell#3581
Nix currently runs EDIT: Nevermind, nix has |
Shortly: revert changes made in #3163 & #3165, as well as followed
--allow-older
changes.Motivation: Such functionality isn't necessary (not used by anyone) to be provided by
Cabal
/Setup.hs
†, and results into duplicate code (starting from argument parsing etc).--exact-configuration
should be enough for everyone to force "I know what I'm doing". For the situations were "I almost know what I do, help me with rest", one could/should use external tools (e.g.cabal-install
could havecabal solver
command to produce configuration file).Optional:
--exact-configuration
tocabal-install
cabal solver
(we now usecabal configure -v2 --dry-run
, but it feels semantically wrong).Alternative: leave
--allow-newer
inCabal
, only remove followed--allow-older
changes. IMHO this would lead to confusion.--allow-older
hasn't hit Hackage AFAIK.Note: this is proposal to remove them only from
Cabal
-the-library,cabal-install
will continue to have them.† AFAICS stack opted to use
--exact-configuration
commercialhaskell/stack#1579 (comment)ping @hvr, @ezyang, @23Skidoo, @dcoutts
The text was updated successfully, but these errors were encountered: