diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml new file mode 100644 index 0000000..3db871e --- /dev/null +++ b/.github/workflows/flatpak.yml @@ -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 }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c3cb5e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +build-dir/ +repo/ +*.flatpak diff --git a/README.md b/README.md deleted file mode 100644 index ff2762e..0000000 --- a/README.md +++ /dev/null @@ -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 \ No newline at end of file diff --git a/assets/capsule.png b/assets/capsule.png deleted file mode 100644 index 50a3371..0000000 Binary files a/assets/capsule.png and /dev/null differ diff --git a/assets/cover.png b/assets/cover.png deleted file mode 100644 index e0a1edd..0000000 Binary files a/assets/cover.png and /dev/null differ diff --git a/org.sdrpp.App.desktop b/org.sdrpp.App.desktop index fe91fc9..475b24f 100644 --- a/org.sdrpp.App.desktop +++ b/org.sdrpp.App.desktop @@ -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; diff --git a/org.sdrpp.App.metainfo.xml b/org.sdrpp.App.metainfo.xml new file mode 100644 index 0000000..7f9240a --- /dev/null +++ b/org.sdrpp.App.metainfo.xml @@ -0,0 +1,36 @@ + + + org.sdrpp.App + CC0-1.0 + GPL-3.0-or-later + SDR++ + Alexandre Rouma + The bloat-free SDR software + +

+ SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use. +

+

+ Features: +

+ +
+ + https://www.sdrpp.org + https://github.com/AlexandreRouma/SDRPlusPlus/issues + + sdrpp + + + org.sdrpp.App.desktop +
diff --git a/org.sdrpp.App.yaml b/org.sdrpp.App.yaml index e8e0c88..177259a 100644 --- a/org.sdrpp.App.yaml +++ b/org.sdrpp.App.yaml @@ -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 \ No newline at end of file + path: org.sdrpp.App.png + - type: file + path: org.sdrpp.App.metainfo.xml