--- leksah-0.8.0.8-orig/leksah.cabal	2010-09-12 00:52:32.000000000 +1000
+++ leksah-0.8.0.8/leksah.cabal	2010-12-30 21:50:59.486571951 +1100
@@ -82,14 +82,14 @@
         cpp-options: -DYI
         other-modules: IDE.YiConfig
 
-    build-depends: Cabal >=1.6.0.1 && <1.9, base >=4.0.0.0 && <4.3, binary >=0.5.0.0 && <0.6,
-                   bytestring >=0.9.0.1 && <0.10, containers >=0.2.0.0 && <0.4, directory >=1.0.0.2 && <3.1,
-                   filepath >=1.1.0.1 && <1.2, glib >=0.10 && <0.12, gtk >=0.10 && <0.12,
-                   gtksourceview2 >=0.10.0 && <0.12, mtl >=1.1.0.2 && <1.2, old-time >=1.0.0.1 && <1.1,
+    build-depends: Cabal >=1.6.0.1 && <1.11, base >=4.0.0.0 && <4.4, binary >=0.5.0.0 && <0.6,
+                   bytestring >=0.9.0.1 && <0.10, containers >=0.2.0.0 && <0.5, directory >=1.0.0.2 && <3.1,
+                   filepath >=1.1.0.1 && <1.3, glib >=0.10 && <0.13, gtk >=0.10 && <0.13,
+                   gtksourceview2 >=0.10.0 && <0.13, mtl >=1.1.0.2 && <2.1, old-time >=1.0.0.1 && <1.1,
                    parsec >=2.1.0.1 && <2.2, pretty >=1.0.1.0 && <1.1, process-leksah >=1.0.1.3 && <1.1,
                    regex-tdfa ==1.1.*, regex-base ==0.93.*, utf8-string >=0.3.1.1 && <0.4, array >=0.2.0.0 && <0.4,
-                   time >=0.1 && <1.2, ltk >=0.8.0.8 && <0.9, binary-shared >=0.8 && <=0.9, deepseq >=1.1.0.0 && <1.2,
-                   hslogger >= 1.0.7 && <1.1, leksah-server >= 0.8.0.8 && <0.9, network >= 2.2 && <3.0
+                   time >=0.1 && <1.3, ltk >=0.8.0.8 && <0.9, binary-shared >=0.8 && <=0.9, deepseq >=1.1.0.0 && <1.2,
+                   hslogger >= 1.0.7 && <1.2, leksah-server >= 0.8.0.8 && <0.9, network >= 2.2 && <3.0
     main-is: IDE/Leksah.hs
     buildable: True
     extensions: CPP
--- leksah-0.8.0.8-orig/src/IDE/Keymap.hs	2010-09-12 00:52:31.000000000 +1000
+++ leksah-0.8.0.8/src/IDE/Keymap.hs	2010-12-30 12:48:12.221678920 +1100
@@ -7,7 +7,7 @@
     Keymap(..)
 ) where
 
-import Graphics.UI.Gtk
+import Graphics.UI.Gtk (keyvalFromName, KeyVal)
 import Graphics.UI.Gtk.Gdk.Events(Modifier(..))
 import qualified Data.Map as Map
 import Text.ParserCombinators.Parsec
--- leksah-0.8.0.8-orig/src/IDE/Package.hs	2010-09-12 00:52:31.000000000 +1000
+++ leksah-0.8.0.8/src/IDE/Package.hs	2010-12-30 12:48:12.222662014 +1100
@@ -607,7 +607,11 @@
             let mainFiles  = map modulePath (executables packageD)
             let files      = Set.fromList $ extraSrcFiles packageD ++ map modulePath (executables packageD)
             let ipdSrcDirs = nub $ concatMap hsSourceDirs (allBuildInfo packageD)
+#if MIN_VERSION_Cabal(1,10,0)
+            let exts       = nub $ concatMap oldExtensions (allBuildInfo packageD)
+#else
             let exts       = nub $ concatMap extensions (allBuildInfo packageD)
+#endif
             let packp      = IDEPackage (package packageD) filePath (buildDepends packageD) modules
 
                              mainFiles files ipdSrcDirs exts ["--user"] [] [] [] [] [] [] []
--- leksah-0.8.0.8-orig/src/IDE/Pane/Info.hs	2010-09-12 00:52:31.000000000 +1000
+++ leksah-0.8.0.8/src/IDE/Pane/Info.hs	2010-12-30 12:48:12.223757041 +1100
@@ -90,10 +90,13 @@
             descriptionBuffer <- (get descriptionView textViewBuffer) >>= (return . castToSourceBuffer)
             lm <- sourceLanguageManagerNew
             mbLang <- sourceLanguageManagerGuessLanguage lm Nothing (Just "text/x-haskell")
+#if MIN_VERSION_gtksourceview2(0,12,0)
+            sourceBufferSetLanguage descriptionBuffer mbLang
+#else
             case mbLang of
                 Nothing -> return ()
                 Just lang -> do sourceBufferSetLanguage descriptionBuffer lang
-
+#endif
             -- This call is here because in the past I have had problems where the
             -- language object became invalid if the manager was garbage collected
             sourceLanguageManagerGetLanguageIds lm
@@ -108,7 +111,11 @@
                     ids <- sourceStyleSchemeManagerGetSchemeIds styleManager
                     when (elem str ids) $ do
                         scheme <- sourceStyleSchemeManagerGetScheme styleManager str
+#if MIN_VERSION_gtksourceview2(0,12,0)
+                        sourceBufferSetStyleScheme descriptionBuffer $ Just scheme
+#else
                         sourceBufferSetStyleScheme descriptionBuffer scheme
+#endif
 
 
             sw <- scrolledWindowNew Nothing Nothing
--- leksah-0.8.0.8-orig/src/IDE/Pane/PackageEditor.hs	2010-09-12 00:52:31.000000000 +1000
+++ leksah-0.8.0.8/src/IDE/Pane/PackageEditor.hs	2010-12-30 12:48:12.224755142 +1100
@@ -522,7 +522,11 @@
                     "Does this package depends on a specific version of Cabal?"
                     $ paraShadow <<<- ParaShadow ShadowIn $ emptyParams)
             (descCabalVersion . pd)
+#if MIN_VERSION_Cabal(1,10,0)
+            (\ a b -> b{pd = (pd b){specVersionRaw = Right a}})
+#else
             (\ a b -> b{pd = (pd b){descCabalVersion = a}})
+#endif
             versionRangeEditor
     ,   mkField
             (paraName <<<- ParaName "Tested with compiler"
@@ -706,8 +710,13 @@
                          $ paraMinSize <<<- ParaMinSize (-1,400)
                             $ paraPack <<<- ParaPack PackGrow
                                 $ emptyParams)
+#if MIN_VERSION_Cabal(1,10,0)
+            (oldExtensions . (\a -> a !! i) . bis)
+            (\ a b -> b{bis = update (bis b) i (\bi -> bi{oldExtensions = a})})
+#else
             (extensions . (\a -> a !! i) . bis)
             (\ a b -> b{bis = update (bis b) i (\bi -> bi{extensions = a})})
+#endif
             extensionsEditor
     ]),
     (show (i + 1) ++ " Build Tools ", VFD emptyParams [
--- leksah-0.8.0.8-orig/src/IDE/TextEditor.hs	2010-09-12 00:52:32.000000000 +1000
+++ leksah-0.8.0.8/src/IDE/TextEditor.hs	2010-12-30 13:16:45.295592824 +1100
@@ -537,7 +537,12 @@
             ids <- Gtk.sourceStyleSchemeManagerGetSchemeIds styleManager
             when (elem str ids) $ do
                 scheme <- Gtk.sourceStyleSchemeManagerGetScheme styleManager str
+#if MIN_VERSION_gtksourceview2(0,12,0)
+                Gtk.sourceBufferSetStyleScheme sb (Just scheme)
+#else
                 Gtk.sourceBufferSetStyleScheme sb scheme
+#endif
+
 #ifdef YI
 setStyle (YiEditorBuffer b) mbStyle = return () -- TODO
 #endif
--- leksah-0.8.0.8-orig/src/IDE/Metainfo/Provider.hs	2010-09-12 00:52:31.000000000 +1000
+++ leksah-0.8.0.8/src/IDE/Metainfo/Provider.hs	2010-12-30 22:55:50.425818526 +1100
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -XTypeSynonymInstances -XScopedTypeVariables -XNoMonomorphismRestriction
+{-# OPTIONS_GHC -XTypeSynonymInstances -XScopedTypeVariables
     -XFlexibleContexts  -XBangPatterns #-}
 -----------------------------------------------------------------------------
 --
