diff options
author | arved <arved@FreeBSD.org> | 2004-07-05 14:20:26 +0000 |
---|---|---|
committer | arved <arved@FreeBSD.org> | 2004-07-05 14:20:26 +0000 |
commit | c0885e1ee888f8197da92bcddadb7c9578400875 (patch) | |
tree | 766b0d10b236952b58cfa04041c1bcd796ee51c2 /net/kphone | |
parent | fbd87cd00dfdad0b7115c9b32fa63fd27987c331 (diff) | |
download | FreeBSD-ports-c0885e1ee888f8197da92bcddadb7c9578400875.zip FreeBSD-ports-c0885e1ee888f8197da92bcddadb7c9578400875.tar.gz |
Add kphone, A SIP User Agent.
Based on work by: Georg Schwarz (geos@epost.de)
Diffstat (limited to 'net/kphone')
-rw-r--r-- | net/kphone/Makefile | 43 | ||||
-rw-r--r-- | net/kphone/distinfo | 2 | ||||
-rw-r--r-- | net/kphone/files/kphone-2.1-freebsd-netbsd.diff | 247 | ||||
-rw-r--r-- | net/kphone/files/patch-dissipate2-extern_md5.h | 11 | ||||
-rw-r--r-- | net/kphone/files/patch-dissipate2-messagesocket.h | 10 | ||||
-rw-r--r-- | net/kphone/files/patch-dissipate2-siputil.cpp | 110 | ||||
-rw-r--r-- | net/kphone/files/patch-dissipate2-udpmessagesocket.cpp | 19 | ||||
-rw-r--r-- | net/kphone/pkg-descr | 6 | ||||
-rw-r--r-- | net/kphone/pkg-plist | 13 |
9 files changed, 461 insertions, 0 deletions
diff --git a/net/kphone/Makefile b/net/kphone/Makefile new file mode 100644 index 0000000..0bf0721e --- /dev/null +++ b/net/kphone/Makefile @@ -0,0 +1,43 @@ +# New ports collection Makefile for: kphone +# Date created: 2004-07-05 +# Whom: arved +# +# $FreeBSD$ + +PORTNAME= kphone +PORTVERSION= 4.0.3 +CATEGORIES= net +MASTER_SITES= http://www.wirlab.net/kphone/ + +MAINTAINER= ports@FreeBSD.org +COMMENT= A voice over internet phone + +USE_QT_VER= 3 +WRKSRC= ${WRKDIR}/${PORTNAME} +GNU_CONFIGURE= yes +USE_GMAKE= yes +USE_OPENSSL= yes +USE_REINPLACE= yes + +.include <bsd.port.pre.mk> + +.if (${OSVERSION} > 500000 ) +BROKEN= "Does not compile" +.endif + +post-patch: + ${REINPLACE_CMD} -e "s,-O3,${CFLAGS} ${PTHREAD_CFLAGS}," ${WRKSRC}/configure + ${REINPLACE_CMD} -e "s,-lresolv,${PTHREAD_LIBS}," ${WRKSRC}/kphone/Makefile.in + +do-build: + cd ${WRKSRC}/dissipate2; ${SETENV} ${MAKE_ENV} ${GMAKE} + cd ${WRKSRC}/gsm; ${SETENV} ${MAKE_ENV} ${GMAKE} + cd ${WRKSRC}/ilbc; ${SETENV} ${MAKE_ENV} ${GMAKE} + cd ${WRKSRC}/kphone; ${SETENV} ${MAKE_ENV} ${GMAKE} + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/kphone/kphone ${PREFIX}/bin + ${MKDIR} ${DATADIR}/icons + ${INSTALL_DATA} ${WRKSRC}/icons/*.png ${DATADIR}/icons + +.include <bsd.port.post.mk> diff --git a/net/kphone/distinfo b/net/kphone/distinfo new file mode 100644 index 0000000..3e9729f --- /dev/null +++ b/net/kphone/distinfo @@ -0,0 +1,2 @@ +MD5 (kphone-4.0.3.tar.gz) = 2368fcb845b7dc75f1de96ca047b29d0 +SIZE (kphone-4.0.3.tar.gz) = 220383 diff --git a/net/kphone/files/kphone-2.1-freebsd-netbsd.diff b/net/kphone/files/kphone-2.1-freebsd-netbsd.diff new file mode 100644 index 0000000..8f5918a --- /dev/null +++ b/net/kphone/files/kphone-2.1-freebsd-netbsd.diff @@ -0,0 +1,247 @@ +This is a first port of kphone 2.1 from Linux to FreeBSD and NetBSD (as +of 28/11/2002) + +Get the original sources for kphone 2.1 from +http://www.wirlab.net/kphone/kphone-2.1.tgz + +use patch -l to apply the patch (ignoring whitespaces) + +FreeBSD: +To configure I used + +setenv LIBQT "-pthread -lqt-mt" + +./configure --with-qt-libraries=/usr/X11R6/lib --with-extra-libs=/usr/local/lib +--prefix=/usr/local + +then in kphone/Makefile change -lpthread into -phread in kphone_LDADD. + +NetBSD: + +setenv LIBQT="-lqt-mt" + +./configure --prefix=/usr/local --with-qt-dir=/usr/X11R6/qt3 --with-extra-libs=/usr/pkg/lib --with-extra-includes=/usr/pkg/include + +then in kphone/Makefile add -lossaudio to kphone_LDADD. + +On both platforms use gmake. + +Please send feedback to Georg Schwarz (geos@epost.de). Thanks. +Your response is appreciated. + + +*** kphone-2.1.orig/./kphone/dspoutoss.h Tue Apr 16 11:38:27 2002 +--- kphone-2.1/./kphone/dspoutoss.h Wed Nov 27 21:05:03 2002 +*************** +*** 1,7 **** +--- 1,11 ---- + #ifndef DSPOUTOSS_H_INCLUDED + #define DSPOUTOSS_H_INCLUDED + ++ #ifdef __NetBSD__ ++ #include <soundcard.h> ++ #else + #include <sys/soundcard.h> ++ #endif + #include <dspout.h> + + /** +*** kphone-2.1.orig/./dissipate2/messagesocket.h Tue Sep 3 10:31:48 2002 +--- kphone-2.1/./dissipate2/messagesocket.h Sat Nov 23 23:34:57 2002 +*************** +*** 26,31 **** +--- 26,35 ---- + #define MESSAGESOCKET_H_INCLUDED + + #include <netdb.h> ++ #ifdef __FreeBSD__ ++ #include <sys/types.h> ++ #include <netinet/in_systm.h> ++ #endif + #include <netinet/in.h> + + /** +*** kphone-2.1.orig/./dissipate2/sipprotocol.cpp Tue Aug 27 14:01:34 2002 +--- kphone-2.1/./dissipate2/sipprotocol.cpp Sat Nov 23 23:22:55 2002 +*************** +*** 8,13 **** +--- 8,16 ---- + #include <stdio.h> + #include <stdlib.h> + #include <siputil.h> ++ #ifdef __FreeBSD__ ++ #include <sys/types.h> ++ #endif + #include <extern_md5.h> + #include <base64.h> + #include <sipprotocol.h> +*** kphone-2.1.orig/./dissipate2/siputil.cpp Tue Apr 16 13:33:37 2002 +--- kphone-2.1/./dissipate2/siputil.cpp Wed Nov 27 19:46:09 2002 +*************** +*** 3,10 **** +--- 3,19 ---- + #include <sys/utsname.h> + #include <sys/socket.h> + #include <sys/time.h> ++ #ifdef __NetBSD__ ++ #include <errno.h> ++ #else + #include <sys/errno.h> ++ #endif ++ #ifdef __linux__ + #include <features.h> ++ #endif ++ #if defined(__FreeBSD__) || defined(__NetBSD__) ++ #include <ifaddrs.h> ++ #endif + #include <net/if_arp.h> + #include <net/route.h> + #include <sys/ioctl.h> +*************** +*** 26,31 **** +--- 35,42 ---- + /* max number of network interfaces*/ + #define MAX_IF 5 + ++ #ifdef __linux__ ++ + /* Path to the route entry in proc filesystem */ + #define PROCROUTE "/proc/net/route" + +*************** +*** 41,46 **** +--- 52,59 ---- + #define SIOCGIFCOUNT 0x8935 + #endif + ++ #endif /* not Linux */ ++ + char iface[16]; + + +*************** +*** 62,67 **** +--- 75,82 ---- + */ + char *getdefaultdev() + { ++ #ifdef __linux__ ++ + FILE *fp = fopen( PROCROUTE, "r"); + char buff[4096], gate_addr[128], net_addr[128]; + char mask_addr[128]; +*************** +*** 85,90 **** +--- 100,107 ---- + return iface; + } + fclose(fp); ++ #endif /* Linux */ ++ + /* didn't find a default gateway */ + return NULL; + } +*************** +*** 92,103 **** + + void findFqdn( void ) + { +! int sock, err, if_count, i, j = 0; + struct ifconf netconf; + char buffer[32*MAX_IF]; +! char if_name[10][21]; +! char if_addr[10][21]; + char *default_ifName; + netconf.ifc_len = 32 * MAX_IF; + netconf.ifc_buf = buffer; + sock=socket( PF_INET, SOCK_DGRAM, 0 ); +--- 109,146 ---- + + void findFqdn( void ) + { +! int if_count, i, j = 0; +! #if !(defined(__FreeBSD__) || defined(__NetBSD__)) +! int sock, err; + struct ifconf netconf; + char buffer[32*MAX_IF]; +! #endif +! char if_name[MAX_IF][21]; +! char if_addr[MAX_IF][21]; + char *default_ifName; ++ #if defined(__FreeBSD__) || defined(__NetBSD__) ++ struct ifaddrs *ifp, *oifp; ++ ++ if(getifaddrs(&ifp) < 0 ) ++ printf( "Error with getifaddrs(): %i.\n", errno ); ++ oifp=ifp; /* save ifp */ ++ for (if_count = 0; ifp != NULL; ifp = ifp->ifa_next) { ++ if(ifp->ifa_addr->sa_family != AF_INET) continue; ++ ++ if ( strncmp( ifp->ifa_name, "lo", 2 ) != 0 ) { ++ if(j == MAX_IF) printf( "Error: cannot handle more than %d interfaces.\n",MAX_IF); ++ else ++ { ++ strncpy( if_name[j], ifp->ifa_name, 20); ++ strncpy( if_addr[j], inet_ntoa(((struct sockaddr_in *)ifp->ifa_addr)->sin_addr ), 20); ++ j++; ++ } ++ } ++ if_count++; ++ } ++ if (oifp != NULL) freeifaddrs(oifp); ++ ++ #else /* not FreeBSD or NetBSD */ + netconf.ifc_len = 32 * MAX_IF; + netconf.ifc_buf = buffer; + sock=socket( PF_INET, SOCK_DGRAM, 0 ); +*************** +*** 105,118 **** +--- 148,169 ---- + if ( err < 0 ) printf( "Error in ioctl: %i.\n", errno ); + close( sock ); + if_count = netconf.ifc_len / 32; ++ #endif + printf( "Found %i interfaces.\n", if_count ); ++ #if !(defined(__FreeBSD__) || defined(__NetBSD__)) + for( i = 0; i < if_count; i++ ) { + if( strcmp( netconf.ifc_req[i].ifr_name, "lo" ) != 0 ) { ++ if(j == MAX_IF) printf( "Error: cannot handle more than %d interfaces.\n",MAX_IF); ++ else ++ { + strncpy( if_name[j], netconf.ifc_req[i].ifr_name, 20 ); + strncpy( if_addr[j], inet_ntoa(((struct sockaddr_in*)(&netconf.ifc_req[i].ifr_addr))->sin_addr), 20 ); + j++; + } + } ++ } ++ #endif /* not FreeBSD or NetBSD */ ++ + if( j == 1 ) { + dissipate_our_fqdn = strdup( if_addr[0] ); + } else { +*** kphone-2.1.orig/./dissipate2/udpmessagesocket.cpp Tue Sep 10 08:10:26 2002 +--- kphone-2.1/./dissipate2/udpmessagesocket.cpp Wed Nov 27 19:13:41 2002 +*************** +*** 1,5 **** +--- 1,9 ---- + #include <sys/types.h> + #include <sys/socket.h> ++ #if defined(__FreeBSD__) || defined(__NetBSD__) ++ #include <netinet/in_systm.h> ++ #include <netinet/in.h> ++ #endif + #include <netinet/ip.h> + #include <errno.h> + #include <string.h> +*************** +*** 9,14 **** +--- 13,21 ---- + #include <strings.h> + #include <udpmessagesocket.h> + ++ #ifndef SOL_IP ++ #define SOL_IP SOL_SOCKET ++ #endif + + UDPMessageSocket::UDPMessageSocket( void ) + { diff --git a/net/kphone/files/patch-dissipate2-extern_md5.h b/net/kphone/files/patch-dissipate2-extern_md5.h new file mode 100644 index 0000000..5d887194 --- /dev/null +++ b/net/kphone/files/patch-dissipate2-extern_md5.h @@ -0,0 +1,11 @@ +--- dissipate2/extern_md5.h.orig Mon Jul 5 14:01:05 2004 ++++ dissipate2/extern_md5.h Mon Jul 5 14:08:08 2004 +@@ -1,6 +1,8 @@ + #ifndef EXTERN_MD5_H + #define EXTERN_MD5_H + ++#include <sys/types.h> ++ + #define HASHLEN 16 + typedef u_char HASH[HASHLEN]; + #define HASHHEXLEN 32 diff --git a/net/kphone/files/patch-dissipate2-messagesocket.h b/net/kphone/files/patch-dissipate2-messagesocket.h new file mode 100644 index 0000000..79fbd7e --- /dev/null +++ b/net/kphone/files/patch-dissipate2-messagesocket.h @@ -0,0 +1,10 @@ +--- dissipate2/messagesocket.h.orig Mon Jul 5 13:49:27 2004 ++++ dissipate2/messagesocket.h Mon Jul 5 13:50:01 2004 +@@ -23,6 +23,7 @@ + #define MESSAGESOCKET_H_INCLUDED + + #include <netdb.h> ++#include <sys/types.h> + #include <netinet/in.h> + + class MessageSocket diff --git a/net/kphone/files/patch-dissipate2-siputil.cpp b/net/kphone/files/patch-dissipate2-siputil.cpp new file mode 100644 index 0000000..c1ff823 --- /dev/null +++ b/net/kphone/files/patch-dissipate2-siputil.cpp @@ -0,0 +1,110 @@ +--- dissipate2/siputil.cpp.orig Thu Mar 4 12:22:57 2004 ++++ dissipate2/siputil.cpp Mon Jul 5 15:05:32 2004 +@@ -5,6 +5,9 @@ + #include <sys/time.h> + #include <sys/errno.h> + #include <sys/ioctl.h> ++#if defined (__FreeBSD__) || defined(__NetBSD__) ++#include <ifaddrs.h> ++#endif + #include <net/if_arp.h> + #include <net/route.h> + #include <net/if.h> +@@ -25,6 +28,8 @@ + /* max number of network interfaces*/ + #define MAX_IF 5 + ++#ifdef __linux__ ++ + /* Path to the route entry in proc filesystem */ + #define PROCROUTE "/proc/net/route" + +@@ -40,6 +45,8 @@ + #define SIOCGIFCOUNT 0x8935 + #endif + ++#endif /* not Linux */ ++ + char iface[16]; + + +@@ -61,6 +68,7 @@ + */ + char *getdefaultdev() + { ++#ifdef __linux__ + FILE *fp = fopen( PROCROUTE, "r"); + char buff[4096], gate_addr[128], net_addr[128]; + char mask_addr[128]; +@@ -84,6 +92,8 @@ + return iface; + } + fclose(fp); ++#endif /* Linux */ ++ + /* didn't find a default gateway */ + return NULL; + } +@@ -91,12 +101,38 @@ + + void findFqdn( void ) + { +- int sock, err, if_count, i, j = 0; ++ int if_count, i, j = 0; ++#if !(defined(__FreeBSD__) || defined(__NetBSD__)) ++ int sock, err; + struct ifconf netconf; + char buffer[32*MAX_IF]; +- char if_name[10][21]; +- char if_addr[10][21]; ++#endif ++ char if_name[MAX_IF][21]; ++ char if_addr[MAX_IF][21]; + char *default_ifName; ++#if defined(__FreeBSD__) || defined(__NetBSD__) ++ struct ifaddrs *ifp, *oifp; ++ ++ if(getifaddrs(&ifp) < 0 ) ++ printf( "Error with getifaddrs(): %i.\n", errno ); ++ oifp=ifp; /* save ifp */ ++ for (if_count = 0; ifp != NULL; ifp = ifp->ifa_next) { ++ if(ifp->ifa_addr->sa_family != AF_INET) continue; ++ ++ if ( strncmp( ifp->ifa_name, "lo", 2 ) != 0 ) { ++ if(j == MAX_IF) printf( "Error: cannot handle more than %d interfaces.\n",MAX_IF); ++ else ++ { ++ strncpy( if_name[j], ifp->ifa_name, 20); ++ strncpy( if_addr[j], inet_ntoa(((struct sockaddr_in *)ifp->ifa_addr)->sin_addr ), 20); ++ j++; ++ } ++ } ++ if_count++; ++ } ++ if (oifp != NULL) freeifaddrs(oifp); ++ ++#else /* not FreeBSD or NetBSD */ + netconf.ifc_len = 32 * MAX_IF; + netconf.ifc_buf = buffer; + sock=socket( PF_INET, SOCK_DGRAM, 0 ); +@@ -104,9 +140,11 @@ + if ( err < 0 ) printf( "Error in ioctl: %i.\n", errno ); + close( sock ); + if_count = netconf.ifc_len / 32; ++#endif + printf( "Found %i interfaces.\n", if_count ); + + //#test ++#if !(defined(__FreeBSD__) || defined(__NetBSD__)) + if ( if_count == 1 ) { + strncpy( if_name[j], netconf.ifc_req[0].ifr_name, 20 ); + strncpy( if_addr[j], inet_ntoa(((struct sockaddr_in*)(&netconf.ifc_req[0].ifr_addr))->sin_addr), 20 ); +@@ -120,6 +158,8 @@ + } + } + } ++#endif /* not FreeBSD or NetBSD */ ++ + if( j == 1 ) { + dissipate_our_fqdn = strdup( if_addr[0] ); + } else { diff --git a/net/kphone/files/patch-dissipate2-udpmessagesocket.cpp b/net/kphone/files/patch-dissipate2-udpmessagesocket.cpp new file mode 100644 index 0000000..50bc88c --- /dev/null +++ b/net/kphone/files/patch-dissipate2-udpmessagesocket.cpp @@ -0,0 +1,19 @@ +--- dissipate2/udpmessagesocket.cpp.orig Mon Jul 5 13:51:09 2004 ++++ dissipate2/udpmessagesocket.cpp Mon Jul 5 13:59:32 2004 +@@ -1,5 +1,7 @@ + #include <sys/types.h> + #include <sys/socket.h> ++#include <netinet/in.h> ++#include <netinet/in_systm.h> + #include <netinet/ip.h> + #include <errno.h> + #include <string.h> +@@ -52,7 +54,7 @@ + socklen_t optlen; + tos=IPTOS_PREC_CRITIC_ECP; + optlen=1; +- if(setsockopt(socketfd,SOL_IP,IP_TOS,&tos,optlen) != 0){ ++ if(setsockopt(socketfd,IPPROTO_IP,IP_TOS,&tos,optlen) != 0){ + perror("UDPMessageSocket::SetTOS"); + } + return 0; diff --git a/net/kphone/pkg-descr b/net/kphone/pkg-descr new file mode 100644 index 0000000..7a5ce58 --- /dev/null +++ b/net/kphone/pkg-descr @@ -0,0 +1,6 @@ +KPhone is a SIP (Session Initiation Protocol) user agent with which you +can initiate VoIP (Voice over IP) connections over the Internet. +It supports Presence and Instant Messaging, and to some extent +also video calls between two hosts. + +WWW: http://www.wirlab.net/ diff --git a/net/kphone/pkg-plist b/net/kphone/pkg-plist new file mode 100644 index 0000000..7b763da --- /dev/null +++ b/net/kphone/pkg-plist @@ -0,0 +1,13 @@ +bin/kphone +%%DATADIR%%/icons/dial.png +%%DATADIR%%/icons/enter.png +%%DATADIR%%/icons/hangup.png +%%DATADIR%%/icons/large-kphone.png +%%DATADIR%%/icons/lo-kphone.png +%%DATADIR%%/icons/mini-kphone.png +%%DATADIR%%/icons/offline.png +%%DATADIR%%/icons/online.png +%%DATADIR%%/icons/phonebook.png +%%DATADIR%%/icons/videocall.png +@dirrm %%DATADIR%%/icons +@dirrm %%DATADIR%% |