111 lines
2.0 KiB
Bash
111 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Installs the native system libraries GPUI needs to compile on Linux/macOS.
|
|
# Run script/setup-rust first if you don't have Rust installed yet.
|
|
|
|
set -euo pipefail
|
|
|
|
if [ "$(id -u)" -eq 0 ]; then
|
|
maysudo=''
|
|
else
|
|
maysudo="$(command -v sudo || command -v doas || true)"
|
|
fi
|
|
|
|
# Ubuntu, Debian, Mint, Pop!_OS, Kali, Raspbian, etc.
|
|
apt=$(command -v apt-get || true)
|
|
if [[ -n $apt ]]; then
|
|
deps=(
|
|
curl
|
|
build-essential
|
|
pkg-config
|
|
gcc
|
|
g++
|
|
make
|
|
libasound2-dev
|
|
libfontconfig-dev
|
|
libglib2.0-dev
|
|
libssl-dev
|
|
libva-dev
|
|
libvulkan1
|
|
libwayland-dev
|
|
libx11-xcb-dev
|
|
libxkbcommon-x11-dev
|
|
libzstd-dev
|
|
libsqlite3-dev
|
|
)
|
|
|
|
$maysudo "$apt" update
|
|
$maysudo "$apt" install -y "${deps[@]}"
|
|
echo "Desktop native dependencies installed."
|
|
exit 0
|
|
fi
|
|
|
|
# Fedora, RHEL, CentOS, Alma, etc.
|
|
dnf=$(command -v dnf || true)
|
|
if [[ -n $dnf ]]; then
|
|
deps=(
|
|
gcc
|
|
gcc-c++
|
|
make
|
|
pkg-config
|
|
alsa-lib-devel
|
|
fontconfig-devel
|
|
glib2-devel
|
|
openssl-devel
|
|
libva-devel
|
|
vulkan-loader
|
|
wayland-devel
|
|
libxcb-devel
|
|
libxkbcommon-x11-devel
|
|
libzstd-devel
|
|
sqlite-devel
|
|
curl
|
|
)
|
|
|
|
$maysudo "$dnf" install -y "${deps[@]}"
|
|
echo "Desktop native dependencies installed."
|
|
exit 0
|
|
fi
|
|
|
|
# Arch, Manjaro, etc.
|
|
pacman=$(command -v pacman || true)
|
|
if [[ -n $pacman ]]; then
|
|
deps=(
|
|
gcc
|
|
make
|
|
pkgconf
|
|
alsa-lib
|
|
fontconfig
|
|
glib2
|
|
openssl
|
|
libva
|
|
vulkan-loader
|
|
wayland
|
|
libxcb
|
|
libxkbcommon-x11
|
|
zstd
|
|
sqlite
|
|
curl
|
|
)
|
|
|
|
$maysudo "$pacman" -Syu --needed --noconfirm "${deps[@]}"
|
|
echo "Desktop native dependencies installed."
|
|
exit 0
|
|
fi
|
|
|
|
# macOS
|
|
if [[ "$(uname)" == "Darwin" ]]; then
|
|
if ! xcode-select -p &> /dev/null; then
|
|
echo "Installing Xcode Command Line Tools..."
|
|
xcode-select --install
|
|
echo "Re-run this script after the Xcode install completes."
|
|
exit 0
|
|
fi
|
|
|
|
echo "Desktop native dependencies installed."
|
|
exit 0
|
|
fi
|
|
|
|
echo "Unsupported platform. See apps/desktop/README.md for manual setup instructions."
|
|
exit 1
|