ci: add Linux capture build dependencies

This commit is contained in:
dijunkun
2026-07-28 17:58:39 +08:00
parent efd8b7c0ff
commit d32974dc18
4 changed files with 33 additions and 3 deletions
+17
View File
@@ -103,6 +103,23 @@ jobs:
- name: Verify Linux build image
run: verify-crossdesk-build-image
- name: Ensure Wayland build dependencies
shell: bash
run: |
if pkg-config --exists dbus-1 libdrm libpipewire-0.3 libspa-0.2; then
exit 0
fi
apt-get update
apt-get install -y --no-install-recommends \
libdbus-1-dev \
libdrm-dev \
libpipewire-0.3-dev \
libspa-0.2-dev
rm -rf /var/lib/apt/lists/*
pkg-config --exists dbus-1 libdrm libpipewire-0.3 libspa-0.2
- name: Build CrossDesk
env:
CUDA_PATH: /usr/local/cuda
+3 -1
View File
@@ -52,9 +52,11 @@ RUN apt-get update \
libfreetype6-dev \
libgl1-mesa-dev \
libmount-dev \
libpipewire-0.3-dev \
libpulse-dev \
libreadline-dev \
libsndio-dev \
libspa-0.2-dev \
libssl-dev \
libtool \
libx11-dev \
@@ -134,7 +136,7 @@ COPY submodules/minirtc/thirdparty ./submodules/minirtc/thirdparty
# CrossDesk's exact dependency graph. Source files are intentionally excluded
# from the Docker context; source-only changes therefore reuse this layer.
RUN xmake repo -u --root \
&& xmake f -m release --USE_CUDA=true --root -y \
&& xmake f -m release --USE_CUDA=true --USE_WAYLAND=true --root -y \
&& rm -rf /data/.xmake/cache /tmp/crossdesk-dependencies \
&& mkdir -p /workspace
+2 -1
View File
@@ -1,7 +1,8 @@
# CrossDesk Linux 构建镜像
这个目录维护 CrossDesk 专用的 Ubuntu 22.04 构建环境。镜像包含 xmake、
Rust、Linux 开发库以及根据项目 `xmake.lua` 提前编译好的依赖。
Rust、Linux 开发库(包括 D-Bus、DRM、PipeWire 和 SPA以及根据项目
`xmake.lua` 提前编译好的依赖。
## 发布方式
+11 -1
View File
@@ -30,7 +30,17 @@ rustc --version | grep -F "rustc ${EXPECTED_RUST_VERSION}" >/dev/null
cargo --version >/dev/null
cmake --version >/dev/null
g++ --version >/dev/null
pkg-config --exists xft
for pkg_config_package in \
dbus-1 \
libdrm \
libpipewire-0.3 \
libspa-0.2 \
xft; do
if ! pkg-config --exists "${pkg_config_package}"; then
echo "Required pkg-config package is missing: ${pkg_config_package}" >&2
exit 1
fi
done
for package_path in \
"s/slint" \