Skip to content

Instantly share code, notes, and snippets.

@cho2
Last active February 21, 2020 13:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cho2/5c42dd7c4015ae6618d351418485c9a9 to your computer and use it in GitHub Desktop.
Save cho2/5c42dd7c4015ae6618d351418485c9a9 to your computer and use it in GitHub Desktop.
Building gnome-shell master in openSUSE Tumbleweed (based on https://gitlab.gnome.org/snippets/1017)

Install openSUSE Tumbleweed in a VM

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment