1#!/usr/bin/bash -e
2
3# if sudo is not installed, define an empty alias
4maysudo=$(command -v sudo || command -v doas || true)
5
6# Ubuntu, Debian, etc.
7# https://packages.ubuntu.com/
8apt=$(command -v apt-get || true)
9if [[ -n $apt ]]; then
10 deps=(
11 libasound2-dev
12 libfontconfig-dev
13 libwayland-dev
14 libxkbcommon-x11-dev
15 libssl-dev
16 libzstd-dev
17 )
18 $maysudo "$apt" install -y "${deps[@]}"
19 exit 0
20fi
21
22# Fedora, CentOS, RHEL, etc.
23# https://packages.fedoraproject.org/
24dnf=$(command -v dnf || true)
25if [[ -n $dnf ]]; then
26 deps=(
27 alsa-lib-devel
28 fontconfig-devel
29 wayland-devel
30 libxkbcommon-x11-devel
31 openssl-devel
32 libzstd-devel
33 )
34 $maysudo "$dnf" install -y "${deps[@]}"
35 exit 0
36fi
37
38# openSuse
39# https://software.opensuse.org/
40zyp=$(command -v zypper || true)
41if [[ -n $zyp ]]; then
42 deps=(
43 alsa-devel
44 fontconfig-devel
45 wayland-devel
46 libxkbcommon-x11-devel
47 openssl-devel
48 libzstd-devel
49 )
50 $maysudo "$zyp" install -y "${deps[@]}"
51 exit 0
52fi
53
54# Arch, Manjaro, etc.
55# https://archlinux.org/packages
56pacman=$(command -v pacman || true)
57if [[ -n $pacman ]]; then
58 deps=(
59 alsa-lib
60 fontconfig
61 wayland
62 libxkbcommon-x11
63 openssl
64 zstd
65 )
66 $maysudo "$pacman" -S --needed --noconfirm "${deps[@]}"
67 exit 0
68fi
69
70# Void
71# https://voidlinux.org/packages/
72xbps=$(command -v xbps-install || true)
73if [[ -n $xbps ]]; then
74 deps=(
75 alsa-lib-devel
76 fontconfig-devel
77 libxcb-devel
78 libxkbcommon-devel
79 libzstd-devel
80 openssl-devel
81 wayland-devel
82 )
83 $maysudo "$xbps" -Syu "${deps[@]}"
84 exit 0
85fi
86
87echo "Unsupported Linux distribution in script/linux"