[PATCH 0/2] Add tlf

  • Done
  • quality assurance status badge
Details
2 participants
  • Guillaume Le Vaillant
  • Jack Hill
Owner
unassigned
Submitted by
Jack Hill
Severity
normal
J
J
Jack Hill wrote on 14 Jun 2021 06:12
(address . guix-patches@gnu.org)
alpine.DEB.2.21.2106132357190.2109@marsh.hcoop.net
This series adds a package for Tlf, an amateur (ham) radio logging
program. Some things to note:

Tlf depends on hamlib, which has `Requires.private: libusb-1.0` in its
pkg-config file. Tlf fails to build if libusb is not present in its build
environment. I saw two options for resolving this: 1) add libusb as an
input for tlf or 2) propagate libusb from hamlib. I chose the latter, but
I'm not sure if that's the right choice as hamlib also provides binaries,
so folks might want to install it in their profiles in addition to using
it as a library.

The released version of Tlf doesn't work with our packaged version of
hamlib because hamlib made a breaking change in the name of one of their
macros. I added a patch from newer Tlf commits that works around this by
adding some indirection.

I tested that it builds reproducably on x86_64-linux, and that it builds
emulated aarch64-linux and armhf-linux. I was happy to see, especially on
armhf, that I didn't run into the problem that caused Debian to add a
patch:


Jack Hill (2):
gnu: hamlib: Make libusb a propagated input.
gnu: Add tlf.

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

--
2.32.0
J
J
Jack Hill wrote on 14 Jun 2021 06:14
[PATCH 1/2] gnu: hamlib: Make libusb a propagated input.
(address . 49014@debbugs.gnu.org)
20210614041407.21684-1-jackhill@jackhill.us
* gnu/packages/radio.scm (hamlib)[inputs]: Remove libusb.
[propagated-inputs]: Add libusb.
---
gnu/packages/radio.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index d0b7446c3c..96c94fa1ce 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -1019,9 +1019,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"
--
2.32.0
J
J
Jack Hill wrote on 14 Jun 2021 06:14
[PATCH 2/2] gnu: Add tlf.
(address . 49014@debbugs.gnu.org)
20210614041407.21684-2-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 | 61 +++++++++++++++++
3 files changed, 128 insertions(+)
create mode 100644 gnu/packages/patches/tlf-support-hamlib-4.2+.patch

Toggle diff (179 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 96c94fa1ce..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)
@@ -1066,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 06:20
[PATCH v2 1/2] gnu: hamlib: Make libusb a propagated input.
(address . 49014@debbugs.gnu.org)
20210614042020.22754-1-jackhill@jackhill.us
* gnu/packages/radio.scm (hamlib)[inputs]: Remove libusb.
[propagated-inputs]: Add libusb.
---
gnu/packages/radio.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index d0b7446c3c..96c94fa1ce 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -1019,9 +1019,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"
--
2.32.0
J
J
Jack Hill wrote on 14 Jun 2021 06:20
[PATCH v2 2/2] gnu: Add tlf.
(address . 49014@debbugs.gnu.org)
20210614042020.22754-2-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.
---

Fixed in version 2: fetch from the correct upstream git repository. I
had accidentally left the testing url in place in the previous patch
version.

gnu/local.mk | 1 +
.../patches/tlf-support-hamlib-4.2+.patch | 66 +++++++++++++++++++
gnu/packages/radio.scm | 61 +++++++++++++++++
3 files changed, 128 insertions(+)
create mode 100644 gnu/packages/patches/tlf-support-hamlib-4.2+.patch

Toggle diff (179 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 96c94fa1ce..523cf0c4d6 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)
@@ -1066,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/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)
+ ("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 18 Jun 2021 18:15
[PATCH v3] gnu: Add tlf.
(address . 49014@debbugs.gnu.org)
20210618161546.9012-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.
---

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

Toggle diff (180 lines)
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 <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 618b2cfeaa..991d2e3a2e 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)
@@ -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")
--
2.32.0
G
G
Guillaume Le Vaillant wrote on 21 Jun 2021 10:52
(name . Jack Hill)(address . jackhill@jackhill.us)(address . 49014-done@debbugs.gnu.org)
87k0mn4n2d.fsf@kitej
Patch pushed as 30a04c00beb3b0bc3799f27caf05bedb5094c0c5.
Thanks.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYNBTOg8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j8KhQD/RjJ/nUk5gz2QucTCeu8vdZhNY7CJ2F6wfmAX
mnQN4ecBAJeLRGxEWod9D+wNJFkTLAq1mPIfMzAIy3jwm/Pi5htp
=m7vr
-----END PGP SIGNATURE-----

Closed
?