#!/bin/bash # Installer/configuration tool for wine # If this fails on your system, please contact storm_dragon@linux-a11y.org is_function() { LC_ALL=C type "$1" 2> /dev/null | grep -q "$1 is a function" } configure_arch() { declare -a packageList=(cabextract dos2unix unzip wget wine winetricks wine_gecko wine-mono sdl2 ncurses mpg123 libpulse libpng libjpeg-turbo gnutls alsa-plugins alsa-lib mesa openal xz) if [[ "$(uname -m)" == "x86_64" ]]; then # Enable multilib sudo sed -i '/^#\[multilib\]$/{{N;s/^#\[multilib\]\n#Include = \/etc\/pacman.d\/mirrorlist$/[multilib]\nInclude = \/etc\/pacman.d\/mirrorlist/;t;P;D}}' /etc/pacman.conf # include lib32 packages. packageList+=(lib32-sdl2 lib32-ncurses lib32-mpg123 lib32-libpulse lib32-libpng lib32-libjpeg-turbo lib32-gnutls lib32-alsa-plugins lib32-alsa-lib lib32-mesa lib32-openal) fi sudo pacman -Sy --needed ${packageList[*]} } configure_debian() { declare -a packageList=(winehq-stable) # make sure 32 bit libraries are available sudo dpkg --add-architecture i386 sudo apt install --install-recommends ${packageList[*]} } distro="$(head -1 /etc/issue | cut -d ' ' -f1)" distro="${distro,,}" if is_function configure_${distro} ; then configure_${distro} else echo "${distro^} is not yet supported. If you want it added, please contact storm_dragon@linux-a11y.org" | fold -s -w 72 fi exit 0