You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			117 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Bash
		
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Bash
		
	
#!/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://github.com/Botspot/zoom_686_mirror/raw/main/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=${DIRECTORY}/etc/terminal-run "\""$HOME/zoom/runzoom.sh"\"" 'Close this window to exit Zoom'
 | 
						|
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;
 | 
						|
StartupNotify=true" > ~/.local/share/applications/zoom.desktop
 | 
						|
 | 
						|
echo "Installation complete!"
 | 
						|
 | 
						|
 | 
						|
 |