pkgsrc-Bugs archive

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

pkg/54393: devel/gobject-introspection broken on macos (with devel/glib2 correction)



>Number:         54393
>Category:       pkg
>Synopsis:       devel/gobject-introspection broken on macos (with devel/glib2 correction)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 21 12:15:00 +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,
+ )
+ 



Home | Main Index | Thread Index | Old Index