Install openSUSE Tumbleweed in a VM
- Download latest openSUSE Tumbleweed ISO
openSUSE-Tumbleweed-DVD-x86_64-Snapshotyyyymmdd-Media.iso
- Give it plenty of disk: at least 28 GB.
Install dependencies
sudo zypper ar https://download.opensuse.org/source/tumbleweed/repo/oss/ openSUSE-Tumbleweed-Source
sudo zypper ref
sudo zypper dup
sudo zypper si -d gnome-shell mutter gjs
sudo zypper in libgraphene-devel git
sudo zypper ar https://download.opensuse.org/repositories/GNOME:Next/openSUSE_Factory/GNOME:Next.repo
sudo zypper ref
sudo zypper in mozjs68-devel
Create placeholder directories
mkdir ~/src && cd ~/src
Build gjs from source
git clone https://gitlab.gnome.org/GNOME/gjs
cd ~/src/gjs
meson --prefix=/usr build
ninja -C build install
Build mutter from source
cd ~/src
git clone https://gitlab.gnome.org/GNOME/mutter
cd ~/src/mutter
nano meson.build
# line 244, change 'libpipewire-0.3' with 'libpipewire-0.2'
# line 53, libpipewire_req = '>= 0.3.0' with libpipewire_req = '>= 0.2.0'
meson --prefix=/usr -Dprofiler=false build
ninja -C build install
Build the shell from source
cd ~/src
git clone https://gitlab.gnome.org/GNOME/gnome-shell
cd ~/src/gnome-shell
meson --prefix=/usr build
ninja -C build install