aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlioux <lioux@FreeBSD.org>2006-02-23 10:07:52 +0800
committerlioux <lioux@FreeBSD.org>2006-02-23 10:07:52 +0800
commita16e4a1202efe89e0f72ae9049a7efbf669ea989 (patch)
tree19ac73a7a413c8c1f01c335f053645a1bfcb3f63
parentd0325e317e2a47e0a9e0c3fe4ada3ae678d1ab69 (diff)
downloadfreebsd-ports-gnome-a16e4a1202efe89e0f72ae9049a7efbf669ea989.tar.gz
freebsd-ports-gnome-a16e4a1202efe89e0f72ae9049a7efbf669ea989.tar.zst
freebsd-ports-gnome-a16e4a1202efe89e0f72ae9049a7efbf669ea989.zip
o New port libjingle version 0.2.1: Google Talk's implementation
of Jingle and Jingle-Audio o It only provides: 1) STUN server which implements the STUN protocol for Simple Traversal of UDP over NAT. 2) Relay server that may be used to relay traffic when a direct peer-to-peer connection could not be established. o The port itself does not install any libraries. It only uses them for these 2 sample servers.
-rw-r--r--net-im/Makefile1
-rw-r--r--net-im/libjingle/Makefile88
-rw-r--r--net-im/libjingle/distinfo3
-rw-r--r--net-im/libjingle/files/patch-configure65
-rw-r--r--net-im/libjingle/files/patch-talk__base__criticalsection.h10
-rw-r--r--net-im/libjingle/files/patch-talk__base__ssladapter.cc11
-rw-r--r--net-im/libjingle/files/patch-talk__session__phone__linphonemediaengine.cc20
-rw-r--r--net-im/libjingle/files/patch-talk__third_party__mediastreamer__msrtprecv.c11
-rw-r--r--net-im/libjingle/files/patch-talk__third_party__mediastreamer__msrtpsend.c11
-rw-r--r--net-im/libjingle/pkg-descr9
-rw-r--r--net-im/libjingle/pkg-message19
11 files changed, 248 insertions, 0 deletions
diff --git a/net-im/Makefile b/net-im/Makefile
index d64e7c4eab09..216819fe5aed 100644
--- a/net-im/Makefile
+++ b/net-im/Makefile
@@ -62,6 +62,7 @@
SUBDIR += kpopup
SUBDIR += libicq
SUBDIR += libicq2000
+ SUBDIR += libjingle
SUBDIR += libmsn
SUBDIR += libyahoo2
SUBDIR += licq
diff --git a/net-im/libjingle/Makefile b/net-im/libjingle/Makefile
new file mode 100644
index 000000000000..40eb31d25224
--- /dev/null
+++ b/net-im/libjingle/Makefile
@@ -0,0 +1,88 @@
+# New ports collection makefile for: libjingle
+# Date created: Wed Feb 22 01:33:20 UTC 2006
+# Whom: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= libjingle
+PORTVERSION= 0.2.1
+CATEGORIES= net-im
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+
+MAINTAINER= lioux@FreeBSD.org
+COMMENT= Google Talk's implementation of Jingle and Jingle-Audio
+
+BUILD_DEPENDS= \
+ pkg-config:${PORTSDIR}/devel/pkgconfig
+LIB_DEPENDS= \
+ speex.3:${PORTSDIR}/audio/speex \
+ ilbc.0:${PORTSDIR}/net/ilbc \
+ ortp.2:${PORTSDIR}/net/ortp \
+ expat.6:${PORTSDIR}/textproc/expat2
+
+USE_GNOME= glib20
+USE_OPENSSL= yes
+USE_AUTOTOOLS= libtool:15
+USE_DOS2UNIX= README
+USE_GMAKE= yes
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= \
+ --with-ilbc=${LOCALBASE} \
+ --with-speex=${LOCALBASE}
+CONFIGURE_ENV= \
+ CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include -I${OPENSSLINC} ${PTHREAD_CFLAGS} -g" \
+ PKG_CONFIG="${PKG_CONFIG}" \
+ EXPAT_CFLAGS="-I${LOCALBASE}/include" \
+ EXPAT_LIBS="-L${LOCALBASE}/lib -lexpat" \
+ GLIB_CFLAGS="$$(${PKG_CONFIG} --cflags glib-2.0)" \
+ GLIB_LIBS="$$(${PKG_CONFIG} --libs glib-2.0)" \
+ ILBC_CFLAGS="-I${LOCALBASE}/include/ilbc" \
+ ILBC_LIBS="-L${LOCALBASE}/lib -lilbc" \
+ SPEEX_CFLAGS="$$(${PKG_CONFIG} --cflags speex)" \
+ SPEEX_LIBS="$$(${PKG_CONFIG} --libs speex)"
+
+DOC_FILES= \
+ AUTHORS \
+ ChangeLog \
+ DOCUMENTATION \
+ NEWS \
+ README
+
+.ifndef(NOPORTDOCS)
+PORTDOCS= \
+ ${DOC_FILES}
+.endif
+
+PLIST_FILES+= \
+ bin/relayserver \
+ bin/stunserver \
+
+post-configure:
+# force glib
+# force ilbc
+# force speex
+ @${REINPLACE_CMD} -E \
+ -e 's|^.+(HAVE_GLIB)[[:space:]].*$$|#define \1 1|' \
+ -e 's|^.+(HAVE_ILBC_DECODE_H)[[:space:]].*$$|#define \1 1|' \
+ -e 's|^.+(HAVE_ILBC)[[:space:]].*$$|#define \1 1|' \
+ -e 's|^.+(HAVE_SPEEX_H)[[:space:]].*$$|#define \1 1|' \
+ -e 's|^.+(HAVE_SPEEX)[[:space:]].*$$|#define \1 1|' \
+ ${CONFIGURE_WRKSRC}/config.h
+
+post-install:
+.ifndef(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+.for file in ${PORTDOCS}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
+.endfor
+.endif
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.pre.mk>
+
+LDFLAGS+=-L${LOCALBASE}/lib -L${OPENSSLLIB} ${PTHREAD_LIBS}
+PKG_CONFIG?=${LOCALBASE}/bin/pkg-config
+
+.include <bsd.port.post.mk>
diff --git a/net-im/libjingle/distinfo b/net-im/libjingle/distinfo
new file mode 100644
index 000000000000..5d845caf0bb0
--- /dev/null
+++ b/net-im/libjingle/distinfo
@@ -0,0 +1,3 @@
+MD5 (libjingle-0.2.1.tar.gz) = 8b9bebd3d6f7e3ad4d662856fec482f5
+SHA256 (libjingle-0.2.1.tar.gz) = bb5be30e7451e2edb10cf15636565f26060e09882501fd927d1a527905528d63
+SIZE (libjingle-0.2.1.tar.gz) = 662979
diff --git a/net-im/libjingle/files/patch-configure b/net-im/libjingle/files/patch-configure
new file mode 100644
index 000000000000..f0a47242227c
--- /dev/null
+++ b/net-im/libjingle/files/patch-configure
@@ -0,0 +1,65 @@
+--- configure.orig Wed Feb 22 15:57:11 2006
++++ configure Wed Feb 22 16:04:40 2006
+@@ -6353,7 +6353,7 @@
+ fi
+ ;;
+
+- hpux*)
++ hpux* | freebsd*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+@@ -6416,7 +6416,7 @@
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+- linux*)
++ linux* | freebsd*)
+ case $CC in
+ icc* | ecc*)
+ lt_prog_compiler_wl='-Wl,'
+@@ -10793,7 +10793,7 @@
+ lt_prog_compiler_pic_CXX=-Kconform_pic
+ fi
+ ;;
+- hpux*)
++ hpux* | freebsd*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+@@ -13230,7 +13230,7 @@
+ fi
+ ;;
+
+- hpux*)
++ hpux* | freebsd*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+@@ -13293,7 +13293,7 @@
+ lt_prog_compiler_static_F77='-Bstatic'
+ ;;
+
+- linux*)
++ linux* | freebsd*)
+ case $CC in
+ icc* | ecc*)
+ lt_prog_compiler_wl_F77='-Wl,'
+@@ -15568,7 +15568,7 @@
+ fi
+ ;;
+
+- hpux*)
++ hpux* | freebsd)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+@@ -15631,7 +15631,7 @@
+ lt_prog_compiler_static_GCJ='-Bstatic'
+ ;;
+
+- linux*)
++ linux* | freebsd*)
+ case $CC in
+ icc* | ecc*)
+ lt_prog_compiler_wl_GCJ='-Wl,'
diff --git a/net-im/libjingle/files/patch-talk__base__criticalsection.h b/net-im/libjingle/files/patch-talk__base__criticalsection.h
new file mode 100644
index 000000000000..2e8621ec54a7
--- /dev/null
+++ b/net-im/libjingle/files/patch-talk__base__criticalsection.h
@@ -0,0 +1,10 @@
+--- talk/base/criticalsection.h.orig Wed Feb 22 18:57:24 2006
++++ talk/base/criticalsection.h Wed Feb 22 18:54:37 2006
+@@ -83,6 +83,7 @@
+ public:
+ CriticalSection() {
+ pthread_mutexattr_t mutex_attribute;
++ pthread_mutexattr_init(&mutex_attribute);
+ pthread_mutexattr_settype(&mutex_attribute, PTHREAD_MUTEX_RECURSIVE);
+ pthread_mutex_init(&mutex_, &mutex_attribute);
+ }
diff --git a/net-im/libjingle/files/patch-talk__base__ssladapter.cc b/net-im/libjingle/files/patch-talk__base__ssladapter.cc
new file mode 100644
index 000000000000..f04150a5da25
--- /dev/null
+++ b/net-im/libjingle/files/patch-talk__base__ssladapter.cc
@@ -0,0 +1,11 @@
+--- talk/base/ssladapter.cc.orig Wed Feb 22 00:28:05 2006
++++ talk/base/ssladapter.cc Wed Feb 22 00:29:01 2006
+@@ -99,7 +99,7 @@
+ }
+
+ static unsigned long id_function() {
+- return static_cast<unsigned long>(THREAD_ID);
++ return reinterpret_cast<unsigned long>(THREAD_ID);
+ }
+
+ struct CRYPTO_dynlock_value {
diff --git a/net-im/libjingle/files/patch-talk__session__phone__linphonemediaengine.cc b/net-im/libjingle/files/patch-talk__session__phone__linphonemediaengine.cc
new file mode 100644
index 000000000000..08e559094fbe
--- /dev/null
+++ b/net-im/libjingle/files/patch-talk__session__phone__linphonemediaengine.cc
@@ -0,0 +1,20 @@
+--- talk/session/phone/linphonemediaengine.cc.orig Wed Feb 22 16:32:44 2006
++++ talk/session/phone/linphonemediaengine.cc Wed Feb 22 16:41:45 2006
+@@ -139,7 +139,7 @@
+
+ #ifdef HAVE_SPEEX
+ ms_speex_codec_init();
+- rtp_profile_set_payload(&av_profile, 110, &speex_wb);
++ rtp_profile_set_payload(&av_profile, 110, &payload_type_speex_wb);
+ codecs_.push_back(Codec(110, "speex", 8));
+ #endif
+
+@@ -149,7 +149,7 @@
+ codecs_.push_back(Codec(102, "iLBC", 4));
+ #endif
+
+- rtp_profile_set_payload(&av_profile, 0, &pcmu8000);
++ rtp_profile_set_payload(&av_profile, 0, &payload_type_pcmu8000);
+ codecs_.push_back(Codec(0, "PCMU", 2));
+
+ return true;
diff --git a/net-im/libjingle/files/patch-talk__third_party__mediastreamer__msrtprecv.c b/net-im/libjingle/files/patch-talk__third_party__mediastreamer__msrtprecv.c
new file mode 100644
index 000000000000..f3f7d09c6690
--- /dev/null
+++ b/net-im/libjingle/files/patch-talk__third_party__mediastreamer__msrtprecv.c
@@ -0,0 +1,11 @@
+--- talk/third_party/mediastreamer/msrtprecv.c.orig Wed Feb 22 16:43:03 2006
++++ talk/third_party/mediastreamer/msrtprecv.c Wed Feb 22 16:45:47 2006
+@@ -120,7 +120,7 @@
+ gint got=0;
+ /* we are connected with queues (surely for video)*/
+ /* use the sync system time to compute a timestamp */
+- PayloadType *pt=rtp_profile_get_payload(r->rtpsession->profile,r->rtpsession->payload_type);
++ PayloadType *pt=rtp_profile_get_payload(r->rtpsession->profile,r->rtpsession->recv_pt);
+ if (pt==NULL) {
+ ms_warning("ms_rtp_recv_process(): NULL RtpPayload- skipping.");
+ return;
diff --git a/net-im/libjingle/files/patch-talk__third_party__mediastreamer__msrtpsend.c b/net-im/libjingle/files/patch-talk__third_party__mediastreamer__msrtpsend.c
new file mode 100644
index 000000000000..f8a20c006820
--- /dev/null
+++ b/net-im/libjingle/files/patch-talk__third_party__mediastreamer__msrtpsend.c
@@ -0,0 +1,11 @@
+--- talk/third_party/mediastreamer/msrtpsend.c.orig Wed Feb 22 16:47:20 2006
++++ talk/third_party/mediastreamer/msrtpsend.c Wed Feb 22 16:47:53 2006
+@@ -85,7 +85,7 @@
+ {
+ guint32 clockts;
+ /* use the sync system time to compute a timestamp */
+- PayloadType *pt=rtp_profile_get_payload(r->rtpsession->profile,r->rtpsession->payload_type);
++ PayloadType *pt=rtp_profile_get_payload(r->rtpsession->profile,r->rtpsession->send_pt);
+ g_return_val_if_fail(pt!=NULL,0);
+ clockts=(guint32)(((double)synctime * (double)pt->clock_rate)/1000.0);
+ ms_trace("ms_rtp_send_process: sync->time=%i clock=%i",synctime,clockts);
diff --git a/net-im/libjingle/pkg-descr b/net-im/libjingle/pkg-descr
new file mode 100644
index 000000000000..66426521a10c
--- /dev/null
+++ b/net-im/libjingle/pkg-descr
@@ -0,0 +1,9 @@
+[ excerpt from developer's web site ]
+
+Google's Libjingle is Google Talk's implementation of Jingle and
+Jingle-Audio (proposed extensions to XMPP) to interoperate with
+Google Talk's peer-to-peer and voice calling capabilities.
+
+WWW: http://code.google.com/apis/talk/index.html
+
+-- lioux@FreeBSD.org
diff --git a/net-im/libjingle/pkg-message b/net-im/libjingle/pkg-message
new file mode 100644
index 000000000000..596348ba07bc
--- /dev/null
+++ b/net-im/libjingle/pkg-message
@@ -0,0 +1,19 @@
+================ ================
+---------------- ATTENTION ----------------
+================ ================
+
+This is a development version port. Its
+purpose is providing the means to test
+libjingle under FreeBSD, allow developers
+to see how can they adapt libjingle aware
+applications and provide feedback
+to the developers of libjingle.
+
+THIS PORT DOES NOT CONTAIN VOIP OR
+GOOGLE TALK APPLICATIONS. THIS IS A PROOF
+OF CONCEPT, LOOK FOR IM APPLICATION
+DEVELOPERS FOR VOIP.
+
+================ ================
+---------------- ATTENTION ----------------
+================ ================