diff --git a/Gtk2HsSetup.hs b/Gtk2HsSetup.hs
--- a/Gtk2HsSetup.hs
+++ b/Gtk2HsSetup.hs
@@ -55,8 +55,8 @@
 import Distribution.Version (Version(..))
 import Distribution.Verbosity
 import Control.Monad (when, unless, filterM, liftM, forM, forM_)
-import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList )
-import Data.List (isPrefixOf, isSuffixOf, stripPrefix, nub)
+import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList, catMaybes )
+import Data.List (isPrefixOf, isSuffixOf, stripPrefix, nub, tails )
 import Data.Char (isAlpha, isNumber)
 import qualified Data.Map as M
 import qualified Data.Set as S
@@ -247,10 +247,23 @@
     = nub $
       ["-I" ++ dir | dir <- PD.includeDirs bi]
    ++ [opt | opt@('-':c:_) <- PD.cppOptions bi ++ PD.ccOptions bi, c `elem` "DIU"]
-   ++ ["-D__GLASGOW_HASKELL__="++show (ghcDefine . versionBranch . compilerVersion $ LBI.compiler lbi)]
+   ++ ["-D__GLASGOW_HASKELL__="++show (ghcDefine . ghcVersion . compilerId $ LBI.compiler lbi)]
  where
   ghcDefine (v1:v2:_) = v1 * 100 + v2
   ghcDefine _ = __GLASGOW_HASKELL__
+
+  ghcVersion :: CompilerId -> [Int]
+-- This version is nicer, but we need to know the Cabal version that includes the new CompilerId
+-- #if CABAL_VERSION_CHECK(1,19,2)
+--   ghcVersion (CompilerId GHC v _) = versionBranch v
+--   ghcVersion (CompilerId _ _ (Just c)) = ghcVersion c
+-- #else
+--   ghcVersion (CompilerId GHC v) = versionBranch v
+-- #endif
+--   ghcVersion _ = []
+-- This version should work fine for now
+  ghcVersion = concat . take 1 . map (read . (++"]") . takeWhile (/=']')) . catMaybes
+               . map (stripPrefix "CompilerId GHC (Version {versionBranch = ") . tails . show
 
 installCHI :: PackageDescription -- ^information from the .cabal file
         -> LocalBuildInfo -- ^information from the configure step
diff --git a/gtk3.cabal b/gtk3.cabal
--- a/gtk3.cabal
+++ b/gtk3.cabal
@@ -1,5 +1,5 @@
 Name:           gtk3
-Version:        0.12.5.2
+Version:        0.12.5.3
 License:        LGPL-2.1
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
@@ -136,9 +136,9 @@
 Library
         build-depends:  base >= 4 && < 5,
                         array, containers, mtl, bytestring,
-                        glib  >= 0.12.5 && < 0.13,
-                        pango >= 0.12.5 && < 0.13,
-                        cairo >= 0.12.5 && < 0.13
+                        glib  >= 0.12.5.3 && < 0.13,
+                        pango >= 0.12.5.3 && < 0.13,
+                        cairo >= 0.12.5.3 && < 0.13
         if flag(have-gio)
           build-depends: gio >= 0.12.5 && < 0.13
           cpp-options:    -DHAVE_GIO
@@ -391,35 +391,35 @@
     main-is: ActionMenu.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
 
 Executable gtk2hs-demo-buttonBox
     hs-source-dirs: demo/buttonbox
     main-is: ButtonBox.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
 
 Executable gtk2hs-demo-carsim
     hs-source-dirs: demo/carsim
     main-is: CarSim.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers, time, cairo
+    build-depends: gtk3==0.12.5.3, base, transformers, time, cairo
 
 Executable gtk2hs-demo-progress
     hs-source-dirs: demo/concurrent
     main-is: Progress.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
 
 Executable gtk2hs-demo-progressThreadedRTS
     hs-source-dirs: demo/concurrent
     main-is: ProgressThreadedRTS.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
     ghc-options: -threaded
 
 Executable gtk2hs-demo-fastDraw
@@ -427,68 +427,68 @@
     main-is: FastDraw.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers, array, cairo
+    build-depends: gtk3==0.12.5.3, base, transformers, array, cairo
 
 Executable gtk2hs-demo-fonts
     hs-source-dirs: demo/fonts
     main-is: Fonts.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base
+    build-depends: gtk3==0.12.5.3, base
 
 Executable gtk2hs-demo-builder
     hs-source-dirs: demo/gtkbuilder
     main-is: GtkBuilderTest.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
 
 Executable gtk2hs-demo-helloworld
     hs-source-dirs: demo/hello
     main-is: World.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
 
 Executable gtk2hs-demo-layout
     hs-source-dirs: demo/inputmethod
     main-is: Layout.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers, cairo
+    build-depends: gtk3==0.12.5.3, base, transformers, cairo
 
 Executable gtk2hs-demo-menudemo
     hs-source-dirs: demo/menu
     main-is: MenuDemo.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
 
 Executable gtk2hs-demo-combodemo
     hs-source-dirs: demo/menu
     main-is: ComboDemo.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
 
 Executable gtk2hs-demo-notebook
     hs-source-dirs: demo/notebook
     main-is: Notebook.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
 
 Executable gtk2hs-demo-statusIcon
     hs-source-dirs: demo/statusicon
     main-is: StatusIcon.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
 
 Executable gtk2hs-demo-arabic
     hs-source-dirs: demo/unicode
     main-is: Arabic.hs
     if flag(build-demos)
       buildable: True
-    build-depends: gtk3==0.12.5.2, base, transformers
+    build-depends: gtk3==0.12.5.3, base, transformers
 
