Skip to content

Latest commit

 

History

History
125 lines (76 loc) · 3.48 KB

File metadata and controls

125 lines (76 loc) · 3.48 KB

Build ddterm from source

1. Obtain the source code

1.a) Using git

git clone https://github.com/ddterm/gnome-shell-extension-ddterm.git

1.b) Download as archive and unpack

GitHub UI provides multiple options for downloading the source code as a .zip (or, sometimes, .tar.gz) archive - for releases, and arbitrary commits.

2. Install the necessary dependencies

To build the extension bundle, you should have the following tools installed:

  • Meson build system - available as a package named meson in most distributions. It automatically pulls in a tool called ninja (package ninja-build) and Python 3 as dependencies.
  • msgcmp, msgmerge, xgettext (gettext package)

  • xsltproc

3. Build the bundle

To build the bundle, cd into the directory with the source code:

cd gnome-shell-extension-ddterm

and run the following commands:

meson setup build-dir
ninja -C build-dir bundle

After these steps, you should get the bundle file: build-dir/ddterm@amezin.github.com.shell-extension.zip.

Tip

Meson puts all built/generated files into a separate directory, in this guide it will be build-dir.

Tip

If the process fails, please double-check that you have all the dependencies (2.a) installed.

4. Install the bundle

Tip

Instead of installing the bundle on your system, you can test it in a virtual machine, or in a nested (windowed) GNOME Shell.

The installation process is described in Install.md - continue from step 2.

Alternatively, you could use meson/ninja to install the bundle too.

4.1.a) user-install

The following command builds the bundle, if necessary, and installs it inside user's $HOME directory (i.e. typical install location for extensions):

ninja -C build-dir user-install

The extension can be uninstalled using the following command:

ninja -C build-dir user-install

4.1.b) meson install or ninja install

Caution

System-wide installation using sudo meson install/sudo ninja install is not recommended. Instead, you should build and install distro-specific packages (.deb, .rpm). meson install ... --destdir ... should work fine in packaging scripts (RPM .spec, debian/rules). See Arch Linux PKGBUILD for example.

You may run meson install under sudo to install the bundle system-wide (to /usr/share/gnome-shell/extensions):

sudo meson install -C build-dir

Or, the same command with ninja:

sudo ninja -C build-dir install

Installed files can be removed with the following command:

sudo ninja -C build-dir uninstall

4.2. Restart GNOME Shell

Described in Install.md - step 3.

4.3. Enable the extension

You can enable the extension as described in Install.md - step 4, or by running:

ninja -C build-dir enable

Tip

It's not necessary to repeat this step after every reinstallation. If an extension was already enabled for this user, this step can be skipped.