Box64Droid / native.py
Kzksjzki828828's picture
Update native.py
e5a1fb2 verified
import os, shutil, time
def download_widget_scripts():
os.system("mkdir -p /data/data/com.termux/files/home/.shortcuts && chmod 700 -R /data/data/com.termux/files/home/.shortcuts")
os.system(r"wget https://raw.githubusercontent.com/Ilya114/Box64Droid/main/scripts/nativewd/1\)\ Start\ Box64Droid -q -P /data/data/com.termux/files/home/.shortcuts")
os.system(r"wget https://raw.githubusercontent.com/Ilya114/Box64Droid/main/scripts/nativewd/2\)\ Change\ Wine\ version -q -P /data/data/com.termux/files/home/.shortcuts")
os.system(r"wget https://raw.githubusercontent.com/Ilya114/Box64Droid/main/scripts/nativewd/3\)\ Update\ Box64Droid -q -P /data/data/com.termux/files/home/.shortcuts")
os.system(r"wget https://raw.githubusercontent.com/Ilya114/Box64Droid/main/scripts/nativewd/4\)\ Update\ Box64 -q -P /data/data/com.termux/files/home/.shortcuts")
os.system(r"wget https://raw.githubusercontent.com/Ilya114/Box64Droid/main/scripts/nativewd/5\)\ Open\ Winetricks -q -P /data/data/com.termux/files/home/.shortcuts")
os.system(r"wget https://raw.githubusercontent.com/Ilya114/Box64Droid/main/scripts/nativewd/6\)\ Recreate\ Wine\ prefix -q -P /data/data/com.termux/files/home/.shortcuts")
os.system(r"wget https://raw.githubusercontent.com/Ilya114/Box64Droid/main/scripts/nativewd/7\)\ Uninstall\ Box64Droid -q -P /data/data/com.termux/files/home/.shortcuts")
def packages():
os.system("pkg install x11-repo glibc-repo -y &>/dev/null")
os.system("pkg install pulseaudio wget glibc git xkeyboard-config freetype fontconfig libpng xorg-xrandr termux-x11-nightly termux-am zenity which bash curl sed cabextract -y --no-install-recommends &>/dev/null")
def check_prev_version():
prefix = "/data/data/com.termux/files/home/.wine"
glibc = "/data/data/com.termux/files/usr/glibc"
config = "/sdcard/Box64Droid"
if os.path.exists(prefix):
shutil.rmtree(prefix)
if os.path.exists(glibc):
shutil.rmtree(glibc)
if os.path.exists(config):
shutil.rmtree(config)
def install_glibc():
os.system("wget -q --show-progress https://github.com/Ilya114/Box64Droid/releases/download/alpha/glibc-prefix.tar.xz")
os.system("tar -xJf glibc-prefix.tar.xz -C $PREFIX/")
def scripts():
os.system("wget https://huggingface.co/Kzksjzki828828/Box64Droid/raw/main/box64droid &>/dev/null")
os.system("wget https://huggingface.co/Kzksjzki828828/Box64Droid/raw/main/box64droid.py &>/dev/null")
os.system("wget https://huggingface.co/Kzksjzki828828/Box64Droid/raw/main/start-box64.py &>/dev/null")
os.system("wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks &>/dev/null")
os.system("chmod +x box64droid winetricks")
os.system("mv box64droid box64droid.py start-box64.py winetricks $PREFIX/bin/")
os.system("ln -s $PREFIX/glibc/opt/wine/bin/wine $PREFIX/glibc/bin/wine")
os.system("ln -s $PREFIX/glibc/opt/wine/bin/wine64 $PREFIX/glibc/bin/wine64")
os.system("ln -s $PREFIX/glibc/opt/wine/bin/wineserver $PREFIX/glibc/bin/wineserver")
os.system("ln -s $PREFIX/glibc/opt/wine/bin/wineboot $PREFIX/glibc/bin/wineboot")
os.system("ln -s $PREFIX/glibc/opt/wine/bin/winecfg $PREFIX/glibc/bin/winecfg")
def clear_waste():
os.system("rm glibc-prefix.tar.xz install native.py")
os.system("clear")
def storage():
if not os.path.exists("/data/data/com.termux/files/home/storage"):
os.system("termux-setup-storage")
time.sleep(2)
os.system("clear")
print(" Starting Box64Droid installation... Please allow storage permission!")
storage()
print("")
print(" Installing packages (might be long)...")
print("")
packages()
print(" Checking for older Box64Droid versions and removing them if any...")
print("")
check_prev_version()
print(" Downloading and unpacking glibc-prefix, please wait...")
print("")
install_glibc()
print("")
print(" Downloading starting scripts...")
print("")
scripts()
print("Creating scripts to launch via widget...")
download_widget_scripts()
print(" Removing the installation waste...")
clear_waste()
print(' Installation finished. To start Box64Droid create Termux:Widget widget (app should be already installed) then run "1) Start Box64Droid" or run "box64droid --start" in Termux (outdated), to see more arguments run "box64droid --help"')
print("")
print(" And if everything goes as planned, Wine and 7-Zip file manager will start.")
print("")