From aa6e1f4586eaf9c6f0e41e4e468718c7d72bf5b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Wed, 9 May 2012 16:19:52 +0000 Subject: [PATCH] Added haskell-mpi and dependencies. svn path=/nixpkgs/trunk/; revision=34030 --- .../libraries/haskell/c2hs/default.nix | 17 +++++++++++++++++ .../libraries/haskell/haskell-mpi/default.nix | 19 +++++++++++++++++++ .../libraries/haskell/language-c/default.nix | 16 ++++++++++++++++ pkgs/top-level/haskell-packages.nix | 8 ++++++++ 4 files changed, 60 insertions(+) create mode 100644 pkgs/development/libraries/haskell/c2hs/default.nix create mode 100644 pkgs/development/libraries/haskell/haskell-mpi/default.nix create mode 100644 pkgs/development/libraries/haskell/language-c/default.nix diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix new file mode 100644 index 00000000000..d717174902b --- /dev/null +++ b/pkgs/development/libraries/haskell/c2hs/default.nix @@ -0,0 +1,17 @@ +{ cabal, filepath, languageC }: + +cabal.mkDerivation (self: { + pname = "c2hs"; + version = "0.16.3"; + sha256 = "1qqsxfdkf5sfj3mvk265dbng3br9w633y8v1piajqaidki7vwqm5"; + isLibrary = false; + isExecutable = true; + buildDepends = [ filepath languageC ]; + meta = { + homepage = "http://www.cse.unsw.edu.au/~chak/haskell/c2hs/"; + description = "C->Haskell FFI tool that gives some cross-language type safety"; + license = self.stdenv.lib.licenses.gpl2; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/haskell-mpi/default.nix b/pkgs/development/libraries/haskell/haskell-mpi/default.nix new file mode 100644 index 00000000000..add910b6193 --- /dev/null +++ b/pkgs/development/libraries/haskell/haskell-mpi/default.nix @@ -0,0 +1,19 @@ +{ cabal, c2hs, cereal, extensibleExceptions, mpi }: + +cabal.mkDerivation (self: { + pname = "haskell-mpi"; + version = "1.2.1"; + sha256 = "1d3xlwz3sx1m7iyf67cfr1vsp3w4iz9mmqvmvdiblj4569hxblr5"; + isLibrary = true; + isExecutable = true; + buildDepends = [ cereal extensibleExceptions ]; + buildTools = [ c2hs ]; + extraLibraries = [ mpi ]; + meta = { + homepage = "http://github.com/bjpop/haskell-mpi"; + description = "Distributed parallel programming in Haskell using MPI"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/language-c/default.nix b/pkgs/development/libraries/haskell/language-c/default.nix new file mode 100644 index 00000000000..154bc68c3c5 --- /dev/null +++ b/pkgs/development/libraries/haskell/language-c/default.nix @@ -0,0 +1,16 @@ +{ cabal, alex, filepath, happy, syb }: + +cabal.mkDerivation (self: { + pname = "language-c"; + version = "0.3.2.1"; + sha256 = "1qk86p88p2jk1cbgl8p5g19ip3nh6z22ddj5jac58r5ny076iimx"; + buildDepends = [ filepath syb ]; + buildTools = [ alex happy ]; + meta = { + homepage = "http://www.sivity.net/projects/language.c/"; + description = "Analysis and generation of C code"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 020814f6e1a..3b8da9c56aa 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -526,6 +526,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); bytestringTrie = callPackage ../development/libraries/haskell/bytestring-trie {}; + c2hs = callPackage ../development/libraries/haskell/c2hs {}; + Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; }; Cabal = null; # core package in GHC @@ -814,6 +816,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); haskellLexer = callPackage ../development/libraries/haskell/haskell-lexer {}; + haskellMpi = callPackage ../development/libraries/haskell/haskell-mpi { + mpi = pkgs.openmpi; + }; + haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {}; haskellSrc_1_0_1_4 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.4.nix {}; haskellSrc_1_0_1_5 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.5.nix {}; @@ -969,6 +975,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); jsonTypes = callPackage ../development/libraries/haskell/jsonTypes {}; + languageC = callPackage ../development/libraries/haskell/language-c {}; + languageJavascript = callPackage ../development/libraries/haskell/language-javascript {}; languageHaskellExtract = callPackage ../development/libraries/haskell/language-haskell-extract {};