Skip to content

Commit c6390d4

Browse files
jmcardonriz0id
andauthored
Support ghc 9.12+ (#201)
Tested on GHC 9.12.2, all tests passing locally for me. At Arista Networks we're on a higher GHC version that static-ls supports. I'd like to try to get it building with alloglot if possible. --------- Co-authored-by: jacobleach-arista <jacob.leach@arista.com>
1 parent d5f3ef9 commit c6390d4

4 files changed

Lines changed: 53 additions & 37 deletions

File tree

flake.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

nix/overlays/default.nix

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@ let
77
fetchSubmodules = true;
88
};
99

10+
# GHC 9.12 test fixes merged upstream (well-typed/optics#512) but no
11+
# Hackage release yet; tracked in GHC #25631 and GHC #25883
12+
optics-repo = {
13+
url = "https://github.com/well-typed/optics";
14+
sha256 = "sha256-1Eoyaf0KUEtNL48Lb78NTSpx5LJaDDInguea306neXI=";
15+
rev = "d3f507217bb828ec97d3ead69b0b4319941c0ec5";
16+
};
17+
1018
in
1119
ghcVersion:
1220
self: super: {
@@ -15,8 +23,8 @@ in
1523
all-cabal-hashes =
1624
# Update revision to match required hackage
1725
super.fetchurl {
18-
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/59b02844f778d7cc71d2a62ee05c37e17b396051.tar.gz";
19-
sha256 = "sha256-NUuQW59vzpXufNpAq4qwx5R0/2TwgDgtapjDSdIybhQ=";
26+
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/e82a78bdc7a453ec96d5d8879bb9862b63a6f1b5.tar.gz";
27+
sha256 = "sha256-gV4iJvIfwSSrdYJeHQ6d8qchRP9hRGP2pj8xMkcJoCQ=";
2028
};
2129

2230
haskellPackages = super.haskell.packages.${self.ghcVersion}.override {
@@ -47,11 +55,17 @@ in
4755
rev = "ec14d702660c79a907e9c45812958cd0df0f036f";
4856
}) {};
4957

50-
hiedb = self.haskell.lib.dontCheck (haskellSuper.callHackage "hiedb" "0.6.0.1" {});
58+
hiedb = self.haskell.lib.dontCheck (haskellSuper.callHackage "hiedb" "0.6.0.2" {});
59+
5160
text-rope = haskellSuper.callHackage "text-rope" "0.3" {};
5261

53-
lsp-types = haskellSuper.callHackage "lsp-types" "2.3.0.0" {};
54-
lsp = haskellSuper.callHackage "lsp" "2.7.0.0" {};
62+
lsp-types = haskellSuper.callHackage "lsp-types" "2.3.0.1" {};
63+
64+
lsp = haskellSuper.callHackage "lsp" "2.7.0.1" {};
65+
66+
optics = self.haskell.lib.dontCheck (
67+
haskellSuper.callCabal2nix
68+
"optics" "${(super.fetchgit optics-repo)}/optics" {});
5569
};
5670
};
5771
}

package.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,18 @@ extra-doc-files:
1818
tested-with:
1919
- GHC == 9.4.4
2020
- GHC == 9.6.3
21+
- GHC == 9.12.2
2122

2223
dependencies:
2324
- array >= 0.5.4 && < 0.6
24-
- base >= 4.17.0 && < 4.21
25+
- base >= 4.17.0 && < 4.22
2526
- containers >= 0.6.0 && < 0.8
2627
- unordered-containers >= 0.2 && < 0.3
2728
- errors >= 2.3.0 && < 2.4
28-
- extra >= 1.7.12 && < 1.8
29+
- extra >= 1.7.12 && < 1.9
2930
- directory >= 1.3.7 && < 1.4
3031
- filepath
31-
- ghc >= 9.4.3 && < 9.11
32+
- ghc >= 9.4.3 && < 9.13
3233
- ghc-paths >= 0.1.0 && < 0.2
3334
- haskell-lexer >=1.1.1 && <1.2.0
3435
- hiedb >= 0.6 && < 0.7
@@ -37,7 +38,7 @@ dependencies:
3738
- mtl >= 2.2.2 && < 2.4
3839
- parsec >= 3.1.0 && < 3.2
3940
- sqlite-simple >= 0.4.18 && < 0.5
40-
- template-haskell >= 2.19.0 && < 2.23
41+
- template-haskell >= 2.19.0 && < 2.24
4142
- text >= 2.0.1 && < 2.2
4243
- time >= 1.0 && < 2.0
4344
- bytestring >=0.10 && <0.13

static-ls.cabal

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ build-type: Simple
1919
tested-with:
2020
GHC == 9.4.4
2121
, GHC == 9.6.3
22+
, GHC == 9.12.2
2223
extra-doc-files:
2324
README.md
2425
CHANGELOG.md
@@ -52,22 +53,22 @@ library
5253
, aeson >=2 && <2.3
5354
, array >=0.5.4 && <0.6
5455
, async
55-
, base >=4.17.0 && <4.21
56+
, base >=4.17.0 && <4.22
5657
, bytestring >=0.10 && <0.13
5758
, co-log-core ==0.3.*
5859
, containers >=0.6.0 && <0.8
5960
, cryptohash-md5
6061
, directory >=1.3.7 && <1.4
6162
, errors >=2.3.0 && <2.4
6263
, exceptions
63-
, extra >=1.7.12 && <1.8
64+
, extra >=1.7.12 && <1.9
6465
, filepath
6566
, fsnotify
66-
, ghc >=9.4.3 && <9.11
67+
, ghc >=9.4.3 && <9.13
6768
, ghc-paths >=0.1.0 && <0.2
6869
, hashable
6970
, haskell-ast
70-
, haskell-lexer >=1.1.1 && <1.2.0
71+
, haskell-lexer >=1.1.1 && <1.3
7172
, hiedb ==0.6.*
7273
, lens
7374
, lsp >=2.4.0.0 && <2.8.0.0
@@ -82,7 +83,7 @@ library
8283
, row-types
8384
, sqlite-simple >=0.4.18 && <0.5
8485
, stm
85-
, template-haskell >=2.19.0 && <2.23
86+
, template-haskell >=2.19.0 && <2.24
8687
, text >=2.0.1 && <2.2
8788
, text-range
8889
, text-rope ==0.3
@@ -206,22 +207,22 @@ executable print-hie
206207
, aeson >=2 && <2.3
207208
, array >=0.5.4 && <0.6
208209
, async
209-
, base >=4.17.0 && <4.21
210+
, base >=4.17.0 && <4.22
210211
, bytestring >=0.10 && <0.13
211212
, co-log-core ==0.3.*
212213
, containers >=0.6.0 && <0.8
213214
, cryptohash-md5
214215
, directory >=1.3.7 && <1.4
215216
, errors >=2.3.0 && <2.4
216217
, exceptions
217-
, extra >=1.7.12 && <1.8
218+
, extra >=1.7.12 && <1.9
218219
, filepath
219220
, fsnotify
220-
, ghc >=9.4.3 && <9.11
221+
, ghc >=9.4.3 && <9.13
221222
, ghc-paths >=0.1.0 && <0.2
222223
, hashable
223224
, haskell-ast
224-
, haskell-lexer >=1.1.1 && <1.2.0
225+
, haskell-lexer >=1.1.1 && <1.3
225226
, hiedb ==0.6.*
226227
, lens
227228
, lsp >=2.4.0.0 && <2.8.0.0
@@ -238,7 +239,7 @@ executable print-hie
238239
, sqlite-simple >=0.4.18 && <0.5
239240
, static-ls
240241
, stm
241-
, template-haskell >=2.19.0 && <2.23
242+
, template-haskell >=2.19.0 && <2.24
242243
, text >=2.0.1 && <2.2
243244
, text-range
244245
, text-rope ==0.3
@@ -275,22 +276,22 @@ executable static-ls
275276
, aeson >=2 && <2.3
276277
, array >=0.5.4 && <0.6
277278
, async
278-
, base >=4.17.0 && <4.21
279+
, base >=4.17.0 && <4.22
279280
, bytestring >=0.10 && <0.13
280281
, co-log-core ==0.3.*
281282
, containers >=0.6.0 && <0.8
282283
, cryptohash-md5
283284
, directory >=1.3.7 && <1.4
284285
, errors >=2.3.0 && <2.4
285286
, exceptions
286-
, extra >=1.7.12 && <1.8
287+
, extra >=1.7.12 && <1.9
287288
, filepath
288289
, fsnotify
289-
, ghc >=9.4.3 && <9.11
290+
, ghc >=9.4.3 && <9.13
290291
, ghc-paths >=0.1.0 && <0.2
291292
, hashable
292293
, haskell-ast
293-
, haskell-lexer >=1.1.1 && <1.2.0
294+
, haskell-lexer >=1.1.1 && <1.3
294295
, hiedb ==0.6.*
295296
, lens
296297
, lsp >=2.4.0.0 && <2.8.0.0
@@ -307,7 +308,7 @@ executable static-ls
307308
, sqlite-simple >=0.4.18 && <0.5
308309
, static-ls
309310
, stm
310-
, template-haskell >=2.19.0 && <2.23
311+
, template-haskell >=2.19.0 && <2.24
311312
, text >=2.0.1 && <2.2
312313
, text-range
313314
, text-rope ==0.3
@@ -360,22 +361,22 @@ test-suite expect_tests
360361
, aeson >=2 && <2.3
361362
, array >=0.5.4 && <0.6
362363
, async
363-
, base >=4.17.0 && <4.21
364+
, base >=4.17.0 && <4.22
364365
, bytestring >=0.10 && <0.13
365366
, co-log-core ==0.3.*
366367
, containers >=0.6.0 && <0.8
367368
, cryptohash-md5
368369
, directory >=1.3.7 && <1.4
369370
, errors >=2.3.0 && <2.4
370371
, exceptions
371-
, extra >=1.7.12 && <1.8
372+
, extra >=1.7.12 && <1.9
372373
, filepath
373374
, fsnotify
374-
, ghc >=9.4.3 && <9.11
375+
, ghc >=9.4.3 && <9.13
375376
, ghc-paths >=0.1.0 && <0.2
376377
, hashable
377378
, haskell-ast
378-
, haskell-lexer >=1.1.1 && <1.2.0
379+
, haskell-lexer >=1.1.1 && <1.3
379380
, hiedb ==0.6.*
380381
, hspec ==2.*
381382
, lens
@@ -395,7 +396,7 @@ test-suite expect_tests
395396
, stm
396397
, tasty
397398
, tasty-expect
398-
, template-haskell >=2.19.0 && <2.23
399+
, template-haskell >=2.19.0 && <2.24
399400
, text >=2.0.1 && <2.2
400401
, text-range
401402
, text-rope ==0.3
@@ -434,22 +435,22 @@ test-suite static-ls-test
434435
, aeson >=2 && <2.3
435436
, array >=0.5.4 && <0.6
436437
, async
437-
, base >=4.17.0 && <4.21
438+
, base >=4.17.0 && <4.22
438439
, bytestring >=0.10 && <0.13
439440
, co-log-core ==0.3.*
440441
, containers >=0.6.0 && <0.8
441442
, cryptohash-md5
442443
, directory >=1.3.7 && <1.4
443444
, errors >=2.3.0 && <2.4
444445
, exceptions
445-
, extra >=1.7.12 && <1.8
446+
, extra >=1.7.12 && <1.9
446447
, filepath
447448
, fsnotify
448-
, ghc >=9.4.3 && <9.11
449+
, ghc >=9.4.3 && <9.13
449450
, ghc-paths >=0.1.0 && <0.2
450451
, hashable
451452
, haskell-ast
452-
, haskell-lexer >=1.1.1 && <1.2.0
453+
, haskell-lexer >=1.1.1 && <1.3
453454
, hiedb ==0.6.*
454455
, hspec ==2.*
455456
, lens
@@ -467,7 +468,7 @@ test-suite static-ls-test
467468
, sqlite-simple >=0.4.18 && <0.5
468469
, static-ls
469470
, stm
470-
, template-haskell >=2.19.0 && <2.23
471+
, template-haskell >=2.19.0 && <2.24
471472
, text >=2.0.1 && <2.2
472473
, text-range
473474
, text-rope ==0.3

0 commit comments

Comments
 (0)