Updating Elm packages.

This includes updates to elm -compiler, -make, -package and -reactor.
-repl's test suite currently breaks.

The build for elm-reactor could be more concise, but it's clean. The
final build step for elm-reactor ultimately relies on elm-package
downloading some libraries, so anything radically better would probably
need nix to step in and somehow emulate elm-package. That would take
more knowledge about elm & nix than I have...
This commit is contained in:
Kris Jenkins 2015-01-19 09:18:28 +00:00
parent c163baca3b
commit fb4a6119b6
7 changed files with 63 additions and 38 deletions

View file

@ -1,25 +0,0 @@
From a164f7a2b662831ba26f5cebce23f97f1b5afccd Mon Sep 17 00:00:00 2001
From: Tom Hunger <tehunger@gmail.com>
Date: Thu, 8 Jan 2015 14:07:17 +0000
Subject: [PATCH] remove-custom-build-step
---
Setup.hs | 2 --
1 file changed, 2 deletions(-)
diff --git a/Setup.hs b/Setup.hs
index 6f80fd8..a45ffc1 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -19,8 +19,6 @@ main =
myPostBuild :: Args -> BuildFlags -> PackageDescription -> LocalBuildInfo -> IO ()
myPostBuild args flags pd lbi =
do putStrLn "Custom build step: compiling debuggerInterface.elm"
- buildInterface
- concatJS lbi
postBuild simpleUserHooks args flags pd lbi
--
1.9.4

View file

@ -9,8 +9,8 @@
cabal.mkDerivation (self: {
pname = "elm-compiler";
version = "0.14";
sha256 = "1vgbs3navs6dr36k408kc83gkn2ndhmc0b1015zk3jb0wkmvm73y";
version = "0.14.1";
sha256 = "0my04mipgia5qw02nzzrzc4kq3vl7bv75rzrsmd2bdb2wll1k94f";
isLibrary = true;
isExecutable = true;
buildDepends = [

View file

@ -6,8 +6,8 @@
cabal.mkDerivation (self: {
pname = "elm-make";
version = "0.1";
sha256 = "1hrc8bzfqzrcmkzqcampxkn5m113blfp4095h6c2xnadiicbvwdy";
version = "0.1.1";
sha256 = "02mqr6v146piwrhycnmlxnky5bmsl7ap7781qmcwkfmc89wfa4zl";
isLibrary = false;
isExecutable = true;
buildDepends = [

View file

@ -8,8 +8,8 @@
cabal.mkDerivation (self: {
pname = "elm-package";
version = "0.2.2";
sha256 = "0hkcy1mix2rng2k2zhzgb16nd0asfj9rm9ya2by67vjysiz8cmnr";
version = "0.4";
sha256 = "0vsq87imyvs1sa2n4z41b6qswy2cknxsg4prhwc9r7lvyljkmn03";
isLibrary = true;
isExecutable = true;
buildDepends = [

View file

@ -0,0 +1,6 @@
{
"evancz/virtual-dom": "1.1.0",
"evancz/elm-markdown": "1.1.2",
"evancz/elm-html": "1.1.0",
"elm-lang/core": "1.1.0"
}

View file

@ -1,16 +1,59 @@
{ cabal, blazeHtml, blazeMarkup, cmdargs, elmCompiler, elmMake, filepath
{ unzip, fetchurl, fetchFromGitHub, cabal, blazeHtml, blazeMarkup, cmdargs, elmCompiler, elmMake, filepath
, fsnotify, HTTP, mtl, snapCore, snapServer, systemFilepath, text
, time, transformers, unorderedContainers, websockets
, websocketsSnap
}:
cabal.mkDerivation (self: {
cabal.mkDerivation (self: rec {
pname = "elm-reactor";
version = "0.2.0.1";
sha256 = "1qnrxr3wayhw92w6lghchz8avxbxg00w7p6d1vs7mq9q56876jgj";
version = "0.3";
isLibrary = false;
isExecutable = true;
patches = [ ./0001-remove-custom-build-step.patch ];
buildTools = [ unzip ];
src = fetchFromGitHub {
owner = "elm-lang";
repo = "elm-reactor";
rev = "176ff8e05e4bb7474752da1b3455c83d6181d594";
sha256 = "1marjqlmmq3a74g9f3ngk90h9mkhillcdwfsys6x0nqj6qirw4ph";
};
elmLangCore = fetchurl {
url = "https://github.com/elm-lang/core/archive/1.1.0.zip";
sha256 = "1fhvghjsay1p82k13039wbd02k439yplv2rh9zr77zvcbih6a31j";
};
elmHtml = fetchurl {
url = "https://github.com/evancz/elm-html/archive/1.1.0.zip";
sha256 = "01wshabxsdrxcxs2nn3dhk7n8720sp3prpkahhx36vvprdh05l4q";
};
elmMarkdown = fetchurl {
url = "https://github.com/evancz/elm-markdown/archive/1.1.2.zip";
sha256 = "14y1wp28za50zypdzyvl5d57hkm0v3rgnzm5klv3jcbd625kr9bg";
};
virtualDom = fetchurl {
url = "https://github.com/evancz/virtual-dom/archive/1.1.0.zip";
sha256 = "08dr7q0x1ycgj5b15s2kn1a45iw350gzq65c3lxp47xfffq1vz91";
};
elmStuff = ./elm-reactor-exact-dependencies.json;
preConfigure = ''
unzip -d $TEMPDIR -q ${elmLangCore}
mkdir -p elm-stuff/packages/elm-lang/core/1.1.0
cp -pr $TEMPDIR/core-1.1.0/* elm-stuff/packages/elm-lang/core/1.1.0/
unzip -d $TEMPDIR -q ${elmHtml}
mkdir -p elm-stuff/packages/evancz/elm-html/1.1.0
cp -pr $TEMPDIR/elm-html-1.1.0/* elm-stuff/packages/evancz/elm-html/1.1.0
unzip -d $TEMPDIR -q ${elmMarkdown}
mkdir -p elm-stuff/packages/evancz/elm-markdown/1.1.2
cp -pr $TEMPDIR/elm-markdown-1.1.2/* elm-stuff/packages/evancz/elm-markdown/1.1.2
unzip -d $TEMPDIR -q ${virtualDom}
mkdir -p elm-stuff/packages/evancz/virtual-dom/1.1.0
cp -pr $TEMPDIR/virtual-dom-1.1.0/* elm-stuff/packages/evancz/virtual-dom/1.1.0
cp ${elmStuff} elm-stuff/exact-dependencies.json
'';
buildDepends = [
blazeHtml blazeMarkup cmdargs elmCompiler filepath fsnotify HTTP
mtl snapCore snapServer systemFilepath text time transformers
@ -21,6 +64,5 @@ cabal.mkDerivation (self: {
description = "Interactive development tool for Elm programs";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
# broken = true;
};
})

View file

@ -781,7 +781,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
optparseApplicative = self.optparseApplicative_0_10_0;
};
elmPackage = callPackage ../development/compilers/elm/elm-package.nix {};
elmPackage = callPackage ../development/compilers/elm/elm-package.nix {
optparseApplicative = self.optparseApplicative_0_10_0;
};
elmServer = callPackage ../development/compilers/elm/elm-server.nix {};