Skip to content

haskell.compiler.ghc9102: drop#439323

Draft
wolfgangwalther wants to merge 1 commit intoNixOS:haskell-updatesfrom
wolfgangwalther:haskell-updates-drop-ghc-minors
Draft

haskell.compiler.ghc9102: drop#439323
wolfgangwalther wants to merge 1 commit intoNixOS:haskell-updatesfrom
wolfgangwalther:haskell-updates-drop-ghc-minors

Conversation

@wolfgangwalther
Copy link
Contributor

@wolfgangwalther wolfgangwalther commented Sep 1, 2025

Drops all GHC minor versions that are currently:

  • Not the latest minor version of the respective major version, and
  • Not the latest version in a stackage major, and
  • Not used for bootstrapping others (GHC 9.6.3 is used to bootstrap GHC 9.6.7, so can't drop that)

This applies our Deprecation Policy. Removal of GHC minor version has so far not appeared in Release Notes, so not adding these here either.

9.4, 9.6 and 9.8 drops already merged.

Things done


Add a 👍 reaction to pull requests you find important.

@wolfgangwalther wolfgangwalther force-pushed the haskell-updates-drop-ghc-minors branch from 9983f83 to 92e2527 Compare September 1, 2025 20:52
@wolfgangwalther wolfgangwalther marked this pull request as ready for review September 1, 2025 20:52
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. 6.topic: haskell General-purpose, statically typed, purely functional programming language labels Sep 1, 2025
@sternenseemann
Copy link
Member

I think 9.10.1 and 9.12.1 may be a little premature. That release series doesn't really have a “finished” version yet where all the mayor regressions have been addressed, so it may be better to give the users all reasonable options.

@wolfgangwalther
Copy link
Contributor Author

I think 9.10.1 and 9.12.1 may be a little premature. That release series doesn't really have a “finished” version yet where all the mayor regressions have been addressed, so it may be better to give the users all reasonable options.

If that's something we consider, then we should put that down in our policy. Currently the policy doesn't say anything about that (and I don't particularly buy into the argument either).

@wolfgangwalther
Copy link
Contributor Author

wolfgangwalther commented Sep 2, 2025

That release series doesn't really have a “finished” version yet where all the mayor regressions have been addressed

If we want to put something like that into the policy, how could we word it? Is there a way to determine whether a version is "finished"?

One way to do it would be to essentially say "we'll keep all minor versions for GHC major versions that are still under active development" or so?

@maralorn
Copy link
Member

maralorn commented Sep 2, 2025

I don’t think it necessarily has to be in the policy. I see the policy as giving us permission to remove them.

I like this PR very much, no matter what we do with 9.1{0,2}. On that issue I would tend to say: Let’s drop them unless we know of a specific regression from 1X.1 to 1X.2.

@wolfgangwalther
Copy link
Contributor Author

Let’s drop them unless we know of a specific regression from 1X.1 to 1X.2.

@sternenseemann do you know of any specific regression for eiher .2 release?

I see it like this:

  • IIRC, 9.12.1 was problematic, it had serious problem. I don't remember the details, but I think it was advised against using it? If we can't recommend 9.12.1, we can as well drop it.
  • 9.10.3 is close to being released + we are working specifically on 9.10.2 as the default compiler right now. Having 9.10.2 as the default version gives us a much better idea of whether there are problems specific to that version, because we're building all of haskellPackages on it. Thus, the specific need for 9.10.1 seems very low - and it's very unlikely that anyone will want to downgrade from the default 9.10.2 / 9.10.3 to 9.10.1, having to rebuild everything when they could use the cache just as well.

If you still think this is controversial and would rather not drop these versions, I can ofc remove these commits from the PR, so that we can proceed with the others at least.

@wolfgangwalther wolfgangwalther force-pushed the haskell-updates-drop-ghc-minors branch from 92e2527 to 937e468 Compare September 5, 2025 10:25
@wolfgangwalther wolfgangwalther changed the title haskell.compiler.ghc{947,964,965,966,981,982,983,9101,9121}: drop haskell.compiler.ghc{9101,9121}: drop Sep 5, 2025
@wolfgangwalther
Copy link
Contributor Author

I merged the uncontroversial changes for GHC 9.4.x, 9.6.x and 9.8.x to haskell-updates already. This PR now only contains the changes to GHC 9.10.x and 9.12.x.

@nixpkgs-ci nixpkgs-ci bot added the 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. label Sep 5, 2025
@nix-owners nix-owners bot requested review from cdepillabout and guibou September 5, 2025 10:30
@emilazy
Copy link
Member

emilazy commented Sep 6, 2025

#440410 (comment) seems like a concrete reason to drop 9.10.1.

@wolfgangwalther
Copy link
Contributor Author

#440410 (comment) seems like a concrete reason to drop 9.10.1.

Since I changed two parameters between failure and success, it could technically also be unrelated to GHC 9.10.1.

@emilazy
Copy link
Member

emilazy commented Sep 6, 2025

Fair enough. Although the arguments for keeping it seem sufficiently weak that “saving having to do another build to test whether it is actually blocking something” is enough for me, personally 😅

(This can target master too?)

@wolfgangwalther
Copy link
Contributor Author

Fair enough. Although the arguments for keeping it seem sufficiently weak that “saving having to do another build to test whether it is actually blocking something” is enough for me, personally 😅

I certainly agree on that.

(This can target master too?)

Yes, waiting with the rebase until some of the other stuff is merged, because multiple of these PRs will create conflicts anyway.

@wolfgangwalther wolfgangwalther force-pushed the haskell-updates-drop-ghc-minors branch from 937e468 to 6e06d11 Compare September 7, 2025 09:40
@wolfgangwalther wolfgangwalther changed the base branch from haskell-updates to master September 7, 2025 09:40
@nixpkgs-ci nixpkgs-ci bot closed this Sep 7, 2025
@nixpkgs-ci nixpkgs-ci bot reopened this Sep 7, 2025
@wolfgangwalther
Copy link
Contributor Author

Rebased on master now, too.

@sternenseemann
Copy link
Member

Didn't look for 9.12 yet which probably also has seen less exposure to real world usage.

In my experience, it takes some minor versions until GHC “settles down”, so to speak and this can take quite a while. 9.4 and 9.2 got up to .8 for a reason. It is also not uncommon for subsequent minor releases to introduce regressions unfortunately. 9.8 was pretty good in this regard, so let's hope 9.10 and 9.12 are similar.

@wolfgangwalther wolfgangwalther marked this pull request as draft September 7, 2025 10:03
@wolfgangwalther wolfgangwalther force-pushed the haskell-updates-drop-ghc-minors branch from 6e06d11 to ca0056e Compare September 7, 2025 18:47
github-actions[bot]

This comment was marked as resolved.

@wolfgangwalther wolfgangwalther changed the base branch from master to haskell-updates September 7, 2025 18:51
@nixpkgs-ci nixpkgs-ci bot closed this Sep 7, 2025
@nixpkgs-ci nixpkgs-ci bot reopened this Sep 7, 2025
@github-actions github-actions bot dismissed their stale review September 7, 2025 18:52

All good now, thank you!

@wolfgangwalther wolfgangwalther force-pushed the haskell-updates-drop-ghc-minors branch from ca0056e to 5144d72 Compare September 12, 2025 13:06
@wolfgangwalther
Copy link
Contributor Author

Rebased over the addition of GHC 9.10.3. Also added a commit to drop GHC 9.10.2 - although that's technically not covered by the GHC Deprecation Policy, yet, because there is no Stackage release for it.

I assume the addition of GHC 9.10.3 doesn't change anything wrt the drop of GHC 9.10.1, so still keeping as draft for later.

@nixpkgs-ci nixpkgs-ci bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Sep 16, 2025
@sternenseemann
Copy link
Member

sternenseemann commented Sep 16, 2025

It seems to me that we should review before branch off which compilers from 9.10/9.12 we can drop. It would be nice to reduce the number a little bit.

@sternenseemann
Copy link
Member

The issues I was aware of with 9.10.2 have been resolved in 9.10.3. Not sure if there are any problems, maybe on non x86_64-linux?

@emilazy
Copy link
Member

emilazy commented Oct 14, 2025

9.10.3 seems to have a regression related to ARMv7 cross‐compilation, at least when using aarch64-linux as the build platform; see the commit message of 94873dc for details. 9.10.2, 9.12.1, and 9.12.2 all succeed, so it’s just that one version that has issues. I assume it just needs a fix backporting from 9.12.1 or a bad backport reverting, but I haven’t bisected or even looked at the commit log.

@wolfgangwalther wolfgangwalther force-pushed the haskell-updates-drop-ghc-minors branch from 5144d72 to 9065dca Compare October 15, 2025 13:13
@wolfgangwalther
Copy link
Contributor Author

I rebased this branch. If everything looks good, I would cherry-pick the first commit, i.e. the removal of GHC 9.12.1, to haskell-updates already.

We can then figure out if and what to do about the cross-compilation issue for 9.10.3 and whether we will drop 9.10.2 or not.

@nixpkgs-ci nixpkgs-ci bot removed 2.status: merge conflict This PR has merge conflicts with the target branch 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. labels Oct 15, 2025
@emilazy
Copy link
Member

emilazy commented Oct 15, 2025

Perhaps we should just split this into two PRs, since dropping 9.12.1 seems uncontroversial? It looks good to me. But of course if you want to push the commit directly that seems fine as well.

@emilazy
Copy link
Member

emilazy commented Oct 15, 2025

Latest 9.10.x minor release is 9.10.3, which is also in Stackage 24.15.

Thus, dropping according to the GHC Deprecation Policy.
@wolfgangwalther
Copy link
Contributor Author

I pushed the 9.12.1 drop onto haskell-updates already.

@wolfgangwalther wolfgangwalther force-pushed the haskell-updates-drop-ghc-minors branch from 9065dca to 4658c5e Compare October 15, 2025 17:14
@wolfgangwalther wolfgangwalther changed the title haskell.compiler.ghc{9101,9121}: drop haskell.compiler.ghc9101: drop Oct 15, 2025
@wolfgangwalther wolfgangwalther changed the title haskell.compiler.ghc9101: drop haskell.compiler.ghc9102: drop Oct 15, 2025
@mdaniels5757 mdaniels5757 added the 8.has: clean-up This PR removes packages or removes other cruft label Oct 25, 2025
@nixpkgs-ci nixpkgs-ci bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Nov 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 6.topic: haskell General-purpose, statically typed, purely functional programming language 8.has: clean-up This PR removes packages or removes other cruft 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants