From d862e56e34ad1a76836cc2716b473a61879f2205 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Fri, 27 Mar 2026 21:15:00 +0100 Subject: feat: init desktop app --- apps/desktop/script/setup | 110 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 apps/desktop/script/setup (limited to 'apps/desktop/script/setup') diff --git a/apps/desktop/script/setup b/apps/desktop/script/setup new file mode 100644 index 00000000..3152a080 --- /dev/null +++ b/apps/desktop/script/setup @@ -0,0 +1,110 @@ +#!/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 -- cgit v1.3.1