Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update refactor/splice/hlint/fourmolu/retrie/gadt plugin for GHC 9.4 #3317

Merged
merged 91 commits into from
Dec 21, 2022
Merged
Show file tree
Hide file tree
Changes from 90 commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
5b93df7
Set buildable on GHC 9.4
9999years Nov 3, 2022
14693fd
Start work on GHC 9.4 compat
9999years Nov 3, 2022
1c9498d
Use patched `retrie`
9999years Nov 3, 2022
8b87ce6
update retrie with github address. circumvent nix-prefetch-url.
wavewave Nov 4, 2022
5eca01a
handle ExactPrint
wavewave Nov 4, 2022
0ac3799
fix ghc 9.0 env.
wavewave Nov 4, 2022
2f04bcb
unwrap big CPP conditional for GHC 9.4
wavewave Nov 4, 2022
1617185
GHC 9.4 buildable by disabling a few suggest.. functions
wavewave Nov 4, 2022
04a0f43
enable disabled suggest...!
wavewave Nov 4, 2022
dd9b3a1
hls-fourmolu-plugin is buildable
9999years Nov 4, 2022
013217f
hls-splice-plugin is buildable
9999years Nov 4, 2022
3fc6870
hls-hlint-plugin is buildable
9999years Nov 4, 2022
07e3d8e
Enable plugins on GHC 9.4
9999years Nov 4, 2022
e6fb469
Add fourmolu for GHC 9.4
9999years Nov 4, 2022
0025609
fourmolu tweawk
9999years Nov 4, 2022
80efb1f
Fix `hls-hlint-plugin` build
Gabriella439 Nov 7, 2022
4f6a451
Fix build of `hls-splice-plugin`
Gabriella439 Nov 8, 2022
bb863b4
annotation on close parenthesis. still need more work.
wavewave Nov 4, 2022
c8334fa
found where closing parenthesis were missing
wavewave Nov 7, 2022
83aef0f
examine internal annotation information.
wavewave Nov 8, 2022
cc327a1
make use of makeDeltaAst. This fixes most of test failures in GHC 9.4
wavewave Nov 8, 2022
e05ad59
remove dead code
wavewave Nov 8, 2022
d9a6509
update apply-refact and hlint deps
wavewave Nov 8, 2022
b4511b9
temporarily comment out hls-fourmolu-plugin.
wavewave Nov 8, 2022
24f45d2
comment out build-tool-depends. then hls-fourmolu-plugin build succee…
wavewave Nov 8, 2022
fd92fa5
remove unused fourmolu flake inputs
wavewave Nov 8, 2022
49aeb73
fix ghc 9.0 build again.
wavewave Nov 8, 2022
63ba2cb
hlint and fourmolu for GHC 9.2!
wavewave Nov 8, 2022
79a9272
fix mistakenly overriden nix exp.
wavewave Nov 8, 2022
2ab0974
remove unused hlint-3.3.6
wavewave Nov 8, 2022
8a0c4f3
Fix CPP in hls-refactor-plugin
9999years Nov 9, 2022
5b569e2
Fix build error in hls-refactor-plugin
9999years Nov 9, 2022
747e02c
Fix import
9999years Nov 9, 2022
c943767
Use `showErrors` instead of `showBag`
9999years Nov 9, 2022
5f492d0
fix initialization test error in refactor plugin.
wavewave Nov 9, 2022
e2e3a01
alternateNumberFormat and explicitFixity don't build on GHC 9.4
9999years Nov 9, 2022
5c05d35
force demoteIfDefer = id in typecheckModule for GHC 9.4.
wavewave Nov 10, 2022
9ca95ed
ignore tests which were already ignored with GHC 9.2
wavewave Nov 10, 2022
5f2e77d
fix extractDoesNotExportModuleName for GHC 9.4 by adjusting regex match
wavewave Nov 10, 2022
a3647c0
use makeDeltaAst in removeRedundantConstraints
wavewave Nov 10, 2022
b38226c
fix addTypeAnnotationsToLiteralsTest
wavewave Nov 10, 2022
765fb9c
Revert "alternateNumberFormat and explicitFixity don't build on GHC 9.4"
9999years Nov 10, 2022
77a097e
Update flake lockfile
9999years Nov 14, 2022
c0b4951
Use upstream `retrie`
9999years Nov 14, 2022
87f04c0
Use upstream `retrie`
9999years Nov 14, 2022
b7eac4d
Update lockfile
9999years Nov 14, 2022
a2e200b
Use upstream fourmolu
9999years Nov 15, 2022
256c55d
fix arrow annotation on ghc 9.4
wavewave Nov 15, 2022
1b5e33f
fix flake.nix issue
wavewave Nov 15, 2022
7af6271
revert demoteIfDefer change for GHC 9.4.
wavewave Nov 15, 2022
c2c7461
fix hls-splice-plugin build on GHC 9.0.2
wavewave Nov 15, 2022
5626418
Merge branch 'master' into rebeccat/ghc94-merge
wavewave Dec 12, 2022
0770865
disable tracy on darwin.
wavewave Dec 12, 2022
6730eaf
disable fourmolu plugin and ekg-json for now.
wavewave Dec 12, 2022
0ce9e6d
fourmolu update to 0.10.1.0
wavewave Dec 12, 2022
c86a07c
build fix for hls-refactor-plugin after merge
wavewave Dec 12, 2022
1408667
update index-state.
wavewave Dec 12, 2022
e7b83bf
downgrade fourmolu to 0.9 for ghc 9.2 and 9.0
wavewave Dec 12, 2022
4a2e757
remove unnecessary problematic Cabal-syntax dependency.
wavewave Dec 12, 2022
9e1fef1
update Cabal for ormolu in ghc 9.0 nix env.
wavewave Dec 12, 2022
665b083
use custom apply-refact for now for both ghc 9.2 and 9.4
wavewave Dec 14, 2022
f45a92e
Merge branch 'master' into rebeccat/ghc94
wavewave Dec 14, 2022
c757206
added ghc >= 9.2 condition
wavewave Dec 14, 2022
476f168
fix fourmolu with -f-fixity-th in nix env
wavewave Dec 14, 2022
cb6b3c1
limit implicit-hie < 0.1.3
wavewave Dec 15, 2022
99de03d
add fourmolu back to build-tools-depends
wavewave Dec 15, 2022
7ab1e11
mark GHC92-failing tests to be failed on GHC 9.4
wavewave Dec 15, 2022
837b040
ci failure test
wavewave Dec 16, 2022
14bbec3
bump nix file.
wavewave Dec 16, 2022
ab753ba
disable cachix action
wavewave Dec 16, 2022
299c3c1
further comment out
wavewave Dec 16, 2022
5b98a6e
revive cachix action.
wavewave Dec 16, 2022
4c518f8
remove commented-out
wavewave Dec 16, 2022
b3168bb
Merge branch 'wavewave/fourmolu-fix' into wavewave/ci-nix-build
wavewave Dec 16, 2022
f6d857a
fix hls-cabal-plugin by removing Cabal-syntax.
wavewave Dec 16, 2022
30dac51
limit implicit-hie < 0.1.3
wavewave Dec 15, 2022
f0bcb95
added a small comment and link to the issue.
wavewave Dec 16, 2022
35f328f
Merge branch 'wavewave/fourmolu-fix' into wavewave/ci-nix-build
wavewave Dec 16, 2022
0eab340
Merge branch 'master' into wavewave/ci-nix-build
wavewave Dec 16, 2022
1f6d034
Merge remote-tracking branch 'mercury/wavewave/ci-nix-build' into reb…
wavewave Dec 16, 2022
0557552
put implicit-hie to ghcide dep
wavewave Dec 16, 2022
ad2d33a
Merge branch 'wavewave/ci-nix-build' into rebeccat/ghc94
wavewave Dec 16, 2022
b4cee21
Merge branch 'master' into rebeccat/ghc94
wavewave Dec 17, 2022
5d3c848
Merge branch 'master' into rebeccat/ghc94
wavewave Dec 19, 2022
eac6f1b
update apply-refact rev
wavewave Dec 19, 2022
61aca10
use apply-refact-0.11.0.0 on hackage.
wavewave Dec 19, 2022
425119a
Merge branch 'master' into rebeccat/ghc94
wavewave Dec 20, 2022
65e9f0c
Merge branch 'master' into rebeccat/ghc94
wavewave Dec 20, 2022
7dc9666
Merge remote-tracking branch 'mercury/rebeccat/ghc94' into rebeccat/g…
wavewave Dec 20, 2022
410d0d0
9.4 support for gadt and retrie plugins
wz1000 Dec 21, 2022
6408e81
Merge branch 'master' into rebeccat/ghc94
wz1000 Dec 21, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ package *

write-ghc-environment-files: never

index-state: 2022-12-13T21:00:15Z
index-state: 2022-12-19T19:08:33Z

constraints:
-- For GHC 9.4, older versions of entropy fail to build on Windows
Expand All @@ -65,7 +65,8 @@ constraints:
-- https://github.com/ndmitchell/hlint/issues/1376
hlint +ghc-lib,
ghc-lib-parser-ex -auto,
stylish-haskell +ghc-lib
stylish-haskell +ghc-lib,
fourmolu -fixity-th

-- This is benign and won't affect our ability to release to Hackage,
-- because we only depend on `ekg-json` when a non-default flag
Expand Down
13 changes: 8 additions & 5 deletions configuration-ghc-90.nix
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,14 @@ let
# https://github.com/nikita-volkov/ptr-poker/issues/11
ptr-poker = hself.callCabal2nix "ptr-poker" inputs.ptr-poker { };

ghc-lib = hself.ghc-lib_9_2_4_20220729;
ghc-lib-parser = hself.ghc-lib-parser_9_2_4_20220729;
ghc-lib = hself.ghc-lib_9_2_5_20221107;
ghc-lib-parser = hself.ghc-lib-parser_9_2_5_20221107;
ghc-lib-parser-ex = hself.ghc-lib-parser-ex_9_2_1_1;

Cabal = hself.Cabal_3_6_3_0;
ormolu = hself.ormolu_0_5_0_1;

# Hlint is still broken
hlint = doJailbreak (hself.callCabal2nix "hlint" inputs.hlint-34 { });
fourmolu = hself.fourmolu_0_9_0_0;
hlint = appendConfigureFlag (hself.callCabal2nix "hlint" inputs.hlint-341 {}) "-fghc-lib";

hls-hlint-plugin = hself.callCabal2nixWithOptions "hls-hlint-plugin"
./plugins/hls-hlint-plugin
Expand All @@ -37,6 +36,10 @@ let
hself.callCabal2nixWithOptions "haskell-language-server" ./.
(pkgs.lib.concatStringsSep " " [ "-f-brittany" "-f-stylishhaskell" ])
{ };

retrie = hself.retrie_1_1_0_0;
apply-refact = hself.apply-refact_0_9_3_0;

});
in {
inherit disabledPlugins;
Expand Down
8 changes: 5 additions & 3 deletions configuration-ghc-92.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

let
disabledPlugins = [
"hls-hlint-plugin"
# That one is not technically a plugin, but by putting it in this list, we
# get it removed from the top level list of requirement and it is not pull
# in the nix shell.
Expand All @@ -24,15 +23,18 @@ let
# https://github.com/nikita-volkov/ptr-poker/issues/11
ptr-poker = hself.callCabal2nix "ptr-poker" inputs.ptr-poker { };

# Hlint is still broken
hlint = doJailbreak (hself.callCabal2nix "hlint" inputs.hlint { });
ghc-exactprint =
hself.callCabal2nix "ghc-exactprint" inputs.ghc-exactprint-150 { };
fourmolu = hself.fourmolu_0_9_0_0;
hlint = appendConfigureFlag (hself.callCabal2nix "hlint" inputs.hlint-341 {}) "-fghc-lib";

stylish-haskell = appendConfigureFlag hsuper.stylish-haskell "-fghc-lib";

# Re-generate HLS drv excluding some plugins
haskell-language-server =
hself.callCabal2nixWithOptions "haskell-language-server" ./.
(pkgs.lib.concatStringsSep " " [ "-fpedantic" "-f-hlint" ]) { };

});
in {
inherit disabledPlugins;
Expand Down
5 changes: 2 additions & 3 deletions configuration-ghc-94.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

let
disabledPlugins = [
"hls-hlint-plugin"
# That one is not technically a plugin, but by putting it in this list, we
# get it removed from the top level list of requirement and it is not pull
# in the nix shell.
Expand All @@ -26,15 +25,15 @@ let

ghc-exactprint =
hself.callCabal2nix "ghc-exactprint" inputs.ghc-exactprint-160 { };
# Hlint is still broken
hlint = doJailbreak (hself.callCabal2nix "hlint" inputs.hlint { });
hlint = hsuper.callCabal2nix "hlint" inputs.hlint-35 {};

stylish-haskell = appendConfigureFlag hsuper.stylish-haskell "-fghc-lib";

# Re-generate HLS drv excluding some plugins
haskell-language-server =
hself.callCabal2nixWithOptions "haskell-language-server" ./.
(pkgs.lib.concatStringsSep " " [ "-fpedantic" "-f-hlint" ]) { };

});
in {
inherit disabledPlugins;
Expand Down
157 changes: 137 additions & 20 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading