mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-08-25 21:14:16 -04:00
Merge pull request #2892 from srcejon/ubuntu-26.04
Add Ubuntu 26.04 Qt 6 .deb github build action
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
name: SDRangel Linux Qt6 release build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- linux_github_release
|
||||
- ubuntu-26.04
|
||||
tags:
|
||||
- 'v*'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build_deb:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-26.04]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install software-properties-common
|
||||
#sudo add-apt-repository -y ppa:ettusresearch/uhd
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install build-essential cmake git xxd \
|
||||
devscripts fakeroot debhelper libfftw3-dev \
|
||||
qt6-base-dev qt6-base-private-dev qt6-scxml-dev \
|
||||
qt6-multimedia-dev qt6-positioning-dev qt6-location-dev qt6-websockets-dev qt6-webengine-dev \
|
||||
qt6-serialport-dev qt6-speech-dev qt6-charts-dev qt6-svg-dev qt6-declarative-dev \
|
||||
qtchooser qt6-tools-dev qt6-tools-dev-tools libqt6quick6 qt6-location-plugins \
|
||||
qml6-module-qtlocation qml6-module-qtpositioning qml6-module-qtquick-window \
|
||||
qml6-module-qtquick-dialogs qml6-module-qtquick-controls qml6-module-qtquick-layouts \
|
||||
qml6-module-qt5compat-graphicaleffects qt6-speech-speechd-plugin \
|
||||
libfaad-dev libflac-dev zlib1g-dev \
|
||||
libusb-1.0-0-dev libhidapi-dev libboost-all-dev libasound2-dev libopencv-dev libopencv-imgcodecs-dev \
|
||||
libxml2-dev bison flex ffmpeg libavcodec-dev libavformat-dev \
|
||||
libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \
|
||||
libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev libhamlib-dev libunwind-dev \
|
||||
libavahi-client-dev libavahi-common-dev libaio-dev \
|
||||
python3-mako python3-cheetah python3-numpy \
|
||||
autoconf automake libtool ninja-build
|
||||
bash cmake/ci/build_sdrplay.sh
|
||||
- name: Build SDRangel
|
||||
run: |
|
||||
if [ "${RUNNING_IN_ACT:-}" = "true" ]; then
|
||||
mkdir -p /tmp/build
|
||||
rsync -a --delete . /tmp/build/sdrangel/
|
||||
cd /tmp/build/sdrangel
|
||||
debuild -eQT_VERSION=6 -i -us -uc -b
|
||||
cp ../sdrangel_*_amd64.deb "$GITHUB_WORKSPACE"/
|
||||
else
|
||||
debuild -eQT_VERSION=6 -i -us -uc -b
|
||||
fi
|
||||
- name: Get version
|
||||
id: get_version
|
||||
run: |
|
||||
if [[ "${{github.ref_name}}" == "linux_github_release" ]]; then
|
||||
echo "version=$(echo ${{github.sha}} | cut -c1-7)" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
- name: Rename
|
||||
run: mv ../sdrangel_*_amd64.deb sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
||||
path: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
||||
- name: Upload release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
||||
Vendored
+309
-309
File diff suppressed because it is too large
Load Diff
Vendored
+31
-43
@@ -1,5 +1,5 @@
|
||||
Source: sdrangel
|
||||
Maintainer: Edouard Griffiths, F4EXB <f4exb06@gmail.com>
|
||||
Maintainer: Edouard Griffiths (F4EXB) <f4exb06@gmail.com>
|
||||
Section: hamradio
|
||||
Priority: optional
|
||||
Standards-Version: 3.9.2
|
||||
@@ -7,33 +7,33 @@ Homepage: https://github.com/f4exb/sdrangel
|
||||
Build-Depends: debhelper (>= 9),
|
||||
libfftw3-dev,
|
||||
libopengl-dev,
|
||||
qtbase5-dev,
|
||||
libqt5opengl5-dev,
|
||||
qttools5-dev,
|
||||
qttools5-dev-tools,
|
||||
qtmultimedia5-dev,
|
||||
libqt5multimedia5-plugins,
|
||||
libqt5websockets5-dev,
|
||||
libqt5quick5,
|
||||
libqt5texttospeech5-dev,
|
||||
libqt5gamepad5-dev,
|
||||
libqt5svg5-dev,
|
||||
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,
|
||||
qml-module-qtgraphicaleffects,
|
||||
libqt5serialport5-dev,
|
||||
libqt5charts5-dev,
|
||||
libqt5texttospeech5-dev,
|
||||
qtdeclarative5-dev,
|
||||
qtpositioning5-dev,
|
||||
qtlocation5-dev,
|
||||
qtwebengine5-dev,
|
||||
qtbase5-private-dev,
|
||||
qtbase5-dev | qt6-base-dev,
|
||||
libqt5opengl5-dev | qt6-base-dev,
|
||||
qttools5-dev | qt6-tools-dev,
|
||||
qttools5-dev-tools | qt6-tools-dev-tools,
|
||||
qtmultimedia5-dev | qt6-multimedia-dev,
|
||||
libqt5multimedia5-plugins | qt6-multimedia-dev,
|
||||
libqt5websockets5-dev | qt6-websockets-dev,
|
||||
libqt5quick5 | libqt6quick6,
|
||||
libqt5texttospeech5-dev | qt6-speech-dev,
|
||||
libqt5gamepad5-dev | qt6-base-dev,
|
||||
libqt5svg5-dev | qt6-svg-dev,
|
||||
qml-module-qtlocation | qml6-module-qtlocation,
|
||||
qml-module-qtpositioning | qml6-module-qtpositioning,
|
||||
qml-module-qtquick-window2 | qml6-module-qtquick-window,
|
||||
qml-module-qtquick-dialogs | qml6-module-qtquick-dialogs,
|
||||
qml-module-qtquick-controls | qml6-module-qtquick-controls,
|
||||
qml-module-qtquick-controls2 | qml6-module-qtquick-controls,
|
||||
qml-module-qtquick-layouts | qml6-module-qtquick-layouts,
|
||||
qml-module-qtgraphicaleffects | qml6-module-qt5compat-graphicaleffects,
|
||||
libqt5serialport5-dev | qt6-serialport-dev,
|
||||
libqt5charts5-dev | qt6-charts-dev,
|
||||
qtdeclarative5-dev | qt6-declarative-dev,
|
||||
qtpositioning5-dev | qt6-positioning-dev,
|
||||
qtlocation5-dev | qt6-location-dev,
|
||||
qtwebengine5-dev | qt6-webengine-dev,
|
||||
qtbase5-private-dev | qt6-base-private-dev,
|
||||
qtbase5-dev | qt6-scxml-dev,
|
||||
libusb-1.0-0-dev,
|
||||
libhidapi-dev,
|
||||
libboost-all-dev,
|
||||
@@ -63,7 +63,6 @@ Build-Depends: debhelper (>= 9),
|
||||
libavahi-common-dev,
|
||||
libaio-dev,
|
||||
xxd,
|
||||
libpostproc-dev,
|
||||
libcodec2-dev,
|
||||
libbladerf-dev,
|
||||
libsoapysdr-dev,
|
||||
@@ -79,30 +78,19 @@ Package: sdrangel
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
${qt:Depends},
|
||||
libasound2,
|
||||
libgl1,
|
||||
libglx-mesa0,
|
||||
libqt5multimedia5-plugins,
|
||||
libqt5gamepad5,
|
||||
libqt5svg5,
|
||||
qtspeech5-speechd-plugin,
|
||||
pulseaudio | pipewire-pulse,
|
||||
ffmpeg,
|
||||
gstreamer1.0-libav,
|
||||
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,
|
||||
qml-module-qtgraphicaleffects
|
||||
gstreamer1.0-libav
|
||||
Description: SDR/Analyzer/Generator front-end for various hardware
|
||||
SDR/Analyzer/Generator front-end for Airspy, BladeRF, HackRF,
|
||||
RTL-SDR, FunCube, LimeSDR, PlutoSDR, RSP, USRP.
|
||||
Also File source and sink for I/Q samples, network I/Q sources with
|
||||
remote instance.
|
||||
Based on Qt5 framework and OpenGL for the spectrum and scope rendering.
|
||||
Based on the Qt framework and OpenGL for the spectrum and scope rendering.
|
||||
Builds on Linux, Windows and Mac O/S
|
||||
Reception modes supported:
|
||||
Analog: AM, ATV, NFM, WFM, SSB, broadcast FM, APT, ILS, VOR
|
||||
|
||||
Vendored
+18
-1
@@ -1,9 +1,26 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Override with "debuild -eQT_VERSION=6 ..." to build the Qt6 package.
|
||||
QT_VERSION ?= 5
|
||||
|
||||
ifeq ($(QT_VERSION),5)
|
||||
QT_CMAKE_OPTION := -DENABLE_QT6=OFF
|
||||
QT_RUNTIME_DEPENDS := libqt5multimedia5-plugins, qtspeech5-speechd-plugin, 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, qml-module-qtgraphicaleffects
|
||||
else ifeq ($(QT_VERSION),6)
|
||||
QT_CMAKE_OPTION := -DENABLE_QT6=ON -DENABLE_PERSEUS=OFF -DENABLE_BLADERF=OFF -DENABLE_MIRISDR=OFF -DENABLE_CHANNELRX_SIGMFFILESINK=OFF
|
||||
QT_RUNTIME_DEPENDS := qt6-speech-speechd-plugin, qt6-location-plugins, qml6-module-qtlocation, qml6-module-qtpositioning, qml6-module-qtquick-window, qml6-module-qtquick-dialogs, qml6-module-qtquick-controls, qml6-module-qtquick-layouts, qml6-module-qt5compat-graphicaleffects
|
||||
else
|
||||
$(error QT_VERSION must be either 5 or 6)
|
||||
endif
|
||||
|
||||
%:
|
||||
dh $@ --parallel --buildsystem=cmake+ninja
|
||||
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure -- -DARCH_OPT=nehalem -DENABLE_EXTERNAL_LIBRARIES=AUTO -DDEBUG_OUTPUT=ON -DBUILD_SERVER=OFF
|
||||
dh_auto_configure -- -DARCH_OPT=nehalem $(QT_CMAKE_OPTION) -DENABLE_EXTERNAL_LIBRARIES=AUTO -DDEBUG_OUTPUT=ON -DBUILD_SERVER=OFF
|
||||
|
||||
override_dh_gencontrol:
|
||||
dh_gencontrol -- -Vqt:Depends='$(QT_RUNTIME_DEPENDS)'
|
||||
|
||||
# delete any external projects (such as libsigmf) that are installed
|
||||
# would be better if we could prevent them from being installed in CMakeLists.txt
|
||||
|
||||
Vendored
+8
-2
@@ -752,6 +752,9 @@ if ((NOT LIBDSDCC_FOUND OR LIBDSDCC_EXTERNAL) AND LIBMBE_FOUND)
|
||||
set(LIBDSDCC_LIBRARIES "${SDRANGEL_BINARY_LIB_DIR}/dsdcc.lib" CACHE INTERNAL "")
|
||||
elseif (LINUX)
|
||||
set(LIBDSDCC_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/lib${LIB_SUFFIX}/libdsdcc${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
|
||||
# set the RPATH so that the built dsdcc can find libmbe.so.1 (https://github.com/f4exb/sdrangel/issues/777)
|
||||
# Would probably be better to change this so INSTALL_COMMAND isn't set to "" and the install step is done
|
||||
set(LIBDSDCC_ARGS "-DCMAKE_BUILD_RPATH=${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}")
|
||||
elseif (APPLE)
|
||||
set(LIBDSDCC_LIBRARIES "${EXTERNAL_BUILD_LIBRARIES}/dsdcc/src/dsdcc-build/libdsdcc${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
|
||||
endif ()
|
||||
@@ -760,10 +763,10 @@ if ((NOT LIBDSDCC_FOUND OR LIBDSDCC_EXTERNAL) AND LIBMBE_FOUND)
|
||||
GIT_TAG ${DSDCC_TAG}
|
||||
DEPENDS ${DSDCC_DEPENDS}
|
||||
PREFIX "${EXTERNAL_BUILD_LIBRARIES}/dsdcc"
|
||||
CMAKE_ARGS ${COMMON_CMAKE_ARGS}
|
||||
CMAKE_ARGS ${COMMON_CMAKE_ARGS} ${LIBDSDCC_ARGS}
|
||||
-DBUILD_TOOL=OFF -DUSE_MBELIB=${USE_MBELIB}
|
||||
-DLIBMBE_INCLUDE_DIR=${LIBMBE_INCLUDE_DIR}
|
||||
-DLIBMBE_LIBRARY=${LIBMBE_LIBRARIES}
|
||||
-DLIBMBE_LIBRARY=${LIBMBE_LIBRARIES}
|
||||
BUILD_BYPRODUCTS "${LIBDSDCC_LIBRARIES}"
|
||||
INSTALL_COMMAND ""
|
||||
TEST_COMMAND ""
|
||||
@@ -906,6 +909,9 @@ if(ENABLE_FEATURE_STARTRACKER)
|
||||
set_global_cache(CSPICE_FOUND ON)
|
||||
set(CSPICE_EXTERNAL ON CACHE INTERNAL "")
|
||||
set(CSPICE_INCLUDE_DIR "${EXTERNAL_BUILD_LIBRARIES}/cspice/src/cspice/include" CACHE INTERNAL "")
|
||||
if (LINUX)
|
||||
install(FILES "${CSPICE_LIBRARIES}" DESTINATION "${INSTALL_LIB_DIR}")
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
if(ENABLE_CHANNELRX_REMOTETCPSINK)
|
||||
|
||||
Reference in New Issue
Block a user