purescript: fix purescript derivation using easy-purescript-nix

For the past couple of years, there has continued to be problems with having the PureScript compiler on nixpkgs building from Haskell packages it is not built against in its actual development and release. We have seen this issue come up multiple times here on nixpkgs, but this also causes numerous issues to be filed against the PureScript compiler repository. One example of an exchange that has occurred multiple times in the past: https://github.com/NixOS/nixpkgs/issues/53597 https://github.com/purescript/purescript/issues/3571. As noted, the PureScript compiler is not on Stackage because it is not meant to be used as a library, and it does not update itself to the latest LTS and cut releases to match LTS releases.

Instead, I have begun maintaining my own derivation for the PureScript compiler (among other tools) in a small project here: https://github.com/justinwoo/easy-purescript-nix. Within are other reference and derivations for other tools commonly used in the PureScript ecosystem, updated to their respective newest releases. These derivations use the same releases that other Linux and OSX users use, along with the standard application of patchELF to provide for runtime dependencies such as zlib, gmp, and ncurses5. These derivations are now used by a variety of NixOS, non-NixOS Linux, and OSX users.

This commit then consumes the easy-purescript-nix derivation for the PureScript compiler and provides it in all-packages for consumption.
wip/yesman
justinwoo 5 years ago
parent 0bf5c6acb4
commit 0810c406b7
  1. 11
      pkgs/development/compilers/purescript/purescript/default.nix
  2. 4
      pkgs/top-level/all-packages.nix

@ -0,0 +1,11 @@
{ fetchFromGitHub }:
let
easyPS = import (fetchFromGitHub {
owner = "justinwoo";
repo = "easy-purescript-nix";
rev = "d383972c82620a712ead4033db14110497bc2c9c";
sha256 = "0hj85y3k0awd21j5s82hkskzp4nlzhi0qs4npnv172kaac03x8ms";
});
in easyPS.purs

@ -7137,8 +7137,8 @@ in
all-cabal-hashes = callPackage ../data/misc/hackage { };
# Build with ghc 8.4 due to https://github.com/NixOS/nixpkgs/issues/53597
purescript = haskell.lib.justStaticExecutables haskell.packages.ghc844.purescript;
purescript = callPackage ../development/compilers/purescript/purescript {};
psc-package = haskell.lib.justStaticExecutables
(haskellPackages.callPackage ../development/compilers/purescript/psc-package { });

Loading…
Cancel
Save