diff --git a/SHA.cabal b/SHA.cabal
--- a/SHA.cabal
+++ b/SHA.cabal
@@ -1,6 +1,6 @@
 name:       SHA
 category:   Cryptography, Codec
-version:    1.6.1
+version:    1.6.2.1
 license:    BSD3
 license-file: LICENSE
 author:     Adam Wick <awick@galois.com>, Brian Lewis <brian@lorf.org>
@@ -27,26 +27,37 @@
   Description: Build a sha1 and a sha384 executable similar to 'md5sum'.
   Default: False
 
+Flag base_tf_bug
+  Description: This is a low version of base that'll hit a test-framwework bug.
+  Default: False
+
 Library
-  build-depends: base >= 4 && < 6, bytestring, binary, array
+  build-depends: array > 0 && < 10000,
+                 base >= 4 && < 6,
+                 binary > 0.0 && < 10000,
+                 bytestring > 0.8 && < 10000
   exposed-modules: Data.Digest.Pure.SHA
-  GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
+  GHC-Options: -Wall -fno-ignore-asserts -fno-warn-orphans
                -funbox-strict-fields -fwarn-tabs
   extensions: CPP, BangPatterns
-  if impl(ghc >= 6.12)
+  if impl(ghc >= 6.12) && impl(ghc < 7.7)
     Ghc-Options: -fregs-graph
 
 Executable test_sha
   if flag(test)
-      build-depends: base >= 4 && < 6, bytestring, binary, array,
-                     QuickCheck == 2.*, test-framework >= 0.3,
-                     test-framework-quickcheck2 >= 0.2
+    build-depends: array > 0 && < 10000,
+                   base > 4.3 && < 7,
+                   binary > 0 && < 10000,
+                   bytestring > 0.8 && < 10000,
+                   QuickCheck >= 2.5 && < 3,
+                   test-framework >= 0.8.0.3 && < 10000,
+                   test-framework-quickcheck2 >= 0.3.0.2 && < 10000
   else
     buildable: False
   Main-Is: Test.hs
   Other-Modules: Data.Digest.Pure.SHA
 
-  extensions: CPP, BangPatterns, MultiParamTypeClasses
+  extensions: CPP, BangPatterns, MultiParamTypeClasses, DeriveDataTypeable
   GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
                -funbox-strict-fields -fwarn-tabs
   cpp-options: -DSHA_TEST
@@ -54,9 +65,12 @@
   if impl(ghc >= 6.12)
     Ghc-Options: -fregs-graph
 
-
 Executable sha1
-  build-depends: base >= 4 && < 6, bytestring, binary, array, directory
+  build-depends: array > 0 && < 10000,
+                 base >= 4 && < 6,
+                 binary > 0.0 && < 10000,
+                 bytestring > 0.8 && < 10000,
+                 directory > 0 && < 10000
   Main-Is: Main.hs
 
   extensions: CPP, BangPatterns
@@ -71,7 +85,11 @@
     buildable: False
 
 Executable sha384
-  build-depends: base >= 4 && < 6, bytestring, binary, array, directory
+  build-depends: array > 0 && < 10000,
+                 base >= 4 && < 6,
+                 binary > 0.0 && < 10000,
+                 bytestring > 0.8 && < 10000,
+                 directory > 0 && < 10000
   GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
                -funbox-strict-fields -fwarn-tabs
   Main-Is: Main.hs
diff --git a/Test.hs b/Test.hs
# file too large to diff: Test.hs
