[PATCH] gnu: Add tlf.

  • Done
  • quality assurance status badge
Details
One participant
  • Jack Hill
Owner
unassigned
Submitted by
Jack Hill
Severity
normal
J
J
Jack Hill wrote on 14 Jun 2021 05:42
(address . guix-patches@gnu.org)
20210614034208.15837-1-jackhill@jackhill.us
* gnu/packages/patches/tlf-support-hamlib-4.2+.patch: New file.
* gnu/local.mk: Add it.
* gnu/packages/radio.scm (tlf): New variable.
---
gnu/local.mk | 1 +
.../patches/tlf-support-hamlib-4.2+.patch | 66 +++++++++++++++++++
gnu/packages/radio.scm | 64 +++++++++++++++++-
3 files changed, 130 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/tlf-support-hamlib-4.2+.patch

Toggle diff (191 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index e889abb1a6..175d1a47b2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1744,6 +1744,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/transcode-ffmpeg.patch \
%D%/packages/patches/transmission-honor-localedir.patch \
%D%/packages/patches/ttf2eot-cstddef.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 <airween@gmail.com>
+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 <jackhill@jackhill.us> by
+squashing together the changes from upstream #268
+<https://github.com/Tlf/tlf/pull/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 <hamlib/rig.h>
+
++#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 d0b7446c3c..5e6c324e8c 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2020 Charlie Ritter <chewzerita@posteo.net>
;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 João Pedro Simas <jpsimas@gmail.com>
+;;; Copyright © 2021 Jack Hill <jackhill@jackhill.us>
;;;
;;; 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)
@@ -1019,9 +1022,10 @@ you must extend 'udev-service-type' with this package. E.g.:
("tcl" ,tcl)))
(inputs
`(("gd" ,gd)
- ("libusb" ,libusb)
("libxml2" ,libxml2)
("readline" ,readline)))
+ (propagated-inputs
+ `(("libusb" ,libusb)))
(arguments
`(#:configure-flags '("--disable-static"
"--with-lua-binding"
@@ -1065,6 +1069,64 @@ 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/airween/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)
+ ("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")
--
2.32.0
J
J
Jack Hill wrote on 14 Jun 2021 05:46
(address . 49013-done@debbugs.gnu.org)
alpine.DEB.2.21.2106132344270.2109@marsh.hcoop.net
On Sun, 13 Jun 2021, Jack Hill wrote:

Toggle quote (8 lines)
> * gnu/packages/patches/tlf-support-hamlib-4.2+.patch: New file.
> * gnu/local.mk: Add it.
> * gnu/packages/radio.scm (tlf): New variable.
> ---
> gnu/local.mk | 1 +
> .../patches/tlf-support-hamlib-4.2+.patch | 66 +++++++++++++++++++
> gnu/packages/radio.scm | 64 +++++++++++++++++-

Whoops, I messed up preparing this patch. I needed to make a change to a
dependency, but didn't get that done in a separate commit. I'm going to
close this issue for now, and resubmit it with a cover letter
describing the changes.

Best,
Jack
Closed
?