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.
This commit is contained in:
Emily
2025-09-07 01:08:57 +01:00
parent ec76ed9c4e
commit 08129b69e5
2 changed files with 11 additions and 26 deletions

View File

@@ -24,11 +24,13 @@
- GCC 9, 10, 11, and 12 have been removed, as they have reached endoflife upstream and are no longer supported. - GCC 9, 10, 11, and 12 have been removed, as they have reached endoflife 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. - 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 32bit ARM and littleendian 64bit 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 crosscompile a bootstrap GHC binary.
- `base16-builder` node package has been removed due to lack of upstream maintenance. - `base16-builder` node package has been removed due to lack of upstream maintenance.

View File

@@ -111,9 +111,7 @@ in
}; };
ghc810 = compiler.ghc8107; ghc810 = compiler.ghc8107;
ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix { ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix {
bootPkgs = bootPkgs = bb.packages.ghc902Binary;
# GHC >= 9.0 removed the armv7l bindist
if stdenv.buildPlatform.isAarch32 then bb.packages.ghc8107Binary else bb.packages.ghc902Binary;
inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
python3 = buildPackages.python311; # so that we don't have two of them python3 = buildPackages.python311; # so that we don't have two of them
# Need to use apple's patched xattr until # Need to use apple's patched xattr until
@@ -140,9 +138,7 @@ in
}; };
ghc94 = compiler.ghc948; ghc94 = compiler.ghc948;
ghc963 = callPackage ../development/compilers/ghc/9.6.3.nix { ghc963 = callPackage ../development/compilers/ghc/9.6.3.nix {
bootPkgs = bootPkgs = bb.packages.ghc924Binary;
# For GHC 9.2 no armv7l bindists are available.
if stdenv.buildPlatform.isAarch32 then bb.packages.ghc928 else bb.packages.ghc924Binary;
inherit (buildPackages.python3Packages) sphinx; inherit (buildPackages.python3Packages) sphinx;
# Need to use apple's patched xattr until # Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and # https://github.com/xattr/xattr/issues/44 and
@@ -153,9 +149,7 @@ in
llvmPackages = pkgs.llvmPackages_15; llvmPackages = pkgs.llvmPackages_15;
}; };
ghc967 = callPackage ../development/compilers/ghc/9.6.7.nix { ghc967 = callPackage ../development/compilers/ghc/9.6.7.nix {
bootPkgs = bootPkgs = bb.packages.ghc924Binary;
# For GHC 9.2 no armv7l bindists are available.
if stdenv.buildPlatform.isAarch32 then bb.packages.ghc928 else bb.packages.ghc924Binary;
inherit (buildPackages.python3Packages) sphinx; inherit (buildPackages.python3Packages) sphinx;
# Need to use apple's patched xattr until # Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and # https://github.com/xattr/xattr/issues/44 and
@@ -170,9 +164,6 @@ in
bootPkgs = bootPkgs =
if stdenv.buildPlatform.isAarch64 && stdenv.buildPlatform.isMusl then if stdenv.buildPlatform.isAarch64 && stdenv.buildPlatform.isMusl then
bb.packages.ghc984Binary bb.packages.ghc984Binary
else if stdenv.buildPlatform.isAarch32 then
# For GHC 9.6 no armv7l bindists are available.
bb.packages.ghc963
else else
bb.packages.ghc963Binary; bb.packages.ghc963Binary;
inherit (buildPackages.python3Packages) sphinx; inherit (buildPackages.python3Packages) sphinx;
@@ -187,10 +178,7 @@ in
ghc98 = compiler.ghc984; ghc98 = compiler.ghc984;
ghc9101 = callPackage ../development/compilers/ghc/9.10.1.nix { ghc9101 = callPackage ../development/compilers/ghc/9.10.1.nix {
bootPkgs = bootPkgs =
# For GHC 9.6 no armv7l bindists are available. if stdenv.buildPlatform.isDarwin then
if stdenv.buildPlatform.isAarch32 then
bb.packages.ghc963
else if stdenv.buildPlatform.isDarwin then
# it seems like the GHC 9.6.* bindists are built with a different # 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 # 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). # that 9.6.4 bindists pass linker flags our ld doesn't support).
@@ -210,10 +198,7 @@ in
}; };
ghc9102 = callPackage ../development/compilers/ghc/9.10.2.nix { ghc9102 = callPackage ../development/compilers/ghc/9.10.2.nix {
bootPkgs = bootPkgs =
# For GHC 9.6 no armv7l bindists are available. if stdenv.buildPlatform.isDarwin then
if stdenv.buildPlatform.isAarch32 then
bb.packages.ghc963
else if stdenv.buildPlatform.isDarwin then
# it seems like the GHC 9.6.* bindists are built with a different # 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 # 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). # that 9.6.4 bindists pass linker flags our ld doesn't support).
@@ -260,9 +245,7 @@ in
}; };
ghc912 = compiler.ghc9122; ghc912 = compiler.ghc9122;
ghcHEAD = callPackage ../development/compilers/ghc/head.nix { ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
bootPkgs = bootPkgs = bb.packages.ghc984Binary;
# No armv7l bindists are available.
if stdenv.buildPlatform.isAarch32 then bb.packages.ghc984 else bb.packages.ghc984Binary;
inherit (buildPackages.python3Packages) sphinx; inherit (buildPackages.python3Packages) sphinx;
# Need to use apple's patched xattr until # Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and # https://github.com/xattr/xattr/issues/44 and