--- a/configure.ac Mon Dec 14 23:29:15 2015 -0800
+++ b/configure.ac Tue Dec 15 19:37:32 2015 -0500
@@ -479,7 +479,7 @@
dnl #######################################################################
dnl # Check for GLib 2.20 (required)
dnl #######################################################################
-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.20.0 gobject-2.0 gthread-2.0], , [
+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.28.0 gobject-2.0 gthread-2.0], , [ --- a/libpurple/glibcompat.h Mon Dec 14 23:29:15 2015 -0800
+++ b/libpurple/glibcompat.h Tue Dec 15 19:37:32 2015 -0500
@@ -116,78 +116,6 @@
-#if !GLIB_CHECK_VERSION(2, 28, 0)
-static inline gint64 g_get_monotonic_time(void)
- g_get_current_time(&time_s);
- return ((gint64)time_s.tv_sec << 32) | time_s.tv_usec;
-static inline gint64 g_get_real_time(void)
- g_get_current_time(&time_s);
- return (((gint64)time_s.tv_sec) * 1000000) + time_s.tv_usec;
-static inline void g_list_free_full(GList *list, GDestroyNotify free_func)
- g_list_foreach(list, (GFunc)free_func, NULL);
-static inline void g_slist_free_full(GSList *list, GDestroyNotify free_func)
- g_slist_foreach(list, (GFunc)free_func, NULL);
-#if !GLIB_CHECK_VERSION(2, 26, 0)
-typedef struct stat GStatBuf;
-static inline void g_object_notify_by_pspec(GObject *object, GParamSpec *pspec)
- g_object_notify(object, g_param_spec_get_name(pspec));
-static inline void g_object_class_install_properties(GObjectClass *oclass,
- guint n_pspecs, GParamSpec **pspecs)
- for (i = 1; i < n_pspecs; ++i)
- g_object_class_install_property(oclass, i, pspecs[i]);
-#if !GLIB_CHECK_VERSION(2, 22, 0)
-static inline GError * g_error_new_valist(GQuark domain, gint code,
- const gchar *format, va_list args)
- str = g_strdup_vprintf(format, args);
- error = g_error_new_literal(domain, code, str);