jsketcher/scripts/setup_tauri_dev_linux.sh
DaOfficialWizard 46bda82726 fix: script for linux
- use user input instead of auto-detection
2023-05-04 16:49:37 +01:00

101 lines
3.1 KiB
Bash

#!/bin/bash
printf "This Script will setup the tauri dev environment\n"
# check if the user is running as root
if [ "$EUID" -ne 0 ]; then
printf "Please run as root\n"
exit 1
fi
# get user input and store in variable
printf "Do you want to install the Linux Development Dependencies? (y/n)\n"
read -r input
# check if the user input is y or n
if [ "$input" == "y" ]; then
printf "Installing Linux Development Dependencies\n"
else
printf "Not installing Linux Development Dependencies\n"
fi
# Get their distro
printf "Which distro are you running? (ubuntu/arch/fedora/gentoo/opensuse/void)\n"
read -r distro
# convert distro to lowercase
distro=${distro,,}
# check if the distro is Ubuntu or arch or fedora or gentoo or openSUSE or NixOS or GNU GUIX or void
if [ "$distro" == "ubuntu" ] || [ "$distro" == "arch" ] || [ "$distro" == "fedora" ] || [ "$distro" == "gentoo" ] || [ "$distro" == "opensuse" ] || [ "$distro" == "void" ]; then
printf "Distro is $distro\n"
else
printf "Distro is not supported\n"
printf "NixOS and GNU GUIX are not supported by this script, but are supported by tauri - please see the tauri docs for more information.\n"
exit 1
fi
## Which distro are we on?
#printf "Detecting Distro\n"
#
## run this command: cat /etc/*-release | uniq -u and grep for the ID field and pipe into a variable
#
#cat /etc/*-release | uniq -u | grep -i "ID" | cut -d "=" -f 2 | tr -d '"' | tr -d '\n' >distro.txt
#
## read the variable into a variable
#distro=$(cat distro.txt)
#
## grab just the first word of the variable
#distro=$(echo $distro | cut -d " " -f 1)
#
## convert distro to lowercase
#distro=${distro,,}
## remove the file
#rm distro.txt
# Install Linux Development Dependencies
# run specific commands based on the distro
case $distro in
"ubuntu")
printf "Installing Ubuntu Development Dependencies\n"
sudo apt update
sudo apt install libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
;;
"arch")
printf "Installing Arch Development Dependencies\n"
sudo pacman -Syu
sudo pacman -S --needed webkit2gtk base-devel curl wget openssl appmenu-gtk-module gtk3 libappindicator-gtk3 librsvg libvips
;;
"fedora")
printf "Installing Fedora Development Dependencies\n"
sudo dnf check-update
sudo dnf install webkit2gtk4.0-devel openssl-devel curl wget libappindicator-gtk3 librsvg2-devel
sudo dnf group install "C Development Tools and Libraries"
;;
"gentoo")
printf "Installing Gentoo Development Dependencies\n"
sudo emerge --ask net-libs/webkit-gtk:4 dev-libs/libappindicator net-misc/curl net-misc/wget
;;
"opensuse")
printf "Installing openSUSE Development Dependencies\n"
sudo zypper up
sudo zypper in webkit2gtk3-soup2-devel libopenssl-devel curl wget libappindicator3-1 librsvg-devel
sudo zypper in -t pattern devel_basis
;;
"void")
printf "Installing Void Development Dependencies\n"
sudo xbps-install -Syu
sudo xbps-install -S webkit2gtk curl wget openssl gtk+3 libappindicator librsvg gcc pkg-config
;;
esac
# Install Rust
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
# All done!
printf "All done!\n"