linux

 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"