|
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