# Test whether building gnome-system-monitor works on fedora and ubuntu.
# Tests against the latest libtop master version.
stages:
- build
variables:
FEDORA_LIBGTOP_DEPENDENCIES: # packages required to build libgtop on fedora.
gettext-devel
gobject-introspection-devel
gtk-doc
texinfo-tex
FEDORA_DEPENDENCIES: # packages required to build the system monitor on fedora.
appstream
gcc-c++
git
glibmm24-devel
gtkmm30-devel
itstool
libhandy1-devel
librsvg2-devel
libxml2-devel
meson
UBUNTU_LIBGTOP_DEPENDENCIES: # packages required to build libgtop on ubuntu.
automake
autopoint
gettext
gtk-doc-tools
libgirepository1.0-dev
libtool
make
texinfo
texlive
UBUNTU_LIBHANDY_DEPENDENCIES: # packages required to build libhandy on ubuntu.
libgladeui-2-13
valac
UBUNTU_DEPENDENCIES: # packages required to build the system monitor on ubuntu.
appstream-util
git
itstool
libglibmm-2.4-dev
libgtkmm-3.0-dev
librsvg2-dev
libsystemd-dev
libxml2-dev
meson
build-fedora:
image: fedora:latest
stage: build
except:
- tags
before_script:
- dnf update -y --nogpgcheck
- dnf install -y --nogpgcheck $FEDORA_LIBGTOP_DEPENDENCIES $FEDORA_DEPENDENCIES
script:
- git clone https://gitlab.gnome.org/gnome/libgtop.git/ # build and install libgtop
- cd libgtop
- mkdir _build
- cd _build
- ../autogen.sh --disable-dependency-tracking --prefix=/usr --libdir=/usr/lib64
- make
- make install
- cd ../.. # build and install gnome-system-monitor
- meson _build -Dsystemd=false
- ninja -C _build
- ninja -C _build install
build-ubuntu:
image: ubuntu:jammy
stage: build
except:
- tags
before_script:
- apt-get update
- DEBIAN_FRONTEND=noninteractive apt-get install -y $UBUNTU_LIBGTOP_DEPENDENCIES $UBUNTU_LIBHANDY_DEPENDENCIES $UBUNTU_DEPENDENCIES
script:
- git clone https://gitlab.gnome.org/gnome/libgtop.git/ # build and install libgtop
- cd libgtop
- mkdir _build
- cd _build
- ../autogen.sh
- make
- make install
- cd ../.. # build and install libhandy because the version in the ubuntu package repository is too outdated.
- git clone https://gitlab.gnome.org/gnome/libhandy.git/
- cd libhandy
- meson _build
- ninja -C _build
- ninja -C _build install
- cd .. # build and install gnome-system-monitor
- meson _build
- ninja -C _build
- ninja -C _build install