#!/bin/sh # ubuntu.sh set -ex codedir="$HOME/scm" grep -q 24.04 /etc/os-release && sudo apt install -y gcc-14 g++-14 sudo apt install -y python3-pip python3-venv python3 -m venv "$codedir/wl/venv" . "$codedir/wl/venv/bin/activate" python3 -m pip install meson python3 -m pip install ninja sudo apt build-dep -y wayland if ! [ -d "$codedir/wl/wayland" ] ; then git clone https://gitlab.freedesktop.org/wayland/wayland \ "$codedir/wl/wayland" fi cd "$codedir/wl/wayland" git checkout 1.23.1 meson setup --wipe -Dprefix=/usr/local build/ ninja -C build/ sudo ninja -C build/ install cd - if ! [ -d "$codedir/wl/drm" ] ; then git clone https://gitlab.freedesktop.org/mesa/drm \ "$codedir/wl/drm" fi cd "$codedir/wl/drm" git checkout libdrm-2.4.124 meson setup --wipe -Dprefix=/usr/local build/ ninja -C build/ sudo ninja -C build/ install cd - if ! [ -d "$codedir/wl/wayland-protocols" ] ; then git clone https://gitlab.freedesktop.org/wayland/wayland-protocols \ "$codedir/wl/wayland-protocols" fi cd "$codedir/wl/wayland-protocols" git checkout 1.39 meson setup --wipe -Dprefix=/usr/local build/ ninja -C build/ sudo ninja -C build/ install cd - sudo apt install -y meson libwayland-dev wayland-protocols libegl-dev \ libvulkan-dev libdrm-dev libgbm-dev libinput-dev libxkbcommon-dev \ libudev-dev libpixman-1-dev libseat-dev hwdata libdisplay-info-dev \ libliftoff-dev libgles-dev \ \ xwayland libxcb1-dev libxcb-render-util0-dev libxcb-util0-dev \ libxcb-composite0-dev libxcb-ewmh-dev libxcb-icccm4-dev \ libxcb-res0-dev if ! [ -d "$codedir/wl/wlroots" ] ; then git clone https://gitlab.freedesktop.org/wlroots/wlroots \ "$codedir/wl/wlroots" fi cd "$codedir/wl/wlroots" git checkout 0.18.2 meson setup --wipe -Dprefix=/usr/local build/ ninja -C build/ sudo ninja -C build/ install cd - zigver=0.13.0 zigdir="$HOME/scm/zig/zig$zigver" zigout="${zigdir}.tar.xz" zigurl="https://ziglang.org/download/${zigver}/zig-linux-x86_64-${zigver}.tar.xz" zigsigurl="${zigurl}.minisig" zigkey="RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U" sudo apt install -y wget minisign mkdir -p "$(dirname "$zigdir")" cd "$(dirname "$zigdir")" if ! [ -d "$zigdir" ] ; then wget -O "$zigout" "$zigurl" wget -O "${zigout}.minisig" "$zigsigurl" minisign -Vm "$zigout" -P "$zigkey" mkdir "$zigdir" cd - cd "$zigdir" tar --strip-components=1 -xJf "$zigout" fi export PATH="$zigdir:$PATH" cd - ./bldRiver.sh sudo apt install -y foot bemenu waybar swaylock swaybg grim slurp wlr-randr \ wdisplays ./bldSession.sh