haskellPackages.purescript: get building again

main
(cdep)illabout 3 years ago
parent 1269a421d1
commit 749f0c355e
  1. 48
      pkgs/development/haskell-modules/configuration-common.nix
  2. 1
      pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
  3. 1
      pkgs/development/haskell-modules/hackage-packages.nix

@ -984,22 +984,38 @@ self: super: {
purescript-cst = doJailbreak super.purescript-cst;
purescript =
let
purescriptWithOverrides = super.purescript.override {
# PureScript requires an older version of happy.
happy = self.happy_1_19_9;
};
# PureScript is built against LTS-13, so we need to jailbreak it to
# accept more recent versions of the libraries it requires.
jailBrokenPurescript = doJailbreak purescriptWithOverrides;
# Haddocks for PureScript can't be built.
# https://github.com/purescript/purescript/pull/3745
dontHaddockPurescript = dontHaddock jailBrokenPurescript;
in
# Generate shell completions
generateOptparseApplicativeCompletion "purs" dontHaddockPurescript;
pkgs.lib.pipe
(super.purescript.override {
# The latest version of language-javascript is 0.7.1.0,
# but it seems to have a bug with async support:
# https://github.com/erikd/language-javascript/issues/131
language-javascript = self.language-javascript_0_7_0_0;
})
[ # This PR upgrades purescript from building with LTS-17 to building
# with LTS-18. Aside from bumping dependency bounds, there is one
# minor change that needs to be made in app/Main.hs.
#
# This patch can likely be removed when purescript-0.14.6 is released.
(appendPatch
(pkgs.fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/purescript/purescript/pull/4199.patch";
sha256 = "sha256-OeG30EfCHs7gttLME909WfKxkEZr7Ch3leYiw4lElGg=";
includes = [
"app/Main.hs"
];
})
)
# PureScript uses nodejs to run tests, so the tests have been disabled
# for now. If someone is interested in figuring out how to get this
# working, it seems like it might be possible.
dontCheck
# The current version of purescript (0.14.5) has version bounds for LTS-17,
# but it compiles cleanly using deps in LTS-18 as well. This jailbreak can
# likely be removed when purescript-0.14.6 is released.
doJailbreak
# Generate shell completions
(generateOptparseApplicativeCompletion "purs")
];
# Generate shell completion for spago
spago = generateOptparseApplicativeCompletion "spago" super.spago;

@ -2444,7 +2444,6 @@ dont-distribute-packages:
- puppetresources
- pure-cdb
- pure-priority-queue-tests
- purescript
- purescript-iso
- purescript-tsd-gen
- push-notify

@ -218512,7 +218512,6 @@ self: {
doCheck = false;
description = "PureScript Programming Language Compiler";
license = lib.licenses.bsd3;
hydraPlatforms = lib.platforms.none;
}) {};
"purescript-ast" = callPackage

Loading…
Cancel
Save