pidgin/android/libpurple

Parents 1892a62590cf
Children d3e1e2a9d014
win32: switch to OBS, update and push to runtime-deps package - libenchant, gtkspell, meanwhile, tcl
--- a/Makefile.mingw Sun Apr 07 17:51:24 2013 +0200
+++ b/Makefile.mingw Sun Apr 07 22:22:34 2013 +0200
@@ -56,11 +56,6 @@
gssapi32.dll \
k5sprt32.dll \
krb5_32.dll \
- libenchant.dll \
- libenchant_ispell.dll \
- libenchant_myspell.dll \
- libgtkspell-0.dll \
- libmeanwhile-1.dll \
libnspr4.dll \
libplc4.dll \
libplds4.dll \
@@ -103,10 +98,6 @@
endif
$(MAKE) -C share/ca-certs -f $(MINGW_MAKEFILE) install
$(MAKE) -C share/sounds -f $(MINGW_MAKEFILE) install
- mkdir -p $(PIDGIN_INSTALL_DIR)/spellcheck/lib/enchant
- cp $(GTKSPELL_TOP)/bin/libgtkspell-0.dll $(PIDGIN_INSTALL_DIR)/spellcheck
- cp $(ENCHANT_TOP)/bin/libenchant.dll $(PIDGIN_INSTALL_DIR)/spellcheck
- cp -R $(ENCHANT_TOP)/lib/enchant/*.dll $(PIDGIN_INSTALL_DIR)/spellcheck/lib/enchant
cp $(PIDGIN_INST_DEP_DIR)/exchndl.dll $(PIDGIN_INSTALL_DIR)
gtk_runtime_zip:
--- a/libpurple/plugins/tcl/Makefile.mingw Sun Apr 07 17:51:24 2013 +0200
+++ b/libpurple/plugins/tcl/Makefile.mingw Sun Apr 07 22:22:34 2013 +0200
@@ -25,7 +25,7 @@
LIB_PATHS += -L$(GTK_TOP)/lib \
-L$(PURPLE_TOP) \
- -L$(TCL_LIB_TOP)
+ -L$(TCL_LIB_TOP)/lib
##
## SOURCES, OBJECTS
@@ -47,8 +47,8 @@
-lws2_32 \
-lintl \
-lpurple \
- -ltclstub84 \
- -ltkstub84
+ -ltclstub85 \
+ -ltkstub85
include $(PIDGIN_COMMON_RULES)
--- a/libpurple/plugins/tcl/tcl.c Sun Apr 07 17:51:24 2013 +0200
+++ b/libpurple/plugins/tcl/tcl.c Sun Apr 07 22:22:34 2013 +0200
@@ -433,61 +433,21 @@
#define Tk_Init wtk_Init
static gboolean tcl_win32_init() {
- const char regkey[] = "SOFTWARE\\ActiveState\\ActiveTcl\\";
- char *version = NULL;
gboolean retval = FALSE;
- if ((version = wpurple_read_reg_string(HKEY_LOCAL_MACHINE, regkey, "CurrentVersion"))
- || (version = wpurple_read_reg_string(HKEY_CURRENT_USER, regkey, "CurrentVersion"))) {
- char *path = NULL;
- char *regkey2;
- char **tokens;
- int major = 0, minor = 0, micro = 0;
-
- tokens = g_strsplit(version, ".", 0);
- if (tokens[0] && tokens[1] && tokens[2]) {
- major = atoi(tokens[0]);
- minor = atoi(tokens[1]);
- micro = atoi(tokens[2]);
+ if(!(wtcl_CreateInterp = (LPFNTCLCREATEINTERP) wpurple_find_and_loadproc("tcl85.dll", "Tcl_CreateInterp"))) {
+ purple_debug(PURPLE_DEBUG_INFO, "tcl", "tcl_win32_init error loading Tcl_CreateInterp\n");
+ } else {
+ if(!(wtk_Init = (LPFNTKINIT) wpurple_find_and_loadproc("tk85.dll", "Tk_Init"))) {
+ HMODULE mod;
+ purple_debug(PURPLE_DEBUG_INFO, "tcl", "tcl_win32_init error loading Tk_Init\n");
+ if((mod = GetModuleHandle("tcl85.dll")))
+ FreeLibrary(mod);
+ } else {
+ retval = TRUE;
}
- g_strfreev(tokens);
-
- regkey2 = g_strdup_printf("%s%s\\", regkey, version);
- if (!(major == 8 && minor == 4 && micro >= 5))
- purple_debug(PURPLE_DEBUG_INFO, "tcl", "Unsupported ActiveTCL version %s found.\n", version);
- else if ((path = wpurple_read_reg_string(HKEY_LOCAL_MACHINE, regkey2, NULL)) || (path = wpurple_read_reg_string(HKEY_CURRENT_USER, regkey2, NULL))) {
- char *tclpath;
- char *tkpath;
-
- purple_debug(PURPLE_DEBUG_INFO, "tcl", "Loading ActiveTCL version %s from \"%s\"\n", version, path);
-
- tclpath = g_build_filename(path, "bin", "tcl84.dll", NULL);
- tkpath = g_build_filename(path, "bin", "tk84.dll", NULL);
-
- if(!(wtcl_CreateInterp = (LPFNTCLCREATEINTERP) wpurple_find_and_loadproc(tclpath, "Tcl_CreateInterp"))) {
- purple_debug(PURPLE_DEBUG_INFO, "tcl", "tcl_win32_init error loading Tcl_CreateInterp\n");
- } else {
- if(!(wtk_Init = (LPFNTKINIT) wpurple_find_and_loadproc(tkpath, "Tk_Init"))) {
- HMODULE mod;
- purple_debug(PURPLE_DEBUG_INFO, "tcl", "tcl_win32_init error loading Tk_Init\n");
- if((mod = GetModuleHandle("tcl84.dll")))
- FreeLibrary(mod);
- } else {
- retval = TRUE;
- }
- }
- g_free(tclpath);
- g_free(tkpath);
- }
- g_free(path);
- g_free(regkey2);
}
- g_free(version);
-
- if (!retval)
- purple_debug(PURPLE_DEBUG_INFO, "tcl", _("Unable to detect ActiveTCL installation. If you wish to use TCL plugins, install ActiveTCL from http://www.activestate.com\n"));
-
return retval;
}
--- a/libpurple/protocols/sametime/Makefile.mingw Sun Apr 07 17:51:24 2013 +0200
+++ b/libpurple/protocols/sametime/Makefile.mingw Sun Apr 07 22:22:34 2013 +0200
@@ -8,7 +8,6 @@
include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
TARGET = libsametime
-NEEDED_DLLS = $(MEANWHILE_TOP)/bin/libmeanwhile-1.dll
TYPE = PLUGIN
# Static or Plugin...
@@ -67,7 +66,6 @@
install: all $(DLL_INSTALL_DIR) $(PURPLE_INSTALL_DIR)
cp $(TARGET).dll $(DLL_INSTALL_DIR)
- cp $(NEEDED_DLLS) $(PURPLE_INSTALL_DIR)
$(OBJECTS): $(PURPLE_CONFIG_H)
--- a/libpurple/win32/global.mak Sun Apr 07 17:51:24 2013 +0200
+++ b/libpurple/win32/global.mak Sun Apr 07 22:22:34 2013 +0200
@@ -10,18 +10,18 @@
# Locations of our various dependencies
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
+GTKSPELL_TOP ?= $(WIN32_DEV_TOP)/gtkspell-2.0
+ENCHANT_TOP ?= $(WIN32_DEV_TOP)/enchant-1.6
GTK_TOP ?= $(WIN32_DEV_TOP)/gtk_2_0-2.24
GTK_BIN ?= $(GTK_TOP)/bin
BONJOUR_TOP ?= $(WIN32_DEV_TOP)/Bonjour_SDK
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
+MEANWHILE_TOP ?= $(WIN32_DEV_TOP)/meanwhile-1.0
NSS_TOP ?= $(WIN32_DEV_TOP)/nss-3.14.3-nspr-4.9.5
PERL_LIB_TOP ?= $(WIN32_DEV_TOP)/perl-5.10.0
SILC_TOOLKIT ?= $(WIN32_DEV_TOP)/silc-toolkit-1.1.10
-TCL_LIB_TOP ?= $(WIN32_DEV_TOP)/tcl-8.4.5
+TCL_LIB_TOP ?= $(WIN32_DEV_TOP)/tcl-8.5
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
--- a/libpurple/win32/win32dep.c Sun Apr 07 17:51:24 2013 +0200
+++ b/libpurple/win32/win32dep.c Sun Apr 07 22:22:34 2013 +0200
@@ -80,7 +80,8 @@
wchar_t *wc_dllname = g_utf8_to_utf16(dllname, -1, NULL, NULL, NULL);
if(!(hmod = GetModuleHandleW(wc_dllname))) {
- purple_debug_warning("wpurple", "%s not already loaded; loading it...\n", dllname);
+ if (purple_debug_is_verbose())
+ purple_debug_info("wpurple", "%s not already loaded; loading it...\n", dllname);
if(!(hmod = LoadLibraryW(wc_dllname))) {
purple_debug_error("wpurple", "Could not load: %s (%s)\n", dllname,
g_win32_error_message(GetLastError()));
@@ -95,8 +96,10 @@
wc_dllname = NULL;
if((proc = GetProcAddress(hmod, procedure))) {
- purple_debug_info("wpurple", "This version of %s contains %s\n",
- dllname, procedure);
+ if (purple_debug_is_verbose()) {
+ purple_debug_info("wpurple", "This version of %s contains %s\n",
+ dllname, procedure);
+ }
return proc;
}
else {
--- a/pidgin/win32/nsis/generate_gtk_zip.sh Sun Apr 07 17:51:24 2013 +0200
+++ b/pidgin/win32/nsis/generate_gtk_zip.sh Sun Apr 07 22:22:34 2013 +0200
@@ -88,6 +88,7 @@
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"
+GTKSPELL="${DOWNLOAD_HOST}mingw32-gtkspell-2.0.16-2.5.noarch.rpm GtkSpell 2.0.16-2.5 sha1sum:49381274b248ffe56ef733a90908541dc587c9af"
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"
@@ -103,10 +104,13 @@
LIBTIFF="${DOWNLOAD_HOST}mingw32-libtiff-4.0.2-1.4.noarch.rpm libtiff 4.0.2-1.4 sha1sum:9a8f8b018e8bafd47067fe6fd0debc1e887239b1"
LIBXML="${DOWNLOAD_HOST}mingw32-libxml2-2.8.0-2.6.noarch.rpm libxml 2.8.0-2.6 sha1sum:9be07823d7074362abac17bf7a7b092659aed002"
LIBXSLT="${DOWNLOAD_HOST}mingw32-libxslt-1.1.27-1.4.noarch.rpm libxslt 1.1.27-1.4 sha1sum:4a08612ad73235b0fab95e17644d72e8f24097c3"
+MEANW="${DOWNLOAD_HOST}mingw32-meanwhile-1.0.2-2.6.noarch.rpm Meanwhile 1.0.2-2.6 sha1sum:afce5c0157c270ee30c049fdabd7328fa3b3233e"
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"
+TCL="${DOWNLOAD_HOST}mingw32-tcl-8.5.9-13.6.noarch.rpm Tcl 8.5.9-13.6 sha1sum:442eaf5e761d59bb527cb1f9f93749ebc13b4367"
+TK="${DOWNLOAD_HOST}mingw32-tk-8.5.9-8.6.noarch.rpm Tk 8.5.9-8.6 sha1sum:d0884c56f767f76981ddf7bc6d74d3c47237740a"
#webkit 1.10 crashes when calling document.createElement, so I grabbed 1.8 from openSUSE_Factory instead
#TODO: investigate it
@@ -114,7 +118,7 @@
WEBKITGTK="${DOWNLOAD_HOST}mingw32-libwebkitgtk-1.8.3-1.14.noarch.rpm WebKitGTK+ 1.8.3-1.14 sha1sum:ade86455fc2da257f4fe5831367f500a61a1af9a"
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 LIBSSP LIBSTDCPP LIBTIFF LIBXML LIBXSLT PANGO PIXMAN PTHREADS SQLITE WEBKITGTK ZLIB"
+ALL="ATK CAIRO2 DBUS DBUS_GLIB ENCHANT FONTCONFIG FREETYPE GDK_PIXBUF GEOCLUE GLIB GST GST_INT GTK2 GTKSPELL LIBFFI LIBGCC LIBJASPER LIBICU LIBINTL LIBJPEG LIBJSON LIBLZMA LIBPNG LIBSOUP LIBSSP LIBSTDCPP LIBTIFF LIBXML LIBXSLT MEANW PANGO PIXMAN PTHREADS SQLITE TCL TK WEBKITGTK ZLIB"
mkdir -p $STAGE_DIR
cd $STAGE_DIR
--- a/pidgin/win32/prepare-workspace.sh Sun Apr 07 17:51:24 2013 +0200
+++ b/pidgin/win32/prepare-workspace.sh Sun Apr 07 22:22:34 2013 +0200
@@ -68,16 +68,16 @@
ARC_GT8="${DOWNLOAD_HOST}mingw32-pango-devel-1.30.1-1.7.noarch.rpm;gtk: Pango;1.30.1-1.7;8cd9e088f5355f499c3b25af1a451c7e63383f98;${OBS_SKIP};${GTK_DIR}"
ARCHIVES+="ARC_GT8 "
-ARC_ENC="${DOWNLOAD_HOST}enchant_1.6.0_win32.zip;Enchant;1.6.0;831ec6bd4da4f58015415d6e17301a91ab11675a;enchant_1.6.0_win32;enchant_1.6.0_win32"
+ARC_ENC="${DOWNLOAD_HOST}mingw32-enchant-devel-1.6.0-3.7.noarch.rpm;Enchant;1.6.0-3.7;a535ac09423ba84fcd484ffa2251ab7ceea0121f;${OBS_SKIP};enchant-1.6"
ARCHIVES+="ARC_ENC "
-ARC_GSP="${DOWNLOAD_HOST}gtkspell-2.0.16.tar.bz2;GtkSpell;2.0.16;fd3fddeccb0ad4990708129731a5e93b899fca93;gtkspell-2.0.16;gtkspell-2.0.16"
+ARC_GSP="${DOWNLOAD_HOST}mingw32-gtkspell-devel-2.0.16-2.5.noarch.rpm;GtkSpell;2.0.16-2.5;ededc099c2ad5ede6b27cf5f70753f693fa1f0e3;${OBS_SKIP};gtkspell-2.0"
ARCHIVES+="ARC_GSP "
ARC_INT="${DOWNLOAD_HOST}intltool_0.40.4-1_win32.zip;intltool;0.40.4-1;e609c31dee8aa60b738c839ea958ec241109e1bd;;intltool_0.40.4-1_win32"
ARCHIVES+="ARC_INT "
-ARC_MWH="${DOWNLOAD_HOST}meanwhile-1.0.2_daa3-win32.zip;meanwhile;1.0.2_daa3;9653fcd8736d3eb947c4e58726dcc7c23859fac7;meanwhile-1.0.2_daa3;meanwhile-1.0.2_daa3"
+ARC_MWH="${DOWNLOAD_HOST}mingw32-meanwhile-devel-1.0.2-2.6.noarch.rpm;meanwhile;1.0.2-2.6;1a1ceda731486c28aca0b866e4746992bc7ba121;${OBS_SKIP};meanwhile-1.0"
ARCHIVES+="ARC_MWH "
ARC_PRL="${DOWNLOAD_HOST}perl_5-10-0.tar.gz;Perl;5.10.0;863b2f879698a5407a3edb73a310bdfc9dea8f12;perl-5.10.0;perl-5.10.0"
@@ -86,9 +86,12 @@
ARC_SIL="${DOWNLOAD_HOST}silc-toolkit-1.1.10.tar.gz;SILC Toolkit;1.1.10;42f835ed28d9567acde8bd3e553c8a5c94b799c5;silc-toolkit-1.1.10;silc-toolkit-1.1.10"
ARCHIVES+="ARC_SIL "
-ARC_TCL="${DOWNLOAD_HOST}tcl-8.4.5.tar.gz;Tcl;8.4.5;2d4ae9e6f3609ac3c41c88be81deb2a26f2e82b5;tcl-8.4.5;tcl-8.4.5"
+ARC_TCL="${DOWNLOAD_HOST}mingw32-tcl-devel-8.5.9-13.6.noarch.rpm;Tcl;8.5.9-13.6;22a6d0e748d7c7c5863f15199a21019a57a46748;${OBS_SKIP};tcl-8.5"
ARCHIVES+="ARC_TCL "
+ARC_TK="${DOWNLOAD_HOST}mingw32-tk-devel-8.5.9-8.6.noarch.rpm;Tk;8.5.9-8.6;17fc995bbdca21579b52991c2e74bead1815c76a;${OBS_SKIP};tcl-8.5"
+ARCHIVES+="ARC_TK "
+
ARC_JSG="${DOWNLOAD_HOST}mingw32-json-glib-devel-0.14.2-1.7.noarch.rpm;json-glib;0.14.2-1.7;e86a81d5c4bbc7a2ea6b808dd5819c883c4303cc;${OBS_SKIP};json-glib-0.14"
ARCHIVES+="ARC_JSG "
--- a/pidgin/win32/wspell.c Sun Apr 07 17:51:24 2013 +0200
+++ b/pidgin/win32/wspell.c Sun Apr 07 22:22:34 2013 +0200
@@ -87,20 +87,19 @@
g_free(tmp);
g_setenv("PATH", tmp2, TRUE);
g_free(tmp2);
+ g_free(tmp);
- tmp = g_build_filename(wpurple_install_dir(), "spellcheck", GTKSPELL_DLL, NULL);
/* Suppress error popups */
- wpidginspell_new_attach_proxy = (void*) wpurple_find_and_loadproc(tmp, "gtkspell_new_attach" );
+ wpidginspell_new_attach_proxy = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_new_attach" );
if (wpidginspell_new_attach_proxy) {
- wpidginspell_get_from_text_view = (void*) wpurple_find_and_loadproc(tmp, "gtkspell_get_from_text_view");
- wpidginspell_detach = (void*) wpurple_find_and_loadproc(tmp, "gtkspell_detach");
- wpidginspell_set_language = (void*) wpurple_find_and_loadproc(tmp, "gtkspell_set_language");
- wpidginspell_recheck_all = (void*) wpurple_find_and_loadproc(tmp, "gtkspell_recheck_all");
+ wpidginspell_get_from_text_view = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_get_from_text_view");
+ wpidginspell_detach = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_detach");
+ wpidginspell_set_language = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_set_language");
+ wpidginspell_recheck_all = (void*) wpurple_find_and_loadproc(GTKSPELL_DLL, "gtkspell_recheck_all");
} else {
- purple_debug_warning("wspell", "Couldn't load gtkspell (%s) \n", tmp);
+ purple_debug_warning("wspell", "Couldn't load gtkspell (%s) \n", GTKSPELL_DLL);
/*wpidginspell_new_attach = wgtkspell_new_attach;*/
}
- g_free(tmp);
SetErrorMode(old_error_mode);
}