[hamradio-commits] [freedv] 05/05: Packaging for freedv 1.2.2-1

Maitland Bottoms bottoms at moszumanska.debian.org
Sun Sep 3 23:26:31 UTC 2017


This is an automated email from the git hooks/post-receive script.

bottoms pushed a commit to branch debian
in repository freedv.

commit 7bf8a7770024b173f9df305f6acec8cdd8847cda
Author: A. Maitland Bottoms <bottoms at debian.org>
Date:   Sun Sep 3 19:09:38 2017 -0400

    Packaging for freedv 1.2.2-1
---
 debian/changelog                    |  23 +++++
 debian/control                      |  11 ++-
 debian/copyright                    |  17 ++--
 debian/docs                         |   4 +
 debian/format                       |   1 +
 debian/freedv.1                     | 178 ++++++++++++++++++++++++++++++++----
 debian/patches/HID-PTT              | 129 +++++++++++++++-----------
 debian/patches/appstream-metadata   |   7 ++
 debian/patches/debian-version       |  41 +++++++++
 debian/patches/link-with-libXxf86vm |   2 +-
 debian/patches/series               |   5 +-
 debian/patches/use-system-sox       | 118 ++++++++++++++++++++++++
 debian/rules                        |   4 +-
 13 files changed, 455 insertions(+), 85 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index f9c17c9..339a14d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,26 @@
+freedv (1.2.2-1) unstable; urgency=medium
+
+  * New upstream release, using new modes in codec2 0.7
+    Improvements to Hamlib support, error message reporting, serial rate box.
+    Disabled unused UDP comms/egexp processing to clean up Options dialog.
+  * include AppStream metadata Comment in desktop file (LP: #1646467)
+
+ -- A. Maitland Bottoms <bottoms at debian.org>  Tue, 15 Aug 2017 22:38:34 -0400
+
+freedv (1.2-1) experimental; urgency=medium
+
+  * New upstream release
+  * http://www.rowetel.com/?p=5456
+
+ -- A. Maitland Bottoms <bottoms at debian.org>  Wed, 15 Feb 2017 22:10:13 -0500
+
+freedv (1.1.0.3026-1) experimental; urgency=low
+
+  * New upstream experimental trials - svn 3026
+  * Highlights: FreeDV 1.2 / Codec2 0.6 test release
+
+ -- A. Maitland Bottoms <bottoms at debian.org>  Sun, 29 Jan 2017 16:07:00 -0500
+
 freedv (1.1-1) unstable; urgency=medium
 
   * New upstream release, new Voice Keyer feature
diff --git a/debian/control b/debian/control
index 426a357..91e13c1 100644
--- a/debian/control
+++ b/debian/control
@@ -1,10 +1,11 @@
 Source: freedv
 Section: hamradio
 Priority: optional
-Maintainer: A. Maitland Bottoms <bottoms at debian.org>
+Maintainer: Debian Hamradio Maintainers <debian-hams at lists.debian.org>
+Uploaders: A. Maitland Bottoms <bottoms at debian.org>
 Build-Depends: cmake,
                debhelper (>= 9~),
-               libcodec2-dev (>= 0.5),
+	       libcodec2-dev (>= 0.7),
                libhamlib-dev,
                libsamplerate-dev,
                libsndfile-dev,
@@ -12,10 +13,10 @@ Build-Depends: cmake,
                libspeexdsp-dev,
                libwxgtk3.0-dev,
                portaudio19-dev
-Standards-Version: 3.9.6
+Standards-Version: 4.0.0
 Homepage: http://freedv.org/
-Vcs-Git: git://anonscm.debian.org/users/bottoms/pkg-freedv.git
-Vcs-Browser: http://anonscm.debian.org/cgit/users/bottoms/pkg-freedv.git/
+Vcs-Browser: http://anonscm.debian.org/cgit/pkg-hamradio/freedv.git/
+Vcs-Git: git://anonscm.debian.org/git/pkg-hamradio/freedv.git
 
 Package: freedv
 Architecture: any
diff --git a/debian/copyright b/debian/copyright
index e59477a..3f74393 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,9 +1,9 @@
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Upstream-Name: freedv
 Upstream-Contact: http://freedv.org/
-Source: http://files.freedv.org/freedv/freedv-1.0.tar.gz
+Source: http://files.freedv.org/freedv/freedv-1.2.2.tar.xz
 Comment:
- Packages of vers 0.91, 0.96, 1.0, 1.1
+ Packages of vers 0.91, 0.96, 1.0, 1.1, 1.2, 1.2.2
  by A. Maitland Bottoms <bottoms at debian.org>
  .
  FreeDV Specification by Mel Whitten, K0PFX, and David Rowe, VK5DGR
@@ -14,12 +14,13 @@ Comment:
 	Dave Witten <wittend at wwrinc.com>
 	Richard Shaw
  .
+ Project began licensed GPL-3, but SVN commit 643 changed to
+ LGPL-2.1 as work continues to provide a FreeDV API using LGPL-2.1
+ for use in adding FreeDV communications to other applications.
+ .
  See the credits.txt file for a more complete list of contributors.
 Copyright: 2001-2012 Free Software Foundation, Inc.
 License: LGPL-2.1
-Comment: project began licensed GPL-3, but SVN commit 643 changed to
- LGPL-2.1 as work continues to provide a FreeDV API using LGPL-2.1
- for use in adding FreeDV communications to other applications.
 
 Files: */CMakeLists.txt
 Copyright: 2013-2014 Richard Shaw
@@ -33,12 +34,12 @@ Comment: r1696 | hobbes1069 | 2014-06-20 10:11:47 -0400 (Fri, 20 Jun 2014)
  add CC license to icons in contrib directory.
 
 Files: debian/*
-Copyright: 2013-2014 A. Maitland Bottoms <bottoms at debian.org>
+Copyright: 2013-2017 A. Maitland Bottoms <bottoms at debian.org>
 License: LGPL-2.1
 
 Files: *
 Copyright: 2013-2015 Dave Witten <wittend at wwrinc.com>
- 2013-1015 David Rowe VK5DGR <david at rowetel.com>
+ 2013-2017 David Rowe VK5DGR <david at rowetel.com>
 License: LGPL-2.1
 
 License: LGPL-2.1
diff --git a/debian/docs b/debian/docs
new file mode 100644
index 0000000..7d8d6e0
--- /dev/null
+++ b/debian/docs
@@ -0,0 +1,4 @@
+credits.txt
+README.txt
+RELEASE_NOTES.txt
+USER_MANUAL.txt
diff --git a/debian/format b/debian/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/freedv.1 b/debian/freedv.1
index fea700b..23acebe 100644
--- a/debian/freedv.1
+++ b/debian/freedv.1
@@ -1,28 +1,22 @@
-.TH FREEDV "1" "December 2012" "fdmdv2 0.91" "User Commands"
+.TH FREEDV "1" "July 2017" "freedv 1.2.2" "User Commands"
 .SH NAME
 freedv \- Digital Voice for HF
 .SH DESCRIPTION
 FreeDV is a GUI application that allows any SSB radio to be used for
 low bit rate digital voice.
 .PP
-Speech is compressed down to 1400 bit/s then modulated onto a 1100 Hz
-wide QPSK signal which is sent to the Mic input of a SSB radio. On
-receive, the signal is received by the SSB radio, then demodulated and
-decoded by FreeDV.
+Speech is compressed down to 700-1600 bit/s then modulated onto a 1.25
+kHz wide signal comprised of 16 QPSK carriers which is sent to the Mic
+input of a SSB radio. The signal is received by an SSB radio, then
+demodulated and decoded by FreeDV. FreeDV 700C is approaching SSB in
+it's low SNR performance. At high SNRs FreeDV 1600 sounds like FM,
+with no annoying analog HF radio noise.
 .PP
 FreeDV was built by an international team of Radio Amateurs working
 together on coding, design, user interface and testing. FreeDV is open
-source software, released under the GNU Public License version
-2.1. The FDMDV modem and Codec 2 Speech codec used in FreeDV are also
-open source.
-.PP
-.SH New Upgrade as of March 2013
-The new version 0.96 provides a 1600 bit\-per\-second mode that
-communicates at much lower signal levels than
-previously. Communications should be readable down to 2 dB SNR, and
-long distance contacts are reported using 1 to 2 watts power. A
-compatibility mode for communication with the older 0.91 version is
-included.
+source software, released under the GNU Lesser General Public License
+version 2.1. The FDMDV modem and Codec 2 Speech codec used in FreeDV
+are also open source.
 .PP
 .SH Why FreeDV?
 Amateur Radio is transitioning from analog to digital, much as it
@@ -87,5 +81,157 @@ reduce the received S/N. Modern transmitters and amplifiers are only
 as linear, and only have as much headroom, as is necessary for voice
 SSB. Ask manufacturers and reviewers to start rating linearity and
 headroom for digital modes.
+.PP
+.SH  PTT Configuration
+Tools-PTT Dialog
+.PP
+Hamlib comes with a default serial rate for each radio.  If your radio
+has a different serial rate change the Serial Rate drop down box to
+match your radio.
+.PP
+When "Test" is pressed, the "Serial Params" field is populated and
+displayed.  This will help track down any mis-matches between Hamlib
+and your radio.
+.PP
+Serial PTT support is complex.  We get many reports that FreeDV Hamlib
+PTT doesn't work on a particular radio, but may work fine with other
+programs such as Fldigi.  This is always a mis-match between the
+serial parameters Hamlib is using with FreeDV and your radio. For
+example you may have changed the default serial rate on your
+radio. Carefully check the serial parameters on your radio match those
+used by FreeDV in the PTT Dialog.
+.PP
+If you are really stuck, download Hamlib (Debian package libhamlib-utils)
+and test your radio's PTT using the command line rigctl program.
+.PP
+.SH  Voice Keyer
+Voice Keyer Button on Front Page
+Options-PTT Dialog
+.PP
+Puts FreeDV and your radio into transmit, reads a wave file of your
+voice to call CQ, then switches to receive to see if anyone is
+replying.  If you press space bar the voice keyer stops.  If a signal
+with a valid sync is received for a few seconds the voice keyer stops.
+.PP
+Options-PTT dialog can be used to select the wave file, set the Rx
+delay, and number of times the tx/rx cycle repeats.
+.PP
+The wave file for the voice keyer should be in 8kHz mono 16 bit sample
+form.  Use a free application such as Audacity to convert a file you
+have recorded to this format.
+.PP
+.SH  Test Frame Histogram
+Test Frame Histogram tab on Front Page
+.PP
+Displays BER of each carrier when in "test frame" mode.  As each QPSK
+carrier has 2 bits there are 2*Nc histogram points.
+.PP
+Ideally all carriers will have about the same BER (+/- 20% after 5000
+total bit errors).  However problems can occur with filtering in the
+tx path.  If one carrier has less power, then it will have a higher
+BER.  The errors in this carrier will tend to dominate overall
+BER. For example if one carrier is attenuated due to SSB filter ripple
+in the tx path then the BER on that carrier will be higher.  This is
+bad news for DV.
+.PP
+Suggested usage:
+.PP
+i) Transmit FreeDV in test frame mode.  Use a 2nd rx (or
+get a friend) to monitor your rx signal with FreeDV in test frame
+mode.
+.PP
+ii) Adjust your rx SNR to get a BER of a few % (e.g. reduce tx
+power, use a short antenna for the rx, point your beam away, adjust rx
+RF gain).
+.PP
+iii) Monitor the error histogram for a few minutes, until you
+have say 5000 total bit errors.  You have a problem if the BER of any
+carrier is more than 20% different from the rest.
+.PP
+A typical issue will be one carrier at 1.0, the others at 0.5,
+indicating the poorer carrier BER is twice the larger.
+.PP
+.SH  Full Duplex Testing with loopback
+Options - Half Duplex check box
+.PP
+FreeDV GUI can operate in full duplex mode which is useful for
+development of listening to your own FreeDV signal as only one PC is
+required.  Normal operation is half duplex.
+.PP
+Tx and Rx signals can be looped back via an analog connection between
+the sound cards.
+.PP
+On Linux, using the Alsa loopback module:
+.PP
+  $ sudo modprobe snd-aloop
+    $ ./freedv
+.PP
+  In Tools - Audio Config - Receive Tab  - From Radio select -> Loopback: Loopback PCM (hw:1,0)
+                            - Transmit Tab - To Radio select   -> Loopback: Loopback PCM (hw:1,1)
+.PP
+.SH  Design & Key Features
+Design:
+.PP
+ Codec 2 voice codec and FDMDV/COHPSK modems
+ 1.25 kHz spectrum bandwidth (half SSB) with 75 Hz carrier spacing
+ FreeDV 1600 mode: 1275 bit/s voice coding, 25 bit/s text
+    for call sign ID, 300 bit/s FEC, 16x50 baud DQPSK carriers,
+    Differential QPSK demodulation
+ FreeDV 700(C) mode: 700 bit/s voice coding, no FEC, 14x75
+    baud QPSK carriers, frequency diversity to combat fading,
+    coherent QPSK demodulation
+ No interleaving in time, resulting in low latency, fast
+    synchronization and quick recovery from fades.
+ 44.1 or 48kHz sample rate sound card compatible
+.PP
+Key Features:
+.PP
+ Cross platform, runs on Linux and Windows.
+ Open source, patent free Codec and Modem that anyone can
+    experiment with and modify Waterfall, spectrum, scatter and
+    audio oscilloscope displays.
+ Adjustable squelch
+ Fast/slow SNR estimation
+ Microphone and Speaker signal audio Equaliser
+ Control of Transmitter PTT via RS232 levels
+ Works with one (receive only) or two
+    (transmit and receive) sound cards, for example a built in
+    sound card and USB headphones.
+.PP
+.SH Credits
+FreeDV is being maintained and extended by David Rowe, VK5DGR. Richard
+Shaw KF5OIM maintains the Cmake build system, Windows and Fedora
+packaging. Walter, K5WH is leading Windows testing in the USA.
+.PP
+As development continues, many people are helping whom we have not
+credited, but we appreciate all of their work.
+.PP
+This manual page was written by Maitland Bottoms
+for the Debian project (but may be used by others).
+.PP
+.SH History
+In 2012 FreeDV was coded from scratch by David Witten (GUI,
+architecture) and David Rowe (Codec 2, modem implementation,
+integration).
+.PP
+The FreeDV design and user interface is based on FDMDV, which was
+developed by Francesco Lanza, HB9TLK. Francesco received advice on
+modem design from Peter Martinez G3PLX, who has also advised David on
+the FDMDV modem used in FreeDV.
+.PP
+Mel Whitten, K0PFX has contributed greatly to the design, testing and
+promotion of several Digital Voice systems, including FDMDV. This
+practical experience has led to the current design – a fast sync, no
+FEC, low latency system that gives a “SSB” type feel for
+operators. Mel and a team of alpha testers (Gerry, N4DVR; Jim, K3DCC;
+Rick, WA6NUT; Tony, K2MO) provided feedback on usability and design of
+FreeDV.
+.PP
+Bruce Perens has been a thought leader on open source, patent free
+voice codecs for Amateur Radio. He has inspired, promoted and
+encouraged the development of Codec 2 and FreeDV.
+.PP
 .SH "SEE ALSO"
 http://freedv.org/
+.PP
+For casual chat there is a #freedv IRC channel on freenode.net
diff --git a/debian/patches/HID-PTT b/debian/patches/HID-PTT
index 5bfd950..72ceb63 100644
--- a/debian/patches/HID-PTT
+++ b/debian/patches/HID-PTT
@@ -1,10 +1,9 @@
 --- a/src/fdmdv2_main.h
 +++ b/src/fdmdv2_main.h
-@@ -51,6 +51,15 @@
+@@ -50,6 +50,14 @@
  #include <wx/regex.h>
  #include <wx/socket.h>
  
-+#define HAVE_LINUX_HIDRAW_H
 +#ifdef HAVE_LINUX_HIDRAW_H
 +#include <linux/hidraw.h>
 +#include <sys/types.h>
@@ -15,8 +14,8 @@
 +
  #include <samplerate.h>
  
- #include <hamlib.h> 
-@@ -186,6 +195,9 @@
+ #include <stdint.h>
+@@ -182,6 +190,9 @@
  
          bool                m_boolUseSerialPTT;
          wxString            m_strRigCtrlPort;
@@ -26,23 +25,25 @@
          bool                m_boolUseRTS;
          bool                m_boolRTSPos;
          bool                m_boolUseDTR;
-@@ -406,6 +418,11 @@
+@@ -441,7 +452,12 @@
          txRxThread*             m_txRxThread;
  
          bool                    OpenHamlibRig();
+-        void                    OpenSerialPort(void);
 +	void                    HIDPTT(int pushed);
-+	void                    SetupHIDPort(void);
++        void                    OpenHIDPort(void);
 +	void                    CloseHIDPort(void);
 +	int                     m_hidPort;
 +	char                    m_hidGPIO;
-         void                    SetupSerialPort(void);
++	void                    OpenSerialPort(void);
          void                    CloseSerialPort(void);
          void                    SerialPTTRx(void);
+ 
 --- a/src/dlg_ptt.h
 +++ b/src/dlg_ptt.h
-@@ -57,6 +57,13 @@
-         wxTextCtrl   *m_txtCtrlVoiceKeyerRxPause;
-         wxTextCtrl   *m_txtCtrlVoiceKeyerRepeats;
+@@ -49,6 +49,13 @@
+     protected:
+         wxCheckBox* m_ckLeftChannelVoxTone;
  
 +        /* HID PTT settings.*/
 +
@@ -54,18 +55,18 @@
          /* Hamlib settings.*/
  
          wxCheckBox *m_ckUseHamlibPTT;
-@@ -87,6 +94,7 @@
+@@ -81,6 +88,7 @@
          void populatePortList();
  
          void PTTUseHamLibClicked(wxCommandEvent& event);
 +        void PTTUseHIDClicked(wxCommandEvent& event);
          void PTTUseSerialClicked(wxCommandEvent& event);
  
-         void OnChooseVoiceKeyerWaveFile(wxCommandEvent& event);
+         void OnTest(wxCommandEvent& event);
 --- a/src/dlg_ptt.cpp
 +++ b/src/dlg_ptt.cpp
-@@ -84,6 +84,42 @@
-     mainSizer->Add(staticBoxSizer28a, 0, wxEXPAND, 5);
+@@ -51,6 +51,42 @@
+     mainSizer->Add(staticBoxSizer28, 0, wxEXPAND, 5);
  
      //----------------------------------------------------------------------
 +    // HID PTT
@@ -107,16 +108,19 @@
      // Hamlib for CAT PTT
      //----------------------------------------------------------------------
  
-@@ -97,7 +133,7 @@
-     gridSizer100->Add(m_ckUseHamlibPTT, 0, wxALIGN_CENTER_VERTICAL, 0);
+@@ -67,8 +103,9 @@
  
      /* Hamlib Rig Type combobox. */
--    gridSizer100->Add(new wxStaticText(this, wxID_ANY, _("Rig Model:"), wxDefaultPosition, wxDefaultSize, 0), 
-+   gridSizer100->Add(new wxStaticText(this, wxID_ANY, _("Rig Model:"), wxDefaultPosition, wxDefaultSize, 0),
-                       0, wxALIGN_CENTER_VERTICAL | wxLEFT, 20);
+ 
+-    gridSizerhl->Add(new wxStaticText(this, wxID_ANY, _("Rig Model:"), wxDefaultPosition, wxDefaultSize, 0), 
+-                      0, wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT, 20);
++    gridSizerhl->Add(new wxStaticText(this, wxID_ANY, _("Rig Model:"), wxDefaultPosition, wxDefaultSize, 0),
++		      0, wxALIGN_CENTER_VERTICAL | wxLEFT, 20);
++    
      m_cbRigName = new wxComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(250, -1), 0, NULL, wxCB_DROPDOWN);
-     /* TODO(Joel): this is a hack. At the least, need to gurantee that m_hamLib
-@@ -210,6 +246,7 @@
+     wxGetApp().m_hamlib->populateComboBox(m_cbRigName);
+     m_cbRigName->SetSelection(wxGetApp().m_intHamlibRig);
+@@ -193,6 +230,7 @@
      // Connect events
      this->Connect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(ComPortsDlg::OnInitDialog), NULL, this);
      m_ckUseHamlibPTT->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::PTTUseHamLibClicked), NULL, this);
@@ -124,7 +128,7 @@
      m_ckUseSerialPTT->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::PTTUseSerialClicked), NULL, this);
      m_buttonOK->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ComPortsDlg::OnOK), NULL, this);
      m_buttonCancel->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ComPortsDlg::OnCancel), NULL, this);
-@@ -225,6 +262,7 @@
+@@ -208,6 +246,7 @@
      // Disconnect Events
      this->Disconnect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(ComPortsDlg::OnInitDialog), NULL, this);
      m_ckUseHamlibPTT->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::PTTUseHamLibClicked), NULL, this);
@@ -132,18 +136,18 @@
      m_ckUseSerialPTT->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::PTTUseSerialClicked), NULL, this);
      m_buttonOK->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ComPortsDlg::OnOK), NULL, this);
      m_buttonCancel->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(ComPortsDlg::OnCancel), NULL, this);
-@@ -344,7 +382,7 @@
+@@ -338,7 +377,7 @@
  void ComPortsDlg::ExchangeData(int inout)
  {
      wxConfigBase *pConfig = wxConfigBase::Get();
 -    wxString str;
 +    wxString str,hidstr,hidbit;
      
-     if(inout == EXCHANGE_DATA_IN)
-     {
-@@ -361,13 +399,21 @@
-         m_cbRigName->SetSelection(wxGetApp().m_intHamlibRig);
-         m_cbSerialPort->SetValue(wxGetApp().m_strHamlibSerialPort);
+     if(inout == EXCHANGE_DATA_IN) {
+         m_ckLeftChannelVoxTone->SetValue(wxGetApp().m_leftChannelVoxTone);
+@@ -357,13 +396,21 @@
+ 
+         /* Serial PTT */
  
 +	m_ckUseHIDPTT->SetValue(wxGetApp().m_boolUseHIDPTT);
 +	hidstr = wxGetApp().m_strRigHidPort;
@@ -163,9 +167,9 @@
  #endif
          m_rbUseRTS->SetValue(wxGetApp().m_boolUseRTS);
          m_ckRTSPos->SetValue(wxGetApp().m_boolRTSPos);
-@@ -403,6 +449,21 @@
-         pConfig->Write(wxT("/Hamlib/RigName"), wxGetApp().m_intHamlibRig);
+@@ -396,6 +443,21 @@
          pConfig->Write(wxT("/Hamlib/SerialPort"), wxGetApp().m_strHamlibSerialPort);
+         pConfig->Write(wxT("/Hamlib/SerialRate"), wxGetApp().m_intHamlibSerialRate);
  
 +        /* HID PTT settings. */
 +
@@ -185,8 +189,8 @@
          /* Serial settings */
  
          wxGetApp().m_boolUseSerialPTT           = m_ckUseSerialPTT->IsChecked();
-@@ -438,6 +499,13 @@
- }
+@@ -537,6 +599,13 @@
+ 
  
  //-------------------------------------------------------------------------
 +// PTTUseHIDClicked()
@@ -201,9 +205,9 @@
  void ComPortsDlg::PTTUseSerialClicked(wxCommandEvent& event)
 --- a/src/fdmdv2_main.cpp
 +++ b/src/fdmdv2_main.cpp
-@@ -359,6 +359,10 @@
-     wxGetApp().m_intHamlibRig = pConfig->ReadLong("/Hamlib/RigName", 0);
+@@ -438,6 +438,10 @@
      wxGetApp().m_strHamlibSerialPort = pConfig->Read("/Hamlib/SerialPort", "");
+     wxGetApp().m_intHamlibSerialRate = pConfig->ReadLong("/Hamlib/SerialRate", 0);
      
 +    wxGetApp().m_boolUseHIDPTT      = pConfig->ReadBool(wxT("/Rig/UseHIDPTT"), false);
 +    wxGetApp().m_strRigHidPort      = pConfig->Read(wxT("/Rig/HIDPort"), wxT(""));
@@ -212,8 +216,8 @@
      wxGetApp().m_boolUseSerialPTT   = pConfig->ReadBool(wxT("/Rig/UseSerialPTT"),   false);
      wxGetApp().m_strRigCtrlPort     = pConfig->Read(wxT("/Rig/Port"),               wxT(""));
      wxGetApp().m_boolUseRTS         = pConfig->ReadBool(wxT("/Rig/UseRTS"),         true);
-@@ -1473,6 +1477,14 @@
-  
+@@ -1470,6 +1474,14 @@
+         wxGetApp().m_serialport->ptt(g_tx);
      }
  
 +    if(wxGetApp().m_boolUseHIDPTT && m_hidPort >= 0)
@@ -227,31 +231,29 @@
      // reset level gauge
  
      m_maxLevel = 0;
-@@ -2144,6 +2156,9 @@
+@@ -2381,6 +2393,8 @@
+         
+         if (wxGetApp().m_boolHamlibUseForPTT)
              OpenHamlibRig();
-             wxGetApp().m_hamlib->close();
-         }
-+        if (wxGetApp().m_boolUseHIDPTT) {
-+            SetupHIDPort();
-+        }
++        if (wxGetApp().m_boolUseHIDPTT)
++            OpenHIDPort();
          if (wxGetApp().m_boolUseSerialPTT) {
-             SetupSerialPort();
-             CloseSerialPort();
-@@ -2410,6 +2425,9 @@
+             OpenSerialPort();
+         }
+@@ -2429,6 +2443,9 @@
              }
          }
  
 +        if (wxGetApp().m_boolUseHIDPTT)
 +            CloseHIDPort();
 +
-         if (wxGetApp().m_boolUseSerialPTT)
+         if (wxGetApp().m_boolUseSerialPTT) {
              CloseSerialPort();
- 
-@@ -3898,3 +3916,84 @@
-     foff_phase_rect->real /= mag;	 
-     foff_phase_rect->imag /= mag;	 
+         }
+@@ -4040,3 +4057,83 @@
+     return 0;
  }
-+
+ 
 +//----------------------------------------------------------------
 +// HIDPTT(int pushed)
 +//----------------------------------------------------------------
@@ -287,9 +289,9 @@
 +}
 +
 +//----------------------------------------------------------------
-+// SetupHIDPort()
++// OpenHIDPort()
 +//----------------------------------------------------------------
-+void MainFrame::SetupHIDPort(void)
++void MainFrame::OpenHIDPort(void)
 +{
 +#ifdef HAVE_LINUX_HIDRAW_H
 +  struct hidraw_devinfo hiddevinfo;
@@ -332,3 +334,24 @@
 +      //m_btnTogPTT->Enable(false);
 +    }
 +}
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -164,6 +164,7 @@
+ check_include_files("inttypes.h"   HAVE_INTTYPES_H)
+ check_include_files("sys/stat.h"   HAVE_SYS_STAT_H)
+ check_include_files("sys/types.h"  HAVE_SYS_TYPES_H)
++check_include_files("linux/hidraw.h"  HAVE_LINUX_HIDRAW_H)
+ 
+ include(CheckTypeSize)
+ check_type_size("int" SIZEOF_INT)
+@@ -181,6 +182,10 @@
+ include(CheckSymbolExists)
+ check_symbol_exists("_fseeki64" "stdio.h" HAVE__FSEEKI64)
+ 
++if(${HAVE_LINUX_HIDRAW_H})
++ add_definitions(-DHAVE_LINUX_HIDRAW_H)
++endif(${HAVE_HIDRAW_H})
++
+ # fdmdv2_main.h requires patching to find config.h as it current looks in the
+ # source directory and the generated file goes in the binary directory.
+ configure_file ("${PROJECT_SOURCE_DIR}/cmake/config.h.in"
diff --git a/debian/patches/appstream-metadata b/debian/patches/appstream-metadata
new file mode 100644
index 0000000..0471d04
--- /dev/null
+++ b/debian/patches/appstream-metadata
@@ -0,0 +1,7 @@
+--- a/contrib/freedv.desktop
++++ b/contrib/freedv.desktop
+@@ -6,3 +6,4 @@
+ Type=Application
+ Terminal=false
+ Categories=GTK;GNOME;AudioVideo;Audio;HamRadio;
++Comment=Digital Voice mode for HF Radio
diff --git a/debian/patches/debian-version b/debian/patches/debian-version
new file mode 100644
index 0000000..6971711
--- /dev/null
+++ b/debian/patches/debian-version
@@ -0,0 +1,41 @@
+--- a/src/fdmdv2_main.cpp
++++ b/src/fdmdv2_main.cpp
+@@ -2216,7 +2216,7 @@
+ 
+                 wxT("GNU Public License V2.1\n\n")
+                 wxT("Copyright (c) David Witten KD0EAG and David Rowe VK5DGR\n\n")
+-                wxT("svn revision: %s\n"), FREEDV_VERSION, SVN_REVISION);
++                wxT("Debian package version: %s\n"), FREEDV_VERSION, SVN_REVISION);
+ 
+     wxMessageBox(msg, wxT("About"), wxOK | wxICON_INFORMATION, this);
+ }
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -51,6 +51,8 @@
+     message(STATUS "Build type not specified, defaulting to ${CMAKE_BUILD_TYPE}")
+ endif(NOT CMAKE_BUILD_TYPE)
+ 
++set(DEB_VERSION "" CACHE STRING "Debian packages build with this setting")
++
+ # Work around for not using a svn working copy.
+ add_definitions(-D_NO_AUTOTOOLS_)
+ find_program(SVN_PATH svn)
+@@ -65,13 +67,17 @@
+     set(SVN_REVISION_RESULT 1)
+ endif()
+ 
++if (NOT (${DEB_VERSION} STREQUAL ""))
++  add_definitions(-DSVN_REVISION="${DEB_VERSION}")
++  message(STATUS "Debian FreeDV version: ${DEB_VERSION}")
++else()
+ if(SVN_REVISION_RESULT EQUAL 0)
+     string(STRIP ${SVN_CURRENT_REVISION} SVN_REVISION)
+     add_definitions(-DSVN_REVISION="${SVN_REVISION}")
+ else()
+     add_definitions(-DSVN_REVISION="None")
+ endif()
+-
++endif()
+ 
+ # Set default build flags.
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
diff --git a/debian/patches/link-with-libXxf86vm b/debian/patches/link-with-libXxf86vm
index b3d714e..54ec767 100644
--- a/debian/patches/link-with-libXxf86vm
+++ b/debian/patches/link-with-libXxf86vm
@@ -1,6 +1,6 @@
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -416,6 +416,12 @@
+@@ -366,6 +366,12 @@
  if(wxWidgets_FOUND)
      include("${wxWidgets_USE_FILE}")
      list(APPEND FREEDV_LINK_LIBS ${wxWidgets_LIBRARIES})
diff --git a/debian/patches/series b/debian/patches/series
index 062f20d..8d8703a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,5 @@
-HID-PTT
+appstream-metadata
 link-with-libXxf86vm
+use-system-sox
+HID-PTT
+debian-version
diff --git a/debian/patches/use-system-sox b/debian/patches/use-system-sox
new file mode 100644
index 0000000..c2cfd65
--- /dev/null
+++ b/debian/patches/use-system-sox
@@ -0,0 +1,118 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -29,25 +29,28 @@
+     fdmdv2_plot_spectrum.h
+     fdmdv2_plot_waterfall.h
+     hamlib.h
+-    sox_biquad.h
+-    sox/band.h
+-    sox/biquad.c
+-    sox/biquads.c
+-    sox/biquad.h
+-    sox/effects.c
+-    sox/effects.h
+-    sox/effects_i.c
+-    sox/formats_i.c
+-    sox/libsox.c
+-    sox/sox.h
+-    sox/sox_i.h
+-    sox/soxomp.h
+-    sox/util.h
+-    sox/xmalloc.h
+-    sox/xmalloc.c
+     topFrame.h
+     version.h
+-)
++    )
++if(USE_STATIC_SOX)
++  list(APPEND FREEDV_SOURCES
++     sox_biquad.h
++     sox/band.h
++     sox/biquad.c
++     sox/biquads.c
++     sox/biquad.h
++     sox/effects.c
++     sox/effects.h
++     sox/effects_i.c
++     sox/formats_i.c
++     sox/libsox.c
++     sox/sox.h
++     sox/sox_i.h
++     sox/soxomp.h
++     sox/util.h
++     sox/xmalloc.h
++     sox/xmalloc.c )
++endif(USE_STATIC_SOX)
+ 
+ # WIN32 is needed for Windows GUI apps and is ignored for UNIX like systems.
+ add_executable(freedv WIN32 ${FREEDV_SOURCES} ${RES_FILES})
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -96,6 +96,8 @@
+     "Download and build static codec2 instead of the system library.")
+ set(USE_STATIC_SPEEXDSP TRUE CACHE BOOL
+     "Download and build static speex instead of the system library.")
++set(USE_STATIC_SOX FALSE CACHE BOOL
++    "Use embedded build static sox instead of the system library.")
+ set(BOOTSTRAP_WXWIDGETS FALSE CACHE BOOL
+     "Download and build static wxWidgets instead of the system library.")
+ 
+@@ -104,6 +106,7 @@
+     set(USE_STATIC_SNDFILE TRUE FORCE)
+     set(USE_STATIC_SAMPLERATE TRUE FORCE)
+     set(USE_STATIC_CODEC2 TRUE FORCE)
++    set(USE_STATIC_SOX TRUE FORCE)
+ endif(USE_STATIC_DEPS)
+ 
+ #
+@@ -186,8 +189,10 @@
+ add_definitions(-DHAVE_CONFIG_H)
+ 
+ # Config file for bundled sox sources
+-configure_file("${PROJECT_SOURCE_DIR}/cmake/soxconfig.h.in"
+-               "${PROJECT_BINARY_DIR}/soxconfig.h")
++if(USE_STATIC_SOX)
++ configure_file("${PROJECT_SOURCE_DIR}/cmake/soxconfig.h.in"
++                "${PROJECT_BINARY_DIR}/soxconfig.h")
++endif(USE_STATIC_SOX)
+ 
+ # Pthread Library
+ find_package(Threads REQUIRED)
+@@ -395,6 +400,26 @@
+ endif()
+ 
+ #
++# Find sox library
++#
++if(NOT USE_STATIC_SOX)
++    message(STATUS "Looking for sox library.")
++    find_path(SOX_INCLUDE_DIR NAMES sox.h)
++    find_library(SOX_LIBRARY sox)
++    message(STATUS "  sox headers: ${SOX_INCLUDE_DIR}")
++    message(STATUS "  sox library: ${SOX_LIBRARY}")
++    if(SOX_INCLUDE_DIR AND SOX_LIBRARY)
++        include_directories(${SOX_INCLUDE_DIR})
++        list(APPEND FREEDV_LINK_LIBS ${SOX_LIBRARY})
++    else(SOX_INCLUDE_DIR AND SOX_LIBRARY)
++        message(FATAL_ERROR "sox library not found!")
++    endif(SOX_INCLUDE_DIR AND SOX_LIBRARY)
++else()
++    message(STATUS "Will use embedded sox code.")
++    include_directories("${PROJECT_SOURCE_DIR}/sox")
++endif()
++
++#
+ # Find libdl for dlopen/dlclose
+ #
+ if(UNIX)
+--- a/src/sox_biquad.c
++++ b/src/sox_biquad.c
+@@ -31,7 +31,7 @@
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+-#include "sox/sox.h"
++#include <sox.h>
+ 
+ #include "sox_biquad.h"
+ 
diff --git a/debian/rules b/debian/rules
index 1265281..d935e00 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,10 +1,12 @@
 #!/usr/bin/make -f
+VER=$(shell dpkg-parsechangelog -ldebian/changelog | sed -rne 's,^Version: (.*),\1,p')
+export VER
 
 %:
 	dh $@ --builddir=Build --build-system=cmake
 
 override_dh_auto_configure:
-	dh_auto_configure --builddirectory=Build --buildsystem=cmake -- -DUSE_STATIC_CODEC2=False -DUSE_STATIC_SPEEXDSP=False
+	dh_auto_configure --builddirectory=Build --buildsystem=cmake -- -DDEB_VERSION=$(VER) -DCMAKE_BUILD_TYPE=Debug -DUSE_STATIC_CODEC2=False -DUSE_STATIC_SPEEXDSP=False
 
 false_override_dh_auto_install:
 	dh_auto_install

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/freedv.git



More information about the pkg-hamradio-commits mailing list