diff --git a/Data/Supply.hs b/Data/Supply.hs
--- a/Data/Supply.hs
+++ b/Data/Supply.hs
@@ -45,8 +45,10 @@
 import Data.IORef(newIORef,atomicModifyIORef)
 import System.IO.Unsafe(unsafeInterleaveIO)
 
-#if __GLASGOW_HASKELL__ >= 608
-import GHC.IOBase(unsafeDupableInterleaveIO)
+#if __GLASGOW_HASKELL__ >= 608 && __GLASGOW_HASKELL__ <= 610
+import GHC.IOBase (unsafeDupableInterleaveIO)
+#elif __GLASGOW_HASKELL__ >= 612
+import GHC.IO (unsafeDupableInterleaveIO)
 #else
 unsafeDupableInterleaveIO :: IO a -> IO a
 unsafeDupableInterleaveIO = unsafeInterleaveIO
diff --git a/value-supply.cabal b/value-supply.cabal
--- a/value-supply.cabal
+++ b/value-supply.cabal
@@ -1,11 +1,9 @@
 Name:           value-supply
-Version:        0.5
-Homepage:       http://github.com/yav/value-supply
+Version:        0.6
 License:        BSD3
 License-file:   LICENSE
 Author:         Iavor S. Diatchki
 Maintainer:     iavor.diatchki@gmail.com
-
 Category:       Data
 Synopsis: A library for generating values without having to thread state.
 Description:
@@ -20,9 +18,8 @@
   ''On Generating Unique Names''
   by Lennart Augustsson, Mikael Rittri, and Dan Synek.
 
-Build-depends:  base
+Build-depends:  base >= 4.0.0.0 && < 5.0.0.0
 Build-type: Simple
 Extra-source-files: LICENSE
 Exposed-modules: Data.Supply
 GHC-options:    -O2 -Wall
-
