Files
BMLFS/build-scripts/wlroots.build
2023-09-21 08:56:59 -05:00

65 lines
2.4 KiB
Bash

#! /bin/bash
# wlroots 0.16.2
# Source: https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/0.16.2/wlroots-0.16.2.tar.bz2
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: wayland-protocols, wayland, mesa, libinput, libxcb, libseat
# Required: libxkbcommon, pixman, xkeyboard-config, hwdata
# Recommended: xcb-util-renderutil, xcb-util-wm, xcb-util-image
# Optional: xcb-errors
# As of 0.14.x, logind support was dropped in favor of libseat
# version 0.16.0 and master branch from gitlab has missing
# headers used by wayfire. But reveting to specific commit
# allows wayfire to build with wlroots 0.16.0
git clone https://gitlab.freedesktop.org/wlroots/wlroots && \
git checkout 2c59435e8223339070f963263f2caebf07620078 && \
# If optimizing, use flags with GCC
export CFLAGS="-march=native -pipe "
export CFLAGS+="-O3 -ffat-lto-objects -flto=4 "
export LDFLAGS="-flto=4 -Wl,-O2 -Wl,--as-needed "
mkdir build && cd build &&
# For no-X11 support add to confiure:
# -Dx11-backend="disabled" -Dxwayland="disabled"
meson --prefix=/usr \
-Dexamples=false ..
read -p "Compile?" && ninja -j2 &&
sudo -S DESTDIR=$BUILD ninja install &&
cd $BUILD && sudo -S mkdir -v ${BUILD}/install &&
cat > /tmp/slack-desc << "EOF"
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
wlroots: wlroots
wlroots:
wlroots: Pluggable, composable, unopinionated modules for building a Wayland
wlroots: compositor. It provides backends that abstract the underlying
wlroots: display and input hardware, including KMS/DRM, libinput, Wayland,
wlroots: X11, and headless backends, plus any custom backends you choose to
wlroots: write, which can all be created or destroyed at runtime and used in
wlroots: concert with each other.
wlroots:
wlroots: Homepage: https://github.com/swaywm/wlroots
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/wlroots-0.16.2-$PSUFFIX &&
sudo -S rm -rf ${BUILD}/*