From patchwork Fri Jun 18 16:15:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jack Hill X-Patchwork-Id: 30410 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id AA23E27BC78; Fri, 18 Jun 2021 17:19:44 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id F0EEF27BC81 for ; Fri, 18 Jun 2021 17:19:43 +0100 (BST) Received: from localhost ([::1]:34404 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1luHDb-0000ne-2e for patchwork@mira.cbaines.net; Fri, 18 Jun 2021 12:19:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53776) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1luHB0-0004LB-Q8 for guix-patches@gnu.org; Fri, 18 Jun 2021 12:17:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46332) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1luHAz-0006Kl-UA for guix-patches@gnu.org; Fri, 18 Jun 2021 12:17:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1luHAz-0003BL-Mg for guix-patches@gnu.org; Fri, 18 Jun 2021 12:17:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#49014] [PATCH v3] gnu: Add tlf. Resent-From: Jack Hill Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 18 Jun 2021 16:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49014 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 49014@debbugs.gnu.org Received: via spool by 49014-submit@debbugs.gnu.org id=B49014.162403297012168 (code B ref 49014); Fri, 18 Jun 2021 16:17:01 +0000 Received: (at 49014) by debbugs.gnu.org; 18 Jun 2021 16:16:10 +0000 Received: from localhost ([127.0.0.1]:57877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luHA7-0003A8-7n for submit@debbugs.gnu.org; Fri, 18 Jun 2021 12:16:10 -0400 Received: from minsky.hcoop.net ([104.248.1.95]:34778) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luHA2-00039M-D0 for 49014@debbugs.gnu.org; Fri, 18 Jun 2021 12:16:05 -0400 Received: from [2001:470:8:9f5:f850:c9a2:75c6:a2d9] (helo=alperton.home.eronel.org) by minsky.hcoop.net with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1luH9w-00083O-D8 for 49014@debbugs.gnu.org; Fri, 18 Jun 2021 12:15:56 -0400 From: Jack Hill Date: Fri, 18 Jun 2021 12:15:46 -0400 Message-Id: <20210618161546.9012-1-jackhill@jackhill.us> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/patches/tlf-support-hamlib-4.2+.patch: New file. * gnu/local.mk: Add it. * gnu/packages/radio.scm (tlf): New variable. --- New in version 3: Now only one commit. No longer modify hamlib to propagate libusb and instead add it to tlf's inputs. Thanks to leoprikler on IRC for suggesting this improvement. gnu/local.mk | 1 + .../patches/tlf-support-hamlib-4.2+.patch | 66 +++++++++++++++++++ gnu/packages/radio.scm | 62 +++++++++++++++++ 3 files changed, 129 insertions(+) create mode 100644 gnu/packages/patches/tlf-support-hamlib-4.2+.patch diff --git a/gnu/local.mk b/gnu/local.mk index fd98bb899f..ef8f7b9b0c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1755,6 +1755,7 @@ dist_patch_DATA = \ %D%/packages/patches/tipp10-qt5.patch \ %D%/packages/patches/tk-find-library.patch \ %D%/packages/patches/tla2tools-build-xml.patch \ + %D%/packages/patches/tlf-support-hamlib-4.2+.patch \ %D%/packages/patches/tor-fix-build-with-gcc-7.patch \ %D%/packages/patches/transcode-ffmpeg.patch \ %D%/packages/patches/transmission-honor-localedir.patch \ diff --git a/gnu/packages/patches/tlf-support-hamlib-4.2+.patch b/gnu/packages/patches/tlf-support-hamlib-4.2+.patch new file mode 100644 index 0000000000..3c5db10010 --- /dev/null +++ b/gnu/packages/patches/tlf-support-hamlib-4.2+.patch @@ -0,0 +1,66 @@ +From 295fa956f899af37acb6bda9c76ad77748eb9a4a Mon Sep 17 00:00:00 2001 +From: Ervin Hegedus +Date: Sat, 5 Jun 2021 09:23:06 +0200 +Subject: [PATCH] Quick fix for changing of Hamlib's FILPATHLEN macro + +This patch was prepared for Guix by Jack Hill by +squashing together the changes from upstream #268 +. + +It allows the released version of Tlf to build against the version 4.2 of +hamlib in Guix. + +--- + src/sendqrg.c | 6 +++--- + src/sendqrg.h | 10 ++++++++++ + 2 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/src/sendqrg.c b/src/sendqrg.c +index ceeb356..5d4420e 100644 +--- a/src/sendqrg.c ++++ b/src/sendqrg.c +@@ -87,7 +87,7 @@ int init_tlf_rig(void) { + + rigportname[strlen(rigportname) - 1] = '\0'; // remove '\n' + strncpy(my_rig->state.rigport.pathname, rigportname, +- FILPATHLEN - 1); ++ TLFFILPATHLEN - 1); + + caps = my_rig->caps; + +@@ -104,9 +104,9 @@ int init_tlf_rig(void) { + if (dcd_type != RIG_DCD_NONE) + my_rig->state.dcdport.type.dcd = dcd_type; + if (ptt_file) +- strncpy(my_rig->state.pttport.pathname, ptt_file, FILPATHLEN); ++ strncpy(my_rig->state.pttport.pathname, ptt_file, TLFFILPATHLEN); + if (dcd_file) +- strncpy(my_rig->state.dcdport.pathname, dcd_file, FILPATHLEN); ++ strncpy(my_rig->state.dcdport.pathname, dcd_file, TLFFILPATHLEN); + + my_rig->state.rigport.parm.serial.rate = serial_rate; + +diff --git a/src/sendqrg.h b/src/sendqrg.h +index 8c53f2e..1ef85a6 100644 +--- a/src/sendqrg.h ++++ b/src/sendqrg.h +@@ -23,6 +23,16 @@ + + #include + ++#ifdef HAMLIB_FILPATHLEN ++ #define TLFFILPATHLEN HAMLIB_FILPATHLEN ++#else ++ #ifdef FILPATHLEN ++ #define TLFFILPATHLEN FILPATHLEN ++ #else ++ #error "(HAMLIB_)FILPATHLEN macro not found" ++ #endif ++#endif ++ + int init_tlf_rig(void); + void close_tlf_rig(RIG *my_rig); + +-- +2.32.0 + diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 618b2cfeaa..991d2e3a2e 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2020 Charlie Ritter ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2021 João Pedro Simas +;;; Copyright © 2021 Jack Hill ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages algebra) #:use-module (gnu packages astronomy) @@ -68,6 +70,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) @@ -1065,6 +1068,65 @@ users.") "--with-tcl-binding" "--with-xml-support"))))) +(define-public tlf + (package + (name "tlf") + (version "1.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tlf/tlf") + (commit (string-append "tlf-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xpgs4k27pjd9mianfknknp6mf34365bcp96wrv5xh4dhph573rj")) + (patches + (search-patches "tlf-support-hamlib-4.2+.patch")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list "--enable-fldigi-xmlrpc"))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("cmocka" ,cmocka) + ("glib" ,glib) + ("hamlib" ,hamlib) + ("libusb" ,libusb) ;`Requires.private: libusb-1.0` in hamlib pkg-config + ("ncurses" ,ncurses) + ("xmlrpc-c" ,xmlrpc-c))) + (home-page "https://tlf.github.io/") + (synopsis "Amateur radio contest logging for the terminal") + (description "TLF is a @acronym{Text User Interface, TUI} amateur radio +contest logging program. It integrates with radios supported by hamlib and +other ham radio programs like fldigi. Many contests are supported including: + +@itemize +@item CQWW (SO, M/S and M/M) +@item WPX (SO, M/S and M/M) +@item ARRL Sweepstakes (SO, M/S ) +@item EU SPRINT +@item EUHFC +@item ARRL-DX (both sides) +@item ARRL-FD +@item ARRL 10m +@item ARRL 160m +@item Region1 field day +@item SP DX contest +@item PACC (both sides) +@item NRAU - scandinavian +@item Wysiwyg mults mode (per band or per contest) +@item WAEDX +@end itemize + +It also supports connecting to DX clusters, log synchronization with other TLF +instances over the network, and general QSO and DXpedition logging.") + (license license:gpl2+))) + (define-public wsjtx (package (name "wsjtx")