Skip to content

Commit eb285b4

Browse files
committed
More Compat for GHC 9.2
1 parent c89afc1 commit eb285b4

File tree

16 files changed

+439
-231
lines changed

16 files changed

+439
-231
lines changed

cabal-ghc921.project

Lines changed: 208 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ packages:
1515
./plugins/hls-explicit-imports-plugin
1616
./plugins/hls-refine-imports-plugin
1717
./plugins/hls-hlint-plugin
18-
./plugins/hls-retrie-plugin
18+
-- ./plugins/hls-retrie-plugin
1919
./plugins/hls-haddock-comments-plugin
2020
-- ./plugins/hls-splice-plugin
2121
./plugins/hls-floskell-plugin
@@ -42,20 +42,6 @@ source-repository-package
4242
location: https://github.com/HeinrichApfelmus/operational
4343
tag: 16e19aaf34e286f3d27b3988c61040823ec66537
4444

45-
source-repository-package
46-
type: git
47-
location: https://github.com/anka-213/th-extras
48-
tag: 57a97b4df128eb7b360e8ab9c5759392de8d1659
49-
-- https://github.com/mokus0/th-extras/pull/8
50-
-- https://github.com/mokus0/th-extras/issues/7
51-
52-
source-repository-package
53-
type: git
54-
location: https://github.com/fendor/dependent-sum
55-
tag: 5de03c38b0de4945f4e9bce1b026110e69dc8118
56-
subdir: dependent-sum-template
57-
-- https://github.com/obsidiansystems/dependent-sum/pull/59
58-
5945
-- Head of hiedb
6046
source-repository-package
6147
type: git
@@ -75,52 +61,215 @@ index-state: 2021-08-31T02:21:16Z
7561

7662
constraints:
7763
-- These plugins doesn't work on GHC9 yet
78-
haskell-language-server -brittany -class -fourmolu -splice -stylishhaskell -tactic -refineImports -callhierarchy
64+
haskell-language-server -brittany -class -fourmolu -splice -stylishhaskell -tactic -refineImports -callhierarchy -retrie
7965

8066

8167
allow-newer:
82-
-- -- Broken on ghc9, but let's pretend it's not so we can build the other things
83-
-- brittany:base,
84-
-- brittany:ghc,
85-
-- brittany:ghc-boot-th,
86-
-- butcher:base,
87-
-- fourmolu:ghc-lib-parser,
88-
-- stylish-haskell:ghc-lib-parser,
89-
-- stylish-haskell:Cabal,
90-
-- multistate:base,
91-
-- ghc-source-gen:ghc,
68+
Cabal,
69+
base,
70+
binary,
71+
bytestring,
72+
ghc,
73+
ghc-bignum,
74+
ghc-prim,
75+
integer-gmp,
76+
template-haskell,
77+
text,
78+
time,
9279

93-
assoc:base,
94-
cryptohash-md5:base,
95-
cryptohash-sha1:base,
96-
constraints-extras:template-haskell,
97-
data-tree-print:base,
98-
deepseq:base,
99-
dependent-sum:some,
100-
dependent-sum:constraints,
101-
diagrams-postscript:base,
102-
diagrams-postscript:lens,
103-
diagrams-postscript:diagrams-core,
104-
diagrams-postscript:monoid-extras,
105-
diagrams:diagrams-core,
106-
Chart-diagrams:diagrams-core,
107-
SVGFonts:diagrams-core,
108-
dual-tree:base,
109-
-- Does this make any sense?
110-
entropy:Cabal,
111-
force-layout:base,
112-
force-layout:lens,
113-
floskell:ghc-prim,
114-
floskell:base,
115-
hashable:base,
116-
hslogger:base,
117-
monoid-extras:base,
118-
newtype-generics:base,
119-
parallel:base,
120-
regex-base:base,
121-
regex-tdfa:base,
122-
statestack:base,
123-
svg-builder:base,
124-
these:base,
125-
time-compat:base
80+
diagrams-postscript:lens,
81+
diagrams-postscript:diagrams-core,
82+
diagrams-postscript:monoid-extras,
83+
dependent-sum:some,
84+
dependent-sum:constraints,
85+
diagrams:diagrams-core,
86+
Chart-diagrams:diagrams-core,
87+
SVGFonts:diagrams-core
12688

89+
constraints:
90+
Agda ==2.6.1.3,
91+
Diff ==0.4.0,
92+
EdisonAPI ==1.3.1,
93+
EdisonCore ==1.3.2.1,
94+
FPretty ==1.1,
95+
HTTP ==4000.3.16,
96+
HUnit ==1.6.2.0,
97+
QuickCheck ==2.14.2,
98+
Spock-core ==0.14.0.0,
99+
aeson ==1.5.6.0,
100+
aivika ==5.9.1,
101+
aivika-transformers ==5.9.1,
102+
alex ==3.2.6,
103+
ansi-pretty ==0.1.2.2,
104+
arith-encode ==1.0.2,
105+
async ==2.2.3,
106+
async-pool ==0.9.1,
107+
attoparsec ==0.13.2.5 || ==0.14.1,
108+
barbies-th ==0.1.8,
109+
base-compat ==0.11.2,
110+
base-compat-batteries ==0.11.2,
111+
base16-bytestring ==1.0.1.0,
112+
basement ==0.0.12,
113+
bits ==0.5.3,
114+
blaze-builder ==0.4.2.1,
115+
blaze-textual ==0.2.1.0,
116+
boomerang ==1.4.7,
117+
bound ==2.0.3,
118+
box-tuples ==0.2.0.4,
119+
byteslice ==0.2.5.2,
120+
bytesmith ==0.3.7.0,
121+
bytestring-strict-builder ==0.4.5.4,
122+
cabal-doctest ==1.0.8,
123+
cantor-pairing ==0.2.0.1,
124+
cassava ==0.5.2.0,
125+
cborg ==0.2.5.0,
126+
cereal ==0.5.8.1,
127+
charset ==0.3.8,
128+
chaselev-deque ==0.5.0.5,
129+
classy-prelude ==1.5.0,
130+
combinat ==0.2.10.0,
131+
commonmark-extensions ==0.2.1.2,
132+
conduit ==1.3.4.1,
133+
constraints ==0.13,
134+
constraints-extras ==0.3.1.0,
135+
cql ==4.0.3,
136+
critbit ==0.2.0.0,
137+
cryptonite ==0.29,
138+
data-default-instances-new-base ==0.0.2,
139+
data-dword ==0.3.2,
140+
data-r-tree ==0.6.0,
141+
datetime ==0.3.1,
142+
deferred-folds ==0.9.17,
143+
dependent-sum-template ==0.1.0.3,
144+
deriving-compat ==0.5.10,
145+
diagrams-lib ==1.4.4,
146+
doctest ==0.18.1,
147+
dom-lt ==0.2.2.1,
148+
drinkery ==0.4,
149+
edit-distance ==0.2.2.1,
150+
emacs-module ==0.1.1,
151+
endo ==0.3.0.1,
152+
entropy ==0.4.1.6,
153+
enumeration ==0.2.0,
154+
extra ==1.7.9,
155+
fgl ==5.7.0.3,
156+
filepattern ==0.1.2,
157+
focus ==1.0.2,
158+
free-algebras ==0.1.0.1,
159+
free-functors ==1.2.1,
160+
generic-data ==0.9.2.0,
161+
generic-deriving ==1.14,
162+
generic-lens ==2.2.0.0,
163+
generic-lens-core ==2.2.0.0,
164+
generic-optics ==2.2.0.0,
165+
generics-sop ==0.5.1.1,
166+
geniplate-mirror ==0.7.8,
167+
ghc-events ==0.17.0,
168+
happy ==1.20.0,
169+
hashtables ==1.2.4.1,
170+
haskeline ==0.7.5.0,
171+
haskell-src-exts ==1.23.1,
172+
haskell-src-meta ==0.8.7,
173+
haxl ==2.3.0.0,
174+
heterocephalus ==1.0.5.4,
175+
hgeometry ==0.12.0.4,
176+
hgeometry-ipe ==0.12.0.0,
177+
hscolour ==1.24.4,
178+
hslogger ==1.3.1.0,
179+
hspec-core ==2.8.3,
180+
hspec-discover ==2.8.3,
181+
hspec-expectations ==0.8.2,
182+
hspec-meta ==2.7.8,
183+
hspec-wai ==0.11.1,
184+
http-types ==0.12.3,
185+
http2 ==3.0.2,
186+
hvect ==0.4.0.0,
187+
hxt ==9.3.1.22,
188+
inj-base ==0.2.0.0,
189+
inspection-testing ==0.4.6.0,
190+
invariant ==0.5.4,
191+
io-choice ==0.0.7,
192+
iproute ==1.7.11,
193+
language-c ==0.9.0.1,
194+
language-haskell-extract ==0.2.4,
195+
language-javascript ==0.7.1.0,
196+
lens ==5.0.1,
197+
lens-family-th ==0.5.2.0,
198+
list-t ==1.0.4,
199+
lockfree-queue ==0.2.3.1,
200+
memory ==0.16.0,
201+
microlens-ghc ==0.4.13,
202+
monad-validate ==1.2.0.0,
203+
monadplus ==1.4.2,
204+
mono-traversable ==1.0.15.1,
205+
mono-traversable-keys ==0.1.0,
206+
mustache ==2.3.1,
207+
network ==3.1.2.2,
208+
newtype-generics ==0.6,
209+
obdd ==0.8.2,
210+
optics-th ==0.4,
211+
packman ==0.5.0,
212+
pandoc ==2.14.2,
213+
parameterized-utils ==2.1.3.0,
214+
partial-isomorphisms ==0.2.2.1,
215+
pem ==0.2.4,
216+
persistent ==2.13.0.3 || ==2.13.1.1,
217+
plots ==0.1.1.2,
218+
pointed ==5.0.2,
219+
posix-api ==0.3.5.0,
220+
primitive-extras ==0.10.1.1,
221+
primitive-sort ==0.1.0.0,
222+
primitive-unlifted ==0.1.3.0,
223+
proto3-wire ==1.2.2,
224+
quickcheck-instances ==0.3.25.2,
225+
random ==1.2.0,
226+
relude ==1.0.0.1,
227+
row-types ==1.0.1.0,
228+
safe ==0.3.19,
229+
safecopy ==0.10.4.2,
230+
salak ==0.3.6,
231+
securemem ==0.1.10,
232+
semialign ==1.2,
233+
semigroupoids ==5.3.5,
234+
serialise ==0.2.3.0,
235+
servant ==0.18.3,
236+
shake ==0.19.5,
237+
shakespeare ==2.0.25,
238+
singletons ==3.0,
239+
singletons-base ==3.0,
240+
siphash ==1.0.3,
241+
snap-core ==1.0.4.2,
242+
streaming-commons ==0.2.2.1,
243+
streamly ==0.8.0,
244+
subcategories ==0.1.1.0,
245+
test-framework ==0.8.2.0,
246+
text-format ==0.3.2,
247+
text-short ==0.1.3,
248+
text-show ==3.9,
249+
th-desugar ==1.12,
250+
th-extras ==0.0.0.4,
251+
threads ==0.5.1.6,
252+
tls ==1.5.5,
253+
tpdb ==2.2.0,
254+
tree-diff ==0.2,
255+
true-name ==0.1.0.3,
256+
uniplate ==1.6.13,
257+
unordered-containers ==0.2.14.0,
258+
validity ==0.11.0.1,
259+
vector-builder ==0.3.8.2,
260+
vector-circular ==0.1.3,
261+
vector-th-unbox ==0.2.1.9,
262+
vinyl ==0.13.3,
263+
vty ==5.33,
264+
wai-app-static ==3.1.7.2,
265+
wai-extra ==3.1.6,
266+
wai-middleware-static ==0.9.0,
267+
warp ==3.3.17,
268+
winery ==1.3.2,
269+
witherable ==0.4.1,
270+
x509 ==1.7.5,
271+
x509-validation ==1.6.11,
272+
xlsx ==0.8.4,
273+
xml-hamlet ==0.5.0.1,
274+
yaml ==0.11.5.0,
275+
yesod-core ==1.6.21.0

ghcide/ghcide.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ library
4848
dependent-map,
4949
dependent-sum,
5050
dlist,
51-
extra >= 1.7.4,
51+
extra >= 1.7.4 && < 1.7.10,
5252
fuzzy,
5353
filepath,
5454
fingertree,

ghcide/src/Control/Concurrent/Strict.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ module Control.Concurrent.Strict
44
,module Control.Concurrent.Extra
55
) where
66

7-
import Control.Concurrent.Extra hiding (modifyVar, modifyVar',
8-
modifyVar_)
7+
import Control.Concurrent.Extra hiding (modifyVar, modifyVar_)
98
import qualified Control.Concurrent.Extra as Extra
109
import Control.Exception (evaluate)
1110
import Control.Monad (void)

ghcide/src/Development/IDE/GHC/Compat.hs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -95,27 +95,24 @@ import Development.IDE.GHC.Compat.Util
9595
#if MIN_VERSION_ghc(9,0,0)
9696
import GHC.Data.StringBuffer
9797
import GHC.Driver.Session hiding (ExposePackage)
98-
#if !MIN_VERSION_ghc(9,2,0)
98+
#if MIN_VERSION_ghc(9,2,0)
99+
import GHC.Driver.Env as Env
100+
import GHC.Unit.Module.ModIface
101+
#else
99102
import GHC.Driver.Types
100103
#endif
101104
import GHC.Hs.Extension
105+
import GHC.Iface.Env
102106
import GHC.Iface.Make (mkIfaceExports)
103107
import qualified GHC.SysTools.Tasks as SysTools
104108
import GHC.Tc.Utils.TcType (pprSigmaType)
105109
import qualified GHC.Types.Avail as Avail
106110
import qualified GHC.Unit.Module.Location as Module
111+
import GHC.Unit.Types
107112
#else
108113
import DynFlags hiding (ExposePackage)
109114
import qualified Module
110-
#if MIN_VERSION_ghc(9,0,0)
111-
import Control.Exception.Safe as Safe (Exception, MonadCatch, catch)
112-
import GHC.Core.TyCo.Ppr (pprSigmaType)
113-
import GHC.Iface.Load
114-
import GHC.Types.Unique.Set (emptyUniqSet)
115-
#else
116115
import TcType (pprSigmaType)
117-
#endif
118-
119116
import HscTypes
120117
import MkIface hiding (writeIfaceFile)
121118
#if MIN_VERSION_ghc(8,10,0)
@@ -149,7 +146,7 @@ import Data.IORef
149146

150147
import qualified Data.Map as Map
151148

152-
#if MIN_VERSION_ghc(9,0,0) && !MIN_VERSION_ghc(9,2,0)
149+
#if MIN_VERSION_ghc(9,0,0)
153150
import qualified Data.Set as S
154151
#endif
155152
#if MIN_VERSION_ghc(8,8,0)

0 commit comments

Comments
 (0)