Files
deskflow/config.yaml
2024-09-25 12:54:33 +01:00

206 lines
5.2 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.2
mirror: https://qt.mirror.constant.com/
base-dir: ./deps/qt
mac:
dependencies:
command: brew bundle --file=Brewfile
qt:
version: 6.7.2
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 \
libtomlplusplus-dev \
libcli11-dev
optional: [libei-dev, libportal-dev, libtomlplusplus-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 \
tomlplusplus-devel \
cli11-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 \
tomlplusplus-devel \
cli11-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 \
tomlplusplus \
cli11
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