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

Drop support for GHC 7.4 #3833

Merged
merged 3 commits into from
Sep 13, 2016
Merged

Drop support for GHC 7.4 #3833

merged 3 commits into from
Sep 13, 2016

Conversation

ttuegel
Copy link
Member

@ttuegel ttuegel commented Sep 12, 2016

GHC 7.4 is more than four years old now, well outside our three-year
support window. (Actually, GHC 7.6 is outside our support window too,
but I don't have any pending patches which are broken with that
version.)

Attn. @23Skidoo @rthomas

GHC 7.4 is more than four years old now, well outside our three-year
support window. (Actually, GHC 7.6 is outside our support window too,
but I don't have any pending patches which are broken with that
version.)
@ttuegel ttuegel added this to the 2.0 milestone Sep 12, 2016
@mention-bot
Copy link

@ttuegel, thanks for your PR! By analyzing the annotation information on this pull request, we identified @phadej, @ezyang and @23Skidoo to be potential reviewers

@23Skidoo
Copy link
Member

Sure, if it's blocking your work, then it's okay. But please add a changelog note.

@ttuegel
Copy link
Member Author

ttuegel commented Sep 12, 2016

Actually, I just thought of a way around this. False alarm!

@ttuegel ttuegel closed this Sep 12, 2016
@ttuegel
Copy link
Member Author

ttuegel commented Sep 13, 2016

It turns out there is a separate issue with GHC < 7.6 blocking my patch, so I'm reopening this. 😄

@ttuegel ttuegel reopened this Sep 13, 2016
@ttuegel ttuegel merged commit b6237a6 into haskell:master Sep 13, 2016
@@ -1,7 +1,7 @@
-*-change-log-*-

1.25.x.x (current development version)
* Dropped support for versions of GHC earlier than 6.12 (#3111).
* Dropped support for versions of GHC earlier than 7.6 (#3833).
Copy link
Member

@23Skidoo 23Skidoo Sep 13, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#3111 was a bit different from this PR, I'd add a separate line saying "Cabal/cabal-install can no longer be compiled with GHC < 7.6" instead. Otherwise it should be possible to use 2.0 with 7.4.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

@hvr
Copy link
Member

hvr commented Sep 13, 2016

wait a minute... why exactly are we dropping GHC 7.4 support?

We need cabal new-build to work back till GHC 7.0 (and at the very least till GHC 7.4), but if the Cabal lib can't be built even with GHC 7.4 then we've got a big problem :-(

@ttuegel Can we revert this please?

@ttuegel
Copy link
Member Author

ttuegel commented Sep 13, 2016

We need cabal new-build to work back till GHC 7.0 (and at the very least till GHC 7.4), but if the Cabal lib can't be built even with GHC 7.4 then we've got a big problem :-

Cabal still works with GHC >= 7, you'll just need a newer GHC to build it. This is fine; Cabal can be built with a different version of GHC than it is building your package with. This is also in line with our GHC support window policy.

@hvr
Copy link
Member

hvr commented Sep 13, 2016

I'm not talking about cabal the executable, but rather Cabal the lib, which needs a larger support window than cabal-the-exe, especially with new-build + setup-depends giving the solver more incentive to recompile a recent Cabal with GHC 7.4 (or when some cabal mode of operations result in an implicit lower bound on Cabal being imposed); Cabal has had a tradition of supporting up to 6 major GHC versions in the past, we shouldn't sacrifice that merely for convenience.

So is there are real blocker that you need to drop support for GHC 7.4?

@ezyang
Copy link
Contributor

ezyang commented Sep 13, 2016

To be fair, our GHC window policy (which I wrote) specifies three versions for GHC, and more on a best effort basis. So we should change our window policy.

@ttuegel
Copy link
Member Author

ttuegel commented Sep 13, 2016

I'm not talking about cabal the executable, but rather Cabal the lib

Yes, I was being specific about punctuation.

which needs a larger support window than cabal-the-exe, especially with new-build + setup-depends giving the solver more incentive to recompile a recent Cabal with GHC 7.4 (or when some cabal mode of operations result in an implicit lower bound on Cabal being imposed); Cabal has had a tradition of supporting up to 6 major GHC versions in the past, we shouldn't sacrifice that merely for convenience.

The stated policy has always been:

  • Cabal must build out-of-the-box with any GHC release in the last 3 years
  • cabal-install must build with any GHC release in the last 3 years.

If we need to reconsider this policy, please open a new issue. This discussion is not relevant to this PR, which complies with the stated policy. (Actually, this PR is more generous, as GHC 7.6 is also more than three years old.)

@dcoutts
Copy link
Contributor

dcoutts commented Sep 13, 2016

There may be a good argument now for us reconsidering and expanding our support window. With the advent of setup-deps we can have a packages that need older versions of Cabal, and conversely using a new cabal-install with an older ghc may sill involve using packages that require a more recent Cabal.

So we may have to expand our support window in both directions: point releases of older Cabal to work with newer ghc, and keeping latest Cabal building with older ghc.

@ezyang
Copy link
Contributor

ezyang commented Sep 13, 2016

New ticket #3838.

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

Successfully merging this pull request may close these issues.

6 participants