NetBSD Problem Report #54393

From www@netbsd.org  Sun Jul 21 12:12:33 2019
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id AC9FD7A13E
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 21 Jul 2019 12:12:33 +0000 (UTC)
Message-Id: <20190721121231.BCAFD7A1D3@mollari.NetBSD.org>
Date: Sun, 21 Jul 2019 12:12:31 +0000 (UTC)
From: clement.bouvier.europe@gmail.com
Reply-To: clement.bouvier.europe@gmail.com
To: gnats-bugs@NetBSD.org
Subject: devel/gobject-introspection broken on macos (with devel/glib2 correction)
X-Send-Pr-Version: www-1.0

>Number:         54393
>Category:       pkg
>Synopsis:       devel/gobject-introspection broken on macos (with devel/glib2 correction)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    macos-pkg-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 21 12:15:00 +0000 2019
>Last-Modified:  Thu Aug 01 15:45:01 +0000 2019
>Originator:     Clement Bouvier
>Release:        current
>Organization:
>Environment:
macosx mojave 10.14.5
>Description:
devel/gobject-introspection is broken on macosx.
An example of log:

http://us-east.manta.joyent.com/pkgsrc/public/reports/Darwin/trunk/x86_64/20190717.2337/gobject-introspection-1.60.1nb1/build.log

The undefined symbols is due to devel/glib2 patches.
Indeed on macosx, glib2 has an gappinfo implementation which is different from other unixes: gdesktopappinfo.
Patches are present on pkgsrc to provide this implementation (needed by gtk with the x11 backend). However, the patch breaks devel/gobject-introspection and doesn't help to gtk quartz-backend.

Oonce the problem of undefined symbols corrected, another problem occurs with the coupling meson build/ pkgsrc cwrapper (I suppose that it is).
More details:

http://mail-index.netbsd.org/pkgsrc-users/2019/07/19/msg029048.html
>How-To-Repeat:
Build devel/gobject-introspection
>Fix:
The first part of the patch allow to choose the gappinfo of glib2 under macox at compile time ; either gdesktopappinfo either gosxappinfo.
The patch is based on an old patch submitted to mainstream but ever integrated because of the meson migration.
More detail here:

https://gitlab.gnome.org/GNOME/glib/issues/1263

The second part of the patch make devel/gobject-introspection to build under macos.

As workaround, the idea is to built a static version of girepository library usable with the executables of the project.
The version of these executables would be used to make the typelib files.
Of course, they are not installed, just used for the "bootstrap" of files.
The main executable which use the static library is g-ir-compiler.

Moreover a previous patch by patrick Welche is removed so as to make the giscanner works for the girepository.gir. The patch make giscanner fails on macosx.

glib2 patch:

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/glib2/Makefile,v
retrieving revision 1.257
diff -u -r1.257 Makefile
--- Makefile	28 Jun 2019 19:42:05 -0000	1.257
+++ Makefile	21 Jul 2019 08:11:36 -0000
@@ -2,7 +2,7 @@

 .include "Makefile.common"

-PKGREVISION=	5
+PKGREVISION=	6
 CATEGORIES=	devel gnome
 COMMENT=	Some useful routines for C programming (glib2)

@@ -61,12 +61,6 @@
 TOOL_DEPENDS+=		${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
 PYTHON_FOR_BUILD_ONLY=	yes

-.include "../../mk/bsd.prefs.mk"
-PLIST_VARS+=	nococoa
-.if ${OPSYS} != "Darwin"
-PLIST.nococoa=	yes
-.endif
-
 .include "../../converters/libiconv/buildlink3.mk"
 .include "../../devel/gettext-lib/buildlink3.mk"
 .include "../../devel/pcre/buildlink3.mk"
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/devel/glib2/PLIST,v
retrieving revision 1.105
diff -u -r1.105 PLIST
--- PLIST	28 Jun 2019 19:42:05 -0000	1.105
+++ PLIST	21 Jul 2019 08:11:36 -0000
@@ -1,8 +1,8 @@
 @comment $NetBSD: PLIST,v 1.105 2019/06/28 19:42:05 schmonz Exp $
-${PLIST.nococoa}bin/gapplication
+${PLIST.nonative}bin/gapplication
 bin/gdbus
 bin/gio
-${PLIST.nococoa}bin/gio-launch-desktop
+${PLIST.nonative}bin/gio-launch-desktop
 bin/gio-querymodules
 bin/glib-compile-resources
 bin/glib-compile-schemas
@@ -10,7 +10,8 @@
 bin/gobject-query
 bin/gresource
 bin/gsettings
-include/gio-unix-2.0/gio/gdesktopappinfo.h
+${PLIST.nonative}include/gio-unix-2.0/gio/gdesktopappinfo.h
+${PLIST.cocoa}include/glib-2.0/gio/gosxappinfo.h
 include/gio-unix-2.0/gio/gfiledescriptorbased.h
 include/gio-unix-2.0/gio/gunixconnection.h
 include/gio-unix-2.0/gio/gunixcredentialsmessage.h
Index: PLIST.Darwin
===================================================================
RCS file: PLIST.Darwin
diff -N PLIST.Darwin
--- PLIST.Darwin	6 Jun 2019 11:06:51 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,2 +0,0 @@
-@comment $NetBSD: PLIST.Darwin,v 1.1 2019/06/06 11:06:51 adam Exp $
-include/glib-2.0/gio/gosxappinfo.h
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/devel/glib2/distinfo,v
retrieving revision 1.253
diff -u -r1.253 distinfo
--- distinfo	28 Jun 2019 19:42:05 -0000	1.253
+++ distinfo	21 Jul 2019 08:11:36 -0000
@@ -6,12 +6,12 @@
 Size (glib-2.60.4.tar.xz) = 4589384 bytes
 SHA1 (patch-gio_gcredentialsprivate.h) = dab92e07f8357a7dc1a569e37f65f9b199aee281
 SHA1 (patch-gio_gdbus-2.0_codegen_meson.build) = 21c806f1a9884000b6a1683bc2fd1276b3c3544f
-SHA1 (patch-gio_giomodule.c) = 0715e77fa97f90631c77e9a2cfd54b74698522e2
+SHA1 (patch-gio_giomodule.c) = 1e0e589826c9ed45a70047f5520eb30cb6ddb177
 SHA1 (patch-gio_gresource-tool.c) = ad0e59f48f5f98ea66be568dbe2e5a5d1ac602fc
 SHA1 (patch-gio_gunixcredentialsmessage.c) = c13119ddd6262db7c03e53857e987f0c495d3312
 SHA1 (patch-gio_gunixmounts.c) = 13af07fffe898457edd0d8db4296a60fccba913d
 SHA1 (patch-gio_inotify_inotify-kernel.c) = 24deec33a1ad5e3c1a4f2d1397440d26b0f23b84
-SHA1 (patch-gio_meson.build) = 56b86a0b8ade34ebd155b2d530a19bf3eac97b76
+SHA1 (patch-gio_meson.build) = d6131b5f9c9324237f08f0431d807fa461048604
 SHA1 (patch-gio_tests_gdbus-export.c) = 59d85ca079d02b52e33153c7d2ac1cc48c26707a
 SHA1 (patch-glib_gatomic.c) = 875ad9c828dcf2add356d4988d14fb4f1985aef8
 SHA1 (patch-glib_gatomic.h) = 21294cac483c3379198283c54fe6e24af3e630b1
@@ -28,4 +28,5 @@
 SHA1 (patch-gmodule_gmodule.c) = 55c5f9d16e3517f3fdc04d40922f50d9c66b0b9a
 SHA1 (patch-gobject_glib-mkenums.in) = c177cf9b1ea81542665240678f47f68351a3760d
 SHA1 (patch-gobject_meson.build) = 58ee162e44047bf20c66067fd3edbe98cc13af50
-SHA1 (patch-meson.build) = 125d98082c9bf2b6403bbda1c12e0fa695031ee6
+SHA1 (patch-meson.build) = c51e922650e699a877c6b5b3aa31a457c7c27f87
+SHA1 (patch-meson__options.txt) = 781e0aef012edb9f22402bb16456de02915d326c
Index: options.mk
===================================================================
RCS file: /cvsroot/pkgsrc/devel/glib2/options.mk,v
retrieving revision 1.21
diff -u -r1.21 options.mk
--- options.mk	3 Jun 2019 09:53:50 -0000	1.21
+++ options.mk	21 Jul 2019 08:11:36 -0000
@@ -1,8 +1,15 @@
 # $NetBSD: options.mk,v 1.21 2019/06/03 09:53:50 prlw1 Exp $

-PKG_OPTIONS_VAR=	PKG_OPTIONS.glib2
-PKG_SUPPORTED_OPTIONS=	fam
-PKG_SUGGESTED_OPTIONS=
+.include "../../mk/bsd.prefs.mk"
+
+PKG_OPTIONS_VAR=		PKG_OPTIONS.glib2
+PKG_SUPPORTED_OPTIONS=		fam
+PKG_OPTIONS_REQUIRED_GROUPS= 	app
+PKG_OPTIONS_GROUP.app+=		x11
+.if ${OPSYS} == "Darwin"
+PKG_OPTIONS_GROUP.app+= native
+.endif
+PKG_SUGGESTED_OPTIONS= x11

 .include "../../mk/bsd.options.mk"

@@ -12,3 +19,14 @@
 PLIST.fam=	yes
 .include "../../mk/fam.buildlink3.mk"
 .endif
+
+PLIST_VARS+=	cocoa
+PLIST_VARS+=	nonative
+
+.if !empty(PKG_OPTIONS:Mnative)
+MESON_ARGS+=	-Dnative=true
+PLIST.cocoa=	yes
+.else
+MESON_ARGS+=	-Dnative=false
+PLIST.nonative= yes
+.endif
Index: patches/patch-gio_giomodule.c
===================================================================
RCS file: /cvsroot/pkgsrc/devel/glib2/patches/patch-gio_giomodule.c,v
retrieving revision 1.5
diff -u -r1.5 patch-gio_giomodule.c
--- patches/patch-gio_giomodule.c	6 Jun 2019 11:05:12 -0000	1.5
+++ patches/patch-gio_giomodule.c	21 Jul 2019 08:11:36 -0000
@@ -1,15 +1,44 @@
 $NetBSD: patch-gio_giomodule.c,v 1.5 2019/06/06 11:05:12 adam Exp $

 Disable inotify on SunOS.
+Let compile-time choice for appinfo implementation on MacOSX

---- gio/giomodule.c.orig	2019-05-03 13:43:28.000000000 +0000
+--- gio/giomodule.c.orig	2019-06-10 17:47:20.000000000 +0000
 +++ gio/giomodule.c
-@@ -1209,7 +1206,7 @@ _g_io_modules_ensure_loaded (void)
-       /* Initialize types from built-in "modules" */
-       g_type_ensure (g_null_settings_backend_get_type ());
-       g_type_ensure (g_memory_settings_backend_get_type ());
--#if defined(HAVE_INOTIFY_INIT1)
-+#if defined(HAVE_INOTIFY_INIT1) && !defined(__sun)
-       g_type_ensure (g_inotify_file_monitor_get_type ());
+@@ -43,12 +43,13 @@
  #endif
- #if defined(HAVE_KQUEUE)
+ #include <glib/gstdio.h>
+ 
+-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
++#if defined(G_OS_UNIX)
++#if !defined(NATIVE_APP_INFO) || !defined(HAVE_COCOA)
+ #include "gdesktopappinfo.h"
+-#endif
+-#ifdef HAVE_COCOA
++#elif defined(HAVE_COCOA)
+ #include "gosxappinfo.h"
+ #endif
++#endif
+ 
+ #ifdef HAVE_COCOA
+ #include <AvailabilityMacros.h>
+@@ -1084,7 +1085,7 @@ _g_io_modules_ensure_extension_points_re
+     {
+       registered_extensions = TRUE;
+       
+-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
++#if defined(G_OS_UNIX) && (!defined(HAVE_COCOA) || !defined(NATIVE_APP_INFO))
+ #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
+@@ -1225,8 +1226,10 @@ _g_io_modules_ensure_loaded (void)
+ #endif
+ #ifdef HAVE_COCOA
+       g_type_ensure (g_nextstep_settings_backend_get_type ());
++#ifdef NATIVE_APP_INFO
+       g_type_ensure (g_osx_app_info_get_type ());
+ #endif
++#endif
+ #ifdef G_OS_UNIX
+       g_type_ensure (_g_unix_volume_monitor_get_type ());
+       g_type_ensure (g_fdo_notification_backend_get_type ());
Index: patches/patch-gio_meson.build
===================================================================
RCS file: /cvsroot/pkgsrc/devel/glib2/patches/patch-gio_meson.build,v
retrieving revision 1.5
diff -u -r1.5 patch-gio_meson.build
--- patches/patch-gio_meson.build	28 Jun 2019 19:42:05 -0000	1.5
+++ patches/patch-gio_meson.build	21 Jul 2019 08:11:36 -0000
@@ -2,19 +2,42 @@

 Don't build tests, as have strong dependency on libdl.
 Disable inotify on SunOS.
-Install gio/gdesktopappinfo.h on OS X.
+Let compile-time choice for appinfo implementation on MacOSX.

 --- gio/meson.build.orig	2019-06-10 17:47:20.000000000 +0000
 +++ gio/meson.build
-@@ -421,6 +421,7 @@ if host_system != 'windows'
+@@ -413,14 +413,26 @@ if host_system != 'windows'
+     'gunixsocketaddress.h',
+   )
+ 
+-  if glib_have_cocoa
++  if glib_have_cocoa  
+     settings_sources += files('gnextstepsettingsbackend.m')
+-    contenttype_sources += files('gosxcontenttype.m')
+-    appinfo_sources += files('gosxappinfo.m')
+     if glib_have_os_x_9_or_later
        unix_sources += files('gcocoanotificationbackend.m')
      endif
-     application_headers += files('gosxappinfo.h')
+-    application_headers += files('gosxappinfo.h')
++    if app_info_is_native
++      contenttype_sources += files('gosxcontenttype.m')
++      appinfo_sources += files('gosxappinfo.m')
++      application_headers += files('gosxappinfo.h')
++    else
++    contenttype_sources += files('gcontenttype.c')
++    appinfo_sources += files('gdesktopappinfo.c')
 +    gio_unix_include_headers += files('gdesktopappinfo.h')
++
++    executable('gio-launch-desktop', 'gio-launch-desktop.c',
++      install : true,
++      c_args : gio_c_args,
++      # intl.lib is not compatible with SAFESEH
++      link_args : noseh_link_args)
++    endif
    else
      contenttype_sources += files('gcontenttype.c')
      appinfo_sources += files('gdesktopappinfo.c')
-@@ -758,7 +759,7 @@ gioenumtypes_c = custom_target('gioenumt
+@@ -758,7 +770,7 @@ gioenumtypes_c = custom_target('gioenumt
  gioenumtypes_dep = declare_dependency(sources : [gioenumtypes_h, glib_enumtypes_h])

  # inotify
@@ -23,7 +46,16 @@
    subdir('inotify')
    internal_deps += [ inotify_lib ]
    internal_objects += [inotify_lib.extract_all_objects()]
-@@ -994,4 +995,3 @@ if enable_systemtap
+@@ -976,7 +988,7 @@ executable('gdbus', 'gdbus-tool.c',
+   link_args : noseh_link_args,
+   dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
+ 
+-if host_system != 'windows' and not glib_have_cocoa
++if host_system != 'windows' and (not glib_have_cocoa or not app_info_is_native)
+   executable('gapplication', 'gapplication-tool.c',
+     install : true,
+     c_args : gio_c_args,
+@@ -994,4 +1006,3 @@ if enable_systemtap
  endif

  subdir('fam')
Index: patches/patch-meson.build
===================================================================
RCS file: /cvsroot/pkgsrc/devel/glib2/patches/patch-meson.build,v
retrieving revision 1.5
diff -u -r1.5 patch-meson.build
--- patches/patch-meson.build	26 Jun 2019 10:42:50 -0000	1.5
+++ patches/patch-meson.build	21 Jul 2019 08:11:36 -0000
@@ -14,9 +14,24 @@
 - Ignore __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 as is already done
   for android and linux. PR pkg/54298

+- Let compile-time option for appinfo implementation on MacOSX
+
 --- meson.build.orig	2019-06-10 17:47:20.000000000 +0000
 +++ meson.build
-@@ -1570,28 +1570,15 @@ atomictest = '''int main() {
+@@ -653,6 +653,12 @@ if host_system == 'darwin'
+   # know which language flags it's going to use to link. Add to both languages
+   # for now. See https://github.com/mesonbuild/meson/issues/3585.
+   add_project_link_arguments(osx_ldflags, language : ['objc', 'c'])
++
++  app_info_is_native = get_option('native')
++  if app_info_is_native
++    glib_conf.set('NATIVE_APP_INFO', true)
++  endif
++
+ endif
+ 
+ # Check for futex(2)
+@@ -1570,28 +1576,15 @@ atomictest = '''int main() {
  }
  '''

@@ -47,7 +62,7 @@

  # === Threads ===

-@@ -1696,14 +1683,14 @@ else
+@@ -1696,14 +1689,14 @@ else
    found_iconv = false
    if iconv_opt == 'libc'
      if cc.has_function('iconv_open')
@@ -70,7 +85,7 @@
      endif
    elif iconv_opt == 'native'
      if cc.has_header_symbol('iconv.h', 'iconv_open')
-@@ -1785,7 +1772,7 @@ endif
+@@ -1785,7 +1778,7 @@ endif
  # proxy-libintl subproject.
  # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible
  # implementations. This could be extended if issues are found in some platforms.
@@ -79,7 +94,7 @@
    libintl = []
    have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset')
  else
-@@ -1836,16 +1823,15 @@ if host_system != 'windows' and get_opti
+@@ -1836,16 +1829,15 @@ if host_system != 'windows' and get_opti
    if cc.has_function('getxattr') and cc.has_header('sys/xattr.h')
      glib_conf.set('HAVE_SYS_XATTR_H', 1)
      glib_conf_prefix = glib_conf_prefix + '#define @0@ 1\n'.format('HAVE_SYS_XATTR_H')
@@ -98,7 +113,7 @@
    if cc.compiles(glib_conf_prefix + '''
                   #include <stdio.h>
                   #ifdef HAVE_SYS_TYPES_H
-@@ -1886,9 +1872,11 @@ elif meson.get_cross_property('have_strl
+@@ -1886,9 +1878,11 @@ elif meson.get_cross_property('have_strl
    glib_conf.set('HAVE_STRLCPY', 1)
  endif

@@ -113,7 +128,7 @@

  python_version = python.language_version()
  python_version_req = '>=3.4'
-@@ -1897,7 +1885,7 @@ if not python_version.version_compare(py
+@@ -1897,7 +1891,7 @@ if not python_version.version_compare(py
  endif

  # Determine which user environment-dependent files that we want to install
@@ -122,7 +137,7 @@
  have_sh = find_program('sh', required : false).found() # For glib-gettextize

  # Some installed tests require a custom environment
-@@ -1906,7 +1894,7 @@ env_program = find_program('env', requir
+@@ -1906,7 +1900,7 @@ env_program = find_program('env', requir
  # FIXME: How to detect Solaris? https://github.com/mesonbuild/meson/issues/1578
  if host_system == 'sunos'
    glib_conf.set('_XOPEN_SOURCE_EXTENDED', 1)
Index: patches/patch-meson__options.txt
===================================================================
RCS file: patches/patch-meson__options.txt
diff -N patches/patch-meson__options.txt
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-meson__options.txt	21 Jul 2019 08:11:36 -0000
@@ -0,0 +1,16 @@
+$NetBSD$
+
+Let compile-time option for appinfo implementation on MacOSX.
+
+--- meson_options.txt.orig	2019-06-10 17:47:20.000000000 +0000
++++ meson_options.txt
+@@ -89,3 +89,9 @@ option('nls',
+        value : 'auto',
+        yield: true,
+        description : 'Enable native language support (translations)')
++
++option('native',
++       type : 'boolean',
++       value : 'false',
++       yield : true,
++       description : 'Enable native application information')

gobject-introspection patch:

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gobject-introspection/Makefile,v
retrieving revision 1.63
diff -u -r1.63 Makefile
--- Makefile	13 Jun 2019 09:43:19 -0000	1.63
+++ Makefile	21 Jul 2019 12:07:55 -0000
@@ -1,7 +1,7 @@
 # $NetBSD: Makefile,v 1.63 2019/06/13 09:43:19 wiz Exp $

 DISTNAME=	gobject-introspection-1.60.1
-PKGREVISION=	1
+PKGREVISION=	2
 CATEGORIES=	devel gnome
 MASTER_SITES=	${MASTER_SITE_GNOME:=sources/gobject-introspection/${PKGVERSION_NOREV:R}/}
 EXTRACT_SUFX=	.tar.xz
@@ -34,8 +34,6 @@
 SUBST_SED.timet+=	-e 's,@TIMET_CTYPE@,glong,g'
 .endif

-MAKE_ENV+=	LD_LIBRARY_PATH=${WRKSRC}/output/girepository
-
 BUILDLINK_API_DEPENDS.glib2+= glib2>=2.58.0
 .include "../../devel/glib2/buildlink3.mk"
 BUILDLINK_API_DEPENDS.libffi+= libffi>=3.0.0
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gobject-introspection/distinfo,v
retrieving revision 1.32
diff -u -r1.32 distinfo
--- distinfo	5 Jun 2019 09:12:32 -0000	1.32
+++ distinfo	21 Jul 2019 12:07:55 -0000
@@ -4,12 +4,13 @@
 RMD160 (gobject-introspection-1.60.1.tar.xz) = 71ca6db1b174272525ee991ab723957003f66891
 SHA512 (gobject-introspection-1.60.1.tar.xz) = 01adbeffee08ff6487f11a303fd7a59a99c36714dce21be9bbae7fd2bf8f080665e830bc3a47566140a6081dc74f6c2f8d8232286759b761f70493545a9d90ea
 Size (gobject-introspection-1.60.1.tar.xz) = 1284460 bytes
-SHA1 (patch-giscanner_ast.py) = 06b3d8903d126028d2d5144c6d6a508209c834b9
-SHA1 (patch-giscanner_ccompiler.py) = 03faf472ad9384670e7f15a647e069606d44daba
+SHA1 (patch-gir_meson.build) = 61dfcf565062cca27672a59bbbcd80e5eeb1e247
+SHA1 (patch-girepository_meson.build) = 5efb55757fc930fe5f56102d655c8acb82a2286e
+SHA1 (patch-giscanner_ast.py) = 5330a5a97227a4448fc6bb3bd34a9e3b0967ac11
 SHA1 (patch-giscanner_gdumpparser.py) = 83d6c72d070b2e32d90131148b566a1a2fb9aa77
 SHA1 (patch-giscanner_girparser.py) = 1156b7146568667dcb56ae7fecfc0f1be91b78ec
 SHA1 (patch-meson.build) = eb67bfe1a9dd46986b9b6e0d296c385e2924a0e8
-SHA1 (patch-tests_scanner_Regress-1.0-expected.gir) = f6f044a24045d38d78b9c511813be8442ce45b16
+SHA1 (patch-tests_scanner_Regress-1.0-expected.gir) = fe12e260118af94b304f7f4a725728bc0d9b6412
 SHA1 (patch-tools_compiler.c) = 799d5a086338e08378b8b249e6808e8b1a8101dc
 SHA1 (patch-tools_generate.c) = 3fa74dd0e2c7658768a4278b984be38bff729d94
-SHA1 (patch-tools_meson.build) = 6b9f2f1b11d1eca62fbc136c3ac56692db7cacde
+SHA1 (patch-tools_meson.build) = 8bb31ad3b55a4ce2f03de43694344044aa26b011
cvs diff: Diffing patches
Index: patches/patch-giscanner_ast.py
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gobject-introspection/patches/patch-giscanner_ast.py,v
retrieving revision 1.1
diff -u -r1.1 patch-giscanner_ast.py
--- patches/patch-giscanner_ast.py	3 Jun 2019 10:47:20 -0000	1.1
+++ patches/patch-giscanner_ast.py	21 Jul 2019 12:07:55 -0000
@@ -21,12 +21,3 @@
  # A few additional GLib type aliases
  type_names['guchar'] = TYPE_UINT8
  type_names['gchararray'] = TYPE_STRING
-@@ -344,7 +353,7 @@ type_names['FILE*'] = TYPE_ANY
- # integers it's easy enough to expand them.
- type_names['size_t'] = type_names['gsize']
- type_names['ssize_t'] = type_names['gssize']
--type_names['time_t'] = TYPE_LONG
-+type_names['time_t'] = @TIMET_TYPENAME@
- type_names['off_t'] = type_names['gsize']
- type_names['pid_t'] = TYPE_INT
- type_names['uid_t'] = TYPE_UINT
Index: patches/patch-giscanner_ccompiler.py
===================================================================
RCS file: patches/patch-giscanner_ccompiler.py
diff -N patches/patch-giscanner_ccompiler.py
--- patches/patch-giscanner_ccompiler.py	3 Jun 2019 10:47:20 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-$NetBSD: patch-giscanner_ccompiler.py,v 1.2 2019/06/03 10:47:20 prlw1 Exp $
-
-Do not set LD_LIBRARY_PATH when calling the compiler.
-
---- giscanner/ccompiler.py.orig	2019-03-02 17:10:05.000000000 +0000
-+++ giscanner/ccompiler.py
-@@ -227,13 +227,6 @@ class CCompiler(object):
-                 else:
-                     args.append('-l' + library)
- 
--        for envvar in runtime_path_envvar:
--            if envvar in os.environ:
--                os.environ[envvar] = \
--                    os.pathsep.join(runtime_paths + [os.environ[envvar]])
--            else:
--                os.environ[envvar] = os.pathsep.join(runtime_paths)
--
-     def get_external_link_flags(self, args, libraries):
-         # An "external" link is where the library to be introspected
-         # is installed on the system; this case is used for the scanning
Index: patches/patch-tests_scanner_Regress-1.0-expected.gir
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gobject-introspection/patches/patch-tests_scanner_Regress-1.0-expected.gir,v
retrieving revision 1.1
diff -u -r1.1 patch-tests_scanner_Regress-1.0-expected.gir
--- patches/patch-tests_scanner_Regress-1.0-expected.gir	3 Jun 2019 10:47:20 -0000	1.1
+++ patches/patch-tests_scanner_Regress-1.0-expected.gir	21 Jul 2019 12:07:55 -0000
@@ -2,28 +2,3 @@

 32/64-bit time_t fix

---- tests/scanner/Regress-1.0-expected.gir.orig	2019-01-16 18:03:21.000000000 +0000
-+++ tests/scanner/Regress-1.0-expected.gir
-@@ -1877,7 +1877,7 @@ uses a C sugar return type.</doc>
-             <type name="FooObject" c:type="RegressFooObject*"/>
-           </instance-parameter>
-           <parameter name="time" transfer-ownership="none">
--            <type name="glong" c:type="time_t"/>
-+            <type name="@TIMET_CTYPE@" c:type="time_t"/>
-           </parameter>
-         </parameters>
-       </method>
-@@ -7975,11 +7975,11 @@ https://bugzilla.gnome.org/show_bug.cgi?
-     <function name="test_timet" c:identifier="regress_test_timet">
-       <source-position filename="regress.h" line="94"/>
-       <return-value transfer-ownership="none">
--        <type name="glong" c:type="time_t"/>
-+        <type name="@TIMET_CTYPE@" c:type="time_t"/>
-       </return-value>
-       <parameters>
-         <parameter name="in" transfer-ownership="none">
--          <type name="glong" c:type="time_t"/>
-+          <type name="@TIMET_CTYPE@" c:type="time_t"/>
-         </parameter>
-       </parameters>
-     </function>
Index: patches/patch-tools_meson.build
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gobject-introspection/patches/patch-tools_meson.build,v
retrieving revision 1.1
diff -u -r1.1 patch-tools_meson.build
--- patches/patch-tools_meson.build	3 Jun 2019 10:47:20 -0000	1.1
+++ patches/patch-tools_meson.build	21 Jul 2019 12:07:55 -0000
@@ -1,6 +1,8 @@
 $NetBSD: patch-tools_meson.build,v 1.1 2019/06/03 10:47:20 prlw1 Exp $

 After testing for the meson_option "python", meson.build then overwrites it.
+Make a g-ir-compiler not dependent of girepository shared library. Allow custom target for typelib files
+to be generated during the build. The bootstrap g-ir-compiler is not installed.

 --- tools/meson.build.orig	2019-01-11 14:16:09.000000000 +0000
 +++ tools/meson.build
@@ -13,3 +15,20 @@
  endif

  tool_output = []
+@@ -52,6 +52,16 @@ gircompiler = executable('g-ir-compiler'
+     girepo_dep,
+   ],
+   install: true,
++  c_args: custom_c_args
++)
++
++gircompiler_bs = executable('g-ir-compiler-bootstrap', 'compiler.c',
++  dependencies: [
++    girepo_internals_dep,
++    girepo_dep,
++  ],
++  link_with: girepo_stlib,
++  install: false,
+   c_args: custom_c_args,
+ )
+ 

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->macos-pkg-people
Responsible-Changed-By: leot@NetBSD.org
Responsible-Changed-When: Sun, 21 Jul 2019 12:18:23 +0000
Responsible-Changed-Why:
macos problem.


From: Patrick Welche <prlw1@cam.ac.uk>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/54393: devel/gobject-introspection broken on macos (with
 devel/glib2 correction)
Date: Tue, 23 Jul 2019 09:13:17 +0100

 On Sun, Jul 21, 2019 at 12:15:00PM +0000, clement.bouvier.europe@gmail.com wrote:
 > Moreover a previous patch by patrick Welche is removed so as to
 > make the giscanner works for the girepository.gir. The patch make
 > giscanner fails on macosx.

 I can't claim to be the author of the original patch, but yes,
 patch-giscanner_ccompiler.py was the one I pointed you to off-list.
 I think the idea was "no one should be altering the runtime environment".

 With that patch in place, we have to manually alter the MAKE_ENV by adding
 LD_LIBRARY_PATH+=${WRKSRC}/output/$PKGBASE or similar ourselves, and
 of course that won't work on macos, as the equivalent would be
 DYLD_LIBRARY_PATH or somesuch
 (http://mail-index.netbsd.org/pkgsrc-users/2019/07/19/msg029051.html)

 I would be happy with allowing gobject-introspection to set the
 flags itself. Maybe those with other views can speak up now?
 [Say we commit this in 10 days if no comment]

 I won't claim to understand the macos part, so this all looks good
 to me, apart from getting rid of the @TIMET_TYPENAME@ patches.
 time_t changed from 32-bit to 64-bit on NetBSD at some point, and
 this (at least with autoconf) did the right thing.  So, please leave

 devel/gobject-introspection/patches/patch-giscanner_ast.py
 devel/gobject-introspection/patches/patch-tests_scanner_Regress-1.0-expected.gir

 alone as time_t is irrelevant to macos.

From: =?UTF-8?Q?cl=C3=A9ment_bouvier?= <clement.bouvier.europe@gmail.com>
To: gnats-bugs@netbsd.org
Cc: macos-pkg-people@netbsd.org, gnats-admin@netbsd.org, 
	pkgsrc-bugs@netbsd.org
Subject: Re: pkg/54393: devel/gobject-introspection broken on macos (with
 devel/glib2 correction)
Date: Tue, 23 Jul 2019 15:59:31 +0400

 --000000000000fb4003058e57ee45
 Content-Type: text/plain; charset="UTF-8"
 Content-Transfer-Encoding: quoted-printable

 Hi Patrick,

 You are right about DYLD_LIBRARY_PATH.
 I totally forgot about that. Sorry.
 So we can keep the patch initially and use the variable as it is done with
 LD_LIBRARY_PATH.

 Concerning time_t , I didn't touch this part, but I can remove it (and
 check) if you think that does not affect another platform.

 I'm pretty far away of a mac today, I will come back with corrections once
 available.

 I have also modified devel/glib2. So If you have comments to do...

 Thank you for the comments.

 Clement.


 Le mar 23 juil. 2019 12:15, Patrick Welche <prlw1@cam.ac.uk> a =C3=A9crit :

 > The following reply was made to PR pkg/54393; it has been noted by GNATS.
 >
 > From: Patrick Welche <prlw1@cam.ac.uk>
 > To: gnats-bugs@netbsd.org
 > Cc:
 > Subject: Re: pkg/54393: devel/gobject-introspection broken on macos (with
 >  devel/glib2 correction)
 > Date: Tue, 23 Jul 2019 09:13:17 +0100
 >
 >  On Sun, Jul 21, 2019 at 12:15:00PM +0000,
 > clement.bouvier.europe@gmail.com wrote:
 >  > Moreover a previous patch by patrick Welche is removed so as to
 >  > make the giscanner works for the girepository.gir. The patch make
 >  > giscanner fails on macosx.
 >
 >  I can't claim to be the author of the original patch, but yes,
 >  patch-giscanner_ccompiler.py was the one I pointed you to off-list.
 >  I think the idea was "no one should be altering the runtime environment"=
 .
 >
 >  With that patch in place, we have to manually alter the MAKE_ENV by addi=
 ng
 >  LD_LIBRARY_PATH+=3D${WRKSRC}/output/$PKGBASE or similar ourselves, and
 >  of course that won't work on macos, as the equivalent would be
 >  DYLD_LIBRARY_PATH or somesuch
 >  (http://mail-index.netbsd.org/pkgsrc-users/2019/07/19/msg029051.html)
 >
 >  I would be happy with allowing gobject-introspection to set the
 >  flags itself. Maybe those with other views can speak up now?
 >  [Say we commit this in 10 days if no comment]
 >
 >  I won't claim to understand the macos part, so this all looks good
 >  to me, apart from getting rid of the @TIMET_TYPENAME@ patches.
 >  time_t changed from 32-bit to 64-bit on NetBSD at some point, and
 >  this (at least with autoconf) did the right thing.  So, please leave
 >
 >  devel/gobject-introspection/patches/patch-giscanner_ast.py
 >
 >  devel/gobject-introspection/patches/patch-tests_scanner_Regress-1.0-expe=
 cted.gir
 >
 >  alone as time_t is irrelevant to macos.
 >
 >

 --000000000000fb4003058e57ee45
 Content-Type: text/html; charset="UTF-8"
 Content-Transfer-Encoding: quoted-printable

 <div dir=3D"auto">Hi Patrick,<div dir=3D"auto"><br></div><div dir=3D"auto">=
 You are right about DYLD_LIBRARY_PATH.</div><div dir=3D"auto">I totally for=
 got about that. Sorry.</div><div dir=3D"auto">So we can keep the patch init=
 ially and use the variable as it is done with LD_LIBRARY_PATH.</div><div di=
 r=3D"auto"><br></div><div dir=3D"auto">Concerning time_t , I didn&#39;t tou=
 ch this part, but I can remove it (and check) if you think that does not af=
 fect another platform.</div><div dir=3D"auto"><br></div><div dir=3D"auto">I=
 &#39;m pretty far away of a mac today, I will come back with corrections on=
 ce available.</div><div dir=3D"auto"><br></div><div dir=3D"auto">I have als=
 o modified devel/glib2. So If you have comments to do...</div><div dir=3D"a=
 uto"><br></div><div dir=3D"auto">Thank you for the comments.</div><div dir=
 =3D"auto"><br></div><div dir=3D"auto">Clement.</div><div dir=3D"auto"><div =
 dir=3D"auto"><div dir=3D"auto"><div dir=3D"auto"><br><br><div class=3D"gmai=
 l_quote"><div dir=3D"ltr" class=3D"gmail_attr">Le mar 23 juil. 2019 12:15, =
 Patrick Welche &lt;<a href=3D"mailto:prlw1@cam.ac.uk">prlw1@cam.ac.uk</a>&g=
 t; a =C3=A9crit=C2=A0:<br></div><blockquote class=3D"gmail_quote" style=3D"=
 margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The followin=
 g reply was made to PR pkg/54393; it has been noted by GNATS.<br>
 <br>
 From: Patrick Welche &lt;<a href=3D"mailto:prlw1@cam.ac.uk" target=3D"_blan=
 k" rel=3D"noreferrer">prlw1@cam.ac.uk</a>&gt;<br>
 To: <a href=3D"mailto:gnats-bugs@netbsd.org" target=3D"_blank" rel=3D"noref=
 errer">gnats-bugs@netbsd.org</a><br>
 Cc: <br>
 Subject: Re: pkg/54393: devel/gobject-introspection broken on macos (with<b=
 r>
 =C2=A0devel/glib2 correction)<br>
 Date: Tue, 23 Jul 2019 09:13:17 +0100<br>
 <br>
 =C2=A0On Sun, Jul 21, 2019 at 12:15:00PM +0000, <a href=3D"mailto:clement.b=
 ouvier.europe@gmail.com" target=3D"_blank" rel=3D"noreferrer">clement.bouvi=
 er.europe@gmail.com</a> wrote:<br>
 =C2=A0&gt; Moreover a previous patch by patrick Welche is removed so as to<=
 br>
 =C2=A0&gt; make the giscanner works for the girepository.gir. The patch mak=
 e<br>
 =C2=A0&gt; giscanner fails on macosx.<br>
 <br>
 =C2=A0I can&#39;t claim to be the author of the original patch, but yes,<br=
 >
 =C2=A0patch-giscanner_ccompiler.py was the one I pointed you to off-list.<b=
 r>
 =C2=A0I think the idea was &quot;no one should be altering the runtime envi=
 ronment&quot;.<br>
 <br>
 =C2=A0With that patch in place, we have to manually alter the MAKE_ENV by a=
 dding<br>
 =C2=A0LD_LIBRARY_PATH+=3D${WRKSRC}/output/$PKGBASE or similar ourselves, an=
 d<br>
 =C2=A0of course that won&#39;t work on macos, as the equivalent would be<br=
 >
 =C2=A0DYLD_LIBRARY_PATH or somesuch<br>
 =C2=A0(<a href=3D"http://mail-index.netbsd.org/pkgsrc-users/2019/07/19/msg0=
 29051.html" rel=3D"noreferrer noreferrer" target=3D"_blank">http://mail-ind=
 ex.netbsd.org/pkgsrc-users/2019/07/19/msg029051.html</a>)<br>
 <br>
 =C2=A0I would be happy with allowing gobject-introspection to set the<br>
 =C2=A0flags itself. Maybe those with other views can speak up now?<br>
 =C2=A0[Say we commit this in 10 days if no comment]<br>
 <br>
 =C2=A0I won&#39;t claim to understand the macos part, so this all looks goo=
 d<br>
 =C2=A0to me, apart from getting rid of the @TIMET_TYPENAME@ patches.<br>
 =C2=A0time_t changed from 32-bit to 64-bit on NetBSD at some point, and<br>
 =C2=A0this (at least with autoconf) did the right thing.=C2=A0 So, please l=
 eave<br>
 <br>
 =C2=A0devel/gobject-introspection/patches/patch-giscanner_ast.py<br>
 =C2=A0devel/gobject-introspection/patches/patch-tests_scanner_Regress-1.0-e=
 xpected.gir<br>
 <br>
 =C2=A0alone as time_t is irrelevant to macos.<br>
 <br>
 </blockquote></div></div></div></div></div></div>

 --000000000000fb4003058e57ee45--

From: =?utf-8?Q?cl=C3=A9ment_bouvier?= <clement.bouvier.europe@gmail.com>
To: gnats-bugs@netbsd.org
Cc: macos-pkg-people@netbsd.org,
 gnats-admin@netbsd.org,
 pkgsrc-bugs@netbsd.org
Subject: Re: pkg/54393: devel/gobject-introspection broken on macos (with
 devel/glib2 correction)
Date: Thu, 25 Jul 2019 20:03:59 +0400

 --Apple-Mail=_719E34F3-8AE8-4261-8F3A-FE20D873F44A
 Content-Transfer-Encoding: quoted-printable
 Content-Type: text/plain;
 	charset=us-ascii

 Hi all,

 Here the patches modified with the comments by Patrick.

 I tried DYLD_LIBRARY_PATH or DYLD_FALLBACK_LIBRARY_PATH variable set by =
 make_env but the build failed with:

 [122/125] Generating gir-girepository with a custom command.
 FAILED: gir/GIRepository-2.0.gir=20
 /Users/cbouvier/pkg/bin/python3.7 tools/g-ir-scanner =
 --output=3Dgir/GIRepository-2.0.gir --no-libtool --quiet =
 --reparse-validate --add-include-path =
 /Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/gobject-intros=
 pection-1.60.1/output/gir --add-include-path =
 /Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/gobject-intros=
 pection-1.60.1/gir --identifier-prefix=3DGI --symbol-prefix=3Dg =
 --symbol-prefix=3Dgi --c-include=3Dgirepository.h =
 --namespace=3DGIRepository --nsversion=3D2.0 --library=3Dgirepository-1.0 =
 --pkg-export=3Dgobject-introspection-1.0 =
 -L/Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/gobject-intr=
 ospection-1.60.1/output/gir/../girepository =
 --include-uninstalled=3D/Users/cbouvier/prj/pkgsrc/devel/gobject-introspec=
 tion/work/gobject-introspection-1.60.1/output/gir/GObject-2.0.gir =
 --cflags-begin -I/Users/cbouvier/pkg/include/glib-2.0 =
 -I/Users/cbouvier/pkg/lib/glib-2.0/include =
 -I/Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/gobject-intr=
 ospection-1.60.1/gir/../girepository =
 -I/Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/gobject-intr=
 ospection-1.60.1/output/gir/../girepository -DGI_COMPILATION =
 --cflags-end ../girepository/giarginfo.c ../girepository/gibaseinfo.c =
 ../girepository/gicallableinfo.c ../girepository/giconstantinfo.c =
 ../girepository/gienuminfo.c ../girepository/gifieldinfo.c =
 ../girepository/gifunctioninfo.c ../girepository/giinterfaceinfo.c =
 ../girepository/giobjectinfo.c ../girepository/gipropertyinfo.c =
 ../girepository/giregisteredtypeinfo.c ../girepository/girepository.c =
 ../girepository/gisignalinfo.c ../girepository/gistructinfo.c =
 ../girepository/gitypeinfo.c ../girepository/giunioninfo.c =
 ../girepository/giversion.c ../girepository/givfuncinfo.c =
 ../girepository/giarginfo.h ../girepository/gibaseinfo.h =
 ../girepository/gicallableinfo.h ../girepository/giconstantinfo.h =
 ../girepository/gienuminfo.h ../girepository/gifieldinfo.h =
 ../girepository/gifunctioninfo.h ../girepository/giinterfaceinfo.h =
 ../girepository/giobjectinfo.h ../girepository/gipropertyinfo.h =
 ../girepository/giregisteredtypeinfo.h ../girepository/girepository.h =
 ../girepository/gisignalinfo.h ../girepository/gistructinfo.h =
 ../girepository/gitypeinfo.h ../girepository/gitypelib.h =
 ../girepository/gitypes.h ../girepository/giunioninfo.h =
 ../girepository/givfuncinfo.h girepository/giversion.h
 dyld: Library not loaded: @rpath/libgirepository-1.0.1.dylib
   Referenced from: =
 /Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/gobject-intros=
 pection-1.60.1/output/tmp-introspecttr76is3p/GIRepository-2.0
   Reason: image not found
 Command =
 '['/Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/gobject-int=
 rospection-1.60.1/output/tmp-introspecttr76is3p/GIRepository-2.0', =
 '--introspect-dump=3D/Users/cbouvier/prj/pkgsrc/devel/gobject-introspectio=
 n/work/gobject-introspection-1.60.1/output/tmp-introspecttr76is3p/function=
 s.txt,/Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/gobject-=
 introspection-1.60.1/output/tmp-introspecttr76is3p/dump.xml']' died with =
 <Signals.SIGABRT: 6>.
 [123/125] Generating gir-gio with a custom command.
 ninja: build stopped: subcommand failed.

 So I suppose the solution with compiler is more tricky than just =
 removing the setting of environment variables of the compiler.

 I also removed all references at time_t whatever the platform is NetBSD =
 or MirBSD. Is it correct?

 Moreover, the install part finished with:

 =3D> Checking for work-directory references in =
 gobject-introspection-1.60.1nb2
 WARNING: [check-fakehome.mk] fake home directory not empty:
 	=
 /Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/.home
 	=
 /Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/.home/.cache
 	=
 /Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/.home/.cache/g=
 -ir-scanner
 	=
 /Users/cbouvier/prj/pkgsrc/devel/gobject-introspection/work/.home/.cache/g=
 -ir-scanner/.cache-version

 Do we have any clean method to avoid the warning? (Meson configure or =
 something else)?

 Devez/glib2 patch has not changed since last time but comments are =
 welcomed.

 Cheers,
 Clement.


 --Apple-Mail=_719E34F3-8AE8-4261-8F3A-FE20D873F44A
 Content-Disposition: attachment;
 	filename=patch-gobject-introspection.diff
 Content-Type: application/octet-stream;
 	x-unix-mode=0644;
 	name="patch-gobject-introspection.diff"
 Content-Transfer-Encoding: 7bit

 Index: Makefile
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/gobject-introspection/Makefile,v
 retrieving revision 1.63
 diff -u -r1.63 Makefile
 --- Makefile	13 Jun 2019 09:43:19 -0000	1.63
 +++ Makefile	25 Jul 2019 15:58:12 -0000
 @@ -1,7 +1,7 @@
  # $NetBSD: Makefile,v 1.63 2019/06/13 09:43:19 wiz Exp $

  DISTNAME=	gobject-introspection-1.60.1
 -PKGREVISION=	1
 +PKGREVISION=	2
  CATEGORIES=	devel gnome
  MASTER_SITES=	${MASTER_SITE_GNOME:=sources/gobject-introspection/${PKGVERSION_NOREV:R}/}
  EXTRACT_SUFX=	.tar.xz
 @@ -21,21 +21,6 @@
  PKGCONFIG_OVERRIDE+=	gobject-introspection-1.0.pc.in
  PKGCONFIG_OVERRIDE+=	gobject-introspection-no-export-1.0.pc.in

 -SUBST_CLASSES+=		timet
 -SUBST_STAGE.timet=	pre-configure
 -SUBST_FILES.timet=	giscanner/ast.py
 -SUBST_FILES.timet+=	tests/scanner/Regress-1.0-expected.gir
 -.include "../../mk/bsd.prefs.mk"
 -.if !empty(MACHINE_PLATFORM:MNetBSD-5.99.*) || !empty(MACHINE_PLATFORM:MNetBSD-[6-9].*) || !empty(MACHINE_PLATFORM:MMirBSD-*)
 -SUBST_SED.timet=	-e 's,@TIMET_TYPENAME@,TYPE_INT64,g'
 -SUBST_SED.timet+=	-e 's,@TIMET_CTYPE@,gint64,g'
 -.else
 -SUBST_SED.timet=	-e 's,@TIMET_TYPENAME@,TYPE_LONG,g'
 -SUBST_SED.timet+=	-e 's,@TIMET_CTYPE@,glong,g'
 -.endif
 -
 -MAKE_ENV+=	LD_LIBRARY_PATH=${WRKSRC}/output/girepository
 -
  BUILDLINK_API_DEPENDS.glib2+= glib2>=2.58.0
  .include "../../devel/glib2/buildlink3.mk"
  BUILDLINK_API_DEPENDS.libffi+= libffi>=3.0.0
 Index: distinfo
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/gobject-introspection/distinfo,v
 retrieving revision 1.32
 diff -u -r1.32 distinfo
 --- distinfo	5 Jun 2019 09:12:32 -0000	1.32
 +++ distinfo	25 Jul 2019 15:58:12 -0000
 @@ -4,12 +4,12 @@
  RMD160 (gobject-introspection-1.60.1.tar.xz) = 71ca6db1b174272525ee991ab723957003f66891
  SHA512 (gobject-introspection-1.60.1.tar.xz) = 01adbeffee08ff6487f11a303fd7a59a99c36714dce21be9bbae7fd2bf8f080665e830bc3a47566140a6081dc74f6c2f8d8232286759b761f70493545a9d90ea
  Size (gobject-introspection-1.60.1.tar.xz) = 1284460 bytes
 -SHA1 (patch-giscanner_ast.py) = 06b3d8903d126028d2d5144c6d6a508209c834b9
 -SHA1 (patch-giscanner_ccompiler.py) = 03faf472ad9384670e7f15a647e069606d44daba
 +SHA1 (patch-gir_meson.build) = 61dfcf565062cca27672a59bbbcd80e5eeb1e247
 +SHA1 (patch-girepository_meson.build) = 5efb55757fc930fe5f56102d655c8acb82a2286e
 +SHA1 (patch-giscanner_ast.py) = 5330a5a97227a4448fc6bb3bd34a9e3b0967ac11
  SHA1 (patch-giscanner_gdumpparser.py) = 83d6c72d070b2e32d90131148b566a1a2fb9aa77
  SHA1 (patch-giscanner_girparser.py) = 1156b7146568667dcb56ae7fecfc0f1be91b78ec
  SHA1 (patch-meson.build) = eb67bfe1a9dd46986b9b6e0d296c385e2924a0e8
 -SHA1 (patch-tests_scanner_Regress-1.0-expected.gir) = f6f044a24045d38d78b9c511813be8442ce45b16
  SHA1 (patch-tools_compiler.c) = 799d5a086338e08378b8b249e6808e8b1a8101dc
  SHA1 (patch-tools_generate.c) = 3fa74dd0e2c7658768a4278b984be38bff729d94
 -SHA1 (patch-tools_meson.build) = 6b9f2f1b11d1eca62fbc136c3ac56692db7cacde
 +SHA1 (patch-tools_meson.build) = 8bb31ad3b55a4ce2f03de43694344044aa26b011
 Index: patches/patch-gir_meson.build
 ===================================================================
 RCS file: patches/patch-gir_meson.build
 diff -N patches/patch-gir_meson.build
 --- /dev/null	1 Jan 1970 00:00:00 -0000
 +++ patches/patch-gir_meson.build	25 Jul 2019 15:58:12 -0000
 @@ -0,0 +1,15 @@
 +$NetBSD$
 +
 +Avoid error about girepository lib not found for g-ir-compiler in using a static version.
 +
 +--- gir/meson.build.orig	2019-04-07 10:09:35.000000000 +0000
 ++++ gir/meson.build
 +@@ -427,7 +427,7 @@ foreach gir : gir_files
 +     input: gir,
 +     output: '@BASENAME@.typelib',
 +     depends: [gobject_gir, ],
 +-    command: [gircompiler, '-o', '@OUTPUT@', '@INPUT@',
 ++    command: [gircompiler_bs, '-o', '@OUTPUT@', '@INPUT@',
 +               '--includedir', meson.current_build_dir(),
 +               '--includedir', meson.current_source_dir(),
 +     ],
 Index: patches/patch-girepository_meson.build
 ===================================================================
 RCS file: patches/patch-girepository_meson.build
 diff -N patches/patch-girepository_meson.build
 --- /dev/null	1 Jan 1970 00:00:00 -0000
 +++ patches/patch-girepository_meson.build	25 Jul 2019 15:58:12 -0000
 @@ -0,0 +1,25 @@
 +$NetBSD$
 +
 +Make a static version of girepository in order to use the executables in workdir.
 +The static version is not installed.
 +
 +--- girepository/meson.build.orig	2019-01-11 14:06:17.000000000 +0000
 ++++ girepository/meson.build
 +@@ -163,6 +163,17 @@ girepo_lib = shared_library('girepositor
 +   install: true,
 + )
 + 
 ++girepo_stlib = static_library('girepository-1.0-st',
 ++  sources: girepo_sources,
 ++  include_directories : configinc,
 ++  c_args: gi_hidden_visibility_cflags + ['-DG_IREPOSITORY_COMPILATION'] +
 ++          custom_c_args,
 ++  dependencies: [glib_dep, gobject_dep, gmodule_dep,
 ++                 gio_dep, girepo_internals_dep],
 ++  version: '1.0.0',
 ++  install: false,
 ++)
 ++
 + # Copy to builddir for use with giscanner/dumper.py when running uninstalled
 + configure_file(input : 'gdump.c',
 +   output : 'gdump.c',
 Index: patches/patch-giscanner_ast.py
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/gobject-introspection/patches/patch-giscanner_ast.py,v
 retrieving revision 1.1
 diff -u -r1.1 patch-giscanner_ast.py
 --- patches/patch-giscanner_ast.py	3 Jun 2019 10:47:20 -0000	1.1
 +++ patches/patch-giscanner_ast.py	25 Jul 2019 15:58:12 -0000
 @@ -21,12 +21,3 @@
   # A few additional GLib type aliases
   type_names['guchar'] = TYPE_UINT8
   type_names['gchararray'] = TYPE_STRING
 -@@ -344,7 +353,7 @@ type_names['FILE*'] = TYPE_ANY
 - # integers it's easy enough to expand them.
 - type_names['size_t'] = type_names['gsize']
 - type_names['ssize_t'] = type_names['gssize']
 --type_names['time_t'] = TYPE_LONG
 -+type_names['time_t'] = @TIMET_TYPENAME@
 - type_names['off_t'] = type_names['gsize']
 - type_names['pid_t'] = TYPE_INT
 - type_names['uid_t'] = TYPE_UINT
 Index: patches/patch-giscanner_ccompiler.py
 ===================================================================
 RCS file: patches/patch-giscanner_ccompiler.py
 diff -N patches/patch-giscanner_ccompiler.py
 --- patches/patch-giscanner_ccompiler.py	3 Jun 2019 10:47:20 -0000	1.2
 +++ /dev/null	1 Jan 1970 00:00:00 -0000
 @@ -1,20 +0,0 @@
 -$NetBSD: patch-giscanner_ccompiler.py,v 1.2 2019/06/03 10:47:20 prlw1 Exp $
 -
 -Do not set LD_LIBRARY_PATH when calling the compiler.
 -
 ---- giscanner/ccompiler.py.orig	2019-03-02 17:10:05.000000000 +0000
 -+++ giscanner/ccompiler.py
 -@@ -227,13 +227,6 @@ class CCompiler(object):
 -                 else:
 -                     args.append('-l' + library)
 - 
 --        for envvar in runtime_path_envvar:
 --            if envvar in os.environ:
 --                os.environ[envvar] = \
 --                    os.pathsep.join(runtime_paths + [os.environ[envvar]])
 --            else:
 --                os.environ[envvar] = os.pathsep.join(runtime_paths)
 --
 -     def get_external_link_flags(self, args, libraries):
 -         # An "external" link is where the library to be introspected
 -         # is installed on the system; this case is used for the scanning
 Index: patches/patch-tests_scanner_Regress-1.0-expected.gir
 ===================================================================
 RCS file: patches/patch-tests_scanner_Regress-1.0-expected.gir
 diff -N patches/patch-tests_scanner_Regress-1.0-expected.gir
 --- patches/patch-tests_scanner_Regress-1.0-expected.gir	3 Jun 2019 10:47:20 -0000	1.1
 +++ /dev/null	1 Jan 1970 00:00:00 -0000
 @@ -1,29 +0,0 @@
 -$NetBSD: patch-tests_scanner_Regress-1.0-expected.gir,v 1.1 2019/06/03 10:47:20 prlw1 Exp $
 -
 -32/64-bit time_t fix
 -
 ---- tests/scanner/Regress-1.0-expected.gir.orig	2019-01-16 18:03:21.000000000 +0000
 -+++ tests/scanner/Regress-1.0-expected.gir
 -@@ -1877,7 +1877,7 @@ uses a C sugar return type.</doc>
 -             <type name="FooObject" c:type="RegressFooObject*"/>
 -           </instance-parameter>
 -           <parameter name="time" transfer-ownership="none">
 --            <type name="glong" c:type="time_t"/>
 -+            <type name="@TIMET_CTYPE@" c:type="time_t"/>
 -           </parameter>
 -         </parameters>
 -       </method>
 -@@ -7975,11 +7975,11 @@ https://bugzilla.gnome.org/show_bug.cgi?
 -     <function name="test_timet" c:identifier="regress_test_timet">
 -       <source-position filename="regress.h" line="94"/>
 -       <return-value transfer-ownership="none">
 --        <type name="glong" c:type="time_t"/>
 -+        <type name="@TIMET_CTYPE@" c:type="time_t"/>
 -       </return-value>
 -       <parameters>
 -         <parameter name="in" transfer-ownership="none">
 --          <type name="glong" c:type="time_t"/>
 -+          <type name="@TIMET_CTYPE@" c:type="time_t"/>
 -         </parameter>
 -       </parameters>
 -     </function>
 Index: patches/patch-tools_meson.build
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/gobject-introspection/patches/patch-tools_meson.build,v
 retrieving revision 1.1
 diff -u -r1.1 patch-tools_meson.build
 --- patches/patch-tools_meson.build	3 Jun 2019 10:47:20 -0000	1.1
 +++ patches/patch-tools_meson.build	25 Jul 2019 15:58:12 -0000
 @@ -1,6 +1,8 @@
  $NetBSD: patch-tools_meson.build,v 1.1 2019/06/03 10:47:20 prlw1 Exp $

  After testing for the meson_option "python", meson.build then overwrites it.
 +Make a g-ir-compiler not dependent of girepository shared library. Allow custom target for typelib files
 +to be generated during the build. The bootstrap g-ir-compiler is not installed.

  --- tools/meson.build.orig	2019-01-11 14:16:09.000000000 +0000
  +++ tools/meson.build
 @@ -13,3 +15,20 @@
   endif

   tool_output = []
 +@@ -52,6 +52,16 @@ gircompiler = executable('g-ir-compiler'
 +     girepo_dep,
 +   ],
 +   install: true,
 ++  c_args: custom_c_args
 ++)
 ++
 ++gircompiler_bs = executable('g-ir-compiler-bootstrap', 'compiler.c',
 ++  dependencies: [
 ++    girepo_internals_dep,
 ++    girepo_dep,
 ++  ],
 ++  link_with: girepo_stlib,
 ++  install: false,
 +   c_args: custom_c_args,
 + )
 + 

 --Apple-Mail=_719E34F3-8AE8-4261-8F3A-FE20D873F44A
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain;
 	charset=us-ascii



 --Apple-Mail=_719E34F3-8AE8-4261-8F3A-FE20D873F44A
 Content-Disposition: attachment;
 	filename=patch-glib2.diff
 Content-Type: application/octet-stream;
 	x-unix-mode=0644;
 	name="patch-glib2.diff"
 Content-Transfer-Encoding: 7bit

 Index: Makefile
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/glib2/Makefile,v
 retrieving revision 1.257
 diff -u -r1.257 Makefile
 --- Makefile	28 Jun 2019 19:42:05 -0000	1.257
 +++ Makefile	25 Jul 2019 15:59:37 -0000
 @@ -2,7 +2,7 @@

  .include "Makefile.common"

 -PKGREVISION=	5
 +PKGREVISION=	6
  CATEGORIES=	devel gnome
  COMMENT=	Some useful routines for C programming (glib2)

 @@ -61,12 +61,6 @@
  TOOL_DEPENDS+=		${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
  PYTHON_FOR_BUILD_ONLY=	yes

 -.include "../../mk/bsd.prefs.mk"
 -PLIST_VARS+=	nococoa
 -.if ${OPSYS} != "Darwin"
 -PLIST.nococoa=	yes
 -.endif
 -
  .include "../../converters/libiconv/buildlink3.mk"
  .include "../../devel/gettext-lib/buildlink3.mk"
  .include "../../devel/pcre/buildlink3.mk"
 Index: PLIST
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/glib2/PLIST,v
 retrieving revision 1.105
 diff -u -r1.105 PLIST
 --- PLIST	28 Jun 2019 19:42:05 -0000	1.105
 +++ PLIST	25 Jul 2019 15:59:37 -0000
 @@ -1,8 +1,8 @@
  @comment $NetBSD: PLIST,v 1.105 2019/06/28 19:42:05 schmonz Exp $
 -${PLIST.nococoa}bin/gapplication
 +${PLIST.nonative}bin/gapplication
  bin/gdbus
  bin/gio
 -${PLIST.nococoa}bin/gio-launch-desktop
 +${PLIST.nonative}bin/gio-launch-desktop
  bin/gio-querymodules
  bin/glib-compile-resources
  bin/glib-compile-schemas
 @@ -10,7 +10,8 @@
  bin/gobject-query
  bin/gresource
  bin/gsettings
 -include/gio-unix-2.0/gio/gdesktopappinfo.h
 +${PLIST.nonative}include/gio-unix-2.0/gio/gdesktopappinfo.h
 +${PLIST.cocoa}include/glib-2.0/gio/gosxappinfo.h
  include/gio-unix-2.0/gio/gfiledescriptorbased.h
  include/gio-unix-2.0/gio/gunixconnection.h
  include/gio-unix-2.0/gio/gunixcredentialsmessage.h
 Index: PLIST.Darwin
 ===================================================================
 RCS file: PLIST.Darwin
 diff -N PLIST.Darwin
 --- PLIST.Darwin	6 Jun 2019 11:06:51 -0000	1.1
 +++ /dev/null	1 Jan 1970 00:00:00 -0000
 @@ -1,2 +0,0 @@
 -@comment $NetBSD: PLIST.Darwin,v 1.1 2019/06/06 11:06:51 adam Exp $
 -include/glib-2.0/gio/gosxappinfo.h
 Index: distinfo
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/glib2/distinfo,v
 retrieving revision 1.253
 diff -u -r1.253 distinfo
 --- distinfo	28 Jun 2019 19:42:05 -0000	1.253
 +++ distinfo	25 Jul 2019 15:59:38 -0000
 @@ -6,12 +6,12 @@
  Size (glib-2.60.4.tar.xz) = 4589384 bytes
  SHA1 (patch-gio_gcredentialsprivate.h) = dab92e07f8357a7dc1a569e37f65f9b199aee281
  SHA1 (patch-gio_gdbus-2.0_codegen_meson.build) = 21c806f1a9884000b6a1683bc2fd1276b3c3544f
 -SHA1 (patch-gio_giomodule.c) = 0715e77fa97f90631c77e9a2cfd54b74698522e2
 +SHA1 (patch-gio_giomodule.c) = 1e0e589826c9ed45a70047f5520eb30cb6ddb177
  SHA1 (patch-gio_gresource-tool.c) = ad0e59f48f5f98ea66be568dbe2e5a5d1ac602fc
  SHA1 (patch-gio_gunixcredentialsmessage.c) = c13119ddd6262db7c03e53857e987f0c495d3312
  SHA1 (patch-gio_gunixmounts.c) = 13af07fffe898457edd0d8db4296a60fccba913d
  SHA1 (patch-gio_inotify_inotify-kernel.c) = 24deec33a1ad5e3c1a4f2d1397440d26b0f23b84
 -SHA1 (patch-gio_meson.build) = 56b86a0b8ade34ebd155b2d530a19bf3eac97b76
 +SHA1 (patch-gio_meson.build) = d6131b5f9c9324237f08f0431d807fa461048604
  SHA1 (patch-gio_tests_gdbus-export.c) = 59d85ca079d02b52e33153c7d2ac1cc48c26707a
  SHA1 (patch-glib_gatomic.c) = 875ad9c828dcf2add356d4988d14fb4f1985aef8
  SHA1 (patch-glib_gatomic.h) = 21294cac483c3379198283c54fe6e24af3e630b1
 @@ -28,4 +28,5 @@
  SHA1 (patch-gmodule_gmodule.c) = 55c5f9d16e3517f3fdc04d40922f50d9c66b0b9a
  SHA1 (patch-gobject_glib-mkenums.in) = c177cf9b1ea81542665240678f47f68351a3760d
  SHA1 (patch-gobject_meson.build) = 58ee162e44047bf20c66067fd3edbe98cc13af50
 -SHA1 (patch-meson.build) = 125d98082c9bf2b6403bbda1c12e0fa695031ee6
 +SHA1 (patch-meson.build) = c51e922650e699a877c6b5b3aa31a457c7c27f87
 +SHA1 (patch-meson__options.txt) = 781e0aef012edb9f22402bb16456de02915d326c
 Index: options.mk
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/glib2/options.mk,v
 retrieving revision 1.21
 diff -u -r1.21 options.mk
 --- options.mk	3 Jun 2019 09:53:50 -0000	1.21
 +++ options.mk	25 Jul 2019 15:59:38 -0000
 @@ -1,8 +1,15 @@
  # $NetBSD: options.mk,v 1.21 2019/06/03 09:53:50 prlw1 Exp $

 -PKG_OPTIONS_VAR=	PKG_OPTIONS.glib2
 -PKG_SUPPORTED_OPTIONS=	fam
 -PKG_SUGGESTED_OPTIONS=
 +.include "../../mk/bsd.prefs.mk"
 +
 +PKG_OPTIONS_VAR=		PKG_OPTIONS.glib2
 +PKG_SUPPORTED_OPTIONS=		fam
 +PKG_OPTIONS_REQUIRED_GROUPS= 	app
 +PKG_OPTIONS_GROUP.app+=		x11
 +.if ${OPSYS} == "Darwin"
 +PKG_OPTIONS_GROUP.app+= native
 +.endif
 +PKG_SUGGESTED_OPTIONS= x11

  .include "../../mk/bsd.options.mk"

 @@ -12,3 +19,14 @@
  PLIST.fam=	yes
  .include "../../mk/fam.buildlink3.mk"
  .endif
 +
 +PLIST_VARS+=	cocoa
 +PLIST_VARS+=	nonative
 +
 +.if !empty(PKG_OPTIONS:Mnative)
 +MESON_ARGS+=	-Dnative=true
 +PLIST.cocoa=	yes
 +.else
 +MESON_ARGS+=	-Dnative=false
 +PLIST.nonative= yes
 +.endif
 Index: patches/patch-gio_giomodule.c
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/glib2/patches/patch-gio_giomodule.c,v
 retrieving revision 1.5
 diff -u -r1.5 patch-gio_giomodule.c
 --- patches/patch-gio_giomodule.c	6 Jun 2019 11:05:12 -0000	1.5
 +++ patches/patch-gio_giomodule.c	25 Jul 2019 15:59:38 -0000
 @@ -1,15 +1,44 @@
  $NetBSD: patch-gio_giomodule.c,v 1.5 2019/06/06 11:05:12 adam Exp $

  Disable inotify on SunOS.
 +Let compile-time choice for appinfo implementation on MacOSX

 ---- gio/giomodule.c.orig	2019-05-03 13:43:28.000000000 +0000
 +--- gio/giomodule.c.orig	2019-06-10 17:47:20.000000000 +0000
  +++ gio/giomodule.c
 -@@ -1209,7 +1206,7 @@ _g_io_modules_ensure_loaded (void)
 -       /* Initialize types from built-in "modules" */
 -       g_type_ensure (g_null_settings_backend_get_type ());
 -       g_type_ensure (g_memory_settings_backend_get_type ());
 --#if defined(HAVE_INOTIFY_INIT1)
 -+#if defined(HAVE_INOTIFY_INIT1) && !defined(__sun)
 -       g_type_ensure (g_inotify_file_monitor_get_type ());
 +@@ -43,12 +43,13 @@
   #endif
 - #if defined(HAVE_KQUEUE)
 + #include <glib/gstdio.h>
 + 
 +-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
 ++#if defined(G_OS_UNIX)
 ++#if !defined(NATIVE_APP_INFO) || !defined(HAVE_COCOA)
 + #include "gdesktopappinfo.h"
 +-#endif
 +-#ifdef HAVE_COCOA
 ++#elif defined(HAVE_COCOA)
 + #include "gosxappinfo.h"
 + #endif
 ++#endif
 + 
 + #ifdef HAVE_COCOA
 + #include <AvailabilityMacros.h>
 +@@ -1084,7 +1085,7 @@ _g_io_modules_ensure_extension_points_re
 +     {
 +       registered_extensions = TRUE;
 +       
 +-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
 ++#if defined(G_OS_UNIX) && (!defined(HAVE_COCOA) || !defined(NATIVE_APP_INFO))
 + #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
 +@@ -1225,8 +1226,10 @@ _g_io_modules_ensure_loaded (void)
 + #endif
 + #ifdef HAVE_COCOA
 +       g_type_ensure (g_nextstep_settings_backend_get_type ());
 ++#ifdef NATIVE_APP_INFO
 +       g_type_ensure (g_osx_app_info_get_type ());
 + #endif
 ++#endif
 + #ifdef G_OS_UNIX
 +       g_type_ensure (_g_unix_volume_monitor_get_type ());
 +       g_type_ensure (g_fdo_notification_backend_get_type ());
 Index: patches/patch-gio_meson.build
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/glib2/patches/patch-gio_meson.build,v
 retrieving revision 1.5
 diff -u -r1.5 patch-gio_meson.build
 --- patches/patch-gio_meson.build	28 Jun 2019 19:42:05 -0000	1.5
 +++ patches/patch-gio_meson.build	25 Jul 2019 15:59:38 -0000
 @@ -2,19 +2,42 @@

  Don't build tests, as have strong dependency on libdl.
  Disable inotify on SunOS.
 -Install gio/gdesktopappinfo.h on OS X.
 +Let compile-time choice for appinfo implementation on MacOSX.

  --- gio/meson.build.orig	2019-06-10 17:47:20.000000000 +0000
  +++ gio/meson.build
 -@@ -421,6 +421,7 @@ if host_system != 'windows'
 +@@ -413,14 +413,26 @@ if host_system != 'windows'
 +     'gunixsocketaddress.h',
 +   )
 + 
 +-  if glib_have_cocoa
 ++  if glib_have_cocoa  
 +     settings_sources += files('gnextstepsettingsbackend.m')
 +-    contenttype_sources += files('gosxcontenttype.m')
 +-    appinfo_sources += files('gosxappinfo.m')
 +     if glib_have_os_x_9_or_later
         unix_sources += files('gcocoanotificationbackend.m')
       endif
 -     application_headers += files('gosxappinfo.h')
 +-    application_headers += files('gosxappinfo.h')
 ++    if app_info_is_native
 ++      contenttype_sources += files('gosxcontenttype.m')
 ++      appinfo_sources += files('gosxappinfo.m')
 ++      application_headers += files('gosxappinfo.h')
 ++    else
 ++    contenttype_sources += files('gcontenttype.c')
 ++    appinfo_sources += files('gdesktopappinfo.c')
  +    gio_unix_include_headers += files('gdesktopappinfo.h')
 ++
 ++    executable('gio-launch-desktop', 'gio-launch-desktop.c',
 ++      install : true,
 ++      c_args : gio_c_args,
 ++      # intl.lib is not compatible with SAFESEH
 ++      link_args : noseh_link_args)
 ++    endif
     else
       contenttype_sources += files('gcontenttype.c')
       appinfo_sources += files('gdesktopappinfo.c')
 -@@ -758,7 +759,7 @@ gioenumtypes_c = custom_target('gioenumt
 +@@ -758,7 +770,7 @@ gioenumtypes_c = custom_target('gioenumt
   gioenumtypes_dep = declare_dependency(sources : [gioenumtypes_h, glib_enumtypes_h])

   # inotify
 @@ -23,7 +46,16 @@
     subdir('inotify')
     internal_deps += [ inotify_lib ]
     internal_objects += [inotify_lib.extract_all_objects()]
 -@@ -994,4 +995,3 @@ if enable_systemtap
 +@@ -976,7 +988,7 @@ executable('gdbus', 'gdbus-tool.c',
 +   link_args : noseh_link_args,
 +   dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
 + 
 +-if host_system != 'windows' and not glib_have_cocoa
 ++if host_system != 'windows' and (not glib_have_cocoa or not app_info_is_native)
 +   executable('gapplication', 'gapplication-tool.c',
 +     install : true,
 +     c_args : gio_c_args,
 +@@ -994,4 +1006,3 @@ if enable_systemtap
   endif

   subdir('fam')
 Index: patches/patch-meson.build
 ===================================================================
 RCS file: /cvsroot/pkgsrc/devel/glib2/patches/patch-meson.build,v
 retrieving revision 1.5
 diff -u -r1.5 patch-meson.build
 --- patches/patch-meson.build	26 Jun 2019 10:42:50 -0000	1.5
 +++ patches/patch-meson.build	25 Jul 2019 15:59:38 -0000
 @@ -14,9 +14,24 @@
  - Ignore __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 as is already done
    for android and linux. PR pkg/54298

 +- Let compile-time option for appinfo implementation on MacOSX
 +
  --- meson.build.orig	2019-06-10 17:47:20.000000000 +0000
  +++ meson.build
 -@@ -1570,28 +1570,15 @@ atomictest = '''int main() {
 +@@ -653,6 +653,12 @@ if host_system == 'darwin'
 +   # know which language flags it's going to use to link. Add to both languages
 +   # for now. See https://github.com/mesonbuild/meson/issues/3585.
 +   add_project_link_arguments(osx_ldflags, language : ['objc', 'c'])
 ++
 ++  app_info_is_native = get_option('native')
 ++  if app_info_is_native
 ++    glib_conf.set('NATIVE_APP_INFO', true)
 ++  endif
 ++
 + endif
 + 
 + # Check for futex(2)
 +@@ -1570,28 +1576,15 @@ atomictest = '''int main() {
   }
   '''

 @@ -47,7 +62,7 @@

   # === Threads ===

 -@@ -1696,14 +1683,14 @@ else
 +@@ -1696,14 +1689,14 @@ else
     found_iconv = false
     if iconv_opt == 'libc'
       if cc.has_function('iconv_open')
 @@ -70,7 +85,7 @@
       endif
     elif iconv_opt == 'native'
       if cc.has_header_symbol('iconv.h', 'iconv_open')
 -@@ -1785,7 +1772,7 @@ endif
 +@@ -1785,7 +1778,7 @@ endif
   # proxy-libintl subproject.
   # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible
   # implementations. This could be extended if issues are found in some platforms.
 @@ -79,7 +94,7 @@
     libintl = []
     have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset')
   else
 -@@ -1836,16 +1823,15 @@ if host_system != 'windows' and get_opti
 +@@ -1836,16 +1829,15 @@ if host_system != 'windows' and get_opti
     if cc.has_function('getxattr') and cc.has_header('sys/xattr.h')
       glib_conf.set('HAVE_SYS_XATTR_H', 1)
       glib_conf_prefix = glib_conf_prefix + '#define @0@ 1\n'.format('HAVE_SYS_XATTR_H')
 @@ -98,7 +113,7 @@
     if cc.compiles(glib_conf_prefix + '''
                    #include <stdio.h>
                    #ifdef HAVE_SYS_TYPES_H
 -@@ -1886,9 +1872,11 @@ elif meson.get_cross_property('have_strl
 +@@ -1886,9 +1878,11 @@ elif meson.get_cross_property('have_strl
     glib_conf.set('HAVE_STRLCPY', 1)
   endif

 @@ -113,7 +128,7 @@

   python_version = python.language_version()
   python_version_req = '>=3.4'
 -@@ -1897,7 +1885,7 @@ if not python_version.version_compare(py
 +@@ -1897,7 +1891,7 @@ if not python_version.version_compare(py
   endif

   # Determine which user environment-dependent files that we want to install
 @@ -122,7 +137,7 @@
   have_sh = find_program('sh', required : false).found() # For glib-gettextize

   # Some installed tests require a custom environment
 -@@ -1906,7 +1894,7 @@ env_program = find_program('env', requir
 +@@ -1906,7 +1900,7 @@ env_program = find_program('env', requir
   # FIXME: How to detect Solaris? https://github.com/mesonbuild/meson/issues/1578
   if host_system == 'sunos'
     glib_conf.set('_XOPEN_SOURCE_EXTENDED', 1)
 Index: patches/patch-meson__options.txt
 ===================================================================
 RCS file: patches/patch-meson__options.txt
 diff -N patches/patch-meson__options.txt
 --- /dev/null	1 Jan 1970 00:00:00 -0000
 +++ patches/patch-meson__options.txt	25 Jul 2019 15:59:38 -0000
 @@ -0,0 +1,16 @@
 +$NetBSD$
 +
 +Let compile-time option for appinfo implementation on MacOSX.
 +
 +--- meson_options.txt.orig	2019-06-10 17:47:20.000000000 +0000
 ++++ meson_options.txt
 +@@ -89,3 +89,9 @@ option('nls',
 +        value : 'auto',
 +        yield: true,
 +        description : 'Enable native language support (translations)')
 ++
 ++option('native',
 ++       type : 'boolean',
 ++       value : 'false',
 ++       yield : true,
 ++       description : 'Enable native application information')

 --Apple-Mail=_719E34F3-8AE8-4261-8F3A-FE20D873F44A
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain;
 	charset=us-ascii




 --Apple-Mail=_719E34F3-8AE8-4261-8F3A-FE20D873F44A--

From: Patrick Welche <prlw1@cam.ac.uk>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/54393: devel/gobject-introspection broken on macos (with
 devel/glib2 correction)
Date: Thu, 1 Aug 2019 14:07:58 +0100

 I borrowed a 2008 macbook to try things out - but build times are long.

 Looking back at the beginning of this two part PR, you mention

   https://gitlab.gnome.org/GNOME/glib/issues/1263

 for the first part.

 Reading the comments, it isn't obvious that this didn't get into
 upstream just because of the move to gitlab and then to meson.

 Would you care to work on the upstream bug?

From: =?utf-8?Q?cl=C3=A9ment_bouvier?= <clement.bouvier.europe@gmail.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/54393: devel/gobject-introspection broken on macos (with
 devel/glib2 correction)
Date: Thu, 1 Aug 2019 19:42:56 +0400

 Nice ! Thank you

 I can work with upstream for this patch. I did not submit because:
 * upstream might want to have native appinfo windows support too and the =
 patch of devel/glib2 does not include this platform. I can work on that. =
 That requires a lit bit more works but it is not so difficult.

 I don't think upstream has an functional patch:
 https://gitlab.gnome.org/GNOME/glib/merge_requests/97/commits

 But you already know=E2=80=A6
 (https://gitlab.gnome.org/GNOME/glib/merge_requests/97)



 > Le 1 ao=C3=BBt 2019 =C3=A0 17:10, Patrick Welche <prlw1@cam.ac.uk> a =
 =C3=A9crit :
 >=20
 > The following reply was made to PR pkg/54393; it has been noted by =
 GNATS.
 >=20
 > From: Patrick Welche <prlw1@cam.ac.uk>
 > To: gnats-bugs@netbsd.org
 > Cc:=20
 > Subject: Re: pkg/54393: devel/gobject-introspection broken on macos =
 (with
 > devel/glib2 correction)
 > Date: Thu, 1 Aug 2019 14:07:58 +0100
 >=20
 > I borrowed a 2008 macbook to try things out - but build times are =
 long.
 >=20
 > Looking back at the beginning of this two part PR, you mention
 >=20
 >   https://gitlab.gnome.org/GNOME/glib/issues/1263
 >=20
 > for the first part.
 >=20
 > Reading the comments, it isn't obvious that this didn't get into
 > upstream just because of the move to gitlab and then to meson.
 >=20
 > Would you care to work on the upstream bug?
 >=20

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.