/pidgin/main: 4432aff3b90d: Merge with release-2.x.y

Daniel Atallah <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: 4432aff3b90d3ced8c0a1fe43782fe1cf9133a29
Author:	 Daniel Atallah <[email protected]>
Date:	 2015-01-03 17:50 -0500
Branch:	 default
URL: https://hg.pidgin.im/pidgin/main/rev/4432aff3b90d

Description:

Merge with release-2.x.y

diffstat:

 COPYRIGHT                                    |    1 +
 ChangeLog                                    |   10 ++
 Makefile.mingw                               |    9 +-
 libpurple/Makefile.mingw                     |   12 +-
 libpurple/plugins/Makefile.mingw             |    4 -
 libpurple/plugins/perl/Makefile.mingw        |    2 +-
 libpurple/plugins/perl/common/Makefile.mingw |    2 +-
 libpurple/plugins/perl/common/module.h       |    1 -
 libpurple/plugins/perl/perl-common.h         |    1 -
 libpurple/protocols/irc/Makefile.mingw       |    4 +-
 libpurple/protocols/jabber/Makefile.mingw    |    4 +-
 libpurple/win32/global.mak                   |    3 +-
 pidgin/plugins/perl/common/Makefile.mingw    |    2 +-
 pidgin/win32/nsis/generate_gtk_zip.sh        |  128 ++++++++++++++++++++------
 pidgin/win32/nsis/pidgin-installer.nsi       |   39 +++----
 pidgin/win32/winpidgin.c                     |   76 ----------------
 16 files changed, 137 insertions(+), 161 deletions(-)

diffs (truncated from 582 to 300 lines):

diff --git a/COPYRIGHT b/COPYRIGHT
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -510,6 +510,7 @@ Michael Shkutkov
 Shreevatsa R
 Dylan Simon <[email protected]>
 Ettore Simone
+Renato Silva
 John Silvestri
 Mukund Sivaraman
 Craig Slusher
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -75,6 +75,16 @@ version 3.0.0 (??/??/????):
 	* The Offline Message Emulation plugin now adds a note that the message
 	  was an offline message. (Flavius Anton) (#2497)
 
+version 2.10.12 (MM/DD/YY):
+	Windows-Specific Changes:
+	* Updates to dependencies:
+		* Cyrus SASL 2.1.26
+		* libxml2 2.9.2
+		* NSS 3.17.3 and NSPR 4.10.7
+		* Perl 5.20.1
+		* SILC 1.1.12
+	* Remove support for Tcl plugins
+
 version 2.10.11 (11/23/14):
 	General:
 	* Fix handling of Self-Signed SSL/TLS Certificates when using the NSS
diff --git a/Makefile.mingw b/Makefile.mingw
--- a/Makefile.mingw
+++ b/Makefile.mingw
@@ -59,14 +59,7 @@ PIDGIN_INST_DEP_DIR="$(WIN32_DEV_TOP)/pi
 # Any *.dll or *.exe files included in win32-install-dir that we don't compile
 # should be included in this list so they don't get stripped
 EXTERNAL_DLLS = \
-	exchndl.dll \
-	libsasl.dll \
-	saslANONYMOUS.dll \
-	saslCRAMMD5.dll \
-	saslDIGESTMD5.dll \
-	saslGSSAPI.dll \
-	saslLOGIN.dll \
-	saslPLAIN.dll
+	exchndl.dll
 
 #build an expression for `find` to use to ignore the above files
 EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o -name %,$(EXTERNAL_DLLS))
diff --git a/libpurple/Makefile.mingw b/libpurple/Makefile.mingw
--- a/libpurple/Makefile.mingw
+++ b/libpurple/Makefile.mingw
@@ -10,15 +10,13 @@ include $(PIDGIN_TREE_TOP)/libpurple/win
 TARGET = libpurple
 
 ifeq ($(CYRUS_SASL), 1)
-NEEDED_DLLS = $(CYRUS_SASL_TOP)/bin/libsasl.dll
+NEEDED_DLLS = $(CYRUS_SASL_TOP)/bin/libsasl2-3.dll
 
 CYRUS_SASL_PLUGINS = \
-                        $(CYRUS_SASL_TOP)/bin/sasl2/saslANONYMOUS.dll \
-                        $(CYRUS_SASL_TOP)/bin/sasl2/saslCRAMMD5.dll \
-                        $(CYRUS_SASL_TOP)/bin/sasl2/saslDIGESTMD5.dll \
-                        $(CYRUS_SASL_TOP)/bin/sasl2/saslGSSAPI.dll \
-                        $(CYRUS_SASL_TOP)/bin/sasl2/saslLOGIN.dll \
-                        $(CYRUS_SASL_TOP)/bin/sasl2/saslPLAIN.dll
+                        $(CYRUS_SASL_TOP)/lib/sasl2/libanonymous-3.dll \
+                        $(CYRUS_SASL_TOP)/lib/sasl2/libcrammd5-3.dll \
+                        $(CYRUS_SASL_TOP)/lib/sasl2/libdigestmd5-3.dll \
+                        $(CYRUS_SASL_TOP)/lib/sasl2/libplain-3.dll
 
 endif
 
diff --git a/libpurple/plugins/Makefile.mingw b/libpurple/plugins/Makefile.mingw
--- a/libpurple/plugins/Makefile.mingw
+++ b/libpurple/plugins/Makefile.mingw
@@ -8,7 +8,6 @@ PIDGIN_TREE_TOP := ../..
 include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
 
 PERL_PLUGIN := ./perl
-TCL_PLUGIN := ./tcl
 SSL_PLUGIN := ./ssl
 KEYRING_PLUGIN := ./keyrings
 
@@ -47,13 +46,11 @@ LIBS =	\
 
 all: $(PURPLE_DLL).a plugins
 	$(MAKE_at) $(MAKE) -C $(PERL_PLUGIN) -f $(MINGW_MAKEFILE)
-	$(MAKE_at) $(MAKE) -C $(TCL_PLUGIN) -f $(MINGW_MAKEFILE)
 	$(MAKE_at) $(MAKE) -C $(SSL_PLUGIN) -f $(MINGW_MAKEFILE)
 	$(MAKE_at) $(MAKE) -C $(KEYRING_PLUGIN) -f $(MINGW_MAKEFILE)
 
 install: all $(PURPLE_INSTALL_PLUGINS_DIR)
 	$(MAKE_at) $(MAKE) -C $(PERL_PLUGIN) -f $(MINGW_MAKEFILE) install
-	$(MAKE_at) $(MAKE) -C $(TCL_PLUGIN) -f $(MINGW_MAKEFILE) install
 	$(MAKE_at) $(MAKE) -C $(SSL_PLUGIN) -f $(MINGW_MAKEFILE) install
 	$(MAKE_at) $(MAKE) -C $(KEYRING_PLUGIN) -f $(MINGW_MAKEFILE) install
 	cp *.dll $(PURPLE_INSTALL_PLUGINS_DIR)
@@ -78,7 +75,6 @@ plugins: \
 clean:
 	rm -f *.o *.dll
 	$(MAKE_at) $(MAKE) -C $(PERL_PLUGIN) -f $(MINGW_MAKEFILE) clean
-	$(MAKE_at) $(MAKE) -C $(TCL_PLUGIN) -f $(MINGW_MAKEFILE) clean
 	$(MAKE_at) $(MAKE) -C $(SSL_PLUGIN) -f $(MINGW_MAKEFILE) clean
 	$(MAKE_at) $(MAKE) -C $(KEYRING_PLUGIN) -f $(MINGW_MAKEFILE) clean
 
diff --git a/libpurple/plugins/perl/Makefile.mingw b/libpurple/plugins/perl/Makefile.mingw
--- a/libpurple/plugins/perl/Makefile.mingw
+++ b/libpurple/plugins/perl/Makefile.mingw
@@ -52,7 +52,7 @@ LIBS =	\
 			-lws2_32 \
 			-lintl \
 			-lpurple \
-			-lperl510
+			-lperl520
 
 include $(PIDGIN_COMMON_RULES)
 
diff --git a/libpurple/plugins/perl/common/Makefile.mingw b/libpurple/plugins/perl/common/Makefile.mingw
--- a/libpurple/plugins/perl/common/Makefile.mingw
+++ b/libpurple/plugins/perl/common/Makefile.mingw
@@ -83,7 +83,7 @@ OBJECTS = $(C_FILES:%.c=%.o)
 ##
 ## LIBRARIES
 ##
-LIBS =			-lperl510 \
+LIBS =			-lperl520 \
 			-lperl \
 			-lpurple \
 			-lglib-2.0 \
diff --git a/libpurple/plugins/perl/common/module.h b/libpurple/plugins/perl/common/module.h
--- a/libpurple/plugins/perl/common/module.h
+++ b/libpurple/plugins/perl/common/module.h
@@ -11,7 +11,6 @@ typedef struct group *Purple__Group;
 #include <glib.h>
 #ifdef _WIN32
 #undef pipe
-#undef STRINGIFY
 #endif
 
 #define SILENT_NO_TAINT_SUPPORT 0
diff --git a/libpurple/plugins/perl/perl-common.h b/libpurple/plugins/perl/perl-common.h
--- a/libpurple/plugins/perl/perl-common.h
+++ b/libpurple/plugins/perl/perl-common.h
@@ -3,7 +3,6 @@
 
 #include <glib.h>
 #ifdef _WIN32
-#undef STRINGIFY
 #undef pipe
 #endif
 
diff --git a/libpurple/protocols/irc/Makefile.mingw b/libpurple/protocols/irc/Makefile.mingw
--- a/libpurple/protocols/irc/Makefile.mingw
+++ b/libpurple/protocols/irc/Makefile.mingw
@@ -58,8 +58,8 @@ LIBS =	\
 
 ifeq ($(CYRUS_SASL), 1)
 INCLUDE_PATHS += -I$(CYRUS_SASL_TOP)/include
-LIB_PATHS += -L$(CYRUS_SASL_TOP)/bin
-LIBS += -llibsasl
+LIB_PATHS += -L$(CYRUS_SASL_TOP)/lib
+LIBS += -llibsasl2
 endif
 
 include $(PIDGIN_COMMON_RULES)
diff --git a/libpurple/protocols/jabber/Makefile.mingw b/libpurple/protocols/jabber/Makefile.mingw
--- a/libpurple/protocols/jabber/Makefile.mingw
+++ b/libpurple/protocols/jabber/Makefile.mingw
@@ -125,8 +125,8 @@ LIBS = \
 
 ifeq ($(CYRUS_SASL), 1)
 INCLUDE_PATHS += -I$(CYRUS_SASL_TOP)/include
-LIB_PATHS += -L$(CYRUS_SASL_TOP)/bin
-LIBS += -llibsasl
+LIB_PATHS += -L$(CYRUS_SASL_TOP)/lib
+LIBS += -llibsasl2
 endif
 
 include $(PIDGIN_COMMON_RULES)
diff --git a/libpurple/win32/global.mak b/libpurple/win32/global.mak
--- a/libpurple/win32/global.mak
+++ b/libpurple/win32/global.mak
@@ -24,10 +24,9 @@ GTK_BIN ?= $(GTK_TOP)/bin
 JSON_GLIB_TOP ?= $(WIN32_DEV_TOP)/json-glib-0.14
 LIBXML2_TOP ?= $(WIN32_DEV_TOP)/libxml2-2.9
 MEANWHILE_TOP ?= $(WIN32_DEV_TOP)/meanwhile-1.0
-NSS_TOP ?= $(WIN32_DEV_TOP)/nss-3.17.1-nspr-4.10.7
+NSS_TOP ?= $(WIN32_DEV_TOP)/nss-3.17.3-nspr-4.10.7
 PERL_LIB_TOP ?= $(WIN32_DEV_TOP)/perl-5.10
 SILC_TOOLKIT ?= $(WIN32_DEV_TOP)/silc-toolkit-1.1
-TCL_LIB_TOP ?= $(WIN32_DEV_TOP)/tcl-8.5
 GSTREAMER_TOP ?= $(WIN32_DEV_TOP)/gstreamer-0.10
 GCC_SSP_TOP ?= $(shell dirname $(shell which $(CC)))
 CYRUS_SASL_TOP ?= $(WIN32_DEV_TOP)/cyrus-sasl-2.1
diff --git a/pidgin/plugins/perl/common/Makefile.mingw b/pidgin/plugins/perl/common/Makefile.mingw
--- a/pidgin/plugins/perl/common/Makefile.mingw
+++ b/pidgin/plugins/perl/common/Makefile.mingw
@@ -78,7 +78,7 @@ OBJECTS = $(C_FILES:%.c=%.o)
 ##
 ## LIBRARIES
 ##
-LIBS =			-lperl510 \
+LIBS =			-lperl520 \
 			-lperl \
 			-lpurple \
 			-lpidgin \
diff --git a/pidgin/win32/nsis/generate_gtk_zip.sh b/pidgin/win32/nsis/generate_gtk_zip.sh
--- a/pidgin/win32/nsis/generate_gtk_zip.sh
+++ b/pidgin/win32/nsis/generate_gtk_zip.sh
@@ -20,6 +20,7 @@ STAGE_DIR=`readlink -f $PIDGIN_BASE/pidg
 CERT_PATH=`readlink -f $PIDGIN_BASE/pidgin/win32/nsis`/cacert.pem
 #Subdirectory of $STAGE_DIR
 INSTALL_DIR=Gtk
+SRC_INSTALL_DIR=src_install
 CONTENTS_FILE=$INSTALL_DIR/CONTENTS
 PIDGIN_VERSION=$( < $PIDGIN_BASE/VERSION )
 
@@ -27,6 +28,7 @@ PIDGIN_VERSION=$( < $PIDGIN_BASE/VERSION
 BUNDLE_VERSION=2.24.18.0
 BUNDLE_SHA1SUM="5957b0bf3f5e520863cf8ba64db7592383e9dd42"
 ZIP_FILE="$PIDGIN_BASE/pidgin/win32/nsis/gtk-runtime-$BUNDLE_VERSION.zip"
+SRC_ZIP_FILE="$PIDGIN_BASE/pidgin/win32/nsis/gtk-runtime-$BUNDLE_VERSION-src.zip"
 #BUNDLE_URL="https://pidgin.im/win32/download_redir.php?version=$PIDGIN_VERSION&gtk_version=$BUNDLE_VERSION&dl_pkg=gtk"
 BUNDLE_URL="https://pidgin.im/~twasilczyk/win32/gtk-runtime-$BUNDLE_VERSION.zip"
 
@@ -92,6 +94,8 @@ fi
 DOWNLOAD_HOST="https://pidgin.im/~twasilczyk/win32/runtime-deps/"
 
 ALL=""
+#Format for packages is "binary_url name version binary_validation src_url src_validation"
+#TODO: Fix packages SRC handling
 
 ARC_ATK="${DOWNLOAD_HOST}mingw32-atk-2.8.0-1.5.noarch.rpm ATK 2.8.0-1.5 sha1sum:0c682eadc299963aaa5d7998d655e46ead7d7515"
 ALL+="ARC_ATK "
@@ -280,11 +284,15 @@ ARC_ZLIB="${DOWNLOAD_HOST}mingw32-zlib-1
 ALL+="ARC_ZLIB "
 
 mkdir -p $STAGE_DIR
+mkdir -p $STAGE_DIR/src
 cd $STAGE_DIR
 
 rm -rf $INSTALL_DIR
 mkdir $INSTALL_DIR
 
+rm -rf $SRC_INSTALL_DIR
+mkdir $SRC_INSTALL_DIR
+
 #new CONTENTS file
 echo Bundle Version $BUNDLE_VERSION > $CONTENTS_FILE
 
@@ -334,27 +342,16 @@ function rpm_install {
 	fi
 }
 
-function download_and_extract {
-	URL=${1%%\ *}
-	VALIDATION=${1##*\ }
-	NAME=${1%\ *}
-	NAME=${NAME#*\ }
-	FILE=$(basename $URL)
-	MINGW_DIR="usr/i686-w64-mingw32/sys-root/mingw"
-	MINGW_DIR_TOP="usr"
-	if [ ! -e $FILE ]; then
-		echo "Downloading $NAME"
-		download "$URL" "$FILE" || exit 1
-	else
-		echo "Extracting $NAME"
-	fi
+function validate_file {
+	VALIDATION=$1
+	FILE=$2
 	VALIDATION_TYPE=${VALIDATION%%:*}
 	VALIDATION_VALUE=${VALIDATION##*:}
-	if [ $VALIDATION_TYPE == 'sha1sum' ]; then
-		CHECK_SHA1SUM=`sha1sum $FILE`
-		CHECK_SHA1SUM=${CHECK_SHA1SUM%%\ *}
-		if [ "$CHECK_SHA1SUM" != "$VALIDATION_VALUE" ]; then
-			echo "sha1sum ($CHECK_SHA1SUM) for $FILE doesn't match expected value of $VALIDATION_VALUE"
+	if [ $VALIDATION_TYPE == 'sha1sum' -o $VALIDATION_TYPE == 'sha256sum' ]; then
+		CHECK_SUM=`$VALIDATION_TYPE "$FILE"`
+		CHECK_SUM=${CHECK_SUM%%\ *}
+		if [ "$CHECK_SUM" != "$VALIDATION_VALUE" ]; then
+			echo "$VALIDATION_TYPE ($CHECK_SUM) for $FILE doesn't match expected value of $VALIDATION_VALUE"
 			exit 1
 		fi
 	elif [ $VALIDATION_TYPE == 'gpg' ]; then
@@ -364,36 +361,99 @@ function download_and_extract {
 		fi
 		#Use our own keyring to avoid adding stuff to the main keyring
 		#This doesn't use $GPG_SIGN because we don't this validation to be bypassed when people are skipping signing output
-		GPG_BASE="gpg -q --keyring $STAGE_DIR/$VALIDATION_VALUE-keyring.gpg" 
-		if [[ ! -e $STAGE_DIR/$VALIDATION_VALUE-keyring.gpg \
+		GPG_BASE="gpg -q --keyring $STAGE_DIR/$VALIDATION_VALUE-keyring.gpg"
+		if [[ ! -e "$STAGE_DIR/$VALIDATION_VALUE-keyring.gpg" \
 				|| `$GPG_BASE --list-keys "$VALIDATION_VALUE" > /dev/null && echo -n "0"` -ne 0 ]]; then
-			touch $STAGE_DIR/$VALIDATION_VALUE-keyring.gpg
-		       	$GPG_BASE --no-default-keyring --keyserver pgp.mit.edu --recv-key "$VALIDATION_VALUE" || exit 1
+			touch "$STAGE_DIR/$VALIDATION_VALUE-keyring.gpg"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.