diff --git a/Distribution/Gentoo/GHC.hs b/Distribution/Gentoo/GHC.hs
--- a/Distribution/Gentoo/GHC.hs
+++ b/Distribution/Gentoo/GHC.hs
@@ -115,7 +115,7 @@
 
 -- Add this .conf file to the Map
 addConf          :: ConfMap -> FilePath -> IO ConfMap
-addConf cmp conf = do cnts <- readFile conf
+addConf cmp conf = do cnts <- BS.unpack `fmap` BS.readFile conf
                       case (reads cnts) of
                         []       -> return cmp
                         -- ebuilds that have CABAL_CORE_LIB_GHC_PV set
diff --git a/Distribution/Gentoo/Packages.hs b/Distribution/Gentoo/Packages.hs
--- a/Distribution/Gentoo/Packages.hs
+++ b/Distribution/Gentoo/Packages.hs
@@ -89,7 +89,7 @@
     sFile = pkgPath cp </> "SLOT"
     -- EAPI=5 defines subslots
     split_slot_subslot = break (== '/')
-    parse = do fl <- readFile sFile
+    parse = do fl <- BS.unpack `fmap` BS.readFile sFile
                -- Don't want the trailing newline
                return $ listToMaybe $ map (fst . split_slot_subslot) $ lines fl
 
@@ -156,14 +156,14 @@
     cFile = pkgPath cp </> "CONTENTS"
 
     parse = do lns <- liftM BS.lines $ BS.readFile cFile
-               return $ mapMaybe (parseCLine .BS.words) lns
+               return $ mapMaybe (parseCLine . BS.words) lns
 
     -- Use unwords of list rather than taking next element because of
     -- how spaces are represented in file names.
     -- This might cause a problem if there is more than a single
     -- space (or a tab) in the filename...
     -- Also require at least 3 words in case of an object, as the CONTENTS
-    -- file can be corrept (fixes an actual problem).
+    -- file can be corrupt (fixes actual problem reported by user).
     parseCLine :: [ByteString] -> Maybe Content
     parseCLine (tp:ln)
       | tp == dir = Just . Dir . BS.unwords $ ln
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/Setup.lhs b/Setup.lhs
deleted file mode 100644
--- a/Setup.lhs
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env runhaskell
-> import Distribution.Simple
-> main = defaultMain
diff --git a/haskell-updater.cabal b/haskell-updater.cabal
--- a/haskell-updater.cabal
+++ b/haskell-updater.cabal
@@ -1,6 +1,6 @@
 Name:                haskell-updater
 Homepage:            http://haskell.org/haskellwiki/Gentoo#haskell-updater
-Version:             1.2.0.11
+Version:             1.2.0.12
 Synopsis:            Rebuild Haskell dependencies in Gentoo
 Description:         haskell-updater rebuilds Haskell packages on Gentoo
                      after a GHC upgrade or a dependency upgrade.
@@ -43,7 +43,7 @@
                         Output,
                         Paths_haskell_updater
     Ghc-Options:        -Wall
-    Ghc-Prof-Options:   -auto-all
+    Ghc-Prof-Options:   -auto-all -caf-all -rtsopts
 
     Build-Depends:      base == 4.*,
                         Cabal >= 1.8 && < 1.19,
