summaryrefslogtreecommitdiffstats
path: root/devel/glib20
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2010-12-01 06:38:13 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2010-12-01 06:38:13 +0800
commit764ba499ef3e17e0aecc018262c36e06e305fdb3 (patch)
tree458563e43c045159e934552c758e98bc938e45f0 /devel/glib20
parent2e4d2e942a99fbc51adebabc4cd543a91491ba37 (diff)
downloadmarcuscom-ports-764ba499ef3e17e0aecc018262c36e06e305fdb3.tar
marcuscom-ports-764ba499ef3e17e0aecc018262c36e06e305fdb3.tar.gz
marcuscom-ports-764ba499ef3e17e0aecc018262c36e06e305fdb3.tar.bz2
marcuscom-ports-764ba499ef3e17e0aecc018262c36e06e305fdb3.tar.lz
marcuscom-ports-764ba499ef3e17e0aecc018262c36e06e305fdb3.tar.xz
marcuscom-ports-764ba499ef3e17e0aecc018262c36e06e305fdb3.tar.zst
marcuscom-ports-764ba499ef3e17e0aecc018262c36e06e305fdb3.zip
Update to 2.27.4.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@14917 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'devel/glib20')
-rw-r--r--devel/glib20/Makefile94
-rw-r--r--devel/glib20/distinfo2
-rw-r--r--devel/glib20/files/extra-arch-powerpc6423
-rw-r--r--devel/glib20/files/extra-patch-glib_Makefile.in11
-rw-r--r--devel/glib20/files/extra-patch-glib_gunicollate.c123
-rw-r--r--devel/glib20/files/patch-ae48
-rw-r--r--devel/glib20/files/patch-ag11
-rw-r--r--devel/glib20/files/patch-ah11
-rw-r--r--devel/glib20/files/patch-config.h.in12
-rw-r--r--devel/glib20/files/patch-gio_gunixmount.c21
-rw-r--r--devel/glib20/files/patch-gio_gunixmounts.c148
-rw-r--r--devel/glib20/files/patch-gio_gunixvolume.c17
-rw-r--r--devel/glib20/files/patch-gio_libasyncns_asyncns.c11
-rw-r--r--devel/glib20/files/patch-gio_tests_gdbus-peer.c11
-rw-r--r--devel/glib20/files/patch-gio_xdgmime_xdgmime.c11
-rw-r--r--devel/glib20/files/patch-gio_xdgmime_xdgmimecache.h12
-rw-r--r--devel/glib20/files/patch-glib::libcharset::Makefile.in31
-rw-r--r--devel/glib20/files/patch-glib_Makefile.in31
-rw-r--r--devel/glib20/files/patch-glib_gregex.c13
-rw-r--r--devel/glib20/files/patch-glib_gutils.c20
-rw-r--r--devel/glib20/files/patch-gmodule::gmodule-dl.c20
-rw-r--r--devel/glib20/files/patch-gobject_Makefile.in22
-rw-r--r--devel/glib20/files/patch-gthread_gthread-posix.c21
-rw-r--r--devel/glib20/pkg-descr5
-rw-r--r--devel/glib20/pkg-plist419
25 files changed, 1148 insertions, 0 deletions
diff --git a/devel/glib20/Makefile b/devel/glib20/Makefile
new file mode 100644
index 000000000..9a5c3cd07
--- /dev/null
+++ b/devel/glib20/Makefile
@@ -0,0 +1,94 @@
+# New ports collection makefile for: glib13
+# Date Created: 28 July 1998
+# Whom: Vanilla I. Shu <vanilla@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom: ports/devel/glib20/Makefile,v 1.188 2010/11/15 02:01:55 kwm Exp $
+#
+# !! DON'T FORGET ABOUT devel/gio-fam-backend !!
+
+PORTNAME= glib
+PORTVERSION= 2.27.4
+PORTREVISION?= 0
+CATEGORIES= devel
+MASTER_SITES= ${MASTER_SITE_GNOME:S,%SUBDIR%,sources/glib/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/},} \
+ ftp://ftp.gtk.org/pub/glib/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/ \
+ ftp://ftp.gimp.org/pub/%SUBDIR%/ \
+ ftp://ftp.cs.umn.edu/pub/gimp/%SUBDIR%/ \
+ http://www.ameth.org/gimp/%SUBDIR%/ \
+ ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,graphics/gimp/%SUBDIR%,}
+MASTER_SITE_SUBDIR= gtk/v${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
+DIST_SUBDIR= gnome2
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Some useful routines of C programming (current stable version)
+
+LATEST_LINK= glib20
+
+USE_BZIP2= yes
+LICENSE= LGPL20
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+.if !defined(REFERENCE_PORT)
+
+LIB_DEPENDS+= pcre.0:${PORTSDIR}/devel/pcre
+
+USE_GETTEXT= yes
+USE_AUTOTOOLS= libtool:22
+USE_LDCONFIG= yes
+USE_GNOME= gnomehack pkgconfig ltverhack
+USE_GMAKE= yes
+MAKE_JOBS_SAFE= yes
+USE_PYTHON= yes
+USE_PERL5= yes
+CONFIGURE_ARGS= --enable-static --with-libiconv=gnu \
+ --disable-gtk-doc --with-html-dir=${PREFIX}/share/doc \
+ --disable-man --without-xml-catalog \
+ --disable-dtrace \
+ --with-pcre=system \
+ --disable-fam
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib -lintl" \
+ PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
+ PTHREAD_LIBS="${PTHREAD_LIBS}"
+
+OPTIONS= COLLATION_FIX "fix string collation" off
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == powerpc64
+EXTRA_PATCHES= ${FILESDIR}/extra-arch-powerpc64
+.endif
+
+# Let glib use asm code for implementing atomic ops on i386 and amd64.
+.if ${ARCH} == "i386"
+GLIB_ARCH= i486
+.elif ${ARCH} == "amd64"
+GLIB_ARCH= x86_64
+.else
+GLIB_ARCH= ${ARCH}
+.endif
+CONFIGURE_TARGET=${GLIB_ARCH}-portbld-freebsd${OSREL}
+
+.if defined(WITH_COLLATION_FIX)
+LIB_DEPENDS+= icui18n:${PORTSDIR}/devel/icu
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-glib_Makefile.in \
+ ${FILESDIR}/extra-patch-glib_gunicollate.c
+# Disable it until someone can figure why it causes net-im/pidgin crashed.
+#CONFIGURE_ENV+= CFLAGS="-D__STDC_ISO_10646__"
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/glib/gutils.c
+ @${REINPLACE_CMD} -e 's|/lib/dbus/machine-id|/db/dbus/machine-id|g' \
+ ${WRKSRC}/gio/gdbusaddress.c ${WRKSRC}/gio/gdbusprivate.c \
+ ${WRKSRC}/po/*.po
+
+post-install:
+ @${MKDIR} ${PREFIX}/share/GConf/gsettings
+ -${PREFIX}/bin/gio-querymodules ${PREFIX}/lib/gio/modules
+
+.include <bsd.port.post.mk>
+
+.endif
diff --git a/devel/glib20/distinfo b/devel/glib20/distinfo
new file mode 100644
index 000000000..64d1b00ab
--- /dev/null
+++ b/devel/glib20/distinfo
@@ -0,0 +1,2 @@
+SHA256 (gnome2/glib-2.27.4.tar.bz2) = 71367cbf45998f736d7998282bc62fdefe13544a2c8ca523d9e5e9cc212758e6
+SIZE (gnome2/glib-2.27.4.tar.bz2) = 6876218
diff --git a/devel/glib20/files/extra-arch-powerpc64 b/devel/glib20/files/extra-arch-powerpc64
new file mode 100644
index 000000000..d774ebd6b
--- /dev/null
+++ b/devel/glib20/files/extra-arch-powerpc64
@@ -0,0 +1,23 @@
+
+--- gio/glib-compile-schemas.c.orig 2010-11-24 21:32:15.000000000 +0100
++++ gio/glib-compile-schemas.c 2010-11-24 21:33:42.000000000 +0100
+@@ -1458,7 +1458,7 @@
+ }
+ /* Text {{{2 */
+ static void
+-text (GMarkupParseContext *context,
++XXXtext (GMarkupParseContext *context,
+ const gchar *text,
+ gsize text_len,
+ gpointer user_data,
+@@ -1590,7 +1590,7 @@
+ parse_gschema_files (gchar **files,
+ gboolean strict)
+ {
+- GMarkupParser parser = { start_element, end_element, text };
++ GMarkupParser parser = { start_element, end_element, XXXtext };
+ ParseState state = { 0, };
+ const gchar *filename;
+ GError *error = NULL;
+
+
diff --git a/devel/glib20/files/extra-patch-glib_Makefile.in b/devel/glib20/files/extra-patch-glib_Makefile.in
new file mode 100644
index 000000000..01f856f74
--- /dev/null
+++ b/devel/glib20/files/extra-patch-glib_Makefile.in
@@ -0,0 +1,11 @@
+--- glib/Makefile.in.orig 2009-05-31 13:14:18.000000000 +0200
++++ glib/Makefile.in 2009-05-31 13:15:08.000000000 +0200
+@@ -272,7 +272,7 @@
+ INSTOBJEXT = @INSTOBJEXT@
+ INTLLIBS = @INTLLIBS@
+ LD = @LD@
+-LDFLAGS = @LDFLAGS@
++LDFLAGS = @LDFLAGS@ -licui18n
+ LIBASYNCNS_LIBADD = @LIBASYNCNS_LIBADD@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
diff --git a/devel/glib20/files/extra-patch-glib_gunicollate.c b/devel/glib20/files/extra-patch-glib_gunicollate.c
new file mode 100644
index 000000000..e2edc6938
--- /dev/null
+++ b/devel/glib20/files/extra-patch-glib_gunicollate.c
@@ -0,0 +1,123 @@
+--- glib/gunicollate.c.orig
++++ glib/gunicollate.c
+@@ -26,6 +26,10 @@
+ #include <wchar.h>
+ #endif
+
++#include <unicode/umachine.h>
++#include <unicode/ustring.h>
++#include <unicode/ucol.h>
++
+ #ifdef HAVE_CARBON
+ #include <CoreServices/CoreServices.h>
+ #endif
+@@ -36,10 +40,53 @@
+ #include "gstring.h"
+ #include "gstrfuncs.h"
+ #include "gtestutils.h"
++#include "gthread.h"
+ #ifndef __STDC_ISO_10646__
+ #include "gconvert.h"
+ #endif
+
++static gboolean icu_collator_initialized = FALSE;
++static UCollator *icu_collator = NULL;
++G_LOCK_DEFINE_STATIC(icu_collator);
++
++static void
++init_icu_collator (void)
++{
++ G_LOCK(icu_collator);
++ if (! icu_collator_initialized)
++ {
++ UErrorCode error = U_ZERO_ERROR;
++
++ icu_collator = ucol_open(NULL, &error);
++ if (icu_collator == NULL)
++ g_warning("unable to initialize the ICU collator (%s), FreeBSD collation routines will be used", u_errorName(error));
++
++ icu_collator_initialized = TRUE;
++ }
++ G_UNLOCK(icu_collator);
++}
++
++static UChar *
++utf8_to_uchar (const char *str, int32_t len, int32_t *result_len)
++{
++ UErrorCode error = U_ZERO_ERROR;
++ UChar *result = NULL;
++
++ u_strFromUTF8(NULL, 0, result_len, str, len, &error);
++ if (error <= U_ZERO_ERROR || error == U_BUFFER_OVERFLOW_ERROR)
++ {
++ error = U_ZERO_ERROR;
++ result = g_new(UChar, *result_len);
++ u_strFromUTF8(result, *result_len, NULL, str, len, &error);
++ if (error > U_ZERO_ERROR)
++ {
++ g_free(result);
++ result = NULL;
++ }
++ }
++
++ return result;
++}
+
+ #ifdef _MSC_VER
+ /* Workaround for bug in MSVCR80.DLL */
+@@ -127,6 +174,28 @@
+ g_return_val_if_fail (str1 != NULL, 0);
+ g_return_val_if_fail (str2 != NULL, 0);
+
++ init_icu_collator();
++ if (icu_collator != NULL)
++ {
++ int32_t wstr1_len;
++ UChar *wstr1 = utf8_to_uchar(str1, -1, &wstr1_len);
++ if (wstr1 != NULL)
++ {
++ int32_t wstr2_len;
++ UChar *wstr2 = utf8_to_uchar(str2, -1, &wstr2_len);
++ if (wstr2 != NULL)
++ {
++ result = ucol_strcoll(icu_collator, wstr1, wstr1_len, wstr2, wstr2_len);
++
++ g_free(wstr1);
++ g_free(wstr2);
++
++ return result;
++ }
++ g_free(wstr1);
++ }
++ }
++
+ str1_norm = g_utf8_normalize (str1, -1, G_NORMALIZE_ALL_COMPOSE);
+ str2_norm = g_utf8_normalize (str2, -1, G_NORMALIZE_ALL_COMPOSE);
+
+@@ -419,6 +488,26 @@
+
+ g_return_val_if_fail (str != NULL, NULL);
+
++ init_icu_collator();
++ if (icu_collator != NULL)
++ {
++ int32_t wstr_len;
++ UChar *wstr = utf8_to_uchar(str, len, &wstr_len);
++ if (wstr != NULL)
++ {
++ int32_t result_len;
++
++ /* get size of result */
++ result_len = ucol_getSortKey(icu_collator, wstr, wstr_len, NULL, 0);
++
++ result = g_new(char, result_len);
++ ucol_getSortKey(icu_collator, wstr, wstr_len, result, result_len);
++ g_free(wstr);
++
++ return result;
++ }
++ }
++
+ str_norm = g_utf8_normalize (str, len, G_NORMALIZE_ALL_COMPOSE);
+
+ result = NULL;
diff --git a/devel/glib20/files/patch-ae b/devel/glib20/files/patch-ae
new file mode 100644
index 000000000..80fcb92b2
--- /dev/null
+++ b/devel/glib20/files/patch-ae
@@ -0,0 +1,48 @@
+--- configure.orig 2010-09-09 12:18:43.000000000 +0200
++++ configure 2010-09-09 12:20:56.000000000 +0200
+@@ -575,6 +575,9 @@
+ #ifdef HAVE_SYS_TYPES_H
+ # include <sys/types.h>
+ #endif
++#ifdef HAVE_SYS_PARAM_H
++# include <sys/param.h>
++#endif
+ #ifdef HAVE_SYS_STAT_H
+ # include <sys/stat.h>
+ #endif
+@@ -5187,7 +5190,7 @@
+ fi
+
+ GLIB_RUNTIME_LIBDIR="$with_runtime_libdir"
+-ABS_GLIB_RUNTIME_LIBDIR="`readlink -f $libdir/$with_runtime_libdir`"
++ABS_GLIB_RUNTIME_LIBDIR="`readlink $libdir/$with_runtime_libdir`"
+
+
+ if test "x$with_runtime_libdir" != "x"; then
+@@ -22212,7 +22215,7 @@
+ fi
+ done
+
+-for ac_func in chown lchmod lchown fchmod fchown link statvfs statfs utimes getgrgid getpwuid
++for ac_func in chown lchmod lchown fchmod fchown link statvfs statfs utimes getgrgid getpwuid sysctlbyname
+ do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+@@ -24815,6 +24818,8 @@
+ ;;
+ esac
+ fi
++ G_THREAD_CFLAGS="${PTHREAD_CFLAGS}"
++ G_THREAD_LIBS="${PTHREAD_LIBS}"
+
+ if test x"$G_THREAD_CFLAGS" = x; then
+
+@@ -27415,7 +27420,7 @@
+ fi
+
+
+-if test "x${enable_Bsymbolic}" == "xyes"; then
++if test "x${enable_Bsymbolic}" = "xyes"; then
+ GLIB_LINK_FLAGS=-Wl,-Bsymbolic-functions
+ fi
+
diff --git a/devel/glib20/files/patch-ag b/devel/glib20/files/patch-ag
new file mode 100644
index 000000000..289bc3381
--- /dev/null
+++ b/devel/glib20/files/patch-ag
@@ -0,0 +1,11 @@
+--- Makefile.in.orig 2010-08-08 12:14:27.000000000 +0200
++++ Makefile.in 2010-08-08 12:15:40.000000000 +0200
+@@ -418,7 +418,7 @@
+ gio-2.0-uninstalled.pc.in gio-unix-2.0-uninstalled.pc.in
+ TEST_PROGS =
+ ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS}
+-SUBDIRS = . m4macros glib gmodule gthread gobject gio tests po docs
++SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs
+ DIST_SUBDIRS = $(SUBDIRS) build
+ bin_SCRIPTS = glib-gettextize
+ AM_CPPFLAGS = \
diff --git a/devel/glib20/files/patch-ah b/devel/glib20/files/patch-ah
new file mode 100644
index 000000000..3784d16b8
--- /dev/null
+++ b/devel/glib20/files/patch-ah
@@ -0,0 +1,11 @@
+--- docs/reference/Makefile.in.orig 2007-12-21 16:54:10.000000000 -0500
++++ docs/reference/Makefile.in 2007-12-21 16:54:40.000000000 -0500
+@@ -268,7 +268,7 @@ GTESTER_REPORT = $(top_builddir)/glib/gt
+ # initialize variables for unconditional += appending
+ EXTRA_DIST =
+ TEST_PROGS =
+-SUBDIRS = glib gobject gio
++SUBDIRS = #glib gobject gio
+ all: all-recursive
+
+ .SUFFIXES:
diff --git a/devel/glib20/files/patch-config.h.in b/devel/glib20/files/patch-config.h.in
new file mode 100644
index 000000000..3c2bc5d26
--- /dev/null
+++ b/devel/glib20/files/patch-config.h.in
@@ -0,0 +1,12 @@
+--- config.h.in.orig 2008-03-18 18:24:24.000000000 -0400
++++ config.h.in 2008-03-18 18:24:59.000000000 -0400
+@@ -197,6 +197,9 @@
+ /* Define to 1 if you have the `getpwuid' function. */
+ #undef HAVE_GETPWUID
+
++/* Define to 1 if you have the `sysctlbyname' function. */
++#undef HAVE_SYSCTLBYNAME
++
+ /* Define if the GNU gettext() function is already present or preinstalled. */
+ #undef HAVE_GETTEXT
+
diff --git a/devel/glib20/files/patch-gio_gunixmount.c b/devel/glib20/files/patch-gio_gunixmount.c
new file mode 100644
index 000000000..b9bfe143e
--- /dev/null
+++ b/devel/glib20/files/patch-gio_gunixmount.c
@@ -0,0 +1,21 @@
+--- gio/gunixmount.c.orig 2007-12-23 15:53:50.000000000 -0500
++++ gio/gunixmount.c 2007-12-23 15:52:52.000000000 -0500
+@@ -372,12 +372,18 @@ g_unix_mount_eject (GMount *
+ gpointer user_data)
+ {
+ GUnixMount *unix_mount = G_UNIX_MOUNT (mount);
++#ifndef __FreeBSD__
+ char *argv[] = {"eject", NULL, NULL};
+
+ if (unix_mount->mount_path != NULL)
+ argv[1] = unix_mount->mount_path;
+ else
+ argv[1] = unix_mount->device_path;
++#else
++ char *argv[] = {"cdcontrol", "-f", NULL, "eject", NULL};
++
++ argv[2] = unix_mount->device_path;
++#endif
+
+ return eject_unmount_do (mount, cancellable, callback, user_data, argv);
+ }
diff --git a/devel/glib20/files/patch-gio_gunixmounts.c b/devel/glib20/files/patch-gio_gunixmounts.c
new file mode 100644
index 000000000..9b6fa2df3
--- /dev/null
+++ b/devel/glib20/files/patch-gio_gunixmounts.c
@@ -0,0 +1,148 @@
+--- ggio/unixmounts.c.orig 2008-03-10 20:31:58.000000000 -0400
++++ gio/gunixmounts.c 2008-03-19 22:31:23.000000000 -0400
+@@ -128,6 +128,9 @@ struct _GUnixMountMonitor {
+
+ GFileMonitor *fstab_monitor;
+ GFileMonitor *mtab_monitor;
++
++ guint mount_poller_source;
++ GList *mount_poller_mounts;
+ };
+
+ struct _GUnixMountMonitorClass {
+@@ -139,6 +142,8 @@ static GUnixMountMonitor *the_mount_moni
+ static GList *_g_get_unix_mounts (void);
+ static GList *_g_get_unix_mount_points (void);
+
++static guint64 mount_poller_time = 0;
++
+ G_DEFINE_TYPE (GUnixMountMonitor, g_unix_mount_monitor, G_TYPE_OBJECT);
+
+ #define MOUNT_POLL_INTERVAL 4000
+@@ -165,6 +170,7 @@ G_DEFINE_TYPE (GUnixMountMonitor, g_unix
+ #endif
+
+ #if defined(HAVE_GETMNTINFO) && defined(HAVE_FSTAB_H) && defined(HAVE_SYS_MOUNT_H)
++#include <sys/param.h>
+ #include <sys/ucred.h>
+ #include <sys/mount.h>
+ #include <fstab.h>
+@@ -215,20 +221,28 @@ g_unix_is_mount_path_system_internal (co
+ "/", /* we already have "Filesystem root" in Nautilus */
+ "/bin",
+ "/boot",
++ "/compat/linux/proc",
++ "/compat/linux/sys",
+ "/dev",
+ "/etc",
+ "/home",
+ "/lib",
+ "/lib64",
++ "/libexec",
+ "/media",
+ "/mnt",
+ "/opt",
++ "/rescue",
+ "/root",
+ "/sbin",
+ "/srv",
+ "/tmp",
+ "/usr",
++ "/usr/X11R6",
+ "/usr/local",
++ "/usr/obj",
++ "/usr/ports",
++ "/usr/src",
+ "/var",
+ "/var/log/audit", /* https://bugzilla.redhat.com/show_bug.cgi?id=333041 */
+ "/var/tmp", /* https://bugzilla.redhat.com/show_bug.cgi?id=335241 */
+@@ -988,6 +1002,10 @@ get_mounts_timestamp (void)
+ if (stat (monitor_file, &buf) == 0)
+ return (guint64)buf.st_mtime;
+ }
++ else
++ {
++ return mount_poller_time;
++ }
+ return 0;
+ }
+
+@@ -1129,6 +1147,13 @@ g_unix_mount_monitor_finalize (GObject *
+ g_object_unref (monitor->mtab_monitor);
+ }
+
++ if (monitor->mount_poller_source > 0)
++ {
++ g_source_remove (monitor->mount_poller_source);
++ g_list_foreach (monitor->mount_poller_mounts, (GFunc)g_unix_mount_free, NULL);
++ g_list_free (monitor->mount_poller_mounts);
++ }
++
+ the_mount_monitor = NULL;
+
+ if (G_OBJECT_CLASS (g_unix_mount_monitor_parent_class)->finalize)
+@@ -1206,6 +1231,51 @@ mtab_file_changed (GFileMonitor *mo
+ g_signal_emit (mount_monitor, signals[MOUNTS_CHANGED], 0);
+ }
+
++static gboolean
++mount_change_poller (gpointer user_data)
++{
++ GUnixMountMonitor *mount_monitor;
++ GList *current_mounts;
++ gboolean has_changed = FALSE;
++
++ mount_monitor = user_data;
++ current_mounts = _g_get_unix_mounts ();
++
++ if (g_list_length (current_mounts) != g_list_length (mount_monitor->mount_poller_mounts))
++ {
++ g_list_foreach (mount_monitor->mount_poller_mounts, (GFunc)g_unix_mount_free, NULL);
++ has_changed = TRUE;
++ }
++ else
++ {
++ int i;
++
++ for (i = 0; i < g_list_length (current_mounts); i++)
++ {
++ GUnixMountEntry *m1;
++ GUnixMountEntry *m2;
++
++ m1 = (GUnixMountEntry *)g_list_nth_data (current_mounts, i);
++ m2 = (GUnixMountEntry *)g_list_nth_data (mount_monitor->mount_poller_mounts, i);
++ if (! has_changed && g_unix_mount_compare (m1, m2) != 0)
++ has_changed = TRUE;
++
++ g_unix_mount_free (m2);
++ }
++ }
++
++ g_list_free (mount_monitor->mount_poller_mounts);
++ mount_monitor->mount_poller_mounts = current_mounts;
++
++ if (has_changed)
++ {
++ mount_poller_time = (guint64)time (NULL);
++ g_signal_emit (mount_monitor, signals[MOUNTS_CHANGED], 0);
++ }
++
++ return TRUE;
++}
++
+ static void
+ g_unix_mount_monitor_init (GUnixMountMonitor *monitor)
+ {
+@@ -1228,6 +1298,12 @@ g_unix_mount_monitor_init (GUnixMountMon
+
+ g_signal_connect (monitor->mtab_monitor, "changed", (GCallback)mtab_file_changed, monitor);
+ }
++ else
++ {
++ monitor->mount_poller_mounts = _g_get_unix_mounts ();
++ mount_poller_time = (guint64)time (NULL);
++ monitor->mount_poller_source = g_timeout_add_seconds (3, (GSourceFunc)mount_change_poller, monitor);
++ }
+ }
+
+ /**
diff --git a/devel/glib20/files/patch-gio_gunixvolume.c b/devel/glib20/files/patch-gio_gunixvolume.c
new file mode 100644
index 000000000..b22563047
--- /dev/null
+++ b/devel/glib20/files/patch-gio_gunixvolume.c
@@ -0,0 +1,17 @@
+--- gio/gunixvolume.c.orig 2009-11-30 04:35:27.000000000 +0100
++++ gio/gunixvolume.c 2009-12-08 19:32:03.000000000 +0100
+@@ -465,9 +465,14 @@ g_unix_volume_eject (GVolume
+ gpointer user_data)
+ {
+ GUnixVolume *unix_volume = G_UNIX_VOLUME (volume);
++#ifdef __FreeBSD__
++ char *argv[] = {"cdcontrol", "-f", NULL, "eject", NULL};
++ argv[2] = unix_volume->device_path;
++#else
+ char *argv[] = { "eject", NULL, NULL };
+
+ argv[1] = unix_volume->device_path;
++#endif
+
+ eject_mount_do (volume, cancellable, callback, user_data, argv);
+ }
diff --git a/devel/glib20/files/patch-gio_libasyncns_asyncns.c b/devel/glib20/files/patch-gio_libasyncns_asyncns.c
new file mode 100644
index 000000000..966dd27a6
--- /dev/null
+++ b/devel/glib20/files/patch-gio_libasyncns_asyncns.c
@@ -0,0 +1,11 @@
+--- gio/libasyncns/asyncns.c.orig 2009-05-05 15:25:10.000000000 -0400
++++ gio/libasyncns/asyncns.c 2009-05-05 15:25:51.000000000 -0400
+@@ -35,6 +35,8 @@
+ #include <errno.h>
+ #include <sys/wait.h>
+ #include <sys/types.h>
++#include <sys/time.h>
++#include <sys/resource.h>
+ #include <pwd.h>
+ #include <netinet/in.h>
+ #include <arpa/nameser.h>
diff --git a/devel/glib20/files/patch-gio_tests_gdbus-peer.c b/devel/glib20/files/patch-gio_tests_gdbus-peer.c
new file mode 100644
index 000000000..1ab76dc8c
--- /dev/null
+++ b/devel/glib20/files/patch-gio_tests_gdbus-peer.c
@@ -0,0 +1,11 @@
+--- gio/tests/gdbus-peer.c.orig 2010-08-16 21:30:03.000000000 +0200
++++ gio/tests/gdbus-peer.c 2010-08-16 23:13:32.000000000 +0200
+@@ -42,6 +42,8 @@
+ #include <sys/socket.h>
+ #endif
+
++#include <sys/socket.h>
++
+ /* used in test_overflow */
+ #ifdef G_OS_UNIX
+ #include <gio/gunixconnection.h>
diff --git a/devel/glib20/files/patch-gio_xdgmime_xdgmime.c b/devel/glib20/files/patch-gio_xdgmime_xdgmime.c
new file mode 100644
index 000000000..8c36dc5d8
--- /dev/null
+++ b/devel/glib20/files/patch-gio_xdgmime_xdgmime.c
@@ -0,0 +1,11 @@
+--- gio/xdgmime/xdgmime.c.orig Mon Nov 8 22:25:27 2004
++++ gio/xdgmime/xdgmime.c Sat Nov 13 10:27:22 2004
+@@ -204,7 +204,7 @@
+
+ xdg_data_dirs = getenv ("XDG_DATA_DIRS");
+ if (xdg_data_dirs == NULL)
+- xdg_data_dirs = "/usr/local/share/:/usr/share/";
++ xdg_data_dirs = "/usr/local/share/";
+
+ ptr = xdg_data_dirs;
+
diff --git a/devel/glib20/files/patch-gio_xdgmime_xdgmimecache.h b/devel/glib20/files/patch-gio_xdgmime_xdgmimecache.h
new file mode 100644
index 000000000..039571d8b
--- /dev/null
+++ b/devel/glib20/files/patch-gio_xdgmime_xdgmimecache.h
@@ -0,0 +1,12 @@
+--- gio/xdgmime/xdgmimecache.h.orig 2008-06-12 10:25:40.000000000 -0400
++++ gio/xdgmime/xdgmimecache.h 2008-06-14 00:49:59.000000000 -0400
+@@ -46,6 +46,9 @@ typedef struct _XdgMimeCache XdgMimeCach
+ #define _xdg_mime_cache_get_icon XDG_RESERVED_ENTRY(cache_get_icon)
+ #define _xdg_mime_cache_get_generic_icon XDG_RESERVED_ENTRY(cache_get_generic_icon)
+ #define _xdg_mime_cache_glob_dump XDG_RESERVED_ENTRY(cache_glob_dump)
++#define _xdg_mime_cache_is_valid_mime_type XDG_RESERVED_ENTRY(cache_is_valid_mime_type)
++#define _xdg_mime_cache_mime_type_equal XDG_RESERVED_ENTRY(cache_mime_type_equal)
++#define _xdg_mime_cache_media_type_equal XDG_RESERVED_ENTRY(cache_media_type_equal)
+ #endif
+
+ extern XdgMimeCache **_caches;
diff --git a/devel/glib20/files/patch-glib::libcharset::Makefile.in b/devel/glib20/files/patch-glib::libcharset::Makefile.in
new file mode 100644
index 000000000..7175b8581
--- /dev/null
+++ b/devel/glib20/files/patch-glib::libcharset::Makefile.in
@@ -0,0 +1,31 @@
+--- glib/libcharset/Makefile.in.orig 2010-08-08 12:46:01.000000000 +0200
++++ glib/libcharset/Makefile.in 2010-08-08 12:46:01.000000000 +0200
+@@ -328,7 +328,7 @@ EXTRA_DIST = README config.charset ref-a
+ codeset.m4 update.sh make-patch.sh libcharset-glib.patch
+ TEST_PROGS =
+ INCLUDES = \
+- -DLIBDIR=\"$(libdir)\" $(config_h_INCLUDES)
++ -DLIBDIR=\"$(prefix)/libdata\" $(config_h_INCLUDES)
+
+ noinst_LTLIBRARIES = libcharset.la
+ libcharset_la_SOURCES = \
+@@ -336,8 +336,8 @@ libcharset_la_SOURCES = \
+ localcharset.h \
+ localcharset.c
+
+-charset_alias = $(DESTDIR)$(libdir)/charset.alias
+-charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
++charset_alias = $(DESTDIR)$(prefix)/libdata/charset.alias
++charset_tmp = $(DESTDIR)$(prefix)/libdata/charset.tmp
+ SUFFIXES = .sed .sin
+ CLEANFILES = charset.alias ref-add.sed ref-del.sed
+ all: all-am
+@@ -566,7 +566,7 @@ install-dvi: install-dvi-am
+
+ install-dvi-am:
+
+-install-exec-am: install-exec-local
++install-exec-am: # install-exec-local
+
+ install-html: install-html-am
+
diff --git a/devel/glib20/files/patch-glib_Makefile.in b/devel/glib20/files/patch-glib_Makefile.in
new file mode 100644
index 000000000..d58efb723
--- /dev/null
+++ b/devel/glib20/files/patch-glib_Makefile.in
@@ -0,0 +1,31 @@
+--- glib/Makefile.in.orig 2010-08-08 12:46:01.000000000 +0200
++++ glib/Makefile.in 2010-08-08 12:46:01.000000000 +0200
+@@ -529,7 +529,7 @@ BUILT_SOURCES = glibconfig-stamp $(am__a
+ #
+ DISTCLEANFILES = glibconfig-stamp glibconfig.h
+ CLEANFILES = $(am__append_2)
+-configexecincludedir = $(libdir)/glib-2.0/include
++configexecincludedir = $(includedir)/glib-2.0
+ nodist_configexecinclude_HEADERS = glibconfig.h
+ @HAVE_GOOD_PRINTF_FALSE@PRINTF_SUBDIR = gnulib
+ @HAVE_GOOD_PRINTF_FALSE@printf_la = gnulib/libgnulib.la
+@@ -1530,7 +1530,7 @@ info: info-recursive
+
+ info-am:
+
+-install-data-am: install-data-local install-dist_gdbSCRIPTS \
++install-data-am: install-data-local \
+ install-glibincludeHEADERS install-glibsubincludeHEADERS \
+ install-tapsetDATA
+ @$(NORMAL_INSTALL)
+@@ -1786,9 +1786,7 @@ distclean-local:
+ libglib-gdb.py: libglib-gdb.py.in
+ $(AM_V_GEN) $(SED) -e "s|\@datadir\@|$(datadir)|" $(srcdir)/libglib-gdb.py.in > libglib-gdb.py
+
+-install-data-hook: libglib-gdb.py
+- mkdir -p $(DESTDIR)$(datadir)/gdb/auto-load$(ABS_GLIB_RUNTIME_LIBDIR)
+- $(INSTALL) libglib-gdb.py $(DESTDIR)$(datadir)/gdb/auto-load$(ABS_GLIB_RUNTIME_LIBDIR)/libglib-2.0.so.0.$(LT_CURRENT).$(LT_REVISION)-gdb.py
++install-data-hook:
+ @HAVE_GLIB_RUNTIME_LIBDIR_TRUE@ mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
+ @HAVE_GLIB_RUNTIME_LIBDIR_TRUE@ mv $(DESTDIR)$(libdir)/libglib-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
+ @HAVE_GLIB_RUNTIME_LIBDIR_TRUE@ mv $(DESTDIR)$(libdir)/libglib-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
diff --git a/devel/glib20/files/patch-glib_gregex.c b/devel/glib20/files/patch-glib_gregex.c
new file mode 100644
index 000000000..ef7f0a87b
--- /dev/null
+++ b/devel/glib20/files/patch-glib_gregex.c
@@ -0,0 +1,13 @@
+--- glib/gregex.c.orig 2007-09-09 18:35:32.000000000 -0400
++++ glib/gregex.c 2007-09-09 18:36:05.000000000 -0400
+@@ -164,8 +164,10 @@ match_error (gint errcode)
+ case PCRE_ERROR_DFA_RECURSE:
+ case PCRE_ERROR_RECURSIONLIMIT:
+ return _("recursion limit reached");
++#ifdef PCRE_ERROR_NULLWSLIMIT
+ case PCRE_ERROR_NULLWSLIMIT:
+ return _("workspace limit for empty substrings reached");
++#endif
+ case PCRE_ERROR_BADNEWLINE:
+ return _("invalid combination of newline flags");
+ default:
diff --git a/devel/glib20/files/patch-glib_gutils.c b/devel/glib20/files/patch-glib_gutils.c
new file mode 100644
index 000000000..95a02e475
--- /dev/null
+++ b/devel/glib20/files/patch-glib_gutils.c
@@ -0,0 +1,20 @@
+--- glib/gutils.c.orig Wed Mar 23 09:55:02 2005
++++ glib/gutils.c Thu Apr 7 01:06:16 2005
+@@ -1929,7 +1929,7 @@ g_get_system_data_dirs (void)
+ data_dirs = (gchar *) g_getenv ("XDG_DATA_DIRS");
+
+ if (!data_dirs || !data_dirs[0])
+- data_dirs = "/usr/local/share/:/usr/share/";
++ data_dirs = "/usr/local/share/";
+
+ data_dir_vector = g_strsplit (data_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
+ #endif
+@@ -1983,7 +1983,7 @@ g_get_system_config_dirs (void)
+ conf_dirs = (gchar *) g_getenv ("XDG_CONFIG_DIRS");
+
+ if (!conf_dirs || !conf_dirs[0])
+- conf_dirs = "/etc/xdg";
++ conf_dirs = "/usr/local/etc/xdg:/etc/xdg";
+
+ conf_dir_vector = g_strsplit (conf_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
+ #endif
diff --git a/devel/glib20/files/patch-gmodule::gmodule-dl.c b/devel/glib20/files/patch-gmodule::gmodule-dl.c
new file mode 100644
index 000000000..586d7f80b
--- /dev/null
+++ b/devel/glib20/files/patch-gmodule::gmodule-dl.c
@@ -0,0 +1,20 @@
+--- gmodule/gmodule-dl.c.orig Sat Feb 17 08:28:07 2001
++++ gmodule/gmodule-dl.c Fri Jan 18 09:48:45 2002
+@@ -104,6 +104,7 @@
+ static gpointer
+ _g_module_self (void)
+ {
++#ifndef __FreeBSD__
+ gpointer handle;
+
+ /* to query symbols from the program itself, special link options
+@@ -115,6 +116,9 @@
+ g_module_set_error (fetch_dlerror (TRUE));
+
+ return handle;
++#else
++ return RTLD_DEFAULT;
++#endif
+ }
+
+ static void
diff --git a/devel/glib20/files/patch-gobject_Makefile.in b/devel/glib20/files/patch-gobject_Makefile.in
new file mode 100644
index 000000000..12a20215a
--- /dev/null
+++ b/devel/glib20/files/patch-gobject_Makefile.in
@@ -0,0 +1,22 @@
+--- gobject/Makefile.in.orig 2010-06-08 09:19:51.000000000 +0200
++++ gobject/Makefile.in 2010-06-08 09:20:41.000000000 +0200
+@@ -1236,7 +1236,7 @@ info: info-recursive
+
+ info-am:
+
+-install-data-am: install-data-local install-dist_gdbSCRIPTS \
++install-data-am: install-data-local \
+ install-libgobjectincludeHEADERS install-tapsetDATA
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-data-hook
+@@ -1460,9 +1460,7 @@ libgobject-gdb.py: libgobject-gdb.py.in
+ uninstall-gdb:
+ -rm -r $(DESTDIR)$(datadir)/gdb
+
+-install-data-hook: libgobject-gdb.py
+- mkdir -p $(DESTDIR)$(datadir)/gdb/auto-load/$(ABS_GLIB_RUNTIME_LIBDIR)
+- $(INSTALL) libgobject-gdb.py $(DESTDIR)$(datadir)/gdb/auto-load/$(ABS_GLIB_RUNTIME_LIBDIR)/libgobject-2.0.so.0.$(LT_CURRENT).$(LT_REVISION)-gdb.py
++install-data-hook:
+ @HAVE_GLIB_RUNTIME_LIBDIR_TRUE@ mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
+ @HAVE_GLIB_RUNTIME_LIBDIR_TRUE@ mv $(DESTDIR)$(libdir)/libgobject-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
+ @HAVE_GLIB_RUNTIME_LIBDIR_TRUE@ mv $(DESTDIR)$(libdir)/libgobject-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
diff --git a/devel/glib20/files/patch-gthread_gthread-posix.c b/devel/glib20/files/patch-gthread_gthread-posix.c
new file mode 100644
index 000000000..47c5ab8f1
--- /dev/null
+++ b/devel/glib20/files/patch-gthread_gthread-posix.c
@@ -0,0 +1,21 @@
+--- gthread/gthread-posix.c.orig Mon Nov 1 13:47:12 2004
++++ gthread/gthread-posix.c Wed Mar 9 14:21:20 2005
+@@ -125,7 +129,8 @@
+ g_thread_impl_init(void)
+ {
+ #ifdef _SC_THREAD_STACK_MIN
+- g_thread_min_stack_size = MAX (sysconf (_SC_THREAD_STACK_MIN), 0);
++ g_thread_min_stack_size = MAX (sysconf (_SC_THREAD_STACK_MIN),
++ g_thread_min_stack_size);
+ #endif /* _SC_THREAD_STACK_MIN */
+ #ifdef HAVE_PRIORITIES
+ # ifdef G_THREADS_IMPL_POSIX
+@@ -176,7 +181,7 @@
+ result = pthread_mutex_trylock ((pthread_mutex_t *) mutex);
+
+ #ifdef G_THREADS_IMPL_POSIX
+- if (result == EBUSY)
++ if ((result == EBUSY) || (result == EDEADLK))
+ return FALSE;
+ #else /* G_THREADS_IMPL_DCE */
+ if (result == 0)
diff --git a/devel/glib20/pkg-descr b/devel/glib20/pkg-descr
new file mode 100644
index 000000000..3b3059030
--- /dev/null
+++ b/devel/glib20/pkg-descr
@@ -0,0 +1,5 @@
+GLib provides a simple, abstract, and highly portable set of C support
+routines such as lists, trees, hashes, memory allocation, and much, much
+more. It is a foundation for writing portable applications.
+
+WWW: http://www.gtk.org/
diff --git a/devel/glib20/pkg-plist b/devel/glib20/pkg-plist
new file mode 100644
index 000000000..799f2b671
--- /dev/null
+++ b/devel/glib20/pkg-plist
@@ -0,0 +1,419 @@
+bin/gdbus
+bin/gio-querymodules
+bin/glib-compile-schemas
+bin/glib-genmarshal
+bin/glib-gettextize
+bin/glib-mkenums
+bin/gobject-query
+bin/gsettings
+bin/gtester
+bin/gtester-report
+etc/bash_completion.d/gdbus-bash-completion.sh
+etc/bash_completion.d/gsettings-bash-completion.sh
+include/gio-unix-2.0/gio/gdesktopappinfo.h
+include/gio-unix-2.0/gio/gfiledescriptorbased.h
+include/gio-unix-2.0/gio/gunixconnection.h
+include/gio-unix-2.0/gio/gunixcredentialsmessage.h
+include/gio-unix-2.0/gio/gunixfdlist.h
+include/gio-unix-2.0/gio/gunixfdmessage.h
+include/gio-unix-2.0/gio/gunixinputstream.h
+include/gio-unix-2.0/gio/gunixmounts.h
+include/gio-unix-2.0/gio/gunixoutputstream.h
+include/gio-unix-2.0/gio/gunixsocketaddress.h
+include/glib-2.0/gio/gaction.h
+include/glib-2.0/gio/gactiongroup.h
+include/glib-2.0/gio/gappinfo.h
+include/glib-2.0/gio/gapplication.h
+include/glib-2.0/gio/gapplicationcommandline.h
+include/glib-2.0/gio/gasyncinitable.h
+include/glib-2.0/gio/gasyncresult.h
+include/glib-2.0/gio/gbufferedinputstream.h
+include/glib-2.0/gio/gbufferedoutputstream.h
+include/glib-2.0/gio/gcancellable.h
+include/glib-2.0/gio/gcharsetconverter.h
+include/glib-2.0/gio/gcontenttype.h
+include/glib-2.0/gio/gconverter.h
+include/glib-2.0/gio/gconverterinputstream.h
+include/glib-2.0/gio/gconverteroutputstream.h
+include/glib-2.0/gio/gcredentials.h
+include/glib-2.0/gio/gdatainputstream.h
+include/glib-2.0/gio/gdataoutputstream.h
+include/glib-2.0/gio/gdbusaddress.h
+include/glib-2.0/gio/gdbusauthobserver.h
+include/glib-2.0/gio/gdbusconnection.h
+include/glib-2.0/gio/gdbuserror.h
+include/glib-2.0/gio/gdbusintrospection.h
+include/glib-2.0/gio/gdbusmessage.h
+include/glib-2.0/gio/gdbusmethodinvocation.h
+include/glib-2.0/gio/gdbusnameowning.h
+include/glib-2.0/gio/gdbusnamewatching.h
+include/glib-2.0/gio/gdbusproxy.h
+include/glib-2.0/gio/gdbusserver.h
+include/glib-2.0/gio/gdbusutils.h
+include/glib-2.0/gio/gdrive.h
+include/glib-2.0/gio/gemblem.h
+include/glib-2.0/gio/gemblemedicon.h
+include/glib-2.0/gio/gfile.h
+include/glib-2.0/gio/gfileattribute.h
+include/glib-2.0/gio/gfileenumerator.h
+include/glib-2.0/gio/gfileicon.h
+include/glib-2.0/gio/gfileinfo.h
+include/glib-2.0/gio/gfileinputstream.h
+include/glib-2.0/gio/gfileiostream.h
+include/glib-2.0/gio/gfilemonitor.h
+include/glib-2.0/gio/gfilenamecompleter.h
+include/glib-2.0/gio/gfileoutputstream.h
+include/glib-2.0/gio/gfilterinputstream.h
+include/glib-2.0/gio/gfilteroutputstream.h
+include/glib-2.0/gio/gicon.h
+include/glib-2.0/gio/ginetaddress.h
+include/glib-2.0/gio/ginetsocketaddress.h
+include/glib-2.0/gio/ginitable.h
+include/glib-2.0/gio/ginputstream.h
+include/glib-2.0/gio/gio.h
+include/glib-2.0/gio/gioenums.h
+include/glib-2.0/gio/gioenumtypes.h
+include/glib-2.0/gio/gioerror.h
+include/glib-2.0/gio/giomodule.h
+include/glib-2.0/gio/gioscheduler.h
+include/glib-2.0/gio/giostream.h
+include/glib-2.0/gio/giotypes.h
+include/glib-2.0/gio/gloadableicon.h
+include/glib-2.0/gio/gmemoryinputstream.h
+include/glib-2.0/gio/gmemoryoutputstream.h
+include/glib-2.0/gio/gmount.h
+include/glib-2.0/gio/gmountoperation.h
+include/glib-2.0/gio/gnativevolumemonitor.h
+include/glib-2.0/gio/gnetworkaddress.h
+include/glib-2.0/gio/gnetworkservice.h
+include/glib-2.0/gio/goutputstream.h
+include/glib-2.0/gio/gperiodic.h
+include/glib-2.0/gio/gpermission.h
+include/glib-2.0/gio/gpollableinputstream.h
+include/glib-2.0/gio/gpollableoutputstream.h
+include/glib-2.0/gio/gproxy.h
+include/glib-2.0/gio/gproxyaddress.h
+include/glib-2.0/gio/gproxyaddressenumerator.h
+include/glib-2.0/gio/gproxyresolver.h
+include/glib-2.0/gio/gsimpleaction.h
+include/glib-2.0/gio/gsimpleactiongroup.h
+include/glib-2.0/gio/gresolver.h
+include/glib-2.0/gio/gseekable.h
+include/glib-2.0/gio/gsettings.h
+include/glib-2.0/gio/gsettingsbackend.h
+include/glib-2.0/gio/gsimpleasyncresult.h
+include/glib-2.0/gio/gsimplepermission.h
+include/glib-2.0/gio/gsocket.h
+include/glib-2.0/gio/gsocketaddress.h
+include/glib-2.0/gio/gsocketaddressenumerator.h
+include/glib-2.0/gio/gsocketclient.h
+include/glib-2.0/gio/gsocketconnectable.h
+include/glib-2.0/gio/gsocketconnection.h
+include/glib-2.0/gio/gsocketcontrolmessage.h
+include/glib-2.0/gio/gsocketlistener.h
+include/glib-2.0/gio/gsocketservice.h
+include/glib-2.0/gio/gsrvtarget.h
+include/glib-2.0/gio/gtcpconnection.h
+include/glib-2.0/gio/gtcpwrapperconnection.h
+include/glib-2.0/gio/gthemedicon.h
+include/glib-2.0/gio/gthreadedsocketservice.h
+include/glib-2.0/gio/gtlsbackend.h
+include/glib-2.0/gio/gtlscertificate.h
+include/glib-2.0/gio/gtlsclientconnection.h
+include/glib-2.0/gio/gtlsconnection.h
+include/glib-2.0/gio/gtlsserverconnection.h
+include/glib-2.0/gio/gvfs.h
+include/glib-2.0/gio/gvolume.h
+include/glib-2.0/gio/gvolumemonitor.h
+include/glib-2.0/gio/gzlibcompressor.h
+include/glib-2.0/gio/gzlibdecompressor.h
+include/glib-2.0/glib-object.h
+include/glib-2.0/glib.h
+include/glib-2.0/glib/galloca.h
+include/glib-2.0/glib/garray.h
+include/glib-2.0/glib/gasyncqueue.h
+include/glib-2.0/glib/gatomic.h
+include/glib-2.0/glib/gbacktrace.h
+include/glib-2.0/glib/gbase64.h
+include/glib-2.0/glib/gbitlock.h
+include/glib-2.0/glib/gbookmarkfile.h
+include/glib-2.0/glib/gcache.h
+include/glib-2.0/glib/gchecksum.h
+include/glib-2.0/glib/gcompletion.h
+include/glib-2.0/glib/gconvert.h
+include/glib-2.0/glib/gdataset.h
+include/glib-2.0/glib/gdate.h
+include/glib-2.0/glib/gdatetime.h
+include/glib-2.0/glib/gdir.h
+include/glib-2.0/glib/gerror.h
+include/glib-2.0/glib/gfileutils.h
+include/glib-2.0/glib/ghash.h
+include/glib-2.0/glib/ghook.h
+include/glib-2.0/glib/ghostutils.h
+include/glib-2.0/glib/gi18n-lib.h
+include/glib-2.0/glib/gi18n.h
+include/glib-2.0/glib/giochannel.h
+include/glib-2.0/glib/gkeyfile.h
+include/glib-2.0/glib/glist.h
+include/glib-2.0/glib/gmacros.h
+include/glib-2.0/glib/gmain.h
+include/glib-2.0/glib/gmappedfile.h
+include/glib-2.0/glib/gmarkup.h
+include/glib-2.0/glib/gmem.h
+include/glib-2.0/glib/gmessages.h
+include/glib-2.0/glib/gnode.h
+include/glib-2.0/glib/goption.h
+include/glib-2.0/glib/gpattern.h
+include/glib-2.0/glib/gpoll.h
+include/glib-2.0/glib/gprimes.h
+include/glib-2.0/glib/gprintf.h
+include/glib-2.0/glib/gqsort.h
+include/glib-2.0/glib/gquark.h
+include/glib-2.0/glib/gqueue.h
+include/glib-2.0/glib/grand.h
+include/glib-2.0/glib/gregex.h
+include/glib-2.0/glib/grel.h
+include/glib-2.0/glib/gscanner.h
+include/glib-2.0/glib/gsequence.h
+include/glib-2.0/glib/gshell.h
+include/glib-2.0/glib/gslice.h
+include/glib-2.0/glib/gslist.h
+include/glib-2.0/glib/gspawn.h
+include/glib-2.0/glib/gstdio.h
+include/glib-2.0/glib/gstrfuncs.h
+include/glib-2.0/glib/gstring.h
+include/glib-2.0/glib/gtestutils.h
+include/glib-2.0/glib/gthread.h
+include/glib-2.0/glib/gthreadpool.h
+include/glib-2.0/glib/gtimer.h
+include/glib-2.0/glib/gtimezone.h
+include/glib-2.0/glib/gtree.h
+include/glib-2.0/glib/gtypes.h
+include/glib-2.0/glib/gunicode.h
+include/glib-2.0/glib/gurifuncs.h
+include/glib-2.0/glib/gutils.h
+include/glib-2.0/glib/gvariant.h
+include/glib-2.0/glib/gvarianttype.h
+include/glib-2.0/glib/gwin32.h
+include/glib-2.0/glibconfig.h
+include/glib-2.0/gmodule.h
+include/glib-2.0/gobject/gbinding.h
+include/glib-2.0/gobject/gboxed.h
+include/glib-2.0/gobject/gclosure.h
+include/glib-2.0/gobject/genums.h
+include/glib-2.0/gobject/gmarshal.h
+include/glib-2.0/gobject/gobject.h
+include/glib-2.0/gobject/gobjectnotifyqueue.c
+include/glib-2.0/gobject/gparam.h
+include/glib-2.0/gobject/gparamspecs.h
+include/glib-2.0/gobject/gsignal.h
+include/glib-2.0/gobject/gsourceclosure.h
+include/glib-2.0/gobject/gtype.h
+include/glib-2.0/gobject/gtypemodule.h
+include/glib-2.0/gobject/gtypeplugin.h
+include/glib-2.0/gobject/gvalue.h
+include/glib-2.0/gobject/gvaluearray.h
+include/glib-2.0/gobject/gvaluecollector.h
+include/glib-2.0/gobject/gvaluetypes.h
+lib/libgio-2.0.a
+lib/libgio-2.0.la
+lib/libgio-2.0.so
+lib/libgio-2.0.so.0
+lib/libglib-2.0.a
+lib/libglib-2.0.la
+lib/libglib-2.0.so
+lib/libglib-2.0.so.0
+lib/libgmodule-2.0.a
+lib/libgmodule-2.0.la
+lib/libgmodule-2.0.so
+lib/libgmodule-2.0.so.0
+lib/libgobject-2.0.a
+lib/libgobject-2.0.la
+lib/libgobject-2.0.so
+lib/libgobject-2.0.so.0
+lib/libgthread-2.0.a
+lib/libgthread-2.0.la
+lib/libgthread-2.0.so
+lib/libgthread-2.0.so.0
+libdata/pkgconfig/gio-2.0.pc
+libdata/pkgconfig/gio-unix-2.0.pc
+libdata/pkgconfig/glib-2.0.pc
+libdata/pkgconfig/gmodule-2.0.pc
+libdata/pkgconfig/gmodule-export-2.0.pc
+libdata/pkgconfig/gmodule-no-export-2.0.pc
+libdata/pkgconfig/gobject-2.0.pc
+libdata/pkgconfig/gthread-2.0.pc
+share/aclocal/glib-2.0.m4
+share/aclocal/glib-gettext.m4
+share/aclocal/gsettings.m4
+share/glib-2.0/gettext/mkinstalldirs
+share/glib-2.0/gettext/po/Makefile.in.in
+share/glib-2.0/schemas/gschema.dtd
+share/locale/af/LC_MESSAGES/glib20.mo
+share/locale/am/LC_MESSAGES/glib20.mo
+share/locale/ar/LC_MESSAGES/glib20.mo
+share/locale/as/LC_MESSAGES/glib20.mo
+share/locale/ast/LC_MESSAGES/glib20.mo
+share/locale/az/LC_MESSAGES/glib20.mo
+share/locale/be/LC_MESSAGES/glib20.mo
+share/locale/be@latin/LC_MESSAGES/glib20.mo
+share/locale/bg/LC_MESSAGES/glib20.mo
+share/locale/bn/LC_MESSAGES/glib20.mo
+share/locale/bn_IN/LC_MESSAGES/glib20.mo
+share/locale/bs/LC_MESSAGES/glib20.mo
+share/locale/ca/LC_MESSAGES/glib20.mo
+share/locale/ca@valencia/LC_MESSAGES/glib20.mo
+share/locale/cs/LC_MESSAGES/glib20.mo
+share/locale/cy/LC_MESSAGES/glib20.mo
+share/locale/da/LC_MESSAGES/glib20.mo
+share/locale/de/LC_MESSAGES/glib20.mo
+share/locale/dz/LC_MESSAGES/glib20.mo
+share/locale/el/LC_MESSAGES/glib20.mo
+share/locale/en_CA/LC_MESSAGES/glib20.mo
+share/locale/en_GB/LC_MESSAGES/glib20.mo
+share/locale/en@shaw/LC_MESSAGES/glib20.mo
+share/locale/eo/LC_MESSAGES/glib20.mo
+share/locale/es/LC_MESSAGES/glib20.mo
+share/locale/et/LC_MESSAGES/glib20.mo
+share/locale/eu/LC_MESSAGES/glib20.mo
+share/locale/fa/LC_MESSAGES/glib20.mo
+share/locale/fi/LC_MESSAGES/glib20.mo
+share/locale/fr/LC_MESSAGES/glib20.mo
+share/locale/ga/LC_MESSAGES/glib20.mo
+share/locale/gl/LC_MESSAGES/glib20.mo
+share/locale/gu/LC_MESSAGES/glib20.mo
+share/locale/he/LC_MESSAGES/glib20.mo
+share/locale/hi/LC_MESSAGES/glib20.mo
+share/locale/hr/LC_MESSAGES/glib20.mo
+share/locale/hu/LC_MESSAGES/glib20.mo
+share/locale/hy/LC_MESSAGES/glib20.mo
+share/locale/id/LC_MESSAGES/glib20.mo
+share/locale/is/LC_MESSAGES/glib20.mo
+share/locale/it/LC_MESSAGES/glib20.mo
+share/locale/ja/LC_MESSAGES/glib20.mo
+share/locale/ka/LC_MESSAGES/glib20.mo
+share/locale/kk/LC_MESSAGES/glib20.mo
+share/locale/kn/LC_MESSAGES/glib20.mo
+share/locale/ko/LC_MESSAGES/glib20.mo
+share/locale/ku/LC_MESSAGES/glib20.mo
+share/locale/lt/LC_MESSAGES/glib20.mo
+share/locale/lv/LC_MESSAGES/glib20.mo
+share/locale/mai/LC_MESSAGES/glib20.mo
+share/locale/mg/LC_MESSAGES/glib20.mo
+share/locale/mk/LC_MESSAGES/glib20.mo
+share/locale/ml/LC_MESSAGES/glib20.mo
+share/locale/mn/LC_MESSAGES/glib20.mo
+share/locale/mr/LC_MESSAGES/glib20.mo
+share/locale/ms/LC_MESSAGES/glib20.mo
+share/locale/nb/LC_MESSAGES/glib20.mo
+share/locale/nds/LC_MESSAGES/glib20.mo
+share/locale/ne/LC_MESSAGES/glib20.mo
+share/locale/nl/LC_MESSAGES/glib20.mo
+share/locale/nn/LC_MESSAGES/glib20.mo
+share/locale/oc/LC_MESSAGES/glib20.mo
+share/locale/or/LC_MESSAGES/glib20.mo
+share/locale/pa/LC_MESSAGES/glib20.mo
+share/locale/pl/LC_MESSAGES/glib20.mo
+share/locale/ps/LC_MESSAGES/glib20.mo
+share/locale/pt/LC_MESSAGES/glib20.mo
+share/locale/pt_BR/LC_MESSAGES/glib20.mo
+share/locale/ro/LC_MESSAGES/glib20.mo
+share/locale/ru/LC_MESSAGES/glib20.mo
+share/locale/rw/LC_MESSAGES/glib20.mo
+share/locale/si/LC_MESSAGES/glib20.mo
+share/locale/sk/LC_MESSAGES/glib20.mo
+share/locale/sl/LC_MESSAGES/glib20.mo
+share/locale/sq/LC_MESSAGES/glib20.mo
+share/locale/sr/LC_MESSAGES/glib20.mo
+share/locale/sr@ije/LC_MESSAGES/glib20.mo
+share/locale/sr@latin/LC_MESSAGES/glib20.mo
+share/locale/sv/LC_MESSAGES/glib20.mo
+share/locale/ta/LC_MESSAGES/glib20.mo
+share/locale/te/LC_MESSAGES/glib20.mo
+share/locale/th/LC_MESSAGES/glib20.mo
+share/locale/tl/LC_MESSAGES/glib20.mo
+share/locale/tr/LC_MESSAGES/glib20.mo
+share/locale/tt/LC_MESSAGES/glib20.mo
+share/locale/ug/LC_MESSAGES/glib20.mo
+share/locale/uk/LC_MESSAGES/glib20.mo
+share/locale/vi/LC_MESSAGES/glib20.mo
+share/locale/wa/LC_MESSAGES/glib20.mo
+share/locale/xh/LC_MESSAGES/glib20.mo
+share/locale/yi/LC_MESSAGES/glib20.mo
+share/locale/zh_CN/LC_MESSAGES/glib20.mo
+share/locale/zh_HK/LC_MESSAGES/glib20.mo
+share/locale/zh_TW/LC_MESSAGES/glib20.mo
+@exec mkdir -p %D/share/glib-2.0/schemas
+@dirrmtry share/GConf/gsettings
+@dirrmtry share/GConf
+@exec glib-compile-schemas --uninstall %D/share/glib-2.0/schemas
+@dirrm share/glib-2.0/schemas
+@dirrm share/glib-2.0/gettext/po
+@dirrm share/glib-2.0/gettext
+@dirrm share/glib-2.0
+@exec mkdir -p %D/lib/gio/modules
+@exec %D/bin/gio-querymodules %D/lib/gio/modules 2>/dev/null || /usr/bin/true
+@unexec /bin/rm -f %D/lib/gio/modules/giomodule.cache
+@dirrmtry lib/gio/modules
+@dirrmtry lib/gio
+@dirrm include/glib-2.0/gobject
+@dirrm include/glib-2.0/glib
+@dirrm include/glib-2.0/gio
+@dirrm include/glib-2.0
+@dirrm include/gio-unix-2.0/gio
+@dirrm include/gio-unix-2.0
+@dirrmtry share/locale/zh_HK/LC_MESSAGES
+@dirrmtry share/locale/zh_HK
+@dirrmtry share/locale/yi/LC_MESSAGES
+@dirrmtry share/locale/yi
+@dirrmtry share/locale/xh/LC_MESSAGES
+@dirrmtry share/locale/xh
+@dirrmtry share/locale/ug/LC_MESSAGES
+@dirrmtry share/locale/ug
+@dirrmtry share/locale/tt/LC_MESSAGES
+@dirrmtry share/locale/tt
+@dirrmtry share/locale/tl/LC_MESSAGES
+@dirrmtry share/locale/tl
+@dirrmtry share/locale/te/LC_MESSAGES
+@dirrmtry share/locale/te
+@dirrmtry share/locale/sr@latin/LC_MESSAGES
+@dirrmtry share/locale/sr@latin
+@dirrmtry share/locale/sr@ije/LC_MESSAGES
+@dirrmtry share/locale/sr@ije
+@dirrmtry share/locale/si/LC_MESSAGES
+@dirrmtry share/locale/si
+@dirrmtry share/locale/rw/LC_MESSAGES
+@dirrmtry share/locale/rw
+@dirrmtry share/locale/ps/LC_MESSAGES
+@dirrmtry share/locale/ps
+@dirrmtry share/locale/oc/LC_MESSAGES
+@dirrmtry share/locale/oc
+@dirrmtry share/locale/nds/LC_MESSAGES
+@dirrmtry share/locale/nds
+@dirrmtry share/locale/mr/LC_MESSAGES
+@dirrmtry share/locale/mr
+@dirrmtry share/locale/mg/LC_MESSAGES
+@dirrmtry share/locale/mg
+@dirrmtry share/locale/mai/LC_MESSAGES
+@dirrmtry share/locale/mai
+@dirrmtry share/locale/ku/LC_MESSAGES
+@dirrmtry share/locale/ku
+@dirrmtry share/locale/kk/LC_MESSAGES
+@dirrmtry share/locale/kk
+@dirrmtry share/locale/hy/LC_MESSAGES
+@dirrmtry share/locale/hy
+@dirrmtry share/locale/en@shaw/LC_MESSAGES
+@dirrmtry share/locale/en@shaw
+@dirrmtry share/locale/dz/LC_MESSAGES
+@dirrmtry share/locale/dz
+@dirrmtry share/locale/ca@valencia/LC_MESSAGES
+@dirrmtry share/locale/ca@valencia
+@dirrmtry share/locale/bn_IN/LC_MESSAGES
+@dirrmtry share/locale/bn_IN
+@dirrmtry share/locale/be@latin/LC_MESSAGES
+@dirrmtry share/locale/be@latin
+@dirrmtry share/locale/ast/LC_MESSAGES
+@dirrmtry share/locale/ast
+@dirrmtry share/locale/as/LC_MESSAGES
+@dirrmtry share/locale/as
+@dirrmtry etc/bash_completion.d