diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,8 @@
+Changed in version 0.6.3.1:
+   * Updated contraints for ghc-7.0.1.
+
+   * Fix building on ghc-6.10.
+
 Changed in version 0.6.3:
    * #111: Correct width calculations when the prompt contains newlines.
 
diff --git a/System/Console/Haskeline/Backend/Posix.hsc b/System/Console/Haskeline/Backend/Posix.hsc
--- a/System/Console/Haskeline/Backend/Posix.hsc
+++ b/System/Console/Haskeline/Backend/Posix.hsc
@@ -253,7 +253,7 @@
 #else
 -- hWaitForInput doesn't work with -threaded on ghc < 6.10
 -- (#2363 in ghc's trac)
-blockUntilInput h = unsafeHandleToFd h >>= threadWaitRead
+blockUntilInput h = unsafeHandleToFD h >>= threadWaitRead . Fd
 #endif
 
 -- try to convert to the locale encoding using iconv.
diff --git a/haskeline.cabal b/haskeline.cabal
--- a/haskeline.cabal
+++ b/haskeline.cabal
@@ -1,6 +1,6 @@
 Name:           haskeline
 Cabal-Version:  >=1.6
-Version:        0.6.3
+Version:        0.6.3.1
 Category:       User Interfaces
 License:        BSD3
 License-File:   LICENSE
@@ -50,7 +50,7 @@
     }
     else {
         if impl(ghc>=6.11) {
-            Build-depends: base >=4.1 && < 4.4, containers>=0.1 && < 0.5, directory==1.0.*,
+            Build-depends: base >=4.1 && < 4.4, containers>=0.1 && < 0.5, directory>=1.0 && < 1.2,
                            bytestring==0.9.*
         }
         else {
