diff options
Diffstat (limited to 'evesetup.shlib')
-rw-r--r-- | evesetup.shlib | 63 |
1 files changed, 29 insertions, 34 deletions
diff --git a/evesetup.shlib b/evesetup.shlib index 16b9056c5324..bb55f5e97b70 100644 --- a/evesetup.shlib +++ b/evesetup.shlib @@ -6,32 +6,30 @@ SHAREDIR="$HOME/.eve" check_elv() { ELBIN=$(getdate $LAUNCHER/evelauncher) - ELBIN=$(expr $ELBIN / 180 \* 180) ELARC=$(getdate $SETUPDIR/lib/evelauncher-$ELVER.tar.?z) - ELARC=$(expr $ELARC / 180 \* 180) if [ "$ELBIN" -lt "$ELARC" ] ;then if [ -d "$LAUNCHER" ] ;then rm -rf $LAUNCHER desktop_msg "Update EVE Launcher binaries" fi - tar xf $SETUPDIR/lib/evelauncher-$ELVER.tar.?z -C $EVEDIR + tar xmf $SETUPDIR/lib/evelauncher-$ELVER.tar.?z -C $EVEDIR mv $EVEDIR/evelauncher $LAUNCHER if [ -f "$HOME/.config/devilspie2/evelauncher.lua" ] ;then - sed -i 2\ s,[0-9].*\",$ELVER\", \ - $HOME/.config/devilspie2/evelauncher.lua + sed -i 2\ s,[0-9].*\",$ELVER\", $HOME/.config/devilspie2/evelauncher.lua fi + for ELCACHE in $HOME/.cache $HOME/.local/share ;do + if [ -d "$ELCACHE/CCP/EVE/QtWebEngine" ] ;then + rm -rf $ELCACHE/CCP/EVE/QtWebEngine + fi + done fi } check_env() { - if [ -d "$CONFDIR" ] ;then - if [ -r "$EVECONF" ] ;then - SHAREDIR=$(getval SharedCacheFolder) - fi - fi - [ ! -d "$SHAREDIR" ] && SHAREDIR="" + if [ -r "$EVECONF" ] ;then SHAREDIR=$(getval SharedCacheFolder) ;fi + if [ ! -d "$SHAREDIR" ] ;then SHAREDIR="" ;fi if [ "x$SHAREDIR" != "x$EVEDIR/SharedCache/" ] ;then - desktop_msg "Please wait, preparing environment in $EVEDIR" + desktop_msg "Please wait, prepare environment in $EVEDIR" mkdir -p $CONFDIR echo "[General]" >$EVECONF echo "SharedCacheFolder=$EVEDIR/SharedCache/" >>$EVECONF @@ -56,10 +54,14 @@ check_wine() { CUSTOMWP=$(getval CustomWinePath) SHAREDIR=$(getval SharedCacheFolder) UCW=$(getval UseCustomWine) + DXVKLIBDIR=$SETUPDIR/lib/dxvk + DXVKFILELIST="d3d10core d3d11 d3d9 dxgi" WINEPREFIX=${SHAREDIR}wineenv - if [ "x$UCW" = "xtrue" ] ;then + WINSYSDIR=$WINEPREFIX/drive_c/windows/system32 + W32SYSDIR=${WINSYSDIR%/*}/syswow64 + if [ "$UCW" = "true" ] ;then WINEPATH=${CUSTOMWP%/*} - [ -d "${SHAREDIR}wine" ] && rm -rf ${SHAREDIR}wine + if [ -d "${SHAREDIR}wine" ] ;then rm -rf ${SHAREDIR}wine ;fi else CUSTOMWP=${SHAREDIR}wine WINEPATH=${SHAREDIR}wine/bin @@ -73,21 +75,12 @@ check_wine() { desktop_msg "ERROR: \"$CUSTOMWP\" not found!" exit 1 fi - DXVKLIBDIR=$SETUPDIR/lib/dxvk - DXVKFILELIST="d3d10core d3d11 dxgi" - WINSYSDIR=$WINEPREFIX/drive_c/windows/system32 - W32SYSDIR=${WINSYSDIR%/*}/syswow64 - INSTWINE=$(cat $WINEPREFIX/.update-timestamp | tr -dc [:digit:]) || true + INSTWINE=$(tr -dc [:digit:] 2>/dev/null < $WINEPREFIX/.update-timestamp || printf 0) WINEINFP=$(readlink -f $CUSTOMWP) WINECONF=$(find ${WINEINFP%bin*}share/wine* -name 'wine.inf') WINEDATE=$(getdate $WINECONF) - if [ "x$WINEDATE" != "x$INSTWINE" ] ;then + if [ "$WINEDATE" != "$INSTWINE" ] ;then desktop_msg "Prepare wine environment for EVE" - for DXVKFILE in d3d10_1 d3d10core d3d10 d3d11 d3d9 dxgi ;do - rm $WINSYSDIR/$DXVKFILE.dll* || true - rm $W32SYSDIR/$DXVKFILE.dll* || true - sed -i /\"$DXVKFILE\"=\"/d $WINEPREFIX/user.reg || true - done env WINEPREFIX=$WINEPREFIX \ WINEDEBUG=-all \ WINEDLLOVERRIDES="mscoree,mshtml=d" \ @@ -96,20 +89,24 @@ check_wine() { $WINE reg add \ 'HKCU\Software\Wine\FileOpenAssociations' \ /v Enable /d N /f >/dev/null - if [ -d "$DXVKLIBDIR" ] ;then + fi + if [ -d "$DXVKLIBDIR" ] ;then + DXVKARC=$(getdate $DXVKLIBDIR/x64/d3d11.dll) + INSTDX=$(getdate $WINSYSDIR/d3d11.dll) + if [ "$INSTDX" != "$DXVKARC" ] ;then for DXVKFILE in $DXVKFILELIST ;do - cp $DXVKLIBDIR/x64/$DXVKFILE.dll $WINSYSDIR/$DXVKFILE.dll + cp --preserve=timestamps $DXVKLIBDIR/x64/$DXVKFILE.dll $WINSYSDIR/$DXVKFILE.dll if [ -d "$W32SYSDIR" ] ;then - cp $DXVKLIBDIR/x32/$DXVKFILE.dll $W32SYSDIR/$DXVKFILE.dll + cp --preserve=timestamps $DXVKLIBDIR/x32/$DXVKFILE.dll $W32SYSDIR/$DXVKFILE.dll fi env WINEPREFIX=$WINEPREFIX \ $WINE reg add \ 'HKCU\Software\Wine\DllOverrides' \ - /v $DXVKFILE /d native >/dev/null + /v $DXVKFILE /d native /f >/dev/null done fi fi - if [ "x$(grep -csw winemenubuilder $WINEPREFIX/system.reg)" != "x0" ] ;then + if [ "$(grep -csw winemenubuilder $WINEPREFIX/system.reg)" != "0" ] ;then env WINEPREFIX=$WINEPREFIX \ $WINE reg delete \ 'HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices' \ @@ -118,14 +115,12 @@ check_wine() { } desktop_msg() { - if [ -x "$(which notify-send)" ] ;then - notify-send -i eve $(basename $0) "$@" - fi + if [ -x "$(which notify-send)" ] ;then notify-send -i eve $(basename $0) "$@" ;fi printf "$(basename $0): $@\n" } getdate() { - printf $(ls -l --time-style=+%s $1 | cut -d' ' -f6) || printf 180 + printf $(ls -l --time-style=+%s $1 | cut -d' ' -f6) || printf 0 } getval() { |