nixpkgs/pkgs/development/compilers/elm/packages/elmi-to-json.nix
Marek Fajkus a97986a481 elmPackages.{elm-test,elm-analyse..}: tooling additions and fixes
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
2019-06-18 21:29:10 +02:00

28 lines
989 B
Nix

{ mkDerivation, aeson, async, base, binary, bytestring, containers
, directory, filepath, hpack, optparse-applicative, safe-exceptions
, stdenv, text, fetchgit
}:
mkDerivation {
pname = "elmi-to-json";
version = "0.19.4";
src = fetchgit {
url = "https://github.com/stoeffel/elmi-to-json.git";
rev = "357ad96f05e4c68023b036f27f6f65c4377c7427";
sha256 = "0vj9fdqgg2zd1nxpll6v02fk6bcyhx00xhp3s8sd7ycvirwsim9n";
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson async base binary bytestring containers directory filepath
optparse-applicative safe-exceptions text
];
libraryToolDepends = [ hpack ];
executableHaskellDepends = [ base ];
testHaskellDepends = [ base ];
preConfigure = "hpack";
homepage = "https://github.com/stoeffel/elmi-to-json#readme";
description = "Translates elmi binary files to JSON representation";
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ turbomack ];
}