pidgin/android/libpurple2

Parents 368feedc80cf
Children 9d172d15a45f
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&gtk_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&gtk_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