From 27ea247eb0d1fee253700f13972b8010a41bd6e3 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Mon, 20 Dec 2010 13:00:28 +0000 Subject: [PATCH] Add new port pidgin-skype aka. skype4pidgin. This is a Skype Plugin for Pidgin/libpurple/Adium. It lets you view and chat with all your Skype buddies from within Pidgin/Adium. You still need Skype to be running to be able to use it, but it lets you keep a consistent user interface and use all the other nifty Pidgin/Adium plugins with it, like spell-checking or OTR encryption. By Eion Robb. --- net-im/Makefile | 1 + net-im/pidgin-skype/Makefile | 64 +++++++++++++++++++ net-im/pidgin-skype/distinfo | 2 + .../files/patch-skype_messaging.c | 32 ++++++++++ net-im/pidgin-skype/pkg-descr | 7 ++ net-im/pidgin-skype/pkg-plist | 13 ++++ 6 files changed, 119 insertions(+) create mode 100644 net-im/pidgin-skype/Makefile create mode 100644 net-im/pidgin-skype/distinfo create mode 100644 net-im/pidgin-skype/files/patch-skype_messaging.c create mode 100644 net-im/pidgin-skype/pkg-descr create mode 100644 net-im/pidgin-skype/pkg-plist diff --git a/net-im/Makefile b/net-im/Makefile index fd360030eeff..073834487514 100644 --- a/net-im/Makefile +++ b/net-im/Makefile @@ -130,6 +130,7 @@ SUBDIR += pidgin-privacy-please SUBDIR += pidgin-rhythmbox SUBDIR += pidgin-sipe + SUBDIR += pidgin-skype SUBDIR += pidgin-twitter SUBDIR += pino SUBDIR += pork diff --git a/net-im/pidgin-skype/Makefile b/net-im/pidgin-skype/Makefile new file mode 100644 index 000000000000..720a8949f51a --- /dev/null +++ b/net-im/pidgin-skype/Makefile @@ -0,0 +1,64 @@ +# New ports collection makefile for: pidgin-skype +# Date created: 2010-12-19 +# Whom: mandree@FreeBSD.org +# +# $FreeBSD$ +# + +PORTNAME= pidgin-skype +PORTVERSION= 0.0.0.604 +CATEGORIES= net-im +MASTER_SITES= ${MASTER_SITE_LOCAL} +MASTER_SITE_SUBDIR= mandree +DISTFILES= pidgin-skype-svn-r${PORTVERSION:E}.tar.xz + +MAINTAINER= mandree@FreeBSD.org +COMMENT= Plugin to use Skype chat from Pidgin (with Skype running) + +BUILD_DEPENDS= ${LOCALBASE}/include/pidgin/pidgin.h:${PORTSDIR}/net-im/pidgin \ + ${LOCALBASE}/bin/skype:${PORTSDIR}/net/skype +RUN_DEPENDS= pidgin:${PORTSDIR}/net-im/pidgin \ + ${LOCALBASE}/bin/skype:${PORTSDIR}/net/skype + +LICENSE= GPLv2 + +USE_GMAKE= yes +USE_GNOME= glib20 +USE_XZ= yes + +# this is a local target to build a tarball +build-tarball: ${DISTFILES} + ${RM} -rf ${WRKSRC} + svn export -r${PORTVERSION:E} \ + http://skype4pidgin.googlecode.com/svn/trunk/ ${WRKSRC} + tar -C ${WRKSRC}/.. -cvf - ${WRKSRC:T} | ${XZ_CMD} -vvc >${DISTFILES} || \ + { ${RM} -f ${DISTFILES} ; exit 1 ; } + +upload-tarball: build-tarball + scp ${DISTFILES} freefall.freebsd.org:public_distfiles/ + +mycflags= -shared -fPIC -DPIC ${PTHREAD_CFLAGS} \ + -I${LOCALBASE}/include \ + -I${LOCALBASE}/include/libpurple \ + -I${LOCALBASE}/include/pidgin \ + -I${LOCALBASE}/include/glib-2.0 \ + -DPURPLE_PLUGINS +mylibs= ${PTHREAD_LIBS} + +do-build: + cd ${WRKSRC} && ${CC} ${CFLAGS} ${mycflags} \ + -o libskype.so libskype.c ${mylibs} + +do-install: + ${MKDIR} ${PREFIX}/lib/purple-2 + ${INSTALL_DATA} ${WRKSRC}/libskype.so ${PREFIX}/lib/purple-2 + ${MKDIR} ${PREFIX}/share/pixmaps/pidgin/emotes/skype + ${INSTALL_DATA} ${WRKSRC}/theme ${PREFIX}/share/pixmaps/pidgin/emotes/skype +.for i in 16 22 48 + ${MKDIR} ${PREFIX}/share/pixmaps/pidgin/protocols/${i} + ${INSTALL_DATA} ${WRKSRC}/icons/${i}/skypeout.png \ + ${WRKSRC}/icons/${i}/skype.png \ + ${PREFIX}/share/pixmaps/pidgin/protocols/${i}/ +.endfor + +.include diff --git a/net-im/pidgin-skype/distinfo b/net-im/pidgin-skype/distinfo new file mode 100644 index 000000000000..3eeff73ff5ac --- /dev/null +++ b/net-im/pidgin-skype/distinfo @@ -0,0 +1,2 @@ +SHA256 (pidgin-skype-svn-r604.tar.xz) = c32da346e2baf4105dc5e52be89243fbe8a14e04c5414afaed73d7d6475bc75b +SIZE (pidgin-skype-svn-r604.tar.xz) = 113888 diff --git a/net-im/pidgin-skype/files/patch-skype_messaging.c b/net-im/pidgin-skype/files/patch-skype_messaging.c new file mode 100644 index 000000000000..43ac79c0c36e --- /dev/null +++ b/net-im/pidgin-skype/files/patch-skype_messaging.c @@ -0,0 +1,32 @@ +--- ./skype_messaging.c.orig 2010-01-28 02:22:49.000000000 +0100 ++++ ./skype_messaging.c 2010-12-20 02:20:23.000000000 +0100 +@@ -176,7 +176,7 @@ + #ifdef __APPLE__ + guint timeout = 0; + #else +-#ifdef _WIN32 ++#if _WIN32 || __FreeBSD__ + guint timeout = 0; + #else + gboolean condition_result; +@@ -223,6 +223,12 @@ + + if (timeout++ == 10000) + #else ++#ifdef __FreeBSD__ ++ usleep(1000); ++ g_static_mutex_lock2(&mutex); ++ ++ if (timeout++ == 10000) ++#else + + //wait for message for a maximum of 10 seconds + g_get_current_time(&endtime); +@@ -235,6 +241,7 @@ + if(!condition_result) + #endif + #endif ++#endif + { + //we timed out while waiting + g_hash_table_remove(message_queue, &cur_message_num); diff --git a/net-im/pidgin-skype/pkg-descr b/net-im/pidgin-skype/pkg-descr new file mode 100644 index 000000000000..de83298982bb --- /dev/null +++ b/net-im/pidgin-skype/pkg-descr @@ -0,0 +1,7 @@ +This is a Skype Plugin for Pidgin/libpurple/Adium. It lets you view and +chat with all your Skype buddies from within Pidgin/Adium. You still +need Skype to be running to be able to use it, but it lets you keep a +consistent user interface and use all the other nifty Pidgin/Adium +plugins with it, like spell-checking or OTR encryption. -- Eion Robb + +WWW: http://eion.robbmob.com/ diff --git a/net-im/pidgin-skype/pkg-plist b/net-im/pidgin-skype/pkg-plist new file mode 100644 index 000000000000..3bf1bce58dfa --- /dev/null +++ b/net-im/pidgin-skype/pkg-plist @@ -0,0 +1,13 @@ +@comment $FreeBSD$ +lib/purple-2/libskype.so +share/pixmaps/pidgin/protocols/16/skypeout.png +share/pixmaps/pidgin/protocols/22/skypeout.png +share/pixmaps/pidgin/protocols/48/skypeout.png +share/pixmaps/pidgin/protocols/16/skype.png +share/pixmaps/pidgin/protocols/22/skype.png +share/pixmaps/pidgin/protocols/48/skype.png +share/pixmaps/pidgin/emotes/skype/theme +@dirrm share/pixmaps/pidgin/emotes/skype +@dirrmtry share/pixmaps/pidgin/protocols/48 +@dirrmtry share/pixmaps/pidgin/protocols/22 +@dirrmtry share/pixmaps/pidgin/protocols/16