summary refs log tree commit diff
diff options
context:
space:
mode:
authorKarn Kallio <tierpluspluslists@gmail.com>2011-03-11 16:49:56 +0000
committerKarn Kallio <tierpluspluslists@gmail.com>2011-03-11 16:49:56 +0000
commit33fb7aef16d598a95d629d14b16eff4b2f4eb5d2 (patch)
tree7fee7f3c922bd36a62cd33d042a7f4b95bfe4cc8
parent587a175abf8f02223d3dd671675683eecad68ed3 (diff)
downloadnixlib-33fb7aef16d598a95d629d14b16eff4b2f4eb5d2.tar
nixlib-33fb7aef16d598a95d629d14b16eff4b2f4eb5d2.tar.gz
nixlib-33fb7aef16d598a95d629d14b16eff4b2f4eb5d2.tar.bz2
nixlib-33fb7aef16d598a95d629d14b16eff4b2f4eb5d2.tar.lz
nixlib-33fb7aef16d598a95d629d14b16eff4b2f4eb5d2.tar.xz
nixlib-33fb7aef16d598a95d629d14b16eff4b2f4eb5d2.tar.zst
nixlib-33fb7aef16d598a95d629d14b16eff4b2f4eb5d2.zip
Update flapjax compiler to the latest release, version 2.1
Also add to nixpkgs new dependencies from hackage.

svn path=/nixpkgs/trunk/; revision=26283
-rw-r--r--pkgs/development/compilers/flapjax/default.nix35
-rw-r--r--pkgs/development/libraries/haskell/JsContracts/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/WebBits-Html/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/WebBits/1.0.nix13
-rw-r--r--pkgs/development/libraries/haskell/WebBits/default.nix13
-rw-r--r--pkgs/top-level/haskell-packages.nix14
6 files changed, 86 insertions, 15 deletions
diff --git a/pkgs/development/compilers/flapjax/default.nix b/pkgs/development/compilers/flapjax/default.nix
index 699034718996..5167bf7d795f 100644
--- a/pkgs/development/compilers/flapjax/default.nix
+++ b/pkgs/development/compilers/flapjax/default.nix
@@ -1,25 +1,30 @@
-args:
-args.stdenv.mkDerivation {
-  name = "flapjax-source-20070514";
+{cabal, fetchurl, unzip, xhtml, WebBits, WebBitsHtml, JsContracts}:
 
-  src = args.fetchurl {
-    url = http://www.flapjax-lang.org/download/20070514/flapjax-source.tar.gz;
-    sha256 = "188dafpggbfdyciqhrjaq12q0q01z1rp3mpm2iixb0mvrci14flc";
-  };
+cabal.mkDerivation ( self: {
+  pname = "flapjax";
+  version = "2.1";
 
-  phases = "unpackPhase buildPhase";
+  src = fetchurl {
+    url = https://github.com/brownplt/flapjax/zipball/Flapjax-2.1;
+    name = "flapjax-2.1.zip";
+    sha256 = "1cp9g570528a813ljnvd1lb389iz0i6511xynf6kzryv8ckc1n7v";
+  };
 
-  buildPhase  = "
-    ensureDir \$out/bin
-    cd compiler;
-    ghc --make Fjc.hs -o \$out/bin/fjc
-  ";
+  # The Makefile copies some files to update the flapjax website into
+  # missing directories; the -p is to avoid these errors.
+  preConfigure = ''
+    cd fx
+    sed -i 's/mkdir/mkdir -p/' Makefile
+    make
+    cd ../compiler
+  '';
 
-  buildInputs =(with args; [ghc] ++ libs);
+  extraBuildInputs = [ unzip JsContracts ];
+  propagatedBuildInputs = [ xhtml WebBits WebBitsHtml ];
 
   meta = { 
       description = "programming language designed around the demands of modern, client-based Web applications";
       homepage = http://www.flapjax-lang.org/;
       license = "BSD";
   };
-}
+})
diff --git a/pkgs/development/libraries/haskell/JsContracts/default.nix b/pkgs/development/libraries/haskell/JsContracts/default.nix
new file mode 100644
index 000000000000..38af9e3e7912
--- /dev/null
+++ b/pkgs/development/libraries/haskell/JsContracts/default.nix
@@ -0,0 +1,13 @@
+{cabal, WebBits, WebBitsHtml}:
+
+cabal.mkDerivation (self : {
+  pname = "JsContracts";
+  version = "0.5.3";
+  sha256 = "17l6kdpdc7lrpd9j4d2b6vklkpclshcjy6hzpi442b7pj96sn589";
+
+  propagatedBuildInputs = [ WebBits WebBitsHtml ];
+
+  meta = {
+    description = "Design-by-contract for JavaScript.";
+  };
+})
diff --git a/pkgs/development/libraries/haskell/WebBits-Html/default.nix b/pkgs/development/libraries/haskell/WebBits-Html/default.nix
new file mode 100644
index 000000000000..decc9b7d89c1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/WebBits-Html/default.nix
@@ -0,0 +1,13 @@
+{cabal, WebBits}:
+
+cabal.mkDerivation (self : {
+  pname = "WebBits-Html";
+  version = "1.0.1";
+  sha256 = "134rmm5ccfsjdr0pdwn2mf81l81rgxapa3wjjfjkxrkxq6hav35n";
+
+  propagatedBuildInputs = [ WebBits ];
+
+  meta = {
+    description = "WebBits is a collection of libraries for working with JavaScript embeded in HTML files.";
+  };
+})
diff --git a/pkgs/development/libraries/haskell/WebBits/1.0.nix b/pkgs/development/libraries/haskell/WebBits/1.0.nix
new file mode 100644
index 000000000000..348832af8fec
--- /dev/null
+++ b/pkgs/development/libraries/haskell/WebBits/1.0.nix
@@ -0,0 +1,13 @@
+{cabal, mtl, parsec}:
+
+cabal.mkDerivation (self : {
+  pname = "WebBits";
+  version = "1.0";
+  sha256 = "1xqk4ajywlaq9nb9a02i7c25na5p2qbpc2k9zw93gbapppjiapsc";
+
+  propagatedBuildInputs = [ mtl parsec ];
+
+  meta = {
+    description = "WebBits is a collection of libraries for working with JavaScript.";
+  };
+})
diff --git a/pkgs/development/libraries/haskell/WebBits/default.nix b/pkgs/development/libraries/haskell/WebBits/default.nix
new file mode 100644
index 000000000000..8d67f42669e6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/WebBits/default.nix
@@ -0,0 +1,13 @@
+{cabal, mtl, parsec}:
+
+cabal.mkDerivation (self : {
+  pname = "WebBits";
+  version = "2.0";
+  sha256 = "14a1rqlq925f6rdbi8yx44xszj5pvskcmw1gi1bj8hbilgmlwi7f";
+
+  propagatedBuildInputs = [ mtl parsec ];
+
+  meta = {
+    description = "WebBits is a collection of libraries for working with JavaScript.";
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 60cba412f388..ccf07c7ae827 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -414,6 +414,10 @@ rec {
 
   jpeg = callPackage ../development/libraries/haskell/jpeg {};
 
+  JsContracts = callPackage ../development/libraries/haskell/JsContracts {
+    WebBits = WebBits_1_0;
+  };
+
   json = callPackage ../development/libraries/haskell/json {};
 
   json_0_3_6 = callPackage ../development/libraries/haskell/json/0.3.6.nix {};
@@ -707,6 +711,12 @@ rec {
     parallel = parallel_2_2_0_1;
   };
 
+  WebBits = callPackage ../development/libraries/haskell/WebBits {};
+
+  WebBits_1_0 = callPackage ../development/libraries/haskell/WebBits/1.0.nix {};
+
+  WebBitsHtml = callPackage ../development/libraries/haskell/WebBits-Html {};
+
   webRoutes = callPackage ../development/libraries/haskell/web-routes {
     network = network_2_2_1_7;
   };
@@ -773,6 +783,10 @@ rec {
 
   epic = callPackage ../development/compilers/epic {};
 
+  flapjax = callPackage ../development/compilers/flapjax {
+    WebBits = WebBits_1_0;
+  };
+
   helium = callPackage ../development/compilers/helium {};
 
   idris = callPackage ../development/compilers/idris {};