diff --git a/GI/Cairo.hs b/GI/Cairo.hs
deleted file mode 100644
--- a/GI/Cairo.hs
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo
-    (     module GI.Cairo.Callbacks               ,
-    module GI.Cairo.Enums                   ,
-    module GI.Cairo.Functions               ,
-    module GI.Cairo.Structs                 ,
-
-
-
-    module Data.GI.Base                     ,
-
-
-    ) where
-
-import GI.Cairo.Callbacks
-import GI.Cairo.Enums
-import GI.Cairo.Functions
-import GI.Cairo.Structs
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-import Data.GI.Base
-
diff --git a/GI/Cairo/Callbacks.hs b/GI/Cairo/Callbacks.hs
deleted file mode 100644
--- a/GI/Cairo/Callbacks.hs
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Callbacks () where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-
-
-
diff --git a/GI/Cairo/Enums.hs b/GI/Cairo/Enums.hs
deleted file mode 100644
--- a/GI/Cairo/Enums.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Enums
-    ( 
-
--- * Exported types
-    Content(..)                             ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-
-
-
--- Enum Content
-
-data Content = 
-      ContentCOLOR
-    | ContentALPHA
-    | ContentCOLORALPHA
-    | AnotherContent Int
-    deriving (Show, Eq)
-
-instance Enum Content where
-    fromEnum ContentCOLOR = 4096
-    fromEnum ContentALPHA = 8192
-    fromEnum ContentCOLORALPHA = 12288
-    fromEnum (AnotherContent k) = k
-
-    toEnum 4096 = ContentCOLOR
-    toEnum 8192 = ContentALPHA
-    toEnum 12288 = ContentCOLORALPHA
-    toEnum k = AnotherContent k
-
-foreign import ccall "cairo_gobject_content_get_type" c_cairo_gobject_content_get_type :: 
-    IO GType
-
-instance BoxedEnum Content where
-    boxedEnumType _ = c_cairo_gobject_content_get_type
-
-
diff --git a/GI/Cairo/Functions.hs b/GI/Cairo/Functions.hs
deleted file mode 100644
--- a/GI/Cairo/Functions.hs
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Functions
-    ( 
-
- -- * Methods
--- ** imageSurfaceCreate
-    imageSurfaceCreate                      ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
--- function cairo_image_surface_create
--- Args : []
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "cairo_image_surface_create" cairo_image_surface_create :: 
-    IO ()
-
-
-imageSurfaceCreate ::
-    (MonadIO m) =>
-    m ()                                    -- result
-imageSurfaceCreate  = liftIO $ do
-    cairo_image_surface_create
-    return ()
-
-
-
diff --git a/GI/Cairo/Structs.hs b/GI/Cairo/Structs.hs
deleted file mode 100644
--- a/GI/Cairo/Structs.hs
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs
-    (     module GI.Cairo.Structs.Context         ,
-    module GI.Cairo.Structs.FontFace        ,
-    module GI.Cairo.Structs.FontOptions     ,
-    module GI.Cairo.Structs.FontType        ,
-    module GI.Cairo.Structs.Matrix          ,
-    module GI.Cairo.Structs.Path            ,
-    module GI.Cairo.Structs.Pattern         ,
-    module GI.Cairo.Structs.RectangleInt    ,
-    module GI.Cairo.Structs.Region          ,
-    module GI.Cairo.Structs.ScaledFont      ,
-    module GI.Cairo.Structs.Surface         ,
-
-
-    ) where
-
-import GI.Cairo.Structs.Context
-import GI.Cairo.Structs.FontFace
-import GI.Cairo.Structs.FontOptions
-import GI.Cairo.Structs.FontType
-import GI.Cairo.Structs.Matrix
-import GI.Cairo.Structs.Path
-import GI.Cairo.Structs.Pattern
-import GI.Cairo.Structs.RectangleInt
-import GI.Cairo.Structs.Region
-import GI.Cairo.Structs.ScaledFont
-import GI.Cairo.Structs.Surface
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-
diff --git a/GI/Cairo/Structs/Context.hs b/GI/Cairo/Structs/Context.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/Context.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.Context
-    ( 
-
--- * Exported types
-    Context(..)                             ,
-    noContext                               ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype Context = Context (ForeignPtr Context)
-foreign import ccall "cairo_gobject_context_get_type" c_cairo_gobject_context_get_type :: 
-    IO GType
-
-instance BoxedObject Context where
-    boxedType _ = c_cairo_gobject_context_get_type
-
-noContext :: Maybe Context
-noContext = Nothing
-
-
-type instance AttributeList Context = ContextAttributeList
-type ContextAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveContextMethod (t :: Symbol) (o :: *) :: * where
-    ResolveContextMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveContextMethod t Context, MethodInfo info Context p) => IsLabelProxy t (Context -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveContextMethod t Context, MethodInfo info Context p) => IsLabel t (Context -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/Context.hs-boot b/GI/Cairo/Structs/Context.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/Context.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.Context where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Context = Context (ForeignPtr Context)
-instance BoxedObject Context where
diff --git a/GI/Cairo/Structs/FontFace.hs b/GI/Cairo/Structs/FontFace.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/FontFace.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.FontFace
-    ( 
-
--- * Exported types
-    FontFace(..)                            ,
-    noFontFace                              ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype FontFace = FontFace (ForeignPtr FontFace)
-foreign import ccall "cairo_gobject_font_face_get_type" c_cairo_gobject_font_face_get_type :: 
-    IO GType
-
-instance BoxedObject FontFace where
-    boxedType _ = c_cairo_gobject_font_face_get_type
-
-noFontFace :: Maybe FontFace
-noFontFace = Nothing
-
-
-type instance AttributeList FontFace = FontFaceAttributeList
-type FontFaceAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveFontFaceMethod (t :: Symbol) (o :: *) :: * where
-    ResolveFontFaceMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveFontFaceMethod t FontFace, MethodInfo info FontFace p) => IsLabelProxy t (FontFace -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveFontFaceMethod t FontFace, MethodInfo info FontFace p) => IsLabel t (FontFace -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/FontFace.hs-boot b/GI/Cairo/Structs/FontFace.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/FontFace.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.FontFace where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype FontFace = FontFace (ForeignPtr FontFace)
-instance BoxedObject FontFace where
diff --git a/GI/Cairo/Structs/FontOptions.hs b/GI/Cairo/Structs/FontOptions.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/FontOptions.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.FontOptions
-    ( 
-
--- * Exported types
-    FontOptions(..)                         ,
-    noFontOptions                           ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype FontOptions = FontOptions (ForeignPtr FontOptions)
--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
-instance WrappedPtr FontOptions where
-    wrappedPtrCalloc = return nullPtr
-    wrappedPtrCopy = return
-    wrappedPtrFree = Nothing
-
-noFontOptions :: Maybe FontOptions
-noFontOptions = Nothing
-
-
-type instance AttributeList FontOptions = FontOptionsAttributeList
-type FontOptionsAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveFontOptionsMethod (t :: Symbol) (o :: *) :: * where
-    ResolveFontOptionsMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveFontOptionsMethod t FontOptions, MethodInfo info FontOptions p) => IsLabelProxy t (FontOptions -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveFontOptionsMethod t FontOptions, MethodInfo info FontOptions p) => IsLabel t (FontOptions -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/FontOptions.hs-boot b/GI/Cairo/Structs/FontOptions.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/FontOptions.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.FontOptions where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype FontOptions = FontOptions (ForeignPtr FontOptions)
-instance WrappedPtr FontOptions where
diff --git a/GI/Cairo/Structs/FontType.hs b/GI/Cairo/Structs/FontType.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/FontType.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.FontType
-    ( 
-
--- * Exported types
-    FontType(..)                            ,
-    noFontType                              ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype FontType = FontType (ForeignPtr FontType)
--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
-instance WrappedPtr FontType where
-    wrappedPtrCalloc = return nullPtr
-    wrappedPtrCopy = return
-    wrappedPtrFree = Nothing
-
-noFontType :: Maybe FontType
-noFontType = Nothing
-
-
-type instance AttributeList FontType = FontTypeAttributeList
-type FontTypeAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveFontTypeMethod (t :: Symbol) (o :: *) :: * where
-    ResolveFontTypeMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveFontTypeMethod t FontType, MethodInfo info FontType p) => IsLabelProxy t (FontType -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveFontTypeMethod t FontType, MethodInfo info FontType p) => IsLabel t (FontType -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/FontType.hs-boot b/GI/Cairo/Structs/FontType.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/FontType.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.FontType where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype FontType = FontType (ForeignPtr FontType)
-instance WrappedPtr FontType where
diff --git a/GI/Cairo/Structs/Matrix.hs b/GI/Cairo/Structs/Matrix.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/Matrix.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.Matrix
-    ( 
-
--- * Exported types
-    Matrix(..)                              ,
-    noMatrix                                ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype Matrix = Matrix (ForeignPtr Matrix)
--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
-instance WrappedPtr Matrix where
-    wrappedPtrCalloc = return nullPtr
-    wrappedPtrCopy = return
-    wrappedPtrFree = Nothing
-
-noMatrix :: Maybe Matrix
-noMatrix = Nothing
-
-
-type instance AttributeList Matrix = MatrixAttributeList
-type MatrixAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveMatrixMethod (t :: Symbol) (o :: *) :: * where
-    ResolveMatrixMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveMatrixMethod t Matrix, MethodInfo info Matrix p) => IsLabelProxy t (Matrix -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveMatrixMethod t Matrix, MethodInfo info Matrix p) => IsLabel t (Matrix -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/Matrix.hs-boot b/GI/Cairo/Structs/Matrix.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/Matrix.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.Matrix where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Matrix = Matrix (ForeignPtr Matrix)
-instance WrappedPtr Matrix where
diff --git a/GI/Cairo/Structs/Path.hs b/GI/Cairo/Structs/Path.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/Path.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.Path
-    ( 
-
--- * Exported types
-    Path(..)                                ,
-    noPath                                  ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype Path = Path (ForeignPtr Path)
--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
-instance WrappedPtr Path where
-    wrappedPtrCalloc = return nullPtr
-    wrappedPtrCopy = return
-    wrappedPtrFree = Nothing
-
-noPath :: Maybe Path
-noPath = Nothing
-
-
-type instance AttributeList Path = PathAttributeList
-type PathAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolvePathMethod (t :: Symbol) (o :: *) :: * where
-    ResolvePathMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolvePathMethod t Path, MethodInfo info Path p) => IsLabelProxy t (Path -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolvePathMethod t Path, MethodInfo info Path p) => IsLabel t (Path -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/Path.hs-boot b/GI/Cairo/Structs/Path.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/Path.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.Path where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Path = Path (ForeignPtr Path)
-instance WrappedPtr Path where
diff --git a/GI/Cairo/Structs/Pattern.hs b/GI/Cairo/Structs/Pattern.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/Pattern.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.Pattern
-    ( 
-
--- * Exported types
-    Pattern(..)                             ,
-    noPattern                               ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype Pattern = Pattern (ForeignPtr Pattern)
-foreign import ccall "cairo_gobject_pattern_get_type" c_cairo_gobject_pattern_get_type :: 
-    IO GType
-
-instance BoxedObject Pattern where
-    boxedType _ = c_cairo_gobject_pattern_get_type
-
-noPattern :: Maybe Pattern
-noPattern = Nothing
-
-
-type instance AttributeList Pattern = PatternAttributeList
-type PatternAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolvePatternMethod (t :: Symbol) (o :: *) :: * where
-    ResolvePatternMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolvePatternMethod t Pattern, MethodInfo info Pattern p) => IsLabelProxy t (Pattern -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolvePatternMethod t Pattern, MethodInfo info Pattern p) => IsLabel t (Pattern -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/Pattern.hs-boot b/GI/Cairo/Structs/Pattern.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/Pattern.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.Pattern where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Pattern = Pattern (ForeignPtr Pattern)
-instance BoxedObject Pattern where
diff --git a/GI/Cairo/Structs/RectangleInt.hs b/GI/Cairo/Structs/RectangleInt.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/RectangleInt.hs
+++ /dev/null
@@ -1,193 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.RectangleInt
-    ( 
-
--- * Exported types
-    RectangleInt(..)                        ,
-    newZeroRectangleInt                     ,
-    noRectangleInt                          ,
-
-
- -- * Properties
--- ** Height
-    rectangleIntHeight                      ,
-    rectangleIntReadHeight                  ,
-    rectangleIntWriteHeight                 ,
-
-
--- ** Width
-    rectangleIntReadWidth                   ,
-    rectangleIntWidth                       ,
-    rectangleIntWriteWidth                  ,
-
-
--- ** X
-    rectangleIntReadX                       ,
-    rectangleIntWriteX                      ,
-    rectangleIntX                           ,
-
-
--- ** Y
-    rectangleIntReadY                       ,
-    rectangleIntWriteY                      ,
-    rectangleIntY                           ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype RectangleInt = RectangleInt (ForeignPtr RectangleInt)
-foreign import ccall "cairo_gobject_rectangle_int_get_type" c_cairo_gobject_rectangle_int_get_type :: 
-    IO GType
-
-instance BoxedObject RectangleInt where
-    boxedType _ = c_cairo_gobject_rectangle_int_get_type
-
--- | Construct a `RectangleInt` struct initialized to zero.
-newZeroRectangleInt :: MonadIO m => m RectangleInt
-newZeroRectangleInt = liftIO $ callocBoxedBytes 16 >>= wrapBoxed RectangleInt
-
-instance tag ~ 'AttrSet => Constructible RectangleInt tag where
-    new _ attrs = do
-        o <- newZeroRectangleInt
-        GI.Attributes.set o attrs
-        return o
-
-
-noRectangleInt :: Maybe RectangleInt
-noRectangleInt = Nothing
-
-rectangleIntReadX :: MonadIO m => RectangleInt -> m Int32
-rectangleIntReadX s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int32
-    return val
-
-rectangleIntWriteX :: MonadIO m => RectangleInt -> Int32 -> m ()
-rectangleIntWriteX s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int32)
-
-data RectangleIntXFieldInfo
-instance AttrInfo RectangleIntXFieldInfo where
-    type AttrAllowedOps RectangleIntXFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint RectangleIntXFieldInfo = (~) Int32
-    type AttrBaseTypeConstraint RectangleIntXFieldInfo = (~) RectangleInt
-    type AttrGetType RectangleIntXFieldInfo = Int32
-    type AttrLabel RectangleIntXFieldInfo = "x"
-    attrGet _ = rectangleIntReadX
-    attrSet _ = rectangleIntWriteX
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-rectangleIntX :: AttrLabelProxy "x"
-rectangleIntX = AttrLabelProxy
-
-
-rectangleIntReadY :: MonadIO m => RectangleInt -> m Int32
-rectangleIntReadY s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 4) :: IO Int32
-    return val
-
-rectangleIntWriteY :: MonadIO m => RectangleInt -> Int32 -> m ()
-rectangleIntWriteY s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 4) (val :: Int32)
-
-data RectangleIntYFieldInfo
-instance AttrInfo RectangleIntYFieldInfo where
-    type AttrAllowedOps RectangleIntYFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint RectangleIntYFieldInfo = (~) Int32
-    type AttrBaseTypeConstraint RectangleIntYFieldInfo = (~) RectangleInt
-    type AttrGetType RectangleIntYFieldInfo = Int32
-    type AttrLabel RectangleIntYFieldInfo = "y"
-    attrGet _ = rectangleIntReadY
-    attrSet _ = rectangleIntWriteY
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-rectangleIntY :: AttrLabelProxy "y"
-rectangleIntY = AttrLabelProxy
-
-
-rectangleIntReadWidth :: MonadIO m => RectangleInt -> m Int32
-rectangleIntReadWidth s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO Int32
-    return val
-
-rectangleIntWriteWidth :: MonadIO m => RectangleInt -> Int32 -> m ()
-rectangleIntWriteWidth s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: Int32)
-
-data RectangleIntWidthFieldInfo
-instance AttrInfo RectangleIntWidthFieldInfo where
-    type AttrAllowedOps RectangleIntWidthFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint RectangleIntWidthFieldInfo = (~) Int32
-    type AttrBaseTypeConstraint RectangleIntWidthFieldInfo = (~) RectangleInt
-    type AttrGetType RectangleIntWidthFieldInfo = Int32
-    type AttrLabel RectangleIntWidthFieldInfo = "width"
-    attrGet _ = rectangleIntReadWidth
-    attrSet _ = rectangleIntWriteWidth
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-rectangleIntWidth :: AttrLabelProxy "width"
-rectangleIntWidth = AttrLabelProxy
-
-
-rectangleIntReadHeight :: MonadIO m => RectangleInt -> m Int32
-rectangleIntReadHeight s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 12) :: IO Int32
-    return val
-
-rectangleIntWriteHeight :: MonadIO m => RectangleInt -> Int32 -> m ()
-rectangleIntWriteHeight s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 12) (val :: Int32)
-
-data RectangleIntHeightFieldInfo
-instance AttrInfo RectangleIntHeightFieldInfo where
-    type AttrAllowedOps RectangleIntHeightFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint RectangleIntHeightFieldInfo = (~) Int32
-    type AttrBaseTypeConstraint RectangleIntHeightFieldInfo = (~) RectangleInt
-    type AttrGetType RectangleIntHeightFieldInfo = Int32
-    type AttrLabel RectangleIntHeightFieldInfo = "height"
-    attrGet _ = rectangleIntReadHeight
-    attrSet _ = rectangleIntWriteHeight
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-rectangleIntHeight :: AttrLabelProxy "height"
-rectangleIntHeight = AttrLabelProxy
-
-
-
-type instance AttributeList RectangleInt = RectangleIntAttributeList
-type RectangleIntAttributeList = ('[ '("x", RectangleIntXFieldInfo), '("y", RectangleIntYFieldInfo), '("width", RectangleIntWidthFieldInfo), '("height", RectangleIntHeightFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveRectangleIntMethod (t :: Symbol) (o :: *) :: * where
-    ResolveRectangleIntMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveRectangleIntMethod t RectangleInt, MethodInfo info RectangleInt p) => IsLabelProxy t (RectangleInt -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveRectangleIntMethod t RectangleInt, MethodInfo info RectangleInt p) => IsLabel t (RectangleInt -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/RectangleInt.hs-boot b/GI/Cairo/Structs/RectangleInt.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/RectangleInt.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.RectangleInt where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype RectangleInt = RectangleInt (ForeignPtr RectangleInt)
-instance BoxedObject RectangleInt where
diff --git a/GI/Cairo/Structs/Region.hs b/GI/Cairo/Structs/Region.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/Region.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.Region
-    ( 
-
--- * Exported types
-    Region(..)                              ,
-    noRegion                                ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype Region = Region (ForeignPtr Region)
-foreign import ccall "cairo_gobject_region_get_type" c_cairo_gobject_region_get_type :: 
-    IO GType
-
-instance BoxedObject Region where
-    boxedType _ = c_cairo_gobject_region_get_type
-
-noRegion :: Maybe Region
-noRegion = Nothing
-
-
-type instance AttributeList Region = RegionAttributeList
-type RegionAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveRegionMethod (t :: Symbol) (o :: *) :: * where
-    ResolveRegionMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveRegionMethod t Region, MethodInfo info Region p) => IsLabelProxy t (Region -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveRegionMethod t Region, MethodInfo info Region p) => IsLabel t (Region -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/Region.hs-boot b/GI/Cairo/Structs/Region.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/Region.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.Region where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Region = Region (ForeignPtr Region)
-instance BoxedObject Region where
diff --git a/GI/Cairo/Structs/ScaledFont.hs b/GI/Cairo/Structs/ScaledFont.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/ScaledFont.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.ScaledFont
-    ( 
-
--- * Exported types
-    ScaledFont(..)                          ,
-    noScaledFont                            ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype ScaledFont = ScaledFont (ForeignPtr ScaledFont)
-foreign import ccall "cairo_gobject_scaled_font_get_type" c_cairo_gobject_scaled_font_get_type :: 
-    IO GType
-
-instance BoxedObject ScaledFont where
-    boxedType _ = c_cairo_gobject_scaled_font_get_type
-
-noScaledFont :: Maybe ScaledFont
-noScaledFont = Nothing
-
-
-type instance AttributeList ScaledFont = ScaledFontAttributeList
-type ScaledFontAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveScaledFontMethod (t :: Symbol) (o :: *) :: * where
-    ResolveScaledFontMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveScaledFontMethod t ScaledFont, MethodInfo info ScaledFont p) => IsLabelProxy t (ScaledFont -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveScaledFontMethod t ScaledFont, MethodInfo info ScaledFont p) => IsLabel t (ScaledFont -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/ScaledFont.hs-boot b/GI/Cairo/Structs/ScaledFont.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/ScaledFont.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.ScaledFont where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype ScaledFont = ScaledFont (ForeignPtr ScaledFont)
-instance BoxedObject ScaledFont where
diff --git a/GI/Cairo/Structs/Surface.hs b/GI/Cairo/Structs/Surface.hs
deleted file mode 100644
--- a/GI/Cairo/Structs/Surface.hs
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.Cairo.Structs.Surface
-    ( 
-
--- * Exported types
-    Surface(..)                             ,
-    noSurface                               ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.Cairo.Types
-import GI.Cairo.Callbacks
-
-newtype Surface = Surface (ForeignPtr Surface)
-foreign import ccall "cairo_gobject_surface_get_type" c_cairo_gobject_surface_get_type :: 
-    IO GType
-
-instance BoxedObject Surface where
-    boxedType _ = c_cairo_gobject_surface_get_type
-
-noSurface :: Maybe Surface
-noSurface = Nothing
-
-
-type instance AttributeList Surface = SurfaceAttributeList
-type SurfaceAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveSurfaceMethod (t :: Symbol) (o :: *) :: * where
-    ResolveSurfaceMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveSurfaceMethod t Surface, MethodInfo info Surface p) => IsLabelProxy t (Surface -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveSurfaceMethod t Surface, MethodInfo info Surface p) => IsLabel t (Surface -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/Cairo/Structs/Surface.hs-boot b/GI/Cairo/Structs/Surface.hs-boot
deleted file mode 100644
--- a/GI/Cairo/Structs/Surface.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Cairo.Structs.Surface where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Surface = Surface (ForeignPtr Surface)
-instance BoxedObject Surface where
diff --git a/GI/Cairo/Types.hs b/GI/Cairo/Types.hs
deleted file mode 100644
--- a/GI/Cairo/Types.hs
+++ /dev/null
@@ -1,32 +0,0 @@
-module GI.Cairo.Types
-    (     module GI.Cairo.Structs.Context         ,
-    module GI.Cairo.Structs.FontFace        ,
-    module GI.Cairo.Structs.FontOptions     ,
-    module GI.Cairo.Structs.FontType        ,
-    module GI.Cairo.Structs.Matrix          ,
-    module GI.Cairo.Structs.Path            ,
-    module GI.Cairo.Structs.Pattern         ,
-    module GI.Cairo.Structs.RectangleInt    ,
-    module GI.Cairo.Structs.Region          ,
-    module GI.Cairo.Structs.ScaledFont      ,
-    module GI.Cairo.Structs.Surface         ,
-    module GI.Cairo.Enums                   ,
-
-
-    ) where
-
-
-import {-# SOURCE #-} GI.Cairo.Structs.Context
-import {-# SOURCE #-} GI.Cairo.Structs.FontFace
-import {-# SOURCE #-} GI.Cairo.Structs.FontOptions
-import {-# SOURCE #-} GI.Cairo.Structs.FontType
-import {-# SOURCE #-} GI.Cairo.Structs.Matrix
-import {-# SOURCE #-} GI.Cairo.Structs.Path
-import {-# SOURCE #-} GI.Cairo.Structs.Pattern
-import {-# SOURCE #-} GI.Cairo.Structs.RectangleInt
-import {-# SOURCE #-} GI.Cairo.Structs.Region
-import {-# SOURCE #-} GI.Cairo.Structs.ScaledFont
-import {-# SOURCE #-} GI.Cairo.Structs.Surface
-
-import GI.Cairo.Enums
-
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,3 +1,12 @@
-#!/usr/bin/env runhaskell
-import Distribution.Simple
-main = defaultMain
+{-# LANGUAGE OverloadedStrings #-}
+
+import Distribution.Simple (defaultMainWithHooks)
+import Data.GI.CodeGen.CabalHooks (simpleHaskellGIHooks)
+
+main = defaultMainWithHooks (simpleHaskellGIHooks name version verbose
+                             overridesFile outputDir)
+    where name = "cairo"
+          version = "1.0"
+          verbose = False
+          overridesFile = Nothing
+          outputDir = Nothing
diff --git a/gi-cairo.cabal b/gi-cairo.cabal
--- a/gi-cairo.cabal
+++ b/gi-cairo.cabal
@@ -1,43 +1,31 @@
--- Autogenerated, do not edit.
 name:               gi-cairo
-version:            0.1.14.15
-synopsis:           cairo bindings
-description:        Bindings for cairo, autogenerated by haskell-gi.
+version:            1.0.1
+synopsis:           Cairo bindings
+description:        Bindings for Cairo, autogenerated by haskell-gi.
 homepage:           https://github.com/haskell-gi/haskell-gi
 license:            LGPL-2.1
 license-file:       LICENSE
 author:             Will Thompson, Iñaki García Etxebarria and Jonas Platte
 maintainer:         Iñaki García Etxebarria (garetxe@gmail.com)
 category:           Bindings
-build-type:         Simple
-cabal-version:      >=1.10
+build-type:         Custom
+cabal-version:      >= 1.24
 
+custom-setup
+  setup-depends: base >= 4.7,
+                 Cabal >= 1.24,
+                 haskell-gi >= 0.15
+
 library
     default-language:   Haskell2010
     default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
     other-extensions:   PatternSynonyms ViewPatterns
     ghc-options:        -fno-warn-unused-imports -fno-warn-warnings-deprecations
-    exposed-modules:    GI.Cairo.Types
-                        GI.Cairo
-                        GI.Cairo.Callbacks
-                        GI.Cairo.Enums
-                        GI.Cairo.Functions
-                        GI.Cairo.Structs
-                        GI.Cairo.Structs.Context
-                        GI.Cairo.Structs.FontFace
-                        GI.Cairo.Structs.FontOptions
-                        GI.Cairo.Structs.FontType
-                        GI.Cairo.Structs.Matrix
-                        GI.Cairo.Structs.Path
-                        GI.Cairo.Structs.Pattern
-                        GI.Cairo.Structs.RectangleInt
-                        GI.Cairo.Structs.Region
-                        GI.Cairo.Structs.ScaledFont
-                        GI.Cairo.Structs.Surface
-    pkgconfig-depends:  cairo-gobject >= 1.14
+
+    pkgconfig-depends:  cairo-gobject >= 1.0 && < 2
     build-depends: base >= 4.7 && <5,
         haskell-gi-base >= 0.15 && < 1,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
-        transformers >= 0.3
+        transformers >= 0.5
