diff --git a/Graphics/UI/Gtk/SourceView/SourceBuffer.chs b/Graphics/UI/Gtk/SourceView/SourceBuffer.chs
--- a/Graphics/UI/Gtk/SourceView/SourceBuffer.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceBuffer.chs
@@ -94,7 +94,7 @@
 import System.Glib.Attributes
 import System.Glib.FFI
 import System.Glib.GList
-import System.Glib.GObject              (constructNewGObject, makeNewGObject)
+import System.Glib.GObject              (wrapNewGObject, makeNewGObject)
 
 {#import Graphics.UI.Gtk.Multiline.TextIter#}
 {#import Graphics.UI.Gtk.SourceView.Signals#}
@@ -110,7 +110,7 @@
 -- taking a 'TextTagTable'.
 --
 sourceBufferNew :: Maybe TextTagTable -> IO SourceBuffer
-sourceBufferNew tt = constructNewGObject mkSourceBuffer $
+sourceBufferNew tt = wrapNewGObject mkSourceBuffer $
   {#call unsafe source_buffer_new#} 
   (fromMaybe (TextTagTable nullForeignPtr) tt)
 
@@ -118,7 +118,7 @@
 -- with a 'SourceLanguage'.
 --
 sourceBufferNewWithLanguage :: SourceLanguage -> IO SourceBuffer
-sourceBufferNewWithLanguage lang = constructNewGObject mkSourceBuffer $
+sourceBufferNewWithLanguage lang = wrapNewGObject mkSourceBuffer $
   {#call unsafe source_buffer_new_with_language#} lang
 
 -- | Controls whether syntax is highlighted in the buffer. If highlight is 'True', the text will be
diff --git a/Graphics/UI/Gtk/SourceView/SourceCompletionContext.chs b/Graphics/UI/Gtk/SourceView/SourceCompletionContext.chs
--- a/Graphics/UI/Gtk/SourceView/SourceCompletionContext.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceCompletionContext.chs
@@ -49,7 +49,6 @@
 import System.Glib.Attributes
 import System.Glib.FFI
 import System.Glib.GList		(fromGList, withGList)
-import System.Glib.GObject	(makeNewGObject)
 import System.Glib.Properties
 import System.Glib.UTFString
 
diff --git a/Graphics/UI/Gtk/SourceView/SourceCompletionInfo.chs b/Graphics/UI/Gtk/SourceView/SourceCompletionInfo.chs
--- a/Graphics/UI/Gtk/SourceView/SourceCompletionInfo.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceCompletionInfo.chs
@@ -54,7 +54,6 @@
 import Graphics.UI.Gtk.Abstract.Object	(makeNewObject)
 import System.Glib.Attributes
 import System.Glib.FFI
-import System.Glib.GObject	(makeNewGObject)
 import System.Glib.Properties
 import System.Glib.UTFString
 
diff --git a/Graphics/UI/Gtk/SourceView/SourceCompletionItem.chs b/Graphics/UI/Gtk/SourceView/SourceCompletionItem.chs
--- a/Graphics/UI/Gtk/SourceView/SourceCompletionItem.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceCompletionItem.chs
@@ -46,7 +46,7 @@
 
 import System.Glib.Attributes
 import System.Glib.FFI
-import System.Glib.GObject	(makeNewGObject)
+import System.Glib.GObject	(wrapNewGObject)
 import System.Glib.Properties
 import System.Glib.UTFString
 
@@ -64,7 +64,7 @@
                         -> String -- ^ @info@    The item extra information       
                         -> IO SourceCompletionItem
 sourceCompletionItemNew label text icon info =
-  makeNewGObject mkSourceCompletionItem $
+  wrapNewGObject mkSourceCompletionItem $
   withUTFString label $ \ labelPtr -> 
   withUTFString text $ \ textPtr -> 
   withUTFString info $ \ infoPtr -> 
@@ -84,7 +84,7 @@
                                   -> String
                                   -> IO SourceCompletionItem
 sourceCompletionItemNewWithMarkup markup text icon info = 
-  makeNewGObject mkSourceCompletionItem $ 
+  wrapNewGObject mkSourceCompletionItem $ 
   withUTFString markup $ \ markupPtr -> 
   withUTFString text $ \ textPtr -> 
   withUTFString info $ \ infoPtr -> 
@@ -102,7 +102,7 @@
                                  -> String -- ^ @info@    The item extra information                     
                                  -> IO SourceCompletionItem
 sourceCompletionItemNewFromStock label text stock info =
-  makeNewGObject mkSourceCompletionItem $
+  wrapNewGObject mkSourceCompletionItem $
   maybeWith withUTFString label $ \ labelPtr -> 
   withUTFString text $ \ textPtr -> 
   withUTFString stock $ \ stockPtr -> 
diff --git a/Graphics/UI/Gtk/SourceView/SourceCompletionProposal.chs b/Graphics/UI/Gtk/SourceView/SourceCompletionProposal.chs
--- a/Graphics/UI/Gtk/SourceView/SourceCompletionProposal.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceCompletionProposal.chs
@@ -50,7 +50,7 @@
 
 import System.Glib.Attributes
 import System.Glib.FFI
-import System.Glib.GObject	(makeNewGObject)
+import System.Glib.GObject	(wrapNewGObject)
 import System.Glib.Properties
 import System.Glib.UTFString
 
@@ -92,7 +92,7 @@
 sourceCompletionProposalGetIcon :: SourceCompletionProposalClass scp => scp
                                 -> IO Pixbuf -- ^ returns  The icon of proposal.         
 sourceCompletionProposalGetIcon scp =
-  makeNewGObject mkPixbuf $
+  wrapNewGObject mkPixbuf $
   {#call gtk_source_completion_proposal_get_icon #}
     (toSourceCompletionProposal scp)
 
diff --git a/Graphics/UI/Gtk/SourceView/SourceCompletionProvider.chs b/Graphics/UI/Gtk/SourceView/SourceCompletionProvider.chs
--- a/Graphics/UI/Gtk/SourceView/SourceCompletionProvider.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceCompletionProvider.chs
@@ -51,7 +51,7 @@
 import Graphics.UI.Gtk.SourceView.Enums
 import System.Glib.Attributes
 import System.Glib.FFI
-import System.Glib.GObject	(makeNewGObject)
+import System.Glib.GObject	(wrapNewGObject)
 import System.Glib.Properties
 import System.Glib.UTFString
 
@@ -73,7 +73,7 @@
 sourceCompletionProviderGetIcon :: SourceCompletionProviderClass scp => scp 
                                 -> IO (Maybe Pixbuf)
 sourceCompletionProviderGetIcon scp =
-  maybeNull (makeNewGObject mkPixbuf) $
+  maybeNull (wrapNewGObject mkPixbuf) $
   {#call gtk_source_completion_provider_get_icon #}
     (toSourceCompletionProvider scp)
 
diff --git a/Graphics/UI/Gtk/SourceView/SourceLanguageManager.chs b/Graphics/UI/Gtk/SourceView/SourceLanguageManager.chs
--- a/Graphics/UI/Gtk/SourceView/SourceLanguageManager.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceLanguageManager.chs
@@ -57,7 +57,7 @@
 
 import System.Glib.Attributes
 import System.Glib.FFI
-import System.Glib.GObject (constructNewGObject, makeNewGObject)
+import System.Glib.GObject (wrapNewGObject, makeNewGObject)
 import System.Glib.Properties
 import System.Glib.UTFString
 
@@ -69,14 +69,14 @@
 -- language manager instance then use 'sourceLanguageManagerGetDefault' instead.
 --
 sourceLanguageManagerNew :: IO SourceLanguageManager
-sourceLanguageManagerNew = constructNewGObject mkSourceLanguageManager $ liftM castPtr
+sourceLanguageManagerNew = wrapNewGObject mkSourceLanguageManager $ liftM castPtr
   {#call unsafe source_language_manager_new#}
 
 -- | Returns the default 'SourceLanguageManager' instance.
 --
 sourceLanguageManagerGetDefault :: IO SourceLanguageManager
-sourceLanguageManagerGetDefault = makeNewGObject mkSourceLanguageManager $ liftM castPtr
-  {#call unsafe source_language_manager_new#}
+sourceLanguageManagerGetDefault = wrapNewGObject mkSourceLanguageManager $ liftM castPtr
+  {#call unsafe source_language_manager_get_default#}
 
 -- | Sets the list of directories where the lm looks for language files. If dirs is 'Nothing', the search path
 -- is reset to default.
diff --git a/Graphics/UI/Gtk/SourceView/SourceMark.chs b/Graphics/UI/Gtk/SourceView/SourceMark.chs
--- a/Graphics/UI/Gtk/SourceView/SourceMark.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceMark.chs
@@ -56,7 +56,7 @@
 
 import System.Glib.Attributes
 import System.Glib.FFI
-import System.Glib.GObject	(makeNewGObject)
+import System.Glib.GObject	(wrapNewGObject, makeNewGObject)
 import System.Glib.Properties
 import System.Glib.UTFString
 
@@ -74,7 +74,7 @@
               -> String  -- ^ @category@ is used to classify marks according to common characteristics (e.g. all the marks representing a bookmark could  
               -> IO SourceMark
 sourceMarkNew name category = 
-  makeNewGObject mkSourceMark $
+  wrapNewGObject mkSourceMark $
   maybeWith withUTFString name $ \namePtr ->
   withUTFString category $ \categoryPtr ->
   {#call gtk_source_mark_new#}
diff --git a/Graphics/UI/Gtk/SourceView/SourceStyleScheme.chs b/Graphics/UI/Gtk/SourceView/SourceStyleScheme.chs
--- a/Graphics/UI/Gtk/SourceView/SourceStyleScheme.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceStyleScheme.chs
@@ -58,7 +58,7 @@
 import Graphics.UI.Gtk.SourceView.SourceStyle
 import System.Glib.Attributes
 import System.Glib.FFI
-import System.Glib.GObject	(constructNewGObject)
+import System.Glib.GObject	(makeNewGObject)
 import System.Glib.UTFString
 
 {#import Graphics.UI.Gtk.SourceView.SourceStyle.Internal#}
diff --git a/Graphics/UI/Gtk/SourceView/SourceStyleSchemeManager.chs b/Graphics/UI/Gtk/SourceView/SourceStyleSchemeManager.chs
--- a/Graphics/UI/Gtk/SourceView/SourceStyleSchemeManager.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceStyleSchemeManager.chs
@@ -52,7 +52,7 @@
 
 import System.Glib.Attributes
 import System.Glib.FFI
-import System.Glib.GObject (constructNewGObject, makeNewGObject)
+import System.Glib.GObject (wrapNewGObject, makeNewGObject)
 import System.Glib.UTFString
 
 {#import Graphics.UI.Gtk.SourceView.SourceStyleScheme#}
@@ -63,7 +63,7 @@
 -- 'sourceStyleSchemeManagerGetDefault' instead.
 --
 sourceStyleSchemeManagerNew :: IO SourceStyleSchemeManager
-sourceStyleSchemeManagerNew = constructNewGObject mkSourceStyleSchemeManager $ liftM castPtr
+sourceStyleSchemeManagerNew = wrapNewGObject mkSourceStyleSchemeManager $ liftM castPtr
   {#call unsafe source_style_scheme_manager_new#}
 
 -- | Returns the default 'SourceStyleSchemeManager' instance.
diff --git a/Graphics/UI/Gtk/SourceView/SourceUndoManager.chs b/Graphics/UI/Gtk/SourceView/SourceUndoManager.chs
--- a/Graphics/UI/Gtk/SourceView/SourceUndoManager.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceUndoManager.chs
@@ -53,7 +53,6 @@
 
 import System.Glib.Attributes
 import System.Glib.FFI
-import System.Glib.GObject	(makeNewGObject)
 import System.Glib.Properties
 import System.Glib.UTFString
 
diff --git a/Graphics/UI/Gtk/SourceView/SourceView.chs b/Graphics/UI/Gtk/SourceView/SourceView.chs
--- a/Graphics/UI/Gtk/SourceView/SourceView.chs
+++ b/Graphics/UI/Gtk/SourceView/SourceView.chs
@@ -108,12 +108,13 @@
 import Control.Monad.Reader ( runReaderT )
 import Data.Maybe    (fromMaybe)
 
-import Graphics.UI.Gtk.Abstract.Object	(makeNewObject)
+import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
 import Graphics.UI.Gtk.Abstract.Widget (Color)
 import Graphics.UI.Gtk.Gdk.EventM (EventM, EAny)
 import Graphics.UI.Gtk.Multiline.TextView (TextWindowType (..))
 import Graphics.UI.Gtk.SourceView.Enums
 import Graphics.UI.GtkInternals  ( TextIter, mkTextIterCopy )
+import System.Glib.GObject	(wrapNewGObject, makeNewGObject)
 import System.Glib.Attributes
 import System.Glib.FFI
 
@@ -562,7 +563,7 @@
 --
 sourceViewGetMarkCategoryPixbuf :: SourceViewClass sv => sv -> String -> IO Pixbuf
 sourceViewGetMarkCategoryPixbuf sv markerType = withCString markerType $ \strPtr ->
-  constructNewGObject mkPixbuf $
+  wrapNewGObject mkPixbuf $
   {#call unsafe source_view_get_mark_category_pixbuf#} (toSourceView sv) strPtr
 #endif
 
diff --git a/Gtk2HsSetup.hs b/Gtk2HsSetup.hs
--- a/Gtk2HsSetup.hs
+++ b/Gtk2HsSetup.hs
@@ -23,16 +23,24 @@
         CABAL_VERSION_MICRO)
 #else
 #warning Setup.hs is guessing the version of Cabal. If compilation of Setup.hs fails use -DCABAL_VERSION_MINOR=x for Cabal version 1.x.0 when building (prefixed by --ghc-option= when using the 'cabal' command)
+#if (__GLASGOW_HASKELL__ >= 700)
+#define CABAL_VERSION CABAL_VERSION_ENCODE(1,10,0)
+#else
 #if (__GLASGOW_HASKELL__ >= 612)
 #define CABAL_VERSION CABAL_VERSION_ENCODE(1,8,0)
 #else
 #define CABAL_VERSION CABAL_VERSION_ENCODE(1,6,0)
 #endif
 #endif
+#endif
 
 -- | Build a Gtk2hs package.
 --
-module Gtk2HsSetup ( gtk2hsUserHooks, getPkgConfigPackages ) where
+module Gtk2HsSetup ( 
+  gtk2hsUserHooks, 
+  getPkgConfigPackages, 
+  checkGtk2hsBuildtools
+  ) where
 
 import Distribution.Simple
 import Distribution.Simple.PreProcess
@@ -65,7 +73,7 @@
 import Distribution.Simple.Compiler  ( Compiler(..) )
 import Distribution.Simple.Program (
   Program(..), ConfiguredProgram(..),
-  rawSystemProgramConf, rawSystemProgramStdoutConf,
+  rawSystemProgramConf, rawSystemProgramStdoutConf, programName,
   c2hsProgram, pkgConfigProgram, requireProgram, ghcPkgProgram,
   simpleProgram, lookupProgram, rawSystemProgramStdout, ProgArg)
 import Distribution.ModuleName ( ModuleName, components, toFilePath )
@@ -83,10 +91,11 @@
 #endif
 import Distribution.Text ( simpleParse, display )
 import System.FilePath
-import System.Directory ( doesFileExist )
+import System.Exit (exitFailure)
+import System.Directory ( doesFileExist, getDirectoryContents, doesDirectoryExist )
 import Distribution.Version (Version(..))
 import Distribution.Verbosity
-import Control.Monad (when, unless, filterM)
+import Control.Monad (when, unless, filterM, liftM, forM, forM_)
 import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList )
 import Data.List (isPrefixOf, isSuffixOf, nub)
 import Data.Char (isAlpha)
@@ -94,7 +103,6 @@
 import qualified Data.Set as S
 
 import Control.Applicative ((<$>))
-import System.Directory (getDirectoryContents, doesDirectoryExist)
 
 -- the name of the c2hs pre-compiled header file
 precompFile = "precompchs.bin"
@@ -103,13 +111,13 @@
     hookedPrograms = [typeGenProgram, signalGenProgram, c2hsLocal],
     hookedPreProcessors = [("chs", ourC2hs)],
     confHook = \pd cf ->
-      confHook simpleUserHooks pd cf >>= return . adjustLocalBuildInfo,
+      (fmap adjustLocalBuildInfo (confHook simpleUserHooks pd cf)),
     postConf = \args cf pd lbi -> do
       genSynthezisedFiles (fromFlag (configVerbosity cf)) pd lbi
       postConf simpleUserHooks args cf pd lbi,
     buildHook = \pd lbi uh bf -> fixDeps pd >>= \pd ->
-                                 (buildHook simpleUserHooks) pd lbi uh bf,
-    copyHook = \pd lbi uh flags -> (copyHook simpleUserHooks) pd lbi uh flags >>
+                                 buildHook simpleUserHooks pd lbi uh bf,
+    copyHook = \pd lbi uh flags -> copyHook simpleUserHooks pd lbi uh flags >>
       installCHI pd lbi (fromFlag (copyVerbosity flags)) (fromFlag (copyDest flags)),
     instHook = \pd lbi uh flags ->
 #if defined(mingw32_HOST_OS) || defined(__MINGW32__)
@@ -187,7 +195,11 @@
      _ | modeGenerateRegFile   -> die "Generate Reg File not supported"
        | modeGenerateRegScript -> die "Generate Reg Script not supported"
        | otherwise             -> registerPackage verbosity
+#if CABAL_VERSION_CHECK(1,10,0)
+                                    installedPkgInfo pkg lbi inplace [packageDb]
+#else
                                     installedPkgInfo pkg lbi inplace packageDb
+#endif
 
   where
     modeGenerateRegFile = isJust (flagToMaybe (regGenPkgConf regFlags))
@@ -298,7 +310,7 @@
 getCppOptions bi lbi
     = nub $
       ["-I" ++ dir | dir <- PD.includeDirs bi]
-   ++ [opt | opt@('-':c:_) <- (PD.cppOptions bi ++ PD.ccOptions bi), c `elem` "DIU"]
+   ++ [opt | opt@('-':c:_) <- PD.cppOptions bi ++ PD.ccOptions bi, c `elem` "DIU"]
 
 installCHI :: PackageDescription -- ^information from the .cabal file
         -> LocalBuildInfo -- ^information from the configure step
@@ -308,14 +320,13 @@
   let InstallDirs { libdir = libPref } = absoluteInstallDirs pkg lbi copydest
   -- cannot use the recommended 'findModuleFiles' since it fails if there exists
   -- a modules that does not have a .chi file
-  mFiles <- mapM (findFileWithExtension' ["chi"] [buildDir lbi])
-                 (map toFilePath
+  mFiles <- mapM (findFileWithExtension' ["chi"] [buildDir lbi] . toFilePath)
 #if CABAL_VERSION_CHECK(1,8,0)
                    (PD.libModules lib)
 #else
                    (PD.libModules pkg)
 #endif
-                 )
+                 
   let files = [ f | Just f <- mFiles ]
 #if CABAL_VERSION_CHECK(1,8,0)
   installOrdinaryFiles verbosity libPref files
@@ -331,13 +342,13 @@
 ------------------------------------------------------------------------------
 
 typeGenProgram :: Program
-typeGenProgram = (simpleProgram "gtk2hsTypeGen")
+typeGenProgram = simpleProgram "gtk2hsTypeGen"
 
 signalGenProgram :: Program
-signalGenProgram = (simpleProgram "gtk2hsHookGenerator")
+signalGenProgram = simpleProgram "gtk2hsHookGenerator"
 
 c2hsLocal :: Program
-c2hsLocal = (simpleProgram "gtk2hsC2hs")
+c2hsLocal = simpleProgram "gtk2hsC2hs"
 
 genSynthezisedFiles :: Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()
 genSynthezisedFiles verb pd lbi = do
@@ -370,7 +381,7 @@
          res <- rawSystemProgramStdoutConf verb prog (withPrograms lbi) args
          rewriteFile outFile res
 
-  (flip mapM_) (filter (\(tag,_) -> "x-types-" `isPrefixOf` tag && "file" `isSuffixOf` tag) xList) $
+  forM_ (filter (\(tag,_) -> "x-types-" `isPrefixOf` tag && "file" `isSuffixOf` tag) xList) $
     \(fileTag, f) -> do
       let tag = reverse (drop 4 (reverse fileTag))
       info verb ("Ensuring that class hierarchy in "++f++" is up-to-date.")
@@ -391,7 +402,7 @@
   sequence
     [ do version <- pkgconfig ["--modversion", display pkgname]
          case simpleParse version of
-           Nothing -> die $ "parsing output of pkg-config --modversion failed"
+           Nothing -> die "parsing output of pkg-config --modversion failed"
            Just v  -> return (PackageIdentifier pkgname v)
     | Dependency pkgname _ <- concatMap pkgconfigDepends (allBuildInfo pkg) ]
   where
@@ -456,9 +467,9 @@
 extractDeps :: ModDep -> IO ModDep
 extractDeps md@ModDep { mdLocation = Nothing } = return md
 extractDeps md@ModDep { mdLocation = Just f } = withUTF8FileContents f $ \con -> do
-  let findImports acc (('{':'#':xs):xxs) = case (dropWhile ((==) ' ') xs) of
+  let findImports acc (('{':'#':xs):xxs) = case (dropWhile (' ' ==) xs) of
         ('i':'m':'p':'o':'r':'t':' ':ys) ->
-          case simpleParse (takeWhile ((/=) '#') ys) of
+          case simpleParse (takeWhile ('#' /=) ys) of
             Just m -> findImports (m:acc) xxs 
             Nothing -> die ("cannot parse chs import in "++f++":\n"++
                             "offending line is {#"++xs)
@@ -484,3 +495,17 @@
         Just md -> (md:out', visited')
           where
             (out',visited') = foldl visit (out, m `S.insert` visited) (mdRequires md)
+
+-- Check user whether install gtk2hs-buildtools correctly.
+checkGtk2hsBuildtools :: [String] -> IO ()
+checkGtk2hsBuildtools programs = do
+  programInfos <- mapM (\ name -> do
+                         location <- programFindLocation (simpleProgram name) normal
+                         return (name, location)
+                      ) programs
+  let printError name = do
+        putStrLn $ "Cannot find " ++ name ++ "\n" 
+                 ++ "Please install `gtk2hs-buildtools` first and check that the install directory is in your PATH (e.g. HOME/.cabal/bin)."
+        exitFailure
+  forM_ programInfos $ \ (name, location) ->
+    when (isNothing location) (printError name) 
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,7 +1,10 @@
 -- Setup file for a Gtk2Hs module. Contains only adjustments specific to this module,
 -- all Gtk2Hs-specific boilerplate is stored in Gtk2HsSetup.hs which should be kept
 -- identical across all modules.
-import Gtk2HsSetup ( gtk2hsUserHooks )
+import Gtk2HsSetup ( gtk2hsUserHooks, checkGtk2hsBuildtools )
 import Distribution.Simple ( defaultMainWithHooks )
 
-main = defaultMainWithHooks gtk2hsUserHooks
+main = do
+  checkGtk2hsBuildtools ["gtk2hsC2hs", "gtk2hsTypeGen", "gtk2hsHookGenerator"]
+  defaultMainWithHooks gtk2hsUserHooks
+  
diff --git a/gtksourceview2.cabal b/gtksourceview2.cabal
--- a/gtksourceview2.cabal
+++ b/gtksourceview2.cabal
@@ -1,5 +1,5 @@
 Name:           gtksourceview2
-Version:        0.12.1
+Version:        0.12.2
 License:        LGPL-2.1
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
@@ -41,8 +41,8 @@
   
 Library
         build-depends:  base >= 4 && < 5, array, containers, haskell98, mtl,
-                        glib  >= 0.11 && < 0.12, 
-                        gtk   >= 0.11 && < 0.12
+                        glib  >= 0.12 && < 0.13, 
+                        gtk   >= 0.12 && < 0.13
 						
         build-tools:    gtk2hsC2hs, gtk2hsHookGenerator, gtk2hsTypeGen
 						
