Bug 267682 - comms/hamlib: Update to 4.5.5
Summary: comms/hamlib: Update to 4.5.5
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Diane Bruce
URL:
Keywords:
: 270026 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-11-10 02:00 UTC by takefu
Modified: 2023-04-18 14:05 UTC (History)
3 users (show)

See Also:
vishwin: maintainer-feedback+


Attachments
hamlib-4.5.patch (1.85 KB, patch)
2022-11-10 02:00 UTC, takefu
no flags Details | Diff
hamlib-4.5.3.patch (6.15 KB, patch)
2023-01-01 11:56 UTC, takefu
takefu: maintainer-approval+
Details | Diff
hamlib-4.5.5.patch (2.96 KB, patch)
2023-04-11 02:16 UTC, takefu
takefu: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description takefu 2022-11-10 02:00:18 UTC
Created attachment 237994 [details]
hamlib-4.5.patch

Update to 4.5

  fix
  Fixed build bug due to CXX recognition failure
Comment 1 Charlie Li freebsd_committer freebsd_triage 2022-11-10 02:11:22 UTC
Please make sure to test/verify consumers for any API/ABI breakages.
Comment 2 takefu 2023-01-01 11:53:41 UTC
(In reply to Charlie Li from comment #1)

What exactly should I do?
Comment 3 takefu 2023-01-01 11:56:00 UTC
Created attachment 239176 [details]
hamlib-4.5.3.patch

Version 4.5.3
	* 2022-12-31
	* Fix serial.c for hardware flow control on Linux and MacOSy
	* Add QRPLabs QCX/QDX rig -- not quite a TS480
	* Fix QRP QRDX firmware bugs in IF message so PTT works now
	* FTDX5000 will now remember startup front/read settings and restore it
	* Fix FTDX5000 write_delay with microham
	* Fix grep error on MingW build

Version 4.5.2
	* 2022-12-23
	* Fix PowerSDR ability to do commands while powered off
	* Fix TX-500 operations
	* Fix FTDX5000 to return to MIC input on closing
	* Fix rig.c calling rig_get_mode when backend does not have get_mode
	* Fix kenwood_ts890_get_level
	* Add Prosistel D elevation CBOX az to fix problem with azimuth control
	* Fix FT736R gpredict usage by adding cached get_freq
	* Fix get_powerstat problem with Log4OM/Flex and others
	* Fix -R option to not need argument
	* Fix -R option to close rig on last rigctld client disconnect
	* Add FTDX1200 to rigs that need to ensure PTT is off before changing frequency
	* Add --disable-parallel configure option for mingw builds on Linux

Version 4.5.1
	* 2022-12-08
	* FT2000, FTDX3000/D, FT891, FT991, FT950, FTDX5000 now set CAT TOT to 100ms
	* Add missing NB2 setting to FT-950, FTDX-1200, FT-2000, FTDX-3000, FTDX-5000, FTDX-9000
	* Add missing meter reading to TS-890S -- thanks to Geore Baltz N3GB
	* Fix FT736 VFOB freq and mode set
	* Added send_raw to rigctl -- see rigctl man page
	* Fix AGC Level dumpcaps on most rigs
	* Fix rig_send_raw to return bytes read, fill buffer, and also work with fixed length response/null terminator
	* Change all Kenwood rigs to 500ms serial timeout
	* Fix dumpcaps filter printout to only show declared filters
	* Fix triggering PTT on XGComms device on Linux
	* Fix level_gran in all rigs
	* Add RIG_FUNC_TUNER to flrig.c
	* Fix FT-991 level_gran (needs to be done for lots of rigs)
	* Fix man page rigctl to show units for LEVEL items
	* Fix Flex6xxx if_len
	* Fix FLRig set_ptt
	* Fix missing KEYSPD to TS890
	* rigctl 'W' command can now use a singled char terminator like ; that allows for variable length responses with no timeout -- e.g.  W FA; ;
	* New RIG_LEVEL_USB_AF to control audio gain from rig to computer -- to allow AGC function in software using RF and USB_AF
	* Add RIG_LEVEL_AGC_TIME to allow AGC/OFF to be set for IC-7300, IC-9700, IC-705
	* Add RIG_FUNC_OVF_STATUS to get overflow status for IC-7300, IC-9700, IC-705, and IC-R8600

	
Version 4.5
	* 2022-10-30
	* New rotator utility https://www.pianetaradio.it/blog/catrotator/
	* Add FT-710
	* Add Rohde&Schwartz EK89X receiver
	* Add Xeigu X5105
	* Add Gemini DX-1200 HF-1K Amplifiers
	* Kenwood rigs should now support AI command packets
	* Add FT-990UNI for older 990 ROMs 1.2 and earlier
	* Add FT-650
	* Add get_separator and set_separator and -S option for rigctld -- node-red applicability
	* Add GRBLTRK rotor project -- two axis rotor
	* Add SDRPlay SDRUno rig -- can now use Data/Pkt in WSJTX
	* Add ability to use cat_string to FLRig via the "w" and "W" commands
	* Add -B/--mapa2b to rigctlcom
	  Allows rigctlcom to map set_freq on VFOA to VFOB instead
	  This will allow CW Skimmer to work with some rigs (e.g. IC7300) using FM
	  mode on VFOA and CW mode on VFOB and split mode transmit on VFOB.
	  Clicking on CW Skimmer will change VFOB instead of VFOA to allow working
	  dxpeditions where the fox is staying on frequency
	* Add password capability to rigctld via -A switch. 
	  rigctld -A will produce a consistent shared key for any specific password that can used in \password and rig_set_password
	  TBD The shared key can also be placed in .hamlib_settings 
	* Asynchronous rig data output handling to support transceive and spectrum data. Mikael, OH3BHX
	  Example for the IC-7300 to multicast on port 20001 and provide async rig information
	  rigctld --port=20001 --model=3073 --serial-speed=115200 --rig-file=/dev/serial/... --set-conf=rts_state=OFF --set-conf=dtr_state=OFF --multicast-addr=224.0.0.1 --multicast-port=20001 --set-conf=async=1
	  Also, spectrum data output needs to be enabled with: \set_func SPECTRUM 1
	* See new set_conf option async for some Icom rigs
	* Multicast UDP packet output for asynchronous data. Mikael, OH3BHX
	* Rig state poll routine to serve commonly used data like frequency and mode from cache. Mikael, OH3BHX
	* deprecated hamlib_port_t at front of rig_state structure -- new one at end of structure
	* New rig_send_raw to send/read raw command to rig
	* New RIG_LEVEL_BAND_SELECT for Yaesu rigs
	* New rig_get_conf2 to replace rig_get_conf buffer overflow potential
	* New rot_get_conf2 to reaplce rot_get_conf buffer overflow potential
	* Added Barrett 4050 -- not functional yet
	* Added TCI 1.X -- not functional yet
	* Added TM-V71(A)
	* Added IC-F8101
	* Added JRC JST-145 and JST-245
	* Added Xiegu X108G, G90, and X6100
	* Added CODAN Envoy and NGS
	* Added Lab599 TX-500
	* Added GOMSPACE GS100
	* Deprecated: rigctl commands \set_trn (A) and \get_trn (a) as they never worked as intended
	* Deprecated: field rig_caps.transceive and RIG_TRN_* macros
Comment 4 commit-hook freebsd_committer freebsd_triage 2023-01-24 18:28:32 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=974c429b894b68696d0e36572be9073fb29b62b5

commit 974c429b894b68696d0e36572be9073fb29b62b5
Author:     Diane Bruce <db@FreeBSD.org>
AuthorDate: 2023-01-24 18:24:51 +0000
Commit:     Diane Bruce <db@FreeBSD.org>
CommitDate: 2023-01-24 18:24:51 +0000

    comms/hamlib: Update to 4.5.3

    Fairly lengthy changes we were quite out of date...
    I did do a quick API check.

    Version 4.5.3
            * 2022-12-31
            * Fix serial.c for hardware flow control on Linux and MacOSy
            * Add QRPLabs QCX/QDX rig -- not quite a TS480
            * Fix QRP QRDX firmware bugs in IF message so PTT works now
            * FTDX5000 will now remember startup front/read settings and restore it
            * Fix FTDX5000 write_delay with microham
            * Fix grep error on MingW build

    Version 4.5.2
            * 2022-12-23
            * Fix PowerSDR ability to do commands while powered off
            * Fix TX-500 operations
            * Fix FTDX5000 to return to MIC input on closing
            * Fix rig.c calling rig_get_mode when backend does not have get_mode
            * Fix kenwood_ts890_get_level
            * Add Prosistel D elevation CBOX az to fix problem with azimuth control
            * Fix FT736R gpredict usage by adding cached get_freq
            * Fix get_powerstat problem with Log4OM/Flex and others
            * Fix -R option to not need argument
            * Fix -R option to close rig on last rigctld client disconnect
            * Add FTDX1200 to rigs that need to ensure PTT is off before changing frequency
            * Add --disable-parallel configure option for mingw builds on Linux

    Version 4.5.1
            * 2022-12-08
            * FT2000, FTDX3000/D, FT891, FT991, FT950, FTDX5000 now set CAT TOT to 100ms
            * Add missing NB2 setting to FT-950, FTDX-1200, FT-2000, FTDX-3000, FTDX-5000, FTDX-9000
            * Add missing meter reading to TS-890S -- thanks to Geore Baltz N3GB
            * Fix FT736 VFOB freq and mode set
            * Added send_raw to rigctl -- see rigctl man page
            * Fix AGC Level dumpcaps on most rigs
            * Fix rig_send_raw to return bytes read, fill buffer, and also work with fixed length response/null terminator
            * Change all Kenwood rigs to 500ms serial timeout
            * Fix dumpcaps filter printout to only show declared filters
            * Fix triggering PTT on XGComms device on Linux
            * Fix level_gran in all rigs
            * Add RIG_FUNC_TUNER to flrig.c
            * Fix FT-991 level_gran (needs to be done for lots of rigs)
            * Fix man page rigctl to show units for LEVEL items
            * Fix Flex6xxx if_len
            * Fix FLRig set_ptt
            * Fix missing KEYSPD to TS890
            * rigctl 'W' command can now use a singled char terminator like ; that allows for variable length responses with no timeout -- e.g.  W FA; ;
            * New RIG_LEVEL_USB_AF to control audio gain from rig to computer -- to allow AGC function in software using RF and USB_AF
            * Add RIG_LEVEL_AGC_TIME to allow AGC/OFF to be set for IC-7300, IC-9700, IC-705
            * Add RIG_FUNC_OVF_STATUS to get overflow status for IC-7300, IC-9700, IC-705, and IC-R8600

    Version 4.5
            * 2022-10-30
            * New rotator utility https://www.pianetaradio.it/blog/catrotator/
            * Add FT-710
            * Add Rohde&Schwartz EK89X receiver
            * Add Xeigu X5105
            * Add Gemini DX-1200 HF-1K Amplifiers
            * Kenwood rigs should now support AI command packets
            * Add FT-990UNI for older 990 ROMs 1.2 and earlier
            * Add FT-650
            * Add get_separator and set_separator and -S option for rigctld -- node-red applicability
            * Add GRBLTRK rotor project -- two axis rotor
            * Add SDRPlay SDRUno rig -- can now use Data/Pkt in WSJTX
            * Add ability to use cat_string to FLRig via the "w" and "W" commands
            * Add -B/--mapa2b to rigctlcom
              Allows rigctlcom to map set_freq on VFOA to VFOB instead
              This will allow CW Skimmer to work with some rigs (e.g. IC7300) using FM
              mode on VFOA and CW mode on VFOB and split mode transmit on VFOB.
              Clicking on CW Skimmer will change VFOB instead of VFOA to allow working
              dxpeditions where the fox is staying on frequency
            * Add password capability to rigctld via -A switch.
              rigctld -A will produce a consistent shared key for any specific password that can used in \password and rig_set_password
              TBD The shared key can also be placed in .hamlib_settings
            * Asynchronous rig data output handling to support transceive and spectrum data. Mikael, OH3BHX
              Example for the IC-7300 to multicast on port 20001 and provide async rig information
              rigctld --port=20001 --model=3073 --serial-speed=115200 --rig-file=/dev/serial/... --set-conf=rts_state=OFF --set-conf=dtr_state=OFF --multicast-addr=224.0.0.1 --multicast-port=20001 --set-conf=async=1
              Also, spectrum data output needs to be enabled with: \set_func SPECTRUM 1
            * See new set_conf option async for some Icom rigs
            * Multicast UDP packet output for asynchronous data. Mikael, OH3BHX
            * Rig state poll routine to serve commonly used data like frequency and mode from cache. Mikael, OH3BHX
            * deprecated hamlib_port_t at front of rig_state structure -- new one at end of structure
            * New rig_send_raw to send/read raw command to rig
            * New RIG_LEVEL_BAND_SELECT for Yaesu rigs
            * New rig_get_conf2 to replace rig_get_conf buffer overflow potential
            * New rot_get_conf2 to reaplce rot_get_conf buffer overflow potential
            * Added Barrett 4050 -- not functional yet
            * Added TCI 1.X -- not functional yet
            * Added TM-V71(A)
            * Added IC-F8101
            * Added JRC JST-145 and JST-245
            * Added Xiegu X108G, G90, and X6100
            * Added CODAN Envoy and NGS
            * Added Lab599 TX-500
            * Added GOMSPACE GS100
            * Deprecated: rigctl commands \set_trn (A) and \get_trn (a) as they never worked as intended
            * Deprecated: field rig_caps.transceive and RIG_TRN_* macros

    PR:             ports/267682
    Reported by:    takefu@airport.fm
    Tested by:      db

 comms/hamlib/Makefile                               | 10 +++-------
 comms/hamlib/distinfo                               |  6 +++---
 comms/hamlib/files/patch-hamlib.pc.in               |  4 ++--
 .../hamlib/files/patch-include_hamlib_rig.h (gone)  | 21 ---------------------
 comms/hamlib/files/patch-src_misc.c (gone)          | 21 ---------------------
 comms/hamlib/pkg-plist                              |  9 +++++----
 6 files changed, 13 insertions(+), 58 deletions(-)
Comment 5 Martin Birgmeier 2023-01-25 08:07:29 UTC
When trying to upgrade this using portmaster, I get

--- libhamlib++.la ---
/bin/sh ../libtool  --tag=CXX    --mode=link c++ -std=c++11  -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -no-undefined -version-info 4:6:0 -L/usr/local/lib -fstack-protector-strong -L/usr/local/lib  -L/usr/local/lib -fstack-protector-strong -L/usr/local/lib -o libhamlib++.la -rpath /usr/local/lib rigclass.lo rotclass.lo ampclass.lo ../src/libhamlib.la -L/usr/local/lib -lreadline
libtool: link: c++  -fPIC -DPIC -shared -nostdlib /usr/lib/crti.o /usr/lib/crtbeginS.o  .libs/rigclass.o .libs/rotclass.o .libs/ampclass.o   -Wl,-rpath -Wl,/usr/tmp/net/hal/z/SRC/FreeBSD/ports/MBi/main/comms/hamlib/work/hamlib-4.5.3/src/.libs -Wl,-rpath -Wl,/usr/local/lib -L/usr/local/lib ../src/.libs/libhamlib.so -lpthread -lusb -lindiclient -lstdc++ -lz -lreadline -L/usr/lib -lc++ -lm -lc -lgcc -lgcc_s /usr/lib/crtendS.o /usr/lib/crtn.o  -O2 -fstack-protector-strong -O2 -fstack-protector-strong -fstack-protector-strong -fstack-protector-strong   -pthread -Wl,-soname -Wl,libhamlib++.so.4 -o .libs/libhamlib++.so.4.0.6
c++: warning: argument unused during compilation: '-pthread' [-Wunused-command-line-argument]
ld: error: unable to find library -lstdc++
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** [libhamlib++.la] Error code 1

make[3]: stopped in /usr/tmp/net/hal/z/SRC/FreeBSD/ports/MBi/main/comms/hamlib/work/hamlib-4.5.3/c++
1 error

make[3]: stopped in /usr/tmp/net/hal/z/SRC/FreeBSD/ports/MBi/main/comms/hamlib/work/hamlib-4.5.3/c++
===> Compilation failed unexpectedly.

-- Martin
Comment 6 takefu 2023-01-27 01:37:19 UTC
(In reply to Martin Birgmeier from comment #5)

Is it the same to execute portmaster after rebuilding devel/libtool?
I don't use portmaster, so I don't give any more suggestions.
Comment 7 Martin Birgmeier 2023-01-27 07:24:16 UTC
The solution is to first deinstall the previous version of hamlib.

Maybe add a note to that effect to UPDATING.

-- Martin
Comment 8 takefu 2023-04-11 02:12:10 UTC
*** Bug 270026 has been marked as a duplicate of this bug. ***
Comment 9 takefu 2023-04-11 02:16:09 UTC
Created attachment 241409 [details]
hamlib-4.5.5.patch

Update to 4.5.5

(In reply to Martin Birgmeier from comment #7)
Described how to solve build problems in UPDATING


Below are the updates

Version 4.5.5
        * rig_get_conf deprecated and replaced by rig_get_conf2
        * 2023-04-05
        * rot_get_conf deprecated and replaced by rot_get_conf2
        * Add park to rotorez.c
        * Change FT1000MP Mark V model names to align with FT1000MP
        * Fix rig power on/off from rigctl cmd line and rigctld

        * Enable async mode by default to prevent WSJT-X crash on IC9700 with transceive on
Version 4.6
        * Fix IC7610 get_powerstat to disable it -- cannot read power status
        * 2023-11-XX -- Planned for Nov 2023
        * Fix K3 K22 command error for remote operations
        * Add --set-conf=tuner_control_pathname=hamlib_tuner_control (default)
        * Fix Gemini DX1200 gemini_set_level
          If file exists then it will be called with 0/1 (Off/On) argument
        * Fix async I/O to not call flush
          with 'U TUNER 0' or 'U TUNER 1"
        * Change EX startup commands for Yaesu rigs to allow errors...Win4Yaesu not recognizing EX commands
          Default path is for current directory
        * Fix jst145 set_freq and get_freq
        * Add MDS 4710/9710 rigs
        * Restore tcflush as some odd behavior was seen that tclush fixes
        * Add FLIR PTU-D48, E46, D100, D300 rotors
        * Fix XG3 operations
        * Fix FTDX3000 rig split
        * Separate the validation cmd in newcat.c to allow rig post_write_delay to be in effect
        * Increase post_write to 20ms for FT710
        * Add attenuator level control for TS890
        * Update SMeter/SWR tables for TS890
        * Add fix for TMD700
        * Improve FT-857 get_vfo response when error occurs
        * Allow FT-857 to use cached vfo on get_vfo when error occurs reading EEPROM
        * Fix FTDX10 FT710 set_level AF
        * Fix FT-450D detection
        * Fix VFO A/B swapping for gpredict -- hopefully better behavior for VFO swapping rigs
          Should avoid setting RX freq while TX and avoid TX freq while RX
        * Fix QRP QDX PTT to new TQ command due to firmware changes
        * Remove EX103 check for FTDX5000
        * Fix K3/K3S VFOB setting of mode/width
        * Fix AGC level display in rigctld
        * Change FTDX10 to no serial handshake
        * Add TS2000 to has_ps exception
        * Add FT991 to 60M exception
        * Fix get_powerstat bad call in rigctl_parse.c
        * Really fix CM108 ptt_bitnum usage
        * Fix Elecraft power2mW precision/accuracy
        * Fix power on/off/on for Icom rigs with rigctld power_on=0

Version 4.5.4
        * 2023-01-10
        * Fix CM108 ptt setting for non-default usage
        * Fix power on/off for Icom rigs with rigctld power_on=0
        * Fix get_powerstat status return for non-PS kenwood rigs
        * Fix FT-710, FTDX10, FTDX101D/MP usage on 60M
        * Fix timing on NRD-535D
        * Fix AGC levels with rigctld
        * Fix FTDX3000 EX039 error
        * Fix Elecraft power2mW operation
        * Fix rig_power2mW so it checks all ranges
        * Allow rigctld to start with autopower_on=0 to avoid startup timeouts when rig is powered off
        * Fix dummy device to work with grig by disallowing empty "u" call
        * Fix ID5100 and promote to stable and hopefully ID4100 too
        * Remove get_powerstat from Icom ID-5100,ID-4100,ID-31,ID-51 and fix get/set freq in all
Comment 10 Diane Bruce freebsd_committer freebsd_triage 2023-04-13 12:57:59 UTC
Comment on attachment 241409 [details]
hamlib-4.5.5.patch

I was working on this last week until we had an ice storm which took out power. ;)
I'll be working on this today. Incidentally the reason "# pkg delete -f comms/hamlib" is needed because the port is referencing /usr/local/lib before the build directory. This should be easy to fix.
Comment 11 commit-hook freebsd_committer freebsd_triage 2023-04-18 14:04:19 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=14a99ee63f0ed9ddaff008022350113f165db3f9

commit 14a99ee63f0ed9ddaff008022350113f165db3f9
Author:     Diane Bruce <db@FreeBSD.org>
AuthorDate: 2023-04-18 13:53:29 +0000
Commit:     Diane Bruce <db@FreeBSD.org>
CommitDate: 2023-04-18 13:53:29 +0000

    comms/hamlib: Update to 4.5.5

    Version 4.5.5
            * rig_get_conf deprecated and replaced by rig_get_conf2
            * 2023-04-05
            * rot_get_conf deprecated and replaced by rot_get_conf2
            * Add park to rotorez.c
            * Change FT1000MP Mark V model names to align with FT1000MP
            * Fix rig power on/off from rigctl cmd line and rigctld
            * Enable async mode by default to prevent WSJT-X crash on IC9700 with

    PR:             ports/267682
    Reported by:    takefu@airport.fm

 comms/hamlib/Makefile | 3 +--
 comms/hamlib/distinfo | 6 +++---
 2 files changed, 4 insertions(+), 5 deletions(-)