Use pacman for all dependencies, install scenefx from AUR

Co-authored-by: squassina <8495707+squassina@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-02-18 13:16:18 +00:00
parent 6a209101a0
commit 9f4b2a6314
2 changed files with 24 additions and 40 deletions

View file

@ -24,32 +24,27 @@ This directory contains the GitHub Actions workflows for the MangoWC project.
**What it does**:
1. Runs in Arch Linux container (archlinux:latest)
2. Updates system and installs dependencies via pacman
3. Builds wlroots 0.19.0 from source
4. Builds scenefx 0.4.1 from source
5. Uses `meson subprojects download` to fetch any required subproject
dependencies
6. Configures the project with meson
7. Builds the project with ninja
8. Verifies the executables were created
2. Updates system and installs all dependencies via pacman
3. Installs wlroots from official Arch repositories
4. Installs scenefx from AUR (Arch User Repository)
5. Configures the project with meson
6. Builds the project with ninja
7. Verifies the executables were created
**Build Strategy**:
- Uses Arch Linux for up-to-date system packages (wayland, libinput, etc.)
- Only builds wlroots and scenefx from source (not available in pacman)
- Uses `meson subprojects download` before each meson setup to fetch required
subprojects
- Allows meson wrap mode for automatic subproject handling
(no --wrap-mode=nodownload)
- Uses Arch Linux for up-to-date system packages
- All dependencies installed via pacman or AUR (no source builds)
- wlroots installed from official Arch repositories
- scenefx installed from AUR
**Dependencies**:
- Arch Linux container (archlinux:latest)
- Meson build system
- Ninja build tool
- System packages from pacman (wayland, libinput, mesa, etc.)
- wlroots 0.19.0 (built from source)
- scenefx 0.4.1 (built from source)
- All system packages from pacman (wayland, libinput, wlroots, mesa, etc.)
- scenefx from AUR
### docs.yml

View file

@ -44,7 +44,7 @@ jobs:
# Update package database
pacman -Syu --noconfirm
# Install build tools and dependencies
# Install build tools and all dependencies
pacman -S --noconfirm \
base-devel \
git \
@ -65,32 +65,21 @@ jobs:
libdisplay-info \
seatd \
mesa \
wlroots \
pkg-config
- name: Install wlroots 0.19.0
- name: Install scenefx from AUR
run: |
# Build wlroots 0.19.0 from source
git clone https://gitlab.freedesktop.org/wlroots/wlroots.git
cd wlroots
git checkout 0.19.0
# Download meson subprojects if needed
meson subprojects download || true
meson setup build/ --prefix=/usr
ninja -C build/ install
ldconfig
cd ..
- name: Install scenefx 0.4.1
run: |
# Build scenefx from source
git clone -b 0.4.1 https://github.com/wlrfx/scenefx.git
# Install scenefx from AUR since it's not in official repos
# Create a non-root user for makepkg (AUR requires non-root)
useradd -m -G wheel builder
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
# Clone and build scenefx from AUR as builder user
cd /home/builder
su - builder -c "git clone https://aur.archlinux.org/scenefx.git"
cd scenefx
# Download meson subprojects if needed
meson subprojects download || true
meson setup build/ --prefix=/usr
ninja -C build/ install
ldconfig
cd ..
su - builder -c "cd /home/builder/scenefx && makepkg -si --noconfirm"
- name: Configure meson
run: |