|
73 | 73 | tweaks = hself: hsuper:
|
74 | 74 | with haskell.lib; {
|
75 | 75 |
|
76 |
| - # https://github.com/haskell/haskell-language-server/pull/1858 |
77 |
| - # Remove this override when nixpkgs has this package |
78 |
| - apply-refact_0_9_3_0 = hself.callCabal2nix "apply-refact" |
| 76 | + hls-tactics-plugin = hsuper.hls-tactics-plugin.override { |
| 77 | + refinery = hself.refinery_0_3_0_0; |
| 78 | + }; |
| 79 | + |
| 80 | + hiedb = hself.callCabal2nix "hiedb" |
79 | 81 | (builtins.fetchTarball {
|
80 | 82 | url =
|
81 |
| - "https://hackage.haskell.org/package/apply-refact-0.9.3.0/apply-refact-0.9.3.0.tar.gz"; |
| 83 | + "https://hackage.haskell.org/package/hiedb-0.4.0.0/hiedb-0.4.0.0.tar.gz"; |
82 | 84 | sha256 =
|
83 |
| - "1jfq1aw91finlpq5nn7a96za4c8j13jk6jmx2867fildxwrik2qj"; |
| 85 | + "13jz8c46zfpf54ya2wsv4akhn0wcfc6qjazqsjfir5gpvsi7v8xr"; |
84 | 86 | }) { };
|
85 | 87 |
|
86 |
| - hls-hlint-plugin = hsuper.hls-hlint-plugin.override { |
87 |
| - hlint = hself.hlint_3_2_7; |
88 |
| - apply-refact = hself.apply-refact_0_9_3_0; |
89 |
| - }; |
90 |
| - |
91 |
| - hls-tactics-plugin = hsuper.hls-tactics-plugin.override { |
92 |
| - refinery = hself.refinery_0_3_0_0; |
93 |
| - }; |
94 |
| - |
95 | 88 | };
|
96 | 89 |
|
97 | 90 | hlsSources =
|
|
112 | 105 | hlsHpkgs = compiler: extended haskell.packages.${compiler};
|
113 | 106 |
|
114 | 107 | # Support of GenChangelogs.hs
|
115 |
| - gen-hls-changelogs = |
116 |
| - let myGHC = haskellPackages.ghcWithPackages (p: with p; [ github ]); |
| 108 | + gen-hls-changelogs = hpkgs: |
| 109 | + let myGHC = hpkgs.ghcWithPackages (p: with p; [ github ]); |
117 | 110 | in runCommand "gen-hls-changelogs" {
|
118 | 111 | passAsFile = [ "text" ];
|
119 | 112 | preferLocalBuild = true;
|
|
137 | 130 | };
|
138 | 131 |
|
139 | 132 | # Pre-commit hooks to run stylish-haskell
|
140 |
| - pre-commit-check = pre-commit-hooks.lib.${system}.run { |
| 133 | + pre-commit-check = hpkgs: pre-commit-hooks.lib.${system}.run { |
141 | 134 | src = ./.;
|
142 | 135 | hooks = {
|
143 | 136 | stylish-haskell.enable = true;
|
| 137 | + # use stylish-haskell with our target ghc |
| 138 | + stylish-haskell.entry = "${hpkgs.stylish-haskell}/bin/stylish-haskell --inplace"; |
144 | 139 | stylish-haskell.excludes = [
|
145 | 140 | # Ignored files
|
146 | 141 | "^Setup.hs$"
|
|
178 | 173 | doBenchmark = true;
|
179 | 174 | packages = p:
|
180 | 175 | with builtins;
|
181 |
| - map (name: p.${name}) (attrNames pkgs.hlsSources); |
182 |
| - buildInputs = [ gmp zlib ncurses capstone tracy gen-hls-changelogs ] |
183 |
| - ++ (with haskellPackages; [ |
| 176 | + map (name: p.${name}) (attrNames hlsSources); |
| 177 | + buildInputs = [ gmp zlib ncurses capstone tracy (gen-hls-changelogs hpkgs) ] |
| 178 | + ++ (with hpkgs; [ |
184 | 179 | cabal-install
|
185 | 180 | hlint
|
186 | 181 | ormolu
|
|
193 | 188 | export LD_LIBRARY_PATH=${gmp}/lib:${zlib}/lib:${ncurses}/lib:${capstone}/lib
|
194 | 189 | export DYLD_LIBRARY_PATH=${gmp}/lib:${zlib}/lib:${ncurses}/lib:${capstone}/lib
|
195 | 190 | export PATH=$PATH:$HOME/.local/bin
|
196 |
| - ${pre-commit-check.shellHook} |
| 191 | + ${(pre-commit-check hpkgs).shellHook} |
197 | 192 | '';
|
198 | 193 | };
|
199 | 194 | # Create a hls executable
|
|
218 | 213 | haskell-language-server-884-dev = mkDevShell ghc884;
|
219 | 214 | haskell-language-server-8104-dev = mkDevShell ghc8104;
|
220 | 215 | haskell-language-server-8105-dev = mkDevShell ghc8105;
|
221 |
| - haskell-language-server-901-dev = mkDevShell ghc901; |
| 216 | + haskell-language-server-901-dev = builtins.throw "Nix expression for developing HLS in GHC 9.0.1 is not yet available"; # mkDevShell ghc901; |
222 | 217 |
|
223 | 218 | # hls package
|
224 | 219 | haskell-language-server = mkExe ghcDefault;
|
225 | 220 | haskell-language-server-884 = mkExe ghc884;
|
226 | 221 | haskell-language-server-8104 = mkExe ghc8104;
|
227 | 222 | haskell-language-server-8105 = mkExe ghc8105;
|
228 |
| - haskell-language-server-901 = mkExe ghc901; |
| 223 | + haskell-language-server-901 = builtins.throw "Nix expression for building HLS in GHC 9.0.1 is not yet available"; # mkExe ghc901; |
229 | 224 | };
|
230 | 225 |
|
231 | 226 | defaultPackage = packages.haskell-language-server;
|
|
0 commit comments