pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

wip/frida-glib2: import glib2-2.54.3



Module Name:	pkgsrc-wip
Committed By:	Kamil Rytarowski <n54%gmx.com@localhost>
Pushed By:	kamil
Date:		Mon Mar 12 21:49:22 2018 +0100
Changeset:	2aa791ade1230491888cbd91a5972b4d12b58b6b

Added Files:
	frida-glib2/DEINSTALL
	frida-glib2/DESCR
	frida-glib2/INSTALL
	frida-glib2/Makefile
	frida-glib2/Makefile.common
	frida-glib2/PLIST
	frida-glib2/buildlink3.mk
	frida-glib2/distinfo
	frida-glib2/files/modules.tmpl
	frida-glib2/files/schemas.tmpl
	frida-glib2/hacks.mk
	frida-glib2/modules.mk
	frida-glib2/patches/patch-Makefile.in
	frida-glib2/patches/patch-aa
	frida-glib2/patches/patch-ab
	frida-glib2/patches/patch-ac
	frida-glib2/patches/patch-ae
	frida-glib2/patches/patch-af
	frida-glib2/patches/patch-ah
	frida-glib2/patches/patch-aha
	frida-glib2/patches/patch-ak
	frida-glib2/patches/patch-al
	frida-glib2/patches/patch-am
	frida-glib2/patches/patch-an
	frida-glib2/patches/patch-cb
	frida-glib2/patches/patch-cc
	frida-glib2/patches/patch-cd
	frida-glib2/patches/patch-ck
	frida-glib2/patches/patch-cl
	frida-glib2/patches/patch-cm
	frida-glib2/patches/patch-gio_gdbus-2.0_codegen_gdbus-codegen.in
	frida-glib2/patches/patch-gio_gdbusauthmechanismsha1.c
	frida-glib2/patches/patch-gio_giomodule.c
	frida-glib2/patches/patch-gio_glocalfileinfo.c
	frida-glib2/patches/patch-gio_gresource-tool.c
	frida-glib2/patches/patch-gio_inotify_inotify-kernel.c
	frida-glib2/patches/patch-gio_tests_Makefile.in
	frida-glib2/patches/patch-glib_gmain.c
	frida-glib2/patches/patch-glib_gthread-posix.c
	frida-glib2/patches/patch-glib_gtimezone.c
	frida-glib2/patches/patch-gobject_Makefile.am
	frida-glib2/patches/patch-gobject_Makefile.in
	frida-glib2/patches/patch-gobject_glib-genmarshal.in
	frida-glib2/patches/patch-gobject_glib-mkenums.in
	frida-glib2/schemas.mk

Log Message:
wip/frida-glib2: import glib2-2.54.3

GLib provides the core application building blocks for libraries
and applications written in C.  It provides the core object system
used in GNOME, the main loop implementation, and a large set of
utility functions for strings and common data structures.

This package contains GLib version 2.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=2aa791ade1230491888cbd91a5972b4d12b58b6b

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 frida-glib2/DEINSTALL                              |  19 +
 frida-glib2/DESCR                                  |   6 +
 frida-glib2/INSTALL                                |  19 +
 frida-glib2/Makefile                               |  74 ++
 frida-glib2/Makefile.common                        | 115 +++
 frida-glib2/PLIST                                  | 808 +++++++++++++++++++++
 frida-glib2/buildlink3.mk                          |  27 +
 frida-glib2/distinfo                               |  38 +
 frida-glib2/files/modules.tmpl                     |  18 +
 frida-glib2/files/schemas.tmpl                     |  18 +
 frida-glib2/hacks.mk                               |  44 ++
 frida-glib2/modules.mk                             |  23 +
 frida-glib2/patches/patch-Makefile.in              |  16 +
 frida-glib2/patches/patch-aa                       | 237 ++++++
 frida-glib2/patches/patch-ab                       |  76 ++
 frida-glib2/patches/patch-ac                       |  21 +
 frida-glib2/patches/patch-ae                       |  16 +
 frida-glib2/patches/patch-af                       |  23 +
 frida-glib2/patches/patch-ah                       |  24 +
 frida-glib2/patches/patch-aha                      |  13 +
 frida-glib2/patches/patch-ak                       | 137 ++++
 frida-glib2/patches/patch-al                       |  22 +
 frida-glib2/patches/patch-am                       |  14 +
 frida-glib2/patches/patch-an                       | 155 ++++
 frida-glib2/patches/patch-cb                       |  13 +
 frida-glib2/patches/patch-cc                       |  16 +
 frida-glib2/patches/patch-cd                       |  41 ++
 frida-glib2/patches/patch-ck                       |  23 +
 frida-glib2/patches/patch-cl                       |  40 +
 frida-glib2/patches/patch-cm                       |  32 +
 .../patch-gio_gdbus-2.0_codegen_gdbus-codegen.in   |  13 +
 .../patches/patch-gio_gdbusauthmechanismsha1.c     |  15 +
 frida-glib2/patches/patch-gio_giomodule.c          |  37 +
 frida-glib2/patches/patch-gio_glocalfileinfo.c     |  15 +
 frida-glib2/patches/patch-gio_gresource-tool.c     |  16 +
 .../patches/patch-gio_inotify_inotify-kernel.c     |  16 +
 frida-glib2/patches/patch-gio_tests_Makefile.in    |  48 ++
 frida-glib2/patches/patch-glib_gmain.c             |  81 +++
 frida-glib2/patches/patch-glib_gthread-posix.c     |  36 +
 frida-glib2/patches/patch-glib_gtimezone.c         |  20 +
 frida-glib2/patches/patch-gobject_Makefile.am      |  14 +
 frida-glib2/patches/patch-gobject_Makefile.in      |  14 +
 .../patches/patch-gobject_glib-genmarshal.in       |  13 +
 frida-glib2/patches/patch-gobject_glib-mkenums.in  |  13 +
 frida-glib2/schemas.mk                             |  29 +
 45 files changed, 2508 insertions(+)

diffs:
diff --git a/frida-glib2/DEINSTALL b/frida-glib2/DEINSTALL
new file mode 100644
index 0000000000..976d643c21
--- /dev/null
+++ b/frida-glib2/DEINSTALL
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# $NetBSD: DEINSTALL,v 1.1 2011/02/20 17:40:54 jmmv Exp $
+#
+# Forcibly remove any auto-generated caches.  The cache-regeneration tools
+# should be doing this automatically when there are no more files in the
+# directories they scan, but they don't.  And, anyway, we need to do this
+# if we want in-place updates of glib2 to work correctly.
+#
+
+GIO_MODULES_DIR="@GIO_MODULES_DIR@"
+GLIB_SCHEMAS_DIR="@GLIB_SCHEMAS_DIR@"
+
+case ${STAGE} in
+DEINSTALL)
+	${RM} -f "${GIO_MODULES_DIR}/giomodule.cache"
+	${RM} -f "${GLIB_SCHEMAS_DIR}/gschemas.compiled"
+	;;
+esac
diff --git a/frida-glib2/DESCR b/frida-glib2/DESCR
new file mode 100644
index 0000000000..0b160c0cbb
--- /dev/null
+++ b/frida-glib2/DESCR
@@ -0,0 +1,6 @@
+GLib provides the core application building blocks for libraries
+and applications written in C.  It provides the core object system
+used in GNOME, the main loop implementation, and a large set of
+utility functions for strings and common data structures.
+
+This package contains GLib version 2.
diff --git a/frida-glib2/INSTALL b/frida-glib2/INSTALL
new file mode 100644
index 0000000000..c068471e20
--- /dev/null
+++ b/frida-glib2/INSTALL
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# $NetBSD: INSTALL,v 1.1 2011/02/20 17:40:54 jmmv Exp $
+#
+# Generate caches after installing the glib2 package.  This is theorically
+# not needed for a fresh install but is required for in-place updates to
+# work correctly.
+
+GIO_MODULES_DIR="@GIO_MODULES_DIR@"
+GIO_QUERYMODULES="@GIO_QUERYMODULES@"
+GLIB_COMPILE_SCHEMAS="@GLIB_COMPILE_SCHEMAS@"
+GLIB_SCHEMAS_DIR="@GLIB_SCHEMAS_DIR@"
+
+case ${STAGE} in
+POST-INSTALL)
+	"${GIO_QUERYMODULES}" "${GIO_MODULES_DIR}"
+	XDG_DATA_DIRS= "${GLIB_COMPILE_SCHEMAS}" "${GLIB_SCHEMAS_DIR}"
+	;;
+esac
diff --git a/frida-glib2/Makefile b/frida-glib2/Makefile
new file mode 100644
index 0000000000..4f98344b36
--- /dev/null
+++ b/frida-glib2/Makefile
@@ -0,0 +1,74 @@
+# $NetBSD: Makefile,v 1.238 2017/11/08 14:03:42 wiz Exp $
+
+.include "Makefile.common"
+
+CATEGORIES=		devel gnome
+
+COMMENT=		Some useful routines for C programming (glib2)
+
+USE_TOOLS+=		msgfmt perl:run readlink
+
+PKGCONFIG_OVERRIDE+=	glib-2.0.pc.in
+PKGCONFIG_OVERRIDE+=	gmodule-2.0.pc.in
+PKGCONFIG_OVERRIDE+=	gmodule-export-2.0.pc.in
+PKGCONFIG_OVERRIDE+=	gmodule-no-export-2.0.pc.in
+PKGCONFIG_OVERRIDE+=	gobject-2.0.pc.in
+PKGCONFIG_OVERRIDE+=	gthread-2.0.pc.in
+PKGCONFIG_OVERRIDE+=	gio-2.0.pc.in
+PKGCONFIG_OVERRIDE+=	gio-unix-2.0.pc.in
+PKGCONFIG_OVERRIDE+=	gio-windows-2.0.pc.in
+
+FILES_SUBST+=		GIO_MODULES_DIR=${PREFIX}/lib/gio/modules
+FILES_SUBST+=		GIO_QUERYMODULES=${PREFIX}/bin/gio-querymodules
+FILES_SUBST+=		GLIB_COMPILE_SCHEMAS=${PREFIX}/bin/glib-compile-schemas
+FILES_SUBST+=		GLIB_SCHEMAS_DIR=${PREFIX}/share/glib-2.0/schemas
+
+# gtester is the glib unit testing and reporting framework
+# agc doesn't want glib2 to depend on python so we install it
+# in a broken and useless state.
+CHECK_INTERPRETER_SKIP+=	bin/gtester-report
+CHECK_WRKREF_SKIP+=		bin/gtester-report
+
+# need pcre utf8 + unicode-properties
+BUILDLINK_API_DEPENDS.pcre+=	pcre>=8.31
+# to avoid pkg-config dependency, explicitly specify pcre location
+CONFIGURE_ARGS+=	PCRE_CFLAGS=-I${BUILDLINK_PREFIX.pcre}/include
+CONFIGURE_ARGS+=	PCRE_LIBS="${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.pcre}/lib -L${BUILDLINK_PREFIX.pcre}/lib -lpcre"
+
+# needs gz_header structure
+BUILDLINK_API_DEPENDS.zlib+=	zlib>=1.2.2.1
+
+LIBS.SunOS+=		-lnsl -lsocket
+CPPFLAGS.SunOS+=	-DBSD_COMP
+
+.if ${OBJECT_FMT} == "ELF"
+.  if ${OPSYS} == "SunOS"
+.    if empty(ABI:U:M64)
+# Solaris libelf in 32-bit mode does not support largefile.  We patch files
+# individually to force _FILE_OFFSET_BITS=32 but need to turn back on -lelf
+# after configure disabled it.
+CONFIGURE_ENV+=		LIBELF_LIBS='-lelf'
+.    endif
+.  else
+.  include "../../devel/libelf/buildlink3.mk"
+.  endif
+.endif
+
+# XXX: Kludge to avoid uncoditionally pick up some gtkdoc-* tools if gtk-doc
+# XXX: package is installed and then fails in the installation phase.
+CONFIGURE_ENV+=	ac_cv_prog_GTKDOC_CHECK= \
+		ac_cv_path_GTKDOC_CHECK_PATH= \
+		ac_cv_path_GTKDOC_REBASE= \
+		ac_cv_path_GTKDOC_MKPDF=
+
+# to run gdbus-codegen to generate gdbus-daemon-generated.{h,c}
+TOOL_DEPENDS+=		${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
+PYTHON_FOR_BUILD_ONLY?=	yes
+.include "../../lang/python/pyversion.mk"
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../devel/pcre/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../devel/libffi/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/frida-glib2/Makefile.common b/frida-glib2/Makefile.common
new file mode 100644
index 0000000000..a3455f60d2
--- /dev/null
+++ b/frida-glib2/Makefile.common
@@ -0,0 +1,115 @@
+# $NetBSD: Makefile.common,v 1.61 2018/01/28 16:51:50 wiz Exp $
+#
+# used by devel/glib2/Makefile
+# used by devel/gdbus-codegen/Makefile
+# used by devel/glib2-tools/Makefile
+# used by sysutils/gio-fam/Makefile
+
+# When updating this package, please apply patch-ak to configure.in and
+# then run a matching version of autoconf to regen patch-aa.
+DISTNAME=	glib-2.54.3
+PKGNAME=	${DISTNAME:S/glib/glib2/}
+CATEGORIES=	# empty; redefined in Makefile
+MASTER_SITES=	${MASTER_SITE_GNOME:=sources/glib/${PKGVERSION_NOREV:R}/}
+EXTRACT_SUFX=	.tar.xz
+
+MAINTAINER=	prlw1%cam.ac.uk@localhost
+HOMEPAGE=	https://developer.gnome.org/glib/
+COMMENT=	# empty; redefined in Makefile
+LICENSE=	gnu-lgpl-v2.1
+
+USE_PKGLOCALEDIR=	yes
+USE_TOOLS+=		gmake pkg-config
+USE_LANGUAGES=		c c++ c99
+USE_LIBTOOL=		yes
+TEST_TARGET=		check
+
+DISTINFO_FILE=		${.CURDIR}/../../devel/glib2/distinfo
+PATCHDIR=		${.CURDIR}/../../devel/glib2/patches
+
+GNU_CONFIGURE=		yes
+CONFIGURE_ENV+=		PKGLOCALEDIR=${PKGLOCALEDIR}
+CONFIGURE_ARGS+=	--disable-fam	# See sysutils/gio-fam.
+CONFIGURE_ARGS+=	--includedir=${PREFIX}/include/glib
+CONFIGURE_ARGS+=	${CONFIGURE_ARGS.${ICONV_TYPE}-iconv}
+CONFIGURE_ARGS+=	--with-pcre=system
+CONFIGURE_ARGS+=	--disable-dtrace
+CONFIGURE_ARGS+=	--disable-man  # Requires xsltproc and Docbook.
+# Avoid unnecessary autotools invocation.
+CONFIGURE_ARGS+=	--disable-maintainer-mode
+# Avoid linux dependency on libmount-dev
+CONFIGURE_ARGS.Linux+=	--disable-libmount
+
+# When ICONV_TYPE=gnu ensure we explicitly use the GNU version, to avoid
+# conflicts between iconv.h from converters/libiconv and builtin libiconv
+# which may be non-GNU.
+CONFIGURE_ARGS.gnu-iconv=	--with-libiconv=gnu
+
+CONFIGURE_ENV+=		PERL_PATH=${PERL5:Q}
+
+.include "../../mk/bsd.prefs.mk"
+
+CPPFLAGS+=		-DPREFIX="\"${PREFIX}\""
+CPPFLAGS+=		-DPKGLOCALEDIR="\"${PKGLOCALEDIR}\""
+CPPFLAGS+=		-DPKG_SYSCONFDIR="\"${PKG_SYSCONFDIR}\""
+
+.if ${OPSYS} == "FreeBSD"
+SUBST_CLASSES+=		thr
+SUBST_STAGE.thr=	post-patch
+SUBST_FILES.thr=	gthread/Makefile.in
+.  if ${OS_VERSION:R} >= 5
+SUBST_SED.thr+=		-e "s|@G_THREAD_LIBS_FOR_GTHREAD@|-lpthread|g"
+.  else
+SUBST_SED.thr+=		-e "s|@G_THREAD_LIBS_FOR_GTHREAD@|-Wc,-lc_r|g"
+.  endif
+SUBST_MESSAGE.thr=	Fixing libgthread.
+
+.endif
+
+# glib-2.48.0 dropped support for OSX < 10.9.0 just to add notification
+# support, so we just disable that feature for older releases, and work
+# around some ObjC detection.
+.if !empty(MACHINE_PLATFORM:MDarwin-[0-9].*) || \
+    !empty(MACHINE_PLATFORM:MDarwin-1[012].*)
+SUBST_CLASSES+=		gcocoa
+SUBST_STAGE.gcocoa=	pre-configure
+SUBST_FILES.gcocoa=	configure
+SUBST_FILES.gcocoa+=	gio/Makefile.in gio/giomodule.c
+SUBST_SED.gcocoa=	-e 's,10.9.0,10.0.0,g'
+SUBST_SED.gcocoa+=	-e 's,gcocoanotificationbackend.c,,g'
+SUBST_SED.gcocoa+=	-e 's,gnextstepsettingsbackend.c,gnextstepsettingsbackend.m,g'
+SUBST_SED.gcocoa+=	-e '/gcocoanotificationbackend/d'
+SUBST_SED.gcocoa+=	-e '/g_type_ensure.*g_cocoa_notification/d'
+SUBST_SED.gcocoa+=	-e '/-xobjective-c/d'
+
+pre-configure:
+	${MV} ${WRKSRC}/gio/gnextstepsettingsbackend.c \
+	    ${WRKSRC}/gio/gnextstepsettingsbackend.m
+.endif
+
+.if !empty(MACHINE_PLATFORM:MDarwin-[56].*-*)
+CONFIGURE_ENV+=		gt_cv_c_wchar_t=no
+.endif
+
+BUILDLINK_TRANSFORM.Darwin+=	rm:-Werror=missing-prototypes
+BUILDLINK_TRANSFORM.SunOS+=	rm:-Werror=format=2
+
+CONFIGURE_ENV.HPUX+=		ac_cv_func_mmap_fixed_mapped=yes
+
+.include "../../mk/dlopen.buildlink3.mk"
+
+.if !empty(MACHINE_PLATFORM:MIRIX-5*)
+CONFIGURE_ARGS+=	--disable-threads
+.else
+.include "../../mk/pthread.buildlink3.mk"
+.endif
+
+BUILD_DEFS+=		VARBASE
+SUBST_CLASSES+=		dbusdb
+SUBST_MESSAGE.dbusdb=	Adjust dbus machine uuid path to dbus package
+SUBST_STAGE.dbusdb=	post-patch
+SUBST_FILES.dbusdb=	gio/gdbusconnection.c
+SUBST_FILES.dbusdb+=	gio/gdbusprivate.c
+SUBST_FILES.dbusdb+=	po/glib20.pot
+SUBST_FILES.dbusdb+=	po/*.po
+SUBST_SED.dbusdb=	-e 's,/var/lib/dbus,${VARBASE}/db/dbus,g'
diff --git a/frida-glib2/PLIST b/frida-glib2/PLIST
new file mode 100644
index 0000000000..096f3afcc0
--- /dev/null
+++ b/frida-glib2/PLIST
@@ -0,0 +1,808 @@
+@comment $NetBSD: PLIST,v 1.97 2018/01/29 01:24:25 jklos Exp $
+bin/gapplication
+bin/gdbus
+bin/gio
+bin/gio-querymodules
+bin/glib-compile-resources
+bin/glib-compile-schemas
+bin/glib-gettextize
+bin/gobject-query
+bin/gresource
+bin/gsettings
+bin/gtester
+bin/gtester-report
+include/glib/gio-unix-2.0/gio/gdesktopappinfo.h
+include/glib/gio-unix-2.0/gio/gfiledescriptorbased.h
+include/glib/gio-unix-2.0/gio/gunixconnection.h
+include/glib/gio-unix-2.0/gio/gunixcredentialsmessage.h
+include/glib/gio-unix-2.0/gio/gunixfdlist.h
+include/glib/gio-unix-2.0/gio/gunixfdmessage.h
+include/glib/gio-unix-2.0/gio/gunixinputstream.h
+include/glib/gio-unix-2.0/gio/gunixmounts.h
+include/glib/gio-unix-2.0/gio/gunixoutputstream.h
+include/glib/gio-unix-2.0/gio/gunixsocketaddress.h
+include/glib/glib-2.0/gio/gaction.h
+include/glib/glib-2.0/gio/gactiongroup.h
+include/glib/glib-2.0/gio/gactiongroupexporter.h
+include/glib/glib-2.0/gio/gactionmap.h
+include/glib/glib-2.0/gio/gappinfo.h
+include/glib/glib-2.0/gio/gapplication.h
+include/glib/glib-2.0/gio/gapplicationcommandline.h
+include/glib/glib-2.0/gio/gasyncinitable.h
+include/glib/glib-2.0/gio/gasyncresult.h
+include/glib/glib-2.0/gio/gbufferedinputstream.h
+include/glib/glib-2.0/gio/gbufferedoutputstream.h
+include/glib/glib-2.0/gio/gbytesicon.h
+include/glib/glib-2.0/gio/gcancellable.h
+include/glib/glib-2.0/gio/gcharsetconverter.h
+include/glib/glib-2.0/gio/gcontenttype.h
+include/glib/glib-2.0/gio/gconverter.h
+include/glib/glib-2.0/gio/gconverterinputstream.h
+include/glib/glib-2.0/gio/gconverteroutputstream.h
+include/glib/glib-2.0/gio/gcredentials.h
+include/glib/glib-2.0/gio/gdatagrambased.h
+include/glib/glib-2.0/gio/gdatainputstream.h
+include/glib/glib-2.0/gio/gdataoutputstream.h
+include/glib/glib-2.0/gio/gdbusactiongroup.h
+include/glib/glib-2.0/gio/gdbusaddress.h
+include/glib/glib-2.0/gio/gdbusauthobserver.h
+include/glib/glib-2.0/gio/gdbusconnection.h
+include/glib/glib-2.0/gio/gdbuserror.h
+include/glib/glib-2.0/gio/gdbusinterface.h
+include/glib/glib-2.0/gio/gdbusinterfaceskeleton.h
+include/glib/glib-2.0/gio/gdbusintrospection.h
+include/glib/glib-2.0/gio/gdbusmenumodel.h
+include/glib/glib-2.0/gio/gdbusmessage.h
+include/glib/glib-2.0/gio/gdbusmethodinvocation.h
+include/glib/glib-2.0/gio/gdbusnameowning.h
+include/glib/glib-2.0/gio/gdbusnamewatching.h
+include/glib/glib-2.0/gio/gdbusobject.h
+include/glib/glib-2.0/gio/gdbusobjectmanager.h
+include/glib/glib-2.0/gio/gdbusobjectmanagerclient.h
+include/glib/glib-2.0/gio/gdbusobjectmanagerserver.h
+include/glib/glib-2.0/gio/gdbusobjectproxy.h
+include/glib/glib-2.0/gio/gdbusobjectskeleton.h
+include/glib/glib-2.0/gio/gdbusproxy.h
+include/glib/glib-2.0/gio/gdbusserver.h
+include/glib/glib-2.0/gio/gdbusutils.h
+include/glib/glib-2.0/gio/gdrive.h
+include/glib/glib-2.0/gio/gdtlsclientconnection.h
+include/glib/glib-2.0/gio/gdtlsconnection.h
+include/glib/glib-2.0/gio/gdtlsserverconnection.h
+include/glib/glib-2.0/gio/gemblem.h
+include/glib/glib-2.0/gio/gemblemedicon.h
+include/glib/glib-2.0/gio/gfile.h
+include/glib/glib-2.0/gio/gfileattribute.h
+include/glib/glib-2.0/gio/gfileenumerator.h
+include/glib/glib-2.0/gio/gfileicon.h
+include/glib/glib-2.0/gio/gfileinfo.h
+include/glib/glib-2.0/gio/gfileinputstream.h
+include/glib/glib-2.0/gio/gfileiostream.h
+include/glib/glib-2.0/gio/gfilemonitor.h
+include/glib/glib-2.0/gio/gfilenamecompleter.h
+include/glib/glib-2.0/gio/gfileoutputstream.h
+include/glib/glib-2.0/gio/gfilterinputstream.h
+include/glib/glib-2.0/gio/gfilteroutputstream.h
+include/glib/glib-2.0/gio/gicon.h
+include/glib/glib-2.0/gio/ginetaddress.h
+include/glib/glib-2.0/gio/ginetaddressmask.h
+include/glib/glib-2.0/gio/ginetsocketaddress.h
+include/glib/glib-2.0/gio/ginitable.h
+include/glib/glib-2.0/gio/ginputstream.h
+include/glib/glib-2.0/gio/gio-autocleanups.h
+include/glib/glib-2.0/gio/gio.h
+include/glib/glib-2.0/gio/gioenums.h
+include/glib/glib-2.0/gio/gioenumtypes.h
+include/glib/glib-2.0/gio/gioerror.h
+include/glib/glib-2.0/gio/giomodule.h
+include/glib/glib-2.0/gio/gioscheduler.h
+include/glib/glib-2.0/gio/giostream.h
+include/glib/glib-2.0/gio/giotypes.h
+include/glib/glib-2.0/gio/glistmodel.h
+include/glib/glib-2.0/gio/gliststore.h
+include/glib/glib-2.0/gio/gloadableicon.h
+include/glib/glib-2.0/gio/gmemoryinputstream.h
+include/glib/glib-2.0/gio/gmemoryoutputstream.h
+include/glib/glib-2.0/gio/gmenu.h
+include/glib/glib-2.0/gio/gmenuexporter.h
+include/glib/glib-2.0/gio/gmenumodel.h
+include/glib/glib-2.0/gio/gmount.h
+include/glib/glib-2.0/gio/gmountoperation.h
+include/glib/glib-2.0/gio/gnativevolumemonitor.h
+include/glib/glib-2.0/gio/gnetworkaddress.h
+include/glib/glib-2.0/gio/gnetworking.h
+include/glib/glib-2.0/gio/gnetworkmonitor.h
+include/glib/glib-2.0/gio/gnetworkservice.h
+include/glib/glib-2.0/gio/gnotification.h
+include/glib/glib-2.0/gio/goutputstream.h
+include/glib/glib-2.0/gio/gpermission.h
+include/glib/glib-2.0/gio/gpollableinputstream.h
+include/glib/glib-2.0/gio/gpollableoutputstream.h
+include/glib/glib-2.0/gio/gpollableutils.h
+include/glib/glib-2.0/gio/gpropertyaction.h
+include/glib/glib-2.0/gio/gproxy.h
+include/glib/glib-2.0/gio/gproxyaddress.h
+include/glib/glib-2.0/gio/gproxyaddressenumerator.h
+include/glib/glib-2.0/gio/gproxyresolver.h
+include/glib/glib-2.0/gio/gremoteactiongroup.h
+include/glib/glib-2.0/gio/gresolver.h
+include/glib/glib-2.0/gio/gresource.h
+include/glib/glib-2.0/gio/gseekable.h
+include/glib/glib-2.0/gio/gsettings.h
+include/glib/glib-2.0/gio/gsettingsbackend.h
+include/glib/glib-2.0/gio/gsettingsschema.h
+include/glib/glib-2.0/gio/gsimpleaction.h
+include/glib/glib-2.0/gio/gsimpleactiongroup.h
+include/glib/glib-2.0/gio/gsimpleasyncresult.h
+include/glib/glib-2.0/gio/gsimpleiostream.h
+include/glib/glib-2.0/gio/gsimplepermission.h
+include/glib/glib-2.0/gio/gsimpleproxyresolver.h
+include/glib/glib-2.0/gio/gsocket.h
+include/glib/glib-2.0/gio/gsocketaddress.h
+include/glib/glib-2.0/gio/gsocketaddressenumerator.h
+include/glib/glib-2.0/gio/gsocketclient.h
+include/glib/glib-2.0/gio/gsocketconnectable.h
+include/glib/glib-2.0/gio/gsocketconnection.h
+include/glib/glib-2.0/gio/gsocketcontrolmessage.h
+include/glib/glib-2.0/gio/gsocketlistener.h
+include/glib/glib-2.0/gio/gsocketservice.h
+include/glib/glib-2.0/gio/gsrvtarget.h
+include/glib/glib-2.0/gio/gsubprocess.h
+include/glib/glib-2.0/gio/gsubprocesslauncher.h
+include/glib/glib-2.0/gio/gtask.h
+include/glib/glib-2.0/gio/gtcpconnection.h
+include/glib/glib-2.0/gio/gtcpwrapperconnection.h
+include/glib/glib-2.0/gio/gtestdbus.h
+include/glib/glib-2.0/gio/gthemedicon.h
+include/glib/glib-2.0/gio/gthreadedsocketservice.h
+include/glib/glib-2.0/gio/gtlsbackend.h
+include/glib/glib-2.0/gio/gtlscertificate.h
+include/glib/glib-2.0/gio/gtlsclientconnection.h
+include/glib/glib-2.0/gio/gtlsconnection.h
+include/glib/glib-2.0/gio/gtlsdatabase.h
+include/glib/glib-2.0/gio/gtlsfiledatabase.h
+include/glib/glib-2.0/gio/gtlsinteraction.h
+include/glib/glib-2.0/gio/gtlspassword.h
+include/glib/glib-2.0/gio/gtlsserverconnection.h
+include/glib/glib-2.0/gio/gvfs.h
+include/glib/glib-2.0/gio/gvolume.h
+include/glib/glib-2.0/gio/gvolumemonitor.h
+include/glib/glib-2.0/gio/gzlibcompressor.h
+include/glib/glib-2.0/gio/gzlibdecompressor.h
+include/glib/glib-2.0/glib-object.h
+include/glib/glib-2.0/glib-unix.h
+include/glib/glib-2.0/glib.h
+include/glib/glib-2.0/glib/deprecated/gallocator.h
+include/glib/glib-2.0/glib/deprecated/gcache.h
+include/glib/glib-2.0/glib/deprecated/gcompletion.h
+include/glib/glib-2.0/glib/deprecated/gmain.h
+include/glib/glib-2.0/glib/deprecated/grel.h
+include/glib/glib-2.0/glib/deprecated/gthread.h
+include/glib/glib-2.0/glib/galloca.h
+include/glib/glib-2.0/glib/garray.h
+include/glib/glib-2.0/glib/gasyncqueue.h
+include/glib/glib-2.0/glib/gatomic.h
+include/glib/glib-2.0/glib/gbacktrace.h
+include/glib/glib-2.0/glib/gbase64.h
+include/glib/glib-2.0/glib/gbitlock.h
+include/glib/glib-2.0/glib/gbookmarkfile.h
+include/glib/glib-2.0/glib/gbytes.h
+include/glib/glib-2.0/glib/gcharset.h
+include/glib/glib-2.0/glib/gchecksum.h
+include/glib/glib-2.0/glib/gconvert.h
+include/glib/glib-2.0/glib/gdataset.h
+include/glib/glib-2.0/glib/gdate.h
+include/glib/glib-2.0/glib/gdatetime.h
+include/glib/glib-2.0/glib/gdir.h
+include/glib/glib-2.0/glib/genviron.h
+include/glib/glib-2.0/glib/gerror.h
+include/glib/glib-2.0/glib/gfileutils.h
+include/glib/glib-2.0/glib/ggettext.h
+include/glib/glib-2.0/glib/ghash.h
+include/glib/glib-2.0/glib/ghmac.h
+include/glib/glib-2.0/glib/ghook.h
+include/glib/glib-2.0/glib/ghostutils.h
+include/glib/glib-2.0/glib/gi18n-lib.h
+include/glib/glib-2.0/glib/gi18n.h
+include/glib/glib-2.0/glib/giochannel.h
+include/glib/glib-2.0/glib/gkeyfile.h
+include/glib/glib-2.0/glib/glib-autocleanups.h
+include/glib/glib-2.0/glib/glist.h
+include/glib/glib-2.0/glib/gmacros.h
+include/glib/glib-2.0/glib/gmain.h
+include/glib/glib-2.0/glib/gmappedfile.h
+include/glib/glib-2.0/glib/gmarkup.h
+include/glib/glib-2.0/glib/gmem.h
+include/glib/glib-2.0/glib/gmessages.h
+include/glib/glib-2.0/glib/gnode.h
+include/glib/glib-2.0/glib/goption.h
+include/glib/glib-2.0/glib/gpattern.h
+include/glib/glib-2.0/glib/gpoll.h
+include/glib/glib-2.0/glib/gprimes.h
+include/glib/glib-2.0/glib/gprintf.h
+include/glib/glib-2.0/glib/gqsort.h
+include/glib/glib-2.0/glib/gquark.h
+include/glib/glib-2.0/glib/gqueue.h
+include/glib/glib-2.0/glib/grand.h
+include/glib/glib-2.0/glib/gregex.h
+include/glib/glib-2.0/glib/gscanner.h
+include/glib/glib-2.0/glib/gsequence.h
+include/glib/glib-2.0/glib/gshell.h
+include/glib/glib-2.0/glib/gslice.h
+include/glib/glib-2.0/glib/gslist.h
+include/glib/glib-2.0/glib/gspawn.h
+include/glib/glib-2.0/glib/gstdio.h
+include/glib/glib-2.0/glib/gstrfuncs.h
+include/glib/glib-2.0/glib/gstring.h
+include/glib/glib-2.0/glib/gstringchunk.h
+include/glib/glib-2.0/glib/gtestutils.h
+include/glib/glib-2.0/glib/gthread.h
+include/glib/glib-2.0/glib/gthreadpool.h
+include/glib/glib-2.0/glib/gtimer.h
+include/glib/glib-2.0/glib/gtimezone.h
+include/glib/glib-2.0/glib/gtrashstack.h
+include/glib/glib-2.0/glib/gtree.h
+include/glib/glib-2.0/glib/gtypes.h
+include/glib/glib-2.0/glib/gunicode.h
+include/glib/glib-2.0/glib/gurifuncs.h
+include/glib/glib-2.0/glib/gutils.h
+include/glib/glib-2.0/glib/guuid.h
+include/glib/glib-2.0/glib/gvariant.h
+include/glib/glib-2.0/glib/gvarianttype.h
+include/glib/glib-2.0/glib/gversion.h
+include/glib/glib-2.0/glib/gversionmacros.h
+include/glib/glib-2.0/glib/gwin32.h
+include/glib/glib-2.0/gmodule.h
+include/glib/glib-2.0/gobject/gbinding.h
+include/glib/glib-2.0/gobject/gboxed.h
+include/glib/glib-2.0/gobject/gclosure.h
+include/glib/glib-2.0/gobject/genums.h
+include/glib/glib-2.0/gobject/glib-types.h
+include/glib/glib-2.0/gobject/gmarshal.h
+include/glib/glib-2.0/gobject/gobject-autocleanups.h
+include/glib/glib-2.0/gobject/gobject.h
+include/glib/glib-2.0/gobject/gobjectnotifyqueue.c
+include/glib/glib-2.0/gobject/gparam.h
+include/glib/glib-2.0/gobject/gparamspecs.h
+include/glib/glib-2.0/gobject/gsignal.h
+include/glib/glib-2.0/gobject/gsourceclosure.h
+include/glib/glib-2.0/gobject/gtype.h
+include/glib/glib-2.0/gobject/gtypemodule.h
+include/glib/glib-2.0/gobject/gtypeplugin.h
+include/glib/glib-2.0/gobject/gvalue.h
+include/glib/glib-2.0/gobject/gvaluearray.h
+include/glib/glib-2.0/gobject/gvaluecollector.h
+include/glib/glib-2.0/gobject/gvaluetypes.h
+lib/glib-2.0/include/glibconfig.h
+lib/libgio-2.0.la
+lib/libglib-2.0.la
+lib/libgmodule-2.0.la
+lib/libgobject-2.0.la
+lib/libgthread-2.0.la
+lib/pkgconfig/gio-2.0.pc
+lib/pkgconfig/gio-unix-2.0.pc
+lib/pkgconfig/glib-2.0.pc
+lib/pkgconfig/gmodule-2.0.pc
+lib/pkgconfig/gmodule-export-2.0.pc
+lib/pkgconfig/gmodule-no-export-2.0.pc
+lib/pkgconfig/gobject-2.0.pc
+lib/pkgconfig/gthread-2.0.pc
+share/aclocal/glib-2.0.m4
+share/aclocal/glib-gettext.m4
+share/aclocal/gsettings.m4
+share/gdb/auto-load${LOCALBASE}/lib/libglib-2.0.so.0.5400.3-gdb.py
+share/gdb/auto-load${LOCALBASE}/lib/libgobject-2.0.so.0.5400.3-gdb.py
+share/gettext/its/gschema.its
+share/gettext/its/gschema.loc
+share/glib-2.0/gdb/glib_gdb.py
+share/glib-2.0/gdb/gobject_gdb.py
+share/glib-2.0/gettext/po/Makefile.in.in
+share/glib-2.0/schemas/gschema.dtd
+share/glib-2.0/valgrind/glib.supp
+share/gtk-doc/html/gio/GAction.html
+share/gtk-doc/html/gio/GActionGroup.html
+share/gtk-doc/html/gio/GActionMap.html
+share/gtk-doc/html/gio/GAppInfo.html
+share/gtk-doc/html/gio/GAppInfoMonitor.html
+share/gtk-doc/html/gio/GApplication.html
+share/gtk-doc/html/gio/GApplicationCommandLine.html
+share/gtk-doc/html/gio/GAsyncInitable.html
+share/gtk-doc/html/gio/GAsyncResult.html
+share/gtk-doc/html/gio/GBufferedInputStream.html
+share/gtk-doc/html/gio/GBufferedOutputStream.html
+share/gtk-doc/html/gio/GBytesIcon.html
+share/gtk-doc/html/gio/GCancellable.html
+share/gtk-doc/html/gio/GCharsetConverter.html
+share/gtk-doc/html/gio/GConverter.html
+share/gtk-doc/html/gio/GCredentials.html
+share/gtk-doc/html/gio/GDBusActionGroup.html
+share/gtk-doc/html/gio/GDBusAuthObserver.html
+share/gtk-doc/html/gio/GDBusConnection.html
+share/gtk-doc/html/gio/GDBusInterface.html
+share/gtk-doc/html/gio/GDBusInterfaceSkeleton.html
+share/gtk-doc/html/gio/GDBusMenuModel.html
+share/gtk-doc/html/gio/GDBusMessage.html
+share/gtk-doc/html/gio/GDBusMethodInvocation.html
+share/gtk-doc/html/gio/GDBusObject.html
+share/gtk-doc/html/gio/GDBusObjectManager.html
+share/gtk-doc/html/gio/GDBusObjectManagerClient.html
+share/gtk-doc/html/gio/GDBusObjectManagerServer.html
+share/gtk-doc/html/gio/GDBusObjectProxy.html
+share/gtk-doc/html/gio/GDBusObjectSkeleton.html
+share/gtk-doc/html/gio/GDBusProxy.html
+share/gtk-doc/html/gio/GDBusServer.html
+share/gtk-doc/html/gio/GDataInputStream.html
+share/gtk-doc/html/gio/GDataOutputStream.html
+share/gtk-doc/html/gio/GDatagramBased.html
+share/gtk-doc/html/gio/GDrive.html
+share/gtk-doc/html/gio/GDtlsClientConnection.html
+share/gtk-doc/html/gio/GDtlsConnection.html
+share/gtk-doc/html/gio/GDtlsServerConnection.html
+share/gtk-doc/html/gio/GEmblem.html
+share/gtk-doc/html/gio/GEmblemedIcon.html
+share/gtk-doc/html/gio/GFile.html
+share/gtk-doc/html/gio/GFileDescriptorBased.html
+share/gtk-doc/html/gio/GFileEnumerator.html
+share/gtk-doc/html/gio/GFileIOStream.html
+share/gtk-doc/html/gio/GFileIcon.html
+share/gtk-doc/html/gio/GFileInfo.html
+share/gtk-doc/html/gio/GFileInputStream.html
+share/gtk-doc/html/gio/GFileMonitor.html
+share/gtk-doc/html/gio/GFileOutputStream.html
+share/gtk-doc/html/gio/GFilenameCompleter.html
+share/gtk-doc/html/gio/GFilterInputStream.html
+share/gtk-doc/html/gio/GFilterOutputStream.html
+share/gtk-doc/html/gio/GIOModule.html
+share/gtk-doc/html/gio/GIOStream.html
+share/gtk-doc/html/gio/GIcon.html
+share/gtk-doc/html/gio/GInetAddress.html
+share/gtk-doc/html/gio/GInetAddressMask.html
+share/gtk-doc/html/gio/GInetSocketAddress.html
+share/gtk-doc/html/gio/GInitable.html
+share/gtk-doc/html/gio/GInputStream.html
+share/gtk-doc/html/gio/GListModel.html
+share/gtk-doc/html/gio/GListStore.html
+share/gtk-doc/html/gio/GLoadableIcon.html
+share/gtk-doc/html/gio/GMemoryInputStream.html
+share/gtk-doc/html/gio/GMemoryOutputStream.html
+share/gtk-doc/html/gio/GMenu.html
+share/gtk-doc/html/gio/GMenuModel.html
+share/gtk-doc/html/gio/GMount.html
+share/gtk-doc/html/gio/GMountOperation.html
+share/gtk-doc/html/gio/GNetworkAddress.html
+share/gtk-doc/html/gio/GNetworkMonitor.html
+share/gtk-doc/html/gio/GNetworkService.html
+share/gtk-doc/html/gio/GNotification.html
+share/gtk-doc/html/gio/GOutputStream.html
+share/gtk-doc/html/gio/GPermission.html
+share/gtk-doc/html/gio/GPollableInputStream.html
+share/gtk-doc/html/gio/GPollableOutputStream.html
+share/gtk-doc/html/gio/GPropertyAction.html
+share/gtk-doc/html/gio/GProxy.html
+share/gtk-doc/html/gio/GProxyAddress.html
+share/gtk-doc/html/gio/GProxyAddressEnumerator.html
+share/gtk-doc/html/gio/GProxyResolver.html
+share/gtk-doc/html/gio/GRemoteActionGroup.html
+share/gtk-doc/html/gio/GResolver.html
+share/gtk-doc/html/gio/GResource.html
+share/gtk-doc/html/gio/GSeekable.html
+share/gtk-doc/html/gio/GSettings.html
+share/gtk-doc/html/gio/GSettingsBackend.html
+share/gtk-doc/html/gio/GSimpleAction.html
+share/gtk-doc/html/gio/GSimpleActionGroup.html
+share/gtk-doc/html/gio/GSimpleAsyncResult.html
+share/gtk-doc/html/gio/GSimpleIOStream.html
+share/gtk-doc/html/gio/GSimplePermission.html
+share/gtk-doc/html/gio/GSimpleProxyResolver.html
+share/gtk-doc/html/gio/GSocket.html
+share/gtk-doc/html/gio/GSocketAddress.html
+share/gtk-doc/html/gio/GSocketAddressEnumerator.html
+share/gtk-doc/html/gio/GSocketClient.html
+share/gtk-doc/html/gio/GSocketConnectable.html
+share/gtk-doc/html/gio/GSocketConnection.html
+share/gtk-doc/html/gio/GSocketControlMessage.html
+share/gtk-doc/html/gio/GSocketListener.html
+share/gtk-doc/html/gio/GSocketService.html
+share/gtk-doc/html/gio/GSrvTarget.html
+share/gtk-doc/html/gio/GSubprocess.html
+share/gtk-doc/html/gio/GSubprocessLauncher.html
+share/gtk-doc/html/gio/GTask.html
+share/gtk-doc/html/gio/GTcpConnection.html
+share/gtk-doc/html/gio/GTcpWrapperConnection.html
+share/gtk-doc/html/gio/GTestDBus.html
+share/gtk-doc/html/gio/GThemedIcon.html
+share/gtk-doc/html/gio/GThreadedSocketService.html
+share/gtk-doc/html/gio/GTlsBackend.html
+share/gtk-doc/html/gio/GTlsCertificate.html
+share/gtk-doc/html/gio/GTlsClientConnection.html
+share/gtk-doc/html/gio/GTlsConnection.html
+share/gtk-doc/html/gio/GTlsDatabase.html
+share/gtk-doc/html/gio/GTlsFileDatabase.html
+share/gtk-doc/html/gio/GTlsInteraction.html
+share/gtk-doc/html/gio/GTlsPassword.html
+share/gtk-doc/html/gio/GTlsServerConnection.html
+share/gtk-doc/html/gio/GUnixConnection.html
+share/gtk-doc/html/gio/GUnixCredentialsMessage.html
+share/gtk-doc/html/gio/GUnixFDList.html
+share/gtk-doc/html/gio/GUnixFDMessage.html
+share/gtk-doc/html/gio/GUnixInputStream.html
+share/gtk-doc/html/gio/GUnixOutputStream.html
+share/gtk-doc/html/gio/GUnixSocketAddress.html
+share/gtk-doc/html/gio/GVfs.html
+share/gtk-doc/html/gio/GVolume.html
+share/gtk-doc/html/gio/GVolumeMonitor.html
+share/gtk-doc/html/gio/GZlibCompressor.html
+share/gtk-doc/html/gio/GZlibDecompressor.html
+share/gtk-doc/html/gio/annotation-glossary.html
+share/gtk-doc/html/gio/api-index-full.html
+share/gtk-doc/html/gio/application.html
+share/gtk-doc/html/gio/async.html
+share/gtk-doc/html/gio/ch01.html
+share/gtk-doc/html/gio/ch02.html
+share/gtk-doc/html/gio/ch03.html
+share/gtk-doc/html/gio/ch32.html
+share/gtk-doc/html/gio/ch33.html
+share/gtk-doc/html/gio/ch33s02.html
+share/gtk-doc/html/gio/ch33s03.html
+share/gtk-doc/html/gio/ch34.html
+share/gtk-doc/html/gio/ch34s02.html
+share/gtk-doc/html/gio/ch34s03.html
+share/gtk-doc/html/gio/ch34s04.html
+share/gtk-doc/html/gio/ch34s05.html
+share/gtk-doc/html/gio/ch34s06.html
+share/gtk-doc/html/gio/ch34s07.html
+share/gtk-doc/html/gio/ch35.html
+share/gtk-doc/html/gio/ch35s02.html
+share/gtk-doc/html/gio/ch35s03.html
+share/gtk-doc/html/gio/ch35s04.html
+share/gtk-doc/html/gio/conversion.html
+share/gtk-doc/html/gio/data-models.html
+share/gtk-doc/html/gio/extending-gio.html
+share/gtk-doc/html/gio/extending.html
+share/gtk-doc/html/gio/failable_initialization.html
+share/gtk-doc/html/gio/file_mon.html
+share/gtk-doc/html/gio/file_ops.html
+share/gtk-doc/html/gio/gapplication-tool.html
+share/gtk-doc/html/gio/gdbus-codegen.html
+share/gtk-doc/html/gio/gdbus-convenience.html
+share/gtk-doc/html/gio/gdbus-example-gdbus-codegen.html
+share/gtk-doc/html/gio/gdbus-lowlevel.html
+share/gtk-doc/html/gio/gdbus.html
+share/gtk-doc/html/gio/gio-D-Bus-Addresses.html
+share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html
+share/gtk-doc/html/gio/gio-D-Bus-Utilities.html
+share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html
+share/gtk-doc/html/gio/gio-Extension-Points.html
+share/gtk-doc/html/gio/gio-GActionGroup-exporter.html
+share/gtk-doc/html/gio/gio-GContentType.html
+share/gtk-doc/html/gio/gio-GConverterInputstream.html
+share/gtk-doc/html/gio/gio-GConverterOutputstream.html
+share/gtk-doc/html/gio/gio-GDBusError.html
+share/gtk-doc/html/gio/gio-GFileAttribute.html
+share/gtk-doc/html/gio/gio-GIOError.html
+share/gtk-doc/html/gio/gio-GIOScheduler.html
+share/gtk-doc/html/gio/gio-GMenuModel-exporter.html
+share/gtk-doc/html/gio/gio-GSettingsSchema-GSettingsSchemaSource.html
+share/gtk-doc/html/gio/gio-GWin32InputStream.html
+share/gtk-doc/html/gio/gio-GWin32OutputStream.html
+share/gtk-doc/html/gio/gio-GWin32RegistryKey.html
+share/gtk-doc/html/gio/gio-Owning-Bus-Names.html
+share/gtk-doc/html/gio/gio-TLS-Overview.html
+share/gtk-doc/html/gio/gio-Unix-Mounts.html
+share/gtk-doc/html/gio/gio-Watching-Bus-Names.html
+share/gtk-doc/html/gio/gio-gnetworking.h.html
+share/gtk-doc/html/gio/gio-gpollableutils.html
+share/gtk-doc/html/gio/gio-hierarchy.html
+share/gtk-doc/html/gio/gio-querymodules.html
+share/gtk-doc/html/gio/gio.devhelp2
+share/gtk-doc/html/gio/gio.html
+share/gtk-doc/html/gio/glib-compile-resources.html
+share/gtk-doc/html/gio/glib-compile-schemas.html
+share/gtk-doc/html/gio/gresource-tool.html
+share/gtk-doc/html/gio/gsettings-tool.html
+share/gtk-doc/html/gio/gvfs-overview.png
+share/gtk-doc/html/gio/highlevel-socket.html
+share/gtk-doc/html/gio/home.png
+share/gtk-doc/html/gio/icons.html
+share/gtk-doc/html/gio/index.html
+share/gtk-doc/html/gio/left-insensitive.png
+share/gtk-doc/html/gio/left.png
+share/gtk-doc/html/gio/menu-example.png
+share/gtk-doc/html/gio/menu-model.png
+share/gtk-doc/html/gio/migrating.html
+share/gtk-doc/html/gio/networking.html
+share/gtk-doc/html/gio/permissions.html
+share/gtk-doc/html/gio/pt01.html
+share/gtk-doc/html/gio/pt02.html
+share/gtk-doc/html/gio/registry.html
+share/gtk-doc/html/gio/resolver.html
+share/gtk-doc/html/gio/resources.html
+share/gtk-doc/html/gio/right-insensitive.png
+share/gtk-doc/html/gio/right.png
+share/gtk-doc/html/gio/running-gio-apps.html
+share/gtk-doc/html/gio/settings.html
+share/gtk-doc/html/gio/streaming.html
+share/gtk-doc/html/gio/style.css
+share/gtk-doc/html/gio/subprocesses.html
+share/gtk-doc/html/gio/testing.html
+share/gtk-doc/html/gio/tls.html
+share/gtk-doc/html/gio/tools.html
+share/gtk-doc/html/gio/types.html
+share/gtk-doc/html/gio/up-insensitive.png
+share/gtk-doc/html/gio/up.png
+share/gtk-doc/html/gio/utils.html
+share/gtk-doc/html/gio/volume_mon.html
+share/gtk-doc/html/glib/Sorted_binary_tree_breadth-first_traversal.svg
+share/gtk-doc/html/glib/Sorted_binary_tree_inorder.svg
+share/gtk-doc/html/glib/Sorted_binary_tree_postorder.svg
+share/gtk-doc/html/glib/Sorted_binary_tree_preorder.svg
+share/gtk-doc/html/glib/annotation-glossary.html
+share/gtk-doc/html/glib/api-index-full.html
+share/gtk-doc/html/glib/deprecated.html
+share/gtk-doc/html/glib/file-name-encodings.png
+share/gtk-doc/html/glib/glib-Arrays.html
+share/gtk-doc/html/glib/glib-Asynchronous-Queues.html
+share/gtk-doc/html/glib/glib-Atomic-Operations.html
+share/gtk-doc/html/glib/glib-Automatic-String-Completion.html
+share/gtk-doc/html/glib/glib-Balanced-Binary-Trees.html
+share/gtk-doc/html/glib/glib-Base64-Encoding.html
+share/gtk-doc/html/glib/glib-Basic-Types.html
+share/gtk-doc/html/glib/glib-Bookmark-file-parser.html
+share/gtk-doc/html/glib/glib-Bounds-checked-integer-arithmetic.html
+share/gtk-doc/html/glib/glib-Byte-Arrays.html
+share/gtk-doc/html/glib/glib-Byte-Order-Macros.html
+share/gtk-doc/html/glib/glib-Caches.html
+share/gtk-doc/html/glib/glib-Character-Set-Conversion.html
+share/gtk-doc/html/glib/glib-Commandline-option-parser.html
+share/gtk-doc/html/glib/glib-Data-Checksums.html
+share/gtk-doc/html/glib/glib-Data-HMACs.html
+share/gtk-doc/html/glib/glib-Datasets.html
+share/gtk-doc/html/glib/glib-Date-and-Time-Functions.html
+share/gtk-doc/html/glib/glib-Deprecated-Thread-APIs.html
+share/gtk-doc/html/glib/glib-Double-ended-Queues.html
+share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html
+share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html
+share/gtk-doc/html/glib/glib-Error-Reporting.html
+share/gtk-doc/html/glib/glib-File-Utilities.html
+share/gtk-doc/html/glib/glib-GDateTime.html
+share/gtk-doc/html/glib/glib-GTimeZone.html
+share/gtk-doc/html/glib/glib-GUuid.html
+share/gtk-doc/html/glib/glib-GVariant.html
+share/gtk-doc/html/glib/glib-GVariantType.html
+share/gtk-doc/html/glib/glib-Glob-style-pattern-matching.html
+share/gtk-doc/html/glib/glib-Hash-Tables.html
+share/gtk-doc/html/glib/glib-Hook-Functions.html
+share/gtk-doc/html/glib/glib-Hostname-Utilities.html
+share/gtk-doc/html/glib/glib-I18N.html
+share/gtk-doc/html/glib/glib-IO-Channels.html
+share/gtk-doc/html/glib/glib-Key-value-file-parser.html
+share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html
+share/gtk-doc/html/glib/glib-Lexical-Scanner.html
+share/gtk-doc/html/glib/glib-Memory-Allocation.html
+share/gtk-doc/html/glib/glib-Memory-Slices.html
+share/gtk-doc/html/glib/glib-Message-Logging.html
+share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html
+share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html
+share/gtk-doc/html/glib/glib-N-ary-Trees.html
+share/gtk-doc/html/glib/glib-Numerical-Definitions.html
+share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html
+share/gtk-doc/html/glib/glib-Pointer-Arrays.html
+share/gtk-doc/html/glib/glib-Quarks.html
+share/gtk-doc/html/glib/glib-Random-Numbers.html
+share/gtk-doc/html/glib/glib-Relations-and-Tuples.html
+share/gtk-doc/html/glib/glib-Sequences.html
+share/gtk-doc/html/glib/glib-Shell-related-Utilities.html
+share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html
+share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html
+share/gtk-doc/html/glib/glib-Spawning-Processes.html
+share/gtk-doc/html/glib/glib-Standard-Macros.html
+share/gtk-doc/html/glib/glib-String-Chunks.html
+share/gtk-doc/html/glib/glib-String-Utility-Functions.html
+share/gtk-doc/html/glib/glib-Strings.html
+share/gtk-doc/html/glib/glib-Testing.html
+share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html
+share/gtk-doc/html/glib/glib-Thread-Pools.html
+share/gtk-doc/html/glib/glib-Threads.html
+share/gtk-doc/html/glib/glib-Timers.html
+share/gtk-doc/html/glib/glib-Trash-Stacks.html
+share/gtk-doc/html/glib/glib-Type-Conversion-Macros.html
+share/gtk-doc/html/glib/glib-UNIX-specific-utilities-and-integration.html
+share/gtk-doc/html/glib/glib-URI-Functions.html
+share/gtk-doc/html/glib/glib-Unicode-Manipulation.html
+share/gtk-doc/html/glib/glib-Version-Information.html
+share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html
+share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html
+share/gtk-doc/html/glib/glib-building.html
+share/gtk-doc/html/glib/glib-changes.html
+share/gtk-doc/html/glib/glib-compiling.html
+share/gtk-doc/html/glib/glib-core.html
+share/gtk-doc/html/glib/glib-cross-compiling.html
+share/gtk-doc/html/glib/glib-data-types.html
+share/gtk-doc/html/glib/glib-fundamentals.html
+share/gtk-doc/html/glib/glib-gettextize.html
+share/gtk-doc/html/glib/glib-programming.html
+share/gtk-doc/html/glib/glib-regex-syntax.html
+share/gtk-doc/html/glib/glib-resources.html
+share/gtk-doc/html/glib/glib-running.html
+share/gtk-doc/html/glib/glib-utilities.html
+share/gtk-doc/html/glib/glib.devhelp2
+share/gtk-doc/html/glib/glib.html
+share/gtk-doc/html/glib/gtester-report.html
+share/gtk-doc/html/glib/gtester.html
+share/gtk-doc/html/glib/gvariant-format-strings.html
+share/gtk-doc/html/glib/gvariant-text.html
+share/gtk-doc/html/glib/home.png
+share/gtk-doc/html/glib/index.html
+share/gtk-doc/html/glib/left-insensitive.png
+share/gtk-doc/html/glib/left.png
+share/gtk-doc/html/glib/mainloop-states.gif
+share/gtk-doc/html/glib/right-insensitive.png
+share/gtk-doc/html/glib/right.png
+share/gtk-doc/html/glib/style.css
+share/gtk-doc/html/glib/tools.html
+share/gtk-doc/html/glib/up-insensitive.png
+share/gtk-doc/html/glib/up.png
+share/gtk-doc/html/gobject/GBinding.html
+share/gtk-doc/html/gobject/GTypeModule.html
+share/gtk-doc/html/gobject/GTypePlugin.html
+share/gtk-doc/html/gobject/annotation-glossary.html
+share/gtk-doc/html/gobject/api-index-full.html
+share/gtk-doc/html/gobject/ch01s02.html
+share/gtk-doc/html/gobject/chapter-gobject.html
+share/gtk-doc/html/gobject/chapter-gtype.html
+share/gtk-doc/html/gobject/chapter-intro.html
+share/gtk-doc/html/gobject/chapter-signal.html
+share/gtk-doc/html/gobject/glib-genmarshal.html
+share/gtk-doc/html/gobject/glib-mkenums.html
+share/gtk-doc/html/gobject/glue.png
+share/gtk-doc/html/gobject/gobject-Boxed-Types.html
+share/gtk-doc/html/gobject/gobject-Closures.html
+share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html
+share/gtk-doc/html/gobject/gobject-GParamSpec.html
+share/gtk-doc/html/gobject/gobject-Generic-values.html
+share/gtk-doc/html/gobject/gobject-Signals.html
+share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html
+share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html
+share/gtk-doc/html/gobject/gobject-Type-Information.html
+share/gtk-doc/html/gobject/gobject-Value-arrays.html
+share/gtk-doc/html/gobject/gobject-Varargs-Value-Collection.html
+share/gtk-doc/html/gobject/gobject-memory.html
+share/gtk-doc/html/gobject/gobject-properties.html
+share/gtk-doc/html/gobject/gobject-query.html
+share/gtk-doc/html/gobject/gobject.devhelp2
+share/gtk-doc/html/gobject/gtype-conventions.html
+share/gtk-doc/html/gobject/gtype-instantiable-classed.html
+share/gtk-doc/html/gobject/gtype-non-instantiable-classed.html
+share/gtk-doc/html/gobject/gtype-non-instantiable.html
+share/gtk-doc/html/gobject/home.png
+share/gtk-doc/html/gobject/howto-gobject-chainup.html
+share/gtk-doc/html/gobject/howto-gobject-code.html
+share/gtk-doc/html/gobject/howto-gobject-construction.html
+share/gtk-doc/html/gobject/howto-gobject-destruction.html
+share/gtk-doc/html/gobject/howto-gobject-methods.html
+share/gtk-doc/html/gobject/howto-gobject.html
+share/gtk-doc/html/gobject/howto-interface-implement.html
+share/gtk-doc/html/gobject/howto-interface-override.html
+share/gtk-doc/html/gobject/howto-interface-prerequisite.html
+share/gtk-doc/html/gobject/howto-interface-properties.html
+share/gtk-doc/html/gobject/howto-interface.html
+share/gtk-doc/html/gobject/howto-signals.html
+share/gtk-doc/html/gobject/index.html
+share/gtk-doc/html/gobject/left-insensitive.png
+share/gtk-doc/html/gobject/left.png
+share/gtk-doc/html/gobject/pr01.html
+share/gtk-doc/html/gobject/pt01.html
+share/gtk-doc/html/gobject/pt02.html
+share/gtk-doc/html/gobject/pt03.html
+share/gtk-doc/html/gobject/right-insensitive.png
+share/gtk-doc/html/gobject/right.png
+share/gtk-doc/html/gobject/rn01.html
+share/gtk-doc/html/gobject/rn02.html
+share/gtk-doc/html/gobject/signal.html
+share/gtk-doc/html/gobject/style.css
+share/gtk-doc/html/gobject/tools-ginspector.html
+share/gtk-doc/html/gobject/tools-gob.html
+share/gtk-doc/html/gobject/tools-gtkdoc.html
+share/gtk-doc/html/gobject/tools-refdb.html
+share/gtk-doc/html/gobject/tools-vala.html
+share/gtk-doc/html/gobject/up-insensitive.png
+share/gtk-doc/html/gobject/up.png
+share/locale/af/LC_MESSAGES/glib20.mo
+share/locale/am/LC_MESSAGES/glib20.mo
+share/locale/an/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@shaw/LC_MESSAGES/glib20.mo
+share/locale/en_CA/LC_MESSAGES/glib20.mo
+share/locale/en_GB/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/fur/LC_MESSAGES/glib20.mo
+share/locale/ga/LC_MESSAGES/glib20.mo
+share/locale/gd/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/tg/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
+@pkgdir lib/gio/modules
diff --git a/frida-glib2/buildlink3.mk b/frida-glib2/buildlink3.mk
new file mode 100644
index 0000000000..1cf196e4b4
--- /dev/null
+++ b/frida-glib2/buildlink3.mk
@@ -0,0 +1,27 @@
+# $NetBSD: buildlink3.mk,v 1.28 2018/01/19 22:20:19 sevan Exp $
+
+BUILDLINK_TREE+=	glib2
+
+.if !defined(GLIB2_BUILDLINK3_MK)
+GLIB2_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.glib2+=	glib2>=2.4.0
+BUILDLINK_ABI_DEPENDS.glib2+=	glib2>=2.34.0
+BUILDLINK_PKGSRCDIR.glib2?=	../../devel/glib2
+BUILDLINK_INCDIRS.glib2+= 	include/glib/glib-2.0
+BUILDLINK_INCDIRS.glib2+= 	include/glib/gio-unix-2.0
+BUILDLINK_INCDIRS.glib2+= 	lib/glib-2.0/include
+
+TOOL_DEPENDS+=	glib2-tools-[0-9]*:../../devel/glib2-tools
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../devel/pcre/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../devel/libffi/buildlink3.mk"
+.if empty(MACHINE_PLATFORM:MIRIX-5*)
+.include "../../mk/pthread.buildlink3.mk"
+.endif
+.endif # GLIB2_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-glib2
diff --git a/frida-glib2/distinfo b/frida-glib2/distinfo
new file mode 100644
index 0000000000..689d6bacbf
--- /dev/null
+++ b/frida-glib2/distinfo
@@ -0,0 +1,38 @@
+$NetBSD: distinfo,v 1.228 2018/01/28 16:51:50 wiz Exp $
+
+SHA1 (glib-2.54.3.tar.xz) = 12d7466550156ac8a765f603b0df7604cdf34cfd
+RMD160 (glib-2.54.3.tar.xz) = 7439dbf9d661352e7f2c1beae84b76e401798675
+SHA512 (glib-2.54.3.tar.xz) = 23eb4458684624f80c17aa784eab42a38eec87bb5979fcfe56f0bc63b5c7bcf8251a0d4ea916fe2c8109ff5b14a4b60c6260755d079ff984c0d8e6a2871d307d
+Size (glib-2.54.3.tar.xz) = 7836536 bytes
+SHA1 (patch-Makefile.in) = 4d587eb9ff27ff2b3489c59388319142e2fb6ced
+SHA1 (patch-aa) = 938e6fb29a2190eaa65b929b986c2f73c46d15ae
+SHA1 (patch-ab) = 04bde955a2a588011a8c77ada4923d5464a0d544
+SHA1 (patch-ac) = 96e153339675457356f71e35d20375bed669d337
+SHA1 (patch-ae) = 09f16e8e14bdea3ee0e478d335f65cb66939e5f5
+SHA1 (patch-af) = 6da2f31b5052a9b1d02b9a87f47896be238a88bd
+SHA1 (patch-ah) = d523967c88fc06f46de1d7f2eb04be65db04ada2
+SHA1 (patch-aha) = ade66edd87a5e76a1256bd8bcdc9bc3dd614885c
+SHA1 (patch-ak) = a7dd9b100b05424a76476754c2ee9896b5ae6d26
+SHA1 (patch-al) = 533755a1b450956d7fc2f7e5a38b7f9602358c18
+SHA1 (patch-am) = 99f54927d76580dfeda2a6b1909e1bea5dbdc293
+SHA1 (patch-an) = a1308a37f60c4bbbe4e8bc43ea9ae4a50bc09ce4
+SHA1 (patch-cb) = 56e2a9b2de04c8e528faf7ce778503fa55dcc3ac
+SHA1 (patch-cc) = f3d37cbb483863aab602f9c1209650e3e4795871
+SHA1 (patch-cd) = a8a90eca84a687400a92b0e26fafe4b9b6014ec3
+SHA1 (patch-ck) = 324116cc6fb8dbce8ce8d20f5b237fc469a55cd2
+SHA1 (patch-cl) = 18f34d749a8ca5a996a1be0ebd3c8df9dc012839
+SHA1 (patch-cm) = 534af37ae8f2bd667f630142058d4de5ea91be93
+SHA1 (patch-gio_gdbus-2.0_codegen_gdbus-codegen.in) = ccbb10335fb477e347993444d68d5e88d9e93050
+SHA1 (patch-gio_gdbusauthmechanismsha1.c) = 39b9e9375bc8832c2c177c8e89228790d9ae9e7b
+SHA1 (patch-gio_giomodule.c) = 08181ad8d46dde1a028faa246a4852e474610eaa
+SHA1 (patch-gio_glocalfileinfo.c) = 57b38e4cfa3a3858b632c8387a9bdb3000b16655
+SHA1 (patch-gio_gresource-tool.c) = 4eb7c9df25e9ac3e977edf3be8fb977a6fb39182
+SHA1 (patch-gio_inotify_inotify-kernel.c) = 18fc55be06dfa4ebf7128b8d1888aaff3b2b95c0
+SHA1 (patch-gio_tests_Makefile.in) = eaf244c54c0a5578149919c2dd939b993e618919
+SHA1 (patch-glib_gmain.c) = d09ff66e475ee52d37ac0dcb463110f690ce6511
+SHA1 (patch-glib_gthread-posix.c) = ca93c8dc358453eb79b518c884464c90d7628888
+SHA1 (patch-glib_gtimezone.c) = d9686da52f171a073d80cfd9f80aa490088a00a3
+SHA1 (patch-gobject_Makefile.am) = 6eed6b57f5ff0aa0dfb623110b23a3ff78aa4e75
+SHA1 (patch-gobject_Makefile.in) = a4768ff7b0607a8a4dfbb2cff087a987b451fd18
+SHA1 (patch-gobject_glib-genmarshal.in) = f21ca416d4eb4ad5a8ce3ffa053f8bcd2be8953a
+SHA1 (patch-gobject_glib-mkenums.in) = 22676989e47dfd13583d89469810af6ce7d01ab7
diff --git a/frida-glib2/files/modules.tmpl b/frida-glib2/files/modules.tmpl
new file mode 100644
index 0000000000..f909ce496e
--- /dev/null
+++ b/frida-glib2/files/modules.tmpl
@@ -0,0 +1,18 @@
+# $NetBSD: modules.tmpl,v 1.1 2010/11/17 14:09:55 drochner Exp $
+#
+# Rebuild the GIO modules database.
+#
+
+GIO_MODULES_DIR="@GIO_MODULES_DIR@"
+GIO_QUERYMODULES="@GIO_QUERYMODULES@"
+
+case ${STAGE} in
+POST-INSTALL)
+	${GIO_QUERYMODULES} ${GIO_MODULES_DIR}
+	;;
+POST-DEINSTALL)
+	${GIO_QUERYMODULES} ${GIO_MODULES_DIR}
+	;;
+*)
+	;;
+esac
diff --git a/frida-glib2/files/schemas.tmpl b/frida-glib2/files/schemas.tmpl
new file mode 100644
index 0000000000..33313ea4ce
--- /dev/null
+++ b/frida-glib2/files/schemas.tmpl
@@ -0,0 +1,18 @@
+# $NetBSD: schemas.tmpl,v 1.1 2011/01/18 10:03:59 jmmv Exp $
+#
+# Recompile the GSettings schemas.
+#
+
+GLIB_SCHEMAS_DIR="@GLIB_SCHEMAS_DIR@"
+GLIB_COMPILE_SCHEMAS="@GLIB_COMPILE_SCHEMAS@"
+
+case "${STAGE}" in
+POST-INSTALL)
+	XDG_DATA_DIRS= "${GLIB_COMPILE_SCHEMAS}" "${GLIB_SCHEMAS_DIR}"
+	;;
+POST-DEINSTALL)
+	XDG_DATA_DIRS= "${GLIB_COMPILE_SCHEMAS}" "${GLIB_SCHEMAS_DIR}"
+	;;
+*)
+	;;
+esac
diff --git a/frida-glib2/hacks.mk b/frida-glib2/hacks.mk
new file mode 100644
index 0000000000..173b8d8079
--- /dev/null
+++ b/frida-glib2/hacks.mk
@@ -0,0 +1,44 @@
+# $NetBSD: hacks.mk,v 1.10 2013/04/20 09:17:32 obache Exp $
+
+.if !defined(GLIB2_HACKS_MK)
+GLIB2_HACKS_MK=	# defined
+
+# Build without optimization. Avoids crash in libgobject on gtk2
+# initialization. Bug is triggered regardless of whether we're using gcc or
+# aCC.
+.if !empty(MACHINE_PLATFORM:MHPUX-*-hppa)
+PKG_HACKS+=	hppa-codegen
+CFLAGS:=	-O0 ${CFLAGS:C/[+,-]O[0-9]?//g}
+.endif
+
+.if ${OPSYS} == "Darwin"
+CHECK_BUILTIN.libiconv:=	yes
+.  include "../../converters/libiconv/builtin.mk"
+CHECK_BUILTIN.libiconv:=	no
+.  if !empty(USE_BUILTIN.iconv:M[Yy][Ee][Ss])
+PKG_HACKS+=		darwin-iconv
+SUBST_CLASSES+=		iconv
+SUBST_STAGE.iconv=	pre-configure
+SUBST_MESSAGE.iconv=	Changing libiconv_open to iconv_open.
+SUBST_FILES.iconv=	configure
+SUBST_SED.iconv=	-e 's,libiconv_open,iconv_open,g'
+.  endif
+.endif
+
+# Work around unresolved symbol g_test_config_vars during build
+.include "../../mk/compiler.mk"
+.if !empty(PKGSRC_COMPILER:Msunpro)
+PKG_HACKS+=		sunpro-visibility
+CONFIGURE_ARGS+=	--disable-visibility
+.endif
+
+#
+# GLib2>=2.36 depends on builtin functions which enabled with i486 and
+# later with GCC.
+#
+.if !empty(MACHINE_PLATFORM:MNetBSD-[0-5]*-i386)
+GNU_ARCH.i386=		i486
+CFLAGS+=		-march=i486
+.endif
+
+.endif
diff --git a/frida-glib2/modules.mk b/frida-glib2/modules.mk
new file mode 100644
index 0000000000..e563a7c701
--- /dev/null
+++ b/frida-glib2/modules.mk
@@ -0,0 +1,23 @@
+# $NetBSD: modules.mk,v 1.1 2010/11/17 14:09:55 drochner Exp $
+#
+# This Makefile fragment is intended to be included by packages that install
+# GIO modules.  It takes care of rebuilding the corresponding databases at
+# (de)installation time.
+#
+
+.if !defined(GIO_MODULES_MK)
+GIO_MODULES_MK=	# defined
+
+GIO_QUERYMODULES=	${BUILDLINK_PREFIX.glib2}/bin/gio-querymodules
+
+FILES_SUBST+=		GIO_MODULES_DIR=${GIO_MODULES_DIR:Q}
+FILES_SUBST+=		GIO_QUERYMODULES=${GIO_QUERYMODULES:Q}
+GIO_MODULES_DIR=${BUILDLINK_PREFIX.glib2}/lib/gio/modules
+INSTALL_TEMPLATES+=	../../devel/glib2/files/modules.tmpl
+DEINSTALL_TEMPLATES+=	../../devel/glib2/files/modules.tmpl
+
+TOOLS_NOOP+=	gio-querymodules
+
+.include "../../devel/glib2/buildlink3.mk"
+
+.endif			# GIO_MODULES_MK
diff --git a/frida-glib2/patches/patch-Makefile.in b/frida-glib2/patches/patch-Makefile.in
new file mode 100644
index 0000000000..b838766d24
--- /dev/null
+++ b/frida-glib2/patches/patch-Makefile.in
@@ -0,0 +1,16 @@
+$NetBSD: patch-Makefile.in,v 1.1 2017/10/13 15:35:10 prlw1 Exp $
+
+tests/gobject requires python to generate testmarshal.h so avoid
+tests directory.
+
+--- Makefile.in.orig	2017-10-13 13:38:33.856486834 +0000
++++ Makefile.in
+@@ -835,7 +835,7 @@ all_test_ltlibs = $(test_ltlibraries) $(
+ 
+ @ENABLE_INSTALLED_TESTS_TRUE@installed_test_meta_DATA = $(installed_testcases:=.test)
+ ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS}
+-SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs tests
++SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs
+ DIST_SUBDIRS = $(SUBDIRS) build win32
+ bin_SCRIPTS = glib-gettextize
+ AM_CPPFLAGS = \
diff --git a/frida-glib2/patches/patch-aa b/frida-glib2/patches/patch-aa
new file mode 100644
index 0000000000..3f75e85167
--- /dev/null
+++ b/frida-glib2/patches/patch-aa
@@ -0,0 +1,237 @@
+$NetBSD: patch-aa,v 1.60 2017/10/13 15:35:10 prlw1 Exp $
+
+- solaris sun studio check and fix
+- use pkgsrc libtool
+- broken dlopen(NULL,0) detection and workaround
+  http://bugzilla.gnome.org/show_bug.cgi?id=140329
+
+--- configure.orig	2017-06-22 13:16:20.000000000 +0000
++++ configure
+@@ -736,6 +736,7 @@ GIO
+ GSPAWN
+ GLIB_DEBUG_FLAGS
+ G_MODULE_NEED_USCORE
++G_MODULE_BROKEN_DLOPEN_NULL
+ G_MODULE_BROKEN_RTLD_GLOBAL
+ G_MODULE_HAVE_DLERROR
+ G_MODULE_LDFLAGS
+@@ -21652,6 +21653,8 @@ else
+ # ifdef _MSC_VER
+ #  include <malloc.h>
+ #  define alloca _alloca
++# elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__)
++#   include <stdlib.h>
+ # else
+ #  ifdef HAVE_ALLOCA_H
+ #   include <alloca.h>
+@@ -22487,8 +22490,8 @@ else
+ fi
+ 
+ 
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether using Sun Studio C compiler" >&5
+-$as_echo_n "checking whether using Sun Studio C compiler... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether using Sun Studio C compiler visibility" >&5
++$as_echo_n "checking whether using Sun Studio C compiler visibility... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #if defined(__SUNPRO_C) || (__SUNPRO_C >= 0x550)
+@@ -24302,16 +24305,48 @@ fi
+ 
+ case $host in
+   *-*-solaris* )
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether using Sun Studio C compiler with C99" >&5
++$as_echo_n "checking whether using Sun Studio C compiler with C99... " >&6; }
++    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#if defined(__STDC_VERSION__) || (__STDC_VERSION__ - 0 >= 199901L)
++#else
++# include "error: this is STD C99."
++#endif
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++   g_have_sunstudio_c99=yes
++else
++   g_have_sunstudio_c99=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $g_have_sunstudio_c99" >&5
++$as_echo "$g_have_sunstudio_c99" >&6; }
++    if test $g_have_sunstudio_c99 = yes; then
++
++$as_echo "#define _XOPEN_SOURCE 600" >>confdefs.h
++
++    else
+ 
+ $as_echo "#define _XOPEN_SOURCE_EXTENDED 1" >>confdefs.h
+ 
+ 
+ $as_echo "#define _XOPEN_SOURCE 2" >>confdefs.h
+ 
++    fi
++
+ 
+ $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+ 
+-     ;;
++    ;;
+ esac
+ 
+ if test "$ac_cv_func_statfs" = yes; then :
+@@ -25383,6 +25418,7 @@ else
+ fi
+ G_MODULE_NEED_USCORE=0
+ G_MODULE_BROKEN_RTLD_GLOBAL=0
++G_MODULE_BROKEN_DLOPEN_NULL=0
+ G_MODULE_HAVE_DLERROR=0
+ if test -z "$G_MODULE_IMPL"; then
+   case "$host" in
+@@ -25508,9 +25544,9 @@ if  test "$G_MODULE_IMPL" = "G_MODULE_IM
+ 	LIBS="$G_MODULE_LIBS $LIBS"
+ 	LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
+ 	echo "void glib_plugin_test(void) { }" > plugin.c
+-	${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
++	${SHELL} libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
+ 		${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1
+-	${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
++	${SHELL} libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
+ 		${LDFLAGS} -module -o plugin.la -export-dynamic \
+ 		-shrext ".o" -avoid-version plugin.lo \
+ 		-rpath /dont/care >/dev/null 2>&1
+@@ -25624,6 +25660,56 @@ fi
+ 	LIBS="$LIBS_orig"
+ 
+ fi
++	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen(NULL, 0) brokenness" >&5
++$as_echo_n "checking for dlopen(NULL, 0) brokenness... " >&6; }
++if ${glib_cv_dlopennull_broken+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++		if test "$cross_compiling" = yes; then :
++  glib_cv_dlopennull_broken=no
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++#include <stdio.h>
++#include <dlfcn.h>
++#ifndef RTLD_GLOBAL
++#  define RTLD_GLOBAL 0
++#endif
++#ifndef RTLD_LAZY
++#  define RTLD_LAZY 0
++#endif
++int gettext;
++int main () {
++    void *handle;
++    handle = dlopen ("libm.so", RTLD_GLOBAL | RTLD_LAZY);
++    if (!handle) return 0;
++    handle = dlopen (NULL, 0);
++    if (!handle) return 0;
++    handle = dlsym (handle, "sin");
++    return handle == NULL;
++}
++
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  glib_cv_dlopennull_broken=no
++else
++  glib_cv_dlopennull_broken=yes
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glib_cv_dlopennull_broken" >&5
++$as_echo "$glib_cv_dlopennull_broken" >&6; }
++	if test "x$glib_cv_dlopennull_broken" = "xyes"; then
++		G_MODULE_BROKEN_DLOPEN_NULL=1
++	else
++		G_MODULE_BROKEN_DLOPEN_NULL=0
++	fi
+ if test -z "$G_MODULE_IMPL"; then
+ 	G_MODULE_IMPL=0
+         G_MODULE_SUPPORTED=false
+@@ -25658,6 +25744,7 @@ fi
+ 
+ 
+ 
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gspawn implementation" >&5
+ $as_echo_n "checking for gspawn implementation... " >&6; }
+ case "$host" in
+@@ -26727,62 +26814,8 @@ if  test x"$have_threads" = xposix; then
+       G_THREAD_LIBS="-lpthread -lthread"
+       ;;
+     *)
+-      for flag in pthread pthreads mt; do
+-        glib_save_CFLAGS="$CFLAGS"
+-        CFLAGS="$CFLAGS -$flag"
+-        if test "$cross_compiling" = yes; then :
+-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-
+-#include <pthread.h>
+-int check_me = 0;
+-void* func(void* data) {check_me = 42; return &check_me;}
+-int main()
+- { pthread_t t;
+-   void *ret;
+-   pthread_create (&t, 0, func, 0);
+-   pthread_join (t, &ret);
+-   return (check_me != 42 || ret != &check_me);
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"; then :
+-  glib_flag_works=yes
+-else
+-  glib_flag_works=no
+-fi
+-rm -f core conftest.err conftest.$ac_objext \
+-    conftest$ac_exeext conftest.$ac_ext
+-else
+-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-
+-#include <pthread.h>
+-int check_me = 0;
+-void* func(void* data) {check_me = 42; return &check_me;}
+-int main()
+- { pthread_t t;
+-   void *ret;
+-   pthread_create (&t, 0, func, 0);
+-   pthread_join (t, &ret);
+-   return (check_me != 42 || ret != &check_me);
+-}
+-_ACEOF
+-if ac_fn_c_try_run "$LINENO"; then :
+-  glib_flag_works=yes
+-else
+-  glib_flag_works=no
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+-fi
+-
+-        CFLAGS="$glib_save_CFLAGS"
+-        if test $glib_flag_works = yes ; then
+-           G_THREAD_CFLAGS=-$flag
+-        G_THREAD_LIBS=-$flag
+-        break;
+-        fi
+-      done
++      G_THREAD_LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}"
++      G_THREAD_CFLAGS="${PTHREAD_CFLAGS}"
+        ;;
+   esac
+ 
diff --git a/frida-glib2/patches/patch-ab b/frida-glib2/patches/patch-ab
new file mode 100644
index 0000000000..af9b46fbc6
--- /dev/null
+++ b/frida-glib2/patches/patch-ab
@@ -0,0 +1,76 @@
+$NetBSD: patch-ab,v 1.14 2012/04/30 13:53:48 drochner Exp $
+
+http://bugzilla.gnome.org/show_bug.cgi?id=140329
+
+--- gmodule/gmodule.c.orig	2012-03-12 00:42:42.000000000 +0000
++++ gmodule/gmodule.c
+@@ -800,6 +800,31 @@ g_module_error (void)
+   return g_private_get (&module_error_private);
+ }
+ 
++static void
++g_module_symbol_aux (GModule           *module,
++                    const gchar        *symbol_name,
++                    gpointer           *symbol)
++{
++  gpointer hdl = module->handle;
++#if defined (G_MODULE_BROKEN_DLOPEN_NULL) && defined(__NetBSD__) && defined(RTLD_DEFAULT)
++  /* use some special handle to access global namespace */
++  if (module == main_module)
++    hdl = RTLD_DEFAULT;
++#endif
++
++#ifdef G_MODULE_NEED_USCORE
++  {
++    gchar *name;
++
++    name = g_strconcat ("_", symbol_name, NULL);
++    *symbol = _g_module_symbol (module->handle, name);
++    g_free (name);
++  }
++#else
++  *symbol = _g_module_symbol (module->handle, symbol_name);
++#endif
++}
++
+ /**
+  * g_module_symbol:
+  * @module: a #GModule
+@@ -828,17 +853,28 @@ g_module_symbol (GModule     *module,
+   
+   g_rec_mutex_lock (&g_module_global_lock);
+ 
+-#ifdef	G_MODULE_NEED_USCORE
++#ifdef	G_MODULE_BROKEN_DLOPEN_NULL
++  if (module == main_module)
+   {
+-    gchar *name;
+-
+-    name = g_strconcat ("_", symbol_name, NULL);
+-    *symbol = _g_module_symbol (module->handle, name);
+-    g_free (name);
++      g_module_symbol_aux(module, symbol_name, symbol);
++      if (*symbol == NULL)
++        {
++          for (module = modules; module; module = module->next)
++            {
++              g_module_symbol_aux(module, symbol_name, symbol);
++              if (*symbol != NULL)
++                {
++                  g_module_set_error (NULL);
++                  break;
+   }
+-#else	/* !G_MODULE_NEED_USCORE */
+-  *symbol = _g_module_symbol (module->handle, symbol_name);
+-#endif	/* !G_MODULE_NEED_USCORE */
++            }
++        }
++    }
++  else
++    g_module_symbol_aux(module, symbol_name, symbol);
++#else  /* !G_MODULE_BROKEN_DLOPEN_NULL */
++  g_module_symbol_aux(module, symbol_name, symbol);
++#endif /* G_MODULE_BROKEN_DLOPEN_NULL */
+   
+   module_error = g_module_error ();
+   if (module_error)
diff --git a/frida-glib2/patches/patch-ac b/frida-glib2/patches/patch-ac
new file mode 100644
index 0000000000..aa513a03f6
--- /dev/null
+++ b/frida-glib2/patches/patch-ac
@@ -0,0 +1,21 @@
+$NetBSD: patch-ac,v 1.10 2008/09/06 11:07:20 obache Exp $
+
+http://bugzilla.gnome.org/show_bug.cgi?id=107626
+
+--- gmodule/gmodule-dyld.c.orig	2008-09-02 15:09:12.000000000 +0000
++++ gmodule/gmodule-dyld.c
+@@ -120,7 +120,13 @@ _g_module_symbol (gpointer     handle,
+       if (NSIsSymbolNameDefined (symbol_name))
+ 	sym = NSLookupAndBindSymbol (symbol_name);
+       else
+-	sym = NULL;
++	{
++	  GModule *mod;
++	  for (mod = modules, sym = NULL; mod && !sym; mod = mod->next)
++	    {
++	      sym = NSLookupSymbolInModule (mod->handle, symbol_name);
++	    }
++	}
+     }
+   else
+     sym = NSLookupSymbolInModule (handle, symbol_name);
diff --git a/frida-glib2/patches/patch-ae b/frida-glib2/patches/patch-ae
new file mode 100644
index 0000000000..469c2f2a5f
--- /dev/null
+++ b/frida-glib2/patches/patch-ae
@@ -0,0 +1,16 @@
+$NetBSD: patch-ae,v 1.5 2004/04/17 10:37:12 jmmv Exp $
+
+http://bugzilla.gnome.org/show_bug.cgi?id=140329
+
+--- gmodule/gmoduleconf.h.in.orig	2004-02-24 15:00:19.000000000 +0100
++++ gmodule/gmoduleconf.h.in
+@@ -45,6 +45,9 @@ extern "C" {
+ #if	(@G_MODULE_BROKEN_RTLD_GLOBAL@)
+ #define G_MODULE_BROKEN_RTLD_GLOBAL
+ #endif
++#if	(@G_MODULE_BROKEN_DLOPEN_NULL@)
++#define G_MODULE_BROKEN_DLOPEN_NULL
++#endif
+ 
+ #ifdef __cplusplus
+ }
diff --git a/frida-glib2/patches/patch-af b/frida-glib2/patches/patch-af
new file mode 100644
index 0000000000..9ae766e805
--- /dev/null
+++ b/frida-glib2/patches/patch-af
@@ -0,0 +1,23 @@
+$NetBSD: patch-af,v 1.16 2014/09/05 20:49:55 prlw1 Exp $
+
+--- glib/libcharset/Makefile.in.orig	2014-03-24 18:54:29.000000000 +0000
++++ glib/libcharset/Makefile.in
+@@ -1496,18 +1496,6 @@ check-local: test-nonrecursive
+ @ENABLE_INSTALLED_TESTS_TRUE@	echo 'Exec=$(installed_testdir)/$(notdir $<)' >> $@.tmp; \
+ @ENABLE_INSTALLED_TESTS_TRUE@	mv $@.tmp $@)
+ install-exec-local: all-local
+-	$(mkinstalldirs) $(DESTDIR)$(libdir)
+-	if test -f $(charset_alias); then \
+-	  sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
+-	  $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
+-	  rm -f $(charset_tmp) ; \
+-	else \
+-	  if test @GLIBC21@ = no; then \
+-	    sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
+-	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
+-	    rm -f $(charset_tmp) ; \
+-	  fi ; \
+-	fi
+ 
+ uninstall-local: all-local
+ 	if test -f $(charset_alias); then \
diff --git a/frida-glib2/patches/patch-ah b/frida-glib2/patches/patch-ah
new file mode 100644
index 0000000000..9e0248a6f3
--- /dev/null
+++ b/frida-glib2/patches/patch-ah
@@ -0,0 +1,24 @@
+$NetBSD: patch-ah,v 1.13 2017/10/13 15:35:10 prlw1 Exp $
+
+Set default search paths for pkgsrc.
+
+--- glib/gutils.c.orig	2017-08-15 20:27:00.000000000 +0000
++++ glib/gutils.c
+@@ -2017,7 +2017,7 @@ g_get_system_data_dirs (void)
+ 
+ #ifndef G_OS_WIN32
+       if (!data_dirs || !data_dirs[0])
+-          data_dirs = "/usr/local/share/:/usr/share/";
++          data_dirs = PREFIX "/share/";
+ 
+       data_dir_vector = g_strsplit (data_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
+ #else
+@@ -2093,7 +2093,7 @@ g_get_system_config_dirs (void)
+ 	}
+ #else
+       if (!conf_dirs || !conf_dirs[0])
+-          conf_dirs = "/etc/xdg";
++          conf_dirs = PKG_SYSCONFDIR "/xdg";
+ 
+       conf_dir_vector = g_strsplit (conf_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
+ #endif
diff --git a/frida-glib2/patches/patch-aha b/frida-glib2/patches/patch-aha
new file mode 100644
index 0000000000..beb500f9b8
--- /dev/null
+++ b/frida-glib2/patches/patch-aha
@@ -0,0 +1,13 @@
+$NetBSD: patch-aha,v 1.2 2016/05/27 08:19:27 prlw1 Exp $
+
+--- glib/gcharset.c.orig	2016-05-10 08:54:30.000000000 +0000
++++ glib/gcharset.c
+@@ -293,7 +293,7 @@ unalias_lang (char *lang)
+   if (g_once_init_enter (&alias_table))
+     {
+       GHashTable *table = g_hash_table_new (g_str_hash, g_str_equal);
+-      read_aliases ("/usr/share/locale/locale.alias", table);
++      read_aliases (PREFIX "/" PKGLOCALEDIR "/locale/locale.alias", table);
+       g_once_init_leave (&alias_table, table);
+     }
+ 
diff --git a/frida-glib2/patches/patch-ak b/frida-glib2/patches/patch-ak
new file mode 100644
index 0000000000..8b78308193
--- /dev/null
+++ b/frida-glib2/patches/patch-ak
@@ -0,0 +1,137 @@
+$NetBSD: patch-ak,v 1.20 2017/10/13 15:35:10 prlw1 Exp $
+
+- solaris sun studio check and fix
+- use pkgsrc libtool
+- broken dlopen(NULL,0) detection and workaround
+  http://bugzilla.gnome.org/show_bug.cgi?id=140329
+
+--- configure.ac.orig	2017-06-22 13:15:19.000000000 +0000
++++ configure.ac
+@@ -687,7 +687,7 @@ int main (void)
+ AC_MSG_RESULT($g_have_gnuc_visibility)
+ AM_CONDITIONAL(HAVE_GNUC_VISIBILITY, [test x$g_have_gnuc_visibility = xyes])
+ 
+-AC_MSG_CHECKING([whether using Sun Studio C compiler])
++AC_MSG_CHECKING([whether using Sun Studio C compiler visibility])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if defined(__SUNPRO_C) || (__SUNPRO_C >= 0x550)
+ #else
+ # include "error: this is not Sun Studio."
+@@ -1040,10 +1040,22 @@ AC_CHECK_TYPE([struct ip_mreqn], [
+ 
+ case $host in
+   *-*-solaris* )
+-     AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
+-     AC_DEFINE(_XOPEN_SOURCE,          2, Needed to get declarations for msg_control and msg_controllen on Solaris)
+-     AC_DEFINE(__EXTENSIONS__,         1, Needed to get declarations for msg_control and msg_controllen on Solaris)
+-     ;;
++    AC_MSG_CHECKING([whether using Sun Studio C compiler with C99])
++    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if defined(__STDC_VERSION__) || (__STDC_VERSION__ - 0 >= 199901L)
++#else
++# include "error: this is STD C99."
++#endif
++    ]], [[]])], [ g_have_sunstudio_c99=yes ], [ g_have_sunstudio_c99=no ])
++    AC_MSG_RESULT($g_have_sunstudio_c99)
++    if test $g_have_sunstudio_c99 = yes; then
++      AC_DEFINE(_XOPEN_SOURCE,          600, Needed to get declarations for msg_control and msg_controllen on Solaris)
++    else
++      AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
++      AC_DEFINE(_XOPEN_SOURCE,          2, Needed to get declarations for msg_control and msg_controllen on Solaris)
++    fi
++
++    AC_DEFINE(__EXTENSIONS__,         1, Needed to get declarations for msg_control and msg_controllen on Solaris)
++    ;;
+ esac
+ 
+ dnl
+@@ -1383,6 +1395,7 @@ fi
+ dnl G_MODULE_IMPL= don't reset, so cmd-line can override
+ G_MODULE_NEED_USCORE=0
+ G_MODULE_BROKEN_RTLD_GLOBAL=0
++G_MODULE_BROKEN_DLOPEN_NULL=0
+ G_MODULE_HAVE_DLERROR=0
+ dnl *** force native WIN32 shared lib loader 
+ if test -z "$G_MODULE_IMPL"; then
+@@ -1427,9 +1440,9 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODUL
+ 	LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
+ dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
+ 	echo "void glib_plugin_test(void) { }" > plugin.c
+-	${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
++	${SHELL} libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
+ 		${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1
+-	${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
++	${SHELL} libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
+ 		${LDFLAGS} -module -o plugin.la -export-dynamic \
+ 		-shrext ".o" -avoid-version plugin.lo \
+ 		-rpath /dont/care >/dev/null 2>&1
+@@ -1496,6 +1509,38 @@ dnl *** check for having dlerror()
+ 		[G_MODULE_HAVE_DLERROR=0])
+ 	LIBS="$LIBS_orig"
+ ])
++dnl *** check for dlopen(NULL, 0) brokenness
++	AC_CACHE_CHECK([for dlopen(NULL, 0) brokenness],
++		glib_cv_dlopennull_broken,[
++		AC_TRY_RUN([
++#include <stdio.h>
++#include <dlfcn.h>
++#ifndef RTLD_GLOBAL
++#  define RTLD_GLOBAL 0
++#endif
++#ifndef RTLD_LAZY
++#  define RTLD_LAZY 0
++#endif
++int gettext;
++int main () {
++    void *handle;
++    handle = dlopen ("libm.so", RTLD_GLOBAL | RTLD_LAZY);
++    if (!handle) return 0;
++    handle = dlopen (NULL, 0);
++    if (!handle) return 0;
++    handle = dlsym (handle, "sin");
++    return handle == NULL;
++}
++		],
++		[glib_cv_dlopennull_broken=no],
++		[glib_cv_dlopennull_broken=yes],
++		[glib_cv_dlopennull_broken=no])
++	])
++	if test "x$glib_cv_dlopennull_broken" = "xyes"; then
++		G_MODULE_BROKEN_DLOPEN_NULL=1
++	else
++		G_MODULE_BROKEN_DLOPEN_NULL=0
++	fi
+ dnl *** done, have we got an implementation?
+ if test -z "$G_MODULE_IMPL"; then
+ 	G_MODULE_IMPL=0
+@@ -1525,6 +1570,7 @@ AC_SUBST(G_MODULE_PLUGIN_LIBS)
+ AC_SUBST(G_MODULE_LDFLAGS)
+ AC_SUBST(G_MODULE_HAVE_DLERROR)
+ AC_SUBST(G_MODULE_BROKEN_RTLD_GLOBAL)
++AC_SUBST(G_MODULE_BROKEN_DLOPEN_NULL)
+ AC_SUBST(G_MODULE_NEED_USCORE)
+ AC_SUBST(GLIB_DEBUG_FLAGS)
+ 
+@@ -1919,22 +1965,8 @@ AS_IF([ test x"$have_threads" = xposix],
+       G_THREAD_LIBS="-lpthread -lthread"
+       ;;
+     *)
+-      for flag in pthread pthreads mt; do
+-        glib_save_CFLAGS="$CFLAGS"
+-        CFLAGS="$CFLAGS -$flag"
+-        AC_TRY_RUN(glib_thread_test(0),
+-                   glib_flag_works=yes,
+-                   glib_flag_works=no,
+-                   [AC_LINK_IFELSE([AC_LANG_SOURCE(glib_thread_test(0))],
+-                                   glib_flag_works=yes,
+-                                   glib_flag_works=no)])
+-        CFLAGS="$glib_save_CFLAGS"
+-        if test $glib_flag_works = yes ; then
+-           G_THREAD_CFLAGS=-$flag
+-        G_THREAD_LIBS=-$flag
+-        break;
+-        fi
+-      done
++      G_THREAD_LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}"
++      G_THREAD_CFLAGS="${PTHREAD_CFLAGS}"
+        ;;
+   esac
+ ])
diff --git a/frida-glib2/patches/patch-al b/frida-glib2/patches/patch-al
new file mode 100644
index 0000000000..b0366abd21
--- /dev/null
+++ b/frida-glib2/patches/patch-al
@@ -0,0 +1,22 @@
+$NetBSD: patch-al,v 1.8 2017/11/22 08:45:59 wiz Exp $
+
+https://bugzilla.gnome.org/show_bug.cgi?id=790698
+
+--- glib/tests/convert.c.orig	2013-09-05 10:43:41.000000000 +0000
++++ glib/tests/convert.c
+@@ -65,6 +65,7 @@ test_one_half (void)
+   gsize bytes_written = 0;
+   GError *error = NULL;  
+ 
++#if 0 /* these tests depend on GNU iconv specific behaviour */
+   out = g_convert (in, -1, 
+ 		   "ISO-8859-1", "UTF-8",
+ 		   &bytes_read, &bytes_written,
+@@ -99,6 +100,7 @@ test_one_half (void)
+   g_assert_cmpint (bytes_written, ==, 1);
+   g_assert_cmpstr (out, ==, "a");
+   g_free (out);
++#endif
+ }
+ 
+ static void
diff --git a/frida-glib2/patches/patch-am b/frida-glib2/patches/patch-am
new file mode 100644
index 0000000000..ae24e2e5b5
--- /dev/null
+++ b/frida-glib2/patches/patch-am
@@ -0,0 +1,14 @@
+$NetBSD: patch-am,v 1.9 2012/11/13 21:23:07 adam Exp $
+
+--- gio/tests/converter-stream.c.orig	2012-09-03 14:24:05.000000000 +0000
++++ gio/tests/converter-stream.c
+@@ -1173,7 +1173,9 @@ main (int   argc,
+   CharsetTest charset_tests[] = {
+     { "/converter-input-stream/charset/utf8->latin1", "UTF-8", "\303\205rr Sant\303\251", "ISO-8859-1", "\305rr Sant\351", 0 },
+     { "/converter-input-stream/charset/latin1->utf8", "ISO-8859-1", "\305rr Sant\351", "UTF-8", "\303\205rr Sant\303\251", 0 },
++#if 0 /* this depends on GNU iconv specific behaviour */
+     { "/converter-input-stream/charset/fallbacks", "UTF-8", "Some characters just don't fit into latin1: πא", "ISO-8859-1", "Some characters just don't fit into latin1: \\CF\\80\\D7\\90", 4 },
++#endif
+   };
+ 
+   gint i;
diff --git a/frida-glib2/patches/patch-an b/frida-glib2/patches/patch-an
new file mode 100644
index 0000000000..c28f1c3e47
--- /dev/null
+++ b/frida-glib2/patches/patch-an
@@ -0,0 +1,155 @@
+$NetBSD: patch-an,v 1.15 2017/07/11 11:52:42 jperkin Exp $
+
+- Leave gdbus-2.0/codegen sudirectory to devel/gdbus-codegen package.
+- Don't compile tests as they include gdbus-codegen tests.
+- Don't install completion data.
+- Re-enable gdesktopappinfo on Darwin.
+
+--- gio/Makefile.in.orig	2017-06-22 13:16:23.000000000 +0000
++++ gio/Makefile.in
+@@ -160,7 +160,7 @@ TESTS = $(am__EXEEXT_2)
+ @ENABLE_INSTALLED_TESTS_TRUE@	$(dist_installed_test_data)
+ @ENABLE_INSTALLED_TESTS_TRUE@am__append_13 = $(test_ltlibraries) $(installed_test_ltlibraries)
+ @ENABLE_INSTALLED_TESTS_TRUE@am__append_14 = $(installed_test_meta_DATA)
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__append_15 = xdgmime
++@OS_UNIX_TRUE@am__append_15 = xdgmime
+ @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@am__append_16 = gio-2.0.lib
+ @OS_WIN32_TRUE@am__append_17 = $(win32_settings_sources)
+ @OS_COCOA_TRUE@am__append_18 = $(cocoa_settings_sources)
+@@ -174,9 +174,9 @@ TESTS = $(am__EXEEXT_2)
+ @OS_WIN32_TRUE@am__append_26 = win32/libgiowin32.la
+ @OS_WIN32_TRUE@am__append_27 = win32/libgiowin32.la
+ @HAVE_FAM_TRUE@am__append_28 = fam
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__append_29 = xdgmime/libxdgmime.la
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__append_30 = xdgmime/libxdgmime.la
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__append_31 = gdesktopappinfo.h
++@OS_UNIX_TRUE@am__append_29 = xdgmime/libxdgmime.la
++@OS_UNIX_TRUE@am__append_30 = xdgmime/libxdgmime.la
++@OS_UNIX_TRUE@am__append_31 = gdesktopappinfo.h
+ @MAC_OS_X_9_TRUE@@OS_COCOA_TRUE@@OS_UNIX_TRUE@am__append_32 = gcocoanotificationbackend.c
+ @HAVE_NETLINK_TRUE@@OS_UNIX_TRUE@am__append_33 = \
+ @HAVE_NETLINK_TRUE@@OS_UNIX_TRUE@	gnetworkmonitornetlink.c \
+@@ -188,10 +188,10 @@ TESTS = $(am__EXEEXT_2)
+ @OS_WIN32_TRUE@am__append_34 = gwin32appinfo.c gwin32appinfo.h
+ @OS_WIN32_TRUE@am__append_35 = gcontenttype-win32.c
+ @OS_WIN32_TRUE@am__append_36 = -lshlwapi -lws2_32 -ldnsapi -liphlpapi
+-@OS_COCOA_TRUE@am__append_37 = gosxcontenttype.c
+-@OS_COCOA_TRUE@am__append_38 = gosxappinfo.c gosxappinfo.h
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__append_39 = gcontenttype.c
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__append_40 = gdesktopappinfo.c
++#@OS_COCOA_TRUE@am__append_37 = gosxcontenttype.c
++#@OS_COCOA_TRUE@am__append_38 = gosxappinfo.c gosxappinfo.h
++@OS_UNIX_TRUE@am__append_39 = gcontenttype.c
++@OS_UNIX_TRUE@am__append_40 = gdesktopappinfo.c
+ 
+ # This is dumb.  The ObjC source file should be properly named .m
+ @OS_COCOA_TRUE@am__append_41 = -xobjective-c
+@@ -208,7 +208,7 @@ bin_PROGRAMS = gio-querymodules$(EXEEXT)
+ 
+ # ------------------------------------------------------------------------
+ # gapplication(1) tool
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__append_49 = gapplication
++@OS_UNIX_TRUE@am__append_49 = gapplication
+ subdir = gio
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4macros/attributes.m4 \
+@@ -525,13 +525,13 @@ am__objects_5 = libgio_2_0_la-gappinfo.l
+ 	libgio_2_0_la-gliststore.lo $(am__objects_2) $(am__objects_3) \
+ 	$(am__objects_4) $(am__objects_1)
+ @OS_WIN32_TRUE@am__objects_6 = libgio_2_0_la-gwin32appinfo.lo
+-@OS_COCOA_TRUE@am__objects_7 = libgio_2_0_la-gosxappinfo.lo
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__objects_8 = libgio_2_0_la-gdesktopappinfo.lo
++#@OS_COCOA_TRUE@am__objects_7 = libgio_2_0_la-gosxappinfo.lo
++@OS_UNIX_TRUE@am__objects_8 = libgio_2_0_la-gdesktopappinfo.lo
+ am__objects_9 = $(am__objects_6) $(am__objects_7) $(am__objects_8)
+ @OS_WIN32_TRUE@am__objects_10 = libgio_2_0_la-gcontenttype-win32.lo
+-@OS_COCOA_TRUE@am__objects_11 = libgio_2_0_la-gosxcontenttype.lo
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__objects_12 =  \
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	libgio_2_0_la-gcontenttype.lo
++#@OS_COCOA_TRUE@am__objects_11 = libgio_2_0_la-gosxcontenttype.lo
++@OS_UNIX_TRUE@am__objects_12 =  \
++@OS_UNIX_TRUE@	libgio_2_0_la-gcontenttype.lo
+ am__objects_13 = $(am__objects_10) $(am__objects_11) $(am__objects_12)
+ am__objects_14 = libgio_2_0_la-xdp-dbus.lo
+ am__objects_15 = libgio_2_0_la-gnetworkmonitorportal.lo \
+@@ -595,22 +595,22 @@ am__v_lt_1 = 
+ libgio_2_0_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libgio_2_0_la_CFLAGS) \
+ 	$(CFLAGS) $(libgio_2_0_la_LDFLAGS) $(LDFLAGS) -o $@
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__EXEEXT_1 = gapplication$(EXEEXT)
++@OS_UNIX_TRUE@am__EXEEXT_1 = gapplication$(EXEEXT)
+ am__EXEEXT_2 =
+ @ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__EXEEXT_3 = $(am__EXEEXT_2)
+ @ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__EXEEXT_4 = $(am__EXEEXT_2)
+ PROGRAMS = $(bin_PROGRAMS) $(installed_test_PROGRAMS) \
+ 	$(noinst_PROGRAMS)
+ am__gapplication_SOURCES_DIST = gapplication-tool.c
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am_gapplication_OBJECTS =  \
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	gapplication-tool.$(OBJEXT)
++@OS_UNIX_TRUE@am_gapplication_OBJECTS =  \
++@OS_UNIX_TRUE@	gapplication-tool.$(OBJEXT)
+ gapplication_OBJECTS = $(am_gapplication_OBJECTS)
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@gapplication_DEPENDENCIES =  \
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	libgio-2.0.la \
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	$(top_builddir)/gobject/libgobject-2.0.la \
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	$(top_builddir)/gmodule/libgmodule-2.0.la \
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	$(top_builddir)/glib/libglib-2.0.la \
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	$(am__DEPENDENCIES_1)
++@OS_UNIX_TRUE@gapplication_DEPENDENCIES =  \
++@OS_UNIX_TRUE@	libgio-2.0.la \
++@OS_UNIX_TRUE@	$(top_builddir)/gobject/libgobject-2.0.la \
++@OS_UNIX_TRUE@	$(top_builddir)/gmodule/libgmodule-2.0.la \
++@OS_UNIX_TRUE@	$(top_builddir)/glib/libglib-2.0.la \
++@OS_UNIX_TRUE@	$(am__DEPENDENCIES_1)
+ am_gdbus_OBJECTS = gdbus-tool.$(OBJEXT)
+ gdbus_OBJECTS = $(am_gdbus_OBJECTS)
+ gdbus_DEPENDENCIES = libgio-2.0.la \
+@@ -931,8 +931,7 @@ am__set_b = \
+     *) \
+       b='$*';; \
+   esac
+-DIST_SUBDIRS = gdbus-2.0/codegen xdgmime inotify kqueue win32 . tests \
+-	fam
++DIST_SUBDIRS = gdbus-2.0/codegen xdgmime inotify kqueue win32 . fam
+ am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/gio.rc.in \
+ 	$(srcdir)/gnetworking.h.in $(top_srcdir)/depcomp \
+ 	$(top_srcdir)/glib.mk $(top_srcdir)/test-driver \
+@@ -1315,8 +1314,8 @@ all_test_ltlibs = $(test_ltlibraries) $(
+ @ENABLE_INSTALLED_TESTS_TRUE@                      $(dist_test_scripts) $(dist_installed_test_scripts)
+ 
+ @ENABLE_INSTALLED_TESTS_TRUE@installed_test_meta_DATA = $(installed_testcases:=.test)
+-SUBDIRS = gdbus-2.0/codegen $(am__append_15) $(am__append_19) \
+-	$(am__append_22) $(am__append_25) . tests $(am__append_28)
++SUBDIRS = $(am__append_15) $(am__append_19) \
++	$(am__append_22) $(am__append_25) . $(am__append_28)
+ @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir)
+ @MS_LIB_AVAILABLE_TRUE@@OS_WIN32_AND_DLL_COMPILATION_TRUE@uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib
+ AM_CPPFLAGS = \
+@@ -1927,12 +1926,12 @@ gdbus_LDADD = libgio-2.0.la 				\
+ 	$(top_builddir)/glib/libglib-2.0.la		\
+ 	$(NULL)
+ 
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@gapplication_SOURCES = gapplication-tool.c
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@gapplication_LDADD = libgio-2.0.la 			\
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	$(top_builddir)/gobject/libgobject-2.0.la	\
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	$(top_builddir)/gmodule/libgmodule-2.0.la 	\
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	$(top_builddir)/glib/libglib-2.0.la		\
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	$(NULL)
++@OS_UNIX_TRUE@gapplication_SOURCES = gapplication-tool.c
++@OS_UNIX_TRUE@gapplication_LDADD = libgio-2.0.la 			\
++@OS_UNIX_TRUE@	$(top_builddir)/gobject/libgobject-2.0.la	\
++@OS_UNIX_TRUE@	$(top_builddir)/gmodule/libgmodule-2.0.la 	\
++@OS_UNIX_TRUE@	$(top_builddir)/glib/libglib-2.0.la		\
++@OS_UNIX_TRUE@	$(NULL)
+ 
+ completiondir = $(datadir)/bash-completion/completions
+ completion_DATA = \
+@@ -4800,7 +4799,7 @@ info: info-recursive
+ 
+ info-am:
+ 
+-install-data-am: install-completionDATA install-data-local \
++install-data-am: install-data-local \
+ 	install-dist_itsDATA install-dist_schemaDATA \
+ 	install-gioincludeHEADERS install-giounixincludeHEADERS \
+ 	install-giowin32includeHEADERS \
diff --git a/frida-glib2/patches/patch-cb b/frida-glib2/patches/patch-cb
new file mode 100644
index 0000000000..3b554df0aa
--- /dev/null
+++ b/frida-glib2/patches/patch-cb
@@ -0,0 +1,13 @@
+$NetBSD: patch-cb,v 1.3 2012/05/01 18:45:52 adam Exp $
+
+--- gio/xdgmime/xdgmime.c.orig	2008-09-02 15:09:17.000000000 +0000
++++ gio/xdgmime/xdgmime.c
+@@ -257,7 +257,7 @@ xdg_run_command_on_dirs (XdgDirectoryFun
+ 
+   xdg_data_dirs = getenv ("XDG_DATA_DIRS");
+   if (xdg_data_dirs == NULL)
+-    xdg_data_dirs = "/usr/local/share/:/usr/share/";
++    xdg_data_dirs = PREFIX "/share/";
+ 
+   ptr = xdg_data_dirs;
+ 
diff --git a/frida-glib2/patches/patch-cc b/frida-glib2/patches/patch-cc
new file mode 100644
index 0000000000..e696385ad9
--- /dev/null
+++ b/frida-glib2/patches/patch-cc
@@ -0,0 +1,16 @@
+$NetBSD: patch-cc,v 1.3 2013/04/19 22:21:41 prlw1 Exp $
+
+http://bugzilla.gnome.org/show_bug.cgi?id=562334
+
+--- glib/gbacktrace.h.orig	2013-03-13 13:39:09.000000000 +0000
++++ glib/gbacktrace.h
+@@ -32,6 +32,9 @@
+ #endif
+ 
+ #include <glib/gtypes.h>
++#ifdef __sun__
++#include <sys/select.h>
++#endif
+ #include <signal.h>
+ 
+ G_BEGIN_DECLS
diff --git a/frida-glib2/patches/patch-cd b/frida-glib2/patches/patch-cd
new file mode 100644
index 0000000000..68ff3d3306
--- /dev/null
+++ b/frida-glib2/patches/patch-cd
@@ -0,0 +1,41 @@
+$NetBSD: patch-cd,v 1.9 2016/04/07 18:33:05 prlw1 Exp $
+
+sysutils/gio-fam builds the gio/fam backend as a separate module.  Force it
+to link against the installed version of glib2, as it is not rebuilt by the
+package.
+
+--- gio/fam/Makefile.in.orig	2016-02-16 11:35:28.000000000 +0000
++++ gio/fam/Makefile.in
+@@ -183,10 +183,7 @@ am__installdirs = "$(DESTDIR)$(giomodule
+ LTLIBRARIES = $(giomodule_LTLIBRARIES) $(installed_test_LTLIBRARIES) \
+ 	$(noinst_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+-libgiofam_la_DEPENDENCIES = $(top_builddir)/gio/libgio-2.0.la \
+-	$(top_builddir)/gobject/libgobject-2.0.la \
+-	$(top_builddir)/glib/libglib-2.0.la $(am__DEPENDENCIES_1) \
+-	$(am__DEPENDENCIES_1)
++libgiofam_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+ am_libgiofam_la_OBJECTS = libgiofam_la-gfamfilemonitor.lo
+ libgiofam_la_OBJECTS = $(am_libgiofam_la_OBJECTS)
+ AM_V_lt = $(am__v_lt_@AM_V@)
+@@ -789,9 +786,7 @@ libgiofam_la_CFLAGS = \
+ 
+ libgiofam_la_LDFLAGS = $(module_flags)
+ libgiofam_la_LIBADD = \
+-		$(top_builddir)/gio/libgio-2.0.la \
+-		$(top_builddir)/gobject/libgobject-2.0.la \
+-		$(top_builddir)/glib/libglib-2.0.la \
++		$$(pkg-config --libs gio-2.0 gobject-2.0 glib-2.0) \
+ 		$(GLIB_LIBS) \
+ 		$(FAM_LIBS) \
+ 		$(NULL)
+@@ -1559,9 +1554,6 @@ check-local: test-nonrecursive
+ @ENABLE_INSTALLED_TESTS_TRUE@	mv $@.tmp $@)
+ 
+ install-data-hook:
+-	if $(RUN_QUERY_MODULES) && test -z "$(DESTDIR)" ; then					\
+-		$(top_builddir)/gio/gio-querymodules$(EXEEXT) $(DESTDIR)$(GIO_MODULE_DIR) ;	\
+-	fi
+ 
+ uninstall-local:
+ 	$(RM) $(DESTDIR)$(GIO_MODULE_DIR)/giomodule.cache
diff --git a/frida-glib2/patches/patch-ck b/frida-glib2/patches/patch-ck
new file mode 100644
index 0000000000..5a62efcae8
--- /dev/null
+++ b/frida-glib2/patches/patch-ck
@@ -0,0 +1,23 @@
+$NetBSD: patch-ck,v 1.1 2011/10/09 19:40:02 jmmv Exp $
+
+--- glib/libcharset/Makefile.am.orig	2011-06-05 23:18:49.000000000 +0000
++++ glib/libcharset/Makefile.am
+@@ -25,18 +25,6 @@ EXTRA_DIST += 			\
+ charset_alias = $(DESTDIR)$(libdir)/charset.alias
+ charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
+ install-exec-local: all-local
+-	$(mkinstalldirs) $(DESTDIR)$(libdir)
+-	if test -f $(charset_alias); then \
+-	  sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
+-	  $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
+-	  rm -f $(charset_tmp) ; \
+-	else \
+-	  if test @GLIBC21@ = no; then \
+-	    sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
+-	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
+-	    rm -f $(charset_tmp) ; \
+-	  fi ; \
+-	fi
+ 
+ uninstall-local: all-local
+ 	if test -f $(charset_alias); then \
diff --git a/frida-glib2/patches/patch-cl b/frida-glib2/patches/patch-cl
new file mode 100644
index 0000000000..fed09207e4
--- /dev/null
+++ b/frida-glib2/patches/patch-cl
@@ -0,0 +1,40 @@
+$NetBSD: patch-cl,v 1.12 2017/07/03 17:42:45 prlw1 Exp $
+
+- Leave gdbus-2.0/codegen sudirectory to devel/gdbus-codegen package.
+- Don't compile tests as they include gdbus-codegen tests.
+- Don't install completion data.
+(patch-an)
+--- gio/Makefile.am.orig	2017-06-22 12:53:56.000000000 +0000
++++ gio/Makefile.am
+@@ -1,6 +1,6 @@
+ include $(top_srcdir)/glib.mk
+ 
+-SUBDIRS = gdbus-2.0/codegen
++SUBDIRS = 
+ 
+ if OS_UNIX
+ if !OS_COCOA
+@@ -244,7 +244,7 @@ platform_libadd += win32/libgiowin32.la
+ platform_deps += win32/libgiowin32.la
+ endif
+ 
+-SUBDIRS += . tests
++SUBDIRS += .
+ 
+ if HAVE_FAM
+ SUBDIRS += fam
+@@ -898,14 +898,6 @@ gapplication_LDADD = libgio-2.0.la 			\
+ endif
+ endif
+ 
+-completiondir = $(datadir)/bash-completion/completions
+-completion_DATA = \
+-	completion/gapplication				\
+-	completion/gdbus				\
+-	completion/gsettings				\
+-	completion/gresource
+-EXTRA_DIST += $(completion_DATA)
+-
+ # ------------------------------------------------------------------------
+ # gresource tool
+ 
diff --git a/frida-glib2/patches/patch-cm b/frida-glib2/patches/patch-cm
new file mode 100644
index 0000000000..f813946030
--- /dev/null
+++ b/frida-glib2/patches/patch-cm
@@ -0,0 +1,32 @@
+$NetBSD: patch-cm,v 1.3 2013/12/08 13:08:59 prlw1 Exp $
+
+sysutils/gio-fam builds the gio/fam backend as a separate module.  Force it
+to link against the installed version of glib2, as it is not rebuilt by the
+package.
+(patch-cd)
+--- gio/fam/Makefile.am.orig	2012-03-11 23:55:40.000000000 +0000
++++ gio/fam/Makefile.am
+@@ -25,11 +25,9 @@ libgiofam_la_CFLAGS = \
+ 	-DGIO_COMPILATION		\
+ 	-DG_DISABLE_DEPRECATED
+ 
+-libgiofam_la_LDFLAGS = $(module_flags)
++libgiofam_la_LDFLAGS = $(module_flags) \
++		$$(pkg-config --libs gio-2.0 gobject-2.0 glib-2.0)
+ libgiofam_la_LIBADD = \
+-		$(top_builddir)/gio/libgio-2.0.la \
+-		$(top_builddir)/gobject/libgobject-2.0.la \
+-		$(top_builddir)/glib/libglib-2.0.la \
+ 		$(GLIB_LIBS) \
+ 		$(FAM_LIBS) \
+ 		$(NULL)
+@@ -41,9 +39,6 @@ RUN_QUERY_MODULES=true
+ endif
+ 
+ install-data-hook:
+-	if $(RUN_QUERY_MODULES) && test -z "$(DESTDIR)" ; then					\
+-		$(top_builddir)/gio/gio-querymodules$(EXEEXT) $(DESTDIR)$(GIO_MODULE_DIR) ;	\
+-	fi
+ 
+ uninstall-local:
+ 	$(RM) $(DESTDIR)$(GIO_MODULE_DIR)/giomodule.cache
diff --git a/frida-glib2/patches/patch-gio_gdbus-2.0_codegen_gdbus-codegen.in b/frida-glib2/patches/patch-gio_gdbus-2.0_codegen_gdbus-codegen.in
new file mode 100644
index 0000000000..1d58e0f88e
--- /dev/null
+++ b/frida-glib2/patches/patch-gio_gdbus-2.0_codegen_gdbus-codegen.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-gio_gdbus-2.0_codegen_gdbus-codegen.in,v 1.1 2017/10/15 08:23:06 prlw1 Exp $
+
+Revert 683809d5 Use env for gdbus-codegen's script
+https://bugzilla.gnome.org/show_bug.cgi?id=788527
+
+--- gio/gdbus-2.0/codegen/gdbus-codegen.in.orig	2017-07-15 12:05:03.000000000 +0000
++++ gio/gdbus-2.0/codegen/gdbus-codegen.in
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env @PYTHON@
++#!@PYTHON@
+ 
+ # GDBus - GLib D-Bus Library
+ #
diff --git a/frida-glib2/patches/patch-gio_gdbusauthmechanismsha1.c b/frida-glib2/patches/patch-gio_gdbusauthmechanismsha1.c
new file mode 100644
index 0000000000..48eaa0b475
--- /dev/null
+++ b/frida-glib2/patches/patch-gio_gdbusauthmechanismsha1.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-gio_gdbusauthmechanismsha1.c,v 1.3 2017/07/03 17:42:45 prlw1 Exp $
+
+Suppress format warnings that are converted to errors with gcc 4.8
+
+--- gio/gdbusauthmechanismsha1.c.orig	2017-06-22 12:52:49.000000000 +0000
++++ gio/gdbusauthmechanismsha1.c
+@@ -272,7 +272,7 @@ ensure_keyring_directory (GError **error
+                            G_IO_ERROR_FAILED,
+                            _("Permissions on directory “%s” are malformed. Expected mode 0700, got 0%o"),
+                            path,
+-                           statbuf.st_mode & 0777);
++                           (guint)statbuf.st_mode & 0777);
+               g_free (path);
+               path = NULL;
+               goto out;
diff --git a/frida-glib2/patches/patch-gio_giomodule.c b/frida-glib2/patches/patch-gio_giomodule.c
new file mode 100644
index 0000000000..535951e1fd
--- /dev/null
+++ b/frida-glib2/patches/patch-gio_giomodule.c
@@ -0,0 +1,37 @@
+$NetBSD: patch-gio_giomodule.c,v 1.1 2017/07/11 11:52:42 jperkin Exp $
+
+Re-enable gdesktopappinfo on Darwin.
+
+--- gio/giomodule.c.orig	2017-06-22 12:52:49.000000000 +0000
++++ gio/giomodule.c
+@@ -43,12 +43,9 @@
+ #endif
+ #include <glib/gstdio.h>
+ 
+-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
++#if defined(G_OS_UNIX)
+ #include "gdesktopappinfo.h"
+ #endif
+-#ifdef HAVE_COCOA
+-#include "gosxappinfo.h"
+-#endif
+ 
+ #ifdef HAVE_COCOA
+ #include <AvailabilityMacros.h>
+@@ -978,7 +975,7 @@ _g_io_modules_ensure_extension_points_re
+     {
+       registered_extensions = TRUE;
+       
+-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
++#if defined(G_OS_UNIX)
+ #if !GLIB_CHECK_VERSION (3, 0, 0)
+       ep = g_io_extension_point_register (G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME);
+       G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+@@ -1119,7 +1116,6 @@ _g_io_modules_ensure_loaded (void)
+ #endif
+ #ifdef HAVE_COCOA
+       g_type_ensure (g_nextstep_settings_backend_get_type ());
+-      g_type_ensure (g_osx_app_info_get_type ());
+ #endif
+ #ifdef G_OS_UNIX
+       g_type_ensure (_g_unix_volume_monitor_get_type ());
diff --git a/frida-glib2/patches/patch-gio_glocalfileinfo.c b/frida-glib2/patches/patch-gio_glocalfileinfo.c
new file mode 100644
index 0000000000..04ad2bf6fb
--- /dev/null
+++ b/frida-glib2/patches/patch-gio_glocalfileinfo.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-gio_glocalfileinfo.c,v 1.1 2017/07/11 11:52:42 jperkin Exp $
+
+Re-enable gdesktopappinfo on Darwin.
+
+--- gio/glocalfileinfo.c.orig	2017-06-22 12:52:49.000000000 +0000
++++ gio/glocalfileinfo.c
+@@ -1259,7 +1259,7 @@ get_content_type (const char          *b
+ 
+       content_type = g_content_type_guess (basename, NULL, 0, &result_uncertain);
+       
+-#if !defined(G_OS_WIN32) && !defined(HAVE_COCOA)
++#if !defined(G_OS_WIN32)
+       if (!fast && result_uncertain && path != NULL)
+ 	{
+ 	  guchar sniff_buffer[4096];
diff --git a/frida-glib2/patches/patch-gio_gresource-tool.c b/frida-glib2/patches/patch-gio_gresource-tool.c
new file mode 100644
index 0000000000..79ef4e0220
--- /dev/null
+++ b/frida-glib2/patches/patch-gio_gresource-tool.c
@@ -0,0 +1,16 @@
+$NetBSD: patch-gio_gresource-tool.c,v 1.1 2012/07/12 14:43:26 jperkin Exp $
+
+--- gio/gresource-tool.c.orig	Thu Jul 12 09:13:01 2012
++++ gio/gresource-tool.c	Thu Jul 12 09:13:06 2012
+@@ -31,6 +31,11 @@
+ #include <locale.h>
+ 
+ #ifdef HAVE_LIBELF
++/* Solaris native libelf does not support largefile in 32-bit mode */
++#  if defined(__sun) && defined(__i386)
++#    undef  _FILE_OFFSET_BITS
++#    define _FILE_OFFSET_BITS   32
++#  endif
+ #include <libelf.h>
+ #include <gelf.h>
+ #include <sys/mman.h>
diff --git a/frida-glib2/patches/patch-gio_inotify_inotify-kernel.c b/frida-glib2/patches/patch-gio_inotify_inotify-kernel.c
new file mode 100644
index 0000000000..e2ad322877
--- /dev/null
+++ b/frida-glib2/patches/patch-gio_inotify_inotify-kernel.c
@@ -0,0 +1,16 @@
+$NetBSD: patch-gio_inotify_inotify-kernel.c,v 1.1 2016/04/13 10:13:43 jperkin Exp $
+
+Use _XOPEN_NAME_MAX in lieu of NAME_MAX for SunOS.
+
+--- gio/inotify/inotify-kernel.c.orig	2016-02-23 22:25:36.000000000 +0000
++++ gio/inotify/inotify-kernel.c
+@@ -36,6 +36,9 @@
+ #include "glib-private.h"
+ 
+ /* From inotify(7) */
++#if !defined(NAME_MAX) && defined(_XOPEN_NAME_MAX)
++#define NAME_MAX             _XOPEN_NAME_MAX
++#endif
+ #define MAX_EVENT_SIZE       (sizeof(struct inotify_event) + NAME_MAX + 1)
+ 
+ /* Amount of time to sleep on receipt of uninteresting events */
diff --git a/frida-glib2/patches/patch-gio_tests_Makefile.in b/frida-glib2/patches/patch-gio_tests_Makefile.in
new file mode 100644
index 0000000000..3306f92341
--- /dev/null
+++ b/frida-glib2/patches/patch-gio_tests_Makefile.in
@@ -0,0 +1,48 @@
+$NetBSD: patch-gio_tests_Makefile.in,v 1.1 2017/07/11 11:52:42 jperkin Exp $
+
+Re-enable gdesktopappinfo on Darwin.
+
+--- gio/tests/Makefile.in.orig	2017-06-22 13:16:24.000000000 +0000
++++ gio/tests/Makefile.in
+@@ -163,8 +163,8 @@ check_PROGRAMS = $(am__EXEEXT_22)
+ @OS_UNIX_TRUE@	gdbus-example-objectmanager-client \
+ @OS_UNIX_TRUE@	gdbus-example-objectmanager-server \
+ @OS_UNIX_TRUE@	gdbus-test-fixture
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__append_19 = apps
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__append_20 = mimeapps
++@OS_UNIX_TRUE@am__append_19 = apps
++@OS_UNIX_TRUE@am__append_20 = mimeapps
+ @OS_UNIX_TRUE@am__append_21 = gsettings gschema-compile
+ @OS_UNIX_FALSE@gsettings_DEPENDENCIES =  \
+ @OS_UNIX_FALSE@	$(top_builddir)/gio/libgio-2.0.la \
+@@ -332,7 +332,7 @@ am__EXEEXT_1 =
+ @OS_UNIX_TRUE@	live-g-file$(EXEEXT) socket-address$(EXEEXT) \
+ @OS_UNIX_TRUE@	stream-rw_all$(EXEEXT) unix-fd$(EXEEXT) \
+ @OS_UNIX_TRUE@	unix-streams$(EXEEXT) $(am__EXEEXT_1)
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__EXEEXT_3 = mimeapps$(EXEEXT)
++@OS_UNIX_TRUE@am__EXEEXT_3 = mimeapps$(EXEEXT)
+ @OS_UNIX_TRUE@am__EXEEXT_4 = gdbus-connection-flush$(EXEEXT) \
+ @OS_UNIX_TRUE@	gdbus-non-socket$(EXEEXT)
+ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@am__EXEEXT_5 = actions$(EXEEXT) \
+@@ -398,7 +398,7 @@ am__EXEEXT_14 = $(am__EXEEXT_1) $(am__EX
+ @OS_UNIX_TRUE@am__EXEEXT_15 = basic-application$(EXEEXT) \
+ @OS_UNIX_TRUE@	dbus-launch$(EXEEXT) $(am__EXEEXT_1) \
+ @OS_UNIX_TRUE@	appinfo-test$(EXEEXT) $(am__EXEEXT_1)
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@am__EXEEXT_16 = apps$(EXEEXT)
++@OS_UNIX_TRUE@am__EXEEXT_16 = apps$(EXEEXT)
+ @OS_UNIX_TRUE@am__EXEEXT_17 = gsubprocess-testprog$(EXEEXT) \
+ @OS_UNIX_TRUE@	gdbus-overflow$(EXEEXT)
+ am__EXEEXT_18 = gdbus-connection-flush-helper$(EXEEXT) \
+@@ -4662,9 +4662,9 @@ uninstall-am: uninstall-installed_testLT
+ @ENABLE_INSTALLED_TESTS_TRUE@	echo 'Exec=$(installed_testdir)/$(notdir $<) --tap' >> $@.tmp; \
+ @ENABLE_INSTALLED_TESTS_TRUE@	echo 'Output=TAP' >> $@.tmp; \
+ @ENABLE_INSTALLED_TESTS_TRUE@	mv $@.tmp $@)
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@clean-local: clean-mimeapps
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@clean-mimeapps:
+-@OS_COCOA_FALSE@@OS_UNIX_TRUE@	rm -rf xdgdatadir xdgdatahome xdgconfighome
++@OS_UNIX_TRUE@clean-local: clean-mimeapps
++@OS_UNIX_TRUE@clean-mimeapps:
++@OS_UNIX_TRUE@	rm -rf xdgdatadir xdgdatahome xdgconfighome
+ @OS_UNIX_TRUE%test.mo@localhost: de.po
+ @OS_UNIX_TRUE@	$(AM_V_GEN) $(MSGFMT) -o test.mo $(srcdir)/de.po; \
+ @OS_UNIX_TRUE@	$(MKDIR_P) de/LC_MESSAGES; \
diff --git a/frida-glib2/patches/patch-glib_gmain.c b/frida-glib2/patches/patch-glib_gmain.c
new file mode 100644
index 0000000000..e87a1ab7ca
--- /dev/null
+++ b/frida-glib2/patches/patch-glib_gmain.c
@@ -0,0 +1,81 @@
+$NetBSD: patch-glib_gmain.c,v 1.1 2015/01/25 06:54:28 pho Exp $
+
+Imported patch from the upstream Bugzilla:
+
+  Bug 728123 - glib2 @2.40.0 issues a "Got weird mach timebase info" error (Macports, PPC)
+  https://bugzilla.gnome.org/show_bug.cgi?id=728123
+
+Tested on powerpc-apple-darwin9.
+
+--- glib/gmain.c.orig	2014-11-09 21:54:26.000000000 +0000
++++ glib/gmain.c
+@@ -2694,47 +2694,31 @@ g_get_monotonic_time (void)
+ gint64
+ g_get_monotonic_time (void)
+ {
+-  static mach_timebase_info_data_t timebase_info;
++  mach_timebase_info_data_t timebase_info;
++  guint64 val;
+ 
+-  if (timebase_info.denom == 0)
+-    {
+-      /* This is a fraction that we must use to scale
+-       * mach_absolute_time() by in order to reach nanoseconds.
+-       *
+-       * We've only ever observed this to be 1/1, but maybe it could be
+-       * 1000/1 if mach time is microseconds already, or 1/1000 if
+-       * picoseconds.  Try to deal nicely with that.
+-       */
+-      mach_timebase_info (&timebase_info);
+-
+-      /* We actually want microseconds... */
+-      if (timebase_info.numer % 1000 == 0)
+-        timebase_info.numer /= 1000;
+-      else
+-        timebase_info.denom *= 1000;
+-
+-      /* We want to make the numer 1 to avoid having to multiply... */
+-      if (timebase_info.denom % timebase_info.numer == 0)
+-        {
+-          timebase_info.denom /= timebase_info.numer;
+-          timebase_info.numer = 1;
+-        }
+-      else
+-        {
+-          /* We could just multiply by timebase_info.numer below, but why
+-           * bother for a case that may never actually exist...
+-           *
+-           * Plus -- performing the multiplication would risk integer
+-           * overflow.  If we ever actually end up in this situation, we
+-           * should more carefully evaluate the correct course of action.
+-           */
+-          mach_timebase_info (&timebase_info); /* Get a fresh copy for a better message */
+-          g_error ("Got weird mach timebase info of %d/%d.  Please file a bug against GLib.",
+-                   timebase_info.numer, timebase_info.denom);
+-        }
++  /* we get nanoseconds from mach_absolute_time() using timebase_info */
++  mach_timebase_info (&timebase_info);
++  val = mach_absolute_time();
++
++  if (timebase_info.numer != timebase_info.denom)
++    {
++      guint64 t_high, t_low;
++      guint64 result_high, result_low;
++
++      /* 64 bit x 32 bit / 32 bit with 96-bit intermediate 
++       * algorithm lifted from qemu */
++      t_low = (val & 0xffffffffLL) * (guint64)timebase_info.numer;
++      t_high = (val >> 32) * (guint64)timebase_info.numer;
++      t_high += (t_low >> 32);
++      result_high = t_high / (guint64)timebase_info.denom;
++      result_low = (((t_high % (guint64)timebase_info.denom) << 32) +
++                   (t_low & 0xffffffff)) / (guint64)timebase_info.denom;
++      val = ((result_high << 32) | result_low);
+     }
+ 
+-  return mach_absolute_time () / timebase_info.denom;
++  /* nanoseconds to microseconds */
++  return val / 1000;
+ }
+ #else
+ gint64
diff --git a/frida-glib2/patches/patch-glib_gthread-posix.c b/frida-glib2/patches/patch-glib_gthread-posix.c
new file mode 100644
index 0000000000..ca948280cb
--- /dev/null
+++ b/frida-glib2/patches/patch-glib_gthread-posix.c
@@ -0,0 +1,36 @@
+$NetBSD: patch-glib_gthread-posix.c,v 1.2 2014/09/14 23:35:23 prlw1 Exp $
+
+https://bugzilla.gnome.org/show_bug.cgi?id=736651
+
+--- glib/gthread-posix.c.orig	2014-02-22 15:29:07.000000000 +0000
++++ glib/gthread-posix.c
+@@ -644,6 +644,7 @@ g_cond_impl_new (void)
+ #elif defined (HAVE_PTHREAD_CONDATTR_SETCLOCK) && defined (CLOCK_MONOTONIC)
+   if G_UNLIKELY ((status = pthread_condattr_setclock (&attr, CLOCK_MONOTONIC)) != 0)
+     g_thread_abort (status, "pthread_condattr_setclock");
++#elif defined (CLOCK_MONOTONIC)
+ #else
+ #error Cannot support GCond on your platform.
+ #endif
+@@ -892,6 +893,21 @@ g_cond_wait_until (GCond  *cond,
+     if ((status = pthread_cond_timedwait (g_cond_get_impl (cond), g_mutex_get_impl (mutex), &ts)) == 0)
+       return TRUE;
+   }
++#elif defined (CLOCK_MONOTONIC)
++  {
++    gint64 monotonic_now = g_get_monotonic_time ();
++    gint64 real_end_time;
++
++    if (end_time <= monotonic_now)
++      return FALSE;
++
++    real_end_time = g_get_real_time () + (end_time - monotonic_now);
++
++    ts.tv_sec = real_end_time / 1000000;
++    ts.tv_nsec = (real_end_time % 1000000) * 1000;
++    if ((status = pthread_cond_timedwait (g_cond_get_impl (cond), g_mutex_get_impl (mutex), &ts)) == 0)
++      return TRUE;
++  }
+ #else
+ #error Cannot support GCond on your platform.
+ #endif
diff --git a/frida-glib2/patches/patch-glib_gtimezone.c b/frida-glib2/patches/patch-glib_gtimezone.c
new file mode 100644
index 0000000000..fde3356efb
--- /dev/null
+++ b/frida-glib2/patches/patch-glib_gtimezone.c
@@ -0,0 +1,20 @@
+$NetBSD: patch-glib_gtimezone.c,v 1.2 2014/09/05 20:49:55 prlw1 Exp $
+
+Bug 730332 - glib uses wrong timezone transition with zoneinfo 2014c
+
+Patch from John Ralls.
+
+--- glib/gtimezone.c.orig	2013-11-07 15:29:13.000000000 +0000
++++ glib/gtimezone.c
+@@ -1558,7 +1558,11 @@ interval_end (GTimeZone *tz,
+               guint      interval)
+ {
+   if (tz->transitions && interval < tz->transitions->len)
++  {
++    if ((TRANSITION(interval)).time == G_MININT64)
++      return G_MININT64;
+     return (TRANSITION(interval)).time - 1;
++  }
+   return G_MAXINT64;
+ }
+ 
diff --git a/frida-glib2/patches/patch-gobject_Makefile.am b/frida-glib2/patches/patch-gobject_Makefile.am
new file mode 100644
index 0000000000..3bdc07a2e5
--- /dev/null
+++ b/frida-glib2/patches/patch-gobject_Makefile.am
@@ -0,0 +1,14 @@
+$NetBSD: patch-gobject_Makefile.am,v 1.1 2017/10/13 15:35:10 prlw1 Exp $
+
+Move python scripts to py-glib2-tools package.
+
+--- gobject/Makefile.am.orig	2017-07-13 23:03:39.000000000 +0000
++++ gobject/Makefile.am
+@@ -187,7 +187,6 @@ libgobject_2_0_la_SOURCES = $(gobject_ta
+ # programs to compile and install
+ #
+ bin_PROGRAMS = gobject-query
+-bin_SCRIPTS = glib-mkenums glib-genmarshal
+ # source files
+ gobject_query_SOURCES = gobject-query.c
+ # link programs against libgobject
diff --git a/frida-glib2/patches/patch-gobject_Makefile.in b/frida-glib2/patches/patch-gobject_Makefile.in
new file mode 100644
index 0000000000..fd214de9a8
--- /dev/null
+++ b/frida-glib2/patches/patch-gobject_Makefile.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-gobject_Makefile.in,v 1.1 2017/10/13 15:35:10 prlw1 Exp $
+
+Move python scripts to py-glib2-tools package.
+
+--- gobject/Makefile.in.orig	2017-10-02 15:02:26.000000000 +0000
++++ gobject/Makefile.in
+@@ -1007,7 +1007,6 @@ gen_sources = xgen-gmh xgen-gmc xgen-gms
+ # target platform:
+ libgobjectinclude_HEADERS = $(gobject_target_headers)
+ libgobject_2_0_la_SOURCES = $(gobject_target_sources)
+-bin_SCRIPTS = glib-mkenums glib-genmarshal
+ # source files
+ gobject_query_SOURCES = gobject-query.c
+ # link programs against libgobject
diff --git a/frida-glib2/patches/patch-gobject_glib-genmarshal.in b/frida-glib2/patches/patch-gobject_glib-genmarshal.in
new file mode 100644
index 0000000000..bb689af617
--- /dev/null
+++ b/frida-glib2/patches/patch-gobject_glib-genmarshal.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-gobject_glib-genmarshal.in,v 1.1 2017/10/15 08:23:06 prlw1 Exp $
+
+Revert 4395a897 Use env to run the Python-based tools
+https://bugzilla.gnome.org/show_bug.cgi?id=788527
+
+--- gobject/glib-genmarshal.in.orig	2017-09-04 12:42:30.000000000 +0000
++++ gobject/glib-genmarshal.in
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env @PYTHON@
++#!@PYTHON@
+ 
+ # pylint: disable=too-many-lines, missing-docstring, invalid-name
+ 
diff --git a/frida-glib2/patches/patch-gobject_glib-mkenums.in b/frida-glib2/patches/patch-gobject_glib-mkenums.in
new file mode 100644
index 0000000000..31dd1075ff
--- /dev/null
+++ b/frida-glib2/patches/patch-gobject_glib-mkenums.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-gobject_glib-mkenums.in,v 1.3 2018/01/28 16:51:51 wiz Exp $
+
+- Revert 4395a897 Use env to run the Python-based tools
+  https://bugzilla.gnome.org/show_bug.cgi?id=788527
+
+--- gobject/glib-mkenums.in.orig	2017-10-21 08:20:09.664007702 +0000
++++ gobject/glib-mkenums.in
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env @PYTHON@
++#!@PYTHON@
+ 
+ # If the code below looks horrible and unpythonic, do not panic.
+ #
diff --git a/frida-glib2/schemas.mk b/frida-glib2/schemas.mk
new file mode 100644
index 0000000000..14a916074a
--- /dev/null
+++ b/frida-glib2/schemas.mk
@@ -0,0 +1,29 @@
+# $NetBSD: schemas.mk,v 1.2 2011/02/20 15:07:40 jmmv Exp $
+#
+# This Makefile fragment is intended to be included by packages that install
+# GSettings schemas.  It takes care of rebuilding the corresponding databases
+# at (de)installation time.
+#
+
+.if !defined(GLIB_SCHEMAS_MK)
+GLIB_SCHEMAS_MK=	# defined
+
+GLIB_COMPILE_SCHEMAS=	${BUILDLINK_PREFIX.glib2}/bin/glib-compile-schemas
+
+FILES_SUBST+=		GLIB_SCHEMAS_DIR=${GLIB_SCHEMAS_DIR:Q}
+FILES_SUBST+=		GLIB_COMPILE_SCHEMAS=${GLIB_COMPILE_SCHEMAS:Q}
+GLIB_SCHEMAS_DIR=${BUILDLINK_PREFIX.glib2}/share/glib-2.0/schemas
+INSTALL_TEMPLATES+=	../../devel/glib2/files/schemas.tmpl
+DEINSTALL_TEMPLATES+=	../../devel/glib2/files/schemas.tmpl
+
+TOOLS_NOOP+=		glib-compile-schemas
+# Adding glib-compile-schemas to TOOLS_NOOP is not enough to mock out all
+# calls to this tool.  Some packages do 'pkg-config --variable
+# glib_compile_schemas gio-2.0' to get the path to the binary.  Do a best
+# effort here by overriding the possibly-defined GLIB_COMPILE_SCHEMAS
+# variable in the offending Makefiles.
+MAKE_FLAGS+=		GLIB_COMPILE_SCHEMAS=glib-compile-schemas
+
+.include "../../devel/glib2/buildlink3.mk"
+
+.endif			# GLIB_SCHEMAS_MK


Home | Main Index | Thread Index | Old Index