port to ghc-7.6v0.2.1.4
authorSergei Trofimovich <slyfox@gentoo.org>
Sun, 13 Jan 2013 19:58:41 +0000 (13 22:58 +0300)
committerSergei Trofimovich <slyfox@gentoo.org>
Sun, 13 Jan 2013 19:58:41 +0000 (13 22:58 +0300)
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Adelie/Depend.hs
Adelie/Provide.hs
Adelie/Use.hs
Adelie/Util.hs [new file with mode: 0644]
fquery.cabal

index 525533f..2e0f2c8 100644 (file)
@@ -19,6 +19,7 @@ import Text.ParserCombinators.Parsec.Language
 import Text.ParserCombinators.Parsec.Token
 
 import Adelie.Portage
+import qualified Adelie.Util as E
 
 type Version = String
 
@@ -39,7 +40,7 @@ dependFromCatName (cat, name) = concatPath [portageDB,cat,name,"RDEPEND"]
 
 readDepend :: FilePath -> [String] -> IO [Dependency]
 readDepend fn iUse = do
-  r <- (start_parser fn) `catch` (\ _ -> return $ Right [])
+  r <- (start_parser fn) `E.catchIOE` (\ _ -> return $ Right [])
   case r of
     Left err -> putStr "Parse error at " >> print err >> error "Aborting"
     Right x  -> return $ nub x
index d3274a0..9e64959 100644 (file)
@@ -10,6 +10,7 @@ module Adelie.Provide (
 import Control.Monad (liftM)
 
 import Adelie.Portage
+import qualified Adelie.Util as E
 
 ----------------------------------------------------------------
 
@@ -19,4 +20,4 @@ provideFromCatName (cat,name) = concatPath [portageDB,cat,name,"PROVIDE"]
 ----------------------------------------------------------------
 
 readProvide :: FilePath -> IO [String]
-readProvide fn = (liftM words (readFile fn)) `catch` (\ _ -> return [])
+readProvide fn = (liftM words (readFile fn)) `E.catchIOE` (\ _ -> return [])
index 3967565..0c28c53 100644 (file)
@@ -11,6 +11,7 @@ module Adelie.Use (
 ) where
 
 import Data.List (nub, sort)
+import qualified Adelie.Util as E
 import Control.Monad (liftM)
 
 import Adelie.Portage
@@ -26,9 +27,9 @@ iUseFromCatName (cat, name) = concatPath [portageDB,cat,name,"IUSE"]
 ----------------------------------------------------------------
 
 readUse :: FilePath -> IO [String]
-readUse fn = (liftM words $ readFile fn) `catch` (\ _ -> return [])
+readUse fn = (liftM words $ readFile fn) `E.catchIOE` (\ _ -> return [])
 
 -- IUSE files sometimes have duplicate USE flags.  I am not sure if it is the
 -- intended behaviour, but I filter them out.
 readIUse :: FilePath -> IO [String]
-readIUse fn = (liftM (nub.sort.words) $ readFile fn) `catch` (\ _ -> return [])
+readIUse fn = (liftM (nub.sort.words) $ readFile fn) `E.catchIOE` (\ _ -> return [])
diff --git a/Adelie/Util.hs b/Adelie/Util.hs
new file mode 100644 (file)
index 0000000..d0d026e
--- /dev/null
@@ -0,0 +1,8 @@
+module Adelie.Util (
+  catchIOE
+) where
+
+import qualified Control.Exception as E
+
+catchIOE :: IO a -> (E.IOException -> IO a) -> IO a
+catchIOE = E.catch
index d2c28c3..a45883f 100644 (file)
@@ -1,5 +1,5 @@
 Name:          fquery
-Version:       0.2.1.3
+Version:       0.2.1.4
 
 Author:        David Wang <millimillenary@gmail.com>, Sergei Trofimovich <slyfox@inbox.ru>
 Maintainer:    Sergei Trofimovich <slyfox@inbox.ru>
@@ -48,6 +48,7 @@ Executable fquery
         Adelie.QWant
         Adelie.Use
         Adelie.UseDesc
+        Adelie.Util
     GHC-Options: -O2 -Wall
     -- GHC-Options: -Werror
     C-Sources: Adelie/opts.c