TERMUX_PKG_HOMEPAGE=https://developer.gnome.org/glib/
TERMUX_PKG_DESCRIPTION="Library providing core building blocks for libraries and applications written in C"
-_TERMUX_GLIB_MAJOR_VERSION=2.48
-TERMUX_PKG_VERSION=${_TERMUX_GLIB_MAJOR_VERSION}.2
-TERMUX_PKG_BUILD_REVISION=2
-TERMUX_PKG_SRCURL=http://ftp.gnome.org/pub/gnome/sources/glib/${_TERMUX_GLIB_MAJOR_VERSION}/glib-${TERMUX_PKG_VERSION}.tar.xz
+_TERMUX_GLIB_MAJOR_VERSION=2.50
+TERMUX_PKG_VERSION=${_TERMUX_GLIB_MAJOR_VERSION}.1
+TERMUX_PKG_SRCURL=https://ftp.gnome.org/pub/gnome/sources/glib/${_TERMUX_GLIB_MAJOR_VERSION}/glib-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_DEPENDS="libffi, pcre"
TERMUX_PKG_RM_AFTER_INSTALL="share/gtk-doc share/locale share/glib-2.0/gettext share/gdb/auto-load share/glib-2.0/codegen share/glib-2.0/gdb bin/gtester-report bin/glib-mkenums bin/glib-gettextize bin/gdbus-codegen"
# Needed by pkg-config for glib-2.0:
# --disable-znodelete to avoid DF_1_NODELETE which most Android 5.0 linkers does not support:
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-znodelete"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-libelf"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-libmount"
termux_step_pre_configure () {
# glib checks for __BIONIC__ instead of __ANDROID__:
--- /dev/null
+diff -u -r ../glib-2.50.1/glib/gmessages.c ./glib/gmessages.c
+--- ../glib-2.50.1/glib/gmessages.c 2016-10-10 09:39:07.000000000 -0400
++++ ./glib/gmessages.c 2016-10-15 19:16:30.272794344 -0400
+@@ -1842,7 +1842,7 @@
+ return isatty (output_fd);
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) && !defined(__ANDROID__)
+ static int journal_fd = -1;
+
+ #ifndef SOCK_CLOEXEC
+@@ -1881,7 +1881,7 @@
+ gboolean
+ g_log_writer_is_journald (gint output_fd)
+ {
+-#ifdef __linux__
++#if defined(__linux__) && !defined(__ANDROID__)
+ /* FIXME: Use the new journal API for detecting whether we’re writing to the
+ * journal. See: https://github.com/systemd/systemd/issues/2473
+ */
+@@ -2016,7 +2016,7 @@
+ return g_string_free (gstring, FALSE);
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) && !defined(__ANDROID__)
+ static int
+ journal_sendv (struct iovec *iov,
+ gsize iovlen)
+@@ -2130,7 +2130,7 @@
+ gsize n_fields,
+ gpointer user_data)
+ {
+-#ifdef __linux__
++#if defined(__linux__) && !defined(__ANDROID__)
+ const char equals = '=';
+ const char newline = '\n';
+ gsize i, k;
+Patch submitted at https://bugzilla.gnome.org/show_bug.cgi?id=771304
+
diff -u -r ../glib-2.48.2/glib/gtimezone.c ./glib/gtimezone.c
--- ../glib-2.48.2/glib/gtimezone.c 2016-08-17 12:07:29.000000000 -0400
+++ ./glib/gtimezone.c 2016-09-12 16:52:41.864974630 -0400
+ uint32_t offset, length, unused;
+ } __attribute__((packed)) entry;
+
++ char sys_timezone[PROP_VALUE_MAX];
+ if (identifier == NULL) {
-+ char sys_timezone[PROP_VALUE_MAX];
+ if (__system_property_get("persist.sys.timezone", sys_timezone) < 1) {
+ g_warning("__system_property_get(\"persist.sys.timezone\") failed\n");
+ return NULL;