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.
28 lines
1 KiB
Bash
Executable file
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)"
|