From 33fb7aef16d598a95d629d14b16eff4b2f4eb5d2 Mon Sep 17 00:00:00 2001 From: Karn Kallio Date: Fri, 11 Mar 2011 16:49:56 +0000 Subject: [PATCH] Update flapjax compiler to the latest release, version 2.1 Also add to nixpkgs new dependencies from hackage. svn path=/nixpkgs/trunk/; revision=26283 --- .../development/compilers/flapjax/default.nix | 35 +++++++++++-------- .../libraries/haskell/JsContracts/default.nix | 13 +++++++ .../haskell/WebBits-Html/default.nix | 13 +++++++ .../libraries/haskell/WebBits/1.0.nix | 13 +++++++ .../libraries/haskell/WebBits/default.nix | 13 +++++++ pkgs/top-level/haskell-packages.nix | 14 ++++++++ 6 files changed, 86 insertions(+), 15 deletions(-) create mode 100644 pkgs/development/libraries/haskell/JsContracts/default.nix create mode 100644 pkgs/development/libraries/haskell/WebBits-Html/default.nix create mode 100644 pkgs/development/libraries/haskell/WebBits/1.0.nix create mode 100644 pkgs/development/libraries/haskell/WebBits/default.nix diff --git a/pkgs/development/compilers/flapjax/default.nix b/pkgs/development/compilers/flapjax/default.nix index 69903471899..5167bf7d795 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"; + + 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"; }; -} +}) diff --git a/pkgs/development/libraries/haskell/JsContracts/default.nix b/pkgs/development/libraries/haskell/JsContracts/default.nix new file mode 100644 index 00000000000..38af9e3e791 --- /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 00000000000..decc9b7d89c --- /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 00000000000..348832af8fe --- /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 00000000000..8d67f42669e --- /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 60cba412f38..ccf07c7ae82 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 {};