#!/bin/bash DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")" function error { echo -e "\\e[91m$1\\e[39m" exit 1 } cd $HOME #if box86 folder exists if [ -d box86 ];then # if OS is not twisteros, then ask if [ ! -f /usr/local/bin/twistver ];then echo -n "Box86 already exists on your system. Do you want it overwritten with the latest version? [Y/n] " read answer if [ ! -z "$answer" ] && [ "$answer" == 'n' ];then echo -e "OK, using your pre-existing version of box86.\nBe warned though: It may be out of date and \e[1m\e[97mmay not run Zoom successfully!\e[0m" #os is not twister, and box86 exists, but user declined overwrite compile=0 else #not twisteros, box86 does exist, and user confirmed overwrite compile=1 fi else #os is twisteros and box86 folder exists: don't even ask, grayduck says the answer is NO compile=0 fi else #os may or may not be twisteros, but box86 does not exist compile=1 fi echo '' if [ -d "${HOME}/zoom" ];then echo -ne "${HOME}/zoom already exists on your system. Do you want it overwritten with the latest version? [Y/n] " read answer if [ ! -z "$answer" ] && [ "$answer" == 'n' ];then dlzoom=0 else dlzoom=1 fi else dlzoom=1 fi # Get dependencies cd $HOME "${DIRECTORY}/pkg-install" "libxcb-xtest0 libxcb-xfixes0 cmake pulseaudio-utils pulseaudio" "$(dirname "$0")" || exit 1 #refresh lib list sudo ldconfig if [ $dlzoom == 1 ];then echo "Downloading Zoom..." rm -rf "${HOME}/zoom" ~/zoom_i686.tar.xz wget 'https://zoom.us/client/latest/zoom_i686.tar.xz' || error 'Failed to download Zoom i686!' tar -xf ~/zoom_i686.tar.xz || error 'Failed to extract Zoom i686!' rm -f ~/zoom_i686.tar.xz #who cares if this fails fi echo 'Creating launcher script' echo '#!/bin/bash echo -e "\e[102m\e[30mLaunching pulseaudio.\e[0m" pulseaudio & pulsepid=$! trap "kill $pulsepid" EXIT echo "the pulsepid is $pulsepid" sleep 2 cd ${HOME}/zoom/ echo -e "\e[102m\e[30mLaunching Zoom.\e[0m" box86 zoom' > "${HOME}/zoom/runzoom.sh" chmod +x "${HOME}/zoom/runzoom.sh" if [ $compile == 1 ];then gio trash ~/box86 git clone https://github.com/ptitSeb/box86 || error 'Failed to clone repository!' cd box86 || error 'Failed to enter repository!' mkdir build || error 'Failed to make build directory!' cd build || error 'Failed to enter build directory!' cmake .. -DRPI4=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo || error 'Failed to run cmake!' echo "Compiling box86..." make -j24 || error 'Failed to compile!' echo "Installing box86 on your system..." sudo make install || error 'Failed to run sudo make install!' cd $HOME fi cd $HOME if [ ! -f /usr/local/bin/box86 ];then error "Box86 should be installed by now, but /usr/local/bin/box86 does not exist!" fi echo "Restarting systemd-binfmt service..." sudo systemctl restart systemd-binfmt #if this fails, no big deal. echo "Creating Application Menu button..." echo "[Desktop Entry] Name=Zoom Exec=lxterminal --title 'Close this window to exit Zoom' -e "\""$HOME/zoom/runzoom.sh"\"" Icon=${DIRECTORY}/apps/Zoom/icon-64.png Path=${HOME}/zoom/ Type=Application Comment=i386 version of software platform used for teleconferencing using Box86 Categories=Network;" > ~/.local/share/applications/zoom.desktop echo "Installation complete!" systemctl --user disable pulseaudio.service pulseaudio.socket