From c7d2ed4ee4211df469dfefd07a523f4dbadb1b6b Mon Sep 17 00:00:00 2001 From: lod Date: Tue, 18 Mar 2025 17:45:01 +0100 Subject: [PATCH 1/5] Add build options to cmake command instead of the COMMON_OPTIONS variable --- PKGBUILD | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index 9e67dea..5d5478b 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -68,7 +68,6 @@ prepare() { build() { cd edgetx export EDGETX_VERSION_TAG=$pkgver - COMMON_OPTIONS="-DCMAKE_INSTALL_PREFIX=/usr -DGVARS=YES -DHELI=YES -DLUA=YES -Wno-dev -DCMAKE_BUILD_TYPE=Release" source tools/build-common.sh # Provides get_target_build_options() for retrieving individual build options per simulated radio. rm -rf build @@ -88,9 +87,8 @@ build() { for plugin in "${simulator_plugins[@]}" do - BUILD_OPTIONS="${COMMON_OPTIONS} " - echo "Building ${plugin}" + BUILD_OPTIONS="" if ! get_target_build_options "$plugin"; then echo "Error: Failed to find a match for target '$plugin'" @@ -98,12 +96,20 @@ build() { fi rm -f CMakeCache.txt native/CMakeCache.txt - cmake ${BUILD_OPTIONS} "$srcdir/edgetx" + cmake \ + -S "$srcdir/edgetx" \ + -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DGVARS=YES \ + -DHELI=YES \ + -DLUA=YES \ + -Wno-dev \ + ${BUILD_OPTIONS} cmake --build . --target native-configure cmake --build native --target libsimulator done - cmake --build . --target native-configure cmake --build native --target companion } From 3be4b5342476d1ba84611888a6de3aa8aba4e3d0 Mon Sep 17 00:00:00 2001 From: lod Date: Tue, 18 Mar 2025 17:47:03 +0100 Subject: [PATCH 2/5] Add DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON --- PKGBUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/PKGBUILD b/PKGBUILD index 5d5478b..e9d4934 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -101,6 +101,7 @@ build() { -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \ -DGVARS=YES \ -DHELI=YES \ -DLUA=YES \ From b2d8a4bc43a34337274f38e1d88d757971e7b3c7 Mon Sep 17 00:00:00 2001 From: lod Date: Tue, 18 Mar 2025 17:50:03 +0100 Subject: [PATCH 3/5] Use the Ninja build system to speed up the build by ~15% --- .SRCINFO | 1 + PKGBUILD | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 1d1898b..25df996 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -17,6 +17,7 @@ pkgbase = edgetx-companion makedepends = gcc makedepends = git makedepends = icu + makedepends = ninja makedepends = python makedepends = python-jinja makedepends = python-lz4 diff --git a/PKGBUILD b/PKGBUILD index e9d4934..c95d348 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -10,7 +10,7 @@ license=('GPL-2.0-only') depends=('gcc-libs' 'glibc' 'hicolor-icon-theme' 'qt5-base' 'qt5-multimedia' 'qt5-serialport' 'sdl2') optdepends=('dfu-util: tool for flashing stm32 based radios') makedepends=('arm-none-eabi-binutils' 'arm-none-eabi-gcc' 'arm-none-eabi-newlib' - 'avr-gcc' 'avr-libc' 'bc' 'clang' 'cmake' 'fox' 'gcc' 'git' 'icu' 'python' + 'avr-gcc' 'avr-libc' 'bc' 'clang' 'cmake' 'fox' 'gcc' 'git' 'icu' 'ninja' 'python' 'python-jinja' 'python-lz4' 'python-pillow' 'python-pyqt5' 'qt5-svg' 'qt5-tools' 'qt5-translations' 'sed' 'xsd') options=('!debug') @@ -43,6 +43,8 @@ prepare() { sed -i "s/if(${pattern}_FOUND)/if(false)/g" ./edgetx/companion/src/CMakeLists.txt done + sed -i 's/$(MAKE)/ninja/g' ./edgetx/CMakeLists.txt + cd "$srcdir/edgetx/radio/src/thirdparty/" git submodule init git config submodule.AccessDenied.url "$srcdir/AccessDenied" @@ -98,6 +100,7 @@ build() { rm -f CMakeCache.txt native/CMakeCache.txt cmake \ -S "$srcdir/edgetx" \ + -G Ninja \ -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ @@ -115,7 +118,6 @@ build() { } package() { - cd edgetx/build/native - make DESTDIR="$pkgdir/" install - install -Dm644 "$srcdir/edgetx/LICENSE" "$pkgdir/usr/share/licenses/edgetx-companion/LICENSE" + DESTDIR="$pkgdir" ninja -C edgetx/build/native install + install -Dm644 edgetx/LICENSE "$pkgdir/usr/share/licenses/edgetx-companion/LICENSE" } From 557c608863de9b7bc393ac31f15062284ffd2f2d Mon Sep 17 00:00:00 2001 From: lod Date: Sun, 30 Mar 2025 14:29:41 +0200 Subject: [PATCH 4/5] update makedepends and update to rc3 --- .SRCINFO | 11 +++++++---- PKGBUILD | 19 +++++++++---------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 25df996..5ab2d74 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = edgetx-companion pkgdesc = EEPROM Editor and Simulator for EdgeTX RC radio transmitter firmwares pkgver = 2.11.0 - pkgrel = 1 + pkgrel = 0.3 url = https://edgetx.org/ arch = x86_64 license = GPL-2.0-only @@ -13,11 +13,15 @@ pkgbase = edgetx-companion makedepends = bc makedepends = clang makedepends = cmake + makedepends = dfu-util + makedepends = doxygen makedepends = fox makedepends = gcc makedepends = git + makedepends = graphviz makedepends = icu makedepends = ninja + makedepends = openssl-1.1 makedepends = python makedepends = python-jinja makedepends = python-lz4 @@ -35,11 +39,10 @@ pkgbase = edgetx-companion depends = qt5-multimedia depends = qt5-serialport depends = sdl2 - optdepends = dfu-util: tool for flashing stm32 based radios provides = companion conflicts = companion options = !debug - source = git+https://github.com/EdgeTX/edgetx.git#tag=v2.11.0 + source = git+https://github.com/EdgeTX/edgetx.git#tag=v2.11.0-rc3 source = git+https://github.com/raphaelcoeffic/AccessDenied.git source = git+https://github.com/FreeRTOS/FreeRTOS-Kernel.git source = git+https://github.com/adfernandes/segger-rtt.git @@ -49,7 +52,7 @@ pkgbase = edgetx-companion source = git+https://github.com/nothings/stb.git source = git+https://github.com/microsoft/uf2 source = git+https://github.com/signal11/hidapi - b2sums = 024826402eaf156b36d300d162a0e90a70f82902901e3a78a669d0c6f63dc12b7cbebec089110d38b2965cfeb59759ccb5761fbcf4c1712483d03be50d5416c9 + b2sums = 653da451f47977169d1bed523d349f302ca08264bbfd504df51483f19c963e5ab43db42dabeabec05e6713de1084c8722b2262de505a666a9e19dc50dd199066 b2sums = SKIP b2sums = SKIP b2sums = SKIP diff --git a/PKGBUILD b/PKGBUILD index c95d348..b2bc5ee 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,21 +2,20 @@ pkgname=edgetx-companion pkgver=2.11.0 -pkgrel=1 +pkgrel=0.3 pkgdesc="EEPROM Editor and Simulator for EdgeTX RC radio transmitter firmwares" arch=('x86_64') url='https://edgetx.org/' license=('GPL-2.0-only') depends=('gcc-libs' 'glibc' 'hicolor-icon-theme' 'qt5-base' 'qt5-multimedia' 'qt5-serialport' 'sdl2') -optdepends=('dfu-util: tool for flashing stm32 based radios') -makedepends=('arm-none-eabi-binutils' 'arm-none-eabi-gcc' 'arm-none-eabi-newlib' - 'avr-gcc' 'avr-libc' 'bc' 'clang' 'cmake' 'fox' 'gcc' 'git' 'icu' 'ninja' 'python' - 'python-jinja' 'python-lz4' 'python-pillow' 'python-pyqt5' 'qt5-svg' +makedepends=('arm-none-eabi-binutils' 'arm-none-eabi-gcc' 'arm-none-eabi-newlib' 'avr-gcc' 'avr-libc' + 'bc' 'clang' 'cmake' 'dfu-util' 'doxygen' 'fox' 'gcc' 'git' 'graphviz' 'icu' 'ninja' + 'openssl-1.1' 'python' 'python-jinja' 'python-lz4' 'python-pillow' 'python-pyqt5' 'qt5-svg' 'qt5-tools' 'qt5-translations' 'sed' 'xsd') options=('!debug') provides=('companion') conflicts=('companion') -source=("git+https://github.com/EdgeTX/edgetx.git#tag=v$pkgver" +source=("git+https://github.com/EdgeTX/edgetx.git#tag=v$pkgver-rc3" "git+https://github.com/raphaelcoeffic/AccessDenied.git" "git+https://github.com/FreeRTOS/FreeRTOS-Kernel.git" "git+https://github.com/adfernandes/segger-rtt.git" @@ -26,7 +25,7 @@ source=("git+https://github.com/EdgeTX/edgetx.git#tag=v$pkgver" "git+https://github.com/nothings/stb.git" "git+https://github.com/microsoft/uf2" "git+https://github.com/signal11/hidapi") -b2sums=('024826402eaf156b36d300d162a0e90a70f82902901e3a78a669d0c6f63dc12b7cbebec089110d38b2965cfeb59759ccb5761fbcf4c1712483d03be50d5416c9' +b2sums=('653da451f47977169d1bed523d349f302ca08264bbfd504df51483f19c963e5ab43db42dabeabec05e6713de1084c8722b2262de505a666a9e19dc50dd199066' 'SKIP' 'SKIP' 'SKIP' @@ -40,10 +39,10 @@ b2sums=('024826402eaf156b36d300d162a0e90a70f82902901e3a78a669d0c6f63dc12b7cbebec prepare() { # Deactivate these statements; they bundle the libs for AppImage. for pattern in "LIBSSL1" "LIBUSB1" "DFU_UTIL"; do - sed -i "s/if(${pattern}_FOUND)/if(false)/g" ./edgetx/companion/src/CMakeLists.txt + sed -i "s/if(${pattern}_FOUND)/if(false)/g" edgetx/companion/src/CMakeLists.txt done - sed -i 's/$(MAKE)/ninja/g' ./edgetx/CMakeLists.txt + sed -i 's/$(MAKE)/ninja/g' edgetx/CMakeLists.txt cd "$srcdir/edgetx/radio/src/thirdparty/" git submodule init @@ -99,7 +98,7 @@ build() { rm -f CMakeCache.txt native/CMakeCache.txt cmake \ - -S "$srcdir/edgetx" \ + -S .. \ -G Ninja \ -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja \ -DCMAKE_BUILD_TYPE=Release \ From a97a364aed826de7c594bcee239c9268567e127a Mon Sep 17 00:00:00 2001 From: lod Date: Sun, 30 Mar 2025 14:47:07 +0200 Subject: [PATCH 5/5] make it build with CMAKE 4.0 --- PKGBUILD | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PKGBUILD b/PKGBUILD index b2bc5ee..6495c73 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -43,6 +43,8 @@ prepare() { done sed -i 's/$(MAKE)/ninja/g' edgetx/CMakeLists.txt + sed -i 's/cmake_policy(SET CMP0026 OLD)/cmake_policy(SET CMP0026 NEW)/' edgetx/companion/src/CMakeLists.txt + sed -i 's/cmake_policy(SET CMP0023 OLD)/cmake_policy(SET CMP0023 NEW)/' edgetx/cmake/GenericDefinitions.cmake cd "$srcdir/edgetx/radio/src/thirdparty/" git submodule init @@ -104,6 +106,7 @@ build() { -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ -DGVARS=YES \ -DHELI=YES \ -DLUA=YES \