Skip to content
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

elmPackages.{elm-test,elm-analyse..}: tooling additions and fixes #63477

Merged
merged 1 commit into from Jun 24, 2019

Conversation

turboMaCk
Copy link
Member

reincarnation of #62899

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
Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

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
@turboMaCk
Copy link
Member Author

@domenkozar sorry for bothering you again, but I think you're the best person to review this and provide feedback. Please let me know if there is something more I can do in order to get this accepted.

Also, @worldofpeace if you think there is someone else who can provide the feedback so we don't overload @domenkozar let me know. I can definitely wait but I would love to get this merged eventually.

@domenkozar
Copy link
Member

@GrahamcOfBorg build elmPackages

@domenkozar
Copy link
Member

Nice work :) If it all builds I'll merge it.

@turboMaCk
Copy link
Member Author

💥 it seems to be all green. Thanks @domenkozar

@domenkozar domenkozar merged commit 270415e into NixOS:master Jun 24, 2019
pull bot pushed a commit to milibopp/nixpkgs that referenced this pull request Jun 25, 2019
Don't import <nixpkgs>, because that is not allowed.
Broken by NixOS#63477

cc @turboMaCk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants