[hamradio-commits] [freedv] 02/02: Import Debian changes 1.2.2-1

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


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

bottoms pushed a commit to branch master
in repository freedv.

commit 3cc942cf4b2f1da12dd53bc45de53915f92f8990
Author: A. Maitland Bottoms <bottoms at debian.org>
Date:   Tue Aug 15 22:38:34 2017 -0400

    Import Debian changes 1.2.2-1
    
    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)
    
    freedv (1.2-1) experimental; urgency=medium
    
      * New upstream release
      * http://www.rowetel.com/?p=5456
    
    freedv (1.1.0.3026-1) experimental; urgency=low
    
      * New upstream experimental trials - svn 3026
      * Highlights: FreeDV 1.2 / Codec2 0.6 test release
    
    freedv (1.1-1) unstable; urgency=medium
    
      * New upstream release, new Voice Keyer feature
      * consistent 8000 Hz audio I/O sample rate. (requires codec2 >= 0.5)
    
    freedv (1.0-1) unstable; urgency=low
    
      * New upstream release
      * New source package name, following upstream conventions
    
    fdmdv2 (0.96.6.1592-1) unstable; urgency=low
    
      * New upstream 0.96.6 tagged release r1592
    
    fdmdv2 (0.96.5.1353-1) experimental; urgency=low
    
      * Upstream subversion r1353
      * build-depend upon libwxgtk3.0-dev (Closes: #735959)
        remove wxwidgets tarball from source (Closes: #735942, #736002)
    
    fdmdv2 (0.96.5.1328-1) experimental; urgency=low
    
      * New upstream subversion r1328 (AKA 0.96.5 Beta)
      * Update wxWidgets 2.9.5 version
      * cleanup source - see debian/rules get-orig-source, (Closes: #706184)
      * HID-PTT patch included
    
    fdmdv2 (0.96.1-1) experimental; urgency=low
    
      * FreeDV.org Dayton 2013 packages
      * New upstream subversion r1247
    
    fdmdv2 (0.0.1235-1) experimental; urgency=low
    
      * New upstream svn r1235 (Closes: #706184)
      * Fancy source package for single binary freedv package for Wheezy
      * HID-PTT patch included
---
 debian/changelog                    |  75 +++++-
 debian/control                      |  52 ++--
 debian/copyright                    | 479 +++++++++++++++++++++++++++++++++---
 debian/docs                         |   3 +-
 debian/freedv.1                     | 237 ++++++++++++++++++
 debian/freedv.manpages              |   1 +
 debian/patches/HID-PTT              | 357 +++++++++++++++++++++++++++
 debian/patches/appstream-metadata   |   7 +
 debian/patches/debian-version       |  41 +++
 debian/patches/link-with-libXxf86vm |  15 ++
 debian/patches/series               |   5 +
 debian/patches/use-system-sox       | 118 +++++++++
 debian/rules                        |  34 +--
 debian/source/format                |   1 +
 debian/watch                        |   2 +
 15 files changed, 1350 insertions(+), 77 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index ddfe80b..339a14d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,74 @@
-freedv (1.0-150830) unstable; urgency=low
+freedv (1.2.2-1) unstable; urgency=medium
 
-  * Subversion snapshot of tag 1.0.
+  * 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)
 
- -- Stuart Longland <stuartl at longlandclan.yi.org>  Sun, 30 Aug 2015 09:01:13 +1000
+ -- 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
+  * consistent 8000 Hz audio I/O sample rate. (requires codec2 >= 0.5)
+
+ -- A. Maitland Bottoms <bottoms at debian.org>  Fri, 25 Sep 2015 23:22:18 -0400
+
+freedv (1.0-1) unstable; urgency=low
+
+  * New upstream release
+  * New source package name, following upstream conventions
+
+ -- A. Maitland Bottoms <bottoms at debian.org>  Tue, 01 Sep 2015 23:08:27 -0400
+
+fdmdv2 (0.96.6.1592-1) unstable; urgency=low
+
+  * New upstream 0.96.6 tagged release r1592
+
+ -- A. Maitland Bottoms <bottoms at debian.org>  Thu, 08 May 2014 19:32:42 -0400
+
+fdmdv2 (0.96.5.1353-1) experimental; urgency=low
+
+  * Upstream subversion r1353
+  * build-depend upon libwxgtk3.0-dev (Closes: #735959)
+    remove wxwidgets tarball from source (Closes: #735942, #736002)
+
+ -- A. Maitland Bottoms <bottoms at debian.org>  Sun, 19 Jan 2014 15:25:41 -0500
+
+fdmdv2 (0.96.5.1328-1) experimental; urgency=low
+
+  * New upstream subversion r1328 (AKA 0.96.5 Beta)
+  * Update wxWidgets 2.9.5 version
+  * cleanup source - see debian/rules get-orig-source, (Closes: #706184)
+  * HID-PTT patch included
+
+ -- A. Maitland Bottoms <bottoms at debian.org>  Fri, 30 Aug 2013 23:16:27 -0400
+
+fdmdv2 (0.96.1-1) experimental; urgency=low
+
+  * FreeDV.org Dayton 2013 packages
+  * New upstream subversion r1247
+
+ -- A. Maitland Bottoms <bottoms at debian.org>  Sat, 11 May 2013 10:43:03 -0400
+
+fdmdv2 (0.0.1235-1) experimental; urgency=low
+
+  * New upstream svn r1235 (Closes: #706184)
+  * Fancy source package for single binary freedv package for Wheezy
+  * HID-PTT patch included
+
+ -- A. Maitland Bottoms <bottoms at debian.org>  Fri, 26 Apr 2013 20:44:30 -0400
diff --git a/debian/control b/debian/control
index d1472b2..91e13c1 100644
--- a/debian/control
+++ b/debian/control
@@ -1,19 +1,41 @@
-Source: fdmdv2
-Section: main
+Source: freedv
+Section: hamradio
 Priority: optional
-Maintainer: Stuart Longland <stuartl at longlandclan.yi.org>
-Build-Depends: debhelper (>= 9), cmake, libcodec2-dev, libgtk2.0-dev,
- libhamlib-dev, libsamplerate-dev, libasound2-dev, libao-dev, libgsm1-dev,
- portaudio19-dev, libsox-dev, libsndfile1-dev, libwxgtk3.0-dev
-Standards-Version: 3.9.5
-Homepage: http://www.freedv.org
-#Vcs-Git: git://anonscm.debian.org/collab-maint/freedv.git
-#Vcs-Browser: http://anonscm.debian.org/?p=collab-maint/freedv.git;a=summary
+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.7),
+               libhamlib-dev,
+               libsamplerate-dev,
+               libsndfile-dev,
+               libsox-dev,
+               libspeexdsp-dev,
+               libwxgtk3.0-dev,
+               portaudio19-dev
+Standards-Version: 4.0.0
+Homepage: http://freedv.org/
+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
-Depends: ${shlibs:Depends}, ${misc:Depends}, libcodec2
-Description: FreeDV: Open-Source Digital Voice modem
- FreeDV is a digital voice modem that can transmit voice-quality
- audio digitally over HF radio links in as little as 1.25kHz
- bandwidth in varying conditions.
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: Software Defined Radio (SDR)
+ FreeDV is a digital voice mode intended for transmission and
+ reception over high-frequency (HF) radio. It uses a frequency
+ division multiplex (FDM) modem with 15 carriers and no forward error
+ correction (FEC). A low bit-rate voice coder-decoder (Codec 2)
+ provides voice quality without the listener fatigue caused by noise
+ and interference normally associated with analog single sideband
+ (SSB) voice. A HF SSB transceiver, personal computer and two sound
+ cards are required. Path simulation and on-the-air HF testing have
+ shown that decoding voice is possible at a signal-to-noise ratio of
+ 4 dB.
+ .
+ The FreeDV software was developed by David Rowe (Codec 2, FDM
+ modem implementation, integration) and David Witten (GUI,
+ architecture design). The FreeDV design and user interface was based
+ on the earlier FDMDV program which was developed by Francesco
+ Lanza. The FDM modem design and development was supported from Peter
+ Martinez.
diff --git a/debian/copyright b/debian/copyright
index b55a293..3f74393 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,38 +1,451 @@
-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
-Source: <url://example.com>
-
-Files: *
-Copyright: <years> <put author's name and email here>
-           <years> <likewise for another author>
-License: <special license>
- <Put the license of the package here indented by 1 space>
- <This follows the format of Description: lines in control file>
+Upstream-Contact: http://freedv.org/
+Source: http://files.freedv.org/freedv/freedv-1.2.2.tar.xz
+Comment:
+ 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
+ http://freedv.org/tiki-index.php?page=FreeDV+Specification
+ .
+ Upstream Authors:
+	David Rowe VK5DGR <david at rowetel.com>
+	Dave Witten <wittend at wwrinc.com>
+	Richard Shaw
  .
- <Including paragraphs>
+ 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
+
+Files: */CMakeLists.txt
+Copyright: 2013-2014 Richard Shaw
+Comment: CMake build system files
+License: LGPL-2.1
+
+Files: contrib/*
+Copyright: 2014 Richard Shaw
+License: CC-BY-4.0
+Comment: r1696 | hobbes1069 | 2014-06-20 10:11:47 -0400 (Fri, 20 Jun 2014)
+ add CC license to icons in contrib directory.
 
-# If you want to use GPL v2 or later for the /debian/* files use 
-# the following clauses, or change it to suit. Delete these two lines
 Files: debian/*
-Copyright: 2015 unknown <stuartl at unknown>
-License: GPL-2+
- This package is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
- .
- This package is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>
- .
- On Debian systems, the complete text of the GNU General
- Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+Copyright: 2013-2017 A. Maitland Bottoms <bottoms at debian.org>
+License: LGPL-2.1
 
-# Please also look if there are files or directories which have a
-# different copyright/license attached and list them here.
-# Please avoid to pick license terms that are more restrictive than the
-# packaged work, as it may make Debian's contributions unacceptable upstream.
+Files: *
+Copyright: 2013-2015 Dave Witten <wittend at wwrinc.com>
+ 2013-2017 David Rowe VK5DGR <david at rowetel.com>
+License: LGPL-2.1
+
+License: LGPL-2.1
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 2.1, as
+ published by the Free Software Foundation.  This program is
+ distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+ License for more details.
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License (LGPL) version 2.1 can be found in the file
+ '/usr/share/common-licenses/LGPL-2.1'.
+
+License: CC-BY-4.0
+ Attribution 4.0 International
+ .
+ =======================================================================
+ .
+ Creative Commons Corporation ("Creative Commons") is not a law firm and
+ does not provide legal services or legal advice. Distribution of
+ Creative Commons public licenses does not create a lawyer-client or
+ other relationship. Creative Commons makes its licenses and related
+ information available on an "as-is" basis. Creative Commons gives no
+ warranties regarding its licenses, any material licensed under their
+ terms and conditions, or any related information. Creative Commons
+ disclaims all liability for damages resulting from their use to the
+ fullest extent possible.
+ .
+ Using Creative Commons Public Licenses
+ .
+ Creative Commons public licenses provide a standard set of terms and
+ conditions that creators and other rights holders may use to share
+ original works of authorship and other material subject to copyright
+ and certain other rights specified in the public license below. The
+ following considerations are for informational purposes only, are not
+ exhaustive, and do not form part of our licenses.
+ .
+     Considerations for licensors: Our public licenses are
+     intended for use by those authorized to give the public
+     permission to use material in ways otherwise restricted by
+     copyright and certain other rights. Our licenses are
+     irrevocable. Licensors should read and understand the terms
+     and conditions of the license they choose before applying it.
+     Licensors should also secure all rights necessary before
+     applying our licenses so that the public can reuse the
+     material as expected. Licensors should clearly mark any
+     material not subject to the license. This includes other CC-
+     licensed material, or material used under an exception or
+     limitation to copyright. More considerations for licensors:
+	wiki.creativecommons.org/Considerations_for_licensors
+ .
+     Considerations for the public: By using one of our public
+     licenses, a licensor grants the public permission to use the
+     licensed material under specified terms and conditions. If
+     the licensor's permission is not necessary for any reason--for
+     example, because of any applicable exception or limitation to
+     copyright--then that use is not regulated by the license. Our
+     licenses grant only permissions under copyright and certain
+     other rights that a licensor has authority to grant. Use of
+     the licensed material may still be restricted for other
+     reasons, including because others have copyright or other
+     rights in the material. A licensor may make special requests,
+     such as asking that all changes be marked or described.
+     Although not required by our licenses, you are encouraged to
+     respect those requests where reasonable. More_considerations
+     for the public: 
+	wiki.creativecommons.org/Considerations_for_licensees
+ .
+ =======================================================================
+ .
+ Creative Commons Attribution 4.0 International Public License
+ .
+ By exercising the Licensed Rights (defined below), You accept and agree
+ to be bound by the terms and conditions of this Creative Commons
+ Attribution 4.0 International Public License ("Public License"). To the
+ extent this Public License may be interpreted as a contract, You are
+ granted the Licensed Rights in consideration of Your acceptance of
+ these terms and conditions, and the Licensor grants You such rights in
+ consideration of benefits the Licensor receives from making the
+ Licensed Material available under these terms and conditions.
+ .
+ .
+ Section 1 -- Definitions.
+ .
+  a. Adapted Material means material subject to Copyright and Similar
+     Rights that is derived from or based upon the Licensed Material
+     and in which the Licensed Material is translated, altered,
+     arranged, transformed, or otherwise modified in a manner requiring
+     permission under the Copyright and Similar Rights held by the
+     Licensor. For purposes of this Public License, where the Licensed
+     Material is a musical work, performance, or sound recording,
+     Adapted Material is always produced where the Licensed Material is
+     synched in timed relation with a moving image.
+ .
+  b. Adapter's License means the license You apply to Your Copyright
+     and Similar Rights in Your contributions to Adapted Material in
+     accordance with the terms and conditions of this Public License.
+ .
+  c. Copyright and Similar Rights means copyright and/or similar rights
+     closely related to copyright including, without limitation,
+     performance, broadcast, sound recording, and Sui Generis Database
+     Rights, without regard to how the rights are labeled or
+     categorized. For purposes of this Public License, the rights
+     specified in Section 2(b)(1)-(2) are not Copyright and Similar
+     Rights.
+ .
+  d. Effective Technological Measures means those measures that, in the
+     absence of proper authority, may not be circumvented under laws
+     fulfilling obligations under Article 11 of the WIPO Copyright
+     Treaty adopted on December 20, 1996, and/or similar international
+     agreements.
+ .
+  e. Exceptions and Limitations means fair use, fair dealing, and/or
+     any other exception or limitation to Copyright and Similar Rights
+     that applies to Your use of the Licensed Material.
+ .
+  f. Licensed Material means the artistic or literary work, database,
+     or other material to which the Licensor applied this Public
+     License.
+ .
+  g. Licensed Rights means the rights granted to You subject to the
+     terms and conditions of this Public License, which are limited to
+     all Copyright and Similar Rights that apply to Your use of the
+     Licensed Material and that the Licensor has authority to license.
+ .
+  h. Licensor means the individual(s) or entity(ies) granting rights
+     under this Public License.
+ .
+  i. Share means to provide material to the public by any means or
+     process that requires permission under the Licensed Rights, such
+     as reproduction, public display, public performance, distribution,
+     dissemination, communication, or importation, and to make material
+     available to the public including in ways that members of the
+     public may access the material from a place and at a time
+     individually chosen by them.
+ .
+  j. Sui Generis Database Rights means rights other than copyright
+     resulting from Directive 96/9/EC of the European Parliament and of
+     the Council of 11 March 1996 on the legal protection of databases,
+     as amended and/or succeeded, as well as other essentially
+     equivalent rights anywhere in the world.
+ .
+  k. You means the individual or entity exercising the Licensed Rights
+     under this Public License. Your has a corresponding meaning.
+ .
+ .
+ Section 2 -- Scope.
+ .
+  a. License grant.
+ .
+       1. Subject to the terms and conditions of this Public License,
+          the Licensor hereby grants You a worldwide, royalty-free,
+          non-sublicensable, non-exclusive, irrevocable license to
+          exercise the Licensed Rights in the Licensed Material to:
+ .
+            a. reproduce and Share the Licensed Material, in whole or
+               in part; and
+ .
+            b. produce, reproduce, and Share Adapted Material.
+ .
+       2. Exceptions and Limitations. For the avoidance of doubt, where
+          Exceptions and Limitations apply to Your use, this Public
+          License does not apply, and You do not need to comply with
+          its terms and conditions.
+ .
+       3. Term. The term of this Public License is specified in Section
+          6(a).
+ .
+       4. Media and formats; technical modifications allowed. The
+          Licensor authorizes You to exercise the Licensed Rights in
+          all media and formats whether now known or hereafter created,
+          and to make technical modifications necessary to do so. The
+          Licensor waives and/or agrees not to assert any right or
+          authority to forbid You from making technical modifications
+          necessary to exercise the Licensed Rights, including
+          technical modifications necessary to circumvent Effective
+          Technological Measures. For purposes of this Public License,
+          simply making modifications authorized by this Section 2(a)
+          (4) never produces Adapted Material.
+ .
+       5. Downstream recipients.
+ .
+            a. Offer from the Licensor -- Licensed Material. Every
+               recipient of the Licensed Material automatically
+               receives an offer from the Licensor to exercise the
+               Licensed Rights under the terms and conditions of this
+               Public License.
+ .
+            b. No downstream restrictions. You may not offer or impose
+               any additional or different terms or conditions on, or
+               apply any Effective Technological Measures to, the
+               Licensed Material if doing so restricts exercise of the
+               Licensed Rights by any recipient of the Licensed
+               Material.
+ .
+       6. No endorsement. Nothing in this Public License constitutes or
+          may be construed as permission to assert or imply that You
+          are, or that Your use of the Licensed Material is, connected
+          with, or sponsored, endorsed, or granted official status by,
+          the Licensor or others designated to receive attribution as
+          provided in Section 3(a)(1)(A)(i).
+ .
+  b. Other rights.
+ .
+       1. Moral rights, such as the right of integrity, are not
+          licensed under this Public License, nor are publicity,
+          privacy, and/or other similar personality rights; however, to
+          the extent possible, the Licensor waives and/or agrees not to
+          assert any such rights held by the Licensor to the limited
+          extent necessary to allow You to exercise the Licensed
+          Rights, but not otherwise.
+ .
+       2. Patent and trademark rights are not licensed under this
+          Public License.
+ .
+       3. To the extent possible, the Licensor waives any right to
+          collect royalties from You for the exercise of the Licensed
+          Rights, whether directly or through a collecting society
+          under any voluntary or waivable statutory or compulsory
+          licensing scheme. In all other cases the Licensor expressly
+          reserves any right to collect such royalties.
+ .
+ .
+ Section 3 -- License Conditions.
+ .
+ Your exercise of the Licensed Rights is expressly made subject to the
+ following conditions.
+ .
+  a. Attribution.
+ .
+       1. If You Share the Licensed Material (including in modified
+          form), You must:
+ .
+            a. retain the following if it is supplied by the Licensor
+               with the Licensed Material:
+ .
+                 i. identification of the creator(s) of the Licensed
+                    Material and any others designated to receive
+                    attribution, in any reasonable manner requested by
+                    the Licensor (including by pseudonym if
+                    designated);
+ .
+                ii. a copyright notice;
+ .
+               iii. a notice that refers to this Public License;
+ .
+                iv. a notice that refers to the disclaimer of
+                    warranties;
+ .
+                 v. a URI or hyperlink to the Licensed Material to the
+                    extent reasonably practicable;
+ .
+            b. indicate if You modified the Licensed Material and
+               retain an indication of any previous modifications; and
+ .
+            c. indicate the Licensed Material is licensed under this
+               Public License, and include the text of, or the URI or
+               hyperlink to, this Public License.
+ .
+       2. You may satisfy the conditions in Section 3(a)(1) in any
+          reasonable manner based on the medium, means, and context in
+          which You Share the Licensed Material. For example, it may be
+          reasonable to satisfy the conditions by providing a URI or
+          hyperlink to a resource that includes the required
+          information.
+ .
+       3. If requested by the Licensor, You must remove any of the
+          information required by Section 3(a)(1)(A) to the extent
+          reasonably practicable.
+ .
+       4. If You Share Adapted Material You produce, the Adapter's
+          License You apply must not prevent recipients of the Adapted
+          Material from complying with this Public License.
+ .
+ .
+ Section 4 -- Sui Generis Database Rights.
+ .
+ Where the Licensed Rights include Sui Generis Database Rights that
+ apply to Your use of the Licensed Material:
+ .
+  a. for the avoidance of doubt, Section 2(a)(1) grants You the right
+     to extract, reuse, reproduce, and Share all or a substantial
+     portion of the contents of the database;
+ .
+  b. if You include all or a substantial portion of the database
+     contents in a database in which You have Sui Generis Database
+     Rights, then the database in which You have Sui Generis Database
+     Rights (but not its individual contents) is Adapted Material; and
+ .
+  c. You must comply with the conditions in Section 3(a) if You Share
+     all or a substantial portion of the contents of the database.
+ .
+ For the avoidance of doubt, this Section 4 supplements and does not
+ replace Your obligations under this Public License where the Licensed
+ Rights include other Copyright and Similar Rights.
+ .
+ .
+ Section 5 -- Disclaimer of Warranties and Limitation of Liability.
+ .
+  a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+     EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+     AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+     ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+     IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+     WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+     PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+     ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+     KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+     ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+ .
+  b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+     TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+     NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+     INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+     COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+     USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+     ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+     DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+     IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+ .
+  c. The disclaimer of warranties and limitation of liability provided
+     above shall be interpreted in a manner that, to the extent
+     possible, most closely approximates an absolute disclaimer and
+     waiver of all liability.
+ .
+ .
+ Section 6 -- Term and Termination.
+ .
+  a. This Public License applies for the term of the Copyright and
+     Similar Rights licensed here. However, if You fail to comply with
+     this Public License, then Your rights under this Public License
+     terminate automatically.
+ .
+  b. Where Your right to use the Licensed Material has terminated under
+     Section 6(a), it reinstates:
+ .
+       1. automatically as of the date the violation is cured, provided
+          it is cured within 30 days of Your discovery of the
+          violation; or
+ .
+       2. upon express reinstatement by the Licensor.
+ .
+     For the avoidance of doubt, this Section 6(b) does not affect any
+     right the Licensor may have to seek remedies for Your violations
+     of this Public License.
+ .
+  c. For the avoidance of doubt, the Licensor may also offer the
+     Licensed Material under separate terms or conditions or stop
+     distributing the Licensed Material at any time; however, doing so
+     will not terminate this Public License.
+ .
+  d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
+     License.
+ .
+ .
+ Section 7 -- Other Terms and Conditions.
+ .
+  a. The Licensor shall not be bound by any additional or different
+     terms or conditions communicated by You unless expressly agreed.
+ .
+  b. Any arrangements, understandings, or agreements regarding the
+     Licensed Material not stated herein are separate from and
+     independent of the terms and conditions of this Public License.
+ .
+ .
+ Section 8 -- Interpretation.
+ .
+  a. For the avoidance of doubt, this Public License does not, and
+     shall not be interpreted to, reduce, limit, restrict, or impose
+     conditions on any use of the Licensed Material that could lawfully
+     be made without permission under this Public License.
+ .
+  b. To the extent possible, if any provision of this Public License is
+     deemed unenforceable, it shall be automatically reformed to the
+     minimum extent necessary to make it enforceable. If the provision
+     cannot be reformed, it shall be severed from this Public License
+     without affecting the enforceability of the remaining terms and
+     conditions.
+ .
+  c. No term or condition of this Public License will be waived and no
+     failure to comply consented to unless expressly agreed to by the
+     Licensor.
+ .
+  d. Nothing in this Public License constitutes or may be interpreted
+     as a limitation upon, or waiver of, any privileges and immunities
+     that apply to the Licensor or You, including from the legal
+     processes of any jurisdiction or authority.
+ .
+ .
+ =======================================================================
+ .
+ Creative Commons is not a party to its public licenses.
+ Notwithstanding, Creative Commons may elect to apply one of its public
+ licenses to material it publishes and in those instances will be
+ considered the "Licensor." Except for the limited purpose of indicating
+ that material is shared under a Creative Commons public license or as
+ otherwise permitted by the Creative Commons policies published at
+ creativecommons.org/policies, Creative Commons does not authorize the
+ use of the trademark "Creative Commons" or any other trademark or logo
+ of Creative Commons without its prior written consent including,
+ without limitation, in connection with any unauthorized modifications
+ to any of its public licenses or any other arrangements,
+ understandings, or agreements concerning use of licensed material. For
+ the avoidance of doubt, this paragraph does not form part of the public
+ licenses.
+ .
+ Creative Commons may be contacted at creativecommons.org.
diff --git a/debian/docs b/debian/docs
index acfbcb3..7d8d6e0 100644
--- a/debian/docs
+++ b/debian/docs
@@ -1,3 +1,4 @@
 credits.txt
 README.txt
-README.txt
+RELEASE_NOTES.txt
+USER_MANUAL.txt
diff --git a/debian/freedv.1 b/debian/freedv.1
new file mode 100644
index 0000000..23acebe
--- /dev/null
+++ b/debian/freedv.1
@@ -0,0 +1,237 @@
+.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 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 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
+transitioned from AM to SSB in the 1950s and 1960s. How would you
+feel if one or two companies owned the patents for SSB, then forced
+you to use their technology, made it illegal to experiment with or
+even understand the technology, and insisted you stay locked to it for
+the next 100 years?? That is exactly what was happening with digital
+voice. But now, hams are in control of their technology again.
+.PP
+FreeDV is unique as it uses 100 percent Open Source Software, including the
+audio codec. No secrets, nothing proprietary\! FreeDV represents a path
+for 21st century Amateur Radio where Hams are free to experiment and
+innovate, rather than a future locked into a single manufacturers
+closed technology.
+.PP
+.SH Demo Video
+Watch this video of a FreeDV QSO.
+.PP
+http://freedv.org/tiki-index.php?page=video
+.PP
+Here is what you need:
+.PP
+    A SSB receiver or transceiver
+    FreeDV software
+    A computer with one (receive only) or two sound cards.
+    Cables to connect your computer to your SSB radio. 
+.PP
+.SH Test your Transmitter Frequency Response
+When you play this 10 second 1 kHz to 2 kHz sweep .wav file(external
+link) through your transmitter, the power level should remain
+constant. If not, look for filtering and processing to turn off.
+.PP
+.SH Connecting Your Radio
+If you are lucky enough to have a "9600" input and output on your
+radio, this is the best connection for every digital mode, even 1200
+packet, and your audio box should be configured for 9600 or "no
+pre-emphasis/de-emphasis" if it has that setting. If the radio's
+configuration menu has a 1200/9600 setting, leave it permanently on
+9600.
+.PP
+The "9600" and "1200" settings are misnamed. "9600" should really be
+called "direct connection", and "1200" should be called
+"processed". The audio processing in your radio does not help any
+digital mode.
+.PP
+.SH Configuring Your Radio
+Turn off as much processing as possible. In general noise blankers,
+DSP band limit filtering, and narrow bandpass filters are likely to
+hurt rather than help. Compression, DSP noise and carrier elimination,
+and voice processing are definitely wrong for Digital modes. FreeDV's
+FDM modem does its own DSP, and in general this is true for other
+digital programs as well. The only things that we would expect to hurt
+the signal are intrusion of the opposite sideband, images of
+out-of-passband signals, and intermodulation distortion. You can see
+the effect of different settings in the S/N display of FreeDV.
+.PP
+Drive your transmitter and amplifier so that it emits 10%% to 20%% of
+its rated power continuously. There is a 12 dB peak\-to\-average power
+ratio in the FDM modem, and peak clipping in your amplifier will
+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/freedv.manpages b/debian/freedv.manpages
new file mode 100644
index 0000000..03aa153
--- /dev/null
+++ b/debian/freedv.manpages
@@ -0,0 +1 @@
+debian/freedv.1
diff --git a/debian/patches/HID-PTT b/debian/patches/HID-PTT
new file mode 100644
index 0000000..72ceb63
--- /dev/null
+++ b/debian/patches/HID-PTT
@@ -0,0 +1,357 @@
+--- a/src/fdmdv2_main.h
++++ b/src/fdmdv2_main.h
+@@ -50,6 +50,14 @@
+ #include <wx/regex.h>
+ #include <wx/socket.h>
+ 
++#ifdef HAVE_LINUX_HIDRAW_H
++#include <linux/hidraw.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <sys/ioctl.h>
++#include <fcntl.h>
++#endif
++
+ #include <samplerate.h>
+ 
+ #include <stdint.h>
+@@ -182,6 +190,9 @@
+ 
+         bool                m_boolUseSerialPTT;
+         wxString            m_strRigCtrlPort;
++        wxString            m_strRigHidPort;
++        wxString            m_strRigHidBit;
++	bool                m_boolUseHIDPTT;
+         bool                m_boolUseRTS;
+         bool                m_boolRTSPos;
+         bool                m_boolUseDTR;
+@@ -441,7 +452,12 @@
+         txRxThread*             m_txRxThread;
+ 
+         bool                    OpenHamlibRig();
+-        void                    OpenSerialPort(void);
++	void                    HIDPTT(int pushed);
++        void                    OpenHIDPort(void);
++	void                    CloseHIDPort(void);
++	int                     m_hidPort;
++	char                    m_hidGPIO;
++	void                    OpenSerialPort(void);
+         void                    CloseSerialPort(void);
+         void                    SerialPTTRx(void);
+ 
+--- a/src/dlg_ptt.h
++++ b/src/dlg_ptt.h
+@@ -49,6 +49,13 @@
+     protected:
+         wxCheckBox* m_ckLeftChannelVoxTone;
+ 
++        /* HID PTT settings.*/
++
++	wxCheckBox* m_ckUseHIDPTT;
++	wxListBox* m_listHidPorts;
++	wxTextCtrl *m_txtHidDevicePath;
++	wxTextCtrl *m_txtHidDeviceBit;
++
+         /* Hamlib settings.*/
+ 
+         wxCheckBox *m_ckUseHamlibPTT;
+@@ -81,6 +88,7 @@
+         void populatePortList();
+ 
+         void PTTUseHamLibClicked(wxCommandEvent& event);
++        void PTTUseHIDClicked(wxCommandEvent& event);
+         void PTTUseSerialClicked(wxCommandEvent& event);
+ 
+         void OnTest(wxCommandEvent& event);
+--- a/src/dlg_ptt.cpp
++++ b/src/dlg_ptt.cpp
+@@ -51,6 +51,42 @@
+     mainSizer->Add(staticBoxSizer28, 0, wxEXPAND, 5);
+ 
+     //----------------------------------------------------------------------
++    // HID PTT
++    //----------------------------------------------------------------------
++
++    wxStaticBoxSizer* staticBoxSizerHID = new wxStaticBoxSizer( new wxStaticBox(this, wxID_ANY, _("HID PTT Settings")), wxVERTICAL);
++
++    wxBoxSizer* gridSizerHID = new wxBoxSizer(wxHORIZONTAL);
++
++    /* Use HID PTT checkbox. */
++    m_ckUseHIDPTT = new wxCheckBox(this, wxID_ANY, _("Use HID PTT"), wxDefaultPosition, wxDefaultSize, 0);
++    m_ckUseHIDPTT->SetValue(false);
++    gridSizerHID->Add(m_ckUseHIDPTT, 0, wxALIGN_CENTER_VERTICAL, 2);
++
++    /* HID device path listbox. */
++    //wxArrayString m_listHidPortsArr;
++    gridSizerHID->Add(new wxStaticText(this, wxID_ANY, _("Device (/dev/hidraw? :"), wxDefaultPosition, wxDefaultSize, 0),
++                      0, wxALIGN_CENTER_VERTICAL | wxLEFT, 2);
++    //m_listHidPorts = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxSize(250, -1), m_listHidPortsArr, wxLB_SINGLE | wxLB_SORT);
++    //gridSizerHID->Add(m_listHidPorts, 1, wxALIGN_CENTER_VERTICAL, 0);
++
++    m_txtHidDevicePath = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(140,-1), 0);
++    gridSizerHID->Add(m_txtHidDevicePath, 1, wxEXPAND|wxALIGN_CENTER|wxALIGN_RIGHT, 2);
++
++    /* HID GPIO selector. */
++    wxArrayString m_listHidGPIOArr;
++
++    gridSizerHID->Add(new wxStaticText(this, wxID_ANY, _("GPIO PIN # :"), wxDefaultPosition, wxDefaultSize, 0),
++                      0, wxALIGN_CENTER_VERTICAL | wxLEFT, 0);
++    // listHIDGPIO = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxSize(-1, -1), m_listHidGPIOArr, wxLB_SINGLE | wxLB_SORT);
++    // gridSizerHID->Add(listHIDGPIO, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 0);
++    m_txtHidDeviceBit = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(20,-1), 0);
++    gridSizerHID->Add(m_txtHidDeviceBit, 1, wxEXPAND|wxALIGN_CENTER|wxALIGN_RIGHT, 2);
++
++    staticBoxSizerHID->Add(gridSizerHID, 0);
++    mainSizer->Add(staticBoxSizerHID, 1);
++
++    //----------------------------------------------------------------------
+     // Hamlib for CAT PTT
+     //----------------------------------------------------------------------
+ 
+@@ -67,8 +103,9 @@
+ 
+     /* Hamlib Rig Type combobox. */
+ 
+-    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);
+     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);
++    m_ckUseHIDPTT->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::PTTUseHIDClicked), NULL, this);
+     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);
+@@ -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);
++    m_ckUseHIDPTT->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(ComPortsDlg::PTTUseHIDClicked), NULL, this);
+     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);
+@@ -338,7 +377,7 @@
+ void ComPortsDlg::ExchangeData(int inout)
+ {
+     wxConfigBase *pConfig = wxConfigBase::Get();
+-    wxString str;
++    wxString str,hidstr,hidbit;
+     
+     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;
++	hidbit = wxGetApp().m_strRigHidBit;
++
+         m_ckUseSerialPTT->SetValue(wxGetApp().m_boolUseSerialPTT);
+         str = wxGetApp().m_strRigCtrlPort;
+ #ifdef __WXMSW__
+         m_listCtrlPorts->SetStringSelection(str);
++	m_listHidPorts->SetStringSelection(hidstr);
++	m_listHidBit->SetStringSelection(hidbit);
+ #endif
+ #if defined(__WXOSX__) || defined(__WXGTK__)
+         m_cbCtlDevicePath->SetValue(str);
++	m_txtHidDevicePath->SetValue(hidstr);
++	m_txtHidDeviceBit->SetValue(hidbit);
+ #endif
+         m_rbUseRTS->SetValue(wxGetApp().m_boolUseRTS);
+         m_ckRTSPos->SetValue(wxGetApp().m_boolRTSPos);
+@@ -396,6 +443,21 @@
+         pConfig->Write(wxT("/Hamlib/SerialPort"), wxGetApp().m_strHamlibSerialPort);
+         pConfig->Write(wxT("/Hamlib/SerialRate"), wxGetApp().m_intHamlibSerialRate);
+ 
++        /* HID PTT settings. */
++
++        wxGetApp().m_boolUseHIDPTT = m_ckUseHIDPTT->IsChecked();
++#ifdef __WXMSW__
++        wxGetApp().m_strRigHidPort = m_listHidPorts->GetStringSelection();
++        wxGetApp().m_strRigHidBit  = m_listHidPorts->GetStringSelection();
++#endif
++#ifdef __WXGTK__
++        wxGetApp().m_strRigHidPort             = m_txtHidDevicePath->GetValue();
++        wxGetApp().m_strRigHidBit             = m_txtHidDeviceBit->GetValue();
++#endif
++        pConfig->Write(wxT("/Rig/UseHIDPTT"),    wxGetApp().m_boolUseHIDPTT);
++        pConfig->Write(wxT("/Rig/HIDPort"),    wxGetApp().m_strRigHidPort);
++        pConfig->Write(wxT("/Rig/HIDBit"),    wxGetApp().m_strRigHidBit);
++
+         /* Serial settings */
+ 
+         wxGetApp().m_boolUseSerialPTT           = m_ckUseSerialPTT->IsChecked();
+@@ -537,6 +599,13 @@
+ 
+ 
+ //-------------------------------------------------------------------------
++// PTTUseHIDClicked()
++//-------------------------------------------------------------------------
++void ComPortsDlg::PTTUseHIDClicked(wxCommandEvent& event)
++{
++}
++
++//-------------------------------------------------------------------------
+ // PTTUseSerialClicked()
+ //-------------------------------------------------------------------------
+ void ComPortsDlg::PTTUseSerialClicked(wxCommandEvent& event)
+--- a/src/fdmdv2_main.cpp
++++ b/src/fdmdv2_main.cpp
+@@ -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(""));
++    wxGetApp().m_strRigHidBit      = pConfig->Read(wxT("/Rig/HIDBit"), wxT(""));
++
+     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);
+@@ -1470,6 +1474,14 @@
+         wxGetApp().m_serialport->ptt(g_tx);
+     }
+ 
++    if(wxGetApp().m_boolUseHIDPTT && m_hidPort >= 0)
++    {
++        if(g_tx)
++	  HIDPTT(1);
++        else
++	  HIDPTT(0);
++    }
++
+     // reset level gauge
+ 
+     m_maxLevel = 0;
+@@ -2381,6 +2393,8 @@
+         
+         if (wxGetApp().m_boolHamlibUseForPTT)
+             OpenHamlibRig();
++        if (wxGetApp().m_boolUseHIDPTT)
++            OpenHIDPort();
+         if (wxGetApp().m_boolUseSerialPTT) {
+             OpenSerialPort();
+         }
+@@ -2429,6 +2443,9 @@
+             }
+         }
+ 
++        if (wxGetApp().m_boolUseHIDPTT)
++            CloseHIDPort();
++
+         if (wxGetApp().m_boolUseSerialPTT) {
+             CloseSerialPort();
+         }
+@@ -4040,3 +4057,83 @@
+     return 0;
+ }
+ 
++//----------------------------------------------------------------
++// HIDPTT(int pushed)
++//----------------------------------------------------------------
++void MainFrame::HIDPTT(int pushed)
++{
++#ifdef HAVE_LINUX_HIDRAW_H
++  if (m_hidPort>0) {
++    // Build two packets for CM108 HID.  One turns a GPIO bit on.  The other turns it off.
++    // Packet is 4 bytes, preceded by a 'report number' byte
++    // 0x00 report number
++    // Write data packet (from CM108 documentation)
++    // byte 0: 00xx xxxx     Write GPIO
++    // byte 1: xxxx dcba     GPIO3-0 output values (1=high)
++    // byte 2: xxxx dcba     GPIO3-0 data-direction register (1=output)
++    // byte 3: xxxx xxxx     SPDIF
++
++    char out_rep[] = {
++      0x00, // report number
++      // HID output report
++      0x00,
++      (char)(pushed ? (1 << m_hidGPIO) : 0), // set GPIO
++      (char)(1 << m_hidGPIO), // Data direction register (1=output)
++      0x00
++    };
++
++    // printf("HIDPTT: using gpio=%d\n", m_hidGPIO);
++    // printf("HIDPTT: ptt state=%d\n", pushed ? (1 << m_hidGPIO) : 0);
++    if (write(m_hidPort, out_rep, sizeof(out_rep)) < 0) {
++      printf("HIDPTT: CM108 write error\n");
++    }
++  }
++#endif
++}
++
++//----------------------------------------------------------------
++// OpenHIDPort()
++//----------------------------------------------------------------
++void MainFrame::OpenHIDPort(void)
++{
++#ifdef HAVE_LINUX_HIDRAW_H
++  struct hidraw_devinfo hiddevinfo;
++
++    if(!wxGetApp().m_strRigHidPort.IsEmpty())
++    {
++      m_hidGPIO = 0x0f & wxAtoi(wxGetApp().m_strRigHidBit);
++      m_hidPort = open(wxGetApp().m_strRigHidPort.c_str(),O_RDWR,0);
++      // 0x0d8c is the vendor id of CMedia USB sound devices that may have HID GPIO features
++      if ((m_hidPort >=0)&&(!ioctl(m_hidPort, HIDIOCGRAWINFO, &hiddevinfo) && hiddevinfo.vendor == 0x0d8c))
++        {
++            //  always start with PTT cleared
++	    HIDPTT(0);
++            //m_btnTogPTT->Enable(true);
++            m_btnTogPTT->SetValue(false);
++        }
++        else
++        {
++#endif
++            m_hidPort = -1;
++            m_hidGPIO = -1;
++            //m_btnTogPTT->Disable();
++#ifdef HAVE_LINUX_HIDRAW_H
++        }
++    }
++#endif
++}
++
++//----------------------------------------------------------------
++// CloseHIDPort()
++//----------------------------------------------------------------
++void MainFrame::CloseHIDPort(void)
++{
++    if(m_hidPort != 0)
++    {
++      close(m_hidPort);
++      m_hidPort = 0;
++      m_hidGPIO = -1;
++      //m_btnTogPTT->SetLabel(wxT("PTT"));
++      //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
new file mode 100644
index 0000000..54ec767
--- /dev/null
+++ b/debian/patches/link-with-libXxf86vm
@@ -0,0 +1,15 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -366,6 +366,12 @@
+ if(wxWidgets_FOUND)
+     include("${wxWidgets_USE_FILE}")
+     list(APPEND FREEDV_LINK_LIBS ${wxWidgets_LIBRARIES})
++    message(STATUS "Looking for libXxf86vm...")
++    find_library(Xxf86vm_LIBRARY Xxf86vm)
++    message(STATUS "Xxf86vm library: ${Xxf86vm_LIBRARY}")
++    if(Xxf86vm_LIBRARY)
++      list(APPEND FREEDV_LINK_LIBS ${Xxf86vm_LIBRARY})
++    endif(Xxf86vm_LIBRARY)
+ endif(wxWidgets_FOUND)
+ 
+ #
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..8d8703a
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,5 @@
+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 ad89215..d935e00 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,30 +1,14 @@
 #!/usr/bin/make -f
-# See debhelper(7) (uncomment to enable)
-# output every command that modifies files on the build system.
-#DH_VERBOSE = 1
+VER=$(shell dpkg-parsechangelog -ldebian/changelog | sed -rne 's,^Version: (.*),\1,p')
+export VER
 
-# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
-DPKG_EXPORT_BUILDFLAGS = 1
-include /usr/share/dpkg/default.mk
-
-# see FEATURE AREAS in dpkg-buildflags(1)
-#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-
-# see ENVIRONMENT in dpkg-buildflags(1)
-# package maintainers to append CFLAGS
-#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
-# package maintainers to append LDFLAGS
-#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
-
-
-# main packaging script based on dh7 syntax
 %:
-	dh $@ 
+	dh $@ --builddir=Build --build-system=cmake
 
-# debmake generated override targets
-# This is example for Cmake (See http://bugs.debian.org/641051 )
 override_dh_auto_configure:
-	dh_auto_configure -- \
-	       -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) \
-	       -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
+	/usr/bin/install --mode=0644 -D contrib/freedv.desktop debian/freedv/usr/share/applications/freedv.desktop
+	for r in 48x48 64x64 128x128 256x256 ; do /usr/bin/install --mode=0644 -D contrib/freedv$$r.png debian/freedv/usr/share/icons/hicolor/$$r/apps/freedv.png ; done
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..9dedcd5
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=3
+ https://files.freedv.org/freedv/ freedv-(.+)\.tar\.xz

-- 
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