commit b52804078ae0d64510c35201a9a8c7f7cabecbbf Author: Manu Date: Sun May 25 19:03:26 2025 +0200 sdr++ flatpak resource files diff --git a/README.md b/README.md new file mode 100644 index 0000000..ff2762e --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +# 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/org.sdrpp.App.desktop b/org.sdrpp.App.desktop new file mode 100644 index 0000000..fe91fc9 --- /dev/null +++ b/org.sdrpp.App.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=SDR++ +Comment=SDR receiver software +Exec=sdrpp +Icon=org.sdrpp.App +Terminal=false +Type=Application +Categories=AudioVideo;HamRadio; + diff --git a/org.sdrpp.App.png b/org.sdrpp.App.png new file mode 100644 index 0000000..03cf618 Binary files /dev/null and b/org.sdrpp.App.png differ diff --git a/org.sdrpp.App.yaml b/org.sdrpp.App.yaml new file mode 100644 index 0000000..e8e0c88 --- /dev/null +++ b/org.sdrpp.App.yaml @@ -0,0 +1,96 @@ +id: org.sdrpp.App +runtime: org.kde.Platform +runtime-version: '5.15-23.08' +sdk: org.kde.Sdk +command: sdrpp +finish-args: + - --share=network + - --socket=pulseaudio + - --filesystem=home + - --device=usb + - --socket=x11 + - --device=dri +modules: + - name: fftw + buildsystem: autotools + config-opts: + - --enable-float + - --enable-shared + sources: + - 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 + - name: glfw + buildsystem: cmake + sources: + - type: git + url: https://github.com/glfw/glfw.git + commit: 7482de6071d21db77a7236155da44c172a7f6c9e + - 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 + - name: rtl-sdr + buildsystem: cmake + config-opts: + - -DINSTALL_UDEV_RULES=OFF + - -DDETACH_KERNEL_DRIVER=ON + sources: + - type: git + url: https://github.com/rtlsdrblog/rtl-sdr-blog.git + branch: v1.3.6 + - name: rtaudio + buildsystem: cmake + config-opts: + - -DRTAUDIO_API_PULSE=ON + - -DRTAUDIO_BUILD_STATIC_LIBS=OFF + - -DBUILD_SHARED_LIBS=ON + sources: + - type: git + url: https://github.com/thestk/rtaudio.git + branch: 5.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_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 + sources: + - type: git + url: https://github.com/AlexandreRouma/SDRPlusPlus.git + commit: dd9b8db6c933eb3ed51288522b746b64c79a7fcf + #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 + sources: + - type: file + path: org.sdrpp.App.desktop + - type: file + path: org.sdrpp.App.png \ No newline at end of file diff --git a/remove-stdc++fs.patch b/remove-stdc++fs.patch new file mode 100644 index 0000000..11d1a90 --- /dev/null +++ b/remove-stdc++fs.patch @@ -0,0 +1,11 @@ +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -157,7 +157,7 @@ else() + endif (NOT USE_INTERNAL_LIBCORRECT) + + if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") +- target_link_libraries(sdrpp_core PUBLIC stdc++fs) ++ target_link_libraries(sdrpp_core PUBLIC X11) + endif () + + endif () \ No newline at end of file