#! /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}/*