diff --git a/bindings-directfb.cabal b/bindings-directfb.cabal
--- a/bindings-directfb.cabal
+++ b/bindings-directfb.cabal
@@ -1,22 +1,32 @@
-cabal-version: >= 1.2.3
+cabal-version: >= 1.10
 name: bindings-directfb
+homepage: https://github.com/rethab/bindings-dsl
 synopsis:
-  Low level bindings to DirectFB
-version: 0.1
+  Project bindings-* raw interface to DirectFB
+description:
+  Low level bindings to DirectFB, part
+  of the @bindings-*@ project. See:
+  .
+  <https://github.com/rethab/bindings-dsl>
+  .
+  <http://directfb.org>
+version: 0.2.1
 license: BSD3
 license-file: LICENSE
-maintainer: Maurício C. Antunes <mauricio.antunes@gmail.com>
+maintainer: Reto <rethab@protonmail.ch>
 author: Maurício C. Antunes
 build-type: Simple
-bug-reports: http://bitbucket.org/mauricio/bindings-dsl/issues
+bug-reports: https://github.com/rethab/bindings-dsl/issues
 category: FFI
 library
   hs-source-dirs: src
-  extensions:
+  default-language:
+    Haskell2010
+  default-extensions:
     ForeignFunctionInterface
   build-depends:
     base >=3 && <5,
-    bindings-DSL >=1.0.6 && <1.1,
+    bindings-DSL >=1.0.16 && <1.2,
     bindings-posix >=1.2.2 && <1.3
   exposed-modules:
     Bindings.DirectFB
@@ -35,5 +45,10 @@
     Bindings.DirectFB.IDirectFBWindow
     Bindings.DirectFB.Types
   pkgconfig-depends:
-    directfb >=1.2.8 && <2
+    directfb >=1.7 && <2
   c-sources: src/inlines.c
+source-repository head
+  type: git
+  location: https://github.com/rethab/bindings-dsl
+  branch: master
+  subdir: bindings-directfb
diff --git a/src/Bindings/DirectFB/Types.hsc b/src/Bindings/DirectFB/Types.hsc
--- a/src/Bindings/DirectFB/Types.hsc
+++ b/src/Bindings/DirectFB/Types.hsc
@@ -694,18 +694,18 @@
 #num DFENUM_OK
 #num DFENUM_CANCEL
 
-#callback DFBVideoModeCallback , CInt -> CInt -> CInt -> \
+#callback_t DFBVideoModeCallback , CInt -> CInt -> CInt -> \
   Ptr () -> IO <DFBEnumerationResult>
--- callback DFBScreenCallback , <DFBScreenID> -> \
+-- callback_t DFBScreenCallback , <DFBScreenID> -> \
 --   <DFBScreenDescription> -> Ptr () -> \
 --   IO <DFBEnumerationResult>
--- callback DFBDisplayLayerCallback , <DFBDisplayLayerID> -> \
+-- callback_t DFBDisplayLayerCallback , <DFBDisplayLayerID> -> \
 --   <DFBDisplayLayerDescription> -> Ptr () -> \
 --   IO <DFBEnumerationResult>
--- callback DFBInputDeviceCallback , <DFBInputDeviceID> -> \
+-- callback_t DFBInputDeviceCallback , <DFBInputDeviceID> -> \
 --   <DFBInputDeviceDescription> -> Ptr () -> \
 --   IO <DFBEnumerationResult>
-#callback DFBGetDataCallback , Ptr () -> CUInt -> Ptr () -> IO CInt
+#callback_t DFBGetDataCallback , Ptr () -> CUInt -> Ptr () -> IO CInt
 
 #integral_t DFBVideoProviderCapabilities
 
@@ -1400,7 +1400,7 @@
 #field location , <DFBLocation>
 #stoptype
 
-#callback DFBTextEncodingCallback , <DFBTextEncodingID> -> \
+#callback_t DFBTextEncodingCallback , <DFBTextEncodingID> -> \
   CString -> Ptr () -> IO <DFBEnumerationResult>
 
 #integral_t DFBImageCapabilities
@@ -1421,7 +1421,7 @@
 #num DIRCR_OK
 #num DIRCR_ABORT
 
-#callback DIRenderCallback , Ptr <DFBRectangle> -> \
+#callback_t DIRenderCallback , Ptr <DFBRectangle> -> \
     Ptr () -> IO <DIRenderCallbackResult>
 
 #integral_t DFBStreamCapabilities
@@ -1494,7 +1494,7 @@
 #field audio.maximum_time , CUInt
 #stoptype
 
-#callback DVFrameCallback , Ptr () -> IO ()
+#callback_t DVFrameCallback , Ptr () -> IO ()
 
 #integral_t DFBInputDeviceKeyType
 
