haskell.compiler.ghc{928,963,967,9101,9102,HEAD}: drop AArch32 bootstrap

It’s questionable whether or not this worked – 32‐bit ARM in
Nixpkgs is already flaky even when cross‐compiling, and I find
it dubious whether much 32‐bit ARM hardware can build modern
GHCs in a bearable amount of time and memory – and figuring out
cross‐compilation of bootstrap GHCs will be a more sustainable way
to keep it working if anyone cares enough to.

Also, rearrange the GHC‐related release notes to be in order of
most likely to matter to anyone.

Emily 08129b69 ec76ed9c

Changed files
+11 -26
doc
release-notes
pkgs
+5 -3
doc/release-notes/rl-2511.section.md
···
- GCC 9, 10, 11, and 12 have been removed, as they have reached end‐of‐life upstream and are no longer supported.
-
- GHC 8.6 and its package set have been removed. It was only used to bootstrap GHC for powerpc64le, but this was probably broken anyway.
-
- GHCJS 8.10, exposed via `haskell.compiler.ghcjs` and `haskell.compiler.ghcjs810`, has been removed. Downstream users should migrate their projects to the new JavaScript backend of GHC proper which can be used via `pkgsCross.ghcjs` from Nixpkgs. Haskell packaging code, like `haskellPackages.mkDerivation`, `ghcWithPackages` and `hoogleWithPackages`, also no longer supports GHCJS.
-
- GHC 9.0 and its package set have been removed.
+
- GHC 8.6, 9.0, and their package sets have been removed.
+
+
- Support for bootstrapping native GHC compilers on 32‐bit ARM and little‐endian 64‐bit PowerPC has been dropped.
+
The latter was probably broken anyway.
+
If there is interest in restoring support for these architectures, it should be possible to cross‐compile a bootstrap GHC binary.
- `base16-builder` node package has been removed due to lack of upstream maintenance.
+6 -23
pkgs/top-level/haskell-packages.nix
···
};
ghc810 = compiler.ghc8107;
ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix {
-
bootPkgs =
-
# GHC >= 9.0 removed the armv7l bindist
-
if stdenv.buildPlatform.isAarch32 then bb.packages.ghc8107Binary else bb.packages.ghc902Binary;
+
bootPkgs = bb.packages.ghc902Binary;
inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
python3 = buildPackages.python311; # so that we don't have two of them
# Need to use apple's patched xattr until
···
};
ghc94 = compiler.ghc948;
ghc963 = callPackage ../development/compilers/ghc/9.6.3.nix {
-
bootPkgs =
-
# For GHC 9.2 no armv7l bindists are available.
-
if stdenv.buildPlatform.isAarch32 then bb.packages.ghc928 else bb.packages.ghc924Binary;
+
bootPkgs = bb.packages.ghc924Binary;
inherit (buildPackages.python3Packages) sphinx;
# Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and
···
llvmPackages = pkgs.llvmPackages_15;
};
ghc967 = callPackage ../development/compilers/ghc/9.6.7.nix {
-
bootPkgs =
-
# For GHC 9.2 no armv7l bindists are available.
-
if stdenv.buildPlatform.isAarch32 then bb.packages.ghc928 else bb.packages.ghc924Binary;
+
bootPkgs = bb.packages.ghc924Binary;
inherit (buildPackages.python3Packages) sphinx;
# Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and
···
bootPkgs =
if stdenv.buildPlatform.isAarch64 && stdenv.buildPlatform.isMusl then
bb.packages.ghc984Binary
-
else if stdenv.buildPlatform.isAarch32 then
-
# For GHC 9.6 no armv7l bindists are available.
-
bb.packages.ghc963
else
bb.packages.ghc963Binary;
inherit (buildPackages.python3Packages) sphinx;
···
ghc98 = compiler.ghc984;
ghc9101 = callPackage ../development/compilers/ghc/9.10.1.nix {
bootPkgs =
-
# For GHC 9.6 no armv7l bindists are available.
-
if stdenv.buildPlatform.isAarch32 then
-
bb.packages.ghc963
-
else if stdenv.buildPlatform.isDarwin then
+
if stdenv.buildPlatform.isDarwin then
# it seems like the GHC 9.6.* bindists are built with a different
# toolchain than we are using (which I'm guessing from the fact
# that 9.6.4 bindists pass linker flags our ld doesn't support).
···
};
ghc9102 = callPackage ../development/compilers/ghc/9.10.2.nix {
bootPkgs =
-
# For GHC 9.6 no armv7l bindists are available.
-
if stdenv.buildPlatform.isAarch32 then
-
bb.packages.ghc963
-
else if stdenv.buildPlatform.isDarwin then
+
if stdenv.buildPlatform.isDarwin then
# it seems like the GHC 9.6.* bindists are built with a different
# toolchain than we are using (which I'm guessing from the fact
# that 9.6.4 bindists pass linker flags our ld doesn't support).
···
};
ghc912 = compiler.ghc9122;
ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
-
bootPkgs =
-
# No armv7l bindists are available.
-
if stdenv.buildPlatform.isAarch32 then bb.packages.ghc984 else bb.packages.ghc984Binary;
+
bootPkgs = bb.packages.ghc984Binary;
inherit (buildPackages.python3Packages) sphinx;
# Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and