diff --git a/Gio.overrides b/Gio.overrides
--- a/Gio.overrides
+++ b/Gio.overrides
@@ -10,6 +10,9 @@
 ignore io_modules_load_all_in_directory
 ignore io_modules_load_all_in_directory_with_scope
 
+# Properly marked as filename in recent Gio versions.
+set-attr Gio/AppInfo/get_executable/@return-value/@type name filename
+
 # Not supported on Windows.
 if windows
    ignore DBusMessage.get_unix_fd_list
diff --git a/gi-gio.cabal b/gi-gio.cabal
--- a/gi-gio.cabal
+++ b/gi-gio.cabal
@@ -1,5 +1,5 @@
 name:                 gi-gio
-version:              2.0.6
+version:              2.0.7
 synopsis:             Gio bindings
 description:          Bindings for Gio, autogenerated by haskell-gi.
 homepage:             https://github.com/haskell-gi/haskell-gi
@@ -9,14 +9,9 @@
 maintainer:           Iñaki García Etxebarria (garetxe@gmail.com)
 category:             Bindings
 build-type:           Custom
-cabal-version:        >= 1.24
-
-extra-source-files: Gio.overrides
+cabal-version:        >= 1.22
 
-custom-setup
-      setup-depends: base >= 4.7 && < 5,
-                     Cabal >= 1.24,
-                     haskell-gi >= 0.18 && < 1
+extra-source-files: stack.yaml Gio.overrides
 
 Flag overloaded-methods
       Description: Generate support for overloaded methods.
@@ -35,7 +30,8 @@
 
       pkgconfig-depends: gio-2.0
       build-depends: base >= 4.7 && <5,
-                     haskell-gi-base >= 0.18 && < 1,
+                     haskell-gi-base >= 0.20 && < 1,
+                     haskell-gi >= 0.20 && < 1,
                      gi-gobject == 2.0.*,
                      gi-glib == 2.0.*,
                      bytestring >= 0.10 && < 1,
diff --git a/stack.yaml b/stack.yaml
new file mode 100644
--- /dev/null
+++ b/stack.yaml
@@ -0,0 +1,8 @@
+packages:
+- '.'
+extra-deps:
+- 'haskell-gi-0.20'
+- 'haskell-gi-base-0.20'
+explicit-setup-deps:
+  ! '*': true
+resolver: lts-7.11
