-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
psc-package: Stop using haskellPackages to build #82964
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
description = "A package manager for PureScript based on package sets"; | ||
license = licenses.bsd3; | ||
maintainers = with maintainers; [ Profpatsch ]; | ||
platforms = [ "x86_64-darwin" "x86_64-linux" ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/justinwoo/easy-purescript-nix/blob/master/psc-package-simple.nix did not contain a platforms declaration so I created this based on the releases. I'm not sure if there are any other platforms besides "x86_64-linux"
that work with the linux64 binary download.
|
Switch to the approach taken by https://github.com/justinwoo/easy-purescript-nix/blob/master/psc-package-simple.nix This downloads a prebuilt release and patches the linker paths. It reduces the number of supported platforms, but ensures we're using the official supported psc-package compiler. The `haskellPackages` approach wasn't supported and was leading to version conflicts with dependencies.
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-ready-for-review-may-2019/3032/135 |
@lilyball Looks good to me. A lot of the other PureScript stuff is just installing from binaries, so it makes sense to do the same thing for I'll merge this in, but I'd appreciate if you send a follow-up PR adding yourself as a maintainer if |
I didn't add myself as a maintainer because I'm not a direct consumer of this, I just wanted to use a package that itself depends on this. I'd rather not be responsible for |
Motivation for this change
The current
psc-package
doesn't compile anymore, both becasue it's not compatible with GHC 8.8 and because the version ofbase-compat
inhaskellPackages
is newer than what it supports.The new approach just downloads a prebuilt binary and patches the linker paths. This means we're using the official supported compiler so we match other installations of
psc-package
, at the downside of fewer supported platforms. This was the recommended approach from purescript/psc-package#165.Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)I tested one package that depends on this (
nodePackages.insect
). I don't anticipate any issues with dependent packages as this is the same version ofpsc-package
as before, so it should behave the same.CC @Profpatsch