Extends the number of available tools for Elm language.
1. fix and move "elm-test"
Previously located in nodePackages.elm-test but broken (see binwrap info).
Now fixed and located in elmPackages.elm-test
2. add "elm-verify-examples"
Generate tests from documentation examples
3. add "elm-upgrade"
upgrade assistant using statical analysis
4. add "elm-analyse"
static analysis for elm code (linter)
5. move "elm-doc-preview"
originally located in nodePackages.elm-upgrade - moved for consistency
6. add "elmi-to-json"
transforms elmi files to json - used by other tools like elm-test and
elm-verify-examples
Node.js based dependencies are defined the same way as nodePackages
contaparts but are independent (has it's own packages.json)
patch-binwrap.nix is used to as a replacement for binwrap package
used by some nodejs dependencies that depends on Haskell binaries
(elm-test and elm-verify-examples).
BREAKING CHANGE
===============
elm-doc-preview (as well as broken elm-test) is now commented
in `node-packages-v10.json` and should be removed once new
nix-expressions for node10 are generated (out of scope of this PR)
There are still 2 outstanding elm related packages in nodePackages
1. elm-oracle - legacy package which is not compatible with elm 0.19
2. elm-live - should be moved in the future I think
Changes:
- Fetches rocks and builds Nix expressions for them in parallel
- Passes 'maintainers' list to luarocks-nix
- Constructs the luarocks argument list more cleanly, by using an
indexed array
- Made indentation consistent
the recent luarocks can install for a different interpreter than the one
running luarocks.
Due to the way the update is done on nix, it seems more practical to use
this feature than running the script with different luarocks-nix ?
For update script parallelization, we have started calling builtins.toJSON
on updateScripts, which triggers evaluation of paths and therefore their copying
to Nix store. This breaks update scripts that assume that they exist in nixpkgs
like dwarf-fortress.
https://github.com/NixOS/nixpkgs/issues/61935
Let’s stringify the paths before JSONification to prevent the evaluation.