|
140 | 140 | overlayGHC = final: prev: {
|
141 | 141 | haskellPackages = let ps = prev.haskell.packages.${ghcVer};
|
142 | 142 | in if useClang then
|
143 |
| - ps.override { |
| 143 | + let |
| 144 | + newLlvmPackages = if ghcVer == "ghc901" then |
| 145 | + prev.llvmPackages_9 |
| 146 | + else |
| 147 | + prev.llvmPackages_12; |
| 148 | + newStdenv = newLlvmPackages.stdenv; |
| 149 | + in ps.override { |
144 | 150 | ghc =
|
145 |
| - final.buildPackages.haskell.compiler.${ghcVer}.override { |
| 151 | + prev.buildPackages.haskell.compiler.${ghcVer}.override { |
146 | 152 | useLLVM = true;
|
| 153 | + llvmPackages = newLlvmPackages; |
| 154 | + targetPackages = prev.targetPackages.extend |
| 155 | + (self: super: { stdenv = newStdenv; }); |
| 156 | + pkgsHostTarget = prev.pkgsHostTarget.extend |
| 157 | + (self: super: { |
| 158 | + targetPackages = super.targetPackages.extend |
| 159 | + (sself: super: { stdenv = newStdenv; }); |
| 160 | + }); |
| 161 | + pkgsBuildTarget = prev.pkgsBuildTarget.extend |
| 162 | + (self: super: { |
| 163 | + targetPackages = super.targetPackages.extend |
| 164 | + (sself: super: { stdenv = newStdenv; }); |
| 165 | + }); |
147 | 166 | };
|
148 |
| - stdenv = prev.clangStdenv; |
| 167 | + stdenv = newStdenv; |
149 | 168 | }
|
150 | 169 | else
|
151 | 170 | ps;
|
|
177 | 196 | mkUserShell = { ghcVer, useClang ? false }:
|
178 | 197 | let
|
179 | 198 | pkgs = mkPkgs { inherit ghcVer useClang; };
|
| 199 | + newStdenv = if useClang then |
| 200 | + let |
| 201 | + newLlvmPackages = if ghcVer == "ghc901" then |
| 202 | + pkgs.llvmPackages_9 |
| 203 | + else |
| 204 | + pkgs.llvmPackages_12; |
| 205 | + in newLlvmPackages.stdenv |
| 206 | + else |
| 207 | + pkgs.stdenv; |
| 208 | + |
180 | 209 | hsenv = pkgs.haskellPackages.ghcWithPackages
|
181 | 210 | (ps: builtins.map (name: ps.${name}) categorifierCPackageNames);
|
182 | 211 | mkShell_ = if useClang then
|
183 |
| - pkgs.mkShell.override { stdenv = pkgs.clangStdenv; } |
| 212 | + pkgs.mkShell.override { stdenv = newStdenv; } |
184 | 213 | else
|
185 | 214 | pkgs.mkShell;
|
186 | 215 | in mkShell_ {
|
|
0 commit comments