|
| 1 | +{ haskellLib |
| 2 | +, fetchFromGitHub |
| 3 | +, nixpkgs |
| 4 | +, thunkSet |
| 5 | +}: |
| 6 | +with haskellLib; |
| 7 | +let |
| 8 | + |
| 9 | + localDeps = thunkSet ./dep; |
| 10 | + hlsSrc = localDeps.haskell-language-server; |
| 11 | + |
| 12 | + hieSrc = hlsSrc + "/submodules/hie"; |
| 13 | + hiePluginApiSrc = hlsSrc + "/hie-plugin-api"; |
| 14 | + hieCompatSrc = hlsSrc + "/hie-compat"; |
| 15 | + ghcideSrc = hlsSrc + "/ghcide"; |
| 16 | + ghcModSrc = hlsSrc + "/submodules/ghc-mod"; |
| 17 | + ghcProjectTypesSrc = ghcModSrc + "/ghc-project-types"; |
| 18 | + ghcModCoreSrc = ghcModSrc + "/core"; |
| 19 | + HaReSrc = hlsSrc + "/submodules/HaRe"; |
| 20 | + cabalHelperSrc = hlsSrc + "/submodules/cabal-helper"; |
| 21 | + hlsClassPluginSrc = hlsSrc + "/plugins/hls-class-plugin"; |
| 22 | + hlsEvalPluginSrc = hlsSrc + "/plugins/hls-eval-plugin"; |
| 23 | + hlsExplicitImportsPluginSrc = hlsSrc + "/plugins/hls-explicit-imports-plugin"; |
| 24 | + hlsHlintPluginSrc = hlsSrc + "/plugins/hls-hlint-plugin"; |
| 25 | + hlsPluginApiSrc = hlsSrc + "/hls-plugin-api"; |
| 26 | + hlsRetriePluginSrc = hlsSrc + "/plugins/hls-retrie-plugin"; |
| 27 | + hlsTacticsPluginSrc = hlsSrc + "/plugins/tactics"; |
| 28 | + shakeBenchSrc = hlsSrc + "/shake-bench"; |
| 29 | + |
| 30 | +in self: super: { |
| 31 | + _dep = super._dep or {} // localDeps; |
| 32 | + |
| 33 | + haskell-language-server = justStaticExecutables (dontCheck (self.callCabal2nix "haskell-language-server" hlsSrc {})); |
| 34 | + |
| 35 | + # Source dependencies of haskell-language-server |
| 36 | + cabal-helper = dontCheck (self.callCabal2nix "cabal-helper" cabalHelperSrc {}); |
| 37 | + ghcide = dontCheck (self.callCabal2nix "ghcide" ghcideSrc {}); |
| 38 | + ghc-mod-core = dontCheck (self.callCabal2nix "ghc-mod-core" ghcModCoreSrc {}); |
| 39 | + ghc-mod = dontCheck (self.callCabal2nix "ghc-mod" ghcModSrc {}); |
| 40 | + ghc-project-types = dontCheck (self.callCabal2nix "ghc-project-types" ghcProjectTypesSrc {}); |
| 41 | + HaRe = dontCheck (self.callCabal2nix "HaRe" HaReSrc {}); |
| 42 | + haskell-ide-engine = dontCheck (self.callCabal2nix "haskell-ide-engine" hieSrc {}); |
| 43 | + hie-compat = dontCheck (self.callCabal2nix "hie-compat" hieCompatSrc {}); |
| 44 | + hie-plugin-api = dontCheck (self.callCabal2nix "hie-ide-engine" hiePluginApiSrc {}); |
| 45 | + hls-class-plugin = dontCheck (self.callCabal2nix "hls-class-plugin" hlsClassPluginSrc {}); |
| 46 | + hls-eval-plugin = dontCheck (self.callCabal2nix "hls-eval-plugin" hlsEvalPluginSrc {}); |
| 47 | + hls-explicit-imports-plugin = dontCheck (self.callCabal2nix "hls-explicit-imports-plugin" hlsExplicitImportsPluginSrc {}); |
| 48 | + hls-hlint-plugin = dontCheck (self.callCabal2nix "hls-hlint-plugin" hlsHlintPluginSrc {}); |
| 49 | + hls-plugin-api = dontCheck (self.callCabal2nix "hls-plugin-api" hlsPluginApiSrc {}); |
| 50 | + hls-retrie-plugin = dontCheck (self.callCabal2nix "hls-retrie-plugin" hlsRetriePluginSrc {}); |
| 51 | + hls-tactics-plugin = dontCheck (self.callCabal2nix "hls-tactics-plugin" hlsTacticsPluginSrc {}); |
| 52 | + shake-bench = dontCheck (self.callCabal2nix "shake-bench" shakeBenchSrc {}); |
| 53 | + |
| 54 | + # Hackage dependencies of haskell-language-server |
| 55 | + fourmolu = dontCheck (self.callHackage "fourmolu" "0.3.0.0" {}); |
| 56 | + ormolu = dontCheck (self.callHackage "ormolu" "0.1.4.1" {}); |
| 57 | + with-utf8 = dontCheck (self.callHackage "with-utf8" "1.0.2.1" {}); |
| 58 | + stylish-haskell = dontCheck (self.callHackage "stylish-haskell" "0.12.2.0" {}); |
| 59 | + hie-bios = dontCheck (self.callHackage "hie-bios" "0.7.1" {}); |
| 60 | + brittany = dontCheck (self.callCabal2nix "brittany" (fetchGit {url = "https://github.com/lspitzner/brittany.git"; ref = "0.13.1.0";}) {}); |
| 61 | + |
| 62 | + # Hackage dependencies of haskell-language-server that are broken with the default version |
| 63 | + floskell = dontCheck (self.callHackage "floskell" "0.10.4" {}); |
| 64 | + |
| 65 | + # Hackage dependencies of ghcide |
| 66 | + ghc-check = dontCheck (self.callHackage "ghc-check" "0.5.0.3" {}); |
| 67 | + implicit-hie-cradle = dontCheck (self.callCabal2nix "implicit-hie-cradle" (fetchGit {url = "https://github.com/Avi-D-coder/implicit-hie-cradle.git"; ref = "b42e38bdde93e7e6298bd83cfdf750414e15ec5e";}) {}); # 0.3.0.2 is not on hackage yet |
| 68 | + # implicit-hie-cradle = dontCheck (self.callHackage "implicit-hie-cradle" "0.3.0.2" {}); |
| 69 | + opentelemetry = dontCheck (self.callHackage "opentelemetry" "0.6.1" {}); |
| 70 | + lsp-test = dontCheck (self.callHackage "lsp-test" "0.11.0.5" {}); |
| 71 | + heapsize = dontCheck (self.callCabal2nix "heapsize" (fetchGit {url = "https://github.com/pepeiborra/heapsize.git"; ref = "v0.3.0.1";}) {}); |
| 72 | + shake = dontCheck (self.callHackage "shake" "0.19.2" {}); |
| 73 | + |
| 74 | + # opentelemetry |
| 75 | + ghc-trace-events = dontCheck (self.callHackage "ghc-trace-events" "0.1.2.1" {}); |
| 76 | + |
| 77 | + # Hackage dependencies of implicit-hie-cradle |
| 78 | + implicit-hie = dontCheck (self.callHackage "implicit-hie" "0.1.2.5" {}); |
| 79 | + |
| 80 | + # Hackage dependencies of floskell that are broken with the default version |
| 81 | + monad-dijkstra = dontCheck (self.callHackage "monad-dijkstra" "0.1.1.2" {}); |
| 82 | + |
| 83 | + # Hackage dependencies of fourmolu that are broken with the default version |
| 84 | + HsYAML-aeson = dontCheck (self.callHackage "HsYAML-aeson" "0.2.0.0" {}); |
| 85 | + aeson = dontCheck (self.callHackage "aeson" "1.5.2.0" {}); |
| 86 | + ghc-lib-parser = dontCheck (self.callHackage "ghc-lib-parser" "8.10.2.20200916" {}); |
| 87 | + ghc-lib = dontCheck (self.callHackage "ghc-lib" "8.10.2.20200916" {}); |
| 88 | + |
| 89 | + # Hackage dependencies of hls-hlint-plugin |
| 90 | + ghc-lib-parser-ex = dontCheck (self.callHackage "ghc-lib-parser-ex" "8.10.0.16" {}); |
| 91 | + |
| 92 | + # Hackage dependencies of hls-retrie-plugin |
| 93 | + retrie = dontCheck (self.callHackage "retrie" "0.1.1.1" {}); |
| 94 | + |
| 95 | + # Hackage dependencies of retrie |
| 96 | + optparse-applicative = dontCheck (self.callHackage "optparse-applicative" "0.15.1.0" {}); |
| 97 | + ghc-exactprint = dontCheck (self.callHackage "ghc-exactprint" "0.6.2" {}); |
| 98 | + |
| 99 | + # Hackage dependencies of aeson |
| 100 | + these = dontCheck (self.callHackage "these" "1.1.1.1" {}); |
| 101 | + |
| 102 | + # Hackage dependencies of ormolu |
| 103 | + ansi-terminal = dontCheck (self.callHackage "ansi-terminal" "0.10.3" {}); |
| 104 | + ansi-wl-pprint = dontCheck (self.callHackage "ansi-wl-pprint" "0.6.9" {}); |
| 105 | + Diff = dontCheck (self.callHackage "Diff" "0.4.0" {}); |
| 106 | + |
| 107 | + test-framework = dontCheck (self.callHackage "test-framework" "0.8.2.0" {}); |
| 108 | + |
| 109 | + # Hackage dependencies of heapsize |
| 110 | + hashable = dontCheck (self.callHackage "hashable" "1.3.0.0" {}); |
| 111 | + |
| 112 | + # Hackage dependencies of aeson |
| 113 | + primitive = dontCheck (self.callHackage "primitive" "0.7.1.0" {}); |
| 114 | + |
| 115 | + # Hackage dependencies of hls-plugin-api |
| 116 | + haskell-lsp = dontCheck (self.callHackage "haskell-lsp" "0.22.0.0" {}); |
| 117 | + haskell-lsp-types = dontCheck (self.callHackage "haskell-lsp-types" "0.22.0.0" {}); |
| 118 | + regex-tdfa = dontCheck (self.callHackage "regex-tdfa" "1.3.1.0" {}); |
| 119 | + regex-base = dontCheck (self.callHackage "regex-base" "0.94.0.0" {}); |
| 120 | + regex-posix = dontCheck (self.callHackage "regex-posix" "0.96.0.0" {}); |
| 121 | + |
| 122 | + tree-diff = dontCheck (self.callHackage "tree-diff" "0.1" {}); |
| 123 | + parser-combinators = dontCheck (self.callHackage "parser-combinators" "1.2.1" {}); |
| 124 | + |
| 125 | + # Hackage dependencies of hls-hlint-plugin |
| 126 | + hlint = dontCheck (self.callHackage "hlint" "3.2.3" {}); |
| 127 | + |
| 128 | + # Hackage dependencies of hlint |
| 129 | + extra = dontCheck (self.callHackage "extra" "1.7.8" {}); |
| 130 | + |
| 131 | + # Hackage dependencies of hls-tactics-plugin |
| 132 | + refinery = dontCheck (self.callHackage "refinery" "0.3.0.0" {}); |
| 133 | +} |
0 commit comments