Skip to content

Commit 3b7e7e3

Browse files
committed
haskell.compiler.ghc928: drop
1 parent c024327 commit 3b7e7e3

10 files changed

Lines changed: 25 additions & 187 deletions

File tree

doc/languages-frameworks/haskell.section.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1305,7 +1305,7 @@ let
13051305
# Name of the compiler and package set you want to change. If you are using
13061306
# the default package set `haskellPackages`, you need to look up what version
13071307
# of GHC it currently uses (note that this is subject to change).
1308-
ghcName = "ghc92";
1308+
ghcName = "ghc910";
13091309
# Desired new setting
13101310
enableProfiling = true;
13111311

doc/release-notes/rl-2511.section.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
- 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.
2828

29-
- GHC 8.6, 8.10, 9.0, and their package sets have been removed.
29+
- GHC 8.6, 8.10, 9.0, 9.2, and their package sets have been removed.
3030

3131
- Support for bootstrapping native GHC compilers on 32‐bit ARM and little‐endian 64‐bit PowerPC has been dropped.
3232
The latter was probably broken anyway.

lib/options.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,9 +267,9 @@ rec {
267267
268268
mkPackageOption pkgs "GHC" {
269269
default = [ "ghc" ];
270-
example = "pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])";
270+
example = "pkgs.haskellPackages.ghc.withPackages (hkgs: [ hkgs.primes ])";
271271
}
272-
=> { ...; default = pkgs.ghc; defaultText = literalExpression "pkgs.ghc"; description = "The GHC package to use."; example = literalExpression "pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])"; type = package; }
272+
=> { ...; default = pkgs.ghc; defaultText = literalExpression "pkgs.ghc"; description = "The GHC package to use."; example = literalExpression "pkgs.haskellPackages.ghc.withPackages (hkgs: [ hkgs.primes ])"; type = package; }
273273
274274
mkPackageOption pkgs [ "python3Packages" "pytorch" ] {
275275
extraDescription = "This is an example and doesn't actually do anything.";

nixos/doc/manual/development/option-declarations.section.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,15 @@ lib.mkPackageOption pkgs "hello" { }
152152
lib.mkPackageOption pkgs "GHC"
153153
{
154154
default = [ "ghc" ];
155-
example = "pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])";
155+
example = "pkgs.haskellPackages.ghc.withPackages (hkgs: [ hkgs.primes ])";
156156
}
157157
# is like
158158
lib.mkOption
159159
{
160160
type = lib.types.package;
161161
default = pkgs.ghc;
162162
defaultText = lib.literalExpression "pkgs.ghc";
163-
example = lib.literalExpression "pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])";
163+
example = lib.literalExpression "pkgs.haskellPackages.ghc.withPackages (hkgs: [ hkgs.primes ])";
164164
description = "The GHC package to use.";
165165
}
166166
```

pkgs/development/compilers/ghc/9.2.8.nix

Lines changed: 0 additions & 4 deletions
This file was deleted.

pkgs/development/compilers/ghc/common-make-native-bignum.nix

Lines changed: 16 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -309,12 +309,7 @@ stdenv.mkDerivation (
309309
# package db. This fixes linking whenever stdenv and propagation won't
310310
# quite pass the correct -L flags to the linker, e.g. when using GHC
311311
# outside of stdenv/nixpkgs or build->build compilation in pkgsStatic.
312-
(
313-
if lib.versionAtLeast version "9.4" then
314-
./ghc-9.4-rts-package-db-libnuma-dirs.patch
315-
else
316-
./ghc-8.10-9.2-rts-package-db-libnuma-dirs.patch
317-
)
312+
./ghc-9.4-rts-package-db-libnuma-dirs.patch
318313
]
319314

320315
# Before GHC 9.6, GHC, when used to compile C sources (i.e. to drive the CC), would first
@@ -333,27 +328,20 @@ stdenv.mkDerivation (
333328
#
334329
# https://gitlab.haskell.org/ghc/ghc/-/issues/25608#note_622589
335330
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6877
336-
++ (
337-
if lib.versionAtLeast version "9.4" then
338-
[
339-
# Need to use this patch so the next one applies, passes file location info to the cc phase
340-
(fetchpatch {
341-
name = "ghc-add-location-to-cc-phase.patch";
342-
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/4a7256a75af2fc0318bef771a06949ffb3939d5a.patch";
343-
hash = "sha256-DnTI+i1zMebeWvw75D59vMaEEBb2Nr9HusxTyhmdy2M=";
344-
})
345-
# Makes Cc phase directly generate object files instead of assembly
346-
(fetchpatch {
347-
name = "ghc-cc-directly-emit-object.patch";
348-
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/96811ba491495b601ec7d6a32bef8563b0292109.patch";
349-
hash = "sha256-G8u7/MK/tGOEN8Wxccxj/YIOP7mL2G9Co1WKdHXOo6I=";
350-
})
351-
]
352-
else
353-
[
354-
# TODO(@sternenseemann): backport changes to GHC < 9.4 if possible
355-
]
356-
)
331+
++ [
332+
# Need to use this patch so the next one applies, passes file location info to the cc phase
333+
(fetchpatch {
334+
name = "ghc-add-location-to-cc-phase.patch";
335+
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/4a7256a75af2fc0318bef771a06949ffb3939d5a.patch";
336+
hash = "sha256-DnTI+i1zMebeWvw75D59vMaEEBb2Nr9HusxTyhmdy2M=";
337+
})
338+
# Makes Cc phase directly generate object files instead of assembly
339+
(fetchpatch {
340+
name = "ghc-cc-directly-emit-object.patch";
341+
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/96811ba491495b601ec7d6a32bef8563b0292109.patch";
342+
hash = "sha256-G8u7/MK/tGOEN8Wxccxj/YIOP7mL2G9Co1WKdHXOo6I=";
343+
})
344+
]
357345

358346
++ [
359347
# Don't generate code that doesn't compile when --enable-relocatable is passed to Setup.hs
@@ -366,39 +354,19 @@ stdenv.mkDerivation (
366354
})
367355
]
368356

369-
# fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482
370-
++ lib.optionals (lib.versionOlder version "9.4") [
371-
(fetchpatch {
372-
url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/1482.patch";
373-
sha256 = "sha256-8w8QUCsODaTvknCDGgTfFNZa8ZmvIKaKS+2ZJZ9foYk=";
374-
extraPrefix = "utils/haddock/";
375-
stripLen = 1;
376-
})
377-
]
378-
379357
# Fixes stack overrun in rts which crashes an process whenever
380358
# freeHaskellFunPtr is called with nixpkgs' hardening flags.
381359
# https://gitlab.haskell.org/ghc/ghc/-/issues/25485
382360
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13599
383361
# TODO: patch doesn't apply for < 9.4, but may still be necessary?
384-
++ lib.optionals (lib.versionAtLeast version "9.4") [
362+
++ [
385363
(fetchpatch {
386364
name = "ghc-rts-adjustor-fix-i386-stack-overrun.patch";
387365
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/39bb6e583d64738db51441a556d499aa93a4fc4a.patch";
388366
sha256 = "0w5fx413z924bi2irsy1l4xapxxhrq158b5gn6jzrbsmhvmpirs0";
389367
})
390368
]
391369

392-
++ lib.optionals (lib.versionOlder version "9.4.6") [
393-
# Fix docs build with sphinx >= 6.0
394-
# https://gitlab.haskell.org/ghc/ghc/-/issues/22766
395-
(fetchpatch {
396-
name = "ghc-docs-sphinx-6.0.patch";
397-
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/10e94a556b4f90769b7fd718b9790d58ae566600.patch";
398-
sha256 = "0kmhfamr16w8gch0lgln2912r8aryjky1hfcda3jkcwa5cdzgjdv";
399-
})
400-
]
401-
402370
++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
403371
# Prevent the paths module from emitting symbols that we don't use
404372
# when building with separate outputs.
@@ -466,8 +434,6 @@ stdenv.mkDerivation (
466434
export AR_STAGE0="$AR_FOR_BUILD"
467435
468436
echo -n "${buildMK}" > mk/build.mk
469-
''
470-
+ lib.optionalString (lib.versionAtLeast version "9.4") ''
471437
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
472438
''
473439
+ lib.optionalString (stdenv.hostPlatform.isLinux && hostPlatform.libc == "glibc") ''

pkgs/development/compilers/ghc/ghc-8.10-9.2-rts-package-db-libnuma-dirs.patch

Lines changed: 0 additions & 100 deletions
This file was deleted.

pkgs/top-level/haskell-packages.nix

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -86,18 +86,6 @@ in
8686
llvmPackages = pkgs.llvmPackages_15;
8787
};
8888

89-
ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix {
90-
bootPkgs = bb.packages.ghc902Binary;
91-
inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12
92-
python3 = buildPackages.python311; # so that we don't have two of them
93-
# Need to use apple's patched xattr until
94-
# https://github.com/xattr/xattr/issues/44 and
95-
# https://github.com/xattr/xattr/issues/55 are solved.
96-
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
97-
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
98-
llvmPackages = pkgs.llvmPackages_12;
99-
};
100-
ghc92 = compiler.ghc928;
10189
ghc948 = callPackage ../development/compilers/ghc/9.4.8.nix {
10290
bootPkgs =
10391
# Building with 9.2 is broken due to
@@ -249,6 +237,7 @@ in
249237
// pkgs.lib.optionalAttrs config.allowAliases {
250238
ghc810 = throw "'haskell.compiler.ghc810' has been removed."; # Added 2025-09-07
251239
ghc90 = throw "'haskell.compiler.ghc90' has been removed."; # Added 2025-09-07
240+
ghc92 = throw "'haskell.compiler.ghc92' has been removed."; # Added 2025-09-07
252241
ghcjs = throw "'haskell.compiler.ghcjs' has been removed. Please use 'pkgsCross.ghcjs' instead."; # Added 2025-09-06
253242
ghcjs810 = throw "'haskell.compiler.ghcjs810' has been removed. Please use 'pkgsCross.ghcjs' instead."; # Added 2025-09-06
254243
integer-simple = throw "All GHC versions with integer-simple support have been removed."; # Added 2025-09-07
@@ -288,12 +277,6 @@ in
288277
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.8.x.nix { };
289278
packageSetConfig = bootstrapPackageSet;
290279
};
291-
ghc928 = callPackage ../development/haskell-modules {
292-
buildHaskellPackages = bh.packages.ghc928;
293-
ghc = bh.compiler.ghc928;
294-
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
295-
};
296-
ghc92 = packages.ghc928;
297280
ghc948 = callPackage ../development/haskell-modules {
298281
buildHaskellPackages = bh.packages.ghc948;
299282
ghc = bh.compiler.ghc948;
@@ -362,6 +345,7 @@ in
362345
// pkgs.lib.optionalAttrs config.allowAliases {
363346
ghc810 = throw "'haskell.packages.ghc810' has been removed."; # Added 2025-09-07
364347
ghc90 = throw "'haskell.packages.ghc90' has been removed."; # Added 2025-09-07
348+
ghc92 = throw "'haskell.packages.ghc92' has been removed."; # Added 2025-09-07
365349
ghcjs = throw "'haskell.packages.ghcjs' has been removed. Please use 'pkgsCross.ghcjs' instead."; # Added 2025-09-06
366350
ghcjs810 = throw "'haskell.packages.ghcjs810' has been removed. Please use 'pkgsCross.ghcjs' instead."; # Added 2025-09-06
367351
integer-simple = throw "All GHC versions with integer-simple support have been removed."; # Added 2025-09-07

pkgs/top-level/release-haskell.nix

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ let
6363

6464
# list of all compilers to test specific packages on
6565
released = with compilerNames; [
66-
ghc928
6766
ghc948
6867
ghc963
6968
ghc967
@@ -547,7 +546,6 @@ let
547546
# from the package sets. Due to (transitively) requiring recent versions
548547
# of core packages, it is not always reasonable to get cabal-install to
549548
# work with older compilers.
550-
compilerNames.ghc928
551549
compilerNames.ghc948
552550
] released;
553551
Cabal_3_10_3_0 = lib.subtractLists [
@@ -565,10 +563,7 @@ let
565563
compilerNames.ghc9101
566564
compilerNames.ghc9102
567565
];
568-
haskell-language-server = lib.subtractLists [
569-
# Support ceased as of 2.10.0.0
570-
compilerNames.ghc928
571-
] released;
566+
haskell-language-server = released;
572567
hoogle = released;
573568
hlint = lib.subtractLists [
574569
compilerNames.ghc9101
@@ -663,9 +658,7 @@ let
663658
];
664659
};
665660
constituents = accumulateDerivations [
666-
jobs.pkgsMusl.haskell.compiler.ghc928
667661
jobs.pkgsMusl.haskell.compiler.ghcHEAD
668-
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc928
669662
jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
670663
];
671664
};

pkgs/top-level/release.nix

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,6 @@ let
363363
packages =
364364
genAttrs
365365
[
366-
"ghc92"
367366
"ghc94"
368367
"ghc96"
369368
"ghc98"

0 commit comments

Comments
 (0)