6da4584acf
- rewrite documentation - automate whole process into update.sh - remove all legacy snippets
25 lines
971 B
Markdown
25 lines
971 B
Markdown
# 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/
|