New Package for meanwhile.
This commit is contained in:
52
mingw-w64-meanwhile/PKGBUILD
Normal file
52
mingw-w64-meanwhile/PKGBUILD
Normal file
@@ -0,0 +1,52 @@
|
||||
# Maintainer: Troy C < rstrox -ta yahoo -tod com >
|
||||
# Contributor: Marek Skrobacki <skrobul@skrobul.com>
|
||||
# Contributor: Alasdair Haswell <ali at arhaswell dot co dot uk>
|
||||
_realname=meanwhile
|
||||
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
|
||||
pkgver=1.0.2
|
||||
pkgrel=1
|
||||
pkgdesc="Meanwhile libraries (mingw64)"
|
||||
arch=('any')
|
||||
url="http://sourceforge.net/projects/meanwhile"
|
||||
license=('GPL')
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-glib2")
|
||||
conflicts=('meanwhile-svn')
|
||||
source=(http://downloads.sourceforge.net/sourceforge/meanwhile/${_realname}-$pkgver.tar.gz
|
||||
broken-status.patch
|
||||
fix_glib_includes.patch
|
||||
fix_groupchat.patch)
|
||||
sha256sums=('38a8059eaa549cbcb45ca0a5b453e9608ceadab360db2ae14581fb22ddabdf23'
|
||||
'9a60e2ca35d902d5dd9647254a20099ceb399a025f1b04c2676f90ffe2d276f0'
|
||||
'c3dc0e423f7f4ceee65e4c08c1daebee23c61c608b970185074d118ed0199c47'
|
||||
'90467c648c18086a3f7989b7bab8f21eb44631c19a7d531121e927a0a1e74e9c')
|
||||
|
||||
prepare() {
|
||||
cd $srcdir/${_realname}-$pkgver/src
|
||||
patch -Np0 -i "${srcdir}/broken-status.patch"
|
||||
patch -Np2 -i "${srcdir}/fix_glib_includes.patch"
|
||||
patch -Np2 -i "${srcdir}/fix_groupchat.patch"
|
||||
|
||||
}
|
||||
build() {
|
||||
cd $srcdir/${_realname}-$pkgver
|
||||
|
||||
CFLAGS="-mtune=generic -pipe -fno-stack-protector --param=ssp-buffer-size=4"
|
||||
CXXFLAGS="${CFLAGS}"
|
||||
export lt_cv_deplibs_check_method='pass_all'
|
||||
export CFLAGS CXXFLAGS
|
||||
|
||||
./configure \
|
||||
--prefix=${MINGW_PREFIX} \
|
||||
--build=${MINGW_CHOST} \
|
||||
--host=${MINGW_CHOST} \
|
||||
--disable-doxygen \
|
||||
--disable-mailme \
|
||||
--disable-static \
|
||||
--enable-shared
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $srcdir/${_realname}-$pkgver
|
||||
make DESTDIR=$pkgdir install
|
||||
}
|
||||
159
mingw-w64-meanwhile/broken-status.patch
Normal file
159
mingw-w64-meanwhile/broken-status.patch
Normal file
@@ -0,0 +1,159 @@
|
||||
--- cipher.c 2005-12-24 19:32:50.000000000 +0000
|
||||
+++ ../../../cipher.c 2010-10-26 16:30:51.234362617 +0100
|
||||
@@ -1,4 +1,3 @@
|
||||
-
|
||||
/*
|
||||
Meanwhile - Unofficial Lotus Sametime Community Client Library
|
||||
Copyright (C) 2004 Christopher (siege) O'Brien
|
||||
@@ -718,7 +717,7 @@
|
||||
static void accepted_RC2_128(struct mwCipherInstance *ci,
|
||||
struct mwEncryptItem *item) {
|
||||
|
||||
- return offered_RC2_128(ci, item);
|
||||
+ offered_RC2_128(ci, item);
|
||||
}
|
||||
|
||||
|
||||
@@ -965,4 +964,3 @@
|
||||
|
||||
g_free(ci);
|
||||
}
|
||||
-
|
||||
--- common.c 2005-12-08 19:48:36.000000000 +0000
|
||||
+++ ../../../common.c 2010-10-26 16:32:48.220662572 +0100
|
||||
@@ -1,4 +1,3 @@
|
||||
-
|
||||
/*
|
||||
Meanwhile - Unofficial Lotus Sametime Community Client Library
|
||||
Copyright (C) 2004 Christopher (siege) O'Brien
|
||||
@@ -878,24 +877,25 @@
|
||||
/* 8.4.2.4 Snapshot */
|
||||
|
||||
void mwAwareSnapshot_get(struct mwGetBuffer *b, struct mwAwareSnapshot *idb) {
|
||||
- guint32 junk;
|
||||
- char *empty = NULL;
|
||||
+ guint32 end_of_block;
|
||||
|
||||
g_return_if_fail(b != NULL);
|
||||
g_return_if_fail(idb != NULL);
|
||||
|
||||
- guint32_get(b, &junk);
|
||||
+ guint32_get(b, &end_of_block);
|
||||
mwAwareIdBlock_get(b, &idb->id);
|
||||
mwString_get(b, &idb->group);
|
||||
gboolean_get(b, &idb->online);
|
||||
|
||||
- g_free(empty);
|
||||
-
|
||||
if(idb->online) {
|
||||
mwString_get(b, &idb->alt_id);
|
||||
mwUserStatus_get(b, &idb->status);
|
||||
mwString_get(b, &idb->name);
|
||||
}
|
||||
+
|
||||
+ if(b->ptr < b->buf + end_of_block) {
|
||||
+ mwGetBuffer_advance(b, b->buf + end_of_block - b->ptr);
|
||||
+ }
|
||||
}
|
||||
|
||||
|
||||
@@ -924,4 +924,3 @@
|
||||
g_free(idb->group);
|
||||
memset(idb, 0x00, sizeof(struct mwAwareSnapshot));
|
||||
}
|
||||
-
|
||||
--- mw_cipher.h 2005-12-15 00:30:28.000000000 +0000
|
||||
+++ ../../../mw_cipher.h 2010-10-26 16:31:39.030127293 +0100
|
||||
@@ -1,4 +1,3 @@
|
||||
-
|
||||
/*
|
||||
Meanwhile - Unofficial Lotus Sametime Community Client Library
|
||||
Copyright (C) 2004 Christopher (siege) O'Brien
|
||||
@@ -74,8 +73,8 @@
|
||||
struct mwSession *session;
|
||||
|
||||
guint16 type; /**< @see mwCipher_getType */
|
||||
- const char *(*get_name)(); /**< @see mwCipher_getName */
|
||||
- const char *(*get_desc)(); /**< @see mwCipher_getDesc */
|
||||
+ const char *(*get_name)(void); /**< @see mwCipher_getName */
|
||||
+ const char *(*get_desc)(void); /**< @see mwCipher_getDesc */
|
||||
|
||||
/** Generate a new Cipher Instance for use on a channel
|
||||
@see mwCipher_newInstance */
|
||||
@@ -252,7 +251,7 @@
|
||||
|
||||
|
||||
/** prepare a new mpi value */
|
||||
-struct mwMpi *mwMpi_new();
|
||||
+struct mwMpi *mwMpi_new(void);
|
||||
|
||||
|
||||
/** destroy an mpi value */
|
||||
--- mw_common.h 2005-12-15 00:30:28.000000000 +0000
|
||||
+++ ../../../mw_common.h 2010-10-26 16:33:17.914697797 +0100
|
||||
@@ -1,4 +1,3 @@
|
||||
-
|
||||
/*
|
||||
Meanwhile - Unofficial Lotus Sametime Community Client Library
|
||||
Copyright (C) 2004 Christopher (siege) O'Brien
|
||||
@@ -153,10 +152,14 @@
|
||||
/* 8.3.5 User Status Types */
|
||||
|
||||
enum mwStatusType {
|
||||
+ mwStatus_OFFLINE = 0x0000,
|
||||
+
|
||||
mwStatus_ACTIVE = 0x0020,
|
||||
mwStatus_IDLE = 0x0040,
|
||||
mwStatus_AWAY = 0x0060,
|
||||
mwStatus_BUSY = 0x0080,
|
||||
+
|
||||
+ mwStatus_MASK_MOBILE = 0x0200,
|
||||
};
|
||||
|
||||
|
||||
@@ -224,7 +227,7 @@
|
||||
|
||||
|
||||
/** allocate a new empty buffer */
|
||||
-struct mwPutBuffer *mwPutBuffer_new();
|
||||
+struct mwPutBuffer *mwPutBuffer_new(void);
|
||||
|
||||
|
||||
/** write raw data to the put buffer */
|
||||
--- mw_st_list.h 2005-12-15 00:30:28.000000000 +0000
|
||||
+++ ../../../mw_st_list.h 2010-10-26 16:32:16.350153506 +0100
|
||||
@@ -1,4 +1,3 @@
|
||||
-
|
||||
/*
|
||||
Meanwhile - Unofficial Lotus Sametime Community Client Library
|
||||
Copyright (C) 2004 Christopher (siege) O'Brien
|
||||
@@ -77,7 +76,7 @@
|
||||
|
||||
|
||||
/** Create a new list */
|
||||
-struct mwSametimeList *mwSametimeList_new();
|
||||
+struct mwSametimeList *mwSametimeList_new(void);
|
||||
|
||||
|
||||
/** Free the list, all of its groups, and all of the groups' members */
|
||||
--- srvc_conf.c 2005-12-28 02:46:54.000000000 +0000
|
||||
+++ ../../../srvc_conf.c 2010-10-26 16:33:57.337870772 +0100
|
||||
@@ -1,4 +1,3 @@
|
||||
-
|
||||
/*
|
||||
Meanwhile - Unofficial Lotus Sametime Community Client Library
|
||||
Copyright (C) 2004 Christopher (siege) O'Brien
|
||||
@@ -156,7 +155,7 @@
|
||||
if(conf->members)
|
||||
g_hash_table_destroy(conf->members);
|
||||
|
||||
- g_list_remove_all(srvc->confs, conf);
|
||||
+ srvc->confs = g_list_remove_all(srvc->confs, conf);
|
||||
|
||||
mw_datum_clear(&conf->client_data);
|
||||
|
||||
@@ -864,4 +863,3 @@
|
||||
g_return_val_if_fail(srvc != NULL, NULL);
|
||||
return g_list_copy(srvc->confs);
|
||||
}
|
||||
-
|
||||
235
mingw-w64-meanwhile/fix_glib_includes.patch
Normal file
235
mingw-w64-meanwhile/fix_glib_includes.patch
Normal file
@@ -0,0 +1,235 @@
|
||||
diff --git a/src/channel.c b/src/channel.c
|
||||
index d7215a9..932522d 100644
|
||||
--- a/src/channel.c
|
||||
+++ b/src/channel.c
|
||||
@@ -19,8 +19,6 @@
|
||||
*/
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/ghash.h>
|
||||
-#include <glib/glist.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "mw_channel.h"
|
||||
diff --git a/src/mw_debug.c b/src/mw_debug.c
|
||||
index cf47a38..d22d287 100644
|
||||
--- a/src/mw_debug.c
|
||||
+++ b/src/mw_debug.c
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
|
||||
|
||||
-#include <glib/gstring.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "mw_debug.h"
|
||||
|
||||
diff --git a/src/mw_message.h b/src/mw_message.h
|
||||
index 8402b8b..a825ec2 100644
|
||||
--- a/src/mw_message.h
|
||||
+++ b/src/mw_message.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#define _MW_MESSAGE_H
|
||||
|
||||
|
||||
-#include <glib/glist.h>
|
||||
+#include <glib.h>
|
||||
#include "mw_common.h"
|
||||
|
||||
|
||||
diff --git a/src/mw_srvc_conf.h b/src/mw_srvc_conf.h
|
||||
index 156c639..66d885b 100644
|
||||
--- a/src/mw_srvc_conf.h
|
||||
+++ b/src/mw_srvc_conf.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#define _MW_SRVC_CONF_H
|
||||
|
||||
|
||||
-#include <glib/glist.h>
|
||||
+#include <glib.h>
|
||||
#include "mw_common.h"
|
||||
|
||||
|
||||
diff --git a/src/mw_srvc_dir.h b/src/mw_srvc_dir.h
|
||||
index b9230bb..8fd1c85 100644
|
||||
--- a/src/mw_srvc_dir.h
|
||||
+++ b/src/mw_srvc_dir.h
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/glist.h>
|
||||
+#include <glib.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
diff --git a/src/mw_srvc_place.h b/src/mw_srvc_place.h
|
||||
index e17aa71..bba97b6 100644
|
||||
--- a/src/mw_srvc_place.h
|
||||
+++ b/src/mw_srvc_place.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#define _MW_SRVC_PLACE_H
|
||||
|
||||
|
||||
-#include <glib/glist.h>
|
||||
+#include <glib.h>
|
||||
#include "mw_common.h"
|
||||
|
||||
|
||||
diff --git a/src/mw_srvc_resolve.h b/src/mw_srvc_resolve.h
|
||||
index 3b06b75..55aefdf 100644
|
||||
--- a/src/mw_srvc_resolve.h
|
||||
+++ b/src/mw_srvc_resolve.h
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/glist.h>
|
||||
+#include <glib.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
diff --git a/src/mw_st_list.h b/src/mw_st_list.h
|
||||
index 39e1cbf..c0032d4 100644
|
||||
--- a/src/mw_st_list.h
|
||||
+++ b/src/mw_st_list.h
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/glist.h>
|
||||
+#include <glib.h>
|
||||
#include "mw_common.h"
|
||||
|
||||
|
||||
diff --git a/src/mw_util.h b/src/mw_util.h
|
||||
index b8e0b7e..10dcd69 100644
|
||||
--- a/src/mw_util.h
|
||||
+++ b/src/mw_util.h
|
||||
@@ -23,9 +23,6 @@
|
||||
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/ghash.h>
|
||||
-#include <glib/glist.h>
|
||||
-
|
||||
|
||||
#define map_guint_new() \
|
||||
g_hash_table_new(g_direct_hash, g_direct_equal)
|
||||
diff --git a/src/srvc_aware.c b/src/srvc_aware.c
|
||||
index 869f973..dc2c12f 100644
|
||||
--- a/src/srvc_aware.c
|
||||
+++ b/src/srvc_aware.c
|
||||
@@ -19,8 +19,6 @@
|
||||
*/
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/ghash.h>
|
||||
-#include <glib/glist.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "mw_channel.h"
|
||||
diff --git a/src/srvc_conf.c b/src/srvc_conf.c
|
||||
index da8e6f3..eee0051 100644
|
||||
--- a/src/srvc_conf.c
|
||||
+++ b/src/srvc_conf.c
|
||||
@@ -19,8 +19,6 @@
|
||||
*/
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/ghash.h>
|
||||
-#include <glib/glist.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
diff --git a/src/srvc_dir.c b/src/srvc_dir.c
|
||||
index cf49152..ed5997e 100644
|
||||
--- a/src/srvc_dir.c
|
||||
+++ b/src/srvc_dir.c
|
||||
@@ -18,7 +18,7 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
-#include <glib/ghash.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "mw_channel.h"
|
||||
#include "mw_common.h"
|
||||
diff --git a/src/srvc_ft.c b/src/srvc_ft.c
|
||||
index 0564732..ff9f010 100644
|
||||
--- a/src/srvc_ft.c
|
||||
+++ b/src/srvc_ft.c
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
|
||||
|
||||
-#include <glib/glist.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "mw_channel.h"
|
||||
#include "mw_common.h"
|
||||
diff --git a/src/srvc_im.c b/src/srvc_im.c
|
||||
index 5930687..16714c7 100644
|
||||
--- a/src/srvc_im.c
|
||||
+++ b/src/srvc_im.c
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/glist.h>
|
||||
+#include <glib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "mw_channel.h"
|
||||
diff --git a/src/srvc_place.c b/src/srvc_place.c
|
||||
index fc979ff..58ba574 100644
|
||||
--- a/src/srvc_place.c
|
||||
+++ b/src/srvc_place.c
|
||||
@@ -19,8 +19,6 @@
|
||||
*/
|
||||
|
||||
#include <glib.h>
|
||||
-#include <glib/ghash.h>
|
||||
-#include <glib/glist.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
diff --git a/src/srvc_resolve.c b/src/srvc_resolve.c
|
||||
index aac0d49..c71d7b3 100644
|
||||
--- a/src/srvc_resolve.c
|
||||
+++ b/src/srvc_resolve.c
|
||||
@@ -18,7 +18,7 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
-#include <glib/ghash.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "mw_channel.h"
|
||||
#include "mw_common.h"
|
||||
diff --git a/src/srvc_store.c b/src/srvc_store.c
|
||||
index 90f2efc..afbd2b6 100644
|
||||
--- a/src/srvc_store.c
|
||||
+++ b/src/srvc_store.c
|
||||
@@ -18,7 +18,7 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
-#include <glib/glist.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "mw_channel.h"
|
||||
#include "mw_debug.h"
|
||||
diff --git a/src/st_list.c b/src/st_list.c
|
||||
index 949696a..e47ec35 100644
|
||||
--- a/src/st_list.c
|
||||
+++ b/src/st_list.c
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
-#include <glib/gstring.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "mw_debug.h"
|
||||
#include "mw_util.h"
|
||||
76
mingw-w64-meanwhile/fix_groupchat.patch
Normal file
76
mingw-w64-meanwhile/fix_groupchat.patch
Normal file
@@ -0,0 +1,76 @@
|
||||
--- a/src/srvc_place.c 2013-10-02 13:49:18.048588870 -0500
|
||||
+++ b/src/srvc_place.c 2013-10-02 13:50:18.027648225 -0500
|
||||
@@ -39,6 +39,16 @@
|
||||
#define PROTOCOL_TYPE 0x00
|
||||
#define PROTOCOL_VER 0x05
|
||||
|
||||
+/*
|
||||
+ As of Sametime ~v8.5, there's a slightly different group chat invite message.
|
||||
+ This identifies the earliest server version using the new format. Currently,
|
||||
+ it's set for 8.5.1. If other people are having issues, we'll need to decrease
|
||||
+ this to their version.
|
||||
+*/
|
||||
+#define NEW_FORMAT_SERVER_VER_MAJOR 0x001e
|
||||
+#define NEW_FORMAT_SERVER_VER_MINOR 0x213f
|
||||
+
|
||||
+#define GUINT(val) (GPOINTER_TO_UINT((val)))
|
||||
|
||||
enum incoming_msg {
|
||||
msg_in_JOIN_RESPONSE = 0x0000, /* ? */
|
||||
@@ -165,6 +175,7 @@
|
||||
guint16 login_type;
|
||||
guint32 unknown_a;
|
||||
guint32 unknown_b;
|
||||
+ char *extraname;
|
||||
};
|
||||
|
||||
|
||||
@@ -189,6 +200,7 @@
|
||||
mwIdBlock_clear(&p->idb);
|
||||
g_free(p->login_id);
|
||||
g_free(p->name);
|
||||
+ g_free(p->extraname);
|
||||
g_free(p);
|
||||
}
|
||||
|
||||
@@ -394,6 +406,9 @@
|
||||
guint16_get(b, &pm->login_type);
|
||||
guint32_get(b, &pm->unknown_a);
|
||||
guint32_get(b, &pm->unknown_b);
|
||||
+ /* TODO: Since the Notes upgrade, an extra name string is sent to
|
||||
+ recv_SECTION_LIST(). It might be sent here, but since we're only
|
||||
+ parsing one user, it probably doesn't matter here. */
|
||||
|
||||
PUT_MEMBER(place, pm);
|
||||
if(srvc->handler && srvc->handler->peerJoined)
|
||||
@@ -519,8 +534,18 @@
|
||||
|
||||
static int recv_SECTION_LIST(struct mwPlace *place,
|
||||
struct mwGetBuffer *b) {
|
||||
- int ret = 0;
|
||||
+ int ret = 0, major, minor;
|
||||
guint32 sec, count;
|
||||
+ struct mwSession *session;
|
||||
+ gboolean newMsgFormat;
|
||||
+
|
||||
+ /* Check the server version to see if the message uses the new format */
|
||||
+ session = mwService_getSession(MW_SERVICE(place->service));
|
||||
+ major = GUINT(mwSession_getProperty(session, mwSession_SERVER_VER_MAJOR));
|
||||
+ minor = GUINT(mwSession_getProperty(session, mwSession_SERVER_VER_MINOR));
|
||||
+ newMsgFormat = (major == NEW_FORMAT_SERVER_VER_MAJOR
|
||||
+ && minor >= NEW_FORMAT_SERVER_VER_MINOR)
|
||||
+ || major > NEW_FORMAT_SERVER_VER_MAJOR;
|
||||
|
||||
mwGetBuffer_advance(b, 4);
|
||||
guint32_get(b, &sec);
|
||||
@@ -545,6 +570,10 @@
|
||||
guint32_get(b, &m->unknown_a);
|
||||
guint32_get(b, &m->unknown_b);
|
||||
|
||||
+ if(newMsgFormat) {
|
||||
+ mwString_get(b, &m->extraname);
|
||||
+ }
|
||||
+
|
||||
PUT_MEMBER(place, m);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user