tabbed-casilda/build-casilda.sh
Andrew Hamilton 280c1d069b Make scripts arch-aware; add bootstrap-deps.sh
Detect the multiarch libdir via cc instead of hardcoding x86_64-linux-gnu
so run.sh and build-casilda.sh work on aarch64. build-casilda.sh now
exports PKG_CONFIG_PATH/LD_LIBRARY_PATH/GI_TYPELIB_PATH to the ~/.local
prefix so meson finds the source-built gtk4/wlroots. Add bootstrap-deps.sh
to build those deps (xkbcommon 1.8.1, wlroots 0.20.1, gtk4 4.22.4) from
source into ~/.local; idempotent and skips already-installed versions.
2026-08-13 21:20:20 +10:00

28 lines
1 KiB
Bash
Executable file

#!/bin/sh
set -e
# Build and install the patched Casilda compositor library from the git fork.
# The fork tracks upstream main plus the force-maximize patch used by the spike.
repo_url="https://forgejo.tail556789.ts.net/ahamilton/casilda.git"
src_dir="$HOME/src/casilda"
prefix="$HOME/.local"
multiarch="$(cc -print-multiarch 2>/dev/null || echo x86_64-linux-gnu)"
pc_path="$prefix/lib/$multiarch/pkgconfig"
export PKG_CONFIG_PATH="$pc_path${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}"
export LD_LIBRARY_PATH="$prefix/lib/$multiarch${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export GI_TYPELIB_PATH="$prefix/lib/$multiarch/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}"
export GSETTINGS_SCHEMA_DIR="$prefix/share/glib-2.0/schemas"
if [ ! -d "$src_dir/.git" ]; then
git clone "$repo_url" "$src_dir"
else
git -C "$src_dir" pull --ff-only
fi
meson setup "$src_dir/build" "$src_dir" --prefix "$prefix"
meson compile -C "$src_dir/build"
meson install -C "$src_dir/build"
echo "Casilda installed to $prefix (typelib at $prefix/lib/$multiarch/girepository-1.0)"