@@ -1,7 +1,8 @@
1−{ pkgs ? (import ./nix/nixpkgs) }:
1+{ pkgs ? (import ./nix/nixpkgs)
2+, ormoluCompiler ? "ghc883" # the shell doesn't work with ghc8101 yet
3+}:
24
35let
4− ormoluCompiler = "ghc865";
56 source = pkgs.lib.sourceByRegex ./. [
67 "^.*\.md$"
78 "^app.*$"
@@ -14,16 +15,12 @@ let
1415 overrides = ormoluOverlay;
1516 };
1617 ormoluOverlay = self: super: {
17− "ormolu" = pkgs.haskell.lib.enableCabalFlag
18− (super.callCabal2nix "ormolu" source { }) "dev";
19− # Nixpkgs provides ghc-lib-parser-8.8.0.20190424, but we want
20− # ghc-lib-parser-8.10.1. We disable Haddock generation because it's way
21− # too slow.
18+ "ormolu" = super.callCabal2nixWithOptions "ormolu" source "-fdev" { };
2219 "ghc-lib-parser" = pkgs.haskell.lib.dontHaddock
2320 (super.callHackageDirect {
2421 pkg = "ghc-lib-parser";
25− ver = "8.10.1.20200324";
26− sha256 = "0f2c68fzdj2lw6da2zpx7a0cx631im3kylwd85dzx1npsm1vzlbg";
22+ ver = "8.10.1.20200412";
23+ sha256 = "sha256-EjMzp8xRT3xVFKDI1fAfopkylGB0hv35Av2+uZeETRU=";
2724 } {});
2825 };
2926 ormolize = import ./nix/ormolize {
@@ -51,15 +48,22 @@ let
5148 }) haskellPackages;
5249in {
5350 ormolu = haskellPackages.ormolu;
54− ormoluShell = haskellPackages.shellFor {
55− packages = ps: [
56− ps.ormolu
57− ];
58− buildInputs = [
59− haskellPackages.cabal-install
60− haskellPackages.ghcid
61− ];
62− };
51+ ormoluShell =
52+ if ormoluCompiler == "ghc8101"
53+ # HACK The shell doesn't compile with GHC 8.10.1
54+ then haskellPackages.shellFor {
55+ packages = ps: [];
56+ buildInputs = [];
57+ }
58+ else haskellPackages.shellFor {
59+ packages = ps: [
60+ ps.ormolu
61+ ];
62+ buildInputs = [
63+ haskellPackages.cabal-install
64+ haskellPackages.ghcid
65+ ];
66+ };
6367 withOrmolu = haskellPackages.shellFor {
6468 packages = ps: [];
6569 buildInputs = [
@@ -81,7 +85,6 @@ in {
8185 "cryptonite"
8286 "diagrams-core"
8387 "distributed-process"
84− "esqueleto"
8588 "fay"
8689 "hakyll"
8790 "haxl"
@@ -98,6 +101,10 @@ in {
98101 "tls"
99102 "yesod-core"
100103
104+ # Uses CPP to concatenate strings in a deprecation annotation
105+
106+ # "esqueleto"
107+
101108 # Comment idempotence issue
102109
103110 # "Agda"