Skip to content

Commit a9516ec

Browse files
smunixProvidence Salumu
and
Providence Salumu
authored
remove ghc minor versions in nix flake package builds (#3625)
* add support for aarch64-linux Allow nix users on aarch64-linux to build directly from this repository * rename nix hls packages to match nix ghc releases * fix default ghc version selection --------- Co-authored-by: Providence Salumu <[email protected]>
1 parent 50efbbb commit a9516ec

File tree

1 file changed

+31
-31
lines changed

1 file changed

+31
-31
lines changed

Diff for: flake.nix

+31-31
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@
178178
chmod +x $dest
179179
'';
180180
};
181-
} // (flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ])
181+
} // (flake-utils.lib.eachSystem [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ])
182182
(system:
183183
let
184184
pkgs = import nixpkgs {
@@ -187,28 +187,28 @@
187187
config = { allowBroken = true; };
188188
};
189189

190-
ghc902Config = (import ./configuration-ghc-90.nix) { inherit pkgs inputs; };
191-
ghc927Config = (import ./configuration-ghc-92.nix) { inherit pkgs inputs; };
192-
ghc944Config = (import ./configuration-ghc-94.nix) { inherit pkgs inputs; };
193-
ghc961Config = (import ./configuration-ghc-96.nix) { inherit pkgs inputs; };
190+
ghc90Config = (import ./configuration-ghc-90.nix) { inherit pkgs inputs; };
191+
ghc92Config = (import ./configuration-ghc-92.nix) { inherit pkgs inputs; };
192+
ghc94Config = (import ./configuration-ghc-94.nix) { inherit pkgs inputs; };
193+
ghc96Config = (import ./configuration-ghc-96.nix) { inherit pkgs inputs; };
194194

195195
# GHC versions
196196
# While HLS still works fine with 8.10 GHCs, we only support the versions that are cached
197197
# by upstream nixpkgs, which now only includes GHC version 9+
198198
supportedGHCs = let
199-
ghcVersion = "ghc" + (pkgs.lib.replaceStrings ["."] [""] pkgs.haskellPackages.ghc.version);
199+
ghcVersion = "ghc" + (builtins.concatStringsSep "" (pkgs.lib.lists.init (builtins.splitVersion pkgs.haskellPackages.ghc.version)));
200200
cases = {
201-
ghc902 = ghc902Config.tweakHpkgs (pkgs.hlsHpkgs "ghc902");
202-
ghc927 = ghc927Config.tweakHpkgs (pkgs.hlsHpkgs "ghc927");
203-
ghc944 = ghc944Config.tweakHpkgs (pkgs.hlsHpkgs "ghc944");
204-
ghc961 = ghc961Config.tweakHpkgs (pkgs.hlsHpkgs "ghc961");
201+
ghc90 = ghc90Config.tweakHpkgs (pkgs.hlsHpkgs "ghc90");
202+
ghc92 = ghc92Config.tweakHpkgs (pkgs.hlsHpkgs "ghc92");
203+
ghc94 = ghc94Config.tweakHpkgs (pkgs.hlsHpkgs "ghc94");
204+
ghc96 = ghc96Config.tweakHpkgs (pkgs.hlsHpkgs "ghc96");
205205
};
206-
in { default = cases."${ghcVersion}"; } // cases;
206+
in { default = cases."${ghcVersion}"; } // cases;
207207

208-
ghc902 = supportedGHCs.ghc902;
209-
ghc927 = supportedGHCs.ghc927;
210-
ghc944 = supportedGHCs.ghc944;
211-
ghc961 = supportedGHCs.ghc961;
208+
ghc90 = supportedGHCs.ghc90;
209+
ghc92 = supportedGHCs.ghc92;
210+
ghc94 = supportedGHCs.ghc94;
211+
ghc96 = supportedGHCs.ghc96;
212212
ghcDefault = supportedGHCs.default;
213213

214214
pythonWithPackages = pkgs.python3.withPackages (ps: [ps.sphinx ps.myst-parser ps.sphinx_rtd_theme ps.pip]);
@@ -327,37 +327,37 @@
327327
# Developement shell with only compiler
328328
simpleDevShells = {
329329
haskell-language-server-dev = mkDevShell ghcDefault "cabal.project";
330-
haskell-language-server-902-dev = mkDevShell ghc902 "cabal.project";
331-
haskell-language-server-927-dev = mkDevShell ghc927 "cabal.project";
332-
haskell-language-server-944-dev = mkDevShell ghc944 "cabal.project";
333-
haskell-language-server-961-dev = mkDevShell ghc961 "cabal.project";
330+
haskell-language-server-90-dev = mkDevShell ghc90 "cabal.project";
331+
haskell-language-server-92-dev = mkDevShell ghc92 "cabal.project";
332+
haskell-language-server-94-dev = mkDevShell ghc94 "cabal.project";
333+
haskell-language-server-96-dev = mkDevShell ghc96 "cabal.project";
334334
};
335335

336336
# Developement shell, haskell packages are also provided by nix
337337
nixDevShells = {
338338
haskell-language-server-dev-nix = mkDevShellWithNixDeps ghcDefault "cabal.project";
339-
haskell-language-server-902-dev-nix = mkDevShellWithNixDeps ghc902 "cabal.project";
340-
haskell-language-server-927-dev-nix = mkDevShellWithNixDeps ghc927 "cabal.project";
341-
haskell-language-server-944-dev-nix = mkDevShellWithNixDeps ghc944 "cabal.project";
342-
haskell-language-server-961-dev-nix = mkDevShellWithNixDeps ghc961 "cabal.project";
339+
haskell-language-server-90-dev-nix = mkDevShellWithNixDeps ghc90 "cabal.project";
340+
haskell-language-server-92-dev-nix = mkDevShellWithNixDeps ghc92 "cabal.project";
341+
haskell-language-server-94-dev-nix = mkDevShellWithNixDeps ghc94 "cabal.project";
342+
haskell-language-server-96-dev-nix = mkDevShellWithNixDeps ghc96 "cabal.project";
343343
};
344344

345345
# The default shell provided by Nixpkgs for a Haskell package (i.e. the
346346
# one that comes in the `.env` attribute)
347347
envShells = {
348348
haskell-language-server-dev-env = mkEnvShell ghcDefault;
349-
haskell-language-server-902-dev-env = mkEnvShell ghc902;
350-
haskell-language-server-927-dev-env = mkEnvShell ghc927;
351-
haskell-language-server-944-dev-env = mkEnvShell ghc944;
352-
haskell-language-server-961-dev-env = mkEnvShell ghc961;
349+
haskell-language-server-90-dev-env = mkEnvShell ghc90;
350+
haskell-language-server-92-dev-env = mkEnvShell ghc92;
351+
haskell-language-server-94-dev-env = mkEnvShell ghc94;
352+
haskell-language-server-96-dev-env = mkEnvShell ghc96;
353353
};
354354

355355
allPackages = {
356356
haskell-language-server = mkExe ghcDefault;
357-
haskell-language-server-902 = mkExe ghc902;
358-
haskell-language-server-927 = mkExe ghc927;
359-
haskell-language-server-944 = mkExe ghc944;
360-
haskell-language-server-961 = mkExe ghc961;
357+
haskell-language-server-90 = mkExe ghc90;
358+
haskell-language-server-92 = mkExe ghc92;
359+
haskell-language-server-94 = mkExe ghc94;
360+
haskell-language-server-96 = mkExe ghc96;
361361
};
362362

363363
devShells = simpleDevShells // nixDevShells // envShells // {

0 commit comments

Comments
 (0)