diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -7,15 +7,15 @@
 # Get involved!
 
 Please report bugs via the
-[bitbucket issue tracker](http://bitbucket.org/bos/attoparsec/filemanip).
+[github issue tracker](https://github.com/bos/filemanip/issues).
 
-Master [Mercurial repository](http://bitbucket.org/bos/filemanip):
+Master [git repository](http://github.com/bos/filemanip):
 
-* `hg clone http://bitbucket.org/bos/filemanip`
+* `git clone git://github.com/bos/filemanip.git`
 
-There's also a [git mirror](http://github.com/bos/filemanip):
+There's also a [Mercurial mirror](http://bitbucket.org/bos/filemanip):
 
-* `git clone git://github.com/bos/filemanip.git`
+* `hg clone https://bitbucket.org/bos/filemanip`
 
 (You can create and contribute changes using either Mercurial or git.)
 
diff --git a/System/FilePath/Find.hs b/System/FilePath/Find.hs
--- a/System/FilePath/Find.hs
+++ b/System/FilePath/Find.hs
@@ -111,7 +111,8 @@
     , (||?)
     ) where
 
-import Control.Exception
+import qualified Control.Exception as E
+import Control.Exception (IOException, handle)
 import Control.Monad (foldM, forM, liftM, liftM2)
 import Control.Monad.State (State, evalState, get)
 import Data.Bits (Bits, (.&.))
@@ -123,7 +124,6 @@
 import System.IO.Unsafe (unsafeInterleaveIO, unsafePerformIO)
 import qualified System.PosixCompat.Files as F
 import qualified System.PosixCompat.Types as T
-import Prelude hiding (catch)
 
 -- | Information collected during the traversal of a directory.
 data FileInfo = FileInfo
@@ -222,7 +222,7 @@
               then unsafeInterleaveIO (traverse path (succ depth) st)
               else filterPath path depth st []
         traverse dir depth dirSt = do
-            names <- catch (getDirContents dir) (errHandler dir)
+            names <- E.catch (getDirContents dir) (errHandler dir)
             filteredPaths <- forM names $ \name -> do
                 let path = dir </> name
                 unsafeInterleaveIO $ handle (errHandler path)
diff --git a/System/FilePath/Manip.hs b/System/FilePath/Manip.hs
--- a/System/FilePath/Manip.hs
+++ b/System/FilePath/Manip.hs
@@ -21,8 +21,8 @@
 import Data.Bits ((.&.))
 import System.Directory (removeFile)
 import System.IO (Handle, IOMode(..), hClose, openFile)
-import System.Posix.Files (fileMode, getFileStatus, rename, setFileMode)
-import System.Posix.Temp (mkstemp)
+import System.PosixCompat.Files (fileMode, getFileStatus, rename, setFileMode)
+import System.PosixCompat.Temp (mkstemp)
 import qualified Data.ByteString.Char8 as B
 import qualified Data.ByteString.Lazy.Char8 as L
 import qualified System.IO as I
diff --git a/filemanip.cabal b/filemanip.cabal
--- a/filemanip.cabal
+++ b/filemanip.cabal
@@ -1,11 +1,11 @@
 Name:               filemanip
-Version:            0.3.5.2
+Version:            0.3.6.1
 License:            BSD3
 License-File:       LICENSE
 Author:             Bryan O'Sullivan <bos@serpentine.com>
 Maintainer:         Bryan O'Sullivan
-Homepage:           http://bitbucket.org/bos/filemanip
-Bug-reports:        http://bitbucket.org/bos/filemanip/issues
+Homepage:           https://github.com/bos/filemanip
+Bug-reports:        https://github.com/bos/filemanip/issues
 Synopsis:           Expressive file and directory manipulation for Haskell.
 Category:           System
 Description:        A Haskell library for working with files and directories.
@@ -18,8 +18,6 @@
 
 Library
   build-depends: base < 5, bytestring, directory, filepath, mtl, unix-compat
-  if !os(windows)
-    build-depends: unix
   if impl(ghc >= 6.10)
     build-depends:
       base >= 4
@@ -32,9 +30,9 @@
           System.FilePath.Manip
 
 source-repository head
-  type:     mercurial
-  location: http://bitbucket.org/bos/filemanip
+  type:     git
+  location: git://github.com/bos/filemanip.git
 
 source-repository head
-  type:     git
-  location: http://github.com/bos/filemanip
+  type:     mercurial
+  location: https://bitbucket.org/bos/filemanip
