Tue Dec 14 23:56:56 2021 UTC ()
ham/freedv: Patch undefined constant, likely from hamlib

freedv uses FILPATHLEN, which is undefined, and not apparently POSIX.
hamlib defines HAMLIB_FILPATHLEN.  Speculate that hamlib used to not
namespace the constant, that hamlib has been updated, and freedv not,
and patch freedv to match.  freedv is due for an update anyway, and
this can be upstreamed then if it is still an issue.


(gdt)
diff -r1.8 -r1.9 pkgsrc/ham/freedv/distinfo
diff -r0 -r1.1 pkgsrc/ham/freedv/patches/patch-src_hamlib.cpp

cvs diff -r1.8 -r1.9 pkgsrc/ham/freedv/distinfo (expand / switch to unified diff)

--- pkgsrc/ham/freedv/distinfo 2021/10/26 10:48:38 1.8
+++ pkgsrc/ham/freedv/distinfo 2021/12/14 23:56:56 1.9
@@ -1,8 +1,9 @@ @@ -1,8 +1,9 @@
1$NetBSD: distinfo,v 1.8 2021/10/26 10:48:38 nia Exp $ 1$NetBSD: distinfo,v 1.9 2021/12/14 23:56:56 gdt Exp $
2 2
3BLAKE2s (freedv-1.4.2-bb9558cc496b7b253fb54bb28486b0bcd7516ae5.tar.gz) = 99e09f474f7c41b23aac1be374d06a6e1295ad3e658152dead9adc7778096e8c 3BLAKE2s (freedv-1.4.2-bb9558cc496b7b253fb54bb28486b0bcd7516ae5.tar.gz) = 99e09f474f7c41b23aac1be374d06a6e1295ad3e658152dead9adc7778096e8c
4SHA512 (freedv-1.4.2-bb9558cc496b7b253fb54bb28486b0bcd7516ae5.tar.gz) = fc7589606a208938129ad622966fa108e4c1ee84a86273a1b33705331282e811f7891bbc47528e475742a9b78f4dbc78cc1d84c13e1784b7923de9babf60171d 4SHA512 (freedv-1.4.2-bb9558cc496b7b253fb54bb28486b0bcd7516ae5.tar.gz) = fc7589606a208938129ad622966fa108e4c1ee84a86273a1b33705331282e811f7891bbc47528e475742a9b78f4dbc78cc1d84c13e1784b7923de9babf60171d
5Size (freedv-1.4.2-bb9558cc496b7b253fb54bb28486b0bcd7516ae5.tar.gz) = 6177996 bytes 5Size (freedv-1.4.2-bb9558cc496b7b253fb54bb28486b0bcd7516ae5.tar.gz) = 6177996 bytes
6SHA1 (patch-cmake_FindPortaudio.cmake) = 1105012bc3287bd5044250ad6f1c4609cbf7c217 6SHA1 (patch-cmake_FindPortaudio.cmake) = 1105012bc3287bd5044250ad6f1c4609cbf7c217
7SHA1 (patch-src_CMakeLists.txt) = 05636fb3c3f836fb8287b16147f5e99a745fb265 7SHA1 (patch-src_CMakeLists.txt) = 05636fb3c3f836fb8287b16147f5e99a745fb265
8SHA1 (patch-src_fdmdv2__main.cpp) = b002f17ecbe8f3091a10bd6854b0400ce50d3105 8SHA1 (patch-src_fdmdv2__main.cpp) = b002f17ecbe8f3091a10bd6854b0400ce50d3105
 9SHA1 (patch-src_hamlib.cpp) = fb70eea89bee4df588159018d7ddf2462eff988d

File Added: pkgsrc/ham/freedv/patches/patch-src_hamlib.cpp
$NetBSD: patch-src_hamlib.cpp,v 1.1 2021/12/14 23:56:56 gdt Exp $

Fix semi-obvious use of wrong constant.  Perhaps hamlib has prefixed the
constant to avoid collisions, since this freedv release.  Not reported
upstream because the package is not up to date.
 
--- src/hamlib.cpp.orig	2020-07-18 23:16:05.000000000 +0000
+++ src/hamlib.cpp
@@ -114,7 +114,7 @@ bool Hamlib::connect(unsigned int rig_in
 
     /* TODO we may also need civaddr for Icom */
 
-    strncpy(m_rig->state.rigport.pathname, serial_port, FILPATHLEN - 1);
+    strncpy(m_rig->state.rigport.pathname, serial_port, HAMLIB_FILPATHLEN - 1);
     if (serial_rate) {
         fprintf(stderr, "hamlib: setting serial rate: %d\n", serial_rate);
         m_rig->state.rigport.parm.serial.rate = serial_rate;