forked from CastroFidel/winehelper
added support wine-cpcsp_proxy
This commit is contained in:
61
winehelper
61
winehelper
@ -67,6 +67,9 @@ check_variables WINEFSYNC "0"
|
||||
check_variables WINEARCH "win64" # or "win32"
|
||||
check_variables WH_WINE_USE "wine_x_tkg_10-0_amd64" # or system
|
||||
|
||||
check_variables WH_USE_CPCSP_PROXY "0"
|
||||
check_variables CPCSP_PROXY_VER "0.6.1-alt1"
|
||||
|
||||
check_variables STAGING_SHARED_MEMORY "1"
|
||||
check_variables WINE_LARGE_ADDRESS_AWARE "1"
|
||||
check_variables WINE_FULLSCREEN_FSR "1"
|
||||
@ -668,7 +671,14 @@ init_wine_ver () {
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib/gstreamer-1.0"
|
||||
fi
|
||||
|
||||
if [[ "${WINEARCH}" == "win64" ]] ; then
|
||||
[[ ! -f "${WINEDIR}/version" ]] && echo "${WH_WINE_USE}" > "${WINEDIR}/version"
|
||||
|
||||
if [[ ! -d "${WINEDIR}/lib64/wine" ]] && [[ -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
|
||||
create_new_dir "${WINEDIR}/lib64/"
|
||||
try_force_link_dir "${WINEDIR}/lib/wine/" "${WINEDIR}/lib64/"
|
||||
fi
|
||||
|
||||
if [[ -d "${WINEDIR}/lib64" ]] ; then
|
||||
export LD_LIBRARY_PATH+=":${WINEDIR}/lib64"
|
||||
export WINEDLLPATH+=":${WINEDIR}/lib64/wine"
|
||||
if [[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]] ; then
|
||||
@ -676,12 +686,28 @@ init_wine_ver () {
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ ! -f "${WINEDIR}/version" ]] && echo "${WH_WINE_USE}" > "${WINEDIR}/version"
|
||||
if [[ $WH_USE_CPCSP_PROXY == "1" ]] \
|
||||
&& ! grep -q "$CPCSP_PROXY_VER" "${WINEDIR}/cpcsp_proxy.ver"
|
||||
then
|
||||
CPCSP_PROXY_NAME="wine-cpcsp_proxy-$CPCSP_PROXY_VER"
|
||||
CPCSP_PROXY_URL="$CLOUD_URL/$CPCSP_PROXY_NAME.tar.xz"
|
||||
|
||||
if [[ ! -d "${WINEDIR}/lib64/" ]] && [[ -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
|
||||
create_new_dir "${WINEDIR}/lib64/wine"
|
||||
mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/"
|
||||
mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/"
|
||||
if [[ ! -f "$WH_TMP_DIR/$CPCSP_PROXY_NAME" ]] ; then
|
||||
print_info "Загрузка $CPCSP_PROXY_NAME.tar.xz"
|
||||
if try_download "$CPCSP_PROXY_URL" "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" check256sum
|
||||
then unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
|
||||
else try_remove_file "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz"
|
||||
fi
|
||||
else
|
||||
unpack "$WH_TMP_DIR/$CPCSP_PROXY_NAME.tar.xz" "$WH_TMP_DIR"
|
||||
fi
|
||||
|
||||
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"i386-* "${WINEDIR}/lib/wine/"
|
||||
if [[ -d "${WINEDIR}/lib64" ]] ; then
|
||||
cp -fr "$WH_TMP_DIR/$CPCSP_PROXY_NAME/"x86_64-* "${WINEDIR}/lib64/wine/"
|
||||
fi
|
||||
try_remove_dir "$WH_TMP_DIR/$CPCSP_PROXY_NAME"
|
||||
echo "$CPCSP_PROXY_VER" > "${WINEDIR}/cpcsp_proxy.ver"
|
||||
fi
|
||||
else
|
||||
# use system WINE
|
||||
@ -989,6 +1015,29 @@ init_wineprefix () {
|
||||
try_remove_file "$WRAPPER"
|
||||
fi
|
||||
|
||||
# настраиваем префикс для работы с cpcsp_proxy
|
||||
if [[ $WH_USE_CPCSP_PROXY == "1" ]] ; then
|
||||
for cpcsp_proxy_file in "cpcsp_proxy.dll" "cpcsp_proxy_setup.exe" ; do
|
||||
try_copy_wine_dll_to_pfx_64 "$cpcsp_proxy_file"
|
||||
try_copy_wine_dll_to_pfx_32 "$cpcsp_proxy_file"
|
||||
done
|
||||
|
||||
if ! grep -q "cpcsp_proxy.dll" "$WINEPREFIX/system.reg" ; then
|
||||
if [[ "$WINEARCH" == "win32" ]]
|
||||
then cpcsp_proxy_cmd=("$WINELOADER" "cpcsp_proxy_setup.exe")
|
||||
else cpcsp_proxy_cmd=("${WINELOADER}64" "cpcsp_proxy_setup.exe")
|
||||
fi
|
||||
|
||||
print_info "Запускаем настройку cpcsp_proxy:"
|
||||
echo "${cpcsp_proxy_cmd[*]}"
|
||||
if "${cpcsp_proxy_cmd[@]}"
|
||||
then print_info "Настройка cpcsp_proxy успешно завершена."
|
||||
else fatal "Ошибка во время настройки cpcsp_proxy."
|
||||
fi
|
||||
wait_wineserver
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "# переменные последнего использования префикса:" > "$WINEPREFIX/last.conf"
|
||||
for var in WH_WINE_USE BASE_PFX WINEARCH WH_WINDOWS_VER WINEESYNC WINEFSYNC \
|
||||
STAGING_SHARED_MEMORY WINE_LARGE_ADDRESS_AWARE WH_USE_SHADER_CACHE WH_USE_WINE_DXGI \
|
||||
|
Reference in New Issue
Block a user