diff --git a/data_from_portwine/changelog b/data_from_portwine/changelog index a7ff4c8..4c14153 100644 --- a/data_from_portwine/changelog +++ b/data_from_portwine/changelog @@ -6,7 +6,6 @@ * добавить фикс установки dotnet * добавить кнопку очистки префикса в PortProton * проверка версий и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.zip -* добавить условие: если установлен vcrun2019, то не устанавливать vcrun2015-2017 * EDIT DB открывается не у всех * пересоздать удаление PortProton (чистка ярлыков в меню с помощью grep "путь до порта") * проверить windows steam под PortProton @@ -18,6 +17,32 @@ * проверка версий vkd3d на github: curl -s https://github.com/HansKristian-Work/vkd3d-proton/releases | grep Version | awk {'print $3'} | sed 's%%%g' * зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru ----------------------------------------- +###Scripts version 1061### +* проверка и удаление scripts.tar.xz перед обновлением + +###Scripts version 1060### +* фикс работы EVE Online + Proton Experimental (netprofm.dll) + +###Scripts version 1059### +* gnome-terminal отрабатывает не правильно, возвращен xterm +* вместо vcrun2015-2017 принудительно ставится vcrun2019 (так как имеет кумулятивные обновления) + +###PortProton-77### 01.05.2021 ###Scripts version 1057### +* Обновлен Proton Experimental от 29.04.2021 +* используется default_pfx при создании нового префикса +* фикс выбора режима запуска при уже созданном ярлыке, но отсутствующем PW_VULKAN_USE + +###Scripts version 1056### +* исправлена работа gnome-terminal если "$SHELL" не равен "/bin/bash" + +###Scripts version 1055### +* fix YAD + +###Scripts version 1054### +* добавлен p7zip в libs_v10 +* изменен приотет использования терминала (системный в приоритете как для KDE, GNOME, Cinnamon и LXQT) +* в AUTOINSTALL реализованна "тихая" установка EVE Online + ###Scripts version 1053### * HOTFIX - перенос всех функций в скрипте runlib (наверх) * добавлена переменная в default ##export PW_WINE_ALLOW_XIM=1, которая отключает XIM (X input manager) diff --git a/data_from_portwine/scripts/autoinstall b/data_from_portwine/scripts/autoinstall index fd7a3e9..f58737b 100644 --- a/data_from_portwine/scripts/autoinstall +++ b/data_from_portwine/scripts/autoinstall @@ -107,15 +107,16 @@ PW_GOG () { PW_EVE () { export PW_WINDOWS_VER=10 export PW_DLL_INSTALL="vcrun2017" - export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1602194.exe" + export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1892908.exe" START_PORTWINE - if try_download "https://binaries.eveonline.com/EveLauncher-1602194.exe" "${PW_AUTOINSTALL_EXE}" + if try_download "https://binaries.eveonline.com/EveLauncher-1892908.exe" "${PW_AUTOINSTALL_EXE}" then - PW_START_PROGRESS_BAR_CS "Installing the EVE Launcher. Please wait..." - PW_RUN "${PW_AUTOINSTALL_EXE}" - portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "evelauncher.exe"` + PW_START_PROGRESS_BAR_BLOCK "Installing the EVE Launcher. Please wait..." + dd if="${PW_AUTOINSTALL_EXE}" of="${PW_AUTOINSTALL_EXE}".7z bs=1M skip=31646603 count=196171208 iflag=skip_bytes,count_bytes + "$pw_7z" x "${PW_AUTOINSTALL_EXE}".7z -o"$WINEPREFIX/drive_c/Games/EVE Online" try_remove_file "${PW_AUTOINSTALL_EXE}" - KILL_PORTWINE + try_remove_file "${PW_AUTOINSTALL_EXE}".7z + portwine_exe="$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe" PW_STOP_PROGRESS_BAR PORTWINE_CREATE_SHORTCUT fi diff --git a/data_from_portwine/scripts/portwine_db/default b/data_from_portwine/scripts/portwine_db/default index 56f3476..e564846 100644 --- a/data_from_portwine/scripts/portwine_db/default +++ b/data_from_portwine/scripts/portwine_db/default @@ -46,4 +46,4 @@ ##ADD_IN_START_PORTWINE () { commands ; } -export PW_DLL_INSTALL="vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9" +export PW_DLL_INSTALL="vcrun2019 vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9" diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 1d0c900..d70b578 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -149,9 +149,9 @@ PW_STOP_PROGRESS_BAR () { START_PORTWINE () { if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e" - elif [ -x "`which xterm 2>/dev/null`" ]; then export PW_TERM="${PW_XTERM}" - elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- $SHELL -c" +# elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- /bin/bash" ??? elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e" + elif [ -x "`which xterm 2>/dev/null`" ]; then export PW_TERM="${PW_XTERM}" else export PW_TERM="${PW_XTERM}" fi @@ -386,6 +386,10 @@ UPDATE_WINETRICKS () { fi fi fi + 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 vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks" + fi } RUN_WINETRICKS_FROM_DB () { @@ -396,7 +400,15 @@ RUN_WINETRICKS_FROM_DB () { export USE_WT_FROM_DB=0 if [ -e "${WINEPREFIX}/winetricks.log" ] ; then for need_install_dll_to_pfx in ${PW_DLL_INSTALL} ; do - grep "${need_install_dll_to_pfx}" "${WINEPREFIX}/winetricks.log" + if [ "${need_install_dll_to_pfx}" == "vcrun2015" ] || [ "${need_install_dll_to_pfx}" == "vcrun2017" ] ; then + need_install_dll_to_pfx="vcrun2019" + sed -i '/vcrun2015/d' "${WINEPREFIX}/winetricks.log" + sed -i '/vcrun2017/d' "${WINEPREFIX}/winetricks.log" + elif [ "${need_install_dll_to_pfx}" == "vcrun2019" ] ; then + sed -i '/vcrun2015/d' "${WINEPREFIX}/winetricks.log" + sed -i '/vcrun2017/d' "${WINEPREFIX}/winetricks.log" + fi + grep "${need_install_dll_to_pfx}" "${WINEPREFIX}/winetricks.log" if [ "$?" == "1" ] ; then if [ -z "${PW_DLL_NEED_INSTALL}" ] then export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx}" @@ -447,6 +459,10 @@ PW_UPDATE () { case $xsd in "${port_upd4}") KILL_PORTWINE + # if try_download https://portwine-linux.ru/ftp/portwine/PortProton-$current_ver "${HOME}/.PortWINE/tmp/PortProton-$current_ver" ; then + # sh "${HOME}/.PortWINE/tmp/PortProton-$current_ver" + # try_remove_file "${HOME}/.PortWINE/tmp/PortProton-$current_ver" + # fi & xdg-open $porturl exit 0 ;; "${port_upd5}") @@ -493,11 +509,16 @@ PW_INIT_PFX () { #sed -i '/HKCU,Software\\Valve\\Steam/d' "${WINEDIR}"*/share/wine/wine.inf #sed -i '/HKLM,Software\\Wow6432Node\\Valve\\Steam/d' "${WINEDIR}"*/share/wine/wine.inf #sed -i '/HKLM,Software\\Wow6432Node\\Valve\\Steam/d' "${WINEDIR}"*/share/wine/wine.inf - if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || [ ! -f "${WINEPREFIX}"/user.reg ] || [ ! -f "${WINEPREFIX}"/userdef.reg ] || [ ! -f "${WINEPREFIX}"/system.reg ] ; then + if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || \ + [ ! -f "${WINEPREFIX}"/user.reg ] || [ ! -f "${WINEPREFIX}"/userdef.reg ] || \ + [ ! -f "${WINEPREFIX}"/system.reg ] ; + then sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf + try_remove_file "${WINEPREFIX}/winetricks.log" create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/" create_new_dir "${WINEPREFIX}/drive_c/windows/system32/" + cp -fr "${WINEDIR}/share/default_pfx/"* "${WINEPREFIX}" cp -f "${WINEDIR}/lib/wine/fakedlls/"*.* "${WINEPREFIX}/drive_c/windows/syswow64/" cp -f "${WINEDIR}/lib/wine/"*.* "${WINEPREFIX}/drive_c/windows/syswow64/" cp -f "${WINEDIR}/lib64/wine/fakedlls/"*.* "${WINEPREFIX}/drive_c/windows/system32/" @@ -577,7 +598,8 @@ PW_INIT_PFX () { export PW_WINDOWS_VER="10" echo "Use VKD3D-PROTON version ${PW_VKD3D_VER} (DX12 to vulkan)" fi - } +} + PW_SCRIPTS_UPDATE () { if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then echo "1000" > "${PORT_WINE_TMP_PATH}/scripts_ver" @@ -589,12 +611,13 @@ PW_SCRIPTS_UPDATE () { if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then echo "######################################################" echo "Update scripts..." + 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" tar -Jxvf "${PORT_WINE_TMP_PATH}/scripts.tar.xz" -C "${PORT_WINE_PATH}/data/" if [ "$?" == "0" ] ; then try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz" echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver" - yad --title="Changelog" --borders=10 \ + "${pw_yad}" --title="Changelog" --borders=10 \ --text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \ --text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \ --filename="${PORT_WINE_PATH}/data/changelog" @@ -679,7 +702,9 @@ 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` if [ -z "${INSTALLING_PORT}" ] ; then - if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/bin/xterm" ] || [ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then + 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 @@ -702,6 +727,7 @@ if [ -z "${INSTALLING_PORT}" ] ; then 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" @@ -767,3 +793,4 @@ if [ -z "${INSTALLING_PORT}" ] ; then fi [ -z "${INSTALLING_PORT}" ] && PW_UPDATE +[ -z "${INSTALLING_PORT}" ] && PW_SCRIPTS_UPDATE diff --git a/data_from_portwine/scripts/setup.sh b/data_from_portwine/scripts/setup.sh index c8fa190..2d7c373 100755 --- a/data_from_portwine/scripts/setup.sh +++ b/data_from_portwine/scripts/setup.sh @@ -60,13 +60,6 @@ done chmod u+x "${PORT_SCRIPTS_PATH}/"* try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/" -if [ -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ] && [ ! -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then - cp -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public"/* "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser/" - rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" -elif [ -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then - rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" -fi -ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" pw_clear_pfx if [ "${s_install}" = "1" ]; then echo "Installation completed successfully." diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index e8c8926..429b3c6 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -5,7 +5,6 @@ if [ -f "$1" ]; then export portwine_exe="$(readlink -f "$1")" fi . "$(dirname $(readlink -f "$0"))/runlib" -PW_SCRIPTS_UPDATE PORTWINE_LAUNCH () { KILL_PORTWINE @@ -167,7 +166,7 @@ PORTWINE_DEBUG () { sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && KILL_PORTWINE deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++') echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log" - 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 \ --filename="${PORT_WINE_PATH}/${portname}.log" } @@ -204,7 +203,7 @@ PW_AUTO_INSTALL_FROM_DB () { if [ ! -z "${portwine_exe}" ]; then - if [ -z "${PW_GUI_DISABLED_CS}" ] || [ "${PW_GUI_DISABLED_CS}" = 0 ] ; then + if [ -z "${PW_GUI_DISABLED_CS}" ] || [ "${PW_GUI_DISABLED_CS}" = 0 ] || [ -z "${PW_VULKAN_USE}" ]; then if [ ! -z "${PORTWINE_DB_FILE}" ] && [ ! -z "${PW_VULKAN_USE}" ]; then if [ -z "${PW_COMMENT_DB}" ] ; then PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found." @@ -265,7 +264,7 @@ else export -f button_click open_changelog () { - 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 \ --filename="${PORT_WINE_PATH}/data/changelog" } diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 47463a8..12ae55d 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -20,7 +20,7 @@ export WINEARCH="win64" export mono_ver=6.1.2 export gecko_ver=2.47.2 -export pw_libs_ver="_v9" +export pw_libs_ver="_v10" export PW_FORCE_LARGE_ADDRESS_AWARE=1