diff --git a/PhotoshopSetup.sh b/PhotoshopSetup.sh index 454de96..0a0bd82 100755 --- a/PhotoshopSetup.sh +++ b/PhotoshopSetup.sh @@ -17,6 +17,7 @@ function main(){ package_installed aria2c package_installed wine package_installed md5sum + package_installed winetricks #delete wine3.4 dir if exist then create it WINE_PATH="$SCR_PATH/wine-3.4" @@ -24,7 +25,7 @@ function main(){ RESOURCES_PATH="$SCR_PATH/resources" WINE_PREFIX="$SCR_PATH/prefix" - + #install wine 3.4 install_wine34 @@ -58,28 +59,16 @@ function main(){ #create resources directory rmdir_if_exist $RESOURCES_PATH - #install vcrun 2008 ,2010,2012,2013 - install_vcrun2008 - sleep 3 - install_vcrun2010 - sleep 3 - install_vcrun2012 - sleep 3 - install_vcrun2013 - - #install msxml3 and msxml6 and atmlib - sleep 3 - install_msxml3 - sleep 3 - install_msxml6 - sleep 2 - install_atmlib - + # winetricks atmlib corefonts fontsmooth=rgb gdiplus vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun2015 atmlib msxml3 msxml6 gdiplus + winetricks atmlib fontsmooth=rgb vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun2015 atmlib msxml3 msxml6 #install photoshop sleep 3 install_photoshopSE sleep 5 + echo -e "\033[1;93mSelect \"Windwos 7\"for windows version and then click OK\e[0m" + winecfg + replacement if [ -d $RESOURCES_PATH ];then @@ -202,136 +191,6 @@ function install_photoshopSE(){ unset filename filemd5 filelink filepath } -function install_atmlib(){ - local filename="atmlib.tgz" - local filemd5="d93d050fc2f310acd13894d6a0c32ee0" - local filelink="https://www.dropbox.com/s/tnwv6prfoq5mc15/atmlib.tgz?dl=1" - local filepath="$CACHE_PATH/$filename" - - download_component $filepath $filemd5 $filelink $filename - - mkdir "$RESOURCES_PATH/atmlib" - tar -xzf $filepath -C "$RESOURCES_PATH/atmlib" - - cp "$RESOURCES_PATH/atmlib/atmlib.dll" "$WINE_PREFIX/drive_c/windows/syswow64/atmlib.dll" - cp "$RESOURCES_PATH/atmlib/atmlib32.dll" "$WINE_PREFIX/drive_c/windows/system32/atmlib.dll" - - show_message "atmlib installed..." - unset filename filemd5 filelink filepath -} - -function install_msxml6(){ - local filename="msxml6.tgz" - local filemd5="6d0035ce77c0c5fdb81bafdbb145d993" - local filelink="https://www.dropbox.com/s/z7mkvnknufji5a3/msxml6.tgz?dl=1" - local filepath="$CACHE_PATH/$filename" - - download_component $filepath $filemd5 $filelink $filename - - mkdir "$RESOURCES_PATH/msxml6" - tar -xzf $filepath -C "$RESOURCES_PATH/msxml6" - - echo "===============| msxml6 |===============" >> "$SCR_PATH/wine-error.log" - - wine msiexec /i "$RESOURCES_PATH/msxml6/msxml6_x64.msi" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during msxml6 instalation" - show_message "msxml6 installed..." - unset filename filemd5 filelink filepath -} - -function install_msxml3(){ - local filename="msxml3.tgz" - local filemd5="f5d2f91929f4201c134e33daf0e07fec" - local filelink="https://www.dropbox.com/s/oablx3gp16dneck/msxml3.tgz?dl=1" - local filepath="$CACHE_PATH/$filename" - - download_component $filepath $filemd5 $filelink $filename - - mkdir "$RESOURCES_PATH/msxml3" - tar -xzf $filepath -C "$RESOURCES_PATH/msxml3" - - echo "===============| msxml3 |===============" >> "$SCR_PATH/wine-error.log" - - wine msiexec /i "$RESOURCES_PATH/msxml3/msxml3.msi" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during msxml3 installation" - show_message "msxml3 installed..." - unset filename filemd5 filelink filepath -} - -function install_vcrun2013(){ - local filename="vcrun2013.tgz" - local filemd5="f0d4e9405c9fc39974d7a62629bfe605" - local filelink="https://www.dropbox.com/s/r1o6k8906gbx920/vcrun2013.tgz?dl=1" - local filepath="$CACHE_PATH/$filename" - - download_component $filepath $filemd5 $filelink $filename - - mkdir "$RESOURCES_PATH/vcrun2013" - tar -xzf $filepath -C "$RESOURCES_PATH/vcrun2013" - - echo "===============| VCRUN 2013 |===============" >> "$SCR_PATH/wine-error.log" - - wine "$RESOURCES_PATH/vcrun2013/vcredist_x86.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2013 x86 installation" - show_message "vcrun 2013 installed..." - unset filename filemd5 filelink filepath -} - -function install_vcrun2012(){ - local filename="vcrun2012.tgz" - local filemd5="86f912bed7b3d76aad04adc23dbe9f48" - local filelink="https://www.dropbox.com/s/4lv27vgjkx5gkv2/vcrun2012.tgz?dl=1" - local filepath="$CACHE_PATH/$filename" - - download_component $filepath $filemd5 $filelink $filename - - mkdir "$RESOURCES_PATH/vcrun2012" - tar -xzf $filepath -C "$RESOURCES_PATH/vcrun2012" - - echo "===============| VCRUN 2012 |===============" >> "$SCR_PATH/wine-error.log" - - wine "$RESOURCES_PATH/vcrun2012/vcredist_x86.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2012 x86 installation" - show_message "vcrun 2012 installed..." - unset filename filemd5 filelink filepath -} - -function install_vcrun2010(){ - local filename="vcrun2010.tgz" - local filemd5="484a242b64b3a7de0fa6567d78b771f9" - local filelink="https://www.dropbox.com/s/c7jyzb93hm2p7v8/vcrun2010.tgz?dl=1" - local filepath="$CACHE_PATH/$filename" - - download_component $filepath $filemd5 $filelink $filename - - mkdir "$RESOURCES_PATH/vcrun2010" - tar -xzf $filepath -C "$RESOURCES_PATH/vcrun2010" - - echo "===============| VCRUN 2010 |===============" >> "$SCR_PATH/wine-error.log" - - wine "$RESOURCES_PATH/vcrun2010/vcredist_x64.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2010 x64 installation" - sleep 1 - wine "$RESOURCES_PATH/vcrun2010/vcredist_x86.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2010 x86 installation" - show_message "vcrun 2010 installed..." - unset filename filemd5 filelink filepath -} - -function install_vcrun2008(){ - local filename="vcrun2008.tgz" - local filemd5="38983c8f8736738ed9d2e2bbf5d82373" - local filelink="https://www.dropbox.com/s/fmjjrx9xq5a9qqc/vcrun2008.tgz?dl=1" - local filepath="$CACHE_PATH/$filename" - - download_component $filepath $filemd5 $filelink $filename - - mkdir "$RESOURCES_PATH/vcrun2008" - tar -xzf $filepath -C "$RESOURCES_PATH/vcrun2008" - - echo "===============| VCRUN 2008 |===============" >> "$SCR_PATH/wine-error.log" - - wine "$RESOURCES_PATH/vcrun2008/vcredist_x64.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2008 x64 installation" - sleep 1 - wine "$RESOURCES_PATH/vcrun2008/vcredist_x86.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2008 x86 installation" - show_message "vcrun 2008 installed..." - unset filename filemd5 filelink filepath -} - function set_dark_mod(){ echo " " >> "$WINE_PREFIX/user.reg" local colorarray=( @@ -418,7 +277,7 @@ function export_var(){ export WINEPREFIX="$WINE_PREFIX" export PATH="$WINE_PATH/bin:$PATH" export LD_LIBRARY_PATH="$WINE_PATH/lib:$LD_LIBRARY_PATH" - export WINEDLLOVERRIDES="winemenubuilder.exe=d" + # export WINEDLLOVERRIDES="winemenubuilder.exe=d" export WINESERVER="$WINE_PATH/bin/wineserver" export WINELOADER="$WINE_PATH/bin/wine" export WINEDLLPATH="$WINE_PATH/lib/wine" diff --git a/PhotoshopSetupCustom.sh b/PhotoshopSetupCustom.sh new file mode 100755 index 0000000..454de96 --- /dev/null +++ b/PhotoshopSetupCustom.sh @@ -0,0 +1,514 @@ +#!/usr/bin/env bash + +function main(){ + + SCR_PATH="$HOME/.photoshopCCV19" + CACHE_PATH="$HOME/.cache/photoshopCCV19" + + mkdir -p $SCR_PATH + mkdir -p $CACHE_PATH + + setup_log "================| script executed |================" + + check_arg $1 + is64 + + #make sure aria2c and wine package is already installed + package_installed aria2c + package_installed wine + package_installed md5sum + + #delete wine3.4 dir if exist then create it + WINE_PATH="$SCR_PATH/wine-3.4" + rmdir_if_exist $WINE_PATH + + RESOURCES_PATH="$SCR_PATH/resources" + WINE_PREFIX="$SCR_PATH/prefix" + + #install wine 3.4 + install_wine34 + + #create new wine prefix for photoshop + rmdir_if_exist $WINE_PREFIX + + #export necessary variable for wine 3.4 + export_var + + #config wine prefix and install mono and gecko automatic + echo -e "\033[1;93mplease allow mono and gecko packages to be installed automatically\e[0m" + echo -e "\033[1;93mif they're not already installed then click on OK button\e[0m" + winecfg 2> "$SCR_PATH/wine-error.log" + if [ $? -eq 0 ];then + show_message "prefix configured..." + sleep 5 + else + error "prefix config failed :(" + fi + + if [ -f "$WINE_PREFIX/user.reg" ];then + #add necessary dlls + append_DLL + sleep 4 + #add dark mod + set_dark_mod + else + error "user.reg Not Found :(" + fi + + #create resources directory + rmdir_if_exist $RESOURCES_PATH + + #install vcrun 2008 ,2010,2012,2013 + install_vcrun2008 + sleep 3 + install_vcrun2010 + sleep 3 + install_vcrun2012 + sleep 3 + install_vcrun2013 + + #install msxml3 and msxml6 and atmlib + sleep 3 + install_msxml3 + sleep 3 + install_msxml6 + sleep 2 + install_atmlib + + #install photoshop + sleep 3 + install_photoshopSE + sleep 5 + + replacement + + if [ -d $RESOURCES_PATH ];then + show_message "deleting resources folder" + rm -rf $RESOURCES_PATH + else + error "resources folder Not Found" + fi + + luncher + show_message "\033[1;33mwhen you run photoshop for the first time it may take a while\e[0m" + show_message "Almost Finish..." + sleep 30 +} + +function setup_log(){ + echo -e "$(date) : $@" >> $SCR_PATH/setuplog.log +} + +function show_message(){ + echo -e "$@" + setup_log "$@" +} + +function error(){ + echo -e "\033[1;31merror:\e[0m $@" + setup_log "$@" + exit 1 +} + +function warning(){ + echo -e "\033[1;33mWarning:\e[0m $@" + setup_log "$@" +} + +function luncher(){ + local luncher_path="$PWD/luncher.sh" + rmdir_if_exist "$SCR_PATH/luncher" + + if [ -f "$luncher_path" ];then + show_message "luncher.sh detected..." + cp "$luncher_path" "$SCR_PATH/luncher" || error "can't copy luncher" + chmod +x "$SCR_PATH/luncher/luncher.sh" + else + error "luncher.sh Note Found" + fi + + #create desktop entry + local desktop_entry="$PWD/photoshop.desktop" + local desktop_entry_dest="/usr/share/applications/photoshop.desktop" + + if [ -f "$desktop_entry" ];then + show_message "desktop entry detected..." + #delete desktop entry if exists + if [ -f "$desktop_entry_dest" ];then + show_message "desktop entry exist deleted..." + sudo rm "$desktop_entry_dest" + fi + sudo cp "$desktop_entry" "/usr/share/applications" || error "can't copy desktop entry" + sudo sed -i "s|gictorbit|$HOME|g" "$desktop_entry_dest" || error "can't edit desktop entry" + else + error "desktop entry Not Found" + fi + + #create photoshop command + show_message "create photoshop command..." + if [ -f "/usr/local/bin/photoshop" ];then + show_message "photoshop command exist deleted..." + sudo rm "/usr/local/bin/photoshop" + fi + sudo ln -s "$SCR_PATH/luncher/luncher.sh" "/usr/local/bin/photoshop" || error "can't create photoshop command" + + unset desktop_entry desktop_entry_dest luncher_path +} + +function replacement(){ + local filename="replacement.tgz" + local filemd5="6441a8e77c082897a99c2b7b588c9ac4" + local filelink="https://www.dropbox.com/s/17pv6aezl7wz6gs/replacement.tgz?dl=1" + local filepath="$CACHE_PATH/$filename" + + download_component $filepath $filemd5 $filelink $filename + + mkdir "$RESOURCES_PATH/replacement" + show_message "extract replacement component..." + tar -xzf $filepath -C "$RESOURCES_PATH/replacement" + + local replacefiles=("IconResources.idx" "PSIconsHighRes.dat" "PSIconsLowRes.dat") + local destpath="$WINE_PREFIX/drive_c/users/$USER/PhotoshopSE/Resources" + + for f in "${replacefiles[@]}";do + local sourcepath="$RESOURCES_PATH/replacement/$f" + cp -f "$sourcepath" "$destpath" || error "cant copy replacement $f file..." + done + + show_message "replace component compeleted..." + unset filename filemd5 filelink filepath +} + +function install_photoshopSE(){ + local filename="photoshopCC-V19.1.6-2018x64.tgz" + local filemd5="b63f6ed690343ee12b6195424f94c33f" + local filelink="https://www.dropbox.com/s/dwfyzq2ie6jih7g/photoshopCC-V19.1.6-2018x64.tgz?dl=1" + local filepath="$CACHE_PATH/$filename" + + download_component $filepath $filemd5 $filelink $filename + + mkdir "$RESOURCES_PATH/photoshopCC" + show_message "extract photoshop..." + tar -xzf $filepath -C "$RESOURCES_PATH/photoshopCC" + + echo "===============| photoshop CC v19 |===============" >> "$SCR_PATH/wine-error.log" + show_message "install photoshop..." + show_message "\033[1;33mPlease don't change default Destination Folder\e[0m" + + wine "$RESOURCES_PATH/photoshopCC/photoshop_cc.exe" &>> "$SCR_PATH/wine-error.log" || error "sorry something went wrong during photoshop installation" + + notify-send "photoshop installed successfully" -i "photoshop" + show_message "photoshopCC V19 x64 installed..." + unset filename filemd5 filelink filepath +} + +function install_atmlib(){ + local filename="atmlib.tgz" + local filemd5="d93d050fc2f310acd13894d6a0c32ee0" + local filelink="https://www.dropbox.com/s/tnwv6prfoq5mc15/atmlib.tgz?dl=1" + local filepath="$CACHE_PATH/$filename" + + download_component $filepath $filemd5 $filelink $filename + + mkdir "$RESOURCES_PATH/atmlib" + tar -xzf $filepath -C "$RESOURCES_PATH/atmlib" + + cp "$RESOURCES_PATH/atmlib/atmlib.dll" "$WINE_PREFIX/drive_c/windows/syswow64/atmlib.dll" + cp "$RESOURCES_PATH/atmlib/atmlib32.dll" "$WINE_PREFIX/drive_c/windows/system32/atmlib.dll" + + show_message "atmlib installed..." + unset filename filemd5 filelink filepath +} + +function install_msxml6(){ + local filename="msxml6.tgz" + local filemd5="6d0035ce77c0c5fdb81bafdbb145d993" + local filelink="https://www.dropbox.com/s/z7mkvnknufji5a3/msxml6.tgz?dl=1" + local filepath="$CACHE_PATH/$filename" + + download_component $filepath $filemd5 $filelink $filename + + mkdir "$RESOURCES_PATH/msxml6" + tar -xzf $filepath -C "$RESOURCES_PATH/msxml6" + + echo "===============| msxml6 |===============" >> "$SCR_PATH/wine-error.log" + + wine msiexec /i "$RESOURCES_PATH/msxml6/msxml6_x64.msi" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during msxml6 instalation" + show_message "msxml6 installed..." + unset filename filemd5 filelink filepath +} + +function install_msxml3(){ + local filename="msxml3.tgz" + local filemd5="f5d2f91929f4201c134e33daf0e07fec" + local filelink="https://www.dropbox.com/s/oablx3gp16dneck/msxml3.tgz?dl=1" + local filepath="$CACHE_PATH/$filename" + + download_component $filepath $filemd5 $filelink $filename + + mkdir "$RESOURCES_PATH/msxml3" + tar -xzf $filepath -C "$RESOURCES_PATH/msxml3" + + echo "===============| msxml3 |===============" >> "$SCR_PATH/wine-error.log" + + wine msiexec /i "$RESOURCES_PATH/msxml3/msxml3.msi" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during msxml3 installation" + show_message "msxml3 installed..." + unset filename filemd5 filelink filepath +} + +function install_vcrun2013(){ + local filename="vcrun2013.tgz" + local filemd5="f0d4e9405c9fc39974d7a62629bfe605" + local filelink="https://www.dropbox.com/s/r1o6k8906gbx920/vcrun2013.tgz?dl=1" + local filepath="$CACHE_PATH/$filename" + + download_component $filepath $filemd5 $filelink $filename + + mkdir "$RESOURCES_PATH/vcrun2013" + tar -xzf $filepath -C "$RESOURCES_PATH/vcrun2013" + + echo "===============| VCRUN 2013 |===============" >> "$SCR_PATH/wine-error.log" + + wine "$RESOURCES_PATH/vcrun2013/vcredist_x86.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2013 x86 installation" + show_message "vcrun 2013 installed..." + unset filename filemd5 filelink filepath +} + +function install_vcrun2012(){ + local filename="vcrun2012.tgz" + local filemd5="86f912bed7b3d76aad04adc23dbe9f48" + local filelink="https://www.dropbox.com/s/4lv27vgjkx5gkv2/vcrun2012.tgz?dl=1" + local filepath="$CACHE_PATH/$filename" + + download_component $filepath $filemd5 $filelink $filename + + mkdir "$RESOURCES_PATH/vcrun2012" + tar -xzf $filepath -C "$RESOURCES_PATH/vcrun2012" + + echo "===============| VCRUN 2012 |===============" >> "$SCR_PATH/wine-error.log" + + wine "$RESOURCES_PATH/vcrun2012/vcredist_x86.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2012 x86 installation" + show_message "vcrun 2012 installed..." + unset filename filemd5 filelink filepath +} + +function install_vcrun2010(){ + local filename="vcrun2010.tgz" + local filemd5="484a242b64b3a7de0fa6567d78b771f9" + local filelink="https://www.dropbox.com/s/c7jyzb93hm2p7v8/vcrun2010.tgz?dl=1" + local filepath="$CACHE_PATH/$filename" + + download_component $filepath $filemd5 $filelink $filename + + mkdir "$RESOURCES_PATH/vcrun2010" + tar -xzf $filepath -C "$RESOURCES_PATH/vcrun2010" + + echo "===============| VCRUN 2010 |===============" >> "$SCR_PATH/wine-error.log" + + wine "$RESOURCES_PATH/vcrun2010/vcredist_x64.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2010 x64 installation" + sleep 1 + wine "$RESOURCES_PATH/vcrun2010/vcredist_x86.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2010 x86 installation" + show_message "vcrun 2010 installed..." + unset filename filemd5 filelink filepath +} + +function install_vcrun2008(){ + local filename="vcrun2008.tgz" + local filemd5="38983c8f8736738ed9d2e2bbf5d82373" + local filelink="https://www.dropbox.com/s/fmjjrx9xq5a9qqc/vcrun2008.tgz?dl=1" + local filepath="$CACHE_PATH/$filename" + + download_component $filepath $filemd5 $filelink $filename + + mkdir "$RESOURCES_PATH/vcrun2008" + tar -xzf $filepath -C "$RESOURCES_PATH/vcrun2008" + + echo "===============| VCRUN 2008 |===============" >> "$SCR_PATH/wine-error.log" + + wine "$RESOURCES_PATH/vcrun2008/vcredist_x64.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2008 x64 installation" + sleep 1 + wine "$RESOURCES_PATH/vcrun2008/vcredist_x86.exe" 2>> "$SCR_PATH/wine-error.log" || error "something went wrong during vcrun2008 x86 installation" + show_message "vcrun 2008 installed..." + unset filename filemd5 filelink filepath +} + +function set_dark_mod(){ + echo " " >> "$WINE_PREFIX/user.reg" + local colorarray=( + '[Control Panel\\Colors] 1491939580' + '#time=1d2b2fb5c69191c' + '"ActiveBorder"="49 54 58"' + '"ActiveTitle"="49 54 58"' + '"AppWorkSpace"="60 64 72"' + '"Background"="49 54 58"' + '"ButtonAlternativeFace"="200 0 0"' + '"ButtonDkShadow"="154 154 154"' + '"ButtonFace"="49 54 58"' + '"ButtonHilight"="119 126 140"' + '"ButtonLight"="60 64 72"' + '"ButtonShadow"="60 64 72"' + '"ButtonText"="219 220 222"' + '"GradientActiveTitle"="49 54 58"' + '"GradientInactiveTitle"="49 54 58"' + '"GrayText"="155 155 155"' + '"Hilight"="119 126 140"' + '"HilightText"="255 255 255"' + '"InactiveBorder"="49 54 58"' + '"InactiveTitle"="49 54 58"' + '"InactiveTitleText"="219 220 222"' + '"InfoText"="159 167 180"' + '"InfoWindow"="49 54 58"' + '"Menu"="49 54 58"' + '"MenuBar"="49 54 58"' + '"MenuHilight"="119 126 140"' + '"MenuText"="219 220 222"' + '"Scrollbar"="73 78 88"' + '"TitleText"="219 220 222"' + '"Window"="35 38 41"' + '"WindowFrame"="49 54 58"' + '"WindowText"="219 220 222"' + ) + for i in "${colorarray[@]}";do + echo "$i" >> "$WINE_PREFIX/user.reg" + done + show_message "set dark mode for wine..." + unset colorarray +} + +function append_DLL(){ + local dllarray=( + '[Software\\Wine\\DllOverrides] 1580889458' + '#time=1d5dbf9ef00b116' + '"*atl110"="native,builtin"' + '"*atl120"="native,builtin"' + '"*msvcp110"="native,builtin"' + '"*msvcp120"="native,builtin"' + '"*msvcr100"="native,builtin"' + '"*msvcr110"="native,builtin"' + '"*msvcr120"="native,builtin"' + '"*msvcr90"="native,builtin"' + '"*msxml3"="native"' + '"*msxml6"="native"' + '"*vcomp110"="native,builtin"' + '"*vcomp120"="native,builtin"' + '"atl110"="native,builtin"' + '"atl80"="native,builtin"' + '"atl90"="native,builtin"' + '"msvcp100"="native,builtin"' + '"msvcp110"="native,builtin"' + '"msvcp120"="native,builtin"' + '"msvcr100"="native,builtin"' + '"msvcr110"="native,builtin"' + '"msvcr120"="native,builtin"' + '"msvcr90"="native,builtin"' + '"msxml3"="native,builtin"' + '"msxml6"="native,builtin"' + '"vcomp110"="native,builtin"' + '"vcomp120"="native,builtin"' + ) + show_message "add necessary DLLs..." + echo " " >> "$WINE_PREFIX/user.reg" + for i in ${dllarray[@]};do + echo "$i" >> "$WINE_PREFIX/user.reg" + done + unset dllarray +} + +function export_var(){ + export WINEPREFIX="$WINE_PREFIX" + export PATH="$WINE_PATH/bin:$PATH" + export LD_LIBRARY_PATH="$WINE_PATH/lib:$LD_LIBRARY_PATH" + export WINEDLLOVERRIDES="winemenubuilder.exe=d" + export WINESERVER="$WINE_PATH/bin/wineserver" + export WINELOADER="$WINE_PATH/bin/wine" + export WINEDLLPATH="$WINE_PATH/lib/wine" + + show_message "wine variables exported..." + local wine_version=$(wine --version) + + if [ $wine_version == "wine-3.4" ];then + show_message "wine 3.4 is configured..." + else + error "wine 3.4 config is wrong" + fi +} + + +function install_wine34(){ + local filename="wine-3.4.tgz" + local filepath="$CACHE_PATH/$filename" + local filemd5="72b485c28e40bba2b73b0d4c0c29a15f" + local filelink="http://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-amd64/PlayOnLinux-wine-3.4-upstream-linux-amd64.tar.gz" + download_component $filepath $filemd5 $filelink $filename + tar -xzf $filepath -C $WINE_PATH + show_message "wine 3.4 installed..." + unset filename filepath filemd5 filelink +} + +#parameters is [PATH] [CheckSum] [URL] [FILE NAME] +function download_component(){ + local tout=0 + while true;do + if [ $tout -ge 2 ];then + error "sorry somthing went wrong during download $4" + fi + if [ -f $1 ];then + local FILE_ID=$(md5sum $1 | cut -d" " -f1) + if [ "$FILE_ID" == $2 ];then + show_message "\033[1;36m$4\e[0m detected" + return 1 + else + show_message "md5 is not match" + rm $1 + fi + else + show_message "downloading $4 ..." + aria2c -c -x 8 -d $CACHE_PATH -o $4 $3 + if [ $? -eq 0 ];then + notify-send "$4 download completed" -i "download" + fi + ((tout++)) + fi + done +} + +function rmdir_if_exist(){ + if [ -d "$1" ];then + rm -rf $1 + show_message "\033[0;36m$1\e[0m directory exists deleting it..." + fi + mkdir $1 + show_message "create\033[0;36m $1\e[0m directory..." +} + +function check_arg(){ + if [ $1 != 0 ] + then + error "It haven't any parameter just execute script" + fi + show_message "argument checked..." +} + +function is64(){ + local arch=$(uname -m) + if [ $arch != "x86_64" ];then + warning "your distro is not 64 bit" + read -r -p "Would you continue? [N/y] " response + if [[ ! "$response" =~ ^([yY][eE][sS]|[yY])$ ]];then + echo "Good Bye!" + exit 0 + fi + fi + show_message "is64 checked..." +} + +function package_installed(){ + local which=$(which $1 2>/dev/null) + if [ "$which" == "/usr/bin/$1" ];then + show_message "package\033[1;36m $1\e[0m is installed..." + else + error "package\033[1;33m $1\e[0m is not installed.\nplease install it and Try again" + fi +} + +main $# $@