diff --git a/gtk2hs-buildtools.cabal b/gtk2hs-buildtools.cabal
--- a/gtk2hs-buildtools.cabal
+++ b/gtk2hs-buildtools.cabal
@@ -1,5 +1,5 @@
 Name:   gtk2hs-buildtools
-Version:        0.13.3.0
+Version:        0.13.3.1
 License:        GPL-2
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
@@ -20,7 +20,7 @@
                 to call back from C to Haskell. These tools are not needed
                 to actually run Gtk2Hs programs.
 Category:       Development
-Tested-With:    GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.1
+Tested-With:    GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1
 Data-Files:     callbackGen/Signal.chs.template
                 hierarchyGen/hierarchy.list
                 hierarchyGen/Hierarchy.chs.template
@@ -40,7 +40,7 @@
         build-depends:   base >= 4 && < 5,
                          process, array, pretty,
                          filepath, random,
-                         Cabal >= 1.24.0.0 && < 2.2,
+                         Cabal >= 1.24.0.0 && < 2.1,
                          filepath >= 1.3.0.0 && < 1.5,
                          directory >= 1.2.0.0 && < 1.4,
                          containers >= 0.5.5.1 && < 0.6
diff --git a/src/Gtk2HsSetup.hs b/src/Gtk2HsSetup.hs
--- a/src/Gtk2HsSetup.hs
+++ b/src/Gtk2HsSetup.hs
@@ -78,6 +78,11 @@
 import TypeGen (typeGen)
 import UNames (unsafeResetRootNameSupply)
 
+#if !MIN_VERSION_Cabal(2,0,0)
+versionNumbers :: Version -> [Int]
+versionNumbers = versionBranch
+#endif
+
 onDefaultSearchPath f a b = f a b defaultProgramSearchPath
 libraryConfig lbi = case [clbi | (LBI.CLibName, clbi, _) <- LBI.componentsConfigs lbi] of
   [clbi] -> Just clbi
@@ -351,7 +356,6 @@
       info verb ("Ensuring that callback hooks in "++f++" are up-to-date.")
       genFile hookGen signalsOpts f
 
-#if __GLASGOW_HASKELL__ < 800
   writeFile "gtk2hs_macros.h" $ generateMacros cPkgs
 
 -- Based on Cabal/Distribution/Simple/Build/Macros.hs
@@ -368,13 +372,12 @@
     ,"\n\n"
     ]
   | pkgid@(PackageIdentifier name version) <- cPkgs
-  , let (major1:major2:minor:_) = map show (versionBranch version ++ repeat 0)
+  , let (major1:major2:minor:_) = map show (versionNumbers version ++ repeat 0)
         pkgname = map fixchar (display name)
   ]
   where fixchar '-' = '_'
         fixchar '.' = '_'
         fixchar c   = c
-#endif
 
 --FIXME: Cabal should tell us the selected pkg-config package versions in the
 --       LocalBuildInfo or equivalent.
