How to Help Update the Ecosystem to v0.14.0

In Strategy for Updating the Ecosystem to the Upcoming v0.14.0 Release, I said I would post instructions on how you could help.

Here they are. Read through and follow the instructions in

When we get to the purescript-contrib repos, we will likely use a different approach because those libraries use spago rather than bower. We’ll cross that bridge when we get there.


Is there any nix derivation to get the release candidate on nixos? The binary doesn’t work for me.

I believe that @cvlad is working on that right now!

Yeah, I’m using @cvlad easy-purescript-nix like:

  # I was forced to use `unstable` (I've it for some other reason locally)
  # to have `gh` working... but I'm in general on an ancient channel: 19.09
  # so this can be irrelevant ;-)
  pkgs = import (/home/paluh/programming/nix/unstable) {};

  easyPS = import (pkgs.fetchFromGitHub {
    owner = "vladciobanu";
    repo = "easy-purescript-nix";
    rev = "d2933b64826fbc2593a2c50dc16e9853512a3016";
    sha256 = "0vlkc71dzrgbg04zjvrk24axywqijfsw50wcbdz0fnywhimsz3ir";
  }) { inherit pkgs; };
  pkgs.stdenv.mkDerivation {
    propagatedBuildInputs = [

1 Like

If there are many purescripters using purs from nixpkgs, I’d be happy to merge in a PR adding a derivation for the purescript-0.14 rc.

Nixpkgs provides ghcHEAD, so I think a release candidate for PureScript would make sense too.

If anyone wants to put a PR together, feel free to ping me (@cdepillabout) to get it merged.

1 Like

Wouldn’t that mean we’d have to do a breaking change? Right now it seems like nixpkgs.purescript points to 0.13.8, but instead we’d probably have to make it something like haskell where we have nixpkgs.purescript.purs0138 nixpkgs.purescript.pursHEAD etc, right?

I think there are a couple different ways to do it.

I was actually thinking of going ahead and doing this a week ago (or whenever I saw the original announcement here on discourse), but I didn’t think there were too many PureScript maintainers that got purs from nixpkgs, so I didn’t end up doing it. However, it looks like there are at least 3 or 4 people interested, so maybe it is a good idea!

If I were to send a PR to nixpkgs master adding purescript-0.14, I would probably create a new top-level attribute called something like purescript_0_14. So nixpkgs would provide both purescript_0_14 and the normal purescript (which we would keep at version 0.13.8).

When purescript-0.14 is fully released, we could switch the main purescript attribute over to purescript-0.14, and deprecate purescript_0_14.

1 Like

Previously, I mentioned that I would be adding a feature to my tool to remove libraries that have already been updated. I have now updated the genLibDeps command to do that by reading a file that lists all packages that have already been updated and removing them from the output.

You can see the change for the purescript organization repos. It makes it a bit easier to see which repos are blocking the others from getting updated and how much more we have to go until we’re done.

The ./package-query.js file was updated as a result of the changes I made in the purescript-package-graph