diff options
author | db <db@FreeBSD.org> | 2014-04-24 03:38:47 +0800 |
---|---|---|
committer | db <db@FreeBSD.org> | 2014-04-24 03:38:47 +0800 |
commit | 4840b97ab46ab7b76caf566cfbf437961695b804 (patch) | |
tree | 943561369460cf97592c618c0609fb9d5dac332c /comms/svxlink | |
parent | d1989804cd4d4e3567ec0aaaa10461ebf48bf419 (diff) | |
download | freebsd-ports-gnome-4840b97ab46ab7b76caf566cfbf437961695b804.tar.gz freebsd-ports-gnome-4840b97ab46ab7b76caf566cfbf437961695b804.tar.zst freebsd-ports-gnome-4840b97ab46ab7b76caf566cfbf437961695b804.zip |
The SvxLink project is a flexible, general purpose voice services system for
ham radio use. The project also includes Qtel, an EchoLink client GUI
application.
WWW: http://sourceforge.net/apps/trac/svxlink/
This replaces the earlier and removed comms/qtel port.
PR: ports/188452
Submitted by: Stephen Hurd <shurd@sasktel.net>
Diffstat (limited to 'comms/svxlink')
21 files changed, 703 insertions, 0 deletions
diff --git a/comms/svxlink/Makefile b/comms/svxlink/Makefile new file mode 100644 index 000000000000..d142297cb99b --- /dev/null +++ b/comms/svxlink/Makefile @@ -0,0 +1,108 @@ +# Created by: shurd +# $FreeBSD$ + +PORTNAME= svxlink +PORTVERSION= 13.12 +CATEGORIES= comms hamradio +MASTER_SITES= SF/svxlink/svxlink/${PORTVERSION} + +MAINTAINER= shurd@sasktel.net +COMMENT= General purpose ham radio voice services and Qtel Echolink client + +LICENSE= GPLv2 + +LIB_DEPENDS= libgsm.so:${PORTSDIR}/audio/gsm \ + libspeex.so:${PORTSDIR}/audio/speex \ + libgpg-error.so:${PORTSDIR}/security/libgpg-error \ + libgcrypt.so:${PORTSDIR}/security/libgcrypt \ + libsigc-2.0.so:${PORTSDIR}/devel/libsigc++20 \ + libasound.so:${PORTSDIR}/audio/alsa-lib \ + libpopt.so:${PORTSDIR}/devel/popt +BUILD_DEPENDS= pkg-config:${PORTSDIR}/devel/pkgconf \ + ${LOCALBASE}/include/linux/input.h:${PORTSDIR}/multimedia/v4l_compat + +USES= gmake tcl +USE_LDCONFIG= yes + +MAKE_FLAGS= LIB_INSTALL_DIR=${LOCALBASE}/lib \ + INC_INSTALL_DIR=${LOCALBASE}/include/svxlink \ + BIN_INSTALL_DIR=${LOCALBASE}/bin \ + SBIN_INSTALL_DIR=${LOCALBASE}/sbin \ + PLUGIN_INSTALL_DIR=${LOCALBASE}/lib/svxlink \ + TCL_LIBDIR=${TCL_LIBDIR} \ + ADD_INCPATH=-I${LOCALBASE}/include + +OPTIONS_DEFINE= QTEL +QTEL_DESC= Build Qtel EchoLink client +OPTIONS_DEFAULT=QTEL +OPTIONS_SUB= yes + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MQTEL} +USE_QT4= corelib gui network moc_build linguist_build rcc_build uic_build +MAKE_ENV+= MOC=${MOC} \ + RCC=${RCC} \ + UIC=${UIC} \ + LRELEASE=${LRELEASE} \ + QT_LIBDIR=${QT_LIBDIR} \ + QT_INCDIR=${QT_INCDIR} \ + QT_PREFIX=${QT_PREFIX} +.else +MAKE_ENV+= WITHOUT_QT=yes +.endif + +post-patch: + @${GREP} -lr /usr/share/ ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \ + -e 's|/usr/share/man|${MANPREFIX}/man|' \ + -e 's|/usr/share/doc/svxlink|${DOCSDIR}|' \ + -e 's|/usr/share/svxlink|${DATADIR}|' \ + -e 's|/usr/share/qtel|${PREFIX}/share/qtel|' \ + -e 's|/usr/share/applications|${DESKTOPDIR}|' \ + -e 's|/usr/share/icons|${PREFIX}/share/icons|' + @${GREP} -lr /dev/ttyS0 ${WRKSRC} | ${GREP} -v .bak | ${GREP} -v .orig | ${XARGS} \ + ${REINPLACE_CMD} -e 's|/dev/ttyS0|/dev/ttyu0|' + @${REINPLACE_CMD} -e 's|/usr/bin/|${PREFIX}/bin/|' ${WRKSRC}/qtel/qtel.desktop + @${REINPLACE_CMD} -e 's|/usr/lib|${PREFIX}/lib|' \ + ${WRKSRC}/doc/man/svxlink.conf.5 \ + ${WRKSRC}/svxlink/svxlink/svxlink.conf + @${GREP} -lr /etc/ ${WRKSRC} | ${GREP} -v .bak | ${GREP} -v .orig | ${XARGS} \ + ${REINPLACE_CMD} -e 's|/etc/|${PREFIX}/etc/|' + @${GREP} -lr 'echo -e' ${WRKSRC} | ${GREP} -v .bak | ${GREP} -v .orig | ${XARGS} \ + ${REINPLACE_CMD} \ + -e 's|echo -en|echo -n|' \ + -e 's|echo -e|echo |' + @${FIND} ${WRKSRC} -name 'Makefile*' | ${GREP} -v .bak | ${GREP} -v .orig | ${XARGS} \ + ${REINPLACE_CMD} -e 's|,root,root|,root,wheel|' + @${GREP} -lr alsa:default ${WRKSRC} | ${GREP} -v .bak | ${GREP} -v .orig | ${XARGS} \ + ${REINPLACE_CMD} -e 's|alsa:default|oss:/dev/dsp|' + @${GREP} -lr alsa:plughw:0 ${WRKSRC} | ${GREP} -v .bak | ${GREP} -v .orig | ${XARGS} \ + ${REINPLACE_CMD} -e 's|alsa:plughw:0|oss:/dev/dsp|' + +post-stage: + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/.procmailrc \ + ${STAGEDIR}${PREFIX}/etc/svxlink/.procmailrc.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/TclVoiceMail.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/TclVoiceMail.conf.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/remotetrx.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/remotetrx.conf.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.conf.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleDtmfRepeater.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleDtmfRepeater.conf.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleEchoLink.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleEchoLink.conf.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleHelp.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleHelp.conf.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleMetarInfo.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleMetarInfo.conf.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleParrot.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleParrot.conf.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModulePropagationMonitor.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModulePropagationMonitor.conf.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleSelCallEnc.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleSelCallEnc.conf.sample + ${MV} ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleTclVoiceMail.conf \ + ${STAGEDIR}${PREFIX}/etc/svxlink/svxlink.d/ModuleTclVoiceMail.conf.sample + +.include <bsd.port.mk> diff --git a/comms/svxlink/distinfo b/comms/svxlink/distinfo new file mode 100644 index 000000000000..fc308cd5424a --- /dev/null +++ b/comms/svxlink/distinfo @@ -0,0 +1,2 @@ +SHA256 (svxlink-13.12.tar.gz) = c2a991a35f3386027e33f35c53c9d383231bc8e3184c8e2fef871e4f68622245 +SIZE (svxlink-13.12.tar.gz) = 1168697 diff --git a/comms/svxlink/files/patch-Makefile b/comms/svxlink/files/patch-Makefile new file mode 100644 index 000000000000..75d34dcbd8b2 --- /dev/null +++ b/comms/svxlink/files/patch-Makefile @@ -0,0 +1,15 @@ +--- Makefile.orig 2013-03-09 00:18:15.000000000 -0800 ++++ Makefile 2014-04-10 04:56:53.000000000 -0700 +@@ -67,10 +67,10 @@ + ARCHIVENAME = $$(basename $$(pwd)).tgz + + # Used to get bold text in echo statements +-BOLD = "\033[1m" ++#BOLD = "\033[1m" + + # End bold text +-NBOLD = "\033[0m" ++#NBOLD = "\033[0m" + + # Create softlink + MKSOFT = ln -s diff --git a/comms/svxlink/files/patch-async_audio_AsyncAudioDeviceOSS.cpp b/comms/svxlink/files/patch-async_audio_AsyncAudioDeviceOSS.cpp new file mode 100644 index 000000000000..66729cd0b944 --- /dev/null +++ b/comms/svxlink/files/patch-async_audio_AsyncAudioDeviceOSS.cpp @@ -0,0 +1,10 @@ +--- async/audio/AsyncAudioDeviceOSS.cpp.orig 2014-04-09 22:38:17.000000000 -0700 ++++ async/audio/AsyncAudioDeviceOSS.cpp 2014-04-09 22:38:29.000000000 -0700 +@@ -41,6 +41,7 @@ + #include <sys/soundcard.h> + #include <sys/ioctl.h> + #include <unistd.h> ++#include <stdlib.h> + + #include <cassert> + #include <cstring> diff --git a/comms/svxlink/files/patch-async_core_AsyncConfig.h b/comms/svxlink/files/patch-async_core_AsyncConfig.h new file mode 100644 index 000000000000..30174919c00b --- /dev/null +++ b/comms/svxlink/files/patch-async_core_AsyncConfig.h @@ -0,0 +1,35 @@ +--- async/core/AsyncConfig.h.orig 2013-05-25 13:14:51.000000000 -0700 ++++ async/core/AsyncConfig.h 2014-04-20 22:49:04.000000000 -0700 +@@ -212,7 +212,9 @@ + } + std::stringstream ssval(str_val); + Rsp tmp; +- ssval >> tmp >> std::ws; ++ ssval >> tmp; ++ if(!ssval.eof()) ++ ssval >> std::ws; + if (ssval.fail() || !ssval.eof()) + { + return false; +@@ -261,7 +263,9 @@ + while (!ssval.eof()) + { + Value tmp; +- ssval >> tmp >> std::ws; ++ ssval >> tmp; ++ if(!ssval.eof()) ++ ssval >> std::ws; + if (ssval.fail()) + { + return false; +@@ -304,7 +308,9 @@ + } + std::stringstream ssval(str_val); + Rsp tmp; +- ssval >> tmp >> std::ws; ++ ssval >> tmp; ++ if(!ssval.eof()) ++ ssval >> std::ws; + if (ssval.fail() || !ssval.eof() || (tmp < min) || (tmp > max)) + { + return false; diff --git a/comms/svxlink/files/patch-create_config.sh b/comms/svxlink/files/patch-create_config.sh new file mode 100644 index 000000000000..6a494ab20f3f --- /dev/null +++ b/comms/svxlink/files/patch-create_config.sh @@ -0,0 +1,92 @@ +--- create_config.sh.orig 2013-10-13 02:39:16.000000000 -0700 ++++ create_config.sh 2014-04-11 12:04:57.000000000 -0700 +@@ -61,43 +61,45 @@ + fi + + # Checking for QT +-info "--- Checking for QT..." +-if which pkg-config > /dev/null 2>&1; then +- if pkg-config QtCore; then +- QT_MODULES="QtCore QtGui QtNetwork" +- info "yes (pkg-config QtCore)\n" +- output "QT_LIBPATH=$(pkg-config $QT_MODULES --libs-only-L)" +- output "QT_LIBS=$(pkg-config $QT_MODULES --libs-only-l)" +- output "QT_INCPATH=$(pkg-config $QT_MODULES --cflags-only-I)" +- output "QT_CFLAGS=$(pkg-config $QT_MODULES --cflags-only-other)" +- QT_PREFIX=$(pkg-config QtCore --variable=prefix) +- QT_BIN="${QT_PREFIX}/bin" +- output "QT_BIN=${QT_BIN}" +- QT_MOC=$(pkg-config QtCore --variable=moc_location) +- if [ ! -x "$QT_MOC" ]; then +- QT_MOC="$QT_BIN/moc" +- fi +- QT_UIC=$(pkg-config QtCore --variable=uic_location) +- if [ ! -x "$QT_UIC" ]; then +- QT_UIC="$QT_BIN/uic" +- fi +- QT_RCC=$(pkg-config QtCore --variable=rcc_location) +- if [ ! -x "$QT_RCC" ]; then +- QT_RCC="$QT_BIN/rcc" ++if [ "$WITHOUT_QT" != "yes" ]; then ++ info "--- Checking for QT..." ++ if which pkg-config > /dev/null 2>&1; then ++ if pkg-config QtCore; then ++ QT_MODULES="QtCore QtGui QtNetwork" ++ info "yes (pkg-config QtCore)\n" ++ output "QT_LIBPATH=$(pkg-config $QT_MODULES --libs-only-L)" ++ output "QT_LIBS=$(pkg-config $QT_MODULES --libs-only-l)" ++ output "QT_INCPATH=$(pkg-config $QT_MODULES --cflags-only-I)" ++ output "QT_CFLAGS=$(pkg-config $QT_MODULES --cflags-only-other)" ++ #QT_PREFIX=$(pkg-config QtCore --variable=prefix) ++ QT_BIN="${QT_PREFIX}/bin" ++ output "QT_BIN=${QT_BIN}" ++ QT_MOC=$(pkg-config QtCore --variable=moc_location) ++ if [ ! -x "$QT_MOC" ]; then ++ QT_MOC="$QT_BIN/moc" ++ fi ++ QT_UIC=$(pkg-config QtCore --variable=uic_location) ++ if [ ! -x "$QT_UIC" ]; then ++ QT_UIC="$QT_BIN/uic" ++ fi ++ QT_RCC=$(pkg-config QtCore --variable=rcc_location) ++ if [ ! -x "$QT_RCC" ]; then ++ QT_RCC="$QT_BIN/rcc" ++ fi ++ QT_LRELEASE=$(pkg-config QtCore --variable=lrelease_location) ++ if [ ! -x "$QT_LRELEASE" ]; then ++ QT_LRELEASE="$QT_BIN/lrelease" ++ fi ++ output "QT_MOC=$MOC" ++ output "QT_UIC=$UIC" ++ output "QT_RCC=$RCC" ++ output "QT_LRELEASE=$LRELEASE" ++ else ++ info "no (optional)\n" + fi +- QT_LRELEASE=$(pkg-config QtCore --variable=lrelease_location) +- if [ ! -x "$QT_LRELEASE" ]; then +- QT_LRELEASE="$QT_BIN/lrelease" +- fi +- output "QT_MOC=${QT_MOC}" +- output "QT_UIC=${QT_UIC}" +- output "QT_RCC=${QT_RCC}" +- output "QT_LRELEASE=${QT_LRELEASE}" + else + info "no (optional)\n" + fi +-else +- info "no (optional)\n" + fi + + # Checking for libsigc++ +@@ -120,9 +122,7 @@ + + # Checking for tcl development library + info "--- Checking for TCL development library..." +-tclConfig=$(ls /usr/lib/tclConfig.sh /usr/lib/tcl8.*/tclConfig.sh \ +- /usr/lib64/tclConfig.sh /usr/lib64/tcl8.*/tclConfig.sh \ +- 2>/dev/null | head -1) ++tclConfig=$(ls ${TCL_LIBDIR}/tclConfig.sh 2>/dev/null | head -1) + if [ -n "$tclConfig" -a -r "$tclConfig" ]; then + . $tclConfig + info "${TCL_VERSION}\n" diff --git a/comms/svxlink/files/patch-doc_man_Makefile.default b/comms/svxlink/files/patch-doc_man_Makefile.default new file mode 100644 index 000000000000..60d454488024 --- /dev/null +++ b/comms/svxlink/files/patch-doc_man_Makefile.default @@ -0,0 +1,24 @@ +--- doc/man/Makefile.default.orig 2011-05-15 01:59:35.000000000 -0700 ++++ doc/man/Makefile.default 2014-04-11 12:08:08.000000000 -0700 +@@ -11,6 +11,7 @@ + + # Include version information + -include $(ROOT)/versions ++-include $(ROOT)/.config + + + ############################################################################### +@@ -150,8 +151,11 @@ + ModuleTclVoiceMail.conf.5.gz ModuleDtmfRepeater.conf.5.gz \ + ModulePropagationMonitor.conf.5.gz \ + ModuleSelCallEnc.conf.5.gz \ +- remotetrx.1.gz remotetrx.conf.5.gz siglevdetcal.1.gz \ +- qtel.1.gz ++ remotetrx.1.gz remotetrx.conf.5.gz siglevdetcal.1.gz ++ ++ifdef QT_BIN ++PRE_TARGETS +=qtel.1.gz ++endif + + #POST_TARGETS = + diff --git a/comms/svxlink/files/patch-echolib_EchoLinkDirectoryCon.cpp b/comms/svxlink/files/patch-echolib_EchoLinkDirectoryCon.cpp new file mode 100644 index 000000000000..56377ded0436 --- /dev/null +++ b/comms/svxlink/files/patch-echolib_EchoLinkDirectoryCon.cpp @@ -0,0 +1,11 @@ +--- echolib/EchoLinkDirectoryCon.cpp.orig 2014-04-09 23:13:08.000000000 -0700 ++++ echolib/EchoLinkDirectoryCon.cpp 2014-04-09 23:13:15.000000000 -0700 +@@ -204,7 +204,7 @@ + } + else + { +- errno = ECOMM; ++ errno = EIO; + return -1; + } + } diff --git a/comms/svxlink/files/patch-echolib_EchoLinkDispatcher.h b/comms/svxlink/files/patch-echolib_EchoLinkDispatcher.h new file mode 100644 index 000000000000..626e95fc6964 --- /dev/null +++ b/comms/svxlink/files/patch-echolib_EchoLinkDispatcher.h @@ -0,0 +1,12 @@ +--- echolib/EchoLinkDispatcher.h.orig 2014-04-10 02:13:14.000000000 -0700 ++++ echolib/EchoLinkDispatcher.h 2014-04-10 02:22:41.000000000 -0700 +@@ -215,7 +215,8 @@ + return a1 < a2; + } + }; +- typedef std::map<Async::IpAddress, ConData, ipaddr_lt> ConMap; ++ //typedef std::map<Async::IpAddress, ConData, ipaddr_lt> ConMap; ++ typedef std::map<Async::IpAddress, ConData> ConMap; + + static const int DEFAULT_PORT_BASE = 5198; + diff --git a/comms/svxlink/files/patch-locationinfo_LocationInfo.cpp b/comms/svxlink/files/patch-locationinfo_LocationInfo.cpp new file mode 100644 index 000000000000..e7d7bfc8ec98 --- /dev/null +++ b/comms/svxlink/files/patch-locationinfo_LocationInfo.cpp @@ -0,0 +1,11 @@ +--- locationinfo/LocationInfo.cpp.orig 2014-04-09 23:26:23.000000000 -0700 ++++ locationinfo/LocationInfo.cpp 2014-04-09 23:26:32.000000000 -0700 +@@ -480,7 +480,7 @@ + } + + double tmp = sqrt(2.0 * loc_cfg.height * sqrt((loc_cfg.power / 10.0) * +- pow10(loc_cfg.gain / 10.0) / 2)) * range_factor; ++ pow(10, loc_cfg.gain / 10.0) / 2)) * range_factor; + + return lrintf(tmp); + diff --git a/comms/svxlink/files/patch-makefile.cfg b/comms/svxlink/files/patch-makefile.cfg new file mode 100644 index 000000000000..9eaca18d4340 --- /dev/null +++ b/comms/svxlink/files/patch-makefile.cfg @@ -0,0 +1,11 @@ +--- makefile.cfg.orig 2013-03-24 02:49:05.000000000 -0700 ++++ makefile.cfg 2014-04-10 05:10:07.000000000 -0700 +@@ -60,7 +60,7 @@ + endif + + # Set default include path +-INCPATH = ++INCPATH = ${ADD_INCPATH} + + # CFLAGS (for CC) and CXXFLAGS (for CXX) + CFLAGS += diff --git a/comms/svxlink/files/patch-makefile.inc b/comms/svxlink/files/patch-makefile.inc new file mode 100644 index 000000000000..3e8e3af40707 --- /dev/null +++ b/comms/svxlink/files/patch-makefile.inc @@ -0,0 +1,91 @@ +--- makefile.inc.orig 2014-04-10 04:44:46.000000000 -0700 ++++ makefile.inc 2014-04-10 04:45:04.000000000 -0700 +@@ -160,7 +160,7 @@ + else \ + $(ECHO) --- Installing $(BOLD)$$file$(NBOLD) in \ + $(BOLD)$${target_dir}$(NBOLD)...; \ +- cp -pdf $$file $${target_dir}; \ ++ cp -pf $$file $${target_dir}; \ + [ -n "$$perm" -a "$$perm" != '-' ] \ + && chmod $$perm $${target_dir}/`basename $$file`; \ + [ -z "$$NO_CHOWN" -a -n "$$owner" -a "$$owner" != '-' ] \ +@@ -245,7 +245,7 @@ + target_dir=$${dir}; \ + fi; \ + if [ "$@" = "install-extras" ]; then \ +- $(MKDIR) $${target_dir} -p; \ ++ $(MKDIR) -p $${target_dir}; \ + [ -n "$$perm" -a "$$perm" != '-' ] \ + && chmod $$perm $${target_dir}; \ + [ -z "$$NO_CHOWN" -a -n "$$owner" -a "$$owner" != '-' ] \ +@@ -311,10 +311,10 @@ + }; remove_file + + # Some useful printing macros +-BOLD = "\033[1m" +-NBOLD = "\033[0m" ++#BOLD = "\033[1m" ++#NBOLD = "\033[0m" + + #ECHO = /bin/echo -e + BECHO = $(ECHO) $(BOLD)txt $(NBOLD) + + # Compiler +@@ -408,7 +408,7 @@ + ifdef PROGS + $(PROGS): $(notdir $(PROGS:%=%.o)) $(PRGOBJS) $(LIBDEP) + if [ -n "$(BIN)" -a ! -d "$(BIN)" ]; then \ +- $(MKDIR) $(BIN) -p; \ ++ $(MKDIR) -p $(BIN); \ + fi + BASENAME=`basename $@`_version; \ + if [ -r $${BASENAME}.h -a -r $${BASENAME}.c ]; then \ +@@ -429,7 +429,7 @@ + ifdef CPPPROGS + $(CPPPROGS): $(notdir $(CPPPROGS:%=%.o)) $(PRGOBJS) $(LIBDEP) + if [ -n "$(BIN)" -a ! -d "$(BIN)" ]; then \ +- $(MKDIR) $(BIN) -p; \ ++ $(MKDIR) -p $(BIN); \ + fi + BASENAME=`basename $@`_version; \ + if [ -r $${BASENAME}.h -a -r $${BASENAME}.c ]; then \ +@@ -522,7 +522,7 @@ + $(EXPINC:%=$(INC)/%): + $(ECHO) --- Creating $(BOLD)$@$(NBOLD)... + if [ -n "$(INC)" -a ! -d "$(INC)" ]; then \ +- $(MKDIR) $(INC) -p; \ ++ $(MKDIR) -p $(INC); \ + fi + $(RM) $@ + ln -s $$($(REVPATH) $$(dirname $@))/$$(basename $@) $@ +@@ -535,7 +535,7 @@ + $(RM) $(LIBFILE) + $(ECHO) --- Creating archive $(BOLD)$@$(NBOLD)... + if [ -n "$(LIB)" -a ! -d "$(LIB)" ]; then \ +- $(MKDIR) $(LIB) -p; \ ++ $(MKDIR) -p $(LIB); \ + fi + $(AR) cq $(LIBFILE) $(LIBOBJS) + if [ -n "$(STATIC_LIBS)" ]; then \ +@@ -801,12 +801,12 @@ + endif + + $(ROOT)/.config: $(ROOT)/create_config.sh + echo -e --- Creating $(BOLD)$@$(NBOLD)... + $(ROOT)/create_config.sh $@ + + .config: + if [ -x ./create_config ]; then \ + echo -e --- Creating $(BOLD)$@$(NBOLD)...; \ + rm -f $@; \ + ./create_config $@; \ + echo "MAKEFILE_LOCAL_CONFIG_INCLUDED = 1" >> $@; \ +@@ -815,7 +815,7 @@ + # Generate version files + version/%.h: $(ROOT)/versions + if [ ! -d version ]; then \ +- $(MKDIR) version -p; \ ++ $(MKDIR) -p version; \ + fi; \ + . $(ROOT)/versions; \ + if [ -n "$${$*}" ]; then \ diff --git a/comms/svxlink/files/patch-misc_common.h b/comms/svxlink/files/patch-misc_common.h new file mode 100644 index 000000000000..9a219170e6ff --- /dev/null +++ b/comms/svxlink/files/patch-misc_common.h @@ -0,0 +1,13 @@ +--- misc/common.h.orig 2013-09-14 03:27:37.000000000 -0700 ++++ misc/common.h 2014-04-20 22:45:31.000000000 -0700 +@@ -119,7 +119,9 @@ + static bool setValueFromString(ValueType &val, const std::string &str) + { + std::istringstream ss(str); +- ss >> std::noskipws >> val >> std::ws; ++ ss >> std::noskipws >> val; ++ if(!ss.eof()) ++ ss >> std::ws; + return !ss.fail() && ss.eof(); + } /* setValueFromString */ + diff --git a/comms/svxlink/files/patch-svxlink_Makefile.default b/comms/svxlink/files/patch-svxlink_Makefile.default new file mode 100644 index 000000000000..2697c4c2a2f9 --- /dev/null +++ b/comms/svxlink/files/patch-svxlink_Makefile.default @@ -0,0 +1,11 @@ +--- svxlink/svxlink/Makefile.default.orig 2014-04-09 23:54:07.000000000 -0700 ++++ svxlink/svxlink/Makefile.default 2014-04-09 23:54:12.000000000 -0700 +@@ -34,7 +34,7 @@ + PROJLIBS = -ltrx -llocationinfo -lasynccpp -lasyncaudio -lasynccore + + # Libraries external to the project +-LIBS = -ldl -lpopt -lgsm $(TCL_LIBS) $(GCRYPT_LIBS) $(SIGC_LIBS) ++LIBS = -lpopt -lgsm $(TCL_LIBS) $(GCRYPT_LIBS) $(SIGC_LIBS) + + # Specify Qt header files here that you want to run the + # Qt Meta Object Compiler on (for programs). diff --git a/comms/svxlink/files/patch-svxlink_scripts_Makefile.default b/comms/svxlink/files/patch-svxlink_scripts_Makefile.default new file mode 100644 index 000000000000..52a460771fbe --- /dev/null +++ b/comms/svxlink/files/patch-svxlink_scripts_Makefile.default @@ -0,0 +1,17 @@ +--- svxlink/scripts/Makefile.default.orig 2010-12-04 06:27:53.000000000 -0800 ++++ svxlink/scripts/Makefile.default 2014-04-10 01:39:24.000000000 -0700 +@@ -217,14 +217,6 @@ + # Additional files to install + install-extras uninstall-extras rpm-extras: + $(DIRSPEC) /var/spool/svxlink[755,svxlink,daemon] +- $(FILESPEC) etc/logrotate.d/svxlink[644,root,root,config] /etc/logrotate.d +- $(FILESPEC) etc/logrotate.d/remotetrx[644,root,root,config] /etc/logrotate.d +- $(FILESPEC) etc/init.d/svxlink[755,root,root] /etc/init.d +- $(FILESPEC) etc/sysconfig/svxlink[755,root,root,config] /etc/sysconfig +- $(FILESPEC) etc/10-svxlink.rules[644,root,root,config] /etc/udev/rules.d +- $(FILESPEC) etc/90-svxlink.perms[644,root,root,config] /etc/security/console.perms.d +- $(FILESPEC) etc/init.d/remotetrx[755,root,root] /etc/init.d +- $(FILESPEC) etc/sysconfig/remotetrx[755,root,root,config] /etc/sysconfig + + + # diff --git a/comms/svxlink/files/patch-svxlink_trx_NetTrxMsg.h b/comms/svxlink/files/patch-svxlink_trx_NetTrxMsg.h new file mode 100644 index 000000000000..49d545e85781 --- /dev/null +++ b/comms/svxlink/files/patch-svxlink_trx_NetTrxMsg.h @@ -0,0 +1,13 @@ +--- svxlink/trx/NetTrxMsg.h.orig 2014-04-09 23:51:14.000000000 -0700 ++++ svxlink/trx/NetTrxMsg.h 2014-04-09 23:51:53.000000000 -0700 +@@ -176,8 +176,8 @@ + MsgProtoVer(void) + : Msg(TYPE, sizeof(MsgProtoVer)), m_major(MAJOR), + m_minor(MINOR) {} +- uint16_t major(void) const { return m_major; } +- uint16_t minor(void) const { return m_minor; } ++ uint16_t FBSD_major(void) const { return m_major; } ++ uint16_t FBSD_minor(void) const { return m_minor; } + + private: + uint16_t m_major; diff --git a/comms/svxlink/files/patch-svxlink_trx_NetTrxTcpClient.cpp b/comms/svxlink/files/patch-svxlink_trx_NetTrxTcpClient.cpp new file mode 100644 index 000000000000..028665a4508e --- /dev/null +++ b/comms/svxlink/files/patch-svxlink_trx_NetTrxTcpClient.cpp @@ -0,0 +1,24 @@ +--- svxlink/trx/NetTrxTcpClient.cpp.orig 2014-04-09 23:51:30.000000000 -0700 ++++ svxlink/trx/NetTrxTcpClient.cpp 2014-04-09 23:52:13.000000000 -0700 +@@ -328,8 +328,8 @@ + { + MsgProtoVer *ver_msg = reinterpret_cast<MsgProtoVer *>(msg); + if ((msg->size() != sizeof(MsgProtoVer)) || +- (ver_msg->major() != MsgProtoVer::MAJOR) || +- (ver_msg->minor() != MsgProtoVer::MINOR)) ++ (ver_msg->FBSD_major() != MsgProtoVer::MAJOR) || ++ (ver_msg->FBSD_minor() != MsgProtoVer::MINOR)) + { + cerr << "*** ERROR: Incompatible protocol version. Disconnecting from " + << remoteHost().toString() << ":" << remotePort() << "...\n"; +@@ -337,8 +337,8 @@ + return; + } + cout << remoteHost().toString() << ":" << remotePort() +- << ": RemoteTrx protocol version " << ver_msg->major() << "." +- << ver_msg->minor() << endl; ++ << ": RemoteTrx protocol version " << ver_msg->FBSD_major() << "." ++ << ver_msg->FBSD_minor() << endl; + state = STATE_AUTH_WAIT; + } + else diff --git a/comms/svxlink/files/patch-svxlink_trx_SwDtmfDecoder.cpp b/comms/svxlink/files/patch-svxlink_trx_SwDtmfDecoder.cpp new file mode 100644 index 000000000000..e68b3eccc25c --- /dev/null +++ b/comms/svxlink/files/patch-svxlink_trx_SwDtmfDecoder.cpp @@ -0,0 +1,19 @@ +--- svxlink/trx/SwDtmfDecoder.cpp.orig 2014-04-09 23:44:56.000000000 -0700 ++++ svxlink/trx/SwDtmfDecoder.cpp 2014-04-09 23:47:28.000000000 -0700 +@@ -175,14 +175,14 @@ + { + int cfg_fwd_twist = atoi(value.c_str()); + if (cfg_fwd_twist >= 0) +- normal_twist = exp10f(cfg_fwd_twist/10.0f); ++ normal_twist = powf(10,cfg_fwd_twist/10.0f); + } + + if (cfg().getValue(name(), "DTMF_MAX_REV_TWIST", value)) + { + int cfg_rev_twist = atoi(value.c_str()); + if (cfg_rev_twist >= 0) +- reverse_twist = exp10f(cfg_rev_twist/10.0f); ++ reverse_twist = powf(10,cfg_rev_twist/10.0f); + } + + return true; diff --git a/comms/svxlink/files/patch-svxlink_trx_ToneDecoder.cpp b/comms/svxlink/files/patch-svxlink_trx_ToneDecoder.cpp new file mode 100644 index 000000000000..9bc3152a7da5 --- /dev/null +++ b/comms/svxlink/files/patch-svxlink_trx_ToneDecoder.cpp @@ -0,0 +1,20 @@ +--- svxlink/trx/ToneDetector.cpp.orig 2014-04-09 23:45:04.000000000 -0700 ++++ svxlink/trx/ToneDetector.cpp 2014-04-09 23:47:33.000000000 -0700 +@@ -335,7 +335,7 @@ + { + if (thresh > 0.0f) + { +- det_par->peak_thresh = exp10f(thresh/10.0f); ++ det_par->peak_thresh = powf(10, thresh/10.0f); + } + else + { +@@ -348,7 +348,7 @@ + { + if (thresh > 0.0f) + { +- undet_par->peak_thresh = exp10f(thresh/10.0f); ++ undet_par->peak_thresh = powf(10, thresh/10.0f); + } + else + { diff --git a/comms/svxlink/pkg-descr b/comms/svxlink/pkg-descr new file mode 100644 index 000000000000..69df7e1cb893 --- /dev/null +++ b/comms/svxlink/pkg-descr @@ -0,0 +1,5 @@ +The SvxLink project is a flexible, general purpose voice services system for +ham radio use. The project also includes Qtel, an EchoLink client GUI +application. + +WWW: http://sourceforge.net/apps/trac/svxlink/ diff --git a/comms/svxlink/pkg-plist b/comms/svxlink/pkg-plist new file mode 100644 index 000000000000..d85ca7fd056f --- /dev/null +++ b/comms/svxlink/pkg-plist @@ -0,0 +1,159 @@ +bin/svxlink +bin/remotetrx +bin/siglevdetcal +%%QTEL%%bin/qtel +@sample etc/svxlink/svxlink.d/ModuleHelp.conf.sample +@sample etc/svxlink/svxlink.d/ModuleParrot.conf.sample +@sample etc/svxlink/svxlink.d/ModuleEchoLink.conf.sample +@sample etc/svxlink/svxlink.d/ModuleTclVoiceMail.conf.sample +@sample etc/svxlink/svxlink.d/ModuleDtmfRepeater.conf.sample +@sample etc/svxlink/svxlink.d/ModuleMetarInfo.conf.sample +@sample etc/svxlink/svxlink.d/ModulePropagationMonitor.conf.sample +@sample etc/svxlink/svxlink.d/ModuleSelCallEnc.conf.sample +@sample etc/svxlink/svxlink.conf.sample +@sample etc/svxlink/TclVoiceMail.conf.sample +@sample etc/svxlink/.procmailrc.sample +@sample etc/svxlink/remotetrx.conf.sample +include/svxlink/AsyncApplication.h +include/svxlink/AsyncFdWatch.h +include/svxlink/AsyncTimer.h +include/svxlink/AsyncIpAddress.h +include/svxlink/AsyncTcpClient.h +include/svxlink/AsyncDnsLookup.h +include/svxlink/AsyncUdpSocket.h +include/svxlink/AsyncTcpServer.h +include/svxlink/AsyncTcpConnection.h +include/svxlink/AsyncConfig.h +include/svxlink/AsyncSerial.h +include/svxlink/AsyncFileReader.h +include/svxlink/AsyncAtTimer.h +include/svxlink/AsyncExec.h +include/svxlink/AsyncCppApplication.h +include/svxlink/AsyncAudioSource.h +include/svxlink/AsyncAudioSink.h +include/svxlink/AsyncAudioProcessor.h +include/svxlink/AsyncAudioClipper.h +include/svxlink/AsyncAudioCompressor.h +include/svxlink/AsyncAudioFilter.h +include/svxlink/AsyncSigCAudioSink.h +include/svxlink/AsyncSigCAudioSource.h +include/svxlink/AsyncAudioIO.h +include/svxlink/AsyncAudioSplitter.h +include/svxlink/AsyncAudioDelayLine.h +include/svxlink/AsyncAudioValve.h +include/svxlink/AsyncAudioAmp.h +include/svxlink/AsyncAudioSelector.h +include/svxlink/AsyncAudioPassthrough.h +include/svxlink/AsyncAudioMixer.h +include/svxlink/AsyncAudioFifo.h +include/svxlink/AsyncAudioDebugger.h +include/svxlink/AsyncAudioPacer.h +include/svxlink/AsyncAudioReader.h +include/svxlink/AsyncAudioDecimator.h +include/svxlink/AsyncAudioInterpolator.h +include/svxlink/AsyncAudioStreamStateDetector.h +include/svxlink/AsyncAudioEncoder.h +include/svxlink/AsyncAudioDecoder.h +include/svxlink/AsyncAudioRecorder.h +include/svxlink/AsyncAudioJitterFifo.h +include/svxlink/AsyncAudioDeviceFactory.h +include/svxlink/AsyncAudioDevice.h +%%QTEL%%include/svxlink/AsyncQtApplication.h +include/svxlink/common.h +include/svxlink/EchoLinkDirectory.h +include/svxlink/EchoLinkDispatcher.h +include/svxlink/EchoLinkQso.h +include/svxlink/EchoLinkStationData.h +include/svxlink/EchoLinkProxy.h +lib/libasynccore.a +lib/libasynccore-1.2.0.so +lib/libasynccore.so.1.2 +lib/libasynccore.so +lib/libasynccpp.a +lib/libasynccpp-1.2.0.so +lib/libasynccpp.so.1.2 +lib/libasynccpp.so +lib/libasyncaudio.a +lib/libasyncaudio-1.2.0.so +lib/libasyncaudio.so.1.2 +lib/libasyncaudio.so +%%QTEL%%lib/libasyncqt.a +%%QTEL%%lib/libasyncqt-1.2.0.so +%%QTEL%%lib/libasyncqt.so.1.2 +%%QTEL%%lib/libasyncqt.so +lib/libecholib.a +lib/svxlink/ModuleHelp.so +lib/svxlink/ModuleParrot.so +lib/svxlink/ModuleEchoLink.so +lib/svxlink/ModuleTcl.so +lib/svxlink/ModuleDtmfRepeater.so +lib/svxlink/ModuleMetarInfo.so +lib/libecholib-1.2.1.so +lib/libecholib.so.1.2 +lib/libecholib.so +lib/liblocationinfo.a +lib/libtrx.a +%%QTEL%%share/applications/qtel.desktop +%%DATADIR%%/events.tcl +%%DATADIR%%/events.d/RepeaterLogic.tcl +%%DATADIR%%/events.d/SimplexLogic.tcl +%%DATADIR%%/events.d/Module.tcl +%%DATADIR%%/events.d/Logic.tcl +%%DATADIR%%/events.d/CW.tcl +%%DATADIR%%/events.d/SelCall.tcl +%%DATADIR%%/events.d/locale.tcl +%%DATADIR%%/events.d/Help.tcl +%%DATADIR%%/events.d/Parrot.tcl +%%DATADIR%%/events.d/EchoLink.tcl +%%DATADIR%%/events.d/Tcl.tcl.example +%%DATADIR%%/events.d/TclVoiceMail.tcl +%%DATADIR%%/events.d/DtmfRepeater.tcl +%%DATADIR%%/events.d/MetarInfo.tcl +%%DATADIR%%/events.d/PropagationMonitor.tcl +%%DATADIR%%/events.d/SelCallEnc.tcl +%%DATADIR%%/modules.d/ModuleTcl.tcl.example +%%DATADIR%%/modules.d/ModuleTclVoiceMail.tcl +%%DATADIR%%/modules.d/ModulePropagationMonitor.tcl +%%DATADIR%%/modules.d/ModuleSelCallEnc.tcl +%%QTEL%%share/qtel/translations/qtel_sv.qm +%%QTEL%%share/qtel/translations/qtel_de.qm +%%QTEL%%share/qtel/translations/qtel_tr.qm +%%QTEL%%share/qtel/translations/qtel_nl.qm +%%QTEL%%share/qtel/translations/qtel_it.qm +%%QTEL%%share/qtel/translations/qtel_uk.qm +%%QTEL%%share/qtel/translations/qtel_ru.qm +%%QTEL%%share/qtel/translations/qtel_hu.qm +%%QTEL%%share/qtel/translations/qtel_es.qm +%%QTEL%%share/qtel/translations/qtel_ja.qm +%%QTEL%%share/qtel/translations/qtel_fr.qm +%%QTEL%%share/qtel/sounds/connect.raw +%%QTEL%%share/icons/link.xpm +man/man1/svxlink.1.gz +man/man1/remotetrx.1.gz +man/man1/siglevdetcal.1.gz +%%QTEL%%man/man1/qtel.1.gz +man/man5/svxlink.conf.5.gz +man/man5/ModuleHelp.conf.5.gz +man/man5/ModuleParrot.conf.5.gz +man/man5/ModuleEchoLink.conf.5.gz +man/man5/ModuleTclVoiceMail.conf.5.gz +man/man5/ModuleDtmfRepeater.conf.5.gz +man/man5/ModulePropagationMonitor.conf.5.gz +man/man5/ModuleSelCallEnc.conf.5.gz +man/man5/remotetrx.conf.5.gz +@dirrmtry etc/svxlink/svxlink.d +@dirrmtry etc/svxlink +@dirrm include/svxlink +@dirrm lib/svxlink +@dirrm %%DATADIR%%/events.d +@dirrm %%DATADIR%%/modules.d +@dirrm %%DATADIR%% +%%QTEL%%@dirrm share/qtel/translations +%%QTEL%%@dirrm share/qtel/sounds +%%QTEL%%@dirrm share/qtel +%%QTEL%%@dirrmtry share/applications +%%QTEL%%@dirrmtry share/icons +@unexec rmdir >/dev/null 2>&1 /var/spool/svxlink/voice_mail || : +@unexec rmdir >/dev/null 2>&1 /var/spool/svxlink/qso_recorder || : +@unexec rmdir >/dev/null 2>&1 /var/spool/svxlink/propagation_monitor || : +@unexec rmdir >/dev/null 2>&1 /var/spool/svxlink || : |