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**:
|
||||
|
||||
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
|
||||
|
||||
|
|
|
|||
35
.github/workflows/build.yml
vendored
35
.github/workflows/build.yml
vendored
|
|
@ -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: |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue