+ Overview of changes in GLib 2.58.1
+ ==================================
+
+ * Fix to a regression in listing GIcon fallbacks (#1513)
+
+ * Changes to pkg-config paths to helper programs when building with autotools:
+ paths are now absolute with reference to the .pc file’s ${prefix} (#1521)
+
+ * Fix installation path of glib-gettextize helper on Meson (!290)
+
+ * Fix autostarting xdg-desktop-portal (!321, a backport of !317)
+
+ * Various fixes to the network monitor (#1518, !294)
+
+ * Various compilation fixes on macOS (generally older versions and older
+ compilers)
+
+ Bugs fixed:
+ !318 codegen: Change pointer casting to remove type-punning warnings
+ #1513 GIcon regression?
+ #1521 pkg-config files differ between Autotools and Meson build
+ !321 Backport “Autostart xdg-desktop-portal if needed” to glib-2-58
+ #1518 /network-monitor/create-in-thread fails in (LXC) containers on glib-2-56
+ #1509 test_timeval_to_iso8601_overflow: 'out' should be NULL
+ !288 Backport `command -v` vs `which` changes to glib-2-58
+ !298 GLib 2.58 backports of various small patches
+ !295 meson: fix typo
+ !294 portal network monitor: Always emit changed signal on changed
+ !290 build: fix installation dir of glib-gettextize
+ #1488 ‘O_CLOEXEC’ undeclared (first use in this function)
+ #1506 error: redefinition of typedef 'GKqueueFileMonitor'
+
+ * Translation updates:
+ Brazilian Portuguese
+ Czech
+ Danish
+ Greek
+ Hungarian
+ Latvian
+ Swedish
+
+
Overview of changes in GLib 2.58.0
==================================
Russian
Turkish
+Overview of changes in GLib 2.44.1
+==================================
+
+* Don't redefine typedefs to avoid build problems on OpenBSD
+
+* Improve the default application algorithm
+
+* Bump the number of children a GType can have
+
+* Various testsuite improvements
+
+* Translation updates:
+ Czech
+ Icelandic
+ Russian
+
+
+Overview of changes in GLib 2.44.0
+===================================
+
+With the exception of translation and documentation, there have been no
+changes since the prerelease.
+
+Bugs fixed:
+ 730188 gsocket: Document FD ownership with g_socket_new_from_fd()
+
+Translations updated:
+ Basque language
+ Brazilian Portuguese
+ Chinese (Taiwan)
+ Danish
+ Galician s
+ Hebrew
+ Indonesian
+ Norwegian bokmål
+ Turkish
+
Overview of changes in GLib 2.43.92
===================================
olddir=`pwd`
cd "$srcdir"
- GTKDOCIZE=$(which gtkdocize 2>/dev/null)
- if test -z $GTKDOCIZE; then
+ if ! command -v gtkdocize >/dev/null 2>&1; then
echo "You don't have gtk-doc installed, and thus won't be able to generate the documentation."
rm -f gtk-doc.make
cat > gtk-doc.make <<EOF
gtkdocize || exit $?
fi
- AUTORECONF=`which autoreconf`
- if test -z $AUTORECONF; then
+ if ! command -v autoreconf >/dev/null 2>&1; then
echo "*** No autoreconf found, please install it ***"
exit 1
fi
# regenerated from its corresponding *.in file by ./configure anyway.
touch INSTALL
-autoreconf --force --install --verbose || exit $?
+test -n "$NOAUTORECONF" || autoreconf --force --install --verbose || exit $?
cd "$olddir"
test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
m4_define([glib_major_version], [2])
m4_define([glib_minor_version], [58])
- m4_define([glib_micro_version], [0])
- m4_define([glib_interface_age], [0])
+ m4_define([glib_micro_version], [1])
+ m4_define([glib_interface_age], [1])
m4_define([glib_binary_age],
[m4_eval(100 * glib_minor_version + glib_micro_version)])
m4_define([glib_version],
[turn on debugging @<:@default=glib_debug_default@:>@]),,
enable_debug=glib_debug_default)
+AC_ARG_ENABLE(libdbuspolicy,
+ [AS_HELP_STRING([--enable-libdbuspolicy],
+ [enable libdbuspolicy for kdbus transport [default=no]])],,
+ [enable_libdbuspolicy=no])
+
GLIB_TESTS
+AC_MSG_CHECKING([whether to enable libdbuspolicy for kdbus transport])
+AM_CONDITIONAL(LIBDBUSPOLICY, [test "x$enable_libdbuspolicy" = "xyes"])
+AS_IF([test "x$enable_libdbuspolicy" = "xyes"], [
+ PKG_CHECK_MODULES(LIBDBUSPOLICY1, libdbuspolicy1 >= 1)
+ AC_SUBST(LIBDBUSPOLICY1_CFLAGS)
+ AC_SUBST(LIBDBUSPOLICY1_LIBS)
+ AC_DEFINE(LIBDBUSPOLICY, 1, [Whether to enable libdbuspolicy for kdbus transport])
+ AC_MSG_RESULT([yes])
+], [ AC_MSG_RESULT([no]) ])
+
dnl location to install runtime libraries, e.g. ../../lib to install
dnl to /lib if libdir is /usr/lib
AC_ARG_WITH(runtime-libdir,
AC_CHECK_HEADERS([sys/select.h stdint.h inttypes.h sched.h malloc.h])
AC_CHECK_HEADERS([sys/vfs.h sys/vmount.h sys/statfs.h sys/statvfs.h sys/filio.h sys/auxv.h])
AC_CHECK_HEADERS([mntent.h sys/mnttab.h sys/vfstab.h sys/mntctl.h fstab.h])
-AC_CHECK_HEADERS([linux/magic.h])
+AC_CHECK_HEADERS([linux/magic.h linux/memfd.h sys/prctl.h])
AC_CHECK_HEADERS([termios.h])
# Some versions of MSC lack these
LDFLAGS="$LDFLAGS -lgcov"
])
+dnl ************************************
+dnl *** Enable gcov (without lcov) coverage reports ***
+dnl ************************************
+
+AC_ARG_ENABLE(gcov-coverage,
+ AS_HELP_STRING([--enable-gcov-coverage],
+ [enable coverage testing with gcov, without lcov]),
+ [use_only_gcov=$enableval], [use_only_gcov=no])
+
+AS_IF([ test "x$use_only_gcov" = "xyes"], [
+ dnl we need gcc:
+ if test "$GCC" != "yes"; then
+ AC_MSG_ERROR([GCC is required for --enable-gcov-coverage])
+ fi
+
+ dnl Check if ccache is being used
+ AC_CHECK_PROG(SHTOOL, shtool, shtool)
+ case `$SHTOOL path $CC` in
+ *ccache*[)] gcc_ccache=yes;;
+ *[)] gcc_ccache=no;;
+ esac
+
+ if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then
+ AC_MSG_ERROR([ccache must be disabled when --enable-coverage option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.])
+ fi
+
+ dnl Remove all optimization flags from CFLAGS
+ changequote({,})
+ CFLAGS=`echo "$CFLAGS" | $SED -e 's/-Wl,-O[0-9]*//g'`
+ CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9]*//g'`
+ changequote([,])
+
+ dnl Add the special gcc flags
+ CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage"
+ LDFLAGS="$LDFLAGS -lgcov"
+])
+
dnl *******************************
dnl *** Disable strict aliasing ***
dnl *******************************
AM_CONDITIONAL(HAVE_DBUS1, [test "x$have_dbus1" = "xyes"])
AC_CHECK_PROGS([DBUS_DAEMON], [dbus-daemon])
-AM_CONDITIONAL([HAVE_DBUS_DAEMON], [test x$DBUS_DAEMON = xdbus-daemon ])
+AM_CONDITIONAL([HAVE_DBUS_DAEMON], [test x$DBUS_DAEMON = xdbus-daemon || test x$FORCE_DBUS_TESTS = x1 ])
# Check whether MSVC toolset is explicitly set
AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x])
'\n')
if len(args) > 0:
- self.outfile.write('static const _ExtendedGDBusArgInfo * const %s_pointers[] =\n'
+ self.outfile.write('static const GDBusArgInfo * const %s_pointers[] =\n'
'{\n'%(prefix))
for a in args:
- self.outfile.write(' &%s_%s,\n'%(prefix, a.name))
+ self.outfile.write(' &%s_%s.parent_struct,\n'%(prefix, a.name))
self.outfile.write(' NULL\n'
'};\n'
'\n')
self.outfile.write('};\n'
'\n')
- self.outfile.write('static const _ExtendedGDBusMethodInfo * const _%s_method_info_pointers[] =\n'
+ self.outfile.write('static const GDBusMethodInfo * const _%s_method_info_pointers[] =\n'
'{\n'%(i.name_lower))
for m in i.methods:
- self.outfile.write(' &_%s_method_info_%s,\n'%(i.name_lower, m.name_lower))
+ self.outfile.write(' &_%s_method_info_%s.parent_struct,\n'%(i.name_lower, m.name_lower))
self.outfile.write(' NULL\n'
'};\n'
'\n')
self.outfile.write('};\n'
'\n')
- self.outfile.write('static const _ExtendedGDBusSignalInfo * const _%s_signal_info_pointers[] =\n'
+ self.outfile.write('static const GDBusSignalInfo * const _%s_signal_info_pointers[] =\n'
'{\n'%(i.name_lower))
for s in i.signals:
- self.outfile.write(' &_%s_signal_info_%s,\n'%(i.name_lower, s.name_lower))
+ self.outfile.write(' &_%s_signal_info_%s.parent_struct,\n'%(i.name_lower, s.name_lower))
self.outfile.write(' NULL\n'
'};\n'
'\n')
self.outfile.write('};\n'
'\n')
- self.outfile.write('static const _ExtendedGDBusPropertyInfo * const _%s_property_info_pointers[] =\n'
+ self.outfile.write('static const GDBusPropertyInfo * const _%s_property_info_pointers[] =\n'
'{\n'%(i.name_lower))
for p in i.properties:
- self.outfile.write(' &_%s_property_info_%s,\n'%(i.name_lower, p.name_lower))
+ self.outfile.write(' &_%s_property_info_%s.parent_struct,\n'%(i.name_lower, p.name_lower))
self.outfile.write(' NULL\n'
'};\n'
'\n')
%(i.name_lower, i.camel_name), False))
self.write_gtkdoc_deprecated_and_since_and_close(i, self.outfile, 0)
self.outfile.write('guint\n'
- '%s_override_properties (GObjectClass *klass, guint property_id_begin)\n'
+ '%s_override_properties (GObjectClass *klass G_GNUC_UNUSED, guint property_id_begin)\n'
'{\n'%(i.name_lower))
for p in i.properties:
self.outfile.write(' g_object_class_override_property (klass, property_id_begin++, "%s");\n'%(p.name_hyphen))
self.write_gtkdoc_deprecated_and_since_and_close(m, self.outfile, 0)
self.outfile.write('void\n'
'%s_complete_%s (\n'
- ' %s *object,\n'
+ ' %s *object G_GNUC_UNUSED,\n'
' GDBusMethodInvocation *invocation'%(i.name_lower, m.name_lower, i.camel_name))
if unix_fd:
self.outfile.write(',\n GUnixFDList *fd_list')
# laid out in the same order as introspection data pointers
#
self.outfile.write('static void\n'
- '%s_proxy_get_property (GObject *object,\n'
- ' guint prop_id,\n'
- ' GValue *value,\n'
+ '%s_proxy_get_property (GObject *object G_GNUC_UNUSED,\n'
+ ' guint prop_id G_GNUC_UNUSED,\n'
+ ' GValue *value G_GNUC_UNUSED,\n'
' GParamSpec *pspec G_GNUC_UNUSED)\n'
'{\n'%(i.name_lower))
if len(i.properties) > 0:
self.outfile.write(' const _ExtendedGDBusPropertyInfo *info;\n'
' GVariant *variant;\n'
' g_assert (prop_id != 0 && prop_id - 1 < %d);\n'
- ' info = _%s_property_info_pointers[prop_id - 1];\n'
+ ' info = (const _ExtendedGDBusPropertyInfo *) _%s_property_info_pointers[prop_id - 1];\n'
' variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name);\n'
' if (info->use_gvariant)\n'
' {\n'
self.outfile.write('}\n'
'\n')
self.outfile.write('static void\n'
- '%s_proxy_set_property (GObject *object,\n'
- ' guint prop_id,\n'
- ' const GValue *value,\n'
+ '%s_proxy_set_property (GObject *object G_GNUC_UNUSED,\n'
+ ' guint prop_id G_GNUC_UNUSED,\n'
+ ' const GValue *value G_GNUC_UNUSED,\n'
' GParamSpec *pspec G_GNUC_UNUSED)\n'
'{\n'%(i.name_lower))
if len(i.properties) > 0:
self.outfile.write(' const _ExtendedGDBusPropertyInfo *info;\n'
' GVariant *variant;\n'
' g_assert (prop_id != 0 && prop_id - 1 < %d);\n'
- ' info = _%s_property_info_pointers[prop_id - 1];\n'
+ ' info = (const _ExtendedGDBusPropertyInfo *) _%s_property_info_pointers[prop_id - 1];\n'
' variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature));\n'
' g_dbus_proxy_call (G_DBUS_PROXY (object),\n'
' "org.freedesktop.DBus.Properties.Set",\n'
'\n')
self.outfile.write('static void\n'
- '%s_proxy_iface_init (%sIface *iface)\n'
+ '%s_proxy_iface_init (%sIface *iface G_GNUC_UNUSED)\n'
'{\n'%(i.name_lower, i.camel_name))
for p in i.properties:
self.outfile.write(' iface->get_%s = %s_proxy_get_%s;\n'%(p.name_lower, i.name_lower, p.name_lower))
%(i.name_lower))
self.outfile.write('static void\n'
- '%s_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)\n'
+ '%s_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton G_GNUC_UNUSED)\n'
'{\n'
%(i.name_lower))
if len(i.properties) > 0:
' if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1]))\n'
' {\n'
' if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL)\n'
- ' _%s_schedule_emit_changed (skeleton, _%s_property_info_pointers[prop_id - 1], prop_id, &skeleton->priv->properties[prop_id - 1]);\n'
+ ' _%s_schedule_emit_changed (skeleton, (const _ExtendedGDBusPropertyInfo *) _%s_property_info_pointers[prop_id - 1], prop_id, &skeleton->priv->properties[prop_id - 1]);\n'
' g_value_copy (value, &skeleton->priv->properties[prop_id - 1]);\n'
' g_object_notify_by_pspec (object, pspec);\n'
' }\n'
'\n')
self.outfile.write('static void\n'
- '%s_skeleton_iface_init (%sIface *iface)\n'
+ '%s_skeleton_iface_init (%sIface *iface G_GNUC_UNUSED)\n'
'{\n'
%(i.name_lower, i.camel_name))
for s in i.signals: