nixpkgs/pkgs/development/compilers/elm
Jinnah Ali-Clarke d29cd82bfb elmPackages.elm-pages: init at 2.1.11
`node-packages.nix` was regenerated after having run `generate-node-packages.sh`
in order to pick up dependencies for `elm-pages`.  In addition, we add `elm`,
`elm-review`, and `elm-optimize-level-2` to the `PATH` for `elm-pages` since those
are needed at runtime.

A patch is also included to fix an issue where files are copied from the `nix-store`
as read-only (credit to @bcardiff for that fix).  An upstream issue
https://github.com/dillonkearns/elm-pages/issues/305 has been opened to track this.
2022-05-30 09:56:44 -04:00
..
packages elmPackages.elm-pages: init at 2.1.11 2022-05-30 09:56:44 -04:00
default.nix elmPackages.elm-pages: init at 2.1.11 2022-05-30 09:56:44 -04:00
fetchElmDeps.nix Elm: 0.19.0 -> 0.19.1 2019-10-21 21:32:35 +02:00
makeDotElm.nix makeDotElm: fix 2020-05-03 21:54:20 +03:00
README.md
registry.dat Elm: 0.19.0 -> 0.19.1 2019-10-21 21:32:35 +02:00
update.sh Elm: 0.19.0 -> 0.19.1 2019-10-21 21:32:35 +02:00

To update Elm:

Modify revision in ./update.sh and run it

Notes about the build process:

The elm binary embeds a piece of pre-compiled elm code, used by 'elm reactor'. This means that the build process for 'elm' effectively executes 'elm make'. that in turn expects to retrieve the elm dependencies of that code (elm/core, etc.) from package.elm-lang.org, as well as a cached bit of metadata (versions.dat).

The makeDotElm function lets us retrieve these dependencies in the standard nix way. we have to copy them in (rather than symlink) and make them writable because the elm compiler writes other .dat files alongside the source code. versions.dat was produced during an impure build of this same code; the build complains that it can't update this cache, but continues past that warning.

Finally, we set ELM_HOME to point to these pre-fetched artifacts so that the default of ~/.elm isn't used.

More: https://blog.hercules-ci.com/elm/2019/01/03/elm2nix-0.1/