diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -8,12 +8,13 @@
 import Gtk2HsSetup ( gtk2hsUserHooks, getPkgConfigPackages)
 import Distribution.Simple.Setup ( ConfigFlags(configVerbosity), fromFlag)
 import Distribution.Simple.LocalBuildInfo ( LocalBuildInfo(..) )
-import Distribution.Simple.BuildPaths ( autogenModulesDir )
+import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
 import Distribution.Text ( display )
 import Distribution.Version ( Version(..) )
 import Distribution.Verbosity
-import Distribution.Simple.Utils
+import Distribution.Simple.Utils hiding (die)
 import System.FilePath
+import System.Exit (die)
 
 #if MIN_VERSION_Cabal(2,0,0)
 import Distribution.Version ( versionNumbers )
@@ -42,13 +43,13 @@
 writePangoVersionHeaderFile verbosity lbi (Version (major:minor:micro:_) []) = do
 #endif
   createDirectoryIfMissingVerbose verbosity True targetDir
-  rewriteFile targetFile $ unlines
+  rewriteFileEx verbosity targetFile $ unlines
     [ "#define PANGO_VERSION_MAJOR " ++ show major
     , "#define PANGO_VERSION_MINOR " ++ show minor
     , "#define PANGO_VERSION_MICRO " ++ show micro
     ]
   where
-    targetDir  = autogenModulesDir lbi
+    targetDir  = autogenPackageModulesDir lbi
     targetFile = targetDir </> "hspangoversion.h"
 
 writeVersionHeaderFile _ _ version =
diff --git a/pango.cabal b/pango.cabal
--- a/pango.cabal
+++ b/pango.cabal
@@ -1,5 +1,5 @@
 Name:           pango
-Version:        0.13.6.0
+Version:        0.13.6.1
 License:        LGPL-2.1
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
@@ -40,7 +40,7 @@
 
 custom-setup
   setup-depends: base >= 4.6,
-                 Cabal >= 1.24 && < 2.5,
+                 Cabal >= 1.24 && < 3.1,
                  filepath >= 1.3 && < 1.5,
                  gtk2hs-buildtools >= 0.13.2.0 && < 0.14
 
@@ -78,9 +78,9 @@
         x-c2hs-Header:  hspango.h
         includes:       hspango.h
         include-dirs:   .
-        cpp-options:    -U__BLOCKS__
+        cpp-options:    -U__BLOCKS__ -D__attribute__(A)=
         if os(darwin) || os(freebsd)
-          cpp-options: -D__attribute__(A)= -D_Nullable= -D_Nonnull= -D_Noreturn=
+          cpp-options: -D_Nullable= -D_Nonnull= -D_Noreturn=
         if os(windows)
           cpp-options: -D__USE_MINGW_ANSI_STDIO=1
         -- Pango 1.26 has a mysterious bug that makes it go into an infinite
