Unverified Commit 182ca243 authored by Wolfgang Walther's avatar Wolfgang Walther Committed by GitHub
Browse files

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

parents 47b23ef8 3273094f
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -24,7 +24,11 @@

- 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.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.
+0 −4
Original line number Diff line number Diff line
import ./common-make-native-bignum.nix {
  version = "9.0.2";
  sha256 = "140e42b96346322d1a39eb17602bcdc76e292028ad4a69286b230bab188a9197";
}
+4 −25
Original line number Diff line number Diff line
@@ -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
      )
    ];

    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
Original line number Diff line number Diff line
@@ -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
    };
+0 −8
Original line number Diff line number Diff line
@@ -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
        ];
Loading