Attached are two patches adding Cabal 1.18 compatibility and another
updating some uses of the old IOError interfaces from GHC <7.6.


3 patches for repository http://code.haskell.org/gtk2hs:

Fri Sep  6 22:01:08 EDT 2013  bgam...@gmail.com
  * Cabal-1.18: Hide Distribution.Simple.Utils.moreRecentFile

Fri Sep  6 22:01:41 EDT 2013  bgam...@gmail.com
  * pango/Gtk2HsSetup: Update programFindLocation usage for Cabal 1.18

Fri Sep  6 22:02:43 EDT 2013  bgam...@gmail.com
  * c2hs: Update IOError usage for GHC >= 7.6
[Cabal-1.18: Hide Distribution.Simple.Utils.moreRecentFile
bgam...@gmail.com**20130907020108
 Ignore-this: a3ca804ec4de10cbbd0858182d2fb224
] hunk ./cairo/SetupWrapper.hs 9
 
 import Distribution.Package
 import Distribution.Compiler
-import Distribution.Simple.Utils
+import Distribution.Simple.Utils hiding (moreRecentFile)
 import Distribution.Simple.Program
 import Distribution.Simple.Compiler
 import Distribution.Simple.BuildPaths (exeExtension)
hunk ./gio/SetupWrapper.hs 9
 
 import Distribution.Package
 import Distribution.Compiler
-import Distribution.Simple.Utils
+import Distribution.Simple.Utils hiding (moreRecentFile)
 import Distribution.Simple.Program
 import Distribution.Simple.Compiler
 import Distribution.Simple.BuildPaths (exeExtension)
hunk ./glib/SetupWrapper.hs 9
 
 import Distribution.Package
 import Distribution.Compiler
-import Distribution.Simple.Utils
+import Distribution.Simple.Utils hiding (moreRecentFile)
 import Distribution.Simple.Program
 import Distribution.Simple.Compiler
 import Distribution.Simple.BuildPaths (exeExtension)
hunk ./gtk/SetupWrapper.hs 9
 
 import Distribution.Package
 import Distribution.Compiler
-import Distribution.Simple.Utils
+import Distribution.Simple.Utils hiding (moreRecentFile)
 import Distribution.Simple.Program
 import Distribution.Simple.Compiler
 import Distribution.Simple.BuildPaths (exeExtension)
hunk ./pango/SetupWrapper.hs 9
 
 import Distribution.Package
 import Distribution.Compiler
-import Distribution.Simple.Utils
+import Distribution.Simple.Utils hiding (moreRecentFile)
 import Distribution.Simple.Program
 import Distribution.Simple.Compiler
 import Distribution.Simple.BuildPaths (exeExtension)
[pango/Gtk2HsSetup: Update programFindLocation usage for Cabal 1.18
bgam...@gmail.com**20130907020141
 Ignore-this: fff926da63e0dfac24b02ea7a08844af
] hunk ./pango/Gtk2HsSetup.hs 37
                                            componentPackageDeps,
                                            absoluteInstallDirs)
 import Distribution.Simple.Compiler  ( Compiler(..) )
+#if MIN_VERSION_cabal(1,18,0)
+import Distribution.Simple.Program.Find ( defaultProgramSearchPath )
+#endif
 import Distribution.Simple.Program (
   Program(..), ConfiguredProgram(..),
   rawSystemProgramConf, rawSystemProgramStdoutConf, programName, programPath,
hunk ./pango/Gtk2HsSetup.hs 439
 checkGtk2hsBuildtools :: [Program] -> IO ()
 checkGtk2hsBuildtools programs = do
   programInfos <- mapM (\ prog -> do
+#if MIN_VERSION_Cabal(1,18,0)
+                         location <- programFindLocation prog normal defaultProgramSearchPath
+#else
                          location <- programFindLocation prog normal
hunk ./pango/Gtk2HsSetup.hs 443
+#endif
+
                          return (programName prog, location)
                       ) programs
   let printError name = do
[c2hs: Update IOError usage for GHC >= 7.6
bgam...@gmail.com**20130907020243
 Ignore-this: bff20fc3cfa3396d61cff96d8a82d58f
] hunk ./tools/c2hs/base/general/FileOps.hs 30
 --
 --- TODO ----------------------------------------------------------------------
 --
+{-# LANGUAGE CPP #-}
 
 module FileOps (fileFindIn, mktemp)
 where
hunk ./tools/c2hs/base/general/FileOps.hs 43
 import Control.Monad	 (liftM)
 import Control.Exception (catch, SomeException)
 import System.Random    (newStdGen, randomRs)
+#if __GLASGOW_HASKELL__ >= 706
+import System.IO.Error (catchIOError)
+#endif
 
 import FNameOps  (dirname, stripDirname, addPath)
 
hunk ./tools/c2hs/base/general/FileOps.hs 49
+#if __GLASGOW_HASKELL__ < 706
+catchIOError = catch
+#endif
 
 -- search for the given file in the given list of directories (EXPORTED)
 --
hunk ./tools/c2hs/base/general/FileOps.hs 101
 			     in do
 			       h <- openFile fname ReadWriteMode
 			       return (h, fname)
-			     `catch` handler attempts rs'
+			     `catchIOError` \_ -> createLoop (attempts - 1) rs'
     --
     handler :: Int -> [Int] -> SomeException -> IO (Handle,FilePath)
     handler attempts rs' _ = createLoop (attempts - 1) rs'
hunk ./tools/c2hs/base/state/StateTrans.hs 64
 --    errors into exceptions
 --
 
+{-# LANGUAGE CPP #-}
+
 module StateTrans (-- the monad and the generic operations
 		   --
 		   STB, fixSTB,
hunk ./tools/c2hs/base/state/StateTrans.hs 90
 import Control.Exception  (catch)
 import System.IO  (fixIO)
 import Data.IORef (IORef, newIORef, readIORef, writeIORef)
+#if __GLASGOW_HASKELL__ >= 706
+import System.IO.Error (catchIOError)
+#endif
 
 import Errors (interr)
 
hunk ./tools/c2hs/base/state/StateTrans.hs 98
 infixr 1 +>=, +>
 
+#if __GLASGOW_HASKELL__ < 706
+catchIOError = catch
+#endif
 
 -- BEWARE! You enter monad country. Read any of Wadler's or 
 -- Launchbury/Peyton-Jones' texts before entering. Otherwise,
hunk ./tools/c2hs/base/state/StateTrans.hs 165
 -- future overall result wrapped into a closure with the function extracting
 -- the user-level result component is used to build the cycle
 --
-fixSTB m  = STB $ \bs gs 
-		  -> fixIO (\future -> let 
-					 STB m' = m (extractResult future) 
-				       in 
-				       m' bs gs)
+fixSTB m  = STB $ \bs gs
+          -> fixIO (\future -> let
+                     STB m' = m (extractResult future)
+                       in
+                       m' bs gs)
             where
hunk ./tools/c2hs/base/state/StateTrans.hs 171
-	      extractResult (_, _, Right r) = r
-	      extractResult (_, _, Left _ ) = interr "StateTrans: fixSTB: \
-						     \Tried to access result \
-						     \of unsuccessful \
-						     \recursive computation!"
+          extractResult (_, _, Right r) = r
+          extractResult (_, _, Left _ ) = interr "StateTrans: fixSTB: \
+                             Tried to access result \
+                             of unsuccessful \
+                             recursive computation!"
 
 
 -- generic state manipulation
hunk ./tools/c2hs/base/state/StateTrans.hs 351
 				  ioError err
 	      Right a          -> return state
 	    )
-	    `catch` (\err -> let
-			       STB handler' = handler err
-			     in
-			     handler' bs gs)
+	    `catchIOError` (\err -> let
+						  STB handler' = handler err
+						in
+						handler' bs gs)
 
 
 -- list mutable variables and arrays stuff into `STB'; all (EXPORTED)

Attachment: cabal_1_18_-hide-distribution_simple_utils_morerecentfile.dpatch
Description: A darcs patch for your repository!

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
Gtk2hs-devel mailing list
Gtk2hs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel

Reply via email to