try add flatpack support
This commit is contained in:
+1
-1
@@ -978,7 +978,7 @@ macro(deploy_target _T)
|
||||
COMMAND mkdir ${_VERB} -p "${_flatpak_build_dir}"
|
||||
COMMAND "${CMAKE_COMMAND}" -DFULLNAME=${_flatpak_app_id} -DFLATPAK_RUNTIME=${_flatpak_runtime} -DFLATPAK_RUNTIME_VER=${_flatpak_runtime_ver} -DFLATPAK_SDK=${_flatpak_sdk} -DTARGET_NAME=${_flatpak_bin_name} -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DFLATPAK_FINISH_ARGS="${_flatpak_finish_args}" -DTEMPLATE=${_modules_dir}/DeployTargetFlatpak.yml.in -DOUTPUT=${_flatpak_manifest} -P ${_modules_dir}/DeployTargetFlatpak.yml.cmake
|
||||
COMMAND mkdir ${_VERB} -p "${_DESTINATION}"
|
||||
COMMAND ${FLATPAK_BUILDER} --install-deps-from=flathub --force-clean --repo=${_flatpak_repo} "${_flatpak_build_dir}" "${_flatpak_manifest}"
|
||||
COMMAND ${FLATPAK_BUILDER} --install-deps-from=flathub --force-clean --state-dir="${_flatpak_build_dir}/.flatpak-builder" --repo=${_flatpak_repo} "${_flatpak_build_dir}" "${_flatpak_manifest}"
|
||||
COMMAND flatpak build-bundle "${_flatpak_repo}" "${_DESTINATION}/${_flatpak_name}" "${_flatpak_app_id}"
|
||||
)
|
||||
|
||||
|
||||
+33
-28
@@ -1,43 +1,35 @@
|
||||
app-id: @FULLNAME@
|
||||
runtime: @FLATPAK_RUNTIME@
|
||||
runtime-version: "@FLATPAK_RUNTIME_VER@"
|
||||
sdk: @FLATPAK_SDK@
|
||||
runtime: org.kde.Platform
|
||||
runtime-version: "5.15-24.08"
|
||||
sdk: org.kde.Sdk
|
||||
command: @TARGET_NAME@
|
||||
finish-args:
|
||||
- --socket=pulseaudio
|
||||
- --share=ipc
|
||||
- --socket=fallback-x11
|
||||
- --socket=wayland
|
||||
- --socket=x11
|
||||
- --socket=pulseaudio
|
||||
- --filesystem=home
|
||||
- --device=dri
|
||||
@@FLATPAK_FINISH_ARGS@@
|
||||
modules:
|
||||
- name: qt5-modules
|
||||
- name: libsodium
|
||||
buildsystem: simple
|
||||
build-commands: []
|
||||
build-commands:
|
||||
- ./autogen.sh && ./configure --prefix=/app --enable-shared --disable-static && make && make install
|
||||
sources:
|
||||
- type: apt
|
||||
suites:
|
||||
- jammy
|
||||
architectures:
|
||||
- amd64
|
||||
packages:
|
||||
- qtbase5-dev
|
||||
- qtbase5-dev-tools
|
||||
- libqt5svg5-dev
|
||||
- libqt5sql5-sqlite
|
||||
- libqt5x11extras5-dev
|
||||
- qmakeqt5
|
||||
- type: git
|
||||
url: https://github.com/jedisct1/libsodium.git
|
||||
tag: 1.0.18
|
||||
commit: 45b09a607d596e40adbff9ab812e47d85175c053
|
||||
|
||||
- name: shstk
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- mkdir -p _build && cd _build && cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/app -DINSTALL_DIR=/app -DLOCAL=1 -DSHSTKPROJECT=1 -DROOT_DIR=/run/build/shstk -DUTILS=OFF -DDESIGNER_PLUGINS=OFF -DQGLVIEW=OFF -DQGLENGINE=OFF -DICU=OFF && ninja && ninja install
|
||||
- mkdir -p /app/lib /app/bin
|
||||
- for f in /app/lib/*.so*; do patchelf --set-rpath /app/lib "$f" 2>/dev/null || true; done
|
||||
sources:
|
||||
- type: git
|
||||
url: https://git.shstk.ru/SHS/shstk.git
|
||||
branch: master
|
||||
- type: dir
|
||||
path: /home/andrey/work/shstk
|
||||
cleanup: []
|
||||
|
||||
- name: @TARGET_NAME@
|
||||
@@ -45,11 +37,24 @@ modules:
|
||||
builddir: true
|
||||
config-opts:
|
||||
- -DCMAKE_BUILD_TYPE=Release
|
||||
- -DCMAKE_PREFIX_PATH=/app;/usr
|
||||
- -DCMAKE_MODULE_PATH=/app/cmake;/run/build/shstk/cmake
|
||||
- -DCMAKE_TOOLCHAIN_FILE=/app/cmake/flatpak-toolchain.cmake
|
||||
- -DBUILD_STAND=OFF
|
||||
- -DBUILD_BSM=OFF
|
||||
- -DBUILD_TSS=OFF
|
||||
- -DPIP_CMG=/app/bin/pip_cmg
|
||||
- -DPIP_RC=/app/bin/pip_rc
|
||||
- -DPIP_TR=/app/bin/pip_tr
|
||||
- -DPIP_DEPLOY_TOOL=/app/bin/deploy_tool
|
||||
build-commands:
|
||||
- ninja
|
||||
- mkdir -p /app/bin /app/bin/lang /app/bin/uds_scripts
|
||||
- cp -f gui/AWRCANFlasherGUI /app/bin/
|
||||
- cp -f gui/qt5/*.qm /app/bin/lang/ 2>/dev/null || true
|
||||
- cp -rf uds_scripts/* /app/bin/uds_scripts/ 2>/dev/null || true
|
||||
env:
|
||||
CMAKE_PREFIX_PATH: /app;/usr
|
||||
PKG_CONFIG_PATH: /app/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig
|
||||
CMAKE_PREFIX_PATH: /app
|
||||
PKG_CONFIG_PATH: /app/lib/pkgconfig
|
||||
PATH: /app/bin:/usr/bin:/bin
|
||||
sources:
|
||||
- type: dir
|
||||
path: @SOURCE_DIR@
|
||||
path: @SOURCE_DIR@/..
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# CMake toolchain for flatpak builds
|
||||
# Usage: -DCMAKE_TOOLCHAIN_FILE=flatpak-toolchain.cmake
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
# Install prefix inside flatpak sandbox
|
||||
set(CMAKE_INSTALL_PREFIX /app CACHE PATH "Install prefix" FORCE)
|
||||
set_property(CACHE CMAKE_INSTALL_PREFIX PROPERTY VALUE /app)
|
||||
set(INSTALL_DIR /app CACHE PATH "Install dir for cmake modules" FORCE)
|
||||
|
||||
# Search paths inside flatpak
|
||||
set(CMAKE_PREFIX_PATH /app CACHE PATH "Prefix path" FORCE)
|
||||
|
||||
# CMake module path
|
||||
list(APPEND CMAKE_MODULE_PATH /app/cmake)
|
||||
|
||||
# Skip system paths
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
Reference in New Issue
Block a user