From 30f9291311b74ea633922794aa1cbfeb00887225 Mon Sep 17 00:00:00 2001 From: Fredrik Lundhag Date: Sun, 31 May 2026 22:12:28 +0200 Subject: [PATCH 1/3] VARA FM: Add new app (cherry picked from commit 89930275725f60ac5de847ae50aa86418664c3d5) --- apps/VARA FM/credits | 9 ++++++ apps/VARA FM/description | 8 +++++ apps/VARA FM/icon-24.png | Bin 0 -> 2043 bytes apps/VARA FM/icon-64.png | Bin 0 -> 7997 bytes apps/VARA FM/install | 67 +++++++++++++++++++++++++++++++++++++++ apps/VARA FM/uninstall | 29 +++++++++++++++++ apps/VARA FM/website | 1 + 7 files changed, 114 insertions(+) create mode 100644 apps/VARA FM/credits create mode 100644 apps/VARA FM/description create mode 100644 apps/VARA FM/icon-24.png create mode 100644 apps/VARA FM/icon-64.png create mode 100755 apps/VARA FM/install create mode 100755 apps/VARA FM/uninstall create mode 100644 apps/VARA FM/website diff --git a/apps/VARA FM/credits b/apps/VARA FM/credits new file mode 100644 index 0000000000..04451aed8e --- /dev/null +++ b/apps/VARA FM/credits @@ -0,0 +1,9 @@ +Added to pi-apps by Eric Wiessner (KI7POL) + +Special thanks: Sebastien "ptitSeb" Chevalier (box86/box64), Esme "madewokherd" Povirk (wine-mono functions), +MarcoDT (Artemis, early programming encouragement), Botspot / theofficialgman (Pi-Apps Wine installer), +everyone who's helped and inspired Winelink (OH8STN, K0SWE, KD2ROS, PE1RRR, LB4PJ, K7MHI, WH6AZ, KM4ACK, KR0SIV), +Pat team (LA5NTA, K0SWE), proof-of-concept Winlink on Linux guides (K6ETA, DCJ21), ARDOP devs (KN6KB, G8BPQ, KG4JJA), +those who got me interested in ham radio (N7ACW, AD7HE, KK6FVG), and everyone who tries to keep ham radio open source. + +"My humanity is bound up in yours, for we can only be human together" - Nelson Mandela diff --git a/apps/VARA FM/description b/apps/VARA FM/description new file mode 100644 index 0000000000..c9ec262154 --- /dev/null +++ b/apps/VARA FM/description @@ -0,0 +1,8 @@ +A shareware FM modem for amateur radio messaging. + +VARA modems require a messaging app (such as Pat, Winlink Express, VarAC, or VARAChat), an amateur radio transceiver, and cables to connect audio and PTT control from your Pi to the transceiver. + +Run from Menu: Menu -> Accessories -> VARA FM +Run from Terminal: wine "C:\VARAFM\VARA FM.exe" + +This app runs with the help of Box86/Box64 and Wine. diff --git a/apps/VARA FM/icon-24.png b/apps/VARA FM/icon-24.png new file mode 100644 index 0000000000000000000000000000000000000000..0feb9c72ff12a3c86e13e67883b29cf3c1edb3ed GIT binary patch literal 2043 zcmVEX>4Tx04R}tkv&MmKpe$iTWdusA{G>J$WWcEgNito zDi*;)X)CnqU~=gfG-*guTpR`0f`cE6RR2#4$GXkI4hMJYu%H-Fql_Y(p;xGia3^#KoSBZ)KEqRCL*+| zq!>uie$2%`V*8WilE_sCBgX=&P$1fV@IUz7tx=esa*~2E!2e=dA7emZ7iiWk>-*TU znkRto8Msp0{%Ql5`y{>I*1|_X|2A-O-PWW%;Bp5Te$qr;v?U)+Z=nFZpV2qvfWcd! zcg^XowU5&WAVXa(-v9@Pz<80e*InM-)7jgy{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2j~V77cV6dSFg$d00rks zL_t(Y$IX>lY@AmW$A9kR9+EZz z@xb=LUph}m_kW~w&OJZ)AL!|wJ9&ENPW{hv;=eWD`0!V`Dedh+ZSQK;M75H;_r3W> z?xVc=cg%kL!%^K*7pe@IqTOrf>>b~JZrI7?o|x}gy*pXc(3f_-ZK>E~etzoe@sHkE zcN>h3zNixmQ}$9~oJe~Hf9)fKGqH)mc1QY^*BhZ^P5U}L06rSMUC`E7fR_Un7= z!wlSaKV5BGdHvNltnv5mcv_>QFX&PsJ`!mk({16iL!r+U2eseEXV>8O9kKnE&_1gU z%dW>Wvp9|+m#-&ZtfRV0;;)q4OdrOzT2R&N$@>CB8@6oKCypI)0IUn=qQfKKN&aa4 zx*AP%e8c7d)hd_^d-JV;Dc>5}UEOG_6T32l0gD z*(aKL?9qo2QgY==OeE)KKW@EMUmuR9(i2WP<7uVA(t={%Bfj7gn{qgR(Qx{rZ+Czf0}3k2E{*_y zMFpeJf1f`bJ;GPyBX|iats22p}`c$B5+-olV{H`ym2E(-#<=cV-s5^Qcp7{iLq!ziB(#=~>VShhhIQi#7!JC#nh6uEi9ot}$5ZjFqL zkeHj>@};kT!>+BVWhxfqdLltE5a6DU4uSzcQb;c4^Hg=N!gF1mTn;C`H8W0yiZqyFM4z$5p8d9&6@i{ISbIiU|?r+Yn$$DYs0b>6+Ry=O<@v?i!3B= z;Mf))Oit&lWZIZyGCDUoIo1)Xb_>3Wy}7wrH`3En+W*VfoVy2q{%&M``JspW{r7hN z`dg2EZ9B#wrJ|;~imBi61?9@R0MLGW+kKziHDZY_0t(R;-{p6w2+{vxonC Z{S71xg?%qp;S&G=002ovPDHLkV1iAe+l&AJ literal 0 HcmV?d00001 diff --git a/apps/VARA FM/icon-64.png b/apps/VARA FM/icon-64.png new file mode 100644 index 0000000000000000000000000000000000000000..55bd93d787c9b48fdb9ae6eaa2073fc1c94023f2 GIT binary patch literal 7997 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 literal 0 HcmV?d00001 diff --git a/apps/VARA FM/install b/apps/VARA FM/install new file mode 100755 index 0000000000..c882368558 --- /dev/null +++ b/apps/VARA FM/install @@ -0,0 +1,67 @@ +#!/bin/bash + +#Finding the latest VARA FM version from the winlink.org directory listing +version=$(wget -qO- "https://downloads.winlink.org/VARA%20Products/" \ + | grep -oP 'VARA%20FM%20v[\d.]+%20+setup\.zip' \ + | sort -V | tail -1) +[ -n "$version" ] || error 'Failed to find the latest VARA FM version on winlink.org' + +APPDIR="${HOME}"/.local/share/applications + +#Installing wine +if [ $arch == 32 ]; then + "$DIRECTORY/manage" install-if-not-installed 'Wine (x86)' || error 'Failed to install wine' +elif [ $arch == 64 ]; then + "$DIRECTORY/manage" install-if-not-installed 'Wine (x64)' || error 'Failed to install wine' +fi + +#Configuring wineprefix for VARA programs +BOX86_NOBANNER=1 BOX64_NOBANNER=1 winetricks -q vb6run pdh_nt4 sound=alsa + +#Downloading VARA FM +VARAFMDIR=/tmp/VARAFM +mkdir -p "${VARAFMDIR}" +wget "https://downloads.winlink.org/VARA%20Products/$version" -O "${VARAFMDIR}/VARAFM-setup.zip" || error 'Failed to download VARA FM Installer from winlink.org' + +#Extracting VARA FM installer archives +unzip -o "${VARAFMDIR}/VARAFM-setup.zip" -d "${VARAFMDIR}" || error 'Failed to unzip VARA FM archive' +VARAINSTALLEREXE=$(find "${VARAFMDIR}" -type f -iname "*setup*.exe") + +#Manually installing VARA FM program files +# extracting program files from VARA FM installer +install_packages innoextract libsdl2-2.0-0 libxkbregistry0 +innoextract -d "${VARAFMDIR}" "${VARAINSTALLEREXE}" || error 'Failed to extract program files from VARA FM installer' +# finding your default wineprefix directory +if [ -z "${WINEPREFIX}" ]; then + PREFIXDIR="${HOME}"/.wine #if "WINEPREFIX=" envvar is unset or set to empty string, wineprefix location is "~/.wine" +else + PREFIXDIR="${WINEPREFIX}" #if "WINEPREFIX=" envvar was previously set, wineprefix location is "$WINEPREFIX" +fi +# moving VARA FM program files to user's default wineprefix +mkdir "${PREFIXDIR}/drive_c/VARAFM" 2>/dev/null #VARAFM folder with old settings might already exist +cp -r "${VARAFMDIR}"/app/* "${PREFIXDIR}"/drive_c/VARAFM/ || error 'Could not copy VARA program files to your wineprefix' #will not overwrite old settings +# registering VB6 OCX and DLL files with your wineprefix +BOX86_NOBANNER=1 BOX64_NOBANNER=1 WINEDEBUG=-all wine regsvr32 "${PREFIXDIR}"/drive_c/VARAFM/OCX/*.*[A-Z] /s || error 'Could not register VARA FM VB6 libraries with your wineprefix' # the lower-case OCX/DLL files don't have built-in register/unregister functions. Wine also already has an emulated psapi.dll that works fine. + +#Removing tmp files +rm -rf "${VARAFMDIR}" + +#Adding the user to the USB dialout group so that they can access radio USB CAT control later if needed +sudo usermod -a -G dialout $USER + +#Creating Desktop Entry +mkdir -p "${APPDIR}"/VARA +echo "[Desktop Entry] +Name=VARA FM +GenericName=VARA FM +Comment=VARA FM is a shareware ham radio OFDM software modem for RMS Express and other messaging clients. +Exec=env WINEPREFIX=\"${PREFIXDIR}\" WINEDEBUG=-all wine \"${PREFIXDIR}/drive_c/VARAFM/VARAFM.exe\" +Icon=$(dirname "$0")/icon-64.png +Terminal=false +StartupNotify=false +Type=Application +StartupWMClass=varafm.exe +Categories=Network;HamRadio;Utility;" > "${APPDIR}"/VARA/varafm.desktop || error 'Failed to create menu button!' +sudo rm -rf "${APPDIR}/wine/Programs/VARA FM" # remove wine's auto-generated VARA FM program icon from the start menu + +true diff --git a/apps/VARA FM/uninstall b/apps/VARA FM/uninstall new file mode 100755 index 0000000000..843a06e5c3 --- /dev/null +++ b/apps/VARA FM/uninstall @@ -0,0 +1,29 @@ +#!/bin/bash + +APPDIR="${HOME}"/.local/share/applications + +#Finding your default wineprefix directory +if [ -z "${WINEPREFIX}" ]; then + PREFIXDIR="${HOME}"/.wine #if "WINEPREFIX=" envvar is unset or set to empty string, wineprefix location is "~/.wine" +else + PREFIXDIR="${WINEPREFIX}" #if "WINEPREFIX=" envvar was previously set, wineprefix location is "$WINEPREFIX" +fi + +#Unregistering OCX/DLL files from your wineprefix if they exist +OCXDIR="${PREFIXDIR}"/drive_c/VARAFM/OCX +for ACTIVEXFILE in "${OCXDIR}/COMDLG32.OCX" "${OCXDIR}/MSCHRT20.OCX" "${OCXDIR}/MSCOMCTL.OCX" "${OCXDIR}/MSCOMM32.OCX" "${OCXDIR}/MSSTDFMT.DLL" "${OCXDIR}/MSWINSCK.OCX"; do + if [ -f "${ACTIVEXFILE}" ]; then + BOX86_NOBANNER=1 BOX64_NOBANNER=1 WINEDEBUG=-all wine regsvr32 "${PREFIXDIR}"/drive_c/VARAFM/OCX/*.*[A-Z] /u /s || warning 'Could not unregister VARA FM VB6 libraries with your wineprefix' # the lower-case OCX/DLL files don't have built-in register/unregister functions + break + fi +done + +#Removing program files (keeping any VARA.ini settings files) +mv -f "${PREFIXDIR}"/drive_c/VARAFM/VARA.ini /tmp/VARA.ini 2>/dev/null +rm -rf "${PREFIXDIR}"/drive_c/VARAFM/* 2>/dev/null || warning 'Could not remove VARA program files. If you moved VARA within Wine or made a custom wineprefix, you might have to remove VARA manually.' +mv /tmp/VARA.ini "${PREFIXDIR}"/drive_c/VARAFM/VARA.ini 2>/dev/null +rmdir "${PREFIXDIR}/drive_c/VARAFM" 2>/dev/null || true #delete directory if empty, prevent error code + +#Removing Desktop Entry +rm "${APPDIR}"/VARA/varafm.desktop 2>/dev/null || warning 'Could not remove menu button. You might need to do this manually if you moved it.' +rmdir "${APPDIR}/VARA" 2>/dev/null || true #delete directory if empty, prevent error code diff --git a/apps/VARA FM/website b/apps/VARA FM/website new file mode 100644 index 0000000000..7a2ced3875 --- /dev/null +++ b/apps/VARA FM/website @@ -0,0 +1 @@ +https://downloads.winlink.org/ From 6a033f21110a40f0c08f5a6b843a5aff3c712222 Mon Sep 17 00:00:00 2001 From: Fredrik Lundhag Date: Sun, 31 May 2026 22:22:32 +0200 Subject: [PATCH 2/3] VARA FM: Update credits (cherry picked from commit d27f0d2255aebce55632160a96f3b2ce1b09f405) --- apps/VARA FM/credits | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/VARA FM/credits b/apps/VARA FM/credits index 04451aed8e..3b1af1ce71 100644 --- a/apps/VARA FM/credits +++ b/apps/VARA FM/credits @@ -1,9 +1,9 @@ -Added to pi-apps by Eric Wiessner (KI7POL) +Added to pi-apps by Fredrik Lundhag after using VARA HF from Eric Wiessner (KI7POL) as a template. -Special thanks: Sebastien "ptitSeb" Chevalier (box86/box64), Esme "madewokherd" Povirk (wine-mono functions), -MarcoDT (Artemis, early programming encouragement), Botspot / theofficialgman (Pi-Apps Wine installer), -everyone who's helped and inspired Winelink (OH8STN, K0SWE, KD2ROS, PE1RRR, LB4PJ, K7MHI, WH6AZ, KM4ACK, KR0SIV), -Pat team (LA5NTA, K0SWE), proof-of-concept Winlink on Linux guides (K6ETA, DCJ21), ARDOP devs (KN6KB, G8BPQ, KG4JJA), +Special thanks: Sebastien "ptitSeb" Chevalier (box86/box64), Esme "madewokherd" Povirk (wine-mono functions), +MarcoDT (Artemis, early programming encouragement), Botspot / theofficialgman (Pi-Apps Wine installer), +everyone who's helped and inspired Winelink (OH8STN, K0SWE, KD2ROS, PE1RRR, LB4PJ, K7MHI, WH6AZ, KM4ACK, KR0SIV), +Pat team (LA5NTA, K0SWE), proof-of-concept Winlink on Linux guides (K6ETA, DCJ21), ARDOP devs (KN6KB, G8BPQ, KG4JJA), those who got me interested in ham radio (N7ACW, AD7HE, KK6FVG), and everyone who tries to keep ham radio open source. "My humanity is bound up in yours, for we can only be human together" - Nelson Mandela From ba276a7884a9d02fd174212d4de0c530ea90c5a0 Mon Sep 17 00:00:00 2001 From: Fredrik Lundhag Date: Sun, 31 May 2026 22:31:30 +0200 Subject: [PATCH 3/3] VARA FM: Fix exe path in description (cherry picked from commit a247b59d90c22ab0733869697fea9c36324938e6) --- apps/VARA FM/description | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/VARA FM/description b/apps/VARA FM/description index c9ec262154..a52fc51990 100644 --- a/apps/VARA FM/description +++ b/apps/VARA FM/description @@ -3,6 +3,6 @@ A shareware FM modem for amateur radio messaging. VARA modems require a messaging app (such as Pat, Winlink Express, VarAC, or VARAChat), an amateur radio transceiver, and cables to connect audio and PTT control from your Pi to the transceiver. Run from Menu: Menu -> Accessories -> VARA FM -Run from Terminal: wine "C:\VARAFM\VARA FM.exe" +Run from Terminal: wine "C:\VARAFM\VARAFM.exe" This app runs with the help of Box86/Box64 and Wine.