-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ghc 9.2.7, ghc 9.6.1 and replace old-ghc-nix with nixpkgs ghc #1854
Conversation
# Conflicts: # overlays/bootstrap.nix
Hi, thanks for all your hard work on this. There's a fix here for evaluating this branch with the |
Cross compilers (e.g. musl and mingw) are no longer be built after this change, probably due to the change in diff --git a/flake.nix b/flake.nix
index 9b23b26f..f6df9ee8 100644
--- a/flake.nix
+++ b/flake.nix
@@ -68,7 +68,7 @@
};
outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-2105, nixpkgs-2111, nixpkgs-2205, nixpkgs-2211, flake-utils, tullia, ... }@inputs:
- let compiler = "ghc926";
+ let compiler = "ghc927";
config = import ./config.nix;
traceNames = prefix: builtins.mapAttrs (n: v:
@@ -163,13 +163,13 @@
ci = import ./ci.nix { inherit (self.internal) compat; inherit system; };
in stripAttrsForHydra (filterDerivations ci);
- ciJobs =
+ requiredJobs =
let
inherit (legacyPackages) lib;
names = x: lib.filter (n: n != "recurseForDerivations" && n != "meta")
(builtins.attrNames x);
- requiredJobs =
- builtins.listToAttrs (
+ in
+ builtins.listToAttrs (
lib.concatMap (nixpkgsVer:
let nixpkgsJobs = allJobs.${nixpkgsVer};
in lib.concatMap (compiler-nix-name:
@@ -185,9 +185,8 @@
}) (names ghcJobs))
) (names nixpkgsJobs)
) (names allJobs));
- in lib.optionalAttrs (system == "x86_64-linux") {
- latest = allJobs.unstable.ghc8107.native or {};
- } // requiredJobs;
+
+ ciJobs = allJobs;
hydraJobs = ciJobs; Before this PR: $ nix eval --json .#hydraJobs --apply __attrNames
["latest","required-R2205-ghc8107-native","required-R2205-ghc865-native","required-R2211-ghc8107-native","required-R2211-ghc865-native","required-R2211-ghc902-native","required-R2211-ghc926-native","required-R2211-ghc944-native","required-unstable-ghc8107-aarch64-multiplatform","required-unstable-ghc8107-ghcjs","required-unstable-ghc8107-mingwW64","required-unstable-ghc8107-musl64","required-unstable-ghc8107-native","required-unstable-ghc865-ghcjs","required-unstable-ghc865-native","required-unstable-ghc884-ghcjs","required-unstable-ghc884-native","required-unstable-ghc902-aarch64-multiplatform","required-unstable-ghc902-mingwW64","required-unstable-ghc902-musl64","required-unstable-ghc902-native","required-unstable-ghc926-aarch64-multiplatform","required-unstable-ghc926-mingwW64","required-unstable-ghc926-musl64","required-unstable-ghc926-native","required-unstable-ghc944-mingwW64","required-unstable-ghc944-native"] Note that this contains entries such as After this PR: $ nix eval --json .#hydraJobs --apply __attrNames
["R2205","R2211","meta","unstable"]
~/git/iog/haskell.nix on master
$ nix eval --json .#hydraJobs.unstable --apply __attrNames
["ghc8107","ghc902","ghc927","ghc944","ghc96020230302","ghc961","meta","recurseForDerivations"]
~/git/iog/haskell.nix on master
$ nix eval --json .#hydraJobs.unstable.ghc927 --apply __attrNames
["meta","native","recurseForDerivations"] Only |
@amesgen thabks for the report. This PR ended up being way too large :-( we will focus on speeding up CI so that this kinda of PRs don't end up taking 1-2days per iteration :-/ |
This PR started out adding GHC 9.6.1 (alpha). To make it now also switches the boot compilers from
old-ghc-nix
(which is unmaintained) to use the native compilers in nixpkgs. This means we can boot the haskell.nix versions of the compilers with more recent GHC versions. Hopefully this will allow us to stop maintaining support for old compilers (like 8.4.4 and 8.6.5). It should also reduce the depth of GHC recompilation that results from changes in haskell.nix.Now 9.2.7 is available we are also adding that to this PR.
Once this is merged, let's merge