haskell.compiler.ghc902: remove at 9.0.2 (#381265)

This commit is contained in:
Wolfgang Walther
2025-09-07 09:40:29 +00:00
committed by GitHub
6 changed files with 10 additions and 57 deletions
+5 -3
View File
@@ -24,7 +24,11 @@
- GCC 9, 10, 11, and 12 have been removed, as they have reached endoflife upstream and are no longer supported.
- GHC 8.6.5 and its package set have been removed. It was only used to bootstrap GHC for powerpc64le, but this was probably broken anyway.
- 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.
- `base16-builder` node package has been removed due to lack of upstream maintenance.
@@ -48,8 +52,6 @@
- `conduwuit` was removed due to upstream ceasing development and deleting their repository. For existing data, a migration to `matrix-conduit`, `matrix-continuwuity` or `matrix-tuwunel` may be possible.
- The GHCJS 8.10.7, 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.
- The `ghcInfo` and `controlPhases` functions have been removed from `haskell.lib.compose` and `haskell.lib`. They were unused and would return incorrect results.
- Instead of using `controlPhases`, the `doCheck` attribute of derivations can be accessed which is more accurate. `doBenchmark` can't be introspected at the moment.
-4
View File
@@ -1,4 +0,0 @@
import ./common-make-native-bignum.nix {
version = "9.0.2";
sha256 = "140e42b96346322d1a39eb17602bcdc76e292028ad4a69286b230bab188a9197";
}
@@ -355,7 +355,7 @@ stdenv.mkDerivation (
]
)
++ lib.optionals (lib.versionAtLeast version "9.2") [
++ [
# Don't generate code that doesn't compile when --enable-relocatable is passed to Setup.hs
# Can be removed if the Cabal library included with ghc backports the linked fix
(fetchpatch {
@@ -366,17 +366,6 @@ stdenv.mkDerivation (
})
]
++ lib.optionals (lib.versionOlder version "9.2.2") [
# Add flag that fixes C++ exception handling; opt-in. Merged in 9.4 and 9.2.2.
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7423
(fetchpatch {
name = "ghc-9.0.2-fcompact-unwind.patch";
# Note that the test suite is not packaged.
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/c6132c782d974a7701e7f6447bdcd2bf6db4299a.patch?merge_request_iid=7423";
sha256 = "sha256-b4feGZIaKDj/UKjWTNY6/jH4s2iate0wAgMxG3rAbZI=";
})
]
# fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482
++ lib.optionals (lib.versionOlder version "9.4") [
(fetchpatch {
@@ -417,12 +406,7 @@ stdenv.mkDerivation (
# These cause problems as they're not eliminated by GHC's dead code
# elimination on aarch64-darwin. (see
# https://github.com/NixOS/nixpkgs/issues/140774 for details).
(
if lib.versionAtLeast version "9.2" then
./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch
else
./Cabal-3.2-3.4-paths-fix-cycle-aarch64-darwin.patch
)
./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch
];
postPatch = "patchShebangs .";
@@ -483,7 +467,7 @@ stdenv.mkDerivation (
echo -n "${buildMK}" > mk/build.mk
''
+ lib.optionalString (lib.versionOlder version "9.2" || lib.versionAtLeast version "9.4") ''
+ lib.optionalString (lib.versionAtLeast version "9.4") ''
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
''
+ lib.optionalString (stdenv.hostPlatform.isLinux && hostPlatform.libc == "glibc") ''
@@ -495,7 +479,7 @@ stdenv.mkDerivation (
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
''
+ lib.optionalString (stdenv.hostPlatform.isDarwin && lib.versionAtLeast version "9.2") ''
+ lib.optionalString (stdenv.hostPlatform.isDarwin) ''
# GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7
export XATTR=${lib.getBin xattr}/bin/xattr
@@ -603,11 +587,6 @@ stdenv.mkDerivation (
]
++ lib.optionals enableDocs [
sphinx
]
++ lib.optionals (stdenv.hostPlatform.isDarwin && lib.versions.majorMinor version == "9.0") [
# TODO(@sternenseemann): backport addition of XATTR env var like
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447
xattr
];
# Everything the stage0 compiler needs to build stage1: CC, bintools, extra libs.
+1 -15
View File
@@ -110,15 +110,6 @@ in
llvmPackages = pkgs.llvmPackages_12;
};
ghc810 = compiler.ghc8107;
ghc902 = callPackage ../development/compilers/ghc/9.0.2.nix {
bootPkgs = bb.packages.ghc8107Binary;
inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
python3 = buildPackages.python311; # so that we don't have two of them
inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr;
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
llvmPackages = pkgs.llvmPackages_12;
};
ghc90 = compiler.ghc902;
ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix {
bootPkgs =
# GHC >= 9.0 removed the armv7l bindist
@@ -361,12 +352,6 @@ in
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
};
ghc810 = packages.ghc8107;
ghc902 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc902;
ghc = bh.compiler.ghc902;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { };
};
ghc90 = packages.ghc902;
ghc928 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc928;
ghc = bh.compiler.ghc928;
@@ -458,6 +443,7 @@ in
);
}
// pkgs.lib.optionalAttrs config.allowAliases {
ghc90 = throw "'haskell.packages.ghc90' has been removed."; # Added 2025-09-07
ghcjs = throw "'haskell.packages.ghcjs' has been removed. Please use 'pkgsCross.ghcjs' instead."; # Added 2025-09-06
ghcjs810 = throw "'haskell.packages.ghcjs810' has been removed. Please use 'pkgsCross.ghcjs' instead."; # Added 2025-09-06
};
-8
View File
@@ -64,7 +64,6 @@ let
# list of all compilers to test specific packages on
released = with compilerNames; [
ghc8107
ghc902
ghc928
ghc948
ghc963
@@ -556,7 +555,6 @@ let
# of core packages, it is not always reasonable to get cabal-install to
# work with older compilers.
compilerNames.ghc8107
compilerNames.ghc902
compilerNames.ghc928
compilerNames.ghc948
] released;
@@ -578,14 +576,11 @@ let
haskell-language-server = lib.subtractLists [
# Support ceased as of 2.3.0.0
compilerNames.ghc8107
# Support ceased as of 2.5.0.0
compilerNames.ghc902
# Support ceased as of 2.10.0.0
compilerNames.ghc928
] released;
hoogle = released;
hlint = lib.subtractLists [
compilerNames.ghc902
compilerNames.ghc9101
compilerNames.ghc9102
compilerNames.ghc9122
@@ -598,7 +593,6 @@ let
titlecase = released;
ghc-api-compat = [
compilerNames.ghc8107
compilerNames.ghc902
];
ghc-bignum = [
compilerNames.ghc8107
@@ -687,11 +681,9 @@ let
constituents = accumulateDerivations [
jobs.pkgsMusl.haskell.compiler.ghc8107Binary
jobs.pkgsMusl.haskell.compiler.ghc8107
jobs.pkgsMusl.haskell.compiler.ghc902
jobs.pkgsMusl.haskell.compiler.ghc928
jobs.pkgsMusl.haskell.compiler.ghcHEAD
jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc928
jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
];
-2
View File
@@ -363,8 +363,6 @@ let
packages =
genAttrs
[
# TODO: share this list between release.nix and release-haskell.nix
"ghc90"
"ghc92"
"ghc94"
"ghc96"