mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-05-02 06:46:29 -04:00
Use pacman for all dependencies, install scenefx from AUR
Co-authored-by: squassina <8495707+squassina@users.noreply.github.com>
This commit is contained in:
parent
6a209101a0
commit
9f4b2a6314
2 changed files with 24 additions and 40 deletions
29
.github/workflows/README.md
vendored
29
.github/workflows/README.md
vendored
|
|
@ -24,32 +24,27 @@ This directory contains the GitHub Actions workflows for the MangoWC project.
|
||||||
**What it does**:
|
**What it does**:
|
||||||
|
|
||||||
1. Runs in Arch Linux container (archlinux:latest)
|
1. Runs in Arch Linux container (archlinux:latest)
|
||||||
2. Updates system and installs dependencies via pacman
|
2. Updates system and installs all dependencies via pacman
|
||||||
3. Builds wlroots 0.19.0 from source
|
3. Installs wlroots from official Arch repositories
|
||||||
4. Builds scenefx 0.4.1 from source
|
4. Installs scenefx from AUR (Arch User Repository)
|
||||||
5. Uses `meson subprojects download` to fetch any required subproject
|
5. Configures the project with meson
|
||||||
dependencies
|
6. Builds the project with ninja
|
||||||
6. Configures the project with meson
|
7. Verifies the executables were created
|
||||||
7. Builds the project with ninja
|
|
||||||
8. Verifies the executables were created
|
|
||||||
|
|
||||||
**Build Strategy**:
|
**Build Strategy**:
|
||||||
|
|
||||||
- Uses Arch Linux for up-to-date system packages (wayland, libinput, etc.)
|
- Uses Arch Linux for up-to-date system packages
|
||||||
- Only builds wlroots and scenefx from source (not available in pacman)
|
- All dependencies installed via pacman or AUR (no source builds)
|
||||||
- Uses `meson subprojects download` before each meson setup to fetch required
|
- wlroots installed from official Arch repositories
|
||||||
subprojects
|
- scenefx installed from AUR
|
||||||
- Allows meson wrap mode for automatic subproject handling
|
|
||||||
(no --wrap-mode=nodownload)
|
|
||||||
|
|
||||||
**Dependencies**:
|
**Dependencies**:
|
||||||
|
|
||||||
- Arch Linux container (archlinux:latest)
|
- Arch Linux container (archlinux:latest)
|
||||||
- Meson build system
|
- Meson build system
|
||||||
- Ninja build tool
|
- Ninja build tool
|
||||||
- System packages from pacman (wayland, libinput, mesa, etc.)
|
- All system packages from pacman (wayland, libinput, wlroots, mesa, etc.)
|
||||||
- wlroots 0.19.0 (built from source)
|
- scenefx from AUR
|
||||||
- scenefx 0.4.1 (built from source)
|
|
||||||
|
|
||||||
### docs.yml
|
### docs.yml
|
||||||
|
|
||||||
|
|
|
||||||
33
.github/workflows/build.yml
vendored
33
.github/workflows/build.yml
vendored
|
|
@ -44,7 +44,7 @@ jobs:
|
||||||
# Update package database
|
# Update package database
|
||||||
pacman -Syu --noconfirm
|
pacman -Syu --noconfirm
|
||||||
|
|
||||||
# Install build tools and dependencies
|
# Install build tools and all dependencies
|
||||||
pacman -S --noconfirm \
|
pacman -S --noconfirm \
|
||||||
base-devel \
|
base-devel \
|
||||||
git \
|
git \
|
||||||
|
|
@ -65,32 +65,21 @@ jobs:
|
||||||
libdisplay-info \
|
libdisplay-info \
|
||||||
seatd \
|
seatd \
|
||||||
mesa \
|
mesa \
|
||||||
|
wlroots \
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
||||||
- name: Install wlroots 0.19.0
|
- name: Install scenefx from AUR
|
||||||
run: |
|
run: |
|
||||||
# Build wlroots 0.19.0 from source
|
# Install scenefx from AUR since it's not in official repos
|
||||||
git clone https://gitlab.freedesktop.org/wlroots/wlroots.git
|
# Create a non-root user for makepkg (AUR requires non-root)
|
||||||
cd wlroots
|
useradd -m -G wheel builder
|
||||||
git checkout 0.19.0
|
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||||
# 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
|
# Clone and build scenefx from AUR as builder user
|
||||||
run: |
|
cd /home/builder
|
||||||
# Build scenefx from source
|
su - builder -c "git clone https://aur.archlinux.org/scenefx.git"
|
||||||
git clone -b 0.4.1 https://github.com/wlrfx/scenefx.git
|
|
||||||
cd scenefx
|
cd scenefx
|
||||||
# Download meson subprojects if needed
|
su - builder -c "cd /home/builder/scenefx && makepkg -si --noconfirm"
|
||||||
meson subprojects download || true
|
|
||||||
meson setup build/ --prefix=/usr
|
|
||||||
ninja -C build/ install
|
|
||||||
ldconfig
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
- name: Configure meson
|
- name: Configure meson
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue