Thu, 04 Apr 2013 01:21:30 +0200
Fix 3.0.0 compilation for win32, switch gtk (and others) runtimes from gnome.org to opensuse build service
--- a/Makefile.mingw Wed Apr 03 23:15:20 2013 +0200 +++ b/Makefile.mingw Thu Apr 04 01:21:30 2013 +0200 @@ -31,7 +31,7 @@ exit; \ }' VERSION) -GTK_INSTALL_VERSION = 2.16.6.1 +GTK_INSTALL_VERSION = 2.24.14.0 authenticode_sign = $(MONO_SIGNCODE) \ -spc "$(SIGNCODE_SPC)" -v "$(SIGNCODE_PVK)" \
--- a/libpurple/Makefile.mingw Wed Apr 03 23:15:20 2013 +0200 +++ b/libpurple/Makefile.mingw Thu Apr 04 01:21:30 2013 +0200 @@ -33,9 +33,11 @@ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ + -I$(JSON_GLIB_TOP)/include/json-glib-1.0 \ -I$(LIBXML2_TOP)/include/libxml2 LIB_PATHS += -L$(GTK_TOP)/lib \ + -L$(JSON_GLIB_TOP)/lib \ -L$(LIBXML2_TOP)/lib ## @@ -63,15 +65,19 @@ dnssrv.c \ eventloop.c \ ft.c \ + http.c \ idle.c \ imgstore.c \ log.c \ + media/candidate.c \ + media/enum-types.c \ mediamanager.c \ media.c \ mime.c \ nat-pmp.c \ network.c \ notify.c \ + obsolete.c \ ntlm.c \ plugin.c \ pluginpref.c \ @@ -120,7 +126,8 @@ -lgmodule-2.0 \ -lintl \ -lws2_32 \ - -lxml2 + -lxml2 \ + -ljson-glib-1.0 include $(PIDGIN_COMMON_RULES)
--- a/libpurple/http.c Wed Apr 03 23:15:20 2013 +0200 +++ b/libpurple/http.c Thu Apr 04 01:21:30 2013 +0200 @@ -27,6 +27,7 @@ #include "http.h" #include "internal.h" +#include "glibcompat.h" #include "debug.h" #include "ntlm.h"
--- a/libpurple/plugins/tcl/tcl_cmds.c Wed Apr 03 23:15:20 2013 +0200 +++ b/libpurple/plugins/tcl/tcl_cmds.c Thu Apr 04 01:21:30 2013 +0200 @@ -1532,7 +1532,8 @@ switch (cmd) { case CMD_STATUS_ATTR: -#if !(defined PURPLE_DISABLE_DEPRECATED) +# if (0) +/* #if !(defined PURPLE_DISABLE_DEPRECATED) */ if (objc != 4 && objc != 5) { Tcl_WrongNumArgs(interp, 2, objv, "status attr_id ?value?"); return TCL_ERROR;
--- a/libpurple/protocols/gg/Makefile.mingw Wed Apr 03 23:15:20 2013 +0200 +++ b/libpurple/protocols/gg/Makefile.mingw Thu Apr 04 01:21:30 2013 +0200 @@ -56,12 +56,28 @@ lib/pubdir50.c \ lib/resolver.c \ lib/sha1.c \ + utils.c \ + confer.c \ buddylist.c \ - confer.c \ gg.c \ - search.c \ - utils.c \ - resolver-purple.c + resolver-purple.c \ + image.c \ + account.c \ + deprecated.c \ + purplew.c \ + libgaduw.c \ + avatar.c \ + libgadu-events.c \ + roster.c \ + validator.c \ + xml.c \ + multilogon.c \ + status.c \ + servconn.c \ + pubdir-prpl.c \ + oauth/oauth.c \ + oauth/oauth-parameter.c \ + oauth/oauth-purple.c OBJECTS = $(C_SRC:%.c=%.o) @@ -72,7 +88,8 @@ -lglib-2.0 \ -lintl \ -lpurple \ - -lws2_32 + -lws2_32 \ + -lz include $(PIDGIN_COMMON_RULES)
--- a/libpurple/protocols/gg/status.c Wed Apr 03 23:15:20 2013 +0200 +++ b/libpurple/protocols/gg/status.c Thu Apr 04 01:21:30 2013 +0200 @@ -292,7 +292,7 @@ sleep_time *= 2; } */ - usleep(100000); + g_usleep(100000); g_free(msg); }
--- a/libpurple/win32/global.mak Wed Apr 03 23:15:20 2013 +0200 +++ b/libpurple/win32/global.mak Thu Apr 04 01:21:30 2013 +0200 @@ -12,10 +12,11 @@ WIN32_DEV_TOP ?= $(PIDGIN_TREE_TOP)/../win32-dev GTKSPELL_TOP ?= $(WIN32_DEV_TOP)/gtkspell-2.0.16 ENCHANT_TOP ?= $(WIN32_DEV_TOP)/enchant_1.6.0_win32 -GTK_TOP ?= $(WIN32_DEV_TOP)/gtk_2_0-2.14 +GTK_TOP ?= $(WIN32_DEV_TOP)/gtk_2_0-2.24 GTK_BIN ?= $(GTK_TOP)/bin BONJOUR_TOP ?= $(WIN32_DEV_TOP)/Bonjour_SDK -LIBXML2_TOP ?= $(WIN32_DEV_TOP)/libxml2-2.9.0 +JSON_GLIB_TOP ?= $(WIN32_DEV_TOP)/json-glib-0.14 +LIBXML2_TOP ?= $(WIN32_DEV_TOP)/libxml2-2.8.0 MEANWHILE_TOP ?= $(WIN32_DEV_TOP)/meanwhile-1.0.2_daa3 NSS_TOP ?= $(WIN32_DEV_TOP)/nss-3.14.3-nspr-4.9.5 PERL_LIB_TOP ?= $(WIN32_DEV_TOP)/perl-5.10.0 @@ -24,6 +25,8 @@ GSTREAMER_TOP ?= $(WIN32_DEV_TOP)/gstreamer-0.10.13 GCC_SSP_TOP ?= $(shell dirname $(shell which $(CC))) CYRUS_SASL_TOP ?= $(WIN32_DEV_TOP)/cyrus-sasl-2.1.25 +WEBKITGTK_TOP ?= $(WIN32_DEV_TOP)/libwebkitgtk-1.10 +LIBSOUP_TOP ?= $(WIN32_DEV_TOP)/libsoup-2.36 # Where we installing this stuff to? PIDGIN_INSTALL_DIR := $(PIDGIN_TREE_TOP)/win32-install-dir
--- a/pidgin/Makefile.mingw Wed Apr 03 23:15:20 2013 +0200 +++ b/pidgin/Makefile.mingw Thu Apr 04 01:21:30 2013 +0200 @@ -39,10 +39,14 @@ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/include/cairo \ + -I$(GTK_TOP)/include/gdk-pixbuf-2.0 \ -I$(GTK_TOP)/lib/gtk-2.0/include \ - -I$(GTKSPELL_TOP)/include/gtkspell-2.0 + -I$(GTKSPELL_TOP)/include/gtkspell-2.0 \ + -I$(LIBSOUP_TOP)/include/libsoup-2.4 \ + -I$(WEBKITGTK_TOP)/include/webkitgtk-1.0 LIB_PATHS += -L$(GTK_TOP)/lib \ + -L$(WEBKITGTK_TOP)/lib \ -L$(PURPLE_TOP) \ -L$(PIDGIN_TOP) @@ -129,7 +133,8 @@ -lgdk-win32-2.0 \ -lgdk_pixbuf-2.0 \ -lgdi32 \ - -lwinmm + -lwinmm \ + -lwebkitgtk-1.0 include $(PIDGIN_COMMON_RULES)
--- a/pidgin/plugins/Makefile.mingw Wed Apr 03 23:15:20 2013 +0200 +++ b/pidgin/plugins/Makefile.mingw Thu Apr 04 01:21:30 2013 +0200 @@ -26,8 +26,11 @@ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/include/cairo \ + -I$(GTK_TOP)/include/gdk-pixbuf-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ + -I$(LIBSOUP_TOP)/include/libsoup-2.4 \ + -I$(WEBKITGTK_TOP)/include/webkitgtk-1.0 \ -I$(PIDGIN_TREE_TOP) \ -I$(PURPLE_TOP) \ -I$(PURPLE_TOP)/win32 \ @@ -35,6 +38,7 @@ -I$(PIDGIN_TOP)/win32 LIB_PATHS += -L$(GTK_TOP)/lib \ + -L$(WEBKITGTK_TOP)/lib \ -L$(PURPLE_TOP) \ -L$(PIDGIN_TOP) @@ -51,6 +55,7 @@ -lcairo \ -lintl \ -lws2_32 \ + -lwebkitgtk-1.0 \ -lpurple \ -lpidgin @@ -101,7 +106,7 @@ spellchk.dll \ themeedit.dll \ timestamp_format.dll \ - timestamp.dll \ + webkit.dll \ xmppconsole.dll ##
--- a/pidgin/plugins/disco/Makefile.mingw Wed Apr 03 23:15:20 2013 +0200 +++ b/pidgin/plugins/disco/Makefile.mingw Thu Apr 04 01:21:30 2013 +0200 @@ -19,6 +19,7 @@ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/include/cairo \ + -I$(GTK_TOP)/include/gdk-pixbuf-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(PURPLE_TOP) \
--- a/pidgin/plugins/perl/common/Makefile.mingw Wed Apr 03 23:15:20 2013 +0200 +++ b/pidgin/plugins/perl/common/Makefile.mingw Thu Apr 04 01:21:30 2013 +0200 @@ -28,8 +28,11 @@ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/include/gtk-2.0 \ -I$(GTK_TOP)/include/pango-1.0 \ + -I$(GTK_TOP)/include/gdk-pixbuf-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ + -I$(LIBSOUP_TOP)/include/libsoup-2.4 \ + -I$(WEBKITGTK_TOP)/include/webkitgtk-1.0 \ -I$(PERL_LIB_TOP)/CORE LIB_PATHS += -L$(PERL_LIB_TOP) \
--- a/pidgin/plugins/ticker/Makefile.mingw Wed Apr 03 23:15:20 2013 +0200 +++ b/pidgin/plugins/ticker/Makefile.mingw Thu Apr 04 01:21:30 2013 +0200 @@ -19,6 +19,7 @@ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/include/cairo \ + -I$(GTK_TOP)/include/gdk-pixbuf-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(PURPLE_TOP) \
--- a/pidgin/plugins/win32/transparency/Makefile.mingw Wed Apr 03 23:15:20 2013 +0200 +++ b/pidgin/plugins/win32/transparency/Makefile.mingw Thu Apr 04 01:21:30 2013 +0200 @@ -20,6 +20,7 @@ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/include/cairo \ + -I$(GTK_TOP)/include/gdk-pixbuf-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(PURPLE_TOP) \
--- a/pidgin/plugins/win32/winprefs/Makefile.mingw Wed Apr 03 23:15:20 2013 +0200 +++ b/pidgin/plugins/win32/winprefs/Makefile.mingw Thu Apr 04 01:21:30 2013 +0200 @@ -21,6 +21,7 @@ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/include/cairo \ + -I$(GTK_TOP)/include/gdk-pixbuf-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(PURPLE_TOP) \
--- a/pidgin/win32/nsis/generate_gtk_zip.sh Wed Apr 03 23:15:20 2013 +0200 +++ b/pidgin/win32/nsis/generate_gtk_zip.sh Thu Apr 04 01:21:30 2013 +0200 @@ -1,11 +1,12 @@ #!/bin/bash # Script to generate zip file for GTK+ runtime to be included in Pidgin installer -PIDGIN_BASE=$1 -GPG_SIGN=$2 +PIDGIN_BASE=`pwd` +PIDGIN_BASE="$PIDGIN_BASE/../../.." +GPG_SIGN=$1 if [ ! -e $PIDGIN_BASE/ChangeLog ]; then - echo $(basename $0) must must have the pidgin base dir specified as a parameter. + echo pidgin base dir not found exit 1 fi @@ -16,19 +17,29 @@ PIDGIN_VERSION=$( < $PIDGIN_BASE/VERSION ) #This needs to be changed every time there is any sort of change. -BUNDLE_VERSION=2.16.6.1 -BUNDLE_SHA1SUM=3e586e3f716f909ff6c11bf64c5ad23f1a0c98bf +BUNDLE_VERSION=2.24.14.0 +BUNDLE_SHA1SUM="402c265590f304537e31a1f3b04aad32c6eea620" ZIP_FILE="$PIDGIN_BASE/pidgin/win32/nsis/gtk-runtime-$BUNDLE_VERSION.zip" #Download the existing file (so that we distribute the exact same file for all releases with the same bundle version) FILE="$ZIP_FILE" if [ ! -e "$FILE" ]; then - wget "https://pidgin.im/win32/download_redir.php?version=$PIDGIN_VERSION>k_version=$BUNDLE_VERSION&dl_pkg=gtk" -O "$FILE" + echo "Downloading the existing file" + wget -q "https://pidgin.im/win32/download_redir.php?version=$PIDGIN_VERSION>k_version=$BUNDLE_VERSION&dl_pkg=gtk" -O "$FILE" + if [ `stat -c %s $FILE` == 0 ]; then + rm $FILE + fi fi -CHECK_SHA1SUM=`sha1sum $FILE` -CHECK_SHA1SUM=${CHECK_SHA1SUM%%\ *} +if [ -e "$FILE" ]; then + CHECK_SHA1SUM=`sha1sum $FILE` + CHECK_SHA1SUM=${CHECK_SHA1SUM%%\ *} +else + CHECK_SHA1SUM= +fi if [ "$CHECK_SHA1SUM" != "$BUNDLE_SHA1SUM" ]; then - echo "sha1sum ($CHECK_SHA1SUM) for $FILE doesn't match expected value of $BUNDLE_SHA1SUM" + if [ "x$CHECK_SHA1SUM" != "x" ]; then + echo "sha1sum ($CHECK_SHA1SUM) for $FILE doesn't match expected value of $BUNDLE_SHA1SUM" + fi # Allow "devel" versions to build their own bundles if the download doesn't succeed if [[ "$PIDGIN_VERSION" == *"devel" ]]; then echo "Continuing GTK+ Bundle creation for development version of Pidgin" @@ -39,22 +50,43 @@ exit 0 fi +#DOWNLOAD_HOST="http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_12.3/noarch/" +#TODO: this is just a temporary mirror - Tomek Wasilczyk's <tomkiewicz@cpw.pidgin.im> Dropbox +DOWNLOAD_HOST="http://dl.dropbox.com/u/5448886/pidgin-win32/runtime-deps/" -ATK="http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32/atk_1.32.0-2_win32.zip ATK 1.32.0-2 sha1sum:3c31c9d6b19af840e2bd8ccbfef4072a6548dc4e" -#Cairo 1.10.2 has a bug that can be seen when selecting text -#CAIRO="http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/cairo_1.10.2-2_win32.zip Cairo 1.10.2-2 sha1sum:d44cd66a9f4d7d29a8f2c28d1c1c5f9b0525ba44" -CAIRO="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.10-1_win32.zip Cairo 1.8.10-1 sha1sum:a08476cccd807943958610977a138c4d6097c7b8" -EXPAT="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.1.0-1_win32.zip Expat 2.1.0-1 gpg:0x71D4DDE53F188CBE" -FONTCONFIG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/fontconfig_2.8.0-2_win32.zip Fontconfig 2.8.0-2 sha1sum:37a3117ea6cc50c8a88fba9b6018f35a04fa71ce" -FREETYPE="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype_2.4.10-1_win32.zip Freetype 2.4.10-1 gpg:0x71D4DDE53F188CBE" -GETTEXT="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.zip Gettext 0.18.1.1-2 sha1sum:a7cc1ce2b99b408d1bbea9a3b4520fcaf26783b3" -GLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.8-1_win32.zip Glib 2.28.8-1 sha1sum:5d158f4c77ca0b5508e1042955be573dd940b574" -GTK="http://ftp.acc.umu.se/pub/gnome/binaries/win32/gtk+/2.16/gtk+_2.16.6-2_win32.zip GTK+ 2.16.6-2 sha1sum:012853e6de814ebda0cc4459f9eed8ae680e6d17" -LIBPNG="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.4.12-1_win32.zip libpng 1.4.12-1 gpg:0x71D4DDE53F188CBE" -PANGO="http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.29/pango_1.29.4-1_win32.zip Pango 1.29.4-1 sha1sum:3959319bd04fbce513458857f334ada279b8cdd4" -ZLIB="http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib_1.2.5-2_win32.zip zlib 1.2.5-2 sha1sum:568907188761df2d9309196e447d91bbc5555d2b" - -ALL="ATK CAIRO EXPAT FONTCONFIG FREETYPE GETTEXT GLIB GTK LIBPNG PANGO ZLIB" +ATK="${DOWNLOAD_HOST}mingw32-atk-2.6.0-1.4.noarch.rpm ATK 2.6.0-1.4 sha1sum:d0792a3355b22cf4f0e218382dde71b1e22a2b03" +CAIRO2="${DOWNLOAD_HOST}mingw32-libcairo2-1.10.2-8.4.noarch.rpm Cairo 1.10.2-8.4 sha1sum:f69af74753c7fcd95b7778eee7c3d731d64749ba" +DBUS="${DOWNLOAD_HOST}mingw32-dbus-1-1.4.16-1.4.noarch.rpm D-Bus 1.4.16-1.4 sha1sum:f623a75dedc9646246582f5c62310627b323b30b" +DBUS_GLIB="${DOWNLOAD_HOST}mingw32-dbus-1-glib-0.92-3.4.noarch.rpm dbus-glib 0.92-3.4 sha1sum:3af1dd35cbe2cdf62ee5144862934f5f8dd5e20d" +ENCHANT="${DOWNLOAD_HOST}mingw32-enchant-1.6.0-3.7.noarch.rpm Enchant 1.6.0-3.4 sha1sum:f7e0571ef98833b087be6c9d71008b3c4c4435d6" +FONTCONFIG="${DOWNLOAD_HOST}mingw32-fontconfig-2.10.1-1.4.noarch.rpm fontconfig 2.10.1-1.4 sha1sum:64fa2a6f8576209dd2253fe52dc59ef8ac92ba6f" +FREETYPE="${DOWNLOAD_HOST}mingw32-freetype-2.4.10-1.4.noarch.rpm freetype 2.4.10-1.4 sha1sum:62a8a494df380c982d6d131ffa0846b498f3d7d0" +GDK_PIXBUF="${DOWNLOAD_HOST}mingw32-gdk-pixbuf-2.26.3-1.4.noarch.rpm gdk-pixbuf 2.26.3-1.4 sha1sum:e454ffc771d923a443553599c1981a3cc9e56bab" +GEOCLUE="${DOWNLOAD_HOST}mingw32-libgeoclue-0.12.99-1.4.noarch.rpm Geoclue 0.12.99-1.4 sha1sum:cf3df30e75c5b38fbe2f63689cadcc2930823b9c" +GLIB="${DOWNLOAD_HOST}mingw32-glib2-2.34.1-1.4.noarch.rpm Glib 2.34.1-1.4 sha1sum:34317487546e5ca5d493c38794c927ff94b6a5b7" +GST="${DOWNLOAD_HOST}mingw32-libgstreamer-0.10.35-1.4.noarch.rpm GStreamer 0.10.35-1.4 sha1sum:fd5bb6f8a9083eb3ca402670e7c38474f7270efe" +GST_INT="${DOWNLOAD_HOST}mingw32-libgstinterfaces-0.10.32-5.4.noarch.rpm GStreamer-interfaces 0.10.32-5.4 sha1sum:cec1dd36bbcc10716e9f8776e4bd53fb0b07d8bb" +GTK2="${DOWNLOAD_HOST}mingw32-gtk2-2.24.14-1.4.noarch.rpm GTK+ 2.24.14-1.4 sha1sum:71971fe63d355aa893536b691f249ace78d89a2b" +LIBFFI="${DOWNLOAD_HOST}mingw32-libffi-3.0.10-2.4.noarch.rpm libffi 3.0.10-2.4 sha1sum:871f13d5f02c03d62b882cc1fa4c98dcff76d4c5" +LIBGCC="${DOWNLOAD_HOST}mingw32-libgcc-4.7.2-2.4.noarch.rpm libgcc 4.7.2-2.4 sha1sum:9023897a5faf380efc89699ac5145c985d03a8bf" +LIBJASPER="${DOWNLOAD_HOST}mingw32-libjasper-1.900.1-6.4.noarch.rpm JasPer 1.900.1-6.4 sha1sum:25e01ed277b8dda6191afb7dd0e0928558c1f2d6" +LIBICU="${DOWNLOAD_HOST}mingw32-libicu-51.1-2.1.noarch.rpm ICU 51.1-2.1 sha1sum:97ec8264e38abceeadda4631730bb0b5f3f3ebfe" +LIBINTL="${DOWNLOAD_HOST}mingw32-libintl-0.18.1.1-13.4.noarch.rpm libintl 0.18.1.1-13.4 sha1sum:043c3b8eb9c872681faed5ec5263456a24bf29e4" +LIBJPEG="${DOWNLOAD_HOST}mingw32-libjpeg-8d-3.4.noarch.rpm libjpeg 8d-3.4 sha1sum:5d1db1eaabc6ababbed648408adbbe6eee0292fc" +LIBJSON="${DOWNLOAD_HOST}mingw32-libjson-glib-0.14.2-1.4.noarch.rpm json-glib 0.14.2-1.4 sha1sum:698194c97baf732bd6b109778f2834d71eedc524" +LIBLZMA="${DOWNLOAD_HOST}mingw32-liblzma-5.0.4-1.4.noarch.rpm liblzma 5.0.4-1.4 sha1sum:ef360fab4b6c77d1618891ccc8f52c2421f37c09" +LIBPNG="${DOWNLOAD_HOST}mingw32-libpng-1.5.11-1.4.noarch.rpm libpng 1.5.11-1.4 sha1sum:99d0a077f70e83f7df10f28915a2137a0ff34462" +LIBSOUP="${DOWNLOAD_HOST}mingw32-libsoup-2.40.3-1.4.noarch.rpm libsoup 2.40.3-1.4 sha1sum:3f2d836acea04741508a341b2bddaa55fd49f720" +LIBSTDCPP="${DOWNLOAD_HOST}mingw32-libstdc++-4.7.2-2.4.noarch.rpm libstdc++ 4.7.2-2.4 sha1sum:e031fad6b7bf54c9846d5a857bb8de6faefdcd1b" +LIBTIFF="${DOWNLOAD_HOST}mingw32-libtiff-4.0.2-1.4.noarch.rpm libtiff 4.0.2-1.4 sha1sum:9a8f8b018e8bafd47067fe6fd0debc1e887239b1" +LIBXSLT="${DOWNLOAD_HOST}mingw32-libxslt-1.1.27-1.4.noarch.rpm libxslt 1.1.27-1.4 sha1sum:4a08612ad73235b0fab95e17644d72e8f24097c3" +PANGO="${DOWNLOAD_HOST}mingw32-pango-1.30.1-1.4.noarch.rpm Pango 1.30.1-1.4 sha1sum:69c4515babdf99b0ded04c24dc3a7f33debac934" +PIXMAN="${DOWNLOAD_HOST}mingw32-pixman-0.26.0-1.4.noarch.rpm pixman 0.26.0-1.4 sha1sum:f751fe428ea83996daf7e57bff6f4f79361b0d29" +PTHREADS="${DOWNLOAD_HOST}mingw32-pthreads-2.8.0-14.6.noarch.rpm pthreads 2.8.0-14.6 sha1sum:e948ae221f82bbcb4fbfd991638e4170c150fe9f" +SQLITE="${DOWNLOAD_HOST}mingw32-libsqlite-3.7.6.2-1.6.noarch.rpm SQLite 3.7.6.2-1.6 sha1sum:f61529bc0c996d9af28a94648ce6102d579ed928" +WEBKITGTK="${DOWNLOAD_HOST}mingw32-libwebkitgtk-1.10.2-1.3.noarch.rpm WebKitGTK+ 1.10.2-1.3 sha1sum:33b558d2110fc2caf2c3c0ab24a6c18645814893" +ZLIB="${DOWNLOAD_HOST}mingw32-zlib-1.2.7-1.4.noarch.rpm zlib 1.2.7-1.4 sha1sum:83e91f3b4d14e47131ca33fc69e12b82aabdd589" +ALL="ATK CAIRO2 DBUS DBUS_GLIB ENCHANT FONTCONFIG FREETYPE GDK_PIXBUF GEOCLUE GLIB GST GST_INT GTK2 LIBFFI LIBGCC LIBJASPER LIBICU LIBINTL LIBJPEG LIBJSON LIBLZMA LIBPNG LIBSOUP LIBSTDCPP LIBTIFF LIBXSLT PANGO PIXMAN PTHREADS SQLITE WEBKITGTK ZLIB" mkdir -p $STAGE_DIR cd $STAGE_DIR @@ -65,15 +97,36 @@ #new CONTENTS file echo Bundle Version $BUNDLE_VERSION > $CONTENTS_FILE +#TODO: temporary mirror also +CPIO_URL="http://dl.dropbox.com/u/5448886/pidgin-win32/cpio/bsdcpio-3.0.3-1.4.zip" +CPIO_SHA1SUM="0cb99adb2c2d759c9a21228223e55c8bf227f736" +CPIO_DIR="bsdcpio" +FILE="bsdcpio.zip" +if [ ! -e "$FILE" ]; then + echo "Downloading bsdcpio" + wget -q "$CPIO_URL" -O "$FILE" || exit 1 +fi +CHECK_SHA1SUM=`sha1sum $FILE` +CHECK_SHA1SUM=${CHECK_SHA1SUM%%\ *} +if [ "$CHECK_SHA1SUM" != "$CPIO_SHA1SUM" ]; then + echo "sha1sum ($CHECK_SHA1SUM) for $FILE doesn't match expected value of $CPIO_SHA1SUM" + rm $FILE + exit 1 +fi +rm -rf $CPIO_DIR +unzip -q $FILE -d . || exit 1 + 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 - wget $URL || exit 1 + wget -q $URL || exit 1 fi VALIDATION_TYPE=${VALIDATION%%:*} VALIDATION_VALUE=${VALIDATION##*:} @@ -87,7 +140,7 @@ elif [ $VALIDATION_TYPE == 'gpg' ]; then if [ ! -e "$FILE.asc" ]; then echo Downloading GPG key for $NAME - wget "$URL.asc" || exit 1 + wget -q "$URL.asc" || exit 1 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 @@ -105,36 +158,45 @@ EXTENSION=${FILE##*.} #This is an OpenSuSE build service RPM if [ $EXTENSION == 'rpm' ]; then - echo "Generating zip from $FILE" - FILE=$(../rpm2zip.sh $FILE) + rm -rf $MINGW_DIR_TOP + bsdcpio/bsdcpio.exe --quiet -f etc/fonts/conf.d -di < $FILE || exit 1 + cp -rf $MINGW_DIR/* $INSTALL_DIR + rm -rf $MINGW_DIR_TOP + else + unzip -q $FILE -d $INSTALL_DIR || exit 1 fi - unzip -q $FILE -d $INSTALL_DIR || exit 1 echo "$NAME" >> $CONTENTS_FILE } +echo "Downloading and extracting components..." for VAL in $ALL do VAR=${!VAL} download_and_extract "$VAR" done +rm -rf $CPIO_DIR +echo "All components ready" -#Default GTK+ Theme to MS-Windows -echo gtk-theme-name = \"MS-Windows\" > $INSTALL_DIR/etc/gtk-2.0/gtkrc +cp $INSTALL_DIR/bin/libintl-8.dll $INSTALL_DIR/bin/intl.dll + +#Default GTK+ Theme to MS-Windows (already set) +#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 Removing $LOCALE translation as it is missing from Pidgin - rm -r $LOCALE_DIR - fi -done +#Blow away translations that we don't have in Pidgin (temporarily not included) +#for LOCALE_DIR in $INSTALL_DIR/share/locale/* +#do +# LOCALE=$(basename $LOCALE_DIR) +# if [ ! -e $PIDGIN_BASE/po/$LOCALE.po ]; then +# echo Removing $LOCALE translation as it is missing from Pidgin +# rm -r $LOCALE_DIR +# fi +#done #Generate zip file to be included in installer rm -f $ZIP_FILE zip -9 -r $ZIP_FILE Gtk -($GPG_SIGN -ab $ZIP_FILE && $GPG_SIGN --verify $ZIP_FILE.asc) || exit 1 +if [ "x$GPG_SIGN" != "x" ]; then + ($GPG_SIGN -ab $ZIP_FILE && $GPG_SIGN --verify $ZIP_FILE.asc) || exit 1 +fi exit 0 -
--- a/pidgin/win32/nsis/rpm2zip.sh Wed Apr 03 23:15:20 2013 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -#!/bin/sh - -here=`pwd` -for F in $*; do - case $F in - mingw32-*.noarch.rpm|mingw64-*.noarch.rpm|*/mingw32-*.noarch.rpm|*/mingw64-*.noarch.rpm) - package=`rpm -qp $F 2>/dev/null` - case $package in - mingw32-*|mingw64-*) - case $package in - mingw32-*) - cpu=i686 - bits=32 - ;; - mingw64-*) - cpu=x86_64 - bits=64 - ;; - esac - origname=`rpm -qp --queryformat='%{NAME}' $F 2>/dev/null` - name=$origname - case $name in - *-devel) - name=${name%el} - ;; - esac - shortpackage="$name"_`rpm -qp --queryformat='%{VERSION}-%{RELEASE}'_win${bits} $F 2>/dev/null` - shortpackage=${shortpackage#mingw32-} - shortpackage=${shortpackage#mingw64-} - shortname=$name - shortname=${shortname#mingw32-} - shortname=${shortname#mingw64-} - tmp=`mktemp -d` - #rpm2cpio $F | lzcat | (cd $tmp && cpio --quiet -id) - rpm2cpio $F | (cd $tmp && cpio --quiet -id) - ( - cd $tmp - zipfile="$here/$shortpackage.zip" - rm -f $zipfile - (cd usr/${cpu}-pc-mingw32/sys-root/mingw && zip -q -r -D $zipfile .) - if [ -d usr/share/doc/packages/$origname ] ; then - mv usr/share/doc/packages/$origname usr/share/doc/packages/$shortname - (cd usr && zip -q -r -D $zipfile share/doc/packages/$shortname) - fi - mkdir -p manifest - unzip -l $zipfile >manifest/$shortpackage.mft - zip -q $zipfile manifest/$shortpackage.mft - N=`unzip -l $zipfile | wc -l | sed -e 's/^ *\([0-9]*\).*/\1/'` - Nm1=`expr $N - 1` - unzip -l $zipfile | sed -e "1,3 d" -e "$Nm1,$N d" | awk '{print $4}' | grep -v -E '/$' >manifest/$shortpackage.mft - zip -q $zipfile manifest/$shortpackage.mft - echo $zipfile - ) - rm -rf $tmp - ;; - *) - echo $F is not a mingw32/64 RPM package >&2 - ;; - esac - ;; - *) - echo $F is not a mingw32/64 RPM package >&2 - ;; - esac -done