aboutsummaryrefslogtreecommitdiff
path: root/comms
diff options
context:
space:
mode:
authorDiane Bruce <db@FreeBSD.org>2014-04-11 19:36:15 +0000
committerDiane Bruce <db@FreeBSD.org>2014-04-11 19:36:15 +0000
commitb973d074b42c41d773ae5a1d2a9ff6f8d6ebac32 (patch)
tree010e23d5132dadc762f28e442f0d2f79f2c3414c /comms
parenta03d53764e91ae527025a717464509d66d261da2 (diff)
downloadports-b973d074b42c41d773ae5a1d2a9ff6f8d6ebac32.tar.gz
ports-b973d074b42c41d773ae5a1d2a9ff6f8d6ebac32.zip
- update comms/sstv to latest release
- bug fix ftp transfer when using subdirectories ( reported by Ken G7VJA) - bug fix for sound file output when recording while transmitting (Jem) PR: ports/188416 Submitted by: Stephen Hurd <shurd@sasktel.net> (maintainer)
Notes
Notes: svn path=/head/; revision=351034
Diffstat (limited to 'comms')
-rw-r--r--comms/qsstv/Makefile27
-rw-r--r--comms/qsstv/distinfo4
-rw-r--r--comms/qsstv/files/patch-no_designer15
-rw-r--r--comms/qsstv/files/patch-qsstv_8.pro24
-rw-r--r--comms/qsstv/files/patch-src_camcontrol.ui10
-rw-r--r--comms/qsstv/files/patch-src_configdialog.cpp19
-rw-r--r--comms/qsstv/files/patch-src_documentation_html_gettingstarted.html11
-rw-r--r--comms/qsstv/files/patch-src_drmrx_channeldecode.cpp10
-rw-r--r--comms/qsstv/files/patch-src_drmrx_deinterleaver.cpp10
-rw-r--r--comms/qsstv/files/patch-src_drmrx_demodulator.cpp11
-rw-r--r--comms/qsstv/files/patch-src_drmrx_getmode.cpp10
-rw-r--r--comms/qsstv/files/patch-src_drmrx_mkfacmap.cpp10
-rw-r--r--comms/qsstv/files/patch-src_drmrx_mkmscmap.cpp10
-rw-r--r--comms/qsstv/files/patch-src_drmrx_psdcmean.cpp10
-rw-r--r--comms/qsstv/files/patch-src_drmrx_psdmean.cpp10
-rw-r--r--comms/qsstv/files/patch-src_freqform.ui10
-rw-r--r--comms/qsstv/files/patch-src_sound_soundcontrol.cpp63
-rw-r--r--comms/qsstv/files/patch-src_sound_soundcontrol.h13
-rw-r--r--comms/qsstv/files/patch-src_sound_soundio.cpp76
-rw-r--r--comms/qsstv/files/patch-src_soundcontrol.ui10
-rw-r--r--comms/qsstv/files/patch-src_src.pro29
-rw-r--r--comms/qsstv/files/patch-src_widgets_freqform.ui (renamed from comms/qsstv/files/patch-src_configform.ui)6
-rw-r--r--comms/qsstv/files/patch-src_widgets_sweepform.ui (renamed from comms/qsstv/files/patch-src_sweepform.ui)4
-rw-r--r--comms/qsstv/pkg-plist68
24 files changed, 276 insertions, 194 deletions
diff --git a/comms/qsstv/Makefile b/comms/qsstv/Makefile
index 38ab3f6beb67..ba4f582fb40e 100644
--- a/comms/qsstv/Makefile
+++ b/comms/qsstv/Makefile
@@ -1,39 +1,36 @@
# $FreeBSD$
PORTNAME= qsstv
-PORTVERSION= 7.1.7
+PORTVERSION= 8.2.6
CATEGORIES= comms hamradio
MASTER_SITES= http://users.telenet.be/on4qz/qsstv/downloads/ \
${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= db
DISTNAME= ${PORTNAME}_${PORTVERSION}
-EXTRACT_SUFX= .tgz
MAINTAINER= shurd@sasktel.net
COMMENT= Amateur Radio SSTV/FAX reception program for unix
+LICENSE= GPLv3
+
LIB_DEPENDS= libfftw3.so:${PORTSDIR}/math/fftw3 \
+ libfftw3f.so:${PORTSDIR}/math/fftw3-float \
libhamlib.so:${PORTSDIR}/comms/hamlib \
- libasound.so:${PORTSDIR}/audio/alsa-lib
+ libasound.so:${PORTSDIR}/audio/alsa-lib \
+ libjasper.so:${PORTSDIR}/graphics/jasper
+.if defined(WITH_DEBUG)
+LIB_DEPENDS+= libqwt.so:${PORTSDIR}/x11-toolkits/qwt5
+.endif
BUILD_DEPENDS= v4l_compat>=0:${PORTSDIR}/multimedia/v4l_compat
USES= qmake
-USE_QT4= gui network moc_build rcc_build uic_build
-QMAKE_SOURCE_PATH= ${WRKSRC}/src
-
-OPTIONS_DEFINE= DOCS
-
-.include <bsd.port.options.mk>
+USE_QT4= gui network xml moc_build rcc_build uic_build
+USE_GCC= any
.if defined(WITH_DEBUG)
IGNORE= sources need more patching for debug build
.endif
-.if ! ${PORT_OPTIONS:MDOCS}
-INSTALL_TARGET= install_target
-.endif
-
-post-patch:
- @${RM} -f ${WRKSRC}/src/documentation/html/gettingstarted.html.orig
+PLIST_FILES= bin/qsstv
.include <bsd.port.mk>
diff --git a/comms/qsstv/distinfo b/comms/qsstv/distinfo
index 34029e106b55..bc7cef25820e 100644
--- a/comms/qsstv/distinfo
+++ b/comms/qsstv/distinfo
@@ -1,2 +1,2 @@
-SHA256 (qsstv_7.1.7.tgz) = ae713985af1072ab267c280dcb81c830a9a026545cf402444e1f72a3e7f25f00
-SIZE (qsstv_7.1.7.tgz) = 2116410
+SHA256 (qsstv_8.2.6.tar.gz) = 89d8e978754c59057c5704c90633d9497d5abdf2063311f90221abe3b478f994
+SIZE (qsstv_8.2.6.tar.gz) = 655360
diff --git a/comms/qsstv/files/patch-no_designer b/comms/qsstv/files/patch-no_designer
deleted file mode 100644
index 8d4f2e5774c5..000000000000
--- a/comms/qsstv/files/patch-no_designer
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/widgets/qvumeter.h.orig 2008-02-21 09:01:00.000000000 -0800
-+++ src/widgets/qvumeter.h 2013-08-11 17:41:46.000000000 -0700
-@@ -22,11 +22,10 @@
- #define QVUMETER_H
-
- #include <QtGui>
--#include <QtDesigner/QDesignerExportWidget>
- #include <math.h>
-
-
--class QDESIGNER_WIDGET_EXPORT QVUMeter : public QWidget
-+class Q_DECL_IMPORT QVUMeter : public QWidget
- {
- Q_OBJECT
- Q_PROPERTY(QColor colorBg READ colorBg WRITE setColorBg);
diff --git a/comms/qsstv/files/patch-qsstv_8.pro b/comms/qsstv/files/patch-qsstv_8.pro
new file mode 100644
index 000000000000..7fb73d47e875
--- /dev/null
+++ b/comms/qsstv/files/patch-qsstv_8.pro
@@ -0,0 +1,24 @@
+--- qsstv_8.pro.orig 2014-02-28 08:51:21.000000000 -0800
++++ qsstv_8.pro 2014-04-08 02:48:09.000000000 -0700
+@@ -420,7 +420,7 @@
+ FORMS += src/scope/scopeoffset.ui \
+ src/scope/plotform.ui
+
+- INCLUDEPATH += /usr/include/qwt
++ INCLUDEPATH += $$PREFIX/include/qwt6
+ LIBS += -lqwt
+ }
+
+@@ -430,10 +430,10 @@
+ PRE_TARGETDEPS += dox
+ message(dox will be generated)
+ }
+-dox.path=/usr/share/doc/$$TARGET
++dox.path=$$PREFIX/share/doc/$$TARGET
+ dox.files= $$PWD/manual/*
+ QMAKE_EXTRA_TARGETS += dox
+
+-target.path = /usr/bin
++target.path = $$PREFIX/bin
+ INSTALLS += target dox
+
diff --git a/comms/qsstv/files/patch-src_camcontrol.ui b/comms/qsstv/files/patch-src_camcontrol.ui
deleted file mode 100644
index b3d681884224..000000000000
--- a/comms/qsstv/files/patch-src_camcontrol.ui
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/camcontrol.ui.orig 2008-06-20 09:47:28.000000000 -0700
-+++ src/camcontrol.ui 2013-08-11 18:22:01.000000000 -0700
-@@ -475,7 +475,6 @@
- </layout>
- </widget>
- <layoutdefault spacing="6" margin="11" />
-- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
- <customwidgets>
- <customwidget>
- <class>Q3Frame</class>
diff --git a/comms/qsstv/files/patch-src_configdialog.cpp b/comms/qsstv/files/patch-src_configdialog.cpp
deleted file mode 100644
index ba98cdef7e0b..000000000000
--- a/comms/qsstv/files/patch-src_configdialog.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
---- src/configdialog.cpp.orig 2013-06-30 19:37:03.000000000 -0700
-+++ src/configdialog.cpp 2013-06-30 19:38:19.000000000 -0700
-@@ -100,14 +100,14 @@
- txImagesPath=qSettings.value("txImagesPath",QString(getenv("HOME"))+"/").toString();
- templatesPath=qSettings.value("templatesPath",QString(getenv("HOME"))+"/").toString();
- audioPath=qSettings.value("audioPath",QString(getenv("HOME"))+"/").toString();
-- docPath =qSettings.value("docPath",QString("/usr/share/doc/qsstv/")).toString();
-+ docPath =qSettings.value("docPath",QString("%%DOCSDIR%%")).toString();
- defaultImageFormat=qSettings.value("defaultImageFormat","png").toString();
- samplingrate=qSettings.value("samplingrate",11025).toInt();
- rxClock=qSettings.value("rxclock",11025.).toDouble();
- txClock=qSettings.value("txclock",11025.).toDouble();
- inputAudioDevice=qSettings.value("inputAudioDevice","default").toString();
- outputAudioDevice=qSettings.value("outputAudioDevice","default").toString();
-- serialPort=qSettings.value("serialPort","/dev/ttyS0").toString();
-+ serialPort=qSettings.value("serialPort","/dev/ttyu0").toString();
- radioModel=qSettings.value("radioModel","dummy").toString();
- civAddress=qSettings.value("civAddress",0x70).toInt();
- baudrate=qSettings.value("baudrate",9600).toInt();
diff --git a/comms/qsstv/files/patch-src_documentation_html_gettingstarted.html b/comms/qsstv/files/patch-src_documentation_html_gettingstarted.html
deleted file mode 100644
index e6882f6fef30..000000000000
--- a/comms/qsstv/files/patch-src_documentation_html_gettingstarted.html
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/documentation/html/gettingstarted.html.orig 2013-06-30 20:08:44.000000000 -0700
-+++ src/documentation/html/gettingstarted.html 2013-06-30 20:08:51.000000000 -0700
-@@ -112,7 +112,7 @@
- <li>CIV Address: only used for ICOM, default is 112 (hex: 0x70)</li>
- <li>Serial Port/host: either the serial port (e.g. /dev/ttyUSB0) or the host address (e.g. localhost:4532)</li>
- <li>Handshake, Parity, Data bits, Stop bits, Baudrate: serial port settings</li>
--<li>PTT Serial Port: serial port (e.g. /dev/ttyS0) only used if "Enable PTT serial Interface" is selected</li>
-+<li>PTT Serial Port: serial port (e.g. /dev/ttyu0) only used if "Enable PTT serial Interface" is selected</li>
- </ul>
- </li>
- </ul>
diff --git a/comms/qsstv/files/patch-src_drmrx_channeldecode.cpp b/comms/qsstv/files/patch-src_drmrx_channeldecode.cpp
new file mode 100644
index 000000000000..e2da325cac6a
--- /dev/null
+++ b/comms/qsstv/files/patch-src_drmrx_channeldecode.cpp
@@ -0,0 +1,10 @@
+--- src/drmrx/channeldecode.cpp.orig 2014-04-08 02:02:06.000000000 -0700
++++ src/drmrx/channeldecode.cpp 2014-04-08 02:03:28.000000000 -0700
+@@ -29,7 +29,6 @@
+ #include <stdlib.h>
+ #include <sys/types.h>
+ #include <math.h>
+-#include <malloc.h>
+ #include <float.h>
+ #include "structtemplates.h"
+ #include "drmproto.h"
diff --git a/comms/qsstv/files/patch-src_drmrx_deinterleaver.cpp b/comms/qsstv/files/patch-src_drmrx_deinterleaver.cpp
new file mode 100644
index 000000000000..b8380d758abe
--- /dev/null
+++ b/comms/qsstv/files/patch-src_drmrx_deinterleaver.cpp
@@ -0,0 +1,10 @@
+--- src/drmrx/deinterleaver.cpp.orig 2014-04-08 02:02:11.000000000 -0700
++++ src/drmrx/deinterleaver.cpp 2014-04-08 02:03:30.000000000 -0700
+@@ -30,7 +30,6 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <malloc.h>
+ #include <math.h>
+ int *deinterleaver(int xinA, int tA, int xinB, int tB)
+ {
diff --git a/comms/qsstv/files/patch-src_drmrx_demodulator.cpp b/comms/qsstv/files/patch-src_drmrx_demodulator.cpp
new file mode 100644
index 000000000000..faa2a11dbbbf
--- /dev/null
+++ b/comms/qsstv/files/patch-src_drmrx_demodulator.cpp
@@ -0,0 +1,11 @@
+--- src/drmrx/demodulator.cpp.orig 2014-04-10 14:48:35.000000000 -0700
++++ src/drmrx/demodulator.cpp 2014-04-10 14:49:48.000000000 -0700
+@@ -941,7 +941,7 @@
+ temp2 += actual_pilots[2 * j] * next_pilots[2 * j + 1] -actual_pilots[2 * j + 1] * next_pilots[2 * j];
+
+ }
+- if (i != 0) delta_freq_offset = (float) atan2(temp2, temp1 + MIN_ABS_H);
++ if (i != 0) delta_freq_offset = (float) atan2(temp2, (float)(temp1 + MIN_ABS_H));
+
+ for (j = 0; j < K_max - K_min + 1; j++)
+ {
diff --git a/comms/qsstv/files/patch-src_drmrx_getmode.cpp b/comms/qsstv/files/patch-src_drmrx_getmode.cpp
new file mode 100644
index 000000000000..3eae46a39c58
--- /dev/null
+++ b/comms/qsstv/files/patch-src_drmrx_getmode.cpp
@@ -0,0 +1,10 @@
+--- src/drmrx/getmode.cpp.orig 2014-04-08 02:02:16.000000000 -0700
++++ src/drmrx/getmode.cpp 2014-04-08 02:03:32.000000000 -0700
+@@ -34,7 +34,6 @@
+ #include <stdlib.h>
+ #include <math.h>
+ #include <sys/types.h>
+-#include <malloc.h>
+ #include "structtemplates.h"
+ #include "drmproto.h"
+ #include "drmdefs.h"
diff --git a/comms/qsstv/files/patch-src_drmrx_mkfacmap.cpp b/comms/qsstv/files/patch-src_drmrx_mkfacmap.cpp
new file mode 100644
index 000000000000..5c99a3778825
--- /dev/null
+++ b/comms/qsstv/files/patch-src_drmrx_mkfacmap.cpp
@@ -0,0 +1,10 @@
+--- src/drmrx/mkfacmap.cpp.orig 2014-04-08 02:02:22.000000000 -0700
++++ src/drmrx/mkfacmap.cpp 2014-04-08 02:03:34.000000000 -0700
+@@ -27,7 +27,6 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <malloc.h>
+ int mkfacmap(int robustness_mode, int K_dc, int K_modulo, int /*@out@ */ *FACmap)
+ {
+ int elem_cnt, i;
diff --git a/comms/qsstv/files/patch-src_drmrx_mkmscmap.cpp b/comms/qsstv/files/patch-src_drmrx_mkmscmap.cpp
new file mode 100644
index 000000000000..064f4cbb8829
--- /dev/null
+++ b/comms/qsstv/files/patch-src_drmrx_mkmscmap.cpp
@@ -0,0 +1,10 @@
+--- src/drmrx/mkmscmap.cpp.orig 2014-04-08 02:02:32.000000000 -0700
++++ src/drmrx/mkmscmap.cpp 2014-04-08 02:03:36.000000000 -0700
+@@ -32,7 +32,6 @@
+ #include <stdlib.h>
+ #include <sys/types.h>
+ #include <math.h>
+-#include <malloc.h>
+ #include "drmdefs.h"
+ #include "structtemplates.h"
+ #include "drmproto.h"
diff --git a/comms/qsstv/files/patch-src_drmrx_psdcmean.cpp b/comms/qsstv/files/patch-src_drmrx_psdcmean.cpp
new file mode 100644
index 000000000000..b4e830a5e653
--- /dev/null
+++ b/comms/qsstv/files/patch-src_drmrx_psdcmean.cpp
@@ -0,0 +1,10 @@
+--- src/drmrx/psdcmean.cpp.orig 2014-04-08 02:02:38.000000000 -0700
++++ src/drmrx/psdcmean.cpp 2014-04-08 02:03:38.000000000 -0700
+@@ -36,7 +36,6 @@
+ #include <stdlib.h>
+ #include <math.h>
+ #include <sys/types.h>
+-#include <malloc.h>
+ void cfft(float *, int, int);
+ void psdcmean(float *rsbuf, float *cpsd, int lblock, int nblocks)
+ {
diff --git a/comms/qsstv/files/patch-src_drmrx_psdmean.cpp b/comms/qsstv/files/patch-src_drmrx_psdmean.cpp
new file mode 100644
index 000000000000..0de7aa97c900
--- /dev/null
+++ b/comms/qsstv/files/patch-src_drmrx_psdmean.cpp
@@ -0,0 +1,10 @@
+--- src/drmrx/psdmean.cpp.orig 2014-04-08 02:02:47.000000000 -0700
++++ src/drmrx/psdmean.cpp 2014-04-08 02:03:40.000000000 -0700
+@@ -36,7 +36,6 @@
+ #include <stdlib.h>
+ #include <math.h>
+ #include <sys/types.h>
+-#include <malloc.h>
+ void rfft(float *, int, int);
+ void psdmean(float *input, float *psd, int lblock, int nblocks)
+ {
diff --git a/comms/qsstv/files/patch-src_freqform.ui b/comms/qsstv/files/patch-src_freqform.ui
deleted file mode 100644
index 030736d8e7df..000000000000
--- a/comms/qsstv/files/patch-src_freqform.ui
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/freqform.ui.orig 2013-08-11 18:18:41.000000000 -0700
-+++ src/freqform.ui 2013-08-11 18:18:46.000000000 -0700
-@@ -281,7 +281,6 @@
- </layout>
- </widget>
- <layoutdefault spacing="6" margin="11" />
-- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
- <resources/>
- <connections>
- <connection>
diff --git a/comms/qsstv/files/patch-src_sound_soundcontrol.cpp b/comms/qsstv/files/patch-src_sound_soundcontrol.cpp
new file mode 100644
index 000000000000..b05af362e1a4
--- /dev/null
+++ b/comms/qsstv/files/patch-src_sound_soundcontrol.cpp
@@ -0,0 +1,63 @@
+--- src/sound/soundcontrol.cpp.orig 2014-04-09 10:27:08.000000000 -0700
++++ src/sound/soundcontrol.cpp 2014-04-09 10:27:28.000000000 -0700
+@@ -53,8 +53,8 @@
+ txClock=qSettings.value("txclock",BASESAMPLERATE).toDouble();
+ if(fabs(1-rxClock/BASESAMPLERATE)>0.002) rxClock=BASESAMPLERATE;
+ if(fabs(1-txClock/BASESAMPLERATE)>0.002) txClock=BASESAMPLERATE;
+- inputAudioDeviceIndex=qSettings.value("inputAudioDeviceIndex",0).toInt();
+- outputAudioDeviceIndex=qSettings.value("outputAudioDeviceIndex",0).toInt();
++ inputAudioDevice=qSettings.value("inputAudioDevice",0).toString();
++ outputAudioDevice=qSettings.value("outputAudioDevice",0).toString();
+ soundIOPtr->soundRoutingInput= (soundIO::edataSrc)qSettings.value("soundRoutingInput", 0 ).toInt();
+ soundIOPtr->soundRoutingOutput= (soundIO::edataDst)qSettings.value("soundRoutingOutput", 0 ).toInt();
+ soundIOPtr->recordingSize= qSettings.value("recordingSize", 100 ).toInt();
+@@ -69,8 +69,8 @@
+ qSettings.beginGroup("Sound");
+ qSettings.setValue("rxclock",rxClock);
+ qSettings.setValue("txclock",txClock);
+- qSettings.setValue("inputAudioDeviceIndex",inputAudioDeviceIndex);
+- qSettings.setValue("outputAudioDeviceIndex",outputAudioDeviceIndex);
++ qSettings.setValue("inputAudioDevice",inputAudioDevice);
++ qSettings.setValue("outputAudioDevice",outputAudioDevice);
+ qSettings.setValue ("soundRoutingInput", soundIOPtr->soundRoutingInput );
+ qSettings.setValue ("soundRoutingOutput",soundIOPtr->soundRoutingOutput );
+ qSettings.setValue ("recordingSize",soundIOPtr->recordingSize );
+@@ -82,8 +82,8 @@
+ {
+ setValue(rxClock,ui->inputClockLineEdit,9);
+ setValue(txClock,ui->outputClockLineEdit,9);
+- setIndex(inputAudioDeviceIndex,ui->inputPCMNameComboBox);
+- setIndex(outputAudioDeviceIndex,ui->outputPCMNameComboBox);
++ setValue(inputAudioDevice,ui->inputPCMNameComboBox);
++ setValue(outputAudioDevice,ui->outputPCMNameComboBox);
+ soundIOPtr->inputAudioDevice=ui->inputPCMNameComboBox->currentText();
+ soundIOPtr->outputAudioDevice=ui->outputPCMNameComboBox->currentText();
+
+@@ -99,13 +99,13 @@
+ void soundControl::getParams()
+ {
+ changed=false;
+- int savedInputIdx=inputAudioDeviceIndex;
+- int savedOutputIdx=outputAudioDeviceIndex;
++ QString savedInput=inputAudioDevice;
++ QString savedOutput=outputAudioDevice;
+ getValue(rxClock,ui->inputClockLineEdit);
+ getValue(txClock,ui->inputClockLineEdit);
+
+- getIndex(inputAudioDeviceIndex,ui->inputPCMNameComboBox);
+- getIndex(outputAudioDeviceIndex,ui->outputPCMNameComboBox);
++ getValue(inputAudioDevice,ui->inputPCMNameComboBox);
++ getValue(outputAudioDevice,ui->outputPCMNameComboBox);
+
+ if (ui->inFromCard->isChecked()) soundIOPtr->soundRoutingInput=soundIO::SNDINCARD;
+ else if(ui->inFromFile->isChecked()) soundIOPtr->soundRoutingInput=soundIO::SNDINFILE;
+@@ -114,7 +114,7 @@
+ if (ui->outToCard->isChecked()) soundIOPtr->soundRoutingOutput=soundIO::SNDOUTCARD;
+ else soundIOPtr->soundRoutingOutput=soundIO::SNDOUTTOFILE;
+ getValue(soundIOPtr->recordingSize,ui->mbSpinBox);
+- if(savedInputIdx!=inputAudioDeviceIndex) changed=true;
+- if(savedOutputIdx!=outputAudioDeviceIndex) changed=true;
++ if(savedInput!=inputAudioDevice) changed=true;
++ if(savedOutput!=outputAudioDevice) changed=true;
+ }
+
diff --git a/comms/qsstv/files/patch-src_sound_soundcontrol.h b/comms/qsstv/files/patch-src_sound_soundcontrol.h
new file mode 100644
index 000000000000..20a40c97e674
--- /dev/null
+++ b/comms/qsstv/files/patch-src_sound_soundcontrol.h
@@ -0,0 +1,13 @@
+--- src/sound/soundcontrol.h.orig 2014-04-09 10:27:16.000000000 -0700
++++ src/sound/soundcontrol.h 2014-04-09 10:27:28.000000000 -0700
+@@ -22,8 +22,8 @@
+
+ private:
+ Ui::soundControl *ui;
+- int inputAudioDeviceIndex;
+- int outputAudioDeviceIndex;
++ QString inputAudioDevice;
++ QString outputAudioDevice;
+ bool changed;
+ void getParams();
+ };
diff --git a/comms/qsstv/files/patch-src_sound_soundio.cpp b/comms/qsstv/files/patch-src_sound_soundio.cpp
new file mode 100644
index 000000000000..4e00f56f99be
--- /dev/null
+++ b/comms/qsstv/files/patch-src_sound_soundio.cpp
@@ -0,0 +1,76 @@
+--- src/sound/soundio.cpp.orig 2014-04-03 11:15:08.000000000 -0700
++++ src/sound/soundio.cpp 2014-04-09 21:47:59.000000000 -0700
+@@ -328,7 +328,9 @@
+ if ( count == -EPIPE )
+ {
+ // Overrun
+- snd_pcm_prepare (captureHandle );
++ snd_pcm_drop (captureHandle);
++ snd_pcm_reset (captureHandle);
++ snd_pcm_prepare (captureHandle);
+ snd_pcm_start (captureHandle);
+ qDebug()<< "Overrun";
+ }
+@@ -573,8 +575,6 @@
+ // int totalDevices;
+ snd_pcm_info_t *pcmInfo;
+ snd_ctl_t *cardHandle;
+- inputPCMNameList << "default";
+- outputPCMNameList << "default";
+
+ // No cards found yet
+ totalCards = 0;
+@@ -582,6 +582,11 @@
+ // Start with first card
+ cardNum = -1;
+
++ // We need to get a snd_ctl_card_info_t. Just alloc it on the stack
++ snd_ctl_card_info_alloca(&cardInfo);
++ // To get some info about the subdevices of this wave device (on the card), we need a
++ // snd_pcm_info_t, so let's allocate one on the stack
++ snd_pcm_info_alloca(&pcmInfo);
+ for (;;)
+ {
+
+@@ -599,8 +604,6 @@
+ qDebug() << "Can't open card "<< cardNum << snd_strerror(err);
+ continue;
+ }
+- // We need to get a snd_ctl_card_info_t. Just alloc it on the stack
+- snd_ctl_card_info_alloca(&cardInfo);
+
+ // Tell ALSA to fill in our snd_ctl_card_info_t with info about this card
+ if ((err = snd_ctl_card_info(cardHandle, cardInfo)) >= 0)
+@@ -619,9 +622,6 @@
+ // NOTE: It's possible that this sound card may have no wave devices on it
+ // at all, for example if it's only a MIDI card
+ if (devNum < 0) break;
+- // To get some info about the subdevices of this wave device (on the card), we need a
+- // snd_pcm_info_t, so let's allocate one on the stack
+- snd_pcm_info_alloca(&pcmInfo);
+ memset(pcmInfo, 0, snd_pcm_info_sizeof());
+
+ // Tell ALSA which device (number) we want info about
+@@ -636,6 +636,22 @@
+ // qDebug() << "Found:" << totalDevices << " digital audio devices on card " << cardNum;
+ }
+
++ snd_config_t *pcm;
++ snd_config_update();
++ if(snd_config_search(snd_config, "pcm", &pcm)==0) {
++ snd_config_iterator_t i, next;
++ snd_config_for_each(i, next, pcm) {
++ snd_config_t *n = snd_config_iterator_entry(i);
++ if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND)
++ continue;
++ const char *id;
++ if(snd_config_get_id(n, &id)==0) {
++ inputPCMNameList << id;
++ outputPCMNameList << id;
++ }
++ }
++ }
++
+ // qDebug() << "ALSA found cards" << totalCards;
+
+ // ALSA allocates some mem to load its config file when we call
diff --git a/comms/qsstv/files/patch-src_soundcontrol.ui b/comms/qsstv/files/patch-src_soundcontrol.ui
deleted file mode 100644
index b140b7517955..000000000000
--- a/comms/qsstv/files/patch-src_soundcontrol.ui
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/soundcontrol.ui.orig 2013-08-11 18:20:01.000000000 -0700
-+++ src/soundcontrol.ui 2013-08-11 18:20:09.000000000 -0700
-@@ -209,7 +209,6 @@
- </layout>
- </widget>
- <layoutdefault spacing="6" margin="11" />
-- <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
- <resources/>
- <connections>
- <connection>
diff --git a/comms/qsstv/files/patch-src_src.pro b/comms/qsstv/files/patch-src_src.pro
deleted file mode 100644
index 1ba85538a068..000000000000
--- a/comms/qsstv/files/patch-src_src.pro
+++ /dev/null
@@ -1,29 +0,0 @@
---- ./src/src.pro.orig 2012-01-04 21:11:46.000000000 +0000
-+++ ./src/src.pro 2014-01-07 16:53:34.793505558 +0000
-@@ -9,7 +9,6 @@
-
- QMAKE_CXXFLAGS_DEBUG -= -O2
- QMAKE_CXXFLAGS_DEBUG += -g3 -O0
--QMAKE_STRIP = echo
- VERSION=7.1.7
-
- message(directory2 $$PWD)
-@@ -180,15 +179,14 @@
- QMAKE_EXTRA_TARGETS += dox
- message(dox will be generated)
- }
--dox.path=/usr/share/doc/$$TARGET
-+dox.path=$$PREFIX/share/doc/$$TARGET
- dox.files= $$PWD/documentation/html/*
-
-- LIBS += -L/usr/lib64 \
-+ LIBS += \
- -lfftw3 \
- -lasound \
- -lhamlib
-
--target.path=/usr/local/bin
--target.extra = strip $(TARGET); cp -f $(TARGET) $${PREFIX}/bin/$(TARGET)
-+target.path=$$PREFIX/bin
- INSTALLS +=target
- INSTALLS +=dox
diff --git a/comms/qsstv/files/patch-src_configform.ui b/comms/qsstv/files/patch-src_widgets_freqform.ui
index 78cbdedd1374..4fe3e9badc26 100644
--- a/comms/qsstv/files/patch-src_configform.ui
+++ b/comms/qsstv/files/patch-src_widgets_freqform.ui
@@ -1,6 +1,6 @@
---- src/configform.ui.orig 2013-08-11 18:17:50.000000000 -0700
-+++ src/configform.ui 2013-08-11 18:18:00.000000000 -0700
-@@ -2963,7 +2963,6 @@
+--- src/widgets/freqform.ui.orig 2014-04-10 14:59:37.000000000 -0700
++++ src/widgets/freqform.ui 2014-04-10 14:59:45.000000000 -0700
+@@ -242,7 +242,6 @@
</layout>
</widget>
<layoutdefault spacing="6" margin="11"/>
diff --git a/comms/qsstv/files/patch-src_sweepform.ui b/comms/qsstv/files/patch-src_widgets_sweepform.ui
index ef4a0b73757a..ea95ad61d9bc 100644
--- a/comms/qsstv/files/patch-src_sweepform.ui
+++ b/comms/qsstv/files/patch-src_widgets_sweepform.ui
@@ -1,5 +1,5 @@
---- src/sweepform.ui.orig 2013-08-11 18:20:48.000000000 -0700
-+++ src/sweepform.ui 2013-08-11 18:20:55.000000000 -0700
+--- src/widgets/sweepform.ui.orig 2014-04-10 15:00:13.000000000 -0700
++++ src/widgets/sweepform.ui 2014-04-10 15:00:18.000000000 -0700
@@ -248,7 +248,6 @@
</layout>
</widget>
diff --git a/comms/qsstv/pkg-plist b/comms/qsstv/pkg-plist
deleted file mode 100644
index f357fb540ecf..000000000000
--- a/comms/qsstv/pkg-plist
+++ /dev/null
@@ -1,68 +0,0 @@
-bin/qsstv
-%%PORTDOCS%%%%DOCSDIR%%/_r_x.html
-%%PORTDOCS%%%%DOCSDIR%%/_t_x.html
-%%PORTDOCS%%%%DOCSDIR%%/arrow.png
-%%PORTDOCS%%%%DOCSDIR%%/bc_s.png
-%%PORTDOCS%%%%DOCSDIR%%/calibration.png
-%%PORTDOCS%%%%DOCSDIR%%/camera.png
-%%PORTDOCS%%%%DOCSDIR%%/changelog.html
-%%PORTDOCS%%%%DOCSDIR%%/closed.png
-%%PORTDOCS%%%%DOCSDIR%%/config.png
-%%PORTDOCS%%%%DOCSDIR%%/doubletone.png
-%%PORTDOCS%%%%DOCSDIR%%/doxygen.css
-%%PORTDOCS%%%%DOCSDIR%%/doxygen.png
-%%PORTDOCS%%%%DOCSDIR%%/edit.png
-%%PORTDOCS%%%%DOCSDIR%%/editor.html
-%%PORTDOCS%%%%DOCSDIR%%/editor_1.png
-%%PORTDOCS%%%%DOCSDIR%%/editor_2.png
-%%PORTDOCS%%%%DOCSDIR%%/editor_3.png
-%%PORTDOCS%%%%DOCSDIR%%/fcircle.png
-%%PORTDOCS%%%%DOCSDIR%%/fileopen.png
-%%PORTDOCS%%%%DOCSDIR%%/filesave.png
-%%PORTDOCS%%%%DOCSDIR%%/frect.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2blank.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2doc.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2folderclosed.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2folderopen.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2lastnode.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2link.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2mlastnode.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2mnode.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2node.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2plastnode.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2pnode.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2splitbar.png
-%%PORTDOCS%%%%DOCSDIR%%/ftv2vertline.png
-%%PORTDOCS%%%%DOCSDIR%%/gallery.html
-%%PORTDOCS%%%%DOCSDIR%%/Gallery_rx.png
-%%PORTDOCS%%%%DOCSDIR%%/Gallery_template.png
-%%PORTDOCS%%%%DOCSDIR%%/Gallery_tx.png
-%%PORTDOCS%%%%DOCSDIR%%/gettingstarted.html
-%%PORTDOCS%%%%DOCSDIR%%/index.html
-%%PORTDOCS%%%%DOCSDIR%%/installation.html
-%%PORTDOCS%%%%DOCSDIR%%/jquery.js
-%%PORTDOCS%%%%DOCSDIR%%/line.png
-%%PORTDOCS%%%%DOCSDIR%%/nav_f.png
-%%PORTDOCS%%%%DOCSDIR%%/nav_h.png
-%%PORTDOCS%%%%DOCSDIR%%/navtree.css
-%%PORTDOCS%%%%DOCSDIR%%/navtree.js
-%%PORTDOCS%%%%DOCSDIR%%/open.png
-%%PORTDOCS%%%%DOCSDIR%%/pages.html
-%%PORTDOCS%%%%DOCSDIR%%/qsstv.css
-%%PORTDOCS%%%%DOCSDIR%%/replay.png
-%%PORTDOCS%%%%DOCSDIR%%/resize.js
-%%PORTDOCS%%%%DOCSDIR%%/rxwidget.png
-%%PORTDOCS%%%%DOCSDIR%%/start.png
-%%PORTDOCS%%%%DOCSDIR%%/stop.png
-%%PORTDOCS%%%%DOCSDIR%%/sweep.png
-%%PORTDOCS%%%%DOCSDIR%%/tab_a.png
-%%PORTDOCS%%%%DOCSDIR%%/tab_b.png
-%%PORTDOCS%%%%DOCSDIR%%/tab_h.png
-%%PORTDOCS%%%%DOCSDIR%%/tab_s.png
-%%PORTDOCS%%%%DOCSDIR%%/tabs.css
-%%PORTDOCS%%%%DOCSDIR%%/text.png
-%%PORTDOCS%%%%DOCSDIR%%/todo.html
-%%PORTDOCS%%%%DOCSDIR%%/tone.png
-%%PORTDOCS%%%%DOCSDIR%%/txwidget.png
-%%PORTDOCS%%%%DOCSDIR%%/whatsnew.html
-%%PORTDOCS%%@dirrm %%DOCSDIR%%