# HG changeset patch # User Marcus Lundblad # Date 1267654115 0 # Node ID f33da955a815b42f58dd9bf446fc89185ca8a75f # Parent 6bcf405d5c63229fd36461e9f1c63cf4483b6612# Parent e3864e37e94e296ae37067119095f678f55e094f merge of '35c36f4798530acf3c07ab0acf0c5e7af98c0f48' and 'c94e3f15ffb8d4f569d41661e7a89c1c441947ce' diff -r 6bcf405d5c63 -r f33da955a815 .mtn-ignore --- a/.mtn-ignore Wed Mar 03 22:08:27 2010 +0000 +++ b/.mtn-ignore Wed Mar 03 22:08:35 2010 +0000 @@ -38,7 +38,10 @@ pidgin.spec$ pidgin-.*.tar.gz pidgin-.*.tar.bz2 +pidgin-*.*.*-dbgsym$ +pidgin-*.*.*-dbgsym.zip$ pidgin-*.*.*-win32bin$ +pidgin-*.*.*-win32-bin.zip$ pidgin/pidgin$ pidgin/pixmaps/emotes/default/24/theme pidgin/pixmaps/emotes/none/theme @@ -48,6 +51,9 @@ pidgin/plugins/perl/common/Makefile.old pidgin/win32/pidgin_dll_rc.rc$ pidgin/win32/pidgin_exe_rc.rc$ +pidgin/win32/nsis/gtk-runtime-*.*.*.*.zip +pidgin/win32/nsis/gtk_runtime_stage$ +pidgin/win32/nsis/pidgin-translations.nsh$ install-sh libpurple/dbus-bindings.c libpurple/dbus-signals.c diff -r 6bcf405d5c63 -r f33da955a815 ChangeLog.win32 --- a/ChangeLog.win32 Wed Mar 03 22:08:27 2010 +0000 +++ b/ChangeLog.win32 Wed Mar 03 22:08:35 2010 +0000 @@ -4,6 +4,7 @@ * Win9x no longer supported. * Crash Report files (pidgin.RPT) are now generated in the ~/.purple directory instead of the installation directory. + * NSS SSL Library upgraded to 3.12.5 (thanks to Berke Viktor) version 2.6.6 (02/18/2010): * Installer translations for: Norwegian nynorsk diff -r 6bcf405d5c63 -r f33da955a815 Makefile.mingw --- a/Makefile.mingw Wed Mar 03 22:08:27 2010 +0000 +++ b/Makefile.mingw Wed Mar 03 22:08:35 2010 +0000 @@ -31,10 +31,7 @@ exit; \ }' VERSION) -GTK_INSTALL_VERSION = $(shell \ - source ../gtk_installer/version.sh; \ - echo $$gtk_version \ -) +GTK_INSTALL_VERSION = 2.14.7.0 STRIPPED_RELEASE_DIR = $(PIDGIN_TREE_TOP)/pidgin-$(PIDGIN_VERSION)-win32bin DEBUG_SYMBOLS_DIR = $(PIDGIN_TREE_TOP)/pidgin-$(PIDGIN_VERSION)-dbgsym @@ -50,13 +47,14 @@ krb5_32.dll \ libgtkspell.dll \ libmeanwhile-1.dll \ + libnspr4.dll \ + libplc4.dll \ + libplds4.dll \ libsasl.dll \ libxml2.dll \ - nspr4.dll \ nss3.dll \ nssckbi.dll \ - plc4.dll \ - plds4.dll \ + nssutil3.dll \ saslANONYMOUS.dll \ saslCRAMMD5.dll \ saslDIGESTMD5.dll \ @@ -67,12 +65,13 @@ libsilcclient-1-1-2.dll \ smime3.dll \ softokn3.dll \ + sqlite3.dll \ ssl3.dll #build an expression for `find` to use to ignore the above files EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o -name %,$(EXTERNAL_DLLS)) -.PHONY: all docs install installer installer_offline installer_zip debug_symbols_zip installers clean uninstall create_release_install_dir generate_translations_installer_include $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT) +.PHONY: all docs install installer installer_offline installer_zip debug_symbols_zip installers clean uninstall create_release_install_dir generate_installer_includes $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT) all: $(PIDGIN_CONFIG_H) $(PIDGIN_REVISION_H) $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) @@ -90,7 +89,10 @@ $(MAKE) -C share/ca-certs -f $(MINGW_MAKEFILE) install $(MAKE) -C share/sounds -f $(MINGW_MAKEFILE) install -generate_translations_installer_include: create_release_install_dir +pidgin/win32/nsis/gtk-runtime-$(GTK_BUNDLE_VERSION).zip: + pidgin/win32/nsis/generate_gtk_zip.sh `pwd` + +generate_installer_includes: create_release_install_dir pidgin/win32/nsis/gtk-runtime-$(GTK_BUNDLE_VERSION).zip rm -f pidgin/win32/nsis/pidgin-translations.nsh find $(STRIPPED_RELEASE_DIR)/locale -maxdepth 1 -mindepth 1 \ -exec basename {} ';' \ @@ -104,11 +106,11 @@ -not \( -false $(EXTERNAL_DLLS_FIND_EXP) \) \ -exec $(STRIP) --strip-unneeded {} ';' -installer: create_release_install_dir generate_translations_installer_include +installer: create_release_install_dir generate_installer_includes $(MAKENSIS) $(MAKENSISOPT)V3 $(MAKENSISOPT)DPIDGIN_VERSION="$(PIDGIN_VERSION)" $(MAKENSISOPT)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" $(MAKENSISOPT)DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" $(MAKENSISOPT)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION).exe ./ -installer_offline: create_release_install_dir generate_translations_installer_include debug_symbols_zip +installer_offline: create_release_install_dir generate_installer_includes debug_symbols_zip $(MAKENSIS) $(MAKENSISOPT)V3 $(MAKENSISOPT)DPIDGIN_VERSION="$(PIDGIN_VERSION)" $(MAKENSISOPT)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" $(MAKENSISOPT)DOFFLINE_INSTALLER $(MAKENSISOPT)DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR)" $(MAKENSISOPT)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi mv pidgin/win32/nsis/pidgin-$(PIDGIN_VERSION)-offline.exe ./ diff -r 6bcf405d5c63 -r f33da955a815 libpurple/log.c --- a/libpurple/log.c Wed Mar 03 22:08:27 2010 +0000 +++ b/libpurple/log.c Wed Mar 03 22:08:35 2010 +0000 @@ -36,8 +36,6 @@ #include "imgstore.h" #include "time.h" -#include - static GSList *loggers = NULL; static PurpleLogLogger *html_logger; diff -r 6bcf405d5c63 -r f33da955a815 libpurple/plugins/perl/common/module.h --- a/libpurple/plugins/perl/common/module.h Wed Mar 03 22:08:27 2010 +0000 +++ b/libpurple/plugins/perl/common/module.h Wed Mar 03 22:08:35 2010 +0000 @@ -9,6 +9,7 @@ #include #ifdef _WIN32 #undef pipe +#undef STRINGIFY #endif #include #include diff -r 6bcf405d5c63 -r f33da955a815 libpurple/plugins/perl/perl-common.h --- a/libpurple/plugins/perl/perl-common.h Wed Mar 03 22:08:27 2010 +0000 +++ b/libpurple/plugins/perl/perl-common.h Wed Mar 03 22:08:35 2010 +0000 @@ -3,6 +3,7 @@ #include #ifdef _WIN32 +#undef STRINGIFY #undef pipe #endif #include diff -r 6bcf405d5c63 -r f33da955a815 libpurple/plugins/ssl/Makefile.mingw --- a/libpurple/plugins/ssl/Makefile.mingw Wed Mar 03 22:08:27 2010 +0000 +++ b/libpurple/plugins/ssl/Makefile.mingw Wed Mar 03 22:08:35 2010 +0000 @@ -15,14 +15,16 @@ NEEDED_DLLS = \ $(NSS_TOP)/lib/freebl3.dll \ + $(NSS_TOP)/lib/libnspr4.dll \ + $(NSS_TOP)/lib/libplc4.dll \ + $(NSS_TOP)/lib/libplds4.dll \ $(NSS_TOP)/lib/nss3.dll \ $(NSS_TOP)/lib/nssckbi.dll \ - $(NSS_TOP)/lib/softokn3.dll \ + $(NSS_TOP)/lib/nssutil3.dll \ $(NSS_TOP)/lib/smime3.dll \ - $(NSS_TOP)/lib/ssl3.dll \ - $(NSPR_TOP)/lib/nspr4.dll \ - $(NSPR_TOP)/lib/plc4.dll \ - $(NSPR_TOP)/lib/plds4.dll + $(NSS_TOP)/lib/softokn3.dll \ + $(NSS_TOP)/lib/sqlite3.dll \ + $(NSS_TOP)/lib/ssl3.dll ## ## INCLUDE PATHS @@ -34,13 +36,11 @@ -I$(PURPLE_TOP) \ -I$(PURPLE_TOP)/win32 \ -I$(PIDGIN_TREE_TOP) \ - -I$(NSS_TOP)/include \ - -I$(NSPR_TOP)/include + -I$(NSS_TOP)/include LIB_PATHS += -L$(GTK_TOP)/lib \ -L$(PURPLE_TOP) \ - -L$(NSS_TOP)/lib \ - -L$(NSPR_TOP)/lib + -L$(NSS_TOP)/lib ## ## SOURCES, OBJECTS diff -r 6bcf405d5c63 -r f33da955a815 libpurple/protocols/bonjour/mdns_win32.c --- a/libpurple/protocols/bonjour/mdns_win32.c Wed Mar 03 22:08:27 2010 +0000 +++ b/libpurple/protocols/bonjour/mdns_win32.c Wed Mar 03 22:08:35 2010 +0000 @@ -251,7 +251,7 @@ static void DNSSD_API _mdns_service_resolve_callback(DNSServiceRef sdRef, DNSServiceFlags flags, uint32_t interfaceIndex, DNSServiceErrorType errorCode, - const char *fullname, const char *hosttarget, uint16_t port, uint16_t txtLen, const char *txtRecord, void *context) + const char *fullname, const char *hosttarget, uint16_t port, uint16_t txtLen, const unsigned char *txtRecord, void *context) { ResolveCallbackArgs *args = (ResolveCallbackArgs*) context; Win32BuddyImplData *idata = args->bb->mdns_impl_data; diff -r 6bcf405d5c63 -r f33da955a815 libpurple/protocols/mxit/mxit.h --- a/libpurple/protocols/mxit/mxit.h Wed Mar 03 22:08:27 2010 +0000 +++ b/libpurple/protocols/mxit/mxit.h Wed Mar 03 22:08:35 2010 +0000 @@ -37,7 +37,9 @@ #endif #elif defined( _WIN32 ) /* windows architecture */ +#ifndef HOST_NAME_MAX #define HOST_NAME_MAX 512 +#endif #include "libc_interface.h" #elif defined( __linux__ ) /* linux architecture */ diff -r 6bcf405d5c63 -r f33da955a815 libpurple/protocols/null/nullprpl.c --- a/libpurple/protocols/null/nullprpl.c Wed Mar 03 22:08:27 2010 +0000 +++ b/libpurple/protocols/null/nullprpl.c Wed Mar 03 22:08:35 2010 +0000 @@ -1117,9 +1117,10 @@ NULL, /* send_attention */ NULL, /* get_attention_types */ sizeof(PurplePluginProtocolInfo), /* struct_size */ - NULL, - NULL, /* initiate_media */ - NULL /* can_do_media */ + NULL, /* get_account_text_table */ + NULL, /* initiate_media */ + NULL, /* get_media_caps */ + NULL /* get_moods */ }; static void nullprpl_init(PurplePlugin *plugin) diff -r 6bcf405d5c63 -r f33da955a815 libpurple/win32/global.mak --- a/libpurple/win32/global.mak Wed Mar 03 22:08:27 2010 +0000 +++ b/libpurple/win32/global.mak Wed Mar 03 22:08:35 2010 +0000 @@ -17,8 +17,7 @@ BONJOUR_TOP ?= $(WIN32_DEV_TOP)/Bonjour_SDK LIBXML2_TOP ?= $(WIN32_DEV_TOP)/libxml2-2.7.4 MEANWHILE_TOP ?= $(WIN32_DEV_TOP)/meanwhile-1.0.2_daa2 -NSPR_TOP ?= $(WIN32_DEV_TOP)/nspr-4.6.4 -NSS_TOP ?= $(WIN32_DEV_TOP)/nss-3.11.4 +NSS_TOP ?= $(WIN32_DEV_TOP)/nss-3.12.5-nspr-4.8.2 PERL_LIB_TOP ?= $(WIN32_DEV_TOP)/perl-5.10.0 SILC_TOOLKIT ?= $(WIN32_DEV_TOP)/silc-toolkit-1.1.8 TCL_LIB_TOP ?= $(WIN32_DEV_TOP)/tcl-8.4.5 @@ -103,7 +102,7 @@ ifeq "$(origin CC)" "default" CC := gcc.exe endif -GMSGFMT ?= $(GTK_BIN)/msgfmt +GMSGFMT ?= $(WIN32_DEV_TOP)/gettext-0.17/bin/msgfmt MAKENSIS ?= makensis.exe MAKENSISOPT ?= / PERL ?= /cygdrive/c/perl/bin/perl diff -r 6bcf405d5c63 -r f33da955a815 libpurple/win32/libc_interface.c --- a/libpurple/win32/libc_interface.c Wed Mar 03 22:08:27 2010 +0000 +++ b/libpurple/win32/libc_interface.c Wed Mar 03 22:08:35 2010 +0000 @@ -62,7 +62,7 @@ /* helpers */ static int wpurple_is_socket( int fd ) { int optval; - unsigned int optlen = sizeof(int); + int optlen = sizeof(int); if( (getsockopt(fd, SOL_SOCKET, SO_TYPE, (void*)&optval, &optlen)) == SOCKET_ERROR ) { int error = WSAGetLastError(); @@ -973,7 +973,7 @@ memset(zonename, 0, sizeof(zonename)); namesize = sizeof(zonename); - if ((r = RegQueryValueEx(key, "Std", NULL, NULL, zonename, &namesize)) != ERROR_SUCCESS) + if ((r = RegQueryValueEx(key, "Std", NULL, NULL, (LPBYTE)zonename, &namesize)) != ERROR_SUCCESS) { purple_debug_warning("wpurple", "could not query value for 'std' to identify Windows timezone: %i\n", (int) r); RegCloseKey(key); @@ -988,7 +988,7 @@ } memset(zonename, 0, sizeof(zonename)); namesize = sizeof(zonename); - if ((r = RegQueryValueEx(key, "Dlt", NULL, NULL, zonename, &namesize)) != ERROR_SUCCESS) + if ((r = RegQueryValueEx(key, "Dlt", NULL, NULL, (LPBYTE)zonename, &namesize)) != ERROR_SUCCESS) { purple_debug_warning("wpurple", "could not query value for 'dlt' to identify Windows timezone: %i\n", (int) r); RegCloseKey(key); diff -r 6bcf405d5c63 -r f33da955a815 libpurple/win32/win32dep.c --- a/libpurple/win32/win32dep.c Wed Mar 03 22:08:27 2010 +0000 +++ b/libpurple/win32/win32dep.c Wed Mar 03 22:08:35 2010 +0000 @@ -22,7 +22,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA * */ -#define _WIN32_IE 0x500 +#define _WIN32_IE 0x501 #include "internal.h" #include diff -r 6bcf405d5c63 -r f33da955a815 pidgin/Makefile.am --- a/pidgin/Makefile.am Wed Mar 03 22:08:27 2010 +0000 +++ b/pidgin/Makefile.am Wed Mar 03 22:08:35 2010 +0000 @@ -21,6 +21,7 @@ win32/winpidgin.c \ win32/wspell.c \ win32/wspell.h \ + win32/nsis/generate_gtk_zip.sh \ win32/nsis/pixmaps/pidgin-header.bmp \ win32/nsis/pixmaps/pidgin-intro.bmp \ win32/nsis/pixmaps/pidgin-install.ico \ diff -r 6bcf405d5c63 -r f33da955a815 pidgin/win32/nsis/generate_gtk_zip.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/win32/nsis/generate_gtk_zip.sh Wed Mar 03 22:08:35 2010 +0000 @@ -0,0 +1,83 @@ +#!/bin/bash +# Script to generate zip file for GTK+ runtime to be included in Pidgin installer + +PIDGIN_BASE=$1 + +if [ ! -e $PIDGIN_BASE/ChangeLog.win32 ]; then + echo `basename $0` must must have the pidgin base dir specified as a parameter. + exit 1 +fi + +STAGE_DIR=$PIDGIN_BASE/pidgin/win32/nsis/gtk_runtime_stage +#Subdirectory of $STAGE_DIR +INSTALL_DIR=Gtk +CONTENTS_FILE=$INSTALL_DIR/CONTENTS + +#This needs to be changed every time there is any sort of change. +BUNDLE_VERSION=2.14.7.0 + +ATK="http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip ATK 1.24.0-1" +CAIRO="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.10-1_win32.zip Cairo 1.8.10-1" +EXPAT="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip Expat 2.0.1-1" +FONTCONFIG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/fontconfig_2.8.0-2_win32.zip Fontconfig 2.8.0-2" +FREETYPE="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype_2.3.11-2_win32.zip Freetype 2.3.11-2" +GETTEXT="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17-1.zip Gettext 0.17-1" +GLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.20/glib_2.20.5-1_win32.zip Glib 2.20.5-1" +GTK="http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip GTK+ 2.14.7-1" +LIBJPEG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/jpeg_7-1_win32.zip libjpeg 7-1" +#Used by GTK+ +LIBPNG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.39-1_win32.zip libpng 1.2.39-1" +#Used by Cairo +LIBPNG2="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.4.0-1_win32.zip libpng 1.4.0-1" +LIBTIFF="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libtiff_3.9.1-1_win32.zip libtiff 3.9.1-1" +#PANGO="http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip Pango 1.22.4-1" +PANGO="http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.26/pango_1.26.2-1_win32.zip Pango 1.26.2-1" +ZLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib 1.2.3" + +ALL="ATK CAIRO EXPAT FONTCONFIG FREETYPE GETTEXT GLIB GTK LIBJPEG LIBPNG LIBPNG2 LIBTIFF PANGO ZLIB" + +if [ ! -e $STAGE_DIR ]; then + mkdir $STAGE_DIR +fi +cd $STAGE_DIR + +rm -rf $INSTALL_DIR +mkdir $INSTALL_DIR + +#new CONTENTS file +echo Bundle Version $BUNDLE_VERSION > $CONTENTS_FILE + +function download_and_extract { + URL=${1%%\ *} + NAME=${1#*\ } + FILE=`basename $URL` + if [ ! -e $FILE ]; then + echo Downloading $NAME + wget $URL + fi + unzip -q $FILE -d $INSTALL_DIR + echo "$NAME" >> $CONTENTS_FILE +} + +for VAL in $ALL +do + VAR=${!VAL} + download_and_extract "$VAR" +done + +#Default GTK+ Theme to MS-Windows +echo gtk-theme-name = \"MS-Windows\" > $INSTALL_DIR/etc/gtk-2.0/gtkrc + +#Blow away translations that we don't have in Pidgin +for LOCALE_DIR in $INSTALL_DIR/share/locale/* +do + LOCALE=`basename $LOCALE_DIR` + if [ ! -e $PIDGIN_BASE/po/$LOCALE.po ]; then + echo Remove $LOCALE translation as it is missing from Pidgin + rm -r $LOCALE_DIR + fi +done + +#Generate zip file to be included in installer +zip -9 -r ../gtk-runtime-$BUNDLE_VERSION.zip Gtk + diff -r 6bcf405d5c63 -r f33da955a815 pidgin/win32/nsis/pidgin-installer.nsi --- a/pidgin/win32/nsis/pidgin-installer.nsi Wed Mar 03 22:08:27 2010 +0000 +++ b/pidgin/win32/nsis/pidgin-installer.nsi Wed Mar 03 22:08:35 2010 +0000 @@ -28,6 +28,7 @@ ShowInstDetails show ShowUninstDetails show SetDateSave on +RequestExecutionLevel highest ; $name and $INSTDIR are set in .onInit function.. @@ -340,7 +341,7 @@ !ifdef OFFLINE_INSTALLER SetOutPath $PLUGINSDIR - File /oname=gtk.zip "..\..\..\..\gtk_installer\gtk-runtime-${GTK_INSTALL_VERSION}.zip" + File /oname=gtk.zip ".\gtk-runtime-${GTK_INSTALL_VERSION}.zip" !else @@ -356,6 +357,9 @@ !endif + ;Delete the old Gtk directory + RMDir /r "$INSTDIR\Gtk" + SetOutPath "$INSTDIR" nsisunz::UnzipToLog $R1 "$INSTDIR" Pop $R0 @@ -773,23 +777,25 @@ Delete "$INSTDIR\idletrack.dll" Delete "$INSTDIR\libgtkspell.dll" Delete "$INSTDIR\libjabber.dll" + Delete "$INSTDIR\libnspr4.dll" Delete "$INSTDIR\libmeanwhile-1.dll" Delete "$INSTDIR\liboscar.dll" + Delete "$INSTDIR\libplc4.dll" + Delete "$INSTDIR\libplds4.dll" Delete "$INSTDIR\libpurple.dll" Delete "$INSTDIR\libsasl.dll" Delete "$INSTDIR\libsilc-1-1-2.dll" Delete "$INSTDIR\libsilcclient-1-1-2.dll" Delete "$INSTDIR\libxml2-2.dll" Delete "$INSTDIR\libymsg.dll" - Delete "$INSTDIR\nspr4.dll" Delete "$INSTDIR\nss3.dll" + Delete "$INSTDIR\nssutil3.dll" Delete "$INSTDIR\nssckbi.dll" Delete "$INSTDIR\pidgin.dll" Delete "$INSTDIR\pidgin.exe" - Delete "$INSTDIR\plc4.dll" - Delete "$INSTDIR\plds4.dll" Delete "$INSTDIR\smime3.dll" Delete "$INSTDIR\softokn3.dll" + Delete "$INSTDIR\sqlite3.dll" Delete "$INSTDIR\ssl3.dll" Delete "$INSTDIR\${PIDGIN_UNINST_EXE}" Delete "$INSTDIR\exchndl.dll"