diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,9 @@
+### 2.0.24
+
++ Add support for inherited dependencies
+
++ Add a workaround for [issue 218](https://github.com/haskell-gi/haskell-gi/issues/218).
+
 ### 2.0.23
 
 + Tighten bounds in haskell-gi(-base)
diff --git a/Gio.overrides b/Gio.overrides
--- a/Gio.overrides
+++ b/Gio.overrides
@@ -17,6 +17,26 @@
 # https://github.com/haskell-gi/haskell-gi/issues/139
 set-attr Gio/Volume/get_mount/@return-value nullable 1
 
+
+# These are included by mistake in the introspection data of
+# glib-2.60.0, but they are linux-specific.
+# See https://github.com/haskell-gi/haskell-gi/issues/218
+if osx
+   delete-node Gio/DesktopAppInfo
+   delete-node Gio/DesktopAppInfoClass
+   delete-node Gio/DesktopAppInfoLookup
+   delete-node Gio/DesktopAppInfoLookupIface
+   delete-node Gio/DesktopAppLaunchCallback
+endif
+
+if windows
+   delete-node Gio/DesktopAppInfo
+   delete-node Gio/DesktopAppInfoClass
+   delete-node Gio/DesktopAppInfoLookup
+   delete-node Gio/DesktopAppInfoLookupIface
+   delete-node Gio/DesktopAppLaunchCallback
+endif
+
 # The return value can be null, but it is not marked as such in the
 # introspection data, leading to a rather confusing error message:
 # https://github.com/haskell-gi/haskell-gi/issues/142
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Documentation
 Autogenerated documentation for this package can be found at
 
-[https://hackage.haskell.org/package/gi-gio-2.0.23/docs/GI-Gio.html](https://hackage.haskell.org/package/gi-gio-2.0.23/docs/GI-Gio.html)
+[https://hackage.haskell.org/package/gi-gio-2.0.24/docs/GI-Gio.html](https://hackage.haskell.org/package/gi-gio-2.0.24/docs/GI-Gio.html)
 
 For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,11 +1,16 @@
 {-# LANGUAGE OverloadedStrings #-}
 
-import Data.GI.CodeGen.CabalHooks (setupHaskellGIBinding)
+import Data.GI.CodeGen.CabalHooks (setupBinding, TaggedOverride(..))
 
+import qualified GI.GLib.Config as GLib
+import qualified GI.GObject.Config as GObject
+
+
 main :: IO ()
-main = setupHaskellGIBinding name version verbose overridesFile outputDir
+main = setupBinding name version verbose overridesFile inheritedOverrides outputDir
   where name = "Gio"
         version = "2.0"
         overridesFile = Just "Gio.overrides"
         verbose = False
         outputDir = Nothing
+        inheritedOverrides = [TaggedOverride "inherited:GLib" GLib.overrides, TaggedOverride "inherited:GObject" GObject.overrides]
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.23
+version:              2.0.24
 synopsis:             Gio bindings
 description:          Bindings for Gio, autogenerated by haskell-gi.
 homepage:             https://github.com/haskell-gi/haskell-gi
@@ -16,7 +16,9 @@
 custom-setup
       setup-depends: base >= 4.9 && < 5,
                      Cabal >= 1.24,
-                     haskell-gi >= 0.22.0 && < 0.23
+                     haskell-gi >= 0.22.5 && < 0.23,
+                     gi-gobject == 2.0.*,
+                     gi-glib == 2.0.*
 
 library
       default-language: Haskell2010
@@ -27,7 +29,7 @@
       pkgconfig-depends: gio-2.0
       build-depends: base >= 4.7 && <5,
                      haskell-gi-base >= 0.22.0 && < 0.23,
-                     haskell-gi >= 0.22.0 && < 0.23,
+                     haskell-gi >= 0.22.5 && < 0.23,
                      haskell-gi-overloading < 1.1,
                      gi-gobject == 2.0.*,
                      gi-glib == 2.0.*,
@@ -40,6 +42,12 @@
       -- see https://ghc.haskell.org/trac/ghc/ticket/14382
       if impl(ghc == 8.2.*)
               build-depends: haskell-gi-overloading == 0.0
+
+      -- Note that the following list of exposed modules and autogen
+      -- modules is for documentation purposes only, so that some
+      -- documentation appears in hackage. The actual list of modules
+      -- to be built will be built at configure time, based on the
+      -- available introspection data.
 
       exposed-modules: GI.Gio,
                        GI.Gio.Callbacks,
