22# ###############################################################################
33#
44# Title ........: jtsdk_setup.sh
5- # Version ......: 3.2.3.3
5+ # Version ......: 4.0.0
66# Description ..: Setup the MSYS2 Environ for the JTSDK64
77# Project URL ..: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.2-Stream
8- #
9- # Updates.......: 20-2-2021 - 15-1-2022 Steve VK3VM / VK3SIR
10- #
118# Concept ......: (c) Greg, Beam, KI7MT, <ki7mt@yahoo.com>
129# Author .......: Base (c) 2013 - 2021 Greg, Beam, KI7MT, <ki7mt@yahoo.com>
13- # Enhancements (c) 2021 - 2024 JTSDK & Hamlib Development Contributors
10+ # Enhancements (c) 2021 - 2025 JTSDK & Hamlib Development Contributors
11+ #
12+ # Updates.......: General Updates for new environment - by Steve VK3VM/VK3SIR 20-2-2021-02-20-->2022-01-15
13+ # Menu additions for Fl-app support - by Steve VK3VM/VK3SIR 2023-11-12-->15
14+ # Addition of Keyring file Updates, parallel, ICU and MSMPI Library deployment - experiment coordinated by Steve VK3VM (who is "On Leave" at the moment) 2025-02-20
1415#
1516# ###############################################################################
1617
@@ -83,7 +84,7 @@ function jtsetup () {
8384 # declare the package array
8485 declare -a pkg_list=(" apr" " apr-util" " autoconf" " automake-wrapper" " groff" \
8586 " doxygen" " gettext-devel" " git" " subversion" " libtool" " swig" " libxml2-devel" " bison" \
86- " make" " libgdbm-devel" " pkg-config" " texinfo" " base-devel" " zip" " gzip" )
87+ " make" " libgdbm-devel" " pkg-config" " texinfo" " base-devel" " zip" " gzip" " parallel " )
8788
8889 # loop through the pkg_list array and install as needed
8990 for i in " ${pkg_list[@]} "
@@ -107,14 +108,49 @@ function gnusetup () {
107108 clear || :
108109 echo ' '
109110 echo ' ---------------------------------------------------------------------'
110- echo -e ${C_Y} " INSTALL mingw64 GNU COMPILERS AND COMMON TOOLS" ${C_NC}
111+ echo -e ${C_Y} " INSTALL mingw64 GNU COMPILERS & COMMON TOOLS/LIBRARIES " ${C_NC}
111112 echo ' ---------------------------------------------------------------------'
112113 echo ' '
113114
114115 # declare the package array
115116
117+ # The last 2 elements of the array "mingw-w64-x86_64-icu" and "mingw-w64-x86_64-msmpi" POSSIBLY unnecessary
118+
116119 declare -a pkg_list=(" mingw-w64-x86_64-toolchain" " mingw-w64-x86_64-cmake" " msys2-w32api-runtime" \
117- " mingw-w64-x86_64-extra-cmake-modules" " make" " pkg-config" " openssh" " mingw-w64-x86_64-libnova" )
120+ " mingw-w64-x86_64-extra-cmake-modules" " make" " pkg-config" " openssh" " mingw-w64-x86_64-libnova" \
121+ " mingw-w64-x86_64-cmake" " mingw-w64-x86_64-ninja" " mingw-w64-x86_64-libusb" " mingw-w64-x86_64-icu" \
122+ " mingw-w64-x86_64-msmpi" )
123+
124+ # loop through the pkg_list array and install as needed
125+ for i in " ${pkg_list[@]} "
126+ do
127+ pacman -S --overwrite " *" --needed --noconfirm --disable-download-timeout " $i "
128+ done
129+
130+ echo ' '
131+ echo -e ${C_Y} " Finished Package Installation" ${C_NC}
132+ echo ' '
133+
134+ }
135+
136+ # Function: install Fl-app dependencies ---------------------------------------
137+ function flappsetup () {
138+
139+ # make directories
140+ mkdir -p $HOME /src > /dev/null 2>&1
141+
142+ # start installation
143+ clear || :
144+ echo ' '
145+ echo ' ---------------------------------------------------------------------'
146+ echo -e ${C_Y} " INSTALL FL-APP DEPENDENCIES (EXPERIMENTAL)" ${C_NC}
147+ echo ' ---------------------------------------------------------------------'
148+ echo ' '
149+
150+ # declare the package array
151+
152+ declare -a pkg_list=(" mingw-w64-x86_64-fltk" " mingw-w64-x86_64-libsamplerate" " mingw-w64-x86_64-libsndfile" \
153+ " mingw-w64-x86_64-portaudio" " mingw-w64-x86_64-gobject-introspection-runtime" " libuuid-devel" )
118154
119155 # loop through the pkg_list array and install as needed
120156 for i in " ${pkg_list[@]} "
@@ -129,6 +165,7 @@ function gnusetup () {
129165}
130166
131167# Function: Update JTSDK64 Tools MSYS2 Scripts ---------------------------------
168+ # See: https://repo.msys2.org/msys/x86_64/ for the latest
132169function msys-keyring () {
133170
134171 clear || :
@@ -137,8 +174,8 @@ function msys-keyring () {
137174 echo -e ${C_Y} " UPGRADE MSYS2 KEYRING" ${C_NC}
138175 echo ' ---------------------------------------------------------------------'
139176 echo ' '
140- curl -O http ://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11 -1-any.pkg.tar.xz
141- curl -O http ://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11 -1-any.pkg.tar.xz .sig
177+ curl -O https ://repo.msys2.org/msys/x86_64/msys2-keyring-1~20250214 -1-any.pkg.tar.zst
178+ curl -O https ://repo.msys2.org/msys/x86_64/msys2-keyring-1~20250214 -1-any.pkg.tar.zst .sig
142179 pacman -U --noconfirm --config <( echo) msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
143180 echo ' *********************************************************************'
144181 echo -e ${C_Y} " IF FIRST RUN CLOSE MSYS2 and JTSDK-Setup shells." ${C_NC}
@@ -202,9 +239,9 @@ function change-repo () {
202239 echo " Available Repositories:"
203240 echo ' '
204241 echo ' 1 ... Master (preferred)'
205- echo ' 2 ... G4WJS (Now SK so may not be maintained )'
206- echo ' 3 ... M9WDB (Bleeding edge - contact Mike W9MDB before use)'
207- echo ' 4 ... Custom/Your Own (No Pull)'
242+ # echo ' 2 ... SK REPO (Now SK - Deprecated )'
243+ echo ' 2 ... M9WDB (Bleeding edge - contact Mike W9MDB before use)'
244+ echo ' 3 ... Custom/Your Own (No Pull)'
208245 echo ' '
209246 echo " e. Enter 'e' or 'q' to exit"
210247 echo ' '
@@ -220,20 +257,13 @@ function change-repo () {
220257 echo ' '
221258 read -p " Press enter to continue..." ;;
222259 2)
223- rm ${JTSDK_CONFIG_F} /hl*
224- touch $JTSDK_CONFIG_F /hlg4wjs
225- clear-hamlib
226- echo " On exiting menu close all MSYS2 and jtsdk64.cmd windows to set changes."
227- echo ' '
228- read -p " Press enter to continue..." ;;
229- 3)
230260 rm ${JTSDK_CONFIG_F} /hl*
231261 touch $JTSDK_CONFIG_F /hlw9mdb
232262 clear-hamlib
233263 echo " On exiting menu close all MSYS2 and jtsdk64.cmd windows to set changes."
234264 echo ' '
235265 read -p " Press enter to continue..." ;;
236- 4 )
266+ 3 )
237267 rm ${JTSDK_CONFIG_F} /hl*
238268 clear
239269 touch $JTSDK_CONFIG_F /hlnone
@@ -272,11 +302,13 @@ function menu () {
272302 echo " 2. Update MSYS2"
273303 echo " 3. Install Hamlib dependencies"
274304 echo " 4. Install msys64 GNU Compilers"
275- echo " 5. Update MSYS2 Keyring"
276- echo " 6. Build Hamlib - Static Libraries"
277- echo " 7. Build Hamlib - Dynamic Package"
278- echo " 8. Clear Hamlib Source"
279- echo " 9. Select HAMLIB Repository"
305+ echo " 5. Install FL-app dependencies"
306+ echo " 6. Update MSYS2 Keyring (Deprecated)"
307+ echo " 7. Build Hamlib - Static Libraries"
308+ echo " 8. Build Hamlib - Dynamic Package"
309+ echo " 9. Add Hamlib to pkgconfig"
310+ echo " a. Clear Hamlib Source"
311+ echo " b. Select HAMLIB Repository"
280312 echo " h. List help commands"
281313 echo " v. List version information"
282314 echo ' '
@@ -304,26 +336,48 @@ function menu () {
304336 4)
305337 gnusetup
306338 read -p " Press enter to continue..." ;;
307- 5)
339+ 5)
340+ flappsetup
341+ read -p " Press enter to continue..." ;;
342+ 6)
308343 msys-keyring
309344 read -p " Press enter to continue..." ;;
310- 6 )
345+ 7 )
311346 build-hamlib-static
312347 echo " "
313348 echo -e ${C_R} " CLEAR SOURCE then CLOSE and RESTART MSYS2 IF YOU INTEND TO BUILD DYNAMIC LIBRARIES" ${C_NC}
314349 echo " "
315350 read -p " Press enter to continue..." ;;
316- 7 )
351+ 8 )
317352 build-hamlib-dll
318353 echo " "
319354 echo -e ${C_R} " CLEAR SOURCE then CLOSE and RESTART MSYS2 IF YOU INTEND TO BUILD STATIC LIBRARIES" ${C_NC}
320355 echo " "
321356 read -p " Press enter to continue..." ;;
322- 8)
357+ 9)
358+ echo " "
359+ echo -e ${C_R} " ADDING JTSDK HAMLIB and LibUSB SOURCE TO pkgconfig" ${C_NC}
360+ echo ' '
361+ SUB=' qt'
362+ if [[ " $PKG_CONFIG_PATH " == * " $SUB " * ]]; then
363+ echo -e ${C_Y} " Qt pkgconfig path for Hamlib and LibUSB already added" ${C_NC}
364+ echo ' '
365+ else
366+ # We want to add C:\JTSDK64-Tools\tools\hamlib\qt\5.15.2\lib\pkgconfig
367+ # PKG_CONFIG_PATH=/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig:/c/JTSDK64-Tools/tools/hamlib/qt/5.15.2/mingw81_64/lib/pkgconfig
368+
369+ # export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$JTSDK_TOOLS_F/hamlib/qt/$QTV/lib/pkgconfig:$libusb_dir_f/libusb-MinGW-x64/lib/pkgconfig"
370+ # Test: removing libusb as may not be necessary !!!
371+ export PKG_CONFIG_PATH=" $PKG_CONFIG_PATH :$JTSDK_TOOLS_F /hamlib/qt/$QTV /lib/pkgconfig"
372+ echo " New pkgconfig path: $PKG_CONFIG_PATH "
373+ fi ;
374+ echo ' '
375+ read -p " Press enter to continue..." ;;
376+ a)
323377 clear-hamlib
324378 echo ' '
325379 read -p " Press enter to continue..." ;;
326- 9 )
380+ b )
327381 change-repo
328382 echo ' '
329383 read -p " Press enter to continue..." ;;
@@ -357,7 +411,7 @@ function greeting_message (){
357411 echo -e " For main menu, type ..: ${C_C} menu${C_NC} "
358412 echo -e " For Help Menu, type ..: ${C_C} jthelp${C_NC} "
359413 echo ' '
360- echo " Copyright (C) 2013-2024 , GPLv3, $AUTHOR ."
414+ echo " Copyright (C) 2013-2025 , GPLv3, $AUTHOR ."
361415 echo ' This is free software; There is NO warranty; not even'
362416 echo ' for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'
363417 echo ' '
0 commit comments