TERMUX_PKG_HOMEPAGE=https://developer.gnome.org/glib/
TERMUX_PKG_DESCRIPTION="Library providing core building blocks for libraries and applications written in C"
-TERMUX_PKG_VERSION=2.54.3
-TERMUX_PKG_SHA256=963fdc6685dc3da8e5381dfb9f15ca4b5709b28be84d9d05a9bb8e446abac0a8
+TERMUX_PKG_VERSION=2.56.0
+TERMUX_PKG_SHA256=ecef6e17e97b8d9150d0e8a4b3edee1ac37331213b8a2a87a083deea408a0fc7
TERMUX_PKG_SRCURL=https://ftp.gnome.org/pub/gnome/sources/glib/${TERMUX_PKG_VERSION:0:4}/glib-${TERMUX_PKG_VERSION}.tar.xz
# libandroid-support to get langinfo.h in include path.
TERMUX_PKG_DEPENDS="libffi, pcre, libandroid-support"
--- /dev/null
+diff -u -r ../glib-2.56.0/gio/gsocket.c ./gio/gsocket.c
+--- ../glib-2.56.0/gio/gsocket.c 2018-01-08 21:34:19.000000000 +0000
++++ ./gio/gsocket.c 2018-03-14 10:48:50.917328275 +0000
+@@ -2397,7 +2397,11 @@
+ memset (&mc_req_src, 0, sizeof (mc_req_src));
+
+ /* By default use the default IPv4 multicast interface. */
++#ifdef __ANDROID__
++ mc_req_src.imr_interface = g_htonl (INADDR_ANY);
++#else
+ mc_req_src.imr_interface.s_addr = g_htonl (INADDR_ANY);
++#endif
+
+ if (iface)
+ {
+@@ -2442,7 +2446,11 @@
+ }
+
+ iface_addr = (struct sockaddr_in *) &ifr.ifr_addr;
++#ifdef __ANDROID__
++ mc_req_src.imr_interface = iface_addr->sin_addr.s_addr;
++#else
+ mc_req_src.imr_interface.s_addr = iface_addr->sin_addr.s_addr;
++#endif
+ #endif /* defined(G_OS_WIN32) && defined (HAVE_IF_NAMETOINDEX) */
+ }
+ memcpy (&mc_req_src.imr_multiaddr, g_inet_address_to_bytes (group),