mirror of
https://github.com/simplex-chat/haskell.nix.git
synced 2026-06-03 09:17:32 +00:00
This change introduces a `ghc8102-experimental` compiler-nix-name that behaves much like the `ghc8102` version but includes @JoshMeredith's patch `./patches/ghc/ghc-8.10-ubxt.patch` that writes the `cg_binds` field with:
```haskell
liftIO $ registerInterfaceDataWith "ghc/phase/core" hsc_env $ \bh ->
putWithUserData (const $ return ()) bh (map toIfaceBind $ cg_binds cg_guts)
```
Some of the places where we used to depend on the output of `plan-to-nix` containing the correct `nix-name` for the compiler have been update to avoid using incompatible interface files from the `compiler-nix-name = "ghc8102"` version of GHC.
23 lines
962 B
Nix
23 lines
962 B
Nix
{ lib, testSrc, haskell-nix, evalPackages, buildPackages, compiler-nix-name, recurseIntoAttrs }:
|
|
let
|
|
project = buildPackages.haskell-nix.project' {
|
|
inherit compiler-nix-name;
|
|
src = evalPackages.fetchgit {
|
|
url = "https://github.com/haskell/haskell-language-server.git";
|
|
fetchSubmodules = true;
|
|
rev = "e390da54a90f2c6c02ce836a27f2d4c33a71f607";
|
|
sha256 = "0s77r79zn6q42k3biylni81vhn1yr8r1mqn8pj9kgggh16xw229b";
|
|
};
|
|
projectFileName = "stack-${haskell-nix.compiler.${compiler-nix-name}.version}.yaml";
|
|
modules = [{ config.compiler.nix-name = lib.mkForce compiler-nix-name; }];
|
|
sha256map = {
|
|
"https://github.com/bubba/brittany.git"."c59655f10d5ad295c2481537fc8abf0a297d9d1c" = "1rkk09f8750qykrmkqfqbh44dbx1p8aq1caznxxlw8zqfvx39cxl";
|
|
};
|
|
};
|
|
in recurseIntoAttrs {
|
|
ifdInputs = {
|
|
inherit (project) stack-nix;
|
|
};
|
|
build = project.hsPkgs.haskell-language-server.components.exes.haskell-language-server;
|
|
}
|