Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
c7581c2
Bump CMake minimum to 3.16 as required by Qt6
artizirk Apr 6, 2025
9e396af
Merge pull request #853 from artizirk/bump_cmake_minimum_required_ver…
AlbrechtL Apr 6, 2025
42331cc
Missing function declaration
fridrich May 7, 2025
14d6b7b
Option to build against fdk-aac rather then faad2
fridrich May 7, 2025
31a889b
Merge pull request #856 from fridrich/master
AlbrechtL May 13, 2025
e98ddd4
Allow specifying alsa PCM device other then default
fridrich Dec 10, 2024
26b912f
Try to recover from all ALSA errors that we can
fridrich Dec 10, 2024
31aa0c8
First approach to build libwelle library (static first)
fridrich Nov 15, 2024
27d620b
Allow configuring libwelle as shared library to be installed
fridrich Nov 15, 2024
4a68e10
Merge pull request #858 from fridrich/library
AlbrechtL Jun 5, 2025
5a758be
Simplify the checks for faad2 and/or fdk-aac and fail early if not found
fridrich Jun 12, 2025
8764f9d
Merge pull request #860 from fridrich/aac
AlbrechtL Jun 16, 2025
69cd437
Merge pull request #857 from fridrich/pcmdevice
mpbraendli Jun 17, 2025
ca0fb21
Allow chosing the service by its ID
fridrich Jun 17, 2025
a1c371f
Clean up duplicate std:: prefixes We already have "using namespace st…
fridrich Jun 17, 2025
6c066fd
Merge pull request #862 from fridrich/serviceid
mpbraendli Jun 17, 2025
3017b68
Tune by service id: cleanup and simplification
fridrich Jun 17, 2025
e1ae31d
Make the parsing of the service_to_tune_id more robust
fridrich Jun 18, 2025
582fc68
Merge pull request #863 from fridrich/serviceid
mpbraendli Jun 25, 2025
c528a25
Bump actions/checkout from 4 to 5
dependabot[bot] Aug 18, 2025
27a6379
Merge pull request #874 from AlbrechtL/dependabot/github_actions/next…
AlbrechtL Aug 19, 2025
ae869e7
Bump signpath/github-action-submit-signing-request from 1 to 2
dependabot[bot] Oct 27, 2025
73f2067
Bump actions/upload-artifact from 4 to 5
dependabot[bot] Oct 27, 2025
c5a376f
Merge pull request #876 from AlbrechtL/dependabot/github_actions/next…
AlbrechtL Nov 2, 2025
e1359a3
Merge pull request #877 from AlbrechtL/dependabot/github_actions/next…
AlbrechtL Nov 2, 2025
47d9f4b
Bump actions/checkout from 5 to 6
dependabot[bot] Nov 24, 2025
726e2bc
Merge pull request #880 from AlbrechtL/dependabot/github_actions/next…
AlbrechtL Nov 25, 2025
8e17abf
Bump actions/upload-artifact from 5 to 6
dependabot[bot] Dec 15, 2025
35bc2bb
Merge pull request #881 from AlbrechtL/dependabot/github_actions/next…
AlbrechtL Dec 25, 2025
9e2792d
Mirror from https://github.com/flathub/io.welle.welle-gui/pull/4. Up…
AlbrechtL Dec 28, 2025
24d5d52
Add flathub shared modules
AlbrechtL Dec 28, 2025
b3b57be
Fix usage of current source code for flatpak build
AlbrechtL Dec 28, 2025
cf3ada6
Add url to m3u playlist items
meeusen Dec 27, 2025
ed3408d
Add trailing / to Referer if needed
meeusen Dec 28, 2025
57a200c
Add HackRF support. Backport from https://github.com/flathub/io.wel…
AlbrechtL Dec 29, 2025
3ec10d4
Bump to Qt 6.10.1 in Windows build
AlbrechtL Dec 29, 2025
d595719
Rename appdata to metainfo
AsciiWolf Dec 29, 2025
b03fae5
Specify the Flatpak modules libdir
AsciiWolf Dec 29, 2025
df7a2ec
Merge pull request #888 from AsciiWolf/metainfo
AlbrechtL Dec 30, 2025
6f62035
Merge pull request #889 from AsciiWolf/flatpak-fix
AlbrechtL Dec 30, 2025
6237454
Fix the CI
AsciiWolf Dec 30, 2025
f8856a1
Merge pull request #890 from AsciiWolf/ci-fix
AlbrechtL Dec 30, 2025
1c4c76f
Specify the Flatpak libdir for SoapySDR modules
AsciiWolf Dec 30, 2025
e6ca3dd
Merge pull request #891 from AsciiWolf/flatpak-fix-2
AlbrechtL Dec 30, 2025
f151f43
Update SoapyRemote
AsciiWolf Jan 3, 2026
85ab03c
Merge pull request #892 from AsciiWolf/patch-1
AlbrechtL Jan 6, 2026
65ec2a2
Merge pull request #885 from meeusen/add-url-to-playlist
mpbraendli Jan 13, 2026
acca06f
Update HackRF
AsciiWolf Jan 14, 2026
dbeb328
Merge pull request #898 from AsciiWolf/patch-1
AlbrechtL Jan 25, 2026
767c1fa
Update HackRF
AsciiWolf Feb 3, 2026
9a5359c
Merge pull request #899 from AsciiWolf/patch-1
AlbrechtL Feb 4, 2026
ac4ba1b
android: auto-sign debug APK in build script
Feb 22, 2026
7f82833
android: document Qt 6.5.3 build and improve tooling
Feb 22, 2026
eb54dfd
chore: ignore Android build artifacts
Feb 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- run: git fetch --prune --unshallow --tags

Expand Down Expand Up @@ -364,31 +364,31 @@ jobs:

- name: Archive artifacts (welle.io apk)
if: always() && steps.build_apk.outcome == 'success'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: welle.io apk (for all android abi)
path: build/android-build/build/outputs/apk/*/*.apk
if-no-files-found: error

- name: Archive artifacts (welle.io apk built by qmake)
if: always() && steps.build_apk_qmake.outcome == 'success'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: welle.io apk built by qmake (arm64-v8a only)
path: qmake-build/src/welle-gui/android-build/build/outputs/apk/debug/android-build-debug.apk
if-no-files-found: error

- name: Archive artifacts (welle.io build dir)
if: always() && steps.build_apk.outcome == 'failure'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: welle.io build dir
path: build/*
if-no-files-found: error

- name: Archive artifacts (welle.io qmake-build dir)
if: always() && steps.build_apk_qmake.outcome == 'failure'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: welle.io qmake-build dir
path: qmake-build/*
Expand Down
21 changes: 12 additions & 9 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- run: git fetch --prune --unshallow --tags

Expand All @@ -44,17 +44,20 @@ jobs:

- name: Prepare flatpak build
run: |
# Add current build date into appdata.xml
# Add shared modules
git submodule add https://github.com/flathub/shared-modules.git

# Add current build date into metainfo.xml
APPDATA_DATE=`date +%Y-%m-%d`
sed -i 's/date="1970-01-01"/'date=\""$APPDATA_DATE"\"'/g' io.welle.welle-gui.appdata.xml
sed -i 's/date="1970-01-01"/'date=\""$APPDATA_DATE"\"'/g' io.welle.welle-gui.metainfo.xml

# Add githash into appdata.xml
# Add githash into metainfo.xml
#APPDATA_DATE_VERSION="2.7-unstable-$GIT_HASH"
APPDATA_DATE_VERSION="2.7-$GIT_HASH"
sed -i 's/version="0.0.0"/'version=\""$APPDATA_DATE_VERSION"\"'/g' io.welle.welle-gui.appdata.xml
sed -i 's/version="0.0.0"/'version=\""$APPDATA_DATE_VERSION"\"'/g' io.welle.welle-gui.metainfo.xml

# Check if file "io.welle.welle-gui.appdata.xml" is valid
flatpak run --command=flatpak-builder-lint org.flatpak.Builder appstream io.welle.welle-gui.appdata.xml
# Check if file "io.welle.welle-gui.metainfo.xml" is valid
flatpak run --command=flatpak-builder-lint org.flatpak.Builder appstream io.welle.welle-gui.metainfo.xml

- name: Build
id: build
Expand All @@ -77,7 +80,7 @@ jobs:
# Prepare publish
mkdir publish
mv welle-io.flatpak publish/"$DATE"_"$GIT_HASH"_Linux_welle_"$ARCH_SUFFIX".flatpak
#cp io.welle.welle-gui.appdata.xml publish/
#cp io.welle.welle-gui.metainfo.xml publish/

- name: Check flathub eligibility
continue-on-error: true
Expand All @@ -86,7 +89,7 @@ jobs:
flatpak run --command=flatpak-builder-lint org.flatpak.Builder repo repo

- name: Archive artifacts (welle.io Flatpak)
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: welle.io Flatpak (${{ env.ARCH_SUFFIX }})
path: publish/*
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/raspberrypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- run: git fetch --prune --unshallow --tags

Expand All @@ -40,7 +40,7 @@ jobs:

- name: Archive artifacts (welle.io build dir)
if: always() && steps.build.outcome == 'failure'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: welle.io build dir
path: build/*
Expand Down
15 changes: 7 additions & 8 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,12 @@ jobs:
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.8.1'
version: '6.10.1'
modules: 'qtcharts qtmultimedia qt5compat qtshadertools'
arch: 'win64_mingw'
tools: 'tools_mingw1310'
aqtversion: '==3.1.19' # See https://github.com/jurplel/install-qt-action/issues/270
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- run: git fetch --prune --unshallow --tags

Expand Down Expand Up @@ -84,15 +83,15 @@ jobs:

- name: Archive artifacts (welle.io Windows installer)
id: upload_artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: welle.io Windows installer
path: to_publish\*.exe
if-no-files-found: error

- name: Sign installer with self-signed certificate with SignPath
id: signing_installer
uses: signpath/github-action-submit-signing-request@v1
uses: signpath/github-action-submit-signing-request@v2
with:
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
organization-id: 'b7a507e8-ab76-445f-bfb5-05944bcbbee9'
Expand All @@ -104,7 +103,7 @@ jobs:

- name: Archive artifacts (welle.io Windows installer signed)
id: upload_artifact_self_signed
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: welle.io Windows installer self-signed
path: publish\*.exe
Expand All @@ -121,7 +120,7 @@ jobs:

- name: Production sign installer with SignPath
id: production_signing_installer
uses: signpath/github-action-submit-signing-request@v1
uses: signpath/github-action-submit-signing-request@v2

# Production signing needs a manual step in SignPath within 5 minutes.
# During development we don't need each build signed with a production key.
Expand All @@ -139,7 +138,7 @@ jobs:

- name: Archive artifacts (welle.io Windows installer signed)
id: upload_artifact_production_signed
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
if: always() && steps.production_signing_installer.outcome == 'success'
with:
name: welle.io Windows installer production-signed
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,9 @@ welle.io.pro.user
cmake_install.cmake
cmake_uninstall.cmake
install_manifest.txt

# Android build artifacts
/build-android-arm64/
/dist/
/aqtinstall.log
/LOG.md
76 changes: 76 additions & 0 deletions BUILDING_ANDROID.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Building welle.io for Android (Qt 6.5.3)

This document describes the known-good setup to build the Android APK with Qt 6.5.3.

## Requirements

- Qt **6.5.3**
- Android SDK/NDK (tested with NDK r27)
- JDK 17

### Required Qt modules

Install these Qt 6.5.3 modules for **both** `desktop` and `android_arm64_v8a`:

- `qtcharts`
- `qtmultimedia`
- `qtconnectivity`
- `qtpositioning`
- `qtserialport`

> Note: the Android build currently targets `arm64-v8a`.

## Environment

Set the following environment variables (examples use the local Qt install at `~/qt-cli/6.5.3`):

```bash
export ANDROID_SDK_ROOT="$HOME/Android/Sdk"
export ANDROID_HOME="$HOME/Android/Sdk"

export QT_ANDROID_PREFIX_ARM64="$HOME/qt-cli/6.5.3/android_arm64_v8a"
export QT_HOST_PATH="$HOME/qt-cli/6.5.3/gcc_64"
export QT_CMAKE_BIN="$QT_HOST_PATH/bin/qt-cmake"
```

## Install Qt modules (aqtinstall)

If you used `aqtinstall` to install Qt:

```bash
python3 -m venv ~/.venvs/aqt
~/.venvs/aqt/bin/pip install -U pip aqtinstall

~/.venvs/aqt/bin/aqt install-qt linux desktop 6.5.3 gcc_64 \
-m qtcharts qtmultimedia qtconnectivity qtpositioning qtserialport \
--outputdir ~/qt-cli

~/.venvs/aqt/bin/aqt install-qt linux android 6.5.3 android_arm64_v8a \
-m qtcharts qtmultimedia qtconnectivity qtpositioning qtserialport \
--outputdir ~/qt-cli
```

## Build steps

From the repo root:

```bash
QT_ANDROID_PREFIX_ARM64="$HOME/qt-cli/6.5.3/android_arm64_v8a" \
QT_HOST_PATH="$HOME/qt-cli/6.5.3/gcc_64" \
QT_CMAKE_BIN="$HOME/qt-cli/6.5.3/gcc_64/bin/qt-cmake" \
./tools/android/build.sh
```

The APK is written to:

```
./dist/welle-io-arm64-v8a.apk
```

If a debug keystore exists at `~/.android/debug.keystore`, the script will sign the APK for local install convenience.

## Install to device

```bash
adb install -r dist/welle-io-arm64-v8a.apk
```
Loading