From d13cc40c9b8b0db409662dd4e4b14da6cbd7e4a7 Mon Sep 17 00:00:00 2001 From: iko Date: Tue, 12 Jan 2021 12:23:14 +0300 Subject: [PATCH] =?UTF-8?q?=E2=9D=84=EF=B8=8F=20Bumped=20things=20to=20sup?= =?UTF-8?q?port=20HLS=200.8.0=20(#10)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Bumped things to support HLS 0.8.0 * Removed optparse-applicative * made shell compile --- Makefile | 22 ++--- nix/haskell-language-server-overrides.nix | 107 ++++++++++++++-------- nix/octopod-overrides.nix | 12 +++ nix/sources.json | 30 +----- 4 files changed, 93 insertions(+), 78 deletions(-) diff --git a/Makefile b/Makefile index 33f8fb3..32cadb2 100644 --- a/Makefile +++ b/Makefile @@ -1,39 +1,39 @@ .PHONY: build-backend build-octo-cli build-frontend docs backend-docs frontend-docs repl shell shell-ghcjs ghcid ghcid-cli ghcid-frontend push-octopod run-backend-dev run-frontend-dev build-backend: - nix-build . -A ghc.octopod-backend + nix-build . -A ghc.octopod-backend -j auto build-octo-cli: - nix-build . -A ghc.octo-cli + nix-build . -A ghc.octo-cli -j auto build-frontend: - nix-build . -A ghcjs.octopod-frontend -o frontend-result + nix-build . -A ghcjs.octopod-frontend -o frontend-result -j auto docs: backend-docs frontend-docs backend-docs: - nix-build . -A ghc.octopod-backend.doc + nix-build . -A ghc.octopod-backend.doc -j auto frontend-docs: - nix-build . -A ghcjs.octopod-frontend.doc + nix-build . -A ghcjs.octopod-frontend.doc -j auto repl: - nix-shell . -A shells.ghc --run "cabal repl lib:octopod-backend" + nix-shell . -A shells.ghc --run "cabal repl lib:octopod-backend" -j auto shell: - nix-shell . -A shells.ghc + nix-shell . -A shells.ghc -j auto shell-ghcjs: - nix-shell . -A shells.ghcjs + nix-shell . -A shells.ghcjs -j auto ghcid-backend: - nix-shell . -A shells.ghc --run 'ghcid -c "cabal new-repl octopod-backend"' + nix-shell . -A shells.ghc --run 'ghcid -c "cabal new-repl octopod-backend"' -j auto ghcid-cli: - nix-shell . -A shells.ghc --run 'ghcid -c "cabal new-repl octo-cli"' + nix-shell . -A shells.ghc --run 'ghcid -c "cabal new-repl octo-cli"' -j auto ghcid-frontend: - nix-shell . -A shells.ghc --run 'ghcid -c "cabal new-repl octopod-frontend -fdevelopment --ghc-options=-Wwarn" --warnings --test 'Main.main'' + nix-shell . -A shells.ghc --run 'ghcid -c "cabal new-repl octopod-frontend -fdevelopment --ghc-options=-Wwarn" --warnings --test 'Main.main'' -j auto push-octopod: ./build.sh build-and-push latest diff --git a/nix/haskell-language-server-overrides.nix b/nix/haskell-language-server-overrides.nix index 1a45516..f86db16 100644 --- a/nix/haskell-language-server-overrides.nix +++ b/nix/haskell-language-server-overrides.nix @@ -6,8 +6,21 @@ hls-retrie-plugin = hsuper.callCabal2nix "hls-retrie-plugin" (sources.haskell-language-server + "/plugins/hls-retrie-plugin") { }; hls-plugin-api = hsuper.callCabal2nix "hls-plugin-api" (sources.haskell-language-server + "/hls-plugin-api") { }; hls-tactics-plugin = hsuper.callCabal2nix "hls-tactics-plugin" (sources.haskell-language-server + "/plugins/tactics") { }; - ghcide = lib.dontCheck (hsuper.callCabal2nix "ghcide" sources.ghcide { }); - hie-compat = hsuper.callCabal2nix "hie-compat" (sources.ghcide + "/hie-compat") { }; + hls-class-plugin = hsuper.callCabal2nix "hls-class-plugin" (sources.haskell-language-server + "/plugins/hls-class-plugin") { }; + hls-eval-plugin = hsuper.callCabal2nix "hls-eval-plugin" (sources.haskell-language-server + "/plugins/hls-eval-plugin") { }; + hls-haddock-comments-plugin = hsuper.callCabal2nix "hls-haddock-comments-plugin" (sources.haskell-language-server + "/plugins/hls-haddock-comments-plugin") { }; + hls-splice-plugin = hsuper.callCabal2nix "hls-splice-plugin" (sources.haskell-language-server + "/plugins/hls-splice-plugin") { }; + shake-bench = hsuper.callCabal2nix "shake-bench" (sources.haskell-language-server + "/shake-bench") { }; + ghcide = lib.dontCheck (hsuper.callCabal2nix "ghcide" (sources.haskell-language-server + "/ghcide") { }); + hie-compat = hsuper.callCabal2nix "hie-compat" (sources.haskell-language-server + "/hie-compat") { }; + hls-exactprint-utils = hsuper.callCabal2nix "hls-exactprint-utils" (sources.haskell-language-server + "/hls-exactprint-utils") { }; + with-utf8 = (hsuper.callHackageDirect + { + pkg = "with-utf8"; + ver = "1.0.2.1"; + sha256 = "1hpqc0ljk1c1vl4671zb290hbvdcjpg66bcxmf1cz8h0vb382xp7"; + } { } + ); fourmolu = lib.doJailbreak (hsuper.callHackageDirect { pkg = "fourmolu"; @@ -15,6 +28,37 @@ sha256 = "sha256-SFBwhkXfDArITiBSxGSp2qf8gl+yBpWHglBB5aKeaBU="; } { } ); + heapsize = lib.doJailbreak (hsuper.callHackageDirect + { + pkg = "heapsize"; + ver = "0.3.0.1"; + sha256 = "0c8lqndpbx9ahjrqyfxjkj0z4yhm1zlcn8al0ir4ldlahql2xv3r"; + } { } + ); + opentelemetry = hsuper.callHackageDirect + { + pkg = "opentelemetry"; + ver = "0.6.1"; + sha256 = "08k71z7bns0i6r89nmxqsl00kyksicq619rqy6pf5m7hq1r4zs9m"; + } { }; + ghc-trace-events = hsuper.callHackageDirect + { + pkg = "ghc-trace-events"; + ver = "0.1.2.1"; + sha256 = "10vrm7hmg97fn8xf0r79d9vfph0j2s105lsgm0hgqay1qz1x7sp7"; + } { }; + haskell-lsp = hsuper.callHackageDirect + { + pkg = "haskell-lsp"; + ver = "0.23.0.0"; + sha256 = "0d9bk1cqkk41frm81j683h2vd1hghl4hlvj8g17690d2qk5pq3c0"; + } { }; + haskell-lsp-types = hsuper.callHackageDirect + { + pkg = "haskell-lsp-types"; + ver = "0.23.0.0"; + sha256 = "17mfc2zxkbwipxiy0g3qwqnyp8ds4mrg0z1v7jchcm89hnf8mmmq"; + } { }; ormolu = hsuper.callHackageDirect { @@ -43,13 +87,12 @@ ver = "0.1.2.5"; sha256 = "1l0rz4r4hamvmqlb68a7y4s3n73y6xx76zyprksd0pscd9axznnv"; } { }; - lsp-test = lib.dontCheck ( - hsuper.callHackageDirect - { - pkg = "lsp-test"; - ver = "0.11.0.6"; - sha256 = "19mbbkjpgpmkna26i4y1jvp305srv3kwa5b62x30rlb3rqf2vy5v"; - } { } + lsp-test = lib.dontCheck (hsuper.callHackageDirect + { + pkg = "lsp-test"; + ver = "0.11.0.7"; + sha256 = "sha256-buHcgRbLIn2zr5GK4gHrKuUiyYJK7Nzqc1y+WosaHJg="; + } { } ); floskell = lib.dontCheck ( hsuper.callHackageDirect @@ -82,14 +125,14 @@ ver = "8.10.0.16"; sha256 = "0dp8plj708ss3im6rmp41kpj0df71kjzpw1kqkpn0dhms9yr1g0x"; } { }; - retrie = lib.dontCheck ( + retrie = lib.doJailbreak (lib.dontCheck ( hsuper.callHackageDirect { pkg = "retrie"; ver = "0.1.1.1"; sha256 = "0gnp6j35jnk1gcglrymvvn13sawir0610vh0z8ya6599kyddmw7l"; } { } - ); + )); ghc-lib = hsuper.callHackageDirect { @@ -104,13 +147,6 @@ ver = "8.10.2.20200916"; sha256 = "1apm9zn484sm6b8flbh6a2kqnv1wjan4l58b81cic5fc1jsqnyjk"; } { }; - haskell-lsp = - hsuper.callHackageDirect - { - pkg = "haskell-lsp"; - ver = "0.22.0.0"; - sha256 = "1q3w46qcvzraxgmw75s7bl0qvb2fvff242r5vfx95sqska566b4m"; - } { }; parser-combinators = hsuper.callHackageDirect { @@ -118,13 +154,6 @@ ver = "1.2.1"; sha256 = "1990d6c1zm2wq4w9521bx7l3arg4ly02hq1ass9n19gs273bxx5h"; } { }; - haskell-lsp-types = - hsuper.callHackageDirect - { - pkg = "haskell-lsp-types"; - ver = "0.22.0.0"; - sha256 = "1apjclphi2v6ggrdnbc0azxbb1gkfj3x1vkwpc8qd6lsrbyaf0n8"; - } { }; regex-tdfa = hsuper.callHackageDirect { @@ -160,13 +189,6 @@ ver = "0.12.2.0"; sha256 = "1ck8i550rvzbvzrm7dvgir73slai8zmvfppg3n5v4igi7y3jy0mr"; } { }; - optparse-applicative = - hsuper.callHackageDirect - { - pkg = "optparse-applicative"; - ver = "0.15.1.0"; - sha256 = "1mii408cscjvids2xqdcy2p18dvanb0qc0q1bi7234r23wz60ajk"; - } { }; shake = lib.dontCheck ( hsuper.callHackageDirect { @@ -196,13 +218,13 @@ ver = "0.3.22"; sha256 = "05mam3x4x7c881bqbq8lcbclmz914yziqh6s04icxzp12zq7c7ks"; } { }; - apply-refact = - hsuper.callHackageDirect - { - pkg = "apply-refact"; - ver = "0.8.2.1"; - sha256 = "0nnprv5lbk7c8w1pa4kywk0cny6prjaml4vnw70s8v6c1r1dx2rx"; - } { }; + apply-refact = lib.doJailbreak (hsuper.callHackageDirect + { + pkg = "apply-refact"; + ver = "0.8.2.1"; + sha256 = "0nnprv5lbk7c8w1pa4kywk0cny6prjaml4vnw70s8v6c1r1dx2rx"; + } { } + ); hlint = hsuper.callHackageDirect { @@ -236,5 +258,10 @@ test-framework = lib.doJailbreak hsuper.test-framework; aeson = lib.dontCheck hsuper.aeson; tree-diff = lib.doJailbreak hsuper.tree-diff; - brittany = hsuper.callCabal2nix "brittany" sources.brittany { }; + brittany = hsuper.callHackageDirect + { + pkg = "brittany"; + ver = "0.13.1.0"; + sha256 = "172mg0ch2awfzhz8vzvjrfdjylfzawrbgfr5z82l1qzjh6g9z295"; + } { }; } diff --git a/nix/octopod-overrides.nix b/nix/octopod-overrides.nix index baab156..0e68be0 100644 --- a/nix/octopod-overrides.nix +++ b/nix/octopod-overrides.nix @@ -84,6 +84,18 @@ sha256 = "10alg64zwx72lz42z9i5hfwdpk0r79zfli57l41akyznj4pwrvgh"; } { } ); + path = hsuper.callHackageDirect + { + pkg = "path"; + ver = "0.8.0"; + sha256 = "0isldidz2gypw2pz399g6rn77x9mppd1mvj5h6ify4pj4mpla0pb"; + } { }; + path-io = hsuper.callHackageDirect + { + pkg = "path-io"; + ver = "1.6.2"; + sha256 = "1s7cahx8cf85kwz9l8cm6x6kvjwsv0spwv78pybsspb1ap5q287p"; + } { }; reflex = lib.dontCheck (lib.doJailbreak hsuper.reflex); reflex-dom-core = lib.dontCheck hsuper.reflex-dom-core; chronos = lib.doJailbreak hsuper.chronos; diff --git a/nix/sources.json b/nix/sources.json index 6bf4e76..4931171 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -1,38 +1,14 @@ { - "brittany": { - "branch": "c59655f10d5ad295c2481537fc8abf0a297d9d1c", - "description": "haskell source code formatter", - "homepage": "", - "owner": "bubba", - "repo": "brittany", - "rev": "c59655f10d5ad295c2481537fc8abf0a297d9d1c", - "sha256": "1rkk09f8750qykrmkqfqbh44dbx1p8aq1caznxxlw8zqfvx39cxl", - "type": "tarball", - "url": "https://github.com/bubba/brittany/archive/c59655f10d5ad295c2481537fc8abf0a297d9d1c.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "ghcide": { - "branch": "9b8aaf9b06846571cc0b5d46680e686e4f9153a3", - "description": "A library for building Haskell IDE tooling", - "homepage": "", - "owner": "haskell", - "repo": "ghcide", - "rev": "9b8aaf9b06846571cc0b5d46680e686e4f9153a3", - "sha256": "0clwg8fgnsgwzl6rbni7p6xifl117f6h5hjsdyy0swnbjkxkqpaa", - "type": "tarball", - "url": "https://github.com/haskell/ghcide/archive/9b8aaf9b06846571cc0b5d46680e686e4f9153a3.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, "haskell-language-server": { "branch": "master", "description": "Integration point for ghcide and haskell-ide-engine. One IDE to rule them all.", "homepage": "", "owner": "haskell", "repo": "haskell-language-server", - "rev": "b649b15b2d67a97d6a262eb65fee0002629b6dcb", - "sha256": "1gxwkn3mqv20f061f9pg1y13k4ymsq6ji9gf475wdiikiql82z6a", + "rev": "fde10fa5e4cb74ca4b64c43250297b36a9bbbd7e", + "sha256": "03frszid12dcmqg0m6wkc1nf561kdap3y3yqrp1x13gvbkvb9xwn", "type": "tarball", - "url": "https://github.com/haskell/haskell-language-server/archive/b649b15b2d67a97d6a262eb65fee0002629b6dcb.tar.gz", + "url": "https://github.com/haskell/haskell-language-server/archive/fde10fa5e4cb74ca4b64c43250297b36a9bbbd7e.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "hspec-webdriver-clone": {