Update flapjax compiler to the latest release, version 2.1

Also add to nixpkgs new dependencies from hackage.

svn path=/nixpkgs/trunk/; revision=26283
This commit is contained in:
Karn Kallio 2011-03-11 16:49:56 +00:00
parent 587a175abf
commit 33fb7aef16
6 changed files with 86 additions and 15 deletions

View File

@ -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";
src = fetchurl {
url = https://github.com/brownplt/flapjax/zipball/Flapjax-2.1;
name = "flapjax-2.1.zip";
sha256 = "1cp9g570528a813ljnvd1lb389iz0i6511xynf6kzryv8ckc1n7v";
};
phases = "unpackPhase buildPhase";
# 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
'';
buildPhase = "
ensureDir \$out/bin
cd compiler;
ghc --make Fjc.hs -o \$out/bin/fjc
";
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";
};
}
})

View File

@ -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.";
};
})

View File

@ -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.";
};
})

View File

@ -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.";
};
})

View File

@ -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.";
};
})

View File

@ -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 {};