diff --git a/patches/gtk2-2.24.31.local.patch b/patches/gtk2-2.24.31.local.patch
index 050f26c..72c378f 100644
--- a/patches/gtk2-2.24.31.local.patch
+++ b/patches/gtk2-2.24.31.local.patch
@@ -51,3 +51,14 @@ diff -ru gtk+-2.24.31.orig/Makefile.in gtk+-2.24.31/Makefile.in
  
  # require automake 1.4
 
+--- gtk+-2.24.31/configure.orig	2016-09-09 19:33:11.000000000 +0000
++++ gtk+-2.24.31/configure	2017-11-28 09:52:56.536000000 +0000
+@@ -24351,7 +24351,7 @@
+ GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
+ ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
+ PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
+-CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
++CAIRO_PREFIX="`$PKG_CONFIG --variable=prefix cairo`"
+ 
+ 
+ 
diff --git a/vars/gdk.vars b/vars/gdk.vars
new file mode 100644
index 0000000..16d03de
--- /dev/null
+++ b/vars/gdk.vars
@@ -0,0 +1,13 @@
+#
+# set -o errexit -o noglob are assumed.
+#
+
+pkg_gdk_install_pkgconfig_post() {
+	local _pc_path;
+	for _pc_path in $(find "${PKG_DESTDIR}"/lib/pkgconfig -name \*.pc); do
+		sed -i"" -e '/^Requires:\s\+gobject-2.0$/s/^.*$/& gio-2.0/'	\
+			"${_pc_path}";
+	done;
+};
+
+# vim:filetype=sh
diff --git a/vars/glib.vars b/vars/glib.vars
index 86de74e..fea598c 100644
--- a/vars/glib.vars
+++ b/vars/glib.vars
@@ -5,7 +5,7 @@
 pkg_glib_install_pkgconfig_post() {
 	local _pc_path;
 	for _pc_path in $(find "${PKG_DESTDIR}"/lib/pkgconfig -name \*.pc); do
-		sed -i"" -e '/^Libs:\s/s/-L\${libdir}/& -lffi -lpcre -lz/'	\
+		sed -i"" -e '/^Libs:/s/^\(Libs:\s\+-L\${libdir}\)\s\+\(.\+\)$/\1 \2 -lffi -lpcre -lz/'	\
 			"${_pc_path}";
 	done;
 };