forked from CastroFidel/PortWINE
Scripts version 1061
This commit is contained in:
parent
361c737c18
commit
7168b32480
@ -1,8 +1,7 @@
|
|||||||
История изменений и дальнейшие планы:
|
История изменений и дальнейшие планы:
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
В планах:
|
В планах:
|
||||||
* добавить автоматическое обновление при выходе нового порта
|
* перенести reset в GUI PortProton
|
||||||
* добавить вывод ошибки при скачивании файла при автоматической установки
|
|
||||||
* добавить фикс установки dotnet
|
* добавить фикс установки dotnet
|
||||||
* добавить кнопку очистки префикса в PortProton
|
* добавить кнопку очистки префикса в PortProton
|
||||||
* проверка версий и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.zip
|
* проверка версий и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.zip
|
||||||
@ -11,14 +10,14 @@
|
|||||||
* проверить windows steam под PortProton
|
* проверить windows steam под PortProton
|
||||||
* создать defaut префикс и сделать авто симлинки в другие префиксы (games, programm files, users)
|
* создать defaut префикс и сделать авто симлинки в другие префиксы (games, programm files, users)
|
||||||
* иконка в трей для PortProton
|
* иконка в трей для PortProton
|
||||||
* сменить цвет url
|
|
||||||
* добавить контроль за окнами для правильного отключения прогресс бара
|
* добавить контроль за окнами для правильного отключения прогресс бара
|
||||||
* проверка версий dxvk на github: curl -s https://github.com/doitsujin/dxvk/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g'
|
|
||||||
* проверка версий vkd3d на github: curl -s https://github.com/HansKristian-Work/vkd3d-proton/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g'
|
|
||||||
* зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru
|
* зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
###Scripts version 1061###
|
###Scripts version 1061###
|
||||||
|
* в GUI изменен цвет ссылок url на красный
|
||||||
|
* частичная чистка кода
|
||||||
* проверка и удаление scripts.tar.xz перед обновлением
|
* проверка и удаление scripts.tar.xz перед обновлением
|
||||||
|
* при ошибке скачивания одного из компонентов PortProton добавлено оповещение с автоматическим перезапуском.
|
||||||
|
|
||||||
###Scripts version 1060###
|
###Scripts version 1060###
|
||||||
* фикс работы EVE Online + Proton Experimental (netprofm.dll)
|
* фикс работы EVE Online + Proton Experimental (netprofm.dll)
|
||||||
@ -212,3 +211,7 @@
|
|||||||
поддерживаются gamemode, FSYNC, ESYNC из "коробки"
|
поддерживаются gamemode, FSYNC, ESYNC из "коробки"
|
||||||
* простое создание ярлыков с выбором режима запуска (+ возможно добавить свои параметры запуска к игре/приложению)
|
* простое создание ярлыков с выбором режима запуска (+ возможно добавить свои параметры запуска к игре/приложению)
|
||||||
* добавлена интеграция PortProton в рабочее окружение (root права не нужны, концепция порта не изменилась)
|
* добавлена интеграция PortProton в рабочее окружение (root права не нужны, концепция порта не изменилась)
|
||||||
|
|
||||||
|
###ЗАМЕТКИ###
|
||||||
|
* проверка версий dxvk на github: curl -s https://github.com/doitsujin/dxvk/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g'
|
||||||
|
* проверка версий vkd3d на github: curl -s https://github.com/HansKristian-Work/vkd3d-proton/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g'
|
BIN
data_from_portwine/dist/lib/wine/netprofm.dll
vendored
Executable file
BIN
data_from_portwine/dist/lib/wine/netprofm.dll
vendored
Executable file
Binary file not shown.
BIN
data_from_portwine/dist/lib64/wine/netprofm.dll
vendored
Executable file
BIN
data_from_portwine/dist/lib64/wine/netprofm.dll
vendored
Executable file
Binary file not shown.
@ -81,11 +81,14 @@ try_force_link_dir () {
|
|||||||
}
|
}
|
||||||
try_download () {
|
try_download () {
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
wget -c -t 10 -T 1 "$1" --output-document="$2" 2>&1 | \
|
wget -c -t 5 -T 2 "$1" --output-document="$2" 2>&1 | \
|
||||||
sed -u 's/^[a-zA-Z\-].*//; s/.* \{1,2\}\([0-9]\{1,3\}\)%.*/\1\n#Downloading... \1%/; s/^20[0-9][0-9].*/#Done./' | \
|
sed -u 's/^[a-zA-Z\-].*//; s/.* \{1,2\}\([0-9]\{1,3\}\)%.*/\1\n#Downloading... \1%/; s/^20[0-9][0-9].*/#Done./' | \
|
||||||
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
|
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
|
||||||
[ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
|
[ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0
|
||||||
}
|
}
|
||||||
|
zenity_error_download () {
|
||||||
|
`zenity --error --title "Error..." --text "You will need to check internet connettion,\nand press OK for repeet download" --no-wrap ` > /dev/null 2>&1
|
||||||
|
}
|
||||||
create_new_dir () {
|
create_new_dir () {
|
||||||
if [ ! -d "$1" ] ; then
|
if [ ! -d "$1" ] ; then
|
||||||
mkdir -p "$1"
|
mkdir -p "$1"
|
||||||
@ -146,6 +149,92 @@ PW_STOP_PROGRESS_BAR () {
|
|||||||
do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1`
|
do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1`
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
PW_LOAD_LIBS () {
|
||||||
|
if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/usr/lib/p7zip/7zr" ] \
|
||||||
|
|| [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/bin/xterm" ] || \
|
||||||
|
[ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then
|
||||||
|
print_info "Download and install libraries..."
|
||||||
|
if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${pw_libs_ver}/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ; then
|
||||||
|
if unpack_tar_xz "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/" ; then
|
||||||
|
try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz"
|
||||||
|
else
|
||||||
|
try_remove_dir "${HOME}/.PortWINE/libs${pw_libs_ver}"
|
||||||
|
try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz"
|
||||||
|
`zenity --error --title "Error..." \
|
||||||
|
--text "Failed to download runtime libraries.\nCheck internet connection and press OK" \
|
||||||
|
--no-wrap ` > /dev/null 2>&1 && PW_LOAD_LIBS
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
`zenity --error --title "Error..." \
|
||||||
|
--text "Failed to download runtime libraries.\nCheck internet connection and press OK" \
|
||||||
|
--no-wrap ` > /dev/null 2>&1 && PW_LOAD_LIBS
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
try_remove_dir "${WINELIB}/pinned_libs_32"
|
||||||
|
try_remove_dir "${WINELIB}/pinned_libs_64"
|
||||||
|
export pw_yad="${WINELIB}/usr/bin/yad"
|
||||||
|
export pw_zstd="${WINELIB}/usr/bin/zstd"
|
||||||
|
export pw_7z="${WINELIB}/usr/lib/p7zip/7zr"
|
||||||
|
if [ -x "`which xterm 2>/dev/null`" ]; then
|
||||||
|
export SYS_XTERM=`which xterm`
|
||||||
|
export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e"
|
||||||
|
else
|
||||||
|
export PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -geometry 159x37 -e"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
PW_DOWNLOAD_MONO () {
|
||||||
|
if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}" ] ; then
|
||||||
|
echo "######################################################"
|
||||||
|
print_info "Download and install wine mono..."
|
||||||
|
if try_download "${url_mono}" "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" ; then
|
||||||
|
create_new_dir "${HOME}/.PortWINE/mono"
|
||||||
|
if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" "${HOME}/.PortWINE/mono/"
|
||||||
|
then
|
||||||
|
try_remove_dir "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}-x86"
|
||||||
|
zenity_error_download && PW_DOWNLOAD_MONO
|
||||||
|
fi
|
||||||
|
try_remove_file "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz"
|
||||||
|
else
|
||||||
|
zenity_error_download && PW_DOWNLOAD_MONO
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
PW_DOWNLOAD_GECKO () {
|
||||||
|
if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" ] ; then
|
||||||
|
echo "######################################################"
|
||||||
|
echo "Download and install wine gecko x86..."
|
||||||
|
if try_download "${url_gecko_x86}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" ; then
|
||||||
|
create_new_dir "${HOME}/.PortWINE/gecko"
|
||||||
|
if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" "${HOME}/.PortWINE/gecko/"
|
||||||
|
then
|
||||||
|
try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86"
|
||||||
|
zenity_error_download && PW_DOWNLOAD_GECKO
|
||||||
|
fi
|
||||||
|
try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz"
|
||||||
|
else
|
||||||
|
zenity_error_download && PW_DOWNLOAD_GECKO
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" ] ; then
|
||||||
|
echo "######################################################"
|
||||||
|
echo "Download and install wine gecko x86_64..."
|
||||||
|
if try_download "${url_gecko_x86_64}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" ; then
|
||||||
|
create_new_dir "${HOME}/.PortWINE/gecko"
|
||||||
|
if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" "${HOME}/.PortWINE/gecko/"
|
||||||
|
then
|
||||||
|
try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64"
|
||||||
|
zenity_error_download && PW_DOWNLOAD_GECKO
|
||||||
|
fi
|
||||||
|
try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz"
|
||||||
|
else
|
||||||
|
zenity_error_download && PW_DOWNLOAD_GECKO
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
create_new_dir "${WINEDIR}/share/wine/"
|
||||||
|
try_force_link_dir "${HOME}/.PortWINE/gecko" "${WINEDIR}"/share/wine/
|
||||||
|
try_force_link_dir "${HOME}/.PortWINE/mono" "${WINEDIR}"/share/wine/
|
||||||
|
}
|
||||||
START_PORTWINE ()
|
START_PORTWINE ()
|
||||||
{
|
{
|
||||||
if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e"
|
if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e"
|
||||||
@ -166,7 +255,7 @@ START_PORTWINE ()
|
|||||||
try_remove_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}.tar.gz"
|
try_remove_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}.tar.gz"
|
||||||
else
|
else
|
||||||
try_remove_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}.tar.gz"
|
try_remove_file "${PW_VULKAN_DLL}/dxvk-${PW_DXVK_VER}.tar.gz"
|
||||||
`zenity --error --title "Error..." --text "You will need to change DXVK version in db file!" --no-wrap ` > /dev/null 2>&1
|
`zenity --error --title "Error..." --text "You will need check internet connettion,\nor change DXVK version in db file!" --no-wrap ` > /dev/null 2>&1
|
||||||
PW_EDIT_DB & exit 1
|
PW_EDIT_DB & exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
@ -372,20 +461,15 @@ UPDATE_WINETRICKS () {
|
|||||||
W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
|
W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
|
||||||
W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
|
W_TRX_EXT_VER="$(curl -s --list-only ${W_TRX_URL} | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
|
||||||
print_info "Version winetricks on server: ${W_TRX_EXT_VER}"
|
print_info "Version winetricks on server: ${W_TRX_EXT_VER}"
|
||||||
if [ ! -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
|
|
||||||
try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks"
|
|
||||||
chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
|
|
||||||
else
|
|
||||||
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
|
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
|
||||||
print_info "Version winetricks in port: ${W_TRX_INT_VER}"
|
print_info "Version winetricks in port: ${W_TRX_INT_VER}"
|
||||||
if [ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" ] ; then
|
if [ ! -f "${PORT_WINE_TMP_PATH}/winetricks" ] || [ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" ] ; then
|
||||||
if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then
|
if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then
|
||||||
mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks"
|
mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks"
|
||||||
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})"
|
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})"
|
||||||
chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
|
chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
if [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
|
if [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
|
||||||
sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
|
sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
|
||||||
sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
|
sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
|
||||||
@ -437,7 +521,23 @@ RUN_WINETRICKS_FROM_DB () {
|
|||||||
echo "Set to win${PW_WINDOWS_VER}"
|
echo "Set to win${PW_WINDOWS_VER}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
PW_INIT_DB () {
|
||||||
|
if [ ! -z "${portwine_exe}" ]; then
|
||||||
|
export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi`
|
||||||
|
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'`
|
||||||
|
fi
|
||||||
|
if [ ! -z "${PORTWINE_DB}" ]; then
|
||||||
|
PORTWINE_DB_FILE=`grep -ilw "#${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi`
|
||||||
|
if [ ! -z "${PORTWINE_DB_FILE}" ]; then
|
||||||
|
. "${PORTWINE_DB_FILE}"
|
||||||
|
echo "Use ${PORTWINE_DB_FILE} db file."
|
||||||
|
else
|
||||||
|
. "${PORT_SCRIPTS_PATH}/portwine_db/default"
|
||||||
|
echo "Use default db file."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
PW_UPDATE () {
|
PW_UPDATE () {
|
||||||
if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then
|
if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then
|
||||||
echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver"
|
echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver"
|
||||||
@ -612,7 +712,7 @@ PW_SCRIPTS_UPDATE () {
|
|||||||
echo "######################################################"
|
echo "######################################################"
|
||||||
echo "Update scripts..."
|
echo "Update scripts..."
|
||||||
try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz"
|
try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz"
|
||||||
try_download "${PW_FTP_URL}/dist/scripts.tar.xz" "${PORT_WINE_TMP_PATH}/scripts.tar.xz"
|
if try_download "${PW_FTP_URL}/dist/scripts.tar.xz" "${PORT_WINE_TMP_PATH}/scripts.tar.xz" ; then
|
||||||
tar -Jxvf "${PORT_WINE_TMP_PATH}/scripts.tar.xz" -C "${PORT_WINE_PATH}/data/"
|
tar -Jxvf "${PORT_WINE_TMP_PATH}/scripts.tar.xz" -C "${PORT_WINE_PATH}/data/"
|
||||||
if [ "$?" == "0" ] ; then
|
if [ "$?" == "0" ] ; then
|
||||||
try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz"
|
try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz"
|
||||||
@ -620,10 +720,13 @@ PW_SCRIPTS_UPDATE () {
|
|||||||
"${pw_yad}" --title="Changelog" --borders=10 \
|
"${pw_yad}" --title="Changelog" --borders=10 \
|
||||||
--text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \
|
--text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \
|
||||||
--text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \
|
--text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \
|
||||||
--filename="${PORT_WINE_PATH}/data/changelog"
|
--filename="${PORT_WINE_PATH}/data/changelog" --uri-color=red
|
||||||
[ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} &
|
[ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} &
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
zenity_error_download && PW_SCRIPTS_UPDATE
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -658,31 +761,23 @@ PW_RUN () {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
#####MAIN#####
|
||||||
cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)"
|
cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)"
|
||||||
cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)"
|
cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)"
|
||||||
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
|
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
|
||||||
|
create_new_dir "${PORT_WINE_TMP_PATH}"
|
||||||
|
create_new_dir "${HOME}/.PortWINE/tmp"
|
||||||
read "portname" < "${PORT_WINE_TMP_PATH}/portname" && export portname
|
read "portname" < "${PORT_WINE_TMP_PATH}/portname" && export portname
|
||||||
cd "${PORT_SCRIPTS_PATH}"
|
cd "${PORT_SCRIPTS_PATH}"
|
||||||
. "${PORT_SCRIPTS_PATH}/var"
|
. "${PORT_SCRIPTS_PATH}/var"
|
||||||
create_new_dir "${PORT_WINE_TMP_PATH}"
|
|
||||||
create_new_dir "${HOME}/.PortWINE/tmp"
|
|
||||||
try_remove_dir "${PORT_SCRIPTS_PATH}/vars"
|
|
||||||
|
|
||||||
if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_loc" ]; then
|
if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ] ; then
|
||||||
SET_LANG=`zenity --title "Install $portname" --text "Select the language" --list --radiolist \
|
SET_LANG=`zenity --title "Install $portname" --text "Select the language" --list --radiolist \
|
||||||
--column="Set:" --column "Language:" \
|
--column="Set:" --column "Language:" TRUE "RUS" FALSE "ENG" `
|
||||||
TRUE "RUS" \
|
|
||||||
FALSE "ENG" `
|
|
||||||
echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc"
|
echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
. "${PORT_SCRIPTS_PATH}"/lang
|
. "${PORT_SCRIPTS_PATH}"/lang
|
||||||
|
|
||||||
if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_ver" ]; then
|
|
||||||
echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver"
|
|
||||||
fi
|
|
||||||
|
|
||||||
var_winedlloverride_update "winemenubuilder.exe="
|
var_winedlloverride_update "winemenubuilder.exe="
|
||||||
export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${mono_ver}/wine-mono-${mono_ver}-x86.tar.xz"
|
export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${mono_ver}/wine-mono-${mono_ver}-x86.tar.xz"
|
||||||
export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86.tar.xz"
|
export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86.tar.xz"
|
||||||
@ -702,95 +797,10 @@ export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1`
|
|||||||
export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1`
|
export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1`
|
||||||
|
|
||||||
if [ -z "${INSTALLING_PORT}" ] ; then
|
if [ -z "${INSTALLING_PORT}" ] ; then
|
||||||
if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/usr/lib/p7zip/7zr" ] \
|
PW_LOAD_LIBS
|
||||||
|| [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/bin/xterm" ] || \
|
PW_DOWNLOAD_MONO
|
||||||
[ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then
|
PW_DOWNLOAD_GECKO
|
||||||
print_info "Download and install libraries..."
|
PW_INIT_DB
|
||||||
if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${pw_libs_ver}/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ; then
|
PW_UPDATE
|
||||||
if unpack_tar_xz "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/" ; then
|
PW_SCRIPTS_UPDATE
|
||||||
try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz"
|
|
||||||
else
|
|
||||||
try_remove_dir "${HOME}/.PortWINE/libs${pw_libs_ver}"
|
|
||||||
try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz"
|
|
||||||
`zenity --error --title "Error..." --text "Failed to download runtime libraries.\nCheck internet connection and restart PortProton" --no-wrap ` > /dev/null 2>&1
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
`zenity --error --title "Error..." --text "Failed to download runtime libraries.\nCheck internet connection and restart PortProton" --no-wrap ` > /dev/null 2>&1
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ -e "${WINELIB}/run.sh" ]; then
|
|
||||||
echo "######################################################"
|
|
||||||
echo "Runtime libraries is enabled"
|
|
||||||
try_remove_dir "${WINELIB}/pinned_libs_32"
|
|
||||||
try_remove_dir "${WINELIB}/pinned_libs_64"
|
|
||||||
export pw_yad="${WINELIB}/usr/bin/yad"
|
|
||||||
export pw_zstd="${WINELIB}/usr/bin/zstd"
|
|
||||||
export pw_7z="${WINELIB}/usr/lib/p7zip/7zr"
|
|
||||||
if [ -x "`which xterm 2>/dev/null`" ]; then
|
|
||||||
export SYS_XTERM=`which xterm`
|
|
||||||
export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e"
|
|
||||||
else
|
|
||||||
export PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -geometry 159x37 -e"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "######################################################"
|
|
||||||
echo "Runtime libraries is disabled"
|
|
||||||
fi
|
|
||||||
if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}" ] ; then
|
|
||||||
echo "######################################################"
|
|
||||||
print_info "Download and install wine mono..."
|
|
||||||
if try_download "${url_mono}" "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" ; then
|
|
||||||
create_new_dir "${HOME}/.PortWINE/mono"
|
|
||||||
if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" "${HOME}/.PortWINE/mono/"
|
|
||||||
then try_remove_dir "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}-x86"
|
|
||||||
fi
|
|
||||||
try_remove_file "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" ] ; then
|
|
||||||
echo "######################################################"
|
|
||||||
echo "Download and install wine gecko x86..."
|
|
||||||
if try_download "${url_gecko_x86}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" ; then
|
|
||||||
create_new_dir "${HOME}/.PortWINE/gecko"
|
|
||||||
if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" "${HOME}/.PortWINE/gecko/"
|
|
||||||
then try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86"
|
|
||||||
fi
|
|
||||||
try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" ] ; then
|
|
||||||
echo "######################################################"
|
|
||||||
echo "Download and install wine gecko x86_64..."
|
|
||||||
if try_download "${url_gecko_x86_64}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" ; then
|
|
||||||
create_new_dir "${HOME}/.PortWINE/gecko"
|
|
||||||
if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" "${HOME}/.PortWINE/gecko/"
|
|
||||||
then try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64"
|
|
||||||
fi
|
|
||||||
try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
create_new_dir "${WINEDIR}/share/wine/"
|
|
||||||
try_force_link_dir "${HOME}/.PortWINE/gecko" "${WINEDIR}"/share/wine/
|
|
||||||
try_force_link_dir "${HOME}/.PortWINE/mono" "${WINEDIR}"/share/wine/
|
|
||||||
|
|
||||||
if [ ! -z "${portwine_exe}" ]; then
|
|
||||||
export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi`
|
|
||||||
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
|
|
||||||
export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'`
|
|
||||||
fi
|
|
||||||
if [ ! -z "${PORTWINE_DB}" ]; then
|
|
||||||
PORTWINE_DB_FILE=`grep -ilw "#${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi`
|
|
||||||
if [ ! -z "${PORTWINE_DB_FILE}" ]; then
|
|
||||||
. "${PORTWINE_DB_FILE}"
|
|
||||||
echo "Use ${PORTWINE_DB_FILE} db file."
|
|
||||||
else
|
|
||||||
. "${PORT_SCRIPTS_PATH}/portwine_db/default"
|
|
||||||
echo "Use default db file."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -z "${INSTALLING_PORT}" ] && PW_UPDATE
|
|
||||||
[ -z "${INSTALLING_PORT}" ] && PW_SCRIPTS_UPDATE
|
|
||||||
|
@ -7,16 +7,13 @@ try_remove_file "${PORT_WINE_TMP_PATH}/init_run_suc"
|
|||||||
|
|
||||||
try_remove_file "${PORT_WINE_PATH}/data/port_on"
|
try_remove_file "${PORT_WINE_PATH}/data/port_on"
|
||||||
try_remove_file "${PORT_WINE_PATH}/data/dxvk.conf"
|
try_remove_file "${PORT_WINE_PATH}/data/dxvk.conf"
|
||||||
try_remove_file "${PORT_WINE_PATH}/Create_shortcut_PP.desktop"
|
|
||||||
try_remove_file "${PORT_WINE_PATH}/Proton.desktop"
|
|
||||||
try_remove_file "${PORT_WINE_PATH}/settings.desktop"
|
|
||||||
try_remove_file "${PORT_WINE_PATH}/settings.desktop"
|
try_remove_file "${PORT_WINE_PATH}/settings.desktop"
|
||||||
try_remove_file "${PORT_WINE_PATH}/debug.desktop"
|
try_remove_file "${PORT_WINE_PATH}/debug.desktop"
|
||||||
try_remove_file "${PORT_WINE_PATH}/restart.desktop"
|
try_remove_file "${PORT_WINE_PATH}/restart.desktop"
|
||||||
|
|
||||||
try_remove_dir "${PORT_WINE_PATH}/data/pfx/dosdevices"
|
try_remove_dir "${PORT_WINE_PATH}/data/pfx/dosdevices"
|
||||||
try_remove_dir "${PORT_WINE_PATH}/Settings"
|
try_remove_dir "${PORT_WINE_PATH}/Settings"
|
||||||
#try_remove_dir "$HOME/.PortWINE"
|
try_remove_dir "${PORT_SCRIPTS_PATH}/vars"
|
||||||
|
|
||||||
create_new_dir "/home/${USER}/.local/share/applications"
|
create_new_dir "/home/${USER}/.local/share/applications"
|
||||||
|
|
||||||
|
@ -167,7 +167,7 @@ PORTWINE_DEBUG () {
|
|||||||
deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++')
|
deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++')
|
||||||
echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log"
|
echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log"
|
||||||
"$pw_yad" --title="${portname}.log" --borders=10 --no-buttons --text-align=center \
|
"$pw_yad" --title="${portname}.log" --borders=10 --no-buttons --text-align=center \
|
||||||
--text-info --show-uri --wrap --center --width=1200 --height=550 \
|
--text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \
|
||||||
--filename="${PORT_WINE_PATH}/${portname}.log"
|
--filename="${PORT_WINE_PATH}/${portname}.log"
|
||||||
}
|
}
|
||||||
PW_WINECFG () {
|
PW_WINECFG () {
|
||||||
@ -265,7 +265,7 @@ else
|
|||||||
|
|
||||||
open_changelog () {
|
open_changelog () {
|
||||||
"${pw_yad}" --title="Changelog" --borders=10 --no-buttons --text-align=center \
|
"${pw_yad}" --title="Changelog" --borders=10 --no-buttons --text-align=center \
|
||||||
--text-info --show-uri --wrap --center --width=1200 --height=550 \
|
--text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \
|
||||||
--filename="${PORT_WINE_PATH}/data/changelog"
|
--filename="${PORT_WINE_PATH}/data/changelog"
|
||||||
}
|
}
|
||||||
export -f open_changelog
|
export -f open_changelog
|
||||||
|
Loading…
Reference in New Issue
Block a user