198 lines
5.0 KiB
YAML
198 lines
5.0 KiB
YAML
config:
|
|
windows:
|
|
dependencies:
|
|
# We only run `choco` when not in CI env because it's pretty unreliable and slow.
|
|
# The Chocolatey mirror cannot be 100% reliable (according to docs) so it will often fail
|
|
# with an error `503 (Service Unavailable: Back-end server is at capacity)` which causes
|
|
# the nightly CI to fail intermittently.
|
|
command-elevated: if not defined CI (choco install Chocolatey.config -y)
|
|
|
|
# We only run `winget` when not in CI env; it's not available on the GitHub Windows runner.
|
|
# It's simpler to solve dependencies like Ninja with a GitHub workflow action, and cmake is
|
|
# already installed on the Windows runner.
|
|
command: if not defined CI (winget install ninja-build.ninja cmake)
|
|
qt:
|
|
version: 6.7
|
|
mirror: https://qt.mirror.constant.com/
|
|
base-dir: ./deps/qt
|
|
|
|
mac:
|
|
dependencies:
|
|
command: brew bundle --file=Brewfile
|
|
qt:
|
|
version: 6.7
|
|
mirror: https://qt.mirror.constant.com/
|
|
base-dir: ./deps/qt
|
|
|
|
linux:
|
|
debian: &debian
|
|
dependencies:
|
|
command-pre: sudo apt-get update
|
|
command: |
|
|
sudo apt-get install -y \
|
|
cmake \
|
|
make \
|
|
ninja-build \
|
|
g++ \
|
|
file \
|
|
xorg-dev \
|
|
libx11-dev \
|
|
libxtst-dev \
|
|
libssl-dev \
|
|
libglib2.0-dev \
|
|
libgdk-pixbuf-2.0-dev \
|
|
libnotify-dev \
|
|
libxkbfile-dev \
|
|
qt6-base-dev \
|
|
qt6-tools-dev \
|
|
libgtk-3-dev \
|
|
libgtest-dev \
|
|
libgmock-dev \
|
|
libpugixml-dev \
|
|
libei-dev \
|
|
libportal-dev
|
|
optional: [libei-dev, libportal-dev]
|
|
|
|
linuxmint:
|
|
<<: *debian
|
|
|
|
ubuntu:
|
|
<<: *debian
|
|
|
|
fedora: &fedora
|
|
dependencies: &fedora_deps
|
|
command-pre: sudo dnf check-update
|
|
command: |
|
|
sudo dnf install -y \
|
|
cmake \
|
|
make \
|
|
ninja-build \
|
|
gcc-c++ \
|
|
rpm-build \
|
|
openssl-devel \
|
|
glib2-devel \
|
|
gdk-pixbuf2-devel \
|
|
libXtst-devel \
|
|
libnotify-devel \
|
|
libxkbfile-devel \
|
|
qt6-qtbase-devel \
|
|
qt6-qttools-devel \
|
|
gtk3-devel \
|
|
gtest-devel \
|
|
gmock-devel \
|
|
pugixml-devel \
|
|
libei-devel \
|
|
libportal-devel
|
|
optional: [libei-devel, libportal-devel]
|
|
|
|
# RHEL is not actually supported yet, since it doesn't have Qt6 libs.
|
|
# We simply use it as a base for Alma Linux and Rocky Linux.
|
|
rhel: &rhel
|
|
<<: *fedora
|
|
dependencies: &rhel_deps
|
|
<<: *fedora_deps
|
|
command-pre: |
|
|
sudo dnf check-update;
|
|
sudo dnf install -y epel-release;
|
|
dnf config-manager --set-enabled crb
|
|
|
|
rocky:
|
|
<<: *rhel
|
|
dependencies:
|
|
<<: *rhel_deps
|
|
|
|
almalinux:
|
|
<<: *rhel
|
|
dependencies:
|
|
<<: *rhel_deps
|
|
|
|
opensuse-tumbleweed: &opensuse-tumbleweed
|
|
dependencies:
|
|
command-pre: sudo zypper refresh
|
|
command: sudo zypper install -y --force-resolution \
|
|
cmake \
|
|
make \
|
|
ninja \
|
|
gcc-c++ \
|
|
rpm-build \
|
|
libopenssl-devel \
|
|
glib2-devel \
|
|
gdk-pixbuf-devel \
|
|
libXtst-devel \
|
|
libnotify-devel \
|
|
libxkbfile-devel \
|
|
qt6-base-devel \
|
|
qt6-tools-devel \
|
|
gtk3-devel \
|
|
googletest-devel \
|
|
googlemock-devel \
|
|
pugixml-devel \
|
|
libei-devel \
|
|
libportal-devel
|
|
|
|
arch: &arch
|
|
dependencies:
|
|
command: sudo pacman -Syu --noconfirm \
|
|
base-devel \
|
|
cmake \
|
|
ninja \
|
|
gcc \
|
|
openssl \
|
|
glib2 \
|
|
gdk-pixbuf2 \
|
|
libxtst \
|
|
libnotify \
|
|
libxkbfile \
|
|
gtest \
|
|
pugixml \
|
|
libei \
|
|
libportal \
|
|
qt6-base \
|
|
qt6-tools \
|
|
gtk3
|
|
|
|
manjaro:
|
|
<<: *arch
|
|
|
|
subprojects:
|
|
libei:
|
|
dependencies:
|
|
debian: &debian_libei |
|
|
sudo apt-get install -y \
|
|
python3-attr \
|
|
python3-jinja2 \
|
|
libsystemd-dev &&
|
|
pip install attrs jinja2
|
|
|
|
ubuntu: *debian_libei
|
|
linuxmint: *debian_libei
|
|
|
|
fedora: &fedora_libei |
|
|
sudo dnf install -y \
|
|
python3-attrs \
|
|
python3-jinja2 \
|
|
systemd-devel &&
|
|
pip install attrs jinja2
|
|
|
|
rhel: *fedora_libei
|
|
rocky: *fedora_libei
|
|
almalinux: *fedora_libei
|
|
|
|
libportal:
|
|
dependencies:
|
|
debian: &debian_libportal |
|
|
sudo apt-get install -y \
|
|
python3-dbusmock \
|
|
python3-pytest \
|
|
valac \
|
|
protobuf-c-compiler \
|
|
protobuf-compiler \
|
|
libglib2.0 \
|
|
libgtk-3-dev \
|
|
libprotobuf-c-dev \
|
|
libsystemd-dev \
|
|
libgirepository1.0-dev
|
|
|
|
ubuntu: *debian_libportal
|
|
linuxmint: *debian_libportal
|