Conversation
|
no-op commit was to no-opy, it skipped the job again 🙈 maybe touch a nix file? |
It's actually unrelated. It just skipped the entire |
|
|
||
| let | ||
| disabledPlugins = [ | ||
| "hls-brittany-plugin" |
There was a problem hiding this comment.
Theses plugins are broken with GHC 8.10?
There was a problem hiding this comment.
Copy/paste, I don't know. Can iterate on this too, on a separate task
| { pkgs, inputs }: | ||
|
|
||
| let | ||
| disabledPlugins = [ |
There was a problem hiding this comment.
Similarly, are theses plugins broken with ghc 8.8?
There was a problem hiding this comment.
It came as I copied the config file from newer versions, I don't know much how disabledPlugins work. I'm happy to iterate on this in a separate task
|
|
||
| ```bash | ||
| cabal update && cabal install :pkg:haskell-language-server --project-file=cabal-ghc90.project | ||
| cabal update && cabal install pkg:haskell-language-server |
There was a problem hiding this comment.
Why did you change this line, it is now incoherent with the above documentation which states that "If you are compiling with a ghc version with a specific cabal...project".
There was a problem hiding this comment.
resolved now that @pepeiborra has merged his changes in master branch
| build-depends: | ||
| base < 4.17, array, bytestring, containers, directory, filepath, transformers | ||
| if flag(ghc-lib) | ||
| if flag(ghc-lib) && impl(ghc < 9) |
There was a problem hiding this comment.
I'm surprised by this change. It was working fine before.
There was a problem hiding this comment.
@guibou this is resolved, @pepeiborra changes have been merged into the master branch
|
If build are passing, I'm OK with this. However I don't understand why you introduced new "configuration" files for different version of GHC and why you disabled some plugins for theses versions, could you check that? |
b0e2eca to
e341c44
Compare
Different versions of GHC have different requirements: ghc-exactprint, ghc-lib{parser,parser-ex}, hlint36 vs hlint34... I have now addressed the situation with the @guibou , @michaelpj - can you help review and merge this? Edit: @July541 (thank you!) re-ran the checks, all tests passed and we've got a green build. |
michaelpj
left a comment
There was a problem hiding this comment.
Thanks again for tackling this!
Could you add some comments on why the various things in the configuration-*.nix files are needed? That makes it much easier to maintain.
I can't approve my own PR (lol) so can someone else do so please?
| ghcDefault = supportedGHCs.default; | ||
|
|
||
| # For markdown support | ||
| myst-parser = pkgs.python3Packages.callPackage ./myst-parser.nix {}; |
| package * | ||
| -- ghc 8.10 cannot build ghc-lib 9.2 with --haddock | ||
| -- ghc-options: -haddock | ||
| -- ghc 8.10.7 fails to build ghc-lib-9.2.2 |
There was a problem hiding this comment.
probably shouldn't have diffs in this file
```
compiler/GHC/CmmToAsm/AArch64/CodeGen.hs:176:15: error:
2081
Error: parse error on input {- | debugIsOn -}
2082
|
2083
176 | ann doc instr {- | debugIsOn -} = ANN doc instr
2084
| ^^^^^^^^^^^^^^^^^
```
# Please enter the commit message for your changes. Lines starting
Flake lock file updates:
• Updated input 'flake-compat':
'github:edolstra/flake-compat/b7547d3eed6f32d06102ead8991ec52ab0a4f1a7' (2022-01-03)
→ 'github:edolstra/flake-compat/b4a34015c698c7793d592d66adbab377907a2be8' (2022-04-19)
• Updated input 'flake-utils':
'github:numtide/flake-utils/997f7efcb746a9c140ce1f13c72263189225f482' (2021-08-20)
→ 'github:numtide/flake-utils/a4b154ebbdc88c8498a5c7b01589addc9e9cb678' (2022-04-11)
• Updated input 'gitignore':
'github:hercules-ci/gitignore.nix/211907489e9f198594c0eb0ca9256a1949c9d412' (2021-01-26)
→ 'github:hercules-ci/gitignore.nix/bff2832ec341cf30acb3a4d3e2e7f1f7b590116a' (2022-03-05)
• Updated input 'hie-bios':
'https://hackage.haskell.org/package/hie-bios-0.9.0/hie-bios-0.9.0.tar.gz?narHash=sha256-nd+FfUQVZNxJfKZkAWA3dF0JwRgXntL+1gGvyNHDbKc='
→ 'https://hackage.haskell.org/package/hie-bios-0.9.1/hie-bios-0.9.1.tar.gz?narHash=sha256-5RqspT27rb%2ftMBwrKr4VfSSbq0+c0LMNuaKlTun0Kkk='
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/c473cc8714710179df205b153f4e9fa007107ff9' (2021-12-13)
→ 'github:NixOS/nixpkgs/ab83c5d70528f1edc7080dead3a5dee61797b3ff' (2022-04-24)
• Updated input 'pre-commit-hooks':
'github:cachix/pre-commit-hooks.nix/397f0713d007250a2c7a745e555fa16c5dc8cadb' (2021-06-29)
→ 'github:cachix/pre-commit-hooks.nix/e5e7b3b542e7f4f96967966a943d7e1c07558042' (2022-04-04)
• Updated input 'pre-commit-hooks/flake-utils':
'github:numtide/flake-utils/74f7e4319258e287b0f9cb95426c9853b282730b' (2021-11-28)
→ 'github:numtide/flake-utils/3cecb5b042f7f209c56ffd8371b2711a290ec797' (2022-02-07)
• Updated input 'pre-commit-hooks/nixpkgs':
'github:NixOS/nixpkgs/6f05cfdb1e78d36c0337516df674560e4b51c79b' (2022-01-01)
→ 'github:nixos/nixpkgs/77a7a4197740213879b9a1d2e1788c6c8ade4274' (2022-02-23)
ghc921 is no longer available on Nix, see: NixOS/nixpkgs#163426
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
|
|
||
| write-ghc-environment-files: never | ||
|
|
||
| index-state: 2022-04-27T09:22:49Z |
There was a problem hiding this comment.
Pulls the latest revision of ptr-poker from hackage
|
@berberman @guibou - ping |
| # Re-generate HLS drv excluding some plugins | ||
| haskell-language-server = | ||
| hself.callCabal2nixWithOptions "haskell-language-server" ./. | ||
| (pkgs.lib.concatStringsSep " " [ "-fpedantic" "-f-hlint" ]) { }; |
There was a problem hiding this comment.
This line should be in sync with disabledPlugins above.
Also, I'm surprised that there is less disabledPlugins with GHC 9.2 compared to GHC 9.0. Is that a mistake or is our support for GHC 9.2 better than 9.0?
There was a problem hiding this comment.
disabled "hls-hlint-plugin".
re > why 922 builds more plugins than 902
I have no idea, sorry. Anyone else can help with this?
| @@ -0,0 +1,32 @@ | |||
| { stdenv, lib, fetchPypi, buildPythonPackage, isPy3k, python }: | |||
There was a problem hiding this comment.
nixpkgs contains docutils 0.18. Is there a reason to package docutils 0.17? Instead could you bump nixpkgs?
There was a problem hiding this comment.
The RTD theme doesn't work with newer docutils, hence the anchor on docutils-0.17
| in hsuper.mkDerivation (args // { | ||
| jailbreak = if broken then true else jailbreak; | ||
| doCheck = if broken then false else check; | ||
| enableLibraryProfiling = false; |
There was a problem hiding this comment.
Please add a comment here to justify why your are doing theses changes.
guibou
left a comment
There was a problem hiding this comment.
This is a huge MR, thank you.
Looks good to me, if it pass the test, that's fine.
|
I'm trying to build locally, does not look like it was correctly cached by cachix, so it is slow, but at least there is no nix evaluation failures anymore. |
Fixed with diff --git a/flake.nix b/flake.nix
index 20a8c1dd..f9f30e9c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -395,7 +395,7 @@
nixDevShells = {
haskell-language-server-dev-nix = mkDevShellWithNixDeps ghcDefault "cabal.project";
haskell-language-server-902-dev-nix = mkDevShellWithNixDeps ghc902 "cabal.project";
- haskell-language-server-922-dev-nix = mkDevShellWithNixDeps ghc921 "cabal.project";
+ haskell-language-server-922-dev-nix = mkDevShellWithNixDeps ghc922 "cabal.project";
};
allPackages = {Thinking about it, perhaps the |
Correct, we have never successfully managed to get |
|
Okay, this is a significant improvement, let's merge this and we can keep working on it from here if there's more stuff to do. |
* Drop -haddock as ghc 8.10.7 fails to build ghc-lib with:
```
compiler/GHC/CmmToAsm/AArch64/CodeGen.hs:176:15: error:
2081
Error: parse error on input {- | debugIsOn -}
2082
|
2083
176 | ann doc instr {- | debugIsOn -} = ANN doc instr
2084
| ^^^^^^^^^^^^^^^^^
```
# Please enter the commit message for your changes. Lines starting
* flake.lock: Update
Flake lock file updates:
• Updated input 'flake-compat':
'github:edolstra/flake-compat/b7547d3eed6f32d06102ead8991ec52ab0a4f1a7' (2022-01-03)
→ 'github:edolstra/flake-compat/b4a34015c698c7793d592d66adbab377907a2be8' (2022-04-19)
• Updated input 'flake-utils':
'github:numtide/flake-utils/997f7efcb746a9c140ce1f13c72263189225f482' (2021-08-20)
→ 'github:numtide/flake-utils/a4b154ebbdc88c8498a5c7b01589addc9e9cb678' (2022-04-11)
• Updated input 'gitignore':
'github:hercules-ci/gitignore.nix/211907489e9f198594c0eb0ca9256a1949c9d412' (2021-01-26)
→ 'github:hercules-ci/gitignore.nix/bff2832ec341cf30acb3a4d3e2e7f1f7b590116a' (2022-03-05)
• Updated input 'hie-bios':
'https://hackage.haskell.org/package/hie-bios-0.9.0/hie-bios-0.9.0.tar.gz?narHash=sha256-nd+FfUQVZNxJfKZkAWA3dF0JwRgXntL+1gGvyNHDbKc='
→ 'https://hackage.haskell.org/package/hie-bios-0.9.1/hie-bios-0.9.1.tar.gz?narHash=sha256-5RqspT27rb%2ftMBwrKr4VfSSbq0+c0LMNuaKlTun0Kkk='
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/c473cc8714710179df205b153f4e9fa007107ff9' (2021-12-13)
→ 'github:NixOS/nixpkgs/ab83c5d70528f1edc7080dead3a5dee61797b3ff' (2022-04-24)
• Updated input 'pre-commit-hooks':
'github:cachix/pre-commit-hooks.nix/397f0713d007250a2c7a745e555fa16c5dc8cadb' (2021-06-29)
→ 'github:cachix/pre-commit-hooks.nix/e5e7b3b542e7f4f96967966a943d7e1c07558042' (2022-04-04)
• Updated input 'pre-commit-hooks/flake-utils':
'github:numtide/flake-utils/74f7e4319258e287b0f9cb95426c9853b282730b' (2021-11-28)
→ 'github:numtide/flake-utils/3cecb5b042f7f209c56ffd8371b2711a290ec797' (2022-02-07)
• Updated input 'pre-commit-hooks/nixpkgs':
'github:NixOS/nixpkgs/6f05cfdb1e78d36c0337516df674560e4b51c79b' (2022-01-01)
→ 'github:nixos/nixpkgs/77a7a4197740213879b9a1d2e1788c6c8ade4274' (2022-02-23)
* nix flake update & bump ghc921 -> ghc922
ghc921 is no longer available on Nix, see:
NixOS/nixpkgs#163426
* myst-parser: bump docutils version requirements
* fix devShells and packages default
* use ghc-exactprint 1.5.0 for ghc922
* ghc902: add flag hlint34 to nix
* macosx: add SSE-enabled ptr-poker dependency
* ghc902 requires ghc-lib-parser >= 9.2
* nix: ghcDefault supports HLS tweaks
* fix typo
* add support for pre-commit in mkDevShell
* fix typo
* add ptr-poker to nix shell
* add ghc-884 configuration tweaks
* fix stylish-haskell for ghc-884
* fix default ghc lookup
* ghc884: fixup brittany version to 0.13.1.2
* ghc884: fixup aeson version to 1.5.2.0
* ghc884: fixup ormolu/fourmolu
* add configuration tweak for ghc8107
* rename configuration-ghc-xxx.nix files
* update hackage index
* use current cabal/hackage to fetch ptr-poker in mkDevShell
* reinstate .pre-commit.yaml
* nix: temporary disable "build binaries" from the work flow
* nix: temporary disable builds and partially populate cachix
* nix: temporarily disable ghc 884 and 8107
* nix: temporarily disable nix develop run
* nix: re-enable ghc8107/ghc884 builds, disable "build all binaries"
* nix: noop push commit to test cachix
* nix: touch flake.nix, remove ghc 884
* nix: rm ghc 810, ghc88 + disableLibraryProfiling
* nix: build all binaries again
* Update flake.nix
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* Update flake.nix
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* Update flake.nix
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* revert change made on comment
* rm myst-parser.nix
* fix typo (thanks @guibou)
* explain why we disable library profiling with nix
* ghc922, disable "hls-hlint-plugin"
Co-authored-by: Pepe Iborra <pepeiborra@gmail.com>
Co-authored-by: Providence Salumu <Providence.Salumu@smunix.com>
Co-authored-by: Providence Salumu <smunix@users.noreply.github.com>
* Drop -haddock as ghc 8.10.7 fails to build ghc-lib with:
```
compiler/GHC/CmmToAsm/AArch64/CodeGen.hs:176:15: error:
2081
Error: parse error on input {- | debugIsOn -}
2082
|
2083
176 | ann doc instr {- | debugIsOn -} = ANN doc instr
2084
| ^^^^^^^^^^^^^^^^^
```
# Please enter the commit message for your changes. Lines starting
* flake.lock: Update
Flake lock file updates:
• Updated input 'flake-compat':
'github:edolstra/flake-compat/b7547d3eed6f32d06102ead8991ec52ab0a4f1a7' (2022-01-03)
→ 'github:edolstra/flake-compat/b4a34015c698c7793d592d66adbab377907a2be8' (2022-04-19)
• Updated input 'flake-utils':
'github:numtide/flake-utils/997f7efcb746a9c140ce1f13c72263189225f482' (2021-08-20)
→ 'github:numtide/flake-utils/a4b154ebbdc88c8498a5c7b01589addc9e9cb678' (2022-04-11)
• Updated input 'gitignore':
'github:hercules-ci/gitignore.nix/211907489e9f198594c0eb0ca9256a1949c9d412' (2021-01-26)
→ 'github:hercules-ci/gitignore.nix/bff2832ec341cf30acb3a4d3e2e7f1f7b590116a' (2022-03-05)
• Updated input 'hie-bios':
'https://hackage.haskell.org/package/hie-bios-0.9.0/hie-bios-0.9.0.tar.gz?narHash=sha256-nd+FfUQVZNxJfKZkAWA3dF0JwRgXntL+1gGvyNHDbKc='
→ 'https://hackage.haskell.org/package/hie-bios-0.9.1/hie-bios-0.9.1.tar.gz?narHash=sha256-5RqspT27rb%2ftMBwrKr4VfSSbq0+c0LMNuaKlTun0Kkk='
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/c473cc8714710179df205b153f4e9fa007107ff9' (2021-12-13)
→ 'github:NixOS/nixpkgs/ab83c5d70528f1edc7080dead3a5dee61797b3ff' (2022-04-24)
• Updated input 'pre-commit-hooks':
'github:cachix/pre-commit-hooks.nix/397f0713d007250a2c7a745e555fa16c5dc8cadb' (2021-06-29)
→ 'github:cachix/pre-commit-hooks.nix/e5e7b3b542e7f4f96967966a943d7e1c07558042' (2022-04-04)
• Updated input 'pre-commit-hooks/flake-utils':
'github:numtide/flake-utils/74f7e4319258e287b0f9cb95426c9853b282730b' (2021-11-28)
→ 'github:numtide/flake-utils/3cecb5b042f7f209c56ffd8371b2711a290ec797' (2022-02-07)
• Updated input 'pre-commit-hooks/nixpkgs':
'github:NixOS/nixpkgs/6f05cfdb1e78d36c0337516df674560e4b51c79b' (2022-01-01)
→ 'github:nixos/nixpkgs/77a7a4197740213879b9a1d2e1788c6c8ade4274' (2022-02-23)
* nix flake update & bump ghc921 -> ghc922
ghc921 is no longer available on Nix, see:
NixOS/nixpkgs#163426
* myst-parser: bump docutils version requirements
* fix devShells and packages default
* use ghc-exactprint 1.5.0 for ghc922
* ghc902: add flag hlint34 to nix
* macosx: add SSE-enabled ptr-poker dependency
* ghc902 requires ghc-lib-parser >= 9.2
* nix: ghcDefault supports HLS tweaks
* fix typo
* add support for pre-commit in mkDevShell
* fix typo
* add ptr-poker to nix shell
* add ghc-884 configuration tweaks
* fix stylish-haskell for ghc-884
* fix default ghc lookup
* ghc884: fixup brittany version to 0.13.1.2
* ghc884: fixup aeson version to 1.5.2.0
* ghc884: fixup ormolu/fourmolu
* add configuration tweak for ghc8107
* rename configuration-ghc-xxx.nix files
* update hackage index
* use current cabal/hackage to fetch ptr-poker in mkDevShell
* reinstate .pre-commit.yaml
* nix: temporary disable "build binaries" from the work flow
* nix: temporary disable builds and partially populate cachix
* nix: temporarily disable ghc 884 and 8107
* nix: temporarily disable nix develop run
* nix: re-enable ghc8107/ghc884 builds, disable "build all binaries"
* nix: noop push commit to test cachix
* nix: touch flake.nix, remove ghc 884
* nix: rm ghc 810, ghc88 + disableLibraryProfiling
* nix: build all binaries again
* Update flake.nix
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* Update flake.nix
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* Update flake.nix
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* revert change made on comment
* rm myst-parser.nix
* fix typo (thanks @guibou)
* explain why we disable library profiling with nix
* ghc922, disable "hls-hlint-plugin"
Co-authored-by: Pepe Iborra <pepeiborra@gmail.com>
Co-authored-by: Providence Salumu <Providence.Salumu@smunix.com>
Co-authored-by: Providence Salumu <smunix@users.noreply.github.com>

Reopening this, hopefully cachix will push stuff now since I have write access.