New Dockerfile and build script for producing wzp-desktop as a Linux
x86_64 binary (plus .deb and .AppImage bundles via tauri-cli).
- scripts/Dockerfile.linux-desktop-builder: thin extension of
wzp-android-builder that adds the Tauri Linux runtime deps
(libwebkit2gtk-4.1-dev, libsoup-3.0-dev, libgtk-3-dev,
libayatana-appindicator3-dev, librsvg2-dev, libglib2.0-dev, patchelf).
Everything else (Rust, Node, cmake, pkg-config, libasound2-dev,
tauri-cli) is inherited from the base image.
- scripts/build-linux-desktop-docker.sh: mirrors the pattern of
build-windows-docker.sh and build-linux-docker.sh. Ships
\`cargo tauri build\` which produces target/release/wzp-desktop
plus bundles under target/release/bundle/{deb,appimage}/. Uploads
the .deb (or raw binary if bundling fails) to rustypaste and
notifies ntfy.sh/wzp on start + completion. Downloads all three
artifact types (raw binary, .deb, .AppImage) to target/linux-desktop/
when they exist.
Image cache volumes are shared with the Android pipeline for cargo
registry + git, but the target dir is in its own cache-linux-desktop/
path to avoid stomping on the Android / Linux-CLI / Windows target
caches.
Branch default is feat/desktop-audio-rewrite (where the actual
wzp-desktop source lives), not feat/android-voip-client.
Task #29.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
40 lines
1.7 KiB
Docker
40 lines
1.7 KiB
Docker
# =============================================================================
|
|
# WZ Phone — Linux x86_64 Tauri desktop build image
|
|
#
|
|
# Thin extension of wzp-android-builder that adds the GTK3 + WebKit2GTK 4.1 +
|
|
# libsoup-3.0 + AppIndicator dev packages needed to build the Tauri desktop
|
|
# app for Linux. Everything else (Rust, Node.js, cmake, pkg-config, cpal
|
|
# libasound deps, tauri-cli) is inherited from the base image.
|
|
#
|
|
# Build:
|
|
# docker build -t wzp-linux-desktop-builder -f Dockerfile.linux-desktop-builder .
|
|
#
|
|
# Run: driven by scripts/build-linux-desktop-docker.sh (see that file).
|
|
# =============================================================================
|
|
FROM wzp-android-builder
|
|
|
|
USER root
|
|
|
|
# Tauri 2.x Linux dependencies.
|
|
# - libwebkit2gtk-4.1-dev: the WebView backend. Tauri 2.x uses 4.1 (not 4.0).
|
|
# - libsoup-3.0-dev: HTTP client used by webkit2gtk. Must match its major.
|
|
# - libgtk-3-dev: GTK3 headers (webkit2gtk still uses GTK3).
|
|
# - libayatana-appindicator3-dev: system tray / status icon. Optional at
|
|
# runtime but tauri-build's feature-detection includes it.
|
|
# - librsvg2-dev: SVG rendering in the menu/icon code.
|
|
# - libglib2.0-dev: GObject introspection headers (transitive, but explicit).
|
|
# - patchelf: used by the tauri bundler to rewrite rpaths in the final binary.
|
|
# - file: already in the base, but tauri-build checks for it by name.
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
libwebkit2gtk-4.1-dev \
|
|
libsoup-3.0-dev \
|
|
libgtk-3-dev \
|
|
libayatana-appindicator3-dev \
|
|
librsvg2-dev \
|
|
libglib2.0-dev \
|
|
patchelf \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
USER builder
|
|
WORKDIR /build/source
|