about summary refs log tree commit diff
path: root/pkgs/development/compilers/elm/README.md
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2019-01-03 16:31:00 +0000
committerDomen Kožar <domen@dev.si>2019-01-03 16:37:09 +0000
commit6da4584acf4478b04457d57f3881b3aca7d3f7b6 (patch)
treeafc2f73ef646ee6b8be2aa0507f1701a7a79642c /pkgs/development/compilers/elm/README.md
parent24d1d6cf9d9bf539bd0cf79b76f69142067f1381 (diff)
downloadnixlib-6da4584acf4478b04457d57f3881b3aca7d3f7b6.tar
nixlib-6da4584acf4478b04457d57f3881b3aca7d3f7b6.tar.gz
nixlib-6da4584acf4478b04457d57f3881b3aca7d3f7b6.tar.bz2
nixlib-6da4584acf4478b04457d57f3881b3aca7d3f7b6.tar.lz
nixlib-6da4584acf4478b04457d57f3881b3aca7d3f7b6.tar.xz
nixlib-6da4584acf4478b04457d57f3881b3aca7d3f7b6.tar.zst
nixlib-6da4584acf4478b04457d57f3881b3aca7d3f7b6.zip
Elm: automate packaging with elm2nix
- rewrite documentation
- automate whole process into update.sh
- remove all legacy snippets
Diffstat (limited to 'pkgs/development/compilers/elm/README.md')
-rw-r--r--pkgs/development/compilers/elm/README.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/pkgs/development/compilers/elm/README.md b/pkgs/development/compilers/elm/README.md
new file mode 100644
index 000000000000..f0254d0f9547
--- /dev/null
+++ b/pkgs/development/compilers/elm/README.md
@@ -0,0 +1,24 @@
+# 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/