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