mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-12-23 10:05:46 -05:00
593 lines
18 KiB
YAML
593 lines
18 KiB
YAML
# Tested with snapcraft 8.0.4
|
|
#
|
|
# To install snapcraft on Ubuntu assuming snap is already installed:
|
|
#
|
|
# sudo snap install snapcraft
|
|
#
|
|
# To build (in sdrangel directory):
|
|
#
|
|
# snapcraft
|
|
#
|
|
# To install sdrangel local snap:
|
|
#
|
|
# sudo snap install sdrangel_7.19.0_amd64.snap --dangerous
|
|
#
|
|
# Users appear to need to grant h/w access manually from command line with:
|
|
#
|
|
# sudo snap connect sdrangel:raw-usb
|
|
# sudo snap connect sdrangel:hardware-observe
|
|
# sudo snap connect sdrangel:camera
|
|
# sudo snap connect sdrangel:alsa
|
|
# sudo snap connect sdrangel:audio-record
|
|
# sudo snap connect sdrangel:pulseaudio
|
|
# sudo snap connect sdrangel:joystick
|
|
# sudo snap connect sdrangel:removable-media
|
|
# sudo snap connect sdrangel:network-manager
|
|
# sudo snap connect sdrangel:location-observe (This doesn't seem to be supported)
|
|
# sudo snap connect sdrangel:jack1
|
|
# sudo snap connect sdrangel:avahi-control
|
|
#
|
|
# To uninstall:
|
|
#
|
|
# sudo snap remove sdrangel
|
|
#
|
|
# We can clean and build a specific package, and then open a shell after the build in the snap filesystem, with:
|
|
#
|
|
# snapcraft clean uhd
|
|
# snapcraft stage uhd --shell-after
|
|
#
|
|
|
|
name: sdrangel
|
|
base: core22
|
|
type: app
|
|
version: "7.19.0"
|
|
summary: SDRangel
|
|
description: SDRangel is an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware. SSE 4.2 required.
|
|
confinement: strict
|
|
grade: stable
|
|
license: GPL-3.0
|
|
issues: https://github.com/f4exb/sdrangel/issues
|
|
source-code: https://github.com/f4exb/sdrangel
|
|
website: https://www.sdrangel.org/
|
|
icon: cmake/cpack/sdrangel_icon.svg
|
|
|
|
apps:
|
|
sdrangel:
|
|
command: bin/sdrangel_wrapper.sh
|
|
desktop: opt/install/sdrangel/share/applications/sdrangel.desktop
|
|
plugs:
|
|
- network
|
|
- network-bind
|
|
- network-manager
|
|
- desktop
|
|
- desktop-legacy
|
|
- wayland
|
|
- home
|
|
- unity7
|
|
- opengl
|
|
- raw-usb
|
|
- hardware-observe
|
|
- audio-playback
|
|
- audio-record
|
|
- joystick
|
|
- camera
|
|
- browser-support
|
|
- pulseaudio
|
|
- alsa
|
|
- jack1
|
|
- removable-media
|
|
- gsettings
|
|
- location-observe
|
|
- serial-port
|
|
- avahi-control
|
|
environment:
|
|
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/opt/install/sdrangel/lib/sdrangel:$SNAP/opt/install/sdrangel/lib:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/blas:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/lapack
|
|
# Can't currently use kde-neon, as it doesn't include Qt Charts, Gamepad or TextToSpeech
|
|
#extensions:
|
|
# - kde-neon
|
|
|
|
sdrangelsrv:
|
|
command: opt/install/sdrangel/bin/sdrangelsrv
|
|
plugs:
|
|
- network
|
|
- network-bind
|
|
- network-manager
|
|
- home
|
|
- raw-usb
|
|
- hardware-observe
|
|
- removable-media
|
|
environment:
|
|
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/opt/install/sdrangel/lib/sdrangel
|
|
|
|
|
|
layout:
|
|
/usr/lib/x86_64-linux-gnu/qt5:
|
|
bind: $SNAP/usr/lib/x86_64-linux-gnu/qt5
|
|
/usr/share/qt5:
|
|
bind: $SNAP/usr/share/qt5
|
|
|
|
parts:
|
|
|
|
iconpath:
|
|
after:
|
|
- sdrangel
|
|
plugin: nil
|
|
override-prime: |
|
|
sed -i.bak -e 's|Icon=sdrangel_icon|Icon=/opt/install/sdrangel/share/icons/hicolor/scalable/apps/sdrangel_icon.svg|g' $SNAPCRAFT_PRIME/opt/install/sdrangel/share/applications/sdrangel.desktop
|
|
|
|
cleanup:
|
|
after:
|
|
- sdrangel
|
|
plugin: nil
|
|
build-snaps: # List all content-snaps and base snaps you're using here
|
|
- core22
|
|
#- kde-frameworks-5-102-qt-5-15-8-core22
|
|
override-prime: |
|
|
set -eux
|
|
for snap in "core22" ; do # List all content-snaps and base snaps you're using here
|
|
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$SNAPCRAFT_PRIME/{}" \;
|
|
done
|
|
|
|
launcher:
|
|
plugin: dump
|
|
source: snap/local
|
|
organize:
|
|
sdrangel_wrapper.sh: bin/
|
|
locale-gen: bin/
|
|
|
|
sdrangel:
|
|
plugin: cmake
|
|
source: https://github.com/f4exb/sdrangel
|
|
source-type: git
|
|
source-tag: v7.19.0
|
|
after: [apt, libdab, mbelib, serialdv, dsdcc, codec2, sgp4, cm265cc, libsigmf, airspy, rtlsdr, pluto, bladerf, hackrf, limesuite, airspyhf, uhd, uhdfpga, soapysdr, soapyremote]
|
|
cmake-parameters:
|
|
- -DDEBUG_OUTPUT=OFF
|
|
- -DBUILD_TYPE=RELEASE
|
|
- -DRX_SAMPLE_24BIT=ON
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
- -DMIRISDR_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DAIRSPY_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DAIRSPYHF_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DBLADERF_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DHACKRF_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DRTLSDR_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DLIMESUITE_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DIIO_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DPERSEUS_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DXTRX_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DSOAPYSDR_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DUHD_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DAPT_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DCM256CC_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DDSDCC_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DSERIALDV_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DMBE_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DCODEC2_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DSGP4_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DLIBSIGMF_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
- -DDAB_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
#- -DQt5_DIR=/usr/lib/x86_64-linux-gnu/cmake/Qt5
|
|
build-packages:
|
|
- libfftw3-dev
|
|
- libusb-1.0-0-dev
|
|
- libusb-dev
|
|
- libhidapi-dev
|
|
- qtbase5-dev
|
|
- qtchooser
|
|
- qtmultimedia5-dev
|
|
- libqt5websockets5-dev
|
|
- qttools5-dev
|
|
- qttools5-dev-tools
|
|
- libqt5opengl5-dev
|
|
- libqt5quick5
|
|
- libqt5serialport5-dev
|
|
- qtdeclarative5-dev
|
|
- qtpositioning5-dev
|
|
- qtlocation5-dev
|
|
- qtwebengine5-dev
|
|
- qtbase5-private-dev
|
|
- libqt5svg5-dev
|
|
- libqt5charts5-dev
|
|
- libqt5texttospeech5-dev
|
|
- libqt5gamepad5-dev
|
|
- libfaad-dev
|
|
- zlib1g-dev
|
|
- libboost-all-dev
|
|
- libasound2-dev
|
|
- pulseaudio
|
|
- libopencv-dev
|
|
- libxml2-dev
|
|
- bison
|
|
- flex
|
|
- ffmpeg
|
|
- libavcodec-dev
|
|
- libavformat-dev
|
|
- libopus-dev
|
|
- doxygen
|
|
- graphviz
|
|
stage-packages:
|
|
- libgl1-mesa-dri
|
|
- libgl1-mesa-glx
|
|
- libqt5core5a
|
|
- libqt5gui5
|
|
- libqt5network5
|
|
- libqt5widgets5
|
|
- libqt5multimedia5
|
|
- libqt5multimedia5-plugins
|
|
- libqt5positioning5
|
|
- libqt5positioning5-plugins
|
|
- libqt5location5
|
|
- libqt5location5-plugins
|
|
- libqt5location5-plugin-mapboxgl
|
|
- libqt5websockets5
|
|
- libqt5qml5
|
|
- libqt5quick5
|
|
- libqt5quickwidgets5
|
|
- libqt5printsupport5
|
|
- libqt5webchannel5
|
|
- libqt5webenginecore5
|
|
- libqt5webenginewidgets5
|
|
- libqt5serialport5
|
|
- libqt5charts5
|
|
- libqt5texttospeech5
|
|
- libqt5gamepad5
|
|
- libqt5dbus5
|
|
- libqt5sql5
|
|
- libqt5sql5-mysql
|
|
- libqt5sql5-sqlite
|
|
- libqt5svg5
|
|
- qml-module-qtlocation
|
|
- qml-module-qtpositioning
|
|
- qml-module-qtquick-window2
|
|
- qml-module-qtquick-dialogs
|
|
- qml-module-qtquick-controls
|
|
- qml-module-qtquick-controls2
|
|
- qml-module-qtquick-layouts
|
|
- libgraphite2-3
|
|
- libpcre2-16-0
|
|
- libicu70
|
|
- libxcb1
|
|
- libharfbuzz0b
|
|
- libx11-6
|
|
- libxau6
|
|
- libglx0
|
|
- libmd4c0
|
|
- libusb-1.0-0
|
|
- libfaad2
|
|
- libfftw3-single3
|
|
- libhidapi-libusb0
|
|
- libasyncns0
|
|
- libogg0
|
|
- libopus0
|
|
- libpulse0
|
|
- libsndfile1
|
|
- libvorbis0a
|
|
- libvorbisenc2
|
|
- ocl-icd-libopencl1
|
|
- libaom3
|
|
- libavcodec58
|
|
- libavformat58
|
|
- libavutil56
|
|
- libbluray2
|
|
- libcairo-gobject2
|
|
- libcairo2
|
|
- libchromaprint1
|
|
- libdatrie1
|
|
- libdav1d5
|
|
- libfribidi0
|
|
- libgme0
|
|
- libgomp1
|
|
- libgsm1
|
|
- libmfx1
|
|
- libmp3lame0
|
|
- libmpg123-0
|
|
- libnorm1
|
|
- libopenjp2-7
|
|
- libopenmpt0
|
|
- libpangoft2-1.0-0
|
|
- libpgm-5.3-0
|
|
- libpixman-1-0
|
|
- librabbitmq4
|
|
- librsvg2-2
|
|
- librsvg2-2
|
|
- libtheora0
|
|
- libswresample3
|
|
- libsrt1.4-gnutls
|
|
- libtwolame0
|
|
- libva-drm2
|
|
- libva-x11-2
|
|
- libva2
|
|
- libvdpau1
|
|
- libwebp7
|
|
- libswscale5
|
|
- libxcomposite1
|
|
- libxdamage1
|
|
- libxrandr2
|
|
- libxtst6
|
|
- libasound2
|
|
- libevent-2.1-7
|
|
- liblcms2-2
|
|
- libminizip1
|
|
- libnspr4
|
|
- libnss3
|
|
- libnspr4
|
|
- libnspr4
|
|
- libre2-9
|
|
- libwebpdemux2
|
|
- libxslt1.1
|
|
- libxdamage1
|
|
- libxrandr2
|
|
- libxtst6
|
|
- libminizip1
|
|
- libwebpdemux2
|
|
- libarmadillo10
|
|
- libhdf4-0-alt
|
|
- libgdal30
|
|
- libhdf4-0-alt
|
|
- libogdi4.1
|
|
- libilmbase25
|
|
- libopenexr25
|
|
- libaec0
|
|
- libarpack2
|
|
- libcfitsio9
|
|
- libcharls2
|
|
- libcurl3-gnutls
|
|
- libcurl4
|
|
- libdc1394-25
|
|
- libde265-0
|
|
- libdw1
|
|
- libexif12
|
|
- libfreexl1
|
|
- libfyba0
|
|
- libgdcm3.0
|
|
- libgeos3.10.2
|
|
- libgeos-c1v5
|
|
- libgeotiff5
|
|
- libgfortran5
|
|
- libgif7
|
|
- libgphoto2-6
|
|
- libgphoto2-port12
|
|
- libgstreamer-plugins-base1.0-0
|
|
- libgstreamer1.0-0
|
|
- libhdf5-103-1
|
|
- libhdf5-hl-100
|
|
- libheif1
|
|
- libkmlbase1
|
|
- libkmldom1
|
|
- libkmlengine1
|
|
- liblapack3
|
|
- libldap-2.5-0
|
|
- liblcms2-2
|
|
- libltdl7
|
|
- libminizip1
|
|
- libmysqlclient21
|
|
- libnetcdf19
|
|
- libnghttp2-14
|
|
- libodbcinst2
|
|
- libopencv-core4.5d
|
|
- libopencv-imgcodecs4.5d
|
|
- libopencv-imgproc4.5d
|
|
- libopencv-videoio4.5d
|
|
- libpoppler118
|
|
- libproj22
|
|
- libpq5
|
|
- libpsl5
|
|
- libqhull-r8.0
|
|
- libquadmath0
|
|
- libraw1394-11
|
|
- librtmp1
|
|
- librttopo1
|
|
- libsasl2-2
|
|
- libspatialite7
|
|
- libsuperlu5
|
|
- libswscale5
|
|
- libsz2
|
|
- libtbb2
|
|
- libunwind8
|
|
- liburiparser1
|
|
- libilmbase25
|
|
- libboost-chrono1.74.0
|
|
- libboost-filesystem1.74.0
|
|
- libboost-serialization1.74.0
|
|
- libboost-thread1.74.0
|
|
- libboost-program-options1.74.0
|
|
- libboost-test1.74.0
|
|
- libnotify-bin
|
|
|
|
apt:
|
|
plugin: cmake
|
|
source: https://github.com/srcejon/aptdec.git
|
|
source-type: git
|
|
source-branch: libaptdec
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
libdab:
|
|
plugin: cmake
|
|
source: https://github.com/srcejon/dab-cmdline
|
|
source-type: git
|
|
source-branch: msvc
|
|
source-subdir: library
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
mbelib:
|
|
plugin: cmake
|
|
source: https://github.com/szechyjs/mbelib.git
|
|
source-type: git
|
|
source-commit: fe83b32c6a60cdd7bce8cecf3c7a0b9ec87a7667
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
serialdv:
|
|
plugin: cmake
|
|
source: https://github.com/f4exb/serialDV.git
|
|
source-type: git
|
|
source-tag: v1.1.4
|
|
cmake-parameters:
|
|
- -DCMAKE_CXX_FLAGS="-std=c++11"
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
dsdcc:
|
|
plugin: cmake
|
|
source: https://github.com/f4exb/dsdcc.git
|
|
source-type: git
|
|
source-tag: v1.9.5
|
|
after: [mbelib, serialdv]
|
|
cmake-parameters:
|
|
- -DUSE_MBELIB=ON
|
|
- -DCMAKE_CXX_FLAGS="-std=c++11"
|
|
- -DCMAKE_INSTALL_PREFIX=/usr
|
|
- -DLIBMBE_INCLUDE_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel/include
|
|
- -DLIBMBE_LIBRARY=$SNAPCRAFT_STAGE/opt/install/sdrangel/lib/libmbe.so
|
|
- -DLIBSERIALDV_INCLUDE_DIR=$SNAPCRAFT_STAGE/opt/install/sdrangel/include/serialdv
|
|
- -DLIBSERIALDV_LIBRARY=$SNAPCRAFT_STAGE/opt/install/sdrangel/lib/libserialdv.so
|
|
|
|
codec2:
|
|
plugin: cmake
|
|
source: https://github.com/drowe67/codec2-dev.git
|
|
source-type: git
|
|
source-tag: v1.0.3
|
|
build-packages:
|
|
- libspeexdsp-dev
|
|
- libsamplerate0-dev
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
sgp4:
|
|
plugin: cmake
|
|
source: https://github.com/dnwrnr/sgp4.git
|
|
source-type: git
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
cm265cc:
|
|
plugin: cmake
|
|
source: https://github.com/f4exb/cm256cc.git
|
|
source-type: git
|
|
source-commit: c0e92b92aca3d1d36c990b642b937c64d363c559
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
libsigmf:
|
|
plugin: cmake
|
|
source: https://github.com/f4exb/libsigmf.git
|
|
source-type: git
|
|
source-branch: new-namespaces
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
airspy:
|
|
plugin: cmake
|
|
source: https://github.com/airspy/airspyone_host.git
|
|
source-type: git
|
|
source-commit: 37c768ce9997b32e7328eb48972a7fda0a1f8554
|
|
build-packages:
|
|
- libusb-1.0-0-dev
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
rtlsdr:
|
|
plugin: cmake
|
|
source: https://github.com/osmocom/rtl-sdr.git
|
|
source-type: git
|
|
source-commit: 420086af84d7eaaf98ff948cd11fea2cae71734a
|
|
build-packages:
|
|
- libusb-1.0-0-dev
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
pluto:
|
|
plugin: cmake
|
|
source: https://github.com/analogdevicesinc/libiio.git
|
|
source-type: git
|
|
source-tag: v0.21
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
bladerf:
|
|
plugin: cmake
|
|
source: https://github.com/Nuand/bladeRF.git
|
|
source-type: git
|
|
source-tag: 2021.02
|
|
build-packages:
|
|
- libusb-1.0-0-dev
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
hackrf:
|
|
plugin: cmake
|
|
source: https://github.com/greatscottgadgets/hackrf.git
|
|
source-type: git
|
|
source-tag: v2022.09.1
|
|
source-subdir: host/libhackrf
|
|
build-packages:
|
|
- libusb-1.0-0-dev
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
limesuite:
|
|
plugin: cmake
|
|
source: https://github.com/myriadrf/LimeSuite.git
|
|
source-commit: 70e3859a55d8d5353963a5318013c8454594769f
|
|
build-packages:
|
|
- libusb-1.0-0-dev
|
|
stage-packages:
|
|
- libstdc++6
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
airspyhf:
|
|
plugin: cmake
|
|
source: https://github.com/airspy/airspyhf.git
|
|
source-type: git
|
|
source-commit: 1af81c0ca18944b8c9897c3c98dc0a991815b686
|
|
build-packages:
|
|
- libusb-1.0-0-dev
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
uhd:
|
|
plugin: cmake
|
|
source: https://github.com/EttusResearch/uhd.git
|
|
source-type: git
|
|
source-commit: v4.5.0.0
|
|
source-subdir: host
|
|
build-packages:
|
|
- libusb-1.0-0-dev
|
|
- libboost-all-dev
|
|
- python3-mako
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
uhdfpga:
|
|
after: [uhd]
|
|
plugin: nil
|
|
override-build:
|
|
pip install requests
|
|
override-prime: # We only include b2* firmware to keep size down
|
|
$SNAPCRAFT_STAGE/opt/install/sdrangel/lib/uhd/utils/uhd_images_downloader.py -i $SNAPCRAFT_PRIME/opt/install/sdrangel/share/uhd/images -t b2
|
|
|
|
soapysdr:
|
|
plugin: cmake
|
|
source: https://github.com/pothosware/SoapySDR.git
|
|
source-type: git
|
|
source-tag: soapy-sdr-0.7.1
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
|
|
soapyremote:
|
|
plugin: cmake
|
|
source: https://github.com/pothosware/SoapyRemote.git
|
|
source-type: git
|
|
source-tag: soapy-remote-0.5.1
|
|
after: [soapysdr]
|
|
build-packages:
|
|
- libavahi-client-dev
|
|
- libavahi-core-dev
|
|
cmake-parameters:
|
|
- -DCMAKE_INSTALL_PREFIX=/opt/install/sdrangel
|
|
- -DCMAKE_PREFIX_PATH=$SNAPCRAFT_STAGE/opt/install/sdrangel
|
|
|