pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/devel/glib2 glib2: fix build on sunos.
details: https://anonhg.NetBSD.org/pkgsrc/rev/8a80a857534f
branches: trunk
changeset: 396572:8a80a857534f
user: maya <maya%pkgsrc.org@localhost>
date: Mon Jun 03 21:24:04 2019 +0000
description:
glib2: fix build on sunos.
- Default to a newer POSIX, since we build this package with -std=gnu99
- Link against libnsl and libintl
- Don't use mnt_opt
- XXX who else uses this case in gunixmounts.c?
- include <sys/filio.h> for FIONREAD.
- Auto-detect GNU iconv.
- Don't fail if getxattr is not available. The code is already ready
for this case with some small configure changes.
diffstat:
devel/glib2/Makefile | 4 +-
devel/glib2/distinfo | 7 +-
devel/glib2/patches/patch-gio_gunixmounts.c | 17 +++++
devel/glib2/patches/patch-gio_inotify_inotify-kernel.c | 11 ++-
devel/glib2/patches/patch-meson.build | 61 +++++++++++++++++-
5 files changed, 91 insertions(+), 9 deletions(-)
diffs (173 lines):
diff -r cfd6b02049f7 -r 8a80a857534f devel/glib2/Makefile
--- a/devel/glib2/Makefile Mon Jun 03 20:40:02 2019 +0000
+++ b/devel/glib2/Makefile Mon Jun 03 21:24:04 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.246 2019/06/03 09:53:50 prlw1 Exp $
+# $NetBSD: Makefile,v 1.247 2019/06/03 21:24:04 maya Exp $
.include "Makefile.common"
@@ -14,6 +14,8 @@
# Avoid linux dependency on libmount-dev
MESON_ARGS+= -Dlibmount=false
+LDFLAGS.SunOS+= -lintl -lnsl
+
REPLACE_PYTHON+= gio/gio-querymodules-wrapper.py
REPLACE_PYTHON+= gio/tests/gengiotypefuncs.py
REPLACE_PYTHON+= gio/tests/static-link.py
diff -r cfd6b02049f7 -r 8a80a857534f devel/glib2/distinfo
--- a/devel/glib2/distinfo Mon Jun 03 20:40:02 2019 +0000
+++ b/devel/glib2/distinfo Mon Jun 03 21:24:04 2019 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.238 2019/06/03 09:53:50 prlw1 Exp $
+$NetBSD: distinfo,v 1.239 2019/06/03 21:24:04 maya Exp $
SHA1 (glib-2.60.2.tar.xz) = 8aa8586f0b1fd13c2717adf7ac3e6427bee651b6
RMD160 (glib-2.60.2.tar.xz) = 8d18a8e4b43071afc35762eff3618a88a7112f57
@@ -10,7 +10,8 @@
SHA1 (patch-gio_glocalfileinfo.c) = 8e0b7e9543ce3c702c468f56e7ecf418d70b049f
SHA1 (patch-gio_gresource-tool.c) = ad0e59f48f5f98ea66be568dbe2e5a5d1ac602fc
SHA1 (patch-gio_gunixcredentialsmessage.c) = c13119ddd6262db7c03e53857e987f0c495d3312
-SHA1 (patch-gio_inotify_inotify-kernel.c) = 18fc55be06dfa4ebf7128b8d1888aaff3b2b95c0
+SHA1 (patch-gio_gunixmounts.c) = bce5aaa9778b7044aebe588d12068202682c5feb
+SHA1 (patch-gio_inotify_inotify-kernel.c) = ee931a707c7685a91e52eba1300405dfdb647b0c
SHA1 (patch-gio_meson.build) = 5983ff37da260558d0f367feed75d4c0ed1bd6fd
SHA1 (patch-glib_gmain.c) = 2ab4b59e438d9f764bee62e0c1fa8bbd231b6e8d
SHA1 (patch-glib_meson.build) = 477cbc2324a81bb2a406487daef71cfc2140719c
@@ -21,4 +22,4 @@
SHA1 (patch-gmodule_gmodule.c) = 55c5f9d16e3517f3fdc04d40922f50d9c66b0b9a
SHA1 (patch-gobject_glib-mkenums.in) = c177cf9b1ea81542665240678f47f68351a3760d
SHA1 (patch-gobject_meson.build) = 5e7c8508dbc228d01960e563bdba40cbf10db489
-SHA1 (patch-meson.build) = f4731d32655f0b4b28cc0dddc4d553c65e857385
+SHA1 (patch-meson.build) = 7c7de85d2dc91ac835d80d76c23330c3e0ab3555
diff -r cfd6b02049f7 -r 8a80a857534f devel/glib2/patches/patch-gio_gunixmounts.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/glib2/patches/patch-gio_gunixmounts.c Mon Jun 03 21:24:04 2019 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-gio_gunixmounts.c,v 1.3 2019/06/03 21:24:04 maya Exp $
+
+SunOS has sys/mntent.h but no mnt_opts.
+XXX who else uses the sys/mntent.h case?
+
+--- gio/gunixmounts.c.orig 2019-05-03 13:43:28.000000000 +0000
++++ gio/gunixmounts.c
+@@ -736,7 +736,7 @@ _g_get_unix_mounts (void)
+ mntent.mnt_mountp,
+ NULL,
+ mntent.mnt_fstype,
+- mntent.mnt_opts,
++ NULL/*mntent.mnt_opts*/,
+ is_read_only);
+
+ return_list = g_list_prepend (return_list, mount_entry);
+
diff -r cfd6b02049f7 -r 8a80a857534f devel/glib2/patches/patch-gio_inotify_inotify-kernel.c
--- a/devel/glib2/patches/patch-gio_inotify_inotify-kernel.c Mon Jun 03 20:40:02 2019 +0000
+++ b/devel/glib2/patches/patch-gio_inotify_inotify-kernel.c Mon Jun 03 21:24:04 2019 +0000
@@ -1,10 +1,17 @@
-$NetBSD: patch-gio_inotify_inotify-kernel.c,v 1.1 2016/04/13 10:13:43 jperkin Exp $
+$NetBSD: patch-gio_inotify_inotify-kernel.c,v 1.2 2019/06/03 21:24:04 maya Exp $
Use _XOPEN_NAME_MAX in lieu of NAME_MAX for SunOS.
+Include <sys/filio.h> for FIONREAD on SunOS.
--- gio/inotify/inotify-kernel.c.orig 2016-02-23 22:25:36.000000000 +0000
+++ gio/inotify/inotify-kernel.c
-@@ -36,6 +36,9 @@
+@@ -30,11 +30,15 @@
+ #include <glib.h>
+ #include "inotify-kernel.h"
+ #include <sys/inotify.h>
++#include <sys/filio.h>
+ #include <glib/glib-unix.h>
+
#include "glib-private.h"
/* From inotify(7) */
diff -r cfd6b02049f7 -r 8a80a857534f devel/glib2/patches/patch-meson.build
--- a/devel/glib2/patches/patch-meson.build Mon Jun 03 20:40:02 2019 +0000
+++ b/devel/glib2/patches/patch-meson.build Mon Jun 03 21:24:04 2019 +0000
@@ -1,12 +1,58 @@
-$NetBSD: patch-meson.build,v 1.1 2019/06/03 09:53:50 prlw1 Exp $
+$NetBSD: patch-meson.build,v 1.2 2019/06/03 21:24:04 maya Exp $
- Don't insist that python binary is called "python3".
(Requires meson >= 0.50.0)
- Don't install bash completion scripts.
+- Tolerate getxattr not existing (smartOS)
+- Define a newer POSIX, as we build this package with -std=gnu99
+- auto-detect GNU iconv, even if no arguments are passed.
+ (by checking if iconv.h might in fact be a gnu one)
--- meson.build.orig 2019-05-03 13:43:28.000000000 +0000
+++ meson.build
-@@ -1886,9 +1886,11 @@ elif meson.get_cross_property('have_strl
+@@ -1696,14 +1696,14 @@ else
+ found_iconv = false
+ if iconv_opt == 'libc'
+ if cc.has_function('iconv_open')
+- libiconv = []
+- found_iconv = true
+- endif
+- elif iconv_opt == 'gnu'
+- if cc.has_header_symbol('iconv.h', 'libiconv_open')
+- glib_conf.set('USE_LIBICONV_GNU', true)
+- libiconv = [cc.find_library('iconv')]
+- found_iconv = true
++ if cc.has_header_symbol('iconv.h', 'libiconv_open')
++ glib_conf.set('USE_LIBICONV_GNU', true)
++ libiconv = [cc.find_library('iconv')]
++ found_iconv = true
++ else
++ libiconv = []
++ found_iconv = true
++ endif
+ endif
+ elif iconv_opt == 'native'
+ if cc.has_header_symbol('iconv.h', 'iconv_open')
+@@ -1836,16 +1836,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')
++ glib_conf.set('HAVE_XATTR', 1)
+ #failure. try libattr
+ elif cc.has_header_symbol('attr/xattr.h', 'getxattr')
+ glib_conf.set('HAVE_ATTR_XATTR_H', 1)
+ glib_conf_prefix = glib_conf_prefix + '#define @0@ 1\n'.format('HAVE_ATTR_XATTR_H')
+ xattr_dep = [cc.find_library('xattr')]
+- else
+- error('No getxattr implementation found in C library or libxattr')
++ glib_conf.set('HAVE_XATTR', 1)
+ endif
+
+- glib_conf.set('HAVE_XATTR', 1)
+ if cc.compiles(glib_conf_prefix + '''
+ #include <stdio.h>
+ #ifdef HAVE_SYS_TYPES_H
+@@ -1886,9 +1885,11 @@ elif meson.get_cross_property('have_strl
glib_conf.set('HAVE_STRLCPY', 1)
endif
@@ -21,7 +67,7 @@
python_version = python.language_version()
python_version_req = '>=3.4'
-@@ -1897,7 +1899,7 @@ if not python_version.version_compare(py
+@@ -1897,7 +1898,7 @@ if not python_version.version_compare(py
endif
# Determine which user environment-dependent files that we want to install
@@ -30,3 +76,12 @@
have_sh = find_program('sh', required : false).found() # For glib-gettextize
# Some installed tests require a custom environment
+@@ -1906,7 +1907,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)
+- glib_conf.set('_XOPEN_SOURCE', 2)
++ glib_conf.set('_POSIX_C_SOURCE',200809)
+ glib_conf.set('__EXTENSIONS__',1)
+ endif
+
Home |
Main Index |
Thread Index |
Old Index