diff options
-rw-r--r-- | pkgs/development/libraries/haskell/Crypto/class-constraints.diff | 27 | ||||
-rw-r--r-- | pkgs/development/libraries/haskell/Crypto/default.nix | 1 |
2 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/development/libraries/haskell/Crypto/class-constraints.diff b/pkgs/development/libraries/haskell/Crypto/class-constraints.diff new file mode 100644 index 000000000000..77035322678a --- /dev/null +++ b/pkgs/development/libraries/haskell/Crypto/class-constraints.diff @@ -0,0 +1,27 @@ +--- a/Data/Digest/SHA2.hs ++++ b/Data/Digest/SHA2.hs +@@ -106,7 +106,7 @@ + data Hash384 = Hash384 !Word64 !Word64 !Word64 !Word64 !Word64 !Word64 deriving (Eq, Ord) + data Hash224 = Hash224 !Word32 !Word32 !Word32 !Word32 !Word32 !Word32 !Word32 deriving (Eq, Ord) + +-instance (Integral a) => Show (Hash8 a) where ++instance (Integral a, Show a) => Show (Hash8 a) where + showsPrec _ (Hash8 a b c d e f g h) = + (showHex a) . (' ':) . + (showHex b) . (' ':) . +@@ -146,7 +146,7 @@ + where + bs = bitSize (head r) + +-instance (Integral h, Bits h) => Hash (Hash8 h) where ++instance (Integral h, Bits h, Show h) => Hash (Hash8 h) where + toOctets (Hash8 x0 x1 x2 x3 x4 x5 x6 x7) = bitsToOctets =<< [x0, x1, x2, x3, x4, x5, x6, x7] + + instance Hash Hash384 where +@@ -282,4 +282,4 @@ + + -- Test with: + -- ghc -no-recomp -O --make Data/Digest/SHA2.hs -main-is Data.Digest.SHA2.moduleTest -o moduleTest && ./moduleTest && rm moduleTest +-moduleTest = runTestTT test_sha2 +\ No newline at end of file ++moduleTest = runTestTT test_sha2 diff --git a/pkgs/development/libraries/haskell/Crypto/default.nix b/pkgs/development/libraries/haskell/Crypto/default.nix index 0adb00ccc862..01bc1a1a0126 100644 --- a/pkgs/development/libraries/haskell/Crypto/default.nix +++ b/pkgs/development/libraries/haskell/Crypto/default.nix @@ -7,6 +7,7 @@ cabal.mkDerivation (self: { isLibrary = true; isExecutable = true; buildDepends = [ HUnit QuickCheck random ]; + patches = [ ./class-constraints.diff ]; meta = { description = "Collects together existing Haskell cryptographic functions into a package"; license = "unknown"; |