aboutsummaryrefslogtreecommitdiff
path: root/ubuntu.sh
blob: 288bdbba34c8218e6209510e134704258fb8c4dc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/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