From abc7c382ce3f03a6fccbbf497726ed5b9211f6ef Mon Sep 17 00:00:00 2001 From: Alexander Foremny Date: Fri, 21 Sep 2012 16:29:12 +0200 Subject: [PATCH 1/3] Add attoparsec-binary-0.1.0.1 --- .../libraries/haskell/attoparsec-binary/default.nix | 13 +++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/development/libraries/haskell/attoparsec-binary/default.nix diff --git a/pkgs/development/libraries/haskell/attoparsec-binary/default.nix b/pkgs/development/libraries/haskell/attoparsec-binary/default.nix new file mode 100644 index 00000000000..1faea022e9a --- /dev/null +++ b/pkgs/development/libraries/haskell/attoparsec-binary/default.nix @@ -0,0 +1,13 @@ +{ cabal, attoparsec }: + +cabal.mkDerivation (self: { + pname = "attoparsec-binary"; + version = "0.1.0.1"; + sha256 = "1d3zjr8bh6d44v1vid0cvrrbyhn7xj4bn96vy36dzk7h7p87bzxa"; + buildDepends = [ attoparsec ]; + meta = { + description = "Binary processing extensions to Attoparsec"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 2f6b53e6d26..fde7fc050a0 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -425,6 +425,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); attoparsec = callPackage ../development/libraries/haskell/attoparsec {}; + attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binarbinary {}; + attoparsecConduit = callPackage ../development/libraries/haskell/attoparsec-conduit {}; attoparsecEnumerator = callPackage ../development/libraries/haskell/attoparsec/enumerator.nix {}; From 47706bf9f676529a2c19d5fe63a78eb9359afa7a Mon Sep 17 00:00:00 2001 From: Alexander Foremny Date: Fri, 21 Sep 2012 16:29:55 +0200 Subject: [PATCH 2/3] Fix typo --- pkgs/top-level/haskell-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index fde7fc050a0..d4ad6e0f0d0 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -425,7 +425,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); attoparsec = callPackage ../development/libraries/haskell/attoparsec {}; - attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binarbinary {}; + attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {}; attoparsecConduit = callPackage ../development/libraries/haskell/attoparsec-conduit {}; From 882ccb0f5280d96d0a3e01efa8d876a47cd8b6c0 Mon Sep 17 00:00:00 2001 From: Alexander Foremny Date: Fri, 21 Sep 2012 16:33:24 +0200 Subject: [PATCH 3/3] Patch attoparsec-binary to work with GHC 7.6.1 --- .../attoparsec-binary-ghc7.6.1.patch | 20 +++++++++++++++++++ .../haskell/attoparsec-binary/default.nix | 1 + 2 files changed, 21 insertions(+) create mode 100644 pkgs/development/libraries/haskell/attoparsec-binary/attoparsec-binary-ghc7.6.1.patch diff --git a/pkgs/development/libraries/haskell/attoparsec-binary/attoparsec-binary-ghc7.6.1.patch b/pkgs/development/libraries/haskell/attoparsec-binary/attoparsec-binary-ghc7.6.1.patch new file mode 100644 index 00000000000..dae949b2570 --- /dev/null +++ b/pkgs/development/libraries/haskell/attoparsec-binary/attoparsec-binary-ghc7.6.1.patch @@ -0,0 +1,20 @@ +diff --git a/Data/Attoparsec/Binary.hs b/Data/Attoparsec/Binary.hs +index fab76c6..01d6c8b 100644 +--- a/Data/Attoparsec/Binary.hs ++++ b/Data/Attoparsec/Binary.hs +@@ -23,7 +23,7 @@ import Data.Word + byteSize :: (Bits a) => a -> Int + byteSize = (`div` 8) . bitSize + +-pack :: (Bits a) => B.ByteString -> a ++pack :: (Bits a, Num a) => B.ByteString -> a + pack = B.foldl' (\n h -> (n `shiftL` 8) .|. fromIntegral h) 0 + + anyWordN :: (Bits a) => (B.ByteString -> a) -> Parser a +@@ -84,4 +84,4 @@ word64be = wordN unpack + + -- |Match a specific 64-bit little-endian word. + word64le :: Word64 -> Parser Word64 +-word64le = wordN $ B.reverse . unpack +\ No newline at end of file ++word64le = wordN $ B.reverse . unpack diff --git a/pkgs/development/libraries/haskell/attoparsec-binary/default.nix b/pkgs/development/libraries/haskell/attoparsec-binary/default.nix index 1faea022e9a..f4e85d5ebd5 100644 --- a/pkgs/development/libraries/haskell/attoparsec-binary/default.nix +++ b/pkgs/development/libraries/haskell/attoparsec-binary/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.1.0.1"; sha256 = "1d3zjr8bh6d44v1vid0cvrrbyhn7xj4bn96vy36dzk7h7p87bzxa"; buildDepends = [ attoparsec ]; + patches = [ ./attoparsec-binary-ghc7.6.1.patch ]; meta = { description = "Binary processing extensions to Attoparsec"; license = self.stdenv.lib.licenses.bsd3;