aboutsummaryrefslogtreecommitdiff
path: root/ubuntu.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ubuntu.sh')
-rwxr-xr-xubuntu.sh53
1 files changed, 49 insertions, 4 deletions
diff --git a/ubuntu.sh b/ubuntu.sh
index 8ae1e8b..288bdbb 100755
--- a/ubuntu.sh
+++ b/ubuntu.sh
@@ -1,7 +1,52 @@
#!/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 \
@@ -16,16 +61,16 @@ if ! [ -d "$codedir/wl/wlroots" ] ; then
"$codedir/wl/wlroots"
fi
cd "$codedir/wl/wlroots"
-git checkout 0.17.1
+git checkout 0.18.2
meson setup --wipe -Dprefix=/usr/local build/
ninja -C build/
sudo ninja -C build/ install
cd -
-exit 0;
-zigdir="$HOME/scm/zig/zig0.11.0"
+zigver=0.13.0
+zigdir="$HOME/scm/zig/zig$zigver"
zigout="${zigdir}.tar.xz"
-zigurl="https://ziglang.org/download/0.11.0/zig-linux-x86_64-0.11.0.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