summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTroy C2015-06-25 11:57:17 -0500
committerTroy C2015-06-25 11:57:17 -0500
commit5786016aadd0d2c83393c731e1272ffe53766493 (patch)
tree163b3fc83d9b9bd84e99fc5984b92b9a7524448d
downloadaur-5786016aadd0d2c83393c731e1272ffe53766493.tar.gz
Initial commit to AUR4
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD42
-rw-r--r--broken-status.patch159
-rw-r--r--fix_glib_includes.patch235
-rw-r--r--fix_groupchat.patch76
5 files changed, 532 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..7cc7adf488ef
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,20 @@
+pkgbase = meanwhile
+ pkgdesc = Meanwhile libraries
+ pkgver = 1.0.2
+ pkgrel = 8
+ arch = i686
+ arch = x86_64
+ license = GPL
+ depends = glib2
+ conflicts = meanwhile-svn
+ source = http://downloads.sourceforge.net/sourceforge/meanwhile/meanwhile-1.0.2.tar.gz
+ source = broken-status.patch
+ source = fix_glib_includes.patch
+ source = fix_groupchat.patch
+ sha256sums = 38a8059eaa549cbcb45ca0a5b453e9608ceadab360db2ae14581fb22ddabdf23
+ sha256sums = 9a60e2ca35d902d5dd9647254a20099ceb399a025f1b04c2676f90ffe2d276f0
+ sha256sums = c3dc0e423f7f4ceee65e4c08c1daebee23c61c608b970185074d118ed0199c47
+ sha256sums = 90467c648c18086a3f7989b7bab8f21eb44631c19a7d531121e927a0a1e74e9c
+
+pkgname = meanwhile
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..62d5e0965680
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Troy C < rstrox -ta yahoo -tod com >
+# Contributor: Marek Skrobacki <skrobul@skrobul.com>
+# Contributor: Alasdair Haswell <ali at arhaswell dot co dot uk>
+
+pkgname=meanwhile
+pkgver=1.0.2
+pkgrel=8
+pkgdesc="Meanwhile libraries"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('glib2')
+conflicts=('meanwhile-svn')
+source=(http://downloads.sourceforge.net/sourceforge/meanwhile/$pkgname-$pkgver.tar.gz
+ broken-status.patch
+ fix_glib_includes.patch
+ fix_groupchat.patch)
+sha256sums=('38a8059eaa549cbcb45ca0a5b453e9608ceadab360db2ae14581fb22ddabdf23'
+ '9a60e2ca35d902d5dd9647254a20099ceb399a025f1b04c2676f90ffe2d276f0'
+ 'c3dc0e423f7f4ceee65e4c08c1daebee23c61c608b970185074d118ed0199c47'
+ '90467c648c18086a3f7989b7bab8f21eb44631c19a7d531121e927a0a1e74e9c')
+
+
+build() {
+ cd $srcdir/$pkgname-$pkgver/src
+ patch -Np0 -i "${srcdir}/broken-status.patch"
+ patch -Np2 -i "${srcdir}/fix_glib_includes.patch"
+ patch -Np2 -i "${srcdir}/fix_groupchat.patch"
+
+ cd $srcdir/$pkgname-$pkgver
+
+ CFLAGS="-mtune=generic -pipe -fstack-protector --param=ssp-buffer-size=4"
+ CXXFLAGS="${CFLAGS}"
+ export CFLAGS CXXFLAGS
+
+ ./configure --prefix=/usr --disable-doxygen --disable-mailme
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+}
diff --git a/broken-status.patch b/broken-status.patch
new file mode 100644
index 000000000000..43313e67936b
--- /dev/null
+++ b/broken-status.patch
@@ -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);
+ }
+-
diff --git a/fix_glib_includes.patch b/fix_glib_includes.patch
new file mode 100644
index 000000000000..047eda0ef223
--- /dev/null
+++ b/fix_glib_includes.patch
@@ -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"
diff --git a/fix_groupchat.patch b/fix_groupchat.patch
new file mode 100644
index 000000000000..dcf24d07a501
--- /dev/null
+++ b/fix_groupchat.patch
@@ -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);
+ }
+