update and add build action

This commit is contained in:
2026-02-03 19:06:06 +09:00
parent 9b4bfbafe7
commit b0d97de260
8 changed files with 136 additions and 49 deletions

48
.github/workflows/flatpak.yml vendored Normal file
View File

@@ -0,0 +1,48 @@
name: Flatpak Build
on:
schedule:
- cron: '0 2 * * *'
workflow_dispatch:
jobs:
flatpak:
name: "Build Flatpak"
runs-on: ubuntu-latest
container:
image: ghcr.io/flathub-infra/flatpak-github-actions:freedesktop-24.08
options: --privileged
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build Flatpak
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: org.sdrpp.App.flatpak
manifest-path: org.sdrpp.App.yaml
cache-key: flatpak-builder-${{ github.sha }}
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Delete existing release
uses: dev-drprasad/delete-tag-and-release@v1.1
with:
tag_name: nightly
github_token: ${{ secrets.GITHUB_TOKEN }}
delete_release: true
continue-on-error: true
- name: Upload Release
uses: softprops/action-gh-release@v2
with:
tag_name: nightly
name: "Nightly Build (${{ steps.date.outputs.date }})"
files: org.sdrpp.App.flatpak
body: |
**Build Date:** ${{ steps.date.outputs.date }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
build-dir/
repo/
*.flatpak

View File

@@ -1,21 +0,0 @@
# SDR++ Flatpak
This project provides a simple way to install [SDR++](https://github.com/AlexandreRouma/SDRPlusPlus) in non-mutable Operating Systems such as SteamDeck's SteamOS
__WARNING: Tested only with RTL-TCP source on SteamDeck under SteamOS 3.7.x, other usages might need tweaking__
## Building
### Build binaries and dependencies
```
flatpak-builder --force-clean build-dir org.sdrpp.App.yaml --install build-dir --user
```
### Generate single file bundle
```
flatpak build-bundle repo-dir org.sdrpp.App.flatpak org.sdrpp.App
```
Double click `.flatpak` file and install with Discover

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 481 KiB

View File

@@ -1,9 +1,9 @@
[Desktop Entry]
Name=SDR++
Comment=SDR receiver software
Comment=Cross-Platform SDR Software
Exec=sdrpp
Icon=org.sdrpp.App
Terminal=false
Type=Application
Categories=AudioVideo;HamRadio;
Categories=Audio;HamRadio;
Keywords=sdr;radio;rtl-sdr;hackrf;airspy;

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>org.sdrpp.App</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license>
<name>SDR++</name>
<developer_name>Alexandre Rouma</developer_name>
<summary>The bloat-free SDR software</summary>
<description>
<p>
SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.
</p>
<p>
Features:
</p>
<ul>
<li>Wide hardware support (both through SoapySDR and dedicated modules)</li>
<li>SIMD accelerated DSP</li>
<li>Full waterfall update when possible. Makes browsing signals easier and more pleasant</li>
</ul>
</description>
<!--
<screenshots>
<screenshot type="default">
<image>https://</image>
</screenshot>
</screenshots>
-->
<url type="homepage">https://www.sdrpp.org</url>
<url type="bugtracker">https://github.com/AlexandreRouma/SDRPlusPlus/issues</url>
<provides>
<binary>sdrpp</binary>
</provides>
<content_rating type="oars-1.1"/>
<launchable type="desktop-id">org.sdrpp.App.desktop</launchable>
</component>

View File

@@ -1,15 +1,17 @@
id: org.sdrpp.App
runtime: org.kde.Platform
runtime-version: '5.15-23.08'
sdk: org.kde.Sdk
runtime: org.freedesktop.Platform
runtime-version: '24.08'
sdk: org.freedesktop.Sdk
command: sdrpp
finish-args:
- --share=network
- --share=ipc
- --socket=wayland
- --socket=fallback-x11
- --socket=pulseaudio
- --filesystem=home
- --device=usb
- --socket=x11
- --device=dri
modules:
- name: fftw
buildsystem: autotools
@@ -20,24 +22,32 @@ modules:
- type: archive
url: http://www.fftw.org/fftw-3.3.10.tar.gz
sha256: 56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467
- name: volk
buildsystem: cmake
sources:
- type: git
url: https://github.com/gnuradio/volk.git
commit: 07c1952cd642897af70b6f8bbfeee3a14f54f525
tag: v3.2.0
- name: glfw
buildsystem: cmake
config-opts:
- -DGLFW_BUILD_WAYLAND=ON
- -DGLFW_BUILD_X11=ON
- -DBUILD_SHARED_LIBS=ON
sources:
- type: git
url: https://github.com/glfw/glfw.git
commit: 7482de6071d21db77a7236155da44c172a7f6c9e
tag: '3.4'
- name: libusb
buildsystem: autotools
sources:
- type: archive
url: https://github.com/libusb/libusb/releases/download/v1.0.28/libusb-1.0.28.tar.bz2
sha256: 966bb0d231f94a474eaae2e67da5ec844d3527a1f386456394ff432580634b29
url: https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.tar.bz2
sha256: ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575
- name: rtl-sdr
buildsystem: cmake
config-opts:
@@ -46,7 +56,8 @@ modules:
sources:
- type: git
url: https://github.com/rtlsdrblog/rtl-sdr-blog.git
branch: v1.3.6
tag: v1.3.6
- name: rtaudio
buildsystem: cmake
config-opts:
@@ -56,41 +67,51 @@ modules:
sources:
- type: git
url: https://github.com/thestk/rtaudio.git
branch: 5.2.0
tag: '6.0.1'
- name: codec2
buildsystem: cmake
builddir: true
config-opts:
- -DBUILD_SHARED_LIBS=ON
sources:
- type: git
url: https://github.com/drowe67/codec2.git
tag: '1.2.0'
- name: sdrpp
buildsystem: cmake
build-args: "--socket=x11"
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DUSE_SYSTEM_FFTW=ON
- -DUSE_SYSTEM_VOLK=ON
- -DUSE_SYSTEM_GLFW=ON
- -DOPT_BUILD_RTL_TCP_SOURCE=ON
- -DOPT_BUILD_RTL_SDR_SOURCE=OFF
- -DOPT_BUILD_RTL_SDR_SOURCE=ON
- -DOPT_BUILD_AIRSPY_SOURCE=OFF
- -DOPT_BUILD_AIRSPYHF_SOURCE=OFF
- -DOPT_BUILD_HACKRF_SOURCE=OFF
- -DOPT_BUILD_SOAPY_SOURCE=OFF
- -DOPT_BUILD_PLUTOSDR_SOURCE=OFF
build-options:
append-ldflags:
- -lX11
append-cxxflags:
- -I/usr/include
- -DOPT_BUILD_BLADERF_SOURCE=OFF
- -DOPT_BUILD_M17_DECODER=ON
sources:
- type: git
url: https://github.com/AlexandreRouma/SDRPlusPlus.git
commit: dd9b8db6c933eb3ed51288522b746b64c79a7fcf
#branch: master
- type: patch
path: remove-stdc++fs.patch
- type: git
url: https://github.com/AlexandreRouma/SDRPlusPlus.git
branch: master
- type: patch
path: remove-stdc++fs.patch
- name: sdrpp-desktop
buildsystem: simple
build-commands:
- install -D org.sdrpp.App.desktop /app/share/applications/org.sdrpp.App.desktop
- install -D org.sdrpp.App.png /app/share/icons/hicolor/256x256/apps/org.sdrpp.App.png
- install -D org.sdrpp.App.metainfo.xml /app/share/metainfo/org.sdrpp.App.metainfo.xml
sources:
- type: file
path: org.sdrpp.App.desktop
- type: file
path: org.sdrpp.App.png
path: org.sdrpp.App.png
- type: file
path: org.sdrpp.App.metainfo.xml