/soc/2015/mmcc/main: ba14483f97b2: Merge with pidgin/main

Michael McConville mmcconville at mykolab.com
Wed Aug 12 16:54:38 EDT 2015


Changeset: ba14483f97b21ed9bd8ce34b5c619ceb2a0a9585
Author:	 Michael McConville <mmcconville at mykolab.com>
Date:	 2015-08-12 16:54 -0400
Branch:	 default
URL: https://hg.pidgin.im/soc/2015/mmcc/main/rev/ba14483f97b2

Description:

Merge with pidgin/main

diffstat:

 ChangeLog                                      |    2 +
 configure.ac                                   |  167 +-------
 libpurple/buddyicon.c                          |   22 +-
 libpurple/conversation.h                       |    7 +-
 libpurple/data/purple-3.pc.in                  |    2 +-
 libpurple/http.c                               |    2 +
 libpurple/plugins/ssl/ssl-gnutls.c             |    2 -
 libpurple/protocols/oscar/clientlogin.c        |    4 +-
 libpurple/protocols/yahoo/util.c               |   17 -
 libpurple/protocols/yahoo/yahoo_aliases.c      |    1 -
 libpurple/protocols/yahoo/yahoo_filexfer.c     |    2 +-
 libpurple/protocols/yahoo/yahoo_filexfer.h     |    2 -
 libpurple/protocols/yahoo/yahoo_friend.c       |   68 +--
 libpurple/protocols/yahoo/yahoo_friend.h       |    1 -
 libpurple/protocols/yahoo/ymsg.c               |  463 +++---------------------
 libpurple/protocols/yahoo/ymsg.h               |   17 -
 libpurple/protocols/zephyr/sysdep.h            |   11 -
 libpurple/server.c                             |    5 +-
 libpurple/smiley-custom.c                      |   20 +-
 libpurple/stun.c                               |   12 +-
 pidgin/gtkconv.c                               |  104 ++---
 pidgin/gtkwebview.c                            |   38 ++
 pidgin/gtkwebview.h                            |   27 +
 pidgin/plugins/notify.c                        |    2 +
 pidgin/win32/nsis/nsis_translations.desktop.in |    2 +-
 po/POTFILES.in                                 |    2 -
 26 files changed, 265 insertions(+), 737 deletions(-)

diffs (truncated from 1944 to 300 lines):

diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,8 @@ version 3.0.0 (??/??/????):
 	  plugins support.
 	* Added dependency gobject-introspection, which is now required to enable
 	  non-native plugin support.
+	* Removed flags for manually configuring GnuTLS and NSS. They are now only
+	  recognized through pkg-config. (Michael McConville)
 
 	libpurple:
 	* Specify a different set of encryption ciphers for TLS connections when
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -477,14 +477,14 @@ fi #enable_i18n
 AM_CONDITIONAL(INSTALL_I18N, test "x$enable_i18n" = "xyes")
 
 dnl #######################################################################
-dnl # Check for GLib 2.40 (required)
+dnl # Check for GLib (required)
 dnl #######################################################################
-GLIB_VERSION=2.40.0
-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= $GLIB_VERSION gobject-2.0 gthread-2.0], , [
+GLIB_MIN=["2.40.0"]
+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= $GLIB_MIN gobject-2.0 gthread-2.0], , [
 	AC_MSG_RESULT(no)
 	AC_MSG_ERROR([
 
-You must have GLib $GLIB_VERSION or newer development headers installed to build.
+You must have $GLIB_MIN or newer development headers installed to build.
 
 If you have these installed already you may need to install pkg-config so
 I can find them.
@@ -1006,12 +1006,6 @@ else
 fi
 
 dnl #######################################################################
-dnl # Check for GStreamer Interfaces
-dnl #######################################################################
-# temporary stub - this was only set with GStreamer 0.10
-enable_gstinterfaces="no"
-
-dnl #######################################################################
 dnl # Check for Farstream
 dnl #######################################################################
 AC_ARG_ENABLE(farstream,
@@ -1052,14 +1046,12 @@ dnl ####################################
 dnl # Check for Raw data streams support in Farstream 
 dnl #######################################################################
 if test "x$enable_vv" != "xno" -a "x$enable_gstvideo" != "xno"; then
-	AC_MSG_CHECKING(for raw data support in Farstream)
 	PKG_CHECK_MODULES(GSTAPP, [gstreamer-app-1.0], [
 		AC_DEFINE(USE_GSTAPP, 1, [Use GStreamer Video Overlay support])
 		AC_SUBST(GSTAPP_CFLAGS)
 		AC_SUBST(GSTAPP_LIBS)
 		AC_DEFINE(HAVE_MEDIA_APPLICATION, 1, [Define if we have support for application media type.])
-		AC_MSG_RESULT(yes)
-		], [AC_MSG_RESULT(no)])
+		] , )
 fi
 
 dnl #######################################################################
@@ -1466,7 +1458,6 @@ if test "x$GCC" = "xyes"; then
 	fi
 
 	DEBUG_CFLAGS="-Wall $DEBUG_CFLAGS"
-	dnl Questioned by some, but allows us to ask users for backtraces
 	CFLAGS="-g $CFLAGS"
 fi
 DEBUG_CPPFLAGS=`echo "$DEBUG_CFLAGS" | $sedpath 's/-Wdeclaration-after-statement//' | $sedpath 's/-Wmissing-prototypes//' | $sedpath 's/-Waggregate-return//'`
@@ -1754,13 +1745,21 @@ dnl ####################################
 dnl # Check for GPlugin 0.0.17
 dnl #######################################################################
 if test "x$enable_plugins" = "xyes" ; then
-	PKG_CHECK_MODULES(GPLUGIN, [gplugin >= 0.0.17 gmodule-2.0], , [
+	PKG_CHECK_MODULES(GPLUGIN, [gplugin >= 0.0.17 gmodule-2.0], [
+		dnl # GPLUGIN_REQ sets pkg-config requirements in the .pc file
+		if test "x$with_gtk" != "xno" ; then
+			GPLUGIN_REQ=[", gplugin, gplugin-gtk"]
+		else
+			GPLUGIN_REQ=[", gplugin"]
+		fi
+	], [
 		AC_MSG_RESULT(no)
 		AC_MSG_ERROR([
 	GPlugin 0.0.17 development headers not found, which are required if you wish to
 	enable plugins.
 	Use --disable-plugins if you want to disable plugins.
 	])])
+	AC_SUBST(GPLUGIN_REQ)
 	AC_SUBST(GPLUGIN_CFLAGS)
 	AC_SUBST(GPLUGIN_LIBS)
 else
@@ -1943,124 +1942,31 @@ AC_ARG_ENABLE(nss,
 msg_ssl="None. MSN, Yahoo!, Novell Groupwise and Google Talk will not work without GnuTLS or NSS. OpenSSL is NOT usable!"
 looked_for_gnutls="no"
 dnl #
-dnl # Check for GnuTLS if it's specified.
+dnl # Check for GnuTLS if it isn't disabled
 dnl #
 if test "x$enable_gnutls" != "xno"; then
-	enable_gnutls="no"
-	prefix=`eval echo $prefix`
 	looked_for_gnutls="yes"
 
-	AC_ARG_WITH(gnutls-includes,
-		[  --with-gnutls-includes=PREFIX   location of GnuTLS includes.],
-		[ with_gnutls_includes="$withval" ],
-		[ with_gnutls_includes="$prefix/include" ])
-
-	have_gnutls_includes="no"
-
-	if test "x$with_gnutls_includes" != "xno"; then
-		CPPFLAGS_save="$CPPFLAGS"
-
-		AC_MSG_CHECKING(for GnuTLS includes)
-		AC_MSG_RESULT("")
-
-		CPPFLAGS="$CPPFLAGS -I$with_gnutls_includes"
-		AC_CHECK_HEADERS(gnutls/gnutls.h, [ gnutls_includes="yes" ])
-		CPPFLAGS="$CPPFLAGS_save"
-
-		if test "x$gnutls_includes" != "xno" -a \
-		        "x$gnutls_includes" != "x"; then
-			have_gnutls_includes="yes"
-
-			if test "x$with_gnutls_includes" != "xNONE/include"; then
-				GNUTLS_CFLAGS="-I$with_gnutls_includes"
-			fi
-		else
-			GNUTLS_CFLAGS=""
-		fi
-	else
-		AC_MSG_CHECKING(for GnuTLS includes)
-		AC_MSG_RESULT(no)
+	if `$PKG_CONFIG --exists gnutls`; then
+		dnl # minimum required version should almost certainly be higher
+		PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.10], [
+			have_gnutls="yes"
+		], [
+			AC_MSG_RESULT(no)
+			have_gnutls="no"
+		])
 	fi
 
-	AC_ARG_WITH(gnutls-libs,
-		[AS_HELP_STRING([--with-gnutls-libs=PREFIX], [location of GnuTLS libraries.])],
-		[ with_gnutls_libs="$withval" ])
+	if test "x$have_gnutls" = "xyes"; then
 
-	if test "x$with_gnutls_libs"     != "xno" -a \
-	        "x$have_gnutls_includes" != "xno"; then
+		AC_DEFINE(HAVE_GNUTLS, 1, [Define if you have GnuTLS])
+		AC_DEFINE(HAVE_SSL, 1, [Define if you have SSL])
 
-		LIBS_save="$LIBS"
-
-		case $with_gnutls_libs in
-			""|-L*) ;;
-			*) with_gnutls_libs="-L$with_gnutls_libs" ;;
-		esac
-
-		AC_CACHE_CHECK([for GnuTLS libraries], ac_cv_gnutls_libs,
-		[
-			LIBS="$LIBS $with_gnutls_libs -lgnutls"
-			AC_LINK_IFELSE([AC_LANG_CALL([], [gnutls_init])], ac_cv_gnutls_libs="yes", ac_cv_gnutls_libs="no")
-			LIBS="$LIBS_save"
-		])
-
-		if test "x$ac_cv_gnutls_libs" != "xno"; then
-			AC_DEFINE(HAVE_GNUTLS, 1, [Define if you have GnuTLS])
-			AC_DEFINE(HAVE_SSL)
-			msg_gnutls="GnuTLS"
-			GNUTLS_LIBS="$with_gnutls_libs -lgnutls"
-
-			enable_gnutls="yes"
-		else
-			GNUTLS_CFLAGS=""
-			GNUTLS_LIBS=""
-		fi
-	else
-		AC_MSG_CHECKING(for GnuTLS libraries)
-		AC_MSG_RESULT(no)
+		msg_gnutls="GnuTLS"
 	fi
-else
-	GNUTLS_CFLAGS=""
-	GNUTLS_LIBS=""
 fi
 
-AC_SUBST(GNUTLS_CFLAGS)
-AC_SUBST(GNUTLS_LIBS)
-
-if test "x$enable_gnutls" = "xyes"; then
-	AC_MSG_CHECKING(for gnutls_priority_set_direct and gnutls_priority_set)
-	LIBS_save="$LIBS"
-	LIBS="$LIBS $GNUTLS_LIBS"
-	CPPFLAGS_save="$CPPFLAGS"
-	CPPFLAGS="$CPPFLAGS $GNUTLS_CFLAGS"
-	AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <gnutls/gnutls.h>]],
-                                        [[gnutls_session s; gnutls_priority_set_direct(s, NULL, NULL); gnutls_priority_set(s, NULL);]])],
-	               [AC_DEFINE([HAVE_GNUTLS_PRIORITY_FUNCS], 1,
-                                  [Define if your gnutls has gnutls_priority_set_direct and friends])
-	                AC_MSG_RESULT(yes)],
-	               [AC_MSG_RESULT(no)])
-	CPPFLAGS="$CPPFLAGS_save"
-        LIBS="$LIBS_save"
-fi
-
-if test "x$enable_gnutls" = "xyes"; then
-	AC_MSG_CHECKING(for GNUTLS_CERT_INSECURE_ALGORITHM)
-	LIBS_save="$LIBS"
-	LIBS="$LIBS $GNUTLS_LIBS"
-	CPPFLAGS_save="$CPPFLAGS"
-	CPPFLAGS="$CPPFLAGS $GNUTLS_CFLAGS"
-	AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <gnutls/gnutls.h>]],
-                                        [[unsigned int verify = GNUTLS_CERT_INSECURE_ALGORITHM;]])],
-	               [AC_DEFINE([HAVE_GNUTLS_CERT_INSECURE_ALGORITHM], 1,
-                                  [Define if your gnutls has the GNUTLS_CERT_INSECURE_ALGORITHM flag])
-	                AC_MSG_RESULT(yes)],
-	               [AC_MSG_RESULT(no)])
-	CPPFLAGS="$CPPFLAGS_save"
-        LIBS="$LIBS_save"
-fi
-
-
-AM_CONDITIONAL(USE_GNUTLS, test "x$enable_gnutls" = "xyes")
-
+AM_CONDITIONAL(USE_GNUTLS, test "x$have_gnutls" = "xyes")
 
 dnl #
 dnl # Check for NSS if it's specified, or if GnuTLS checks failed.
@@ -2069,7 +1975,6 @@ looked_for_nss="no"
 if test "x$enable_nss" != "xno"; then
 
 	looked_for_nss="yes"
-	enable_nss="no"
 
 	if `$PKG_CONFIG --exists mozilla-nss`; then
 		PKG_CHECK_MODULES(NSS, [mozilla-nss >= 3.16], [
@@ -2078,8 +1983,6 @@ if test "x$enable_nss" != "xno"; then
 			AC_MSG_RESULT(no)
 			have_nss="no"
 		])
-		mozilla_nspr="mozilla-nspr"
-		mozilla_nss="mozilla-nss"
 	elif `$PKG_CONFIG --exists nss`; then
 		PKG_CHECK_MODULES(NSS, [nss >= 3.16], [
 			have_nss="yes"
@@ -2087,8 +1990,6 @@ if test "x$enable_nss" != "xno"; then
 			AC_MSG_RESULT(no)
 			have_nss="no"
 		])
-		mozilla_nspr="nspr"
-		mozilla_nss="nss"
 	fi
 
 	if test "x$have_nss" = "xyes"; then
@@ -2097,16 +1998,10 @@ if test "x$enable_nss" != "xno"; then
 		AC_DEFINE(HAVE_SSL, 1, [Define if you have SSL])
 
 		msg_nss="Mozilla NSS"
-		enable_nss="yes"
-	else
-		enable_nss="no"
 	fi
-
-	AC_SUBST(NSS_CFLAGS)
-	AC_SUBST(NSS_LIBS)
 fi
 
-AM_CONDITIONAL(USE_NSS, test "x$enable_nss" = "xyes")
+AM_CONDITIONAL(USE_NSS, test "x$have_nss" = "xyes")
 
 if test "x$msg_nss" != "x" -a "x$msg_gnutls" != "x"; then
 	msg_ssl="$msg_nss and $msg_gnutls"
@@ -2116,9 +2011,9 @@ elif test "x$msg_gnutls" != "x"; then
 	msg_ssl=$msg_gnutls
 elif test "x$looked_for_gnutls" = "xyes" -a "x$looked_for_nss" = "xyes" -a "x$force_deps" = "xyes" ; then
 	AC_MSG_ERROR([
-Neither GnuTLS or NSS 3.16+ SSL development headers found.
+Neither GnuTLS nor NSS SSL development headers found.
 Use --disable-nss --disable-gnutls if you do not need SSL support.
-MSN, Yahoo!, Novell Groupwise and Google Talk will not work without GnuTLS or NSS 3.16+. OpenSSL is NOT usable!
+MSN, Yahoo!, Novell Groupwise and Google Talk will not work without GnuTLS or NSS. OpenSSL is NOT usable!
 ])
 elif test "x$looked_for_gnutls" = "xyes" -a "x$force_deps" = "xyes" ; then
 	AC_MSG_ERROR([
diff --git a/libpurple/buddyicon.c b/libpurple/buddyicon.c
--- a/libpurple/buddyicon.c
+++ b/libpurple/buddyicon.c
@@ -254,16 +254,22 @@ purple_buddy_icon_data_new(guchar *icon_
 	newimg = purple_image_new_from_data(icon_data, icon_len);
 	filename = purple_image_generate_filename(newimg);
 
-	oldimg = g_hash_table_lookup(icon_data_cache, filename);
-	if (oldimg) {
-		g_warn_if_fail(PURPLE_IS_IMAGE(oldimg));
-		g_object_unref(newimg);



More information about the Commits mailing list