···976976 # https://github.com/haskell/hoopl/issues/50
977977 hoopl = dontCheck super.hoopl;
978978979979+ # The most recent version of purescript-cst (0.4.0.0) has version
980980+ # bounds for LTS-17, so we need to jailbreak it for LTS-18.
981981+ # doJailbreak can likely be removed when the next version of
982982+ # purescript-cst is released, since the version bounds have
983983+ # been updated for LTS-18.
984984+ purescript-cst = doJailbreak super.purescript-cst;
985985+979986 purescript =
980980- let
981981- purescriptWithOverrides = super.purescript.override {
982982- # PureScript requires an older version of happy.
983983- happy = self.happy_1_19_9;
984984- };
985985-986986- # PureScript is built against LTS-13, so we need to jailbreak it to
987987- # accept more recent versions of the libraries it requires.
988988- jailBrokenPurescript = doJailbreak purescriptWithOverrides;
987987+ pkgs.lib.pipe
988988+ (super.purescript.override {
989989+ # The latest version of language-javascript is 0.7.1.0,
990990+ # but it seems to have a bug with async support:
991991+ # https://github.com/erikd/language-javascript/issues/131
992992+ language-javascript = self.language-javascript_0_7_0_0;
993993+ })
994994+ [ # This PR upgrades purescript from building with LTS-17 to building
995995+ # with LTS-18. Aside from bumping dependency bounds, there is one
996996+ # minor change that needs to be made in app/Main.hs.
997997+ #
998998+ # This patch can likely be removed when purescript-0.14.6 is released.
999999+ (appendPatch
10001000+ (pkgs.fetchpatch {
10011001+ url = "https://patch-diff.githubusercontent.com/raw/purescript/purescript/pull/4199.patch";
10021002+ sha256 = "sha256-OeG30EfCHs7gttLME909WfKxkEZr7Ch3leYiw4lElGg=";
10031003+ includes = [
10041004+ "app/Main.hs"
10051005+ ];
10061006+ })
10071007+ )
10081008+ # PureScript uses nodejs to run tests, so the tests have been disabled
10091009+ # for now. If someone is interested in figuring out how to get this
10101010+ # working, it seems like it might be possible.
10111011+ dontCheck
10121012+ # The current version of purescript (0.14.5) has version bounds for LTS-17,
10131013+ # but it compiles cleanly using deps in LTS-18 as well. This jailbreak can
10141014+ # likely be removed when purescript-0.14.6 is released.
10151015+ doJailbreak
10161016+ # Generate shell completions
10171017+ (generateOptparseApplicativeCompletion "purs")
10181018+ ];
9891019990990- # Haddocks for PureScript can't be built.
991991- # https://github.com/purescript/purescript/pull/3745
992992- dontHaddockPurescript = dontHaddock jailBrokenPurescript;
993993- in
994994- # Generate shell completions
995995- generateOptparseApplicativeCompletion "purs" dontHaddockPurescript;
10201020+ # purenix-1.0 has a strict version bound requiring purescript-0.14.4, but it
10211021+ # works with later versions of purescript as well.
10221022+ purenix = doJailbreak super.purenix;
99610239971024 # Generate shell completion for spago
9981025 spago = generateOptparseApplicativeCompletion "spago" super.spago;