diff --git a/Directory.hs b/Directory.hs
--- a/Directory.hs
+++ b/Directory.hs
@@ -8,4 +8,32 @@
     getModificationTime 
   ) where
 
-import System.Directory
+import System.Directory hiding (Permissions,
+                                readable, writable, executable, searchable,
+                                getPermissions, setPermissions)
+import qualified System.Directory as SD
+
+data Permissions = Permissions {
+                       readable   :: Bool,
+                       writable   :: Bool,
+                       executable :: Bool,
+                       searchable :: Bool
+                   }
+    deriving (Eq, Ord, Read, Show)
+
+getPermissions :: FilePath -> IO Permissions
+getPermissions fp = do perm <- SD.getPermissions fp
+                       return $ Permissions {
+                                    readable   = SD.readable perm,
+                                    writable   = SD.writable perm,
+                                    executable = SD.executable perm,
+                                    searchable = SD.searchable perm
+                                }
+
+setPermissions :: FilePath -> Permissions -> IO ()
+setPermissions fp perm = let mkPerm = setOwnerReadable   (readable   perm)
+                                    . setOwnerWritable   (writable  perm)
+                                    . setOwnerExecutable (executable perm)
+                                    . setOwnerSearchable (searchable perm)
+                         in SD.setPermissions fp (mkPerm emptyPermissions)
+
diff --git a/haskell98.cabal b/haskell98.cabal
--- a/haskell98.cabal
+++ b/haskell98.cabal
@@ -1,10 +1,11 @@
 name:		haskell98
-version:	1.0.1.1
+version:	1.1.0.0
 license:	BSD3
 license-file:	LICENSE
 maintainer:	libraries@haskell.org
 bug-reports: http://hackage.haskell.org/trac/ghc/newticket?component=libraries/haskell98
 synopsis:	Compatibility with Haskell 98
+category:   Haskell98
 description:
 	This package provides compatibility with the modules of Haskell
 	98 and the FFI addendum, by means of wrappers around modules from
@@ -26,9 +27,6 @@
         Bits, CError, CForeign, CString, CTypes, ForeignPtr, Int,
         MarshalAlloc, MarshalArray, MarshalError, MarshalUtils, Ptr,
         StablePtr, Storable, Word
-    -- We need to set the package name to haskell98 (without a version number)
-    -- as it's magic.
-    ghc-options: -package-name haskell98
 
 source-repository head
     type:     darcs
