Be ultra careful, check exe sha256
This commit is contained in:
parent
9404d847bf
commit
4f3ff5dbd5
@ -22,6 +22,13 @@ if not exist !tools_dir! mkdir !tools_dir!
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM Setup tools for setting up the development environment
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM We are ultra pedantic and we check the hashes of the distribution but also
|
||||
REM we check the hashes of the actual binary that we'll execute. This will
|
||||
REM ensure that the currently installed programs in the tools folder doesn't get
|
||||
REM tampered with at some point after installation.
|
||||
REM
|
||||
REM Unforunately, since this is not standard practice to provide by
|
||||
REM distributions we have to calculate them manually.
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM Bootstrap 7zip
|
||||
@ -29,15 +36,21 @@ REM ----------------------------------------------------------------------------
|
||||
REM We get an old version of 7z that is available as a .zip file which we can
|
||||
REM extract on Windows with just PowerShell (i.e. no dependency).
|
||||
set zip7_bootstrap_sha256=2a3afe19c180f8373fa02ff00254d5394fec0349f5804e0ad2f6067854ff28ac
|
||||
set zip7_bootstrap_exe_sha256=c136b1467d669a725478a6110ebaaab3cb88a3d389dfa688e06173c066b76fcf
|
||||
set zip7_bootstrap_version=920
|
||||
|
||||
set zip7_bootstrap_zip=!downloads_dir!\win32_7zip_bootstrap_v!zip7_bootstrap_version!.zip
|
||||
set zip7_bootstrap_dir=!tools_dir!\7zip_bootstrap-!zip7_bootstrap_version!
|
||||
if not exist !zip7_bootstrap_dir! (
|
||||
set zip7_bootstrap_exe=!zip7_bootstrap_dir!\7za.exe
|
||||
|
||||
if not exist "!zip7_bootstrap_exe!" (
|
||||
call :DownloadFile "https://www.7-zip.org/a/7za!zip7_bootstrap_version!.zip" "!zip7_bootstrap_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!zip7_bootstrap_zip!" "!zip7_bootstrap_sha256!" || exit /B
|
||||
)
|
||||
if not exist "!zip7_bootstrap_dir!" powershell "Expand-Archive !zip7_bootstrap_zip! -DestinationPath !zip7_bootstrap_dir!" || exit /B
|
||||
|
||||
call :VerifyFileSHA256 "!zip7_bootstrap_exe!" "!zip7_bootstrap_exe_sha256!" || exit /B
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM 7zip
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -45,29 +58,41 @@ REM Use our bootstrap 7z from above to download the latest 7zip version
|
||||
REM NOTE: We do not use 7za because it can not unzip a NSIS installer. The full
|
||||
REM version however can.
|
||||
set zip7_sha256=0f5d4dbbe5e55b7aa31b91e5925ed901fdf46a367491d81381846f05ad54c45e
|
||||
set zip7_exe_sha256=344f076bb1211cb02eca9e5ed2c0ce59bcf74ccbc749ec611538fa14ecb9aad2
|
||||
set zip7_version=1900
|
||||
|
||||
set zip7_zip=!downloads_dir!\win32_7zip_v!zip7_version!.exe
|
||||
set zip7_dir=!tools_dir!\7zip-!zip7_version!
|
||||
if not exist !zip7_dir! (
|
||||
set zip7_exe=!zip7_dir!\7z.exe
|
||||
|
||||
if not exist "!zip7_exe!" (
|
||||
call :DownloadFile "https://www.7-zip.org/a/7z!zip7_version!-x64.exe" "!zip7_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!zip7_zip!" "!zip7_sha256!" || exit /B
|
||||
"!zip7_bootstrap_exe!" x -y -o"!zip7_dir!" !zip7_zip! || exit /B
|
||||
)
|
||||
if not exist "!zip7_dir!" "!zip7_bootstrap_dir!\7za.exe" x -y -o"!zip7_dir!" !zip7_zip! || exit /B
|
||||
|
||||
call :VerifyFileSHA256 "!zip7_exe!" "!zip7_exe_sha256!" || exit /B
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM GPG Signature Verification
|
||||
REM ----------------------------------------------------------------------------
|
||||
set gpg_w32_sha256=77cec7f274ee6347642a488efdfa324e8c3ab577286e611c397e69b1b396ab16
|
||||
set gpg_w32_exe_sha256=551bfc44b1c90c66908379ec4035756b812545eee19b36bdbe1f659cfcd6bc0b
|
||||
set gpg_w32_version=2.3.1
|
||||
set gpg_w32_date=20210420
|
||||
|
||||
set gpg_w32_zip=!downloads_dir!\win32_gpg_w32_v!gpg_w32_version!.exe
|
||||
set gpg_w32_dir=!tools_dir!\gpg_w32-!gpg_w32_version!
|
||||
if not exist "!gpg_w32_dir!\bin\gpg.exe" (
|
||||
set gpg_w32_exe=!gpg_w32_dir!\bin\gpg.exe
|
||||
|
||||
if not exist "!gpg_w32_exe!" (
|
||||
call :DownloadFile "https://gnupg.org/ftp/gcrypt/binary/gnupg-w32-!gpg_w32_version!_!gpg_w32_date!.exe" "!gpg_w32_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!gpg_w32_zip!" "!gpg_w32_sha256!" || exit /B
|
||||
call :Unzip "!gpg_w32_zip!" "!gpg_w32_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!gpg_w32_exe!" "!gpg_w32_exe_sha256!" || exit /B
|
||||
|
||||
set gpg_w32_bin_dir=!gpg_w32_dir!\bin
|
||||
set PATH="!gpg_w32_bin_dir!";!PATH!
|
||||
|
||||
@ -80,12 +105,18 @@ REM ----------------------------------------------------------------------------
|
||||
REM Cmder
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_cmder! == 1 (
|
||||
set cmder_exe_sha256=eac713108a49794aacc4797faa38a9397c7d334f309ef6c776039e8ef27efd02
|
||||
set cmder_version=v1.3.16
|
||||
|
||||
set cmder_zip=!downloads_dir!\win32_cmder_!cmder_version!.7z
|
||||
if not exist !cmder_dir! (
|
||||
set cmder_exe=!cmder_dir!\cmder.exe
|
||||
|
||||
if not exist "!cmder_exe!" (
|
||||
call :DownloadFile https://github.com/cmderdev/cmder/releases/download/!cmder_version!/cmder.7z "!cmder_zip!" || exit /B
|
||||
call :Unzip "!cmder_zip!" "!cmder_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!cmder_exe!" "!cmder_exe_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -93,14 +124,20 @@ REM Dependencies (Walker) - For DLL dependency management
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_dependency_walker! == 1 (
|
||||
set dependencies_sha256=44df956dbe267e0a705224c3b85d515fee2adc87509861e24fb6c6b0ea1b86d6
|
||||
set dependencies_exe_sha256=f9c9d78284d03b0457061cfb33751071c8c1ceeb26bc9b75ae9b7e0465e99858
|
||||
set dependencies_version=v1.10
|
||||
|
||||
set dependencies_zip=!downloads_dir!\win32_dependencies_!dependencies_version!.zip
|
||||
set dependencies_dir=!tools_dir!\dependencies-!dependencies_version!
|
||||
if not exist "!dependencies_dir!\DependenciesGui.exe" (
|
||||
set dependencies_exe=!dependencies_dir!\DependenciesGui.exe
|
||||
|
||||
if not exist "!dependencies_exe!" (
|
||||
call :DownloadFile "https://github.com/lucasg/Dependencies/releases/download/!dependencies_version!/Dependencies_x64_Release.zip" "!dependencies_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!dependencies_zip!" "!dependencies_sha256!" || exit /B
|
||||
call :Unzip "!dependencies_zip!" "!dependencies_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!dependencies_exe!" "!dependencies_exe_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -108,14 +145,20 @@ REM everything (void tools search program)
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_everything_void_tools! == 1 (
|
||||
set everything_sha256=f61b601acba59d61fb0631a654e48a564db34e279b6f2cc45e20a42ce9d9c466
|
||||
set everything_exe_sha256=48a17c3c22476f642c2b1ab2da8dfd789e39882997d7a8e266104f7404a0ded9
|
||||
set everything_version=1.4.1.1009
|
||||
|
||||
set everything_zip=!downloads_dir!\win32_everything_v!everything_version!.7z
|
||||
set everything_dir=!tools_dir!\everything-!everything_version!
|
||||
if not exist "!everything_dir!\everything.exe" (
|
||||
set everything_exe=!everything_dir!\everything.exe
|
||||
|
||||
if not exist "!everything_exe!" (
|
||||
call :DownloadFile "https://www.voidtools.com/Everything-!everything_version!.x64.zip" "!everything_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!everything_zip!" "!everything_sha256!" || exit /B
|
||||
call :Unzip "!everything_zip!" "!everything_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!everything_exe!" "!everything_exe_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -129,16 +172,18 @@ if !install_gvim! == 1 (
|
||||
call :Unzip "!gvim_zip!" "!gvim_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :CopyFile "!install_dir!\_vimrc" "!home_dir!" || exit /B
|
||||
call :CopyFile "!install_dir!\win32_gvim_fullscreen.dll" "!gvim_dir!\gvim_fullscreen.dll" || exit /B
|
||||
call :CopyAndAlwaysOverwriteFile "!install_dir!\_vimrc" !home_dir!
|
||||
|
||||
REM DLL that hooks into GVIM and provides fullscreen with F11
|
||||
set gvim_fullscreen_dll_sha256=1c83747b67ed73c05d44c1af8222a860bc5a48b56bf54cd6e21465a2deb78456
|
||||
set gvim_fullscreen_dll=!gvim_dir!\gvim_fullscreen.dll
|
||||
call :CopyAndAlwaysOverwriteFile "!install_dir!\win32_gvim_fullscreen.dll" "!gvim_fullscreen_dll!" || exit /B
|
||||
call :VerifyFileSHA256 "!gvim_fullscreen_dll!" "!gvim_fullscreen_dll_sha256!" || exit /B
|
||||
|
||||
set vim_plug_dir=!vim_dir!\autoload
|
||||
set vim_plug=!vim_plug_dir!\plug.vim
|
||||
if not exist "!vim_plug_dir!" mkdir "!vim_plug_dir!"
|
||||
call :DownloadFile "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" "!vim_plug!" || exit /B
|
||||
|
||||
set vim_clang_format=!vim_dir!\clang-format.py
|
||||
call :DownloadFile "https://raw.githubusercontent.com/llvm/llvm-project/main/clang/tools/clang-format/clang-format.py" "!vim_clang_format!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -147,13 +192,16 @@ REM ----------------------------------------------------------------------------
|
||||
if !install_joplin! == 1 (
|
||||
set joplin_sha256=1048da869657a889e27fc6c320161b806cc6e48de2d0ddaa602e92c6734f1c8c
|
||||
set joplin_version=2.1.9
|
||||
|
||||
set joplin_dir=!tools_dir!\joplin-x64-!joplin_version!
|
||||
set joplin_exe=!joplin_dir!\JoplinPortable.exe
|
||||
|
||||
if not exist "!joplin_exe!" (
|
||||
if not exist "!joplin_dir!" mkdir "!joplin_dir!"
|
||||
call :DownloadFile "https://github.com/laurent22/joplin/releases/download/v!joplin_version!/JoplinPortable.exe" "!joplin_exe!" || exit /B
|
||||
call :VerifyFileSHA256 "!joplin_exe!" "!joplin_sha256!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!joplin_exe!" "!joplin_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -161,27 +209,38 @@ REM Keypirinha
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_keypirinha! == 1 (
|
||||
set keypirinha_sha256=d109a16e6a5cf311abf6d06bbe5b1be3b9ba323b79c32a168628189e10f102a5
|
||||
set keypirinha_exe_sha256=2d3adb36a04e9fdf94636c9ac5d4c2b754accbfaecd81f4ee7189c3c0edc8af1
|
||||
set keypirinha_version=2.26
|
||||
|
||||
set keypirinha_zip=!downloads_dir!\win32_keypirinha-x64-!keypirinha_version!.7z
|
||||
set keypirinha_dir=!tools_dir!\keypirinha-x64-!keypirinha_version!
|
||||
if not exist "!keypirinha_dir!\keypirinha.exe" (
|
||||
set keypirinha_exe=!keypirinha_dir!\keypirinha.exe
|
||||
|
||||
if not exist "!keypirinha_exe!" (
|
||||
call :DownloadFile "https://github.com/Keypirinha/Keypirinha/releases/download/v!keypirinha_version!/keypirinha-!keypirinha_version!-x64-portable.7z" "!keypirinha_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!keypirinha_zip!" "!keypirinha_sha256!" || exit /B
|
||||
call :Unzip "!keypirinha_zip!" "!keypirinha_dir!" || exit /B
|
||||
call :Move "!keypirinha_dir!\keypirinha" "!keypirinha_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!keypirinha_exe!" "!keypirinha_exe_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM LLVM/Clang
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_llvm_clang! == 1 (
|
||||
set llvm_exe_sha256=9f0748de7f946c210a030452de226986bab46a0121d7236ea0e7b5079cb6dfef
|
||||
set llvm_version=12.0.1
|
||||
|
||||
set llvm_zip=!downloads_dir!\win32_llvm_x64_v!llvm_version!.exe
|
||||
set llvm_dir=!tools_dir!\llvm-!llvm_version!
|
||||
set llvm_exe=!llvm_dir!\bin\clang.exe
|
||||
|
||||
set llvm_gpg_key=!downloads_dir!\llvm-tstellar-gpg-key.asc
|
||||
set llvm_gpg_sig=!llvm_zip!.sig
|
||||
if not exist "!llvm_dir!\bin\clang.exe" (
|
||||
|
||||
if not exist "!llvm_exe!" (
|
||||
call :DownloadFile "https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.1/tstellar-gpg-key.asc" "!llvm_gpg_key!" || exit /B
|
||||
call :DownloadFile "https://github.com/llvm/llvm-project/releases/download/llvmorg-!llvm_version!/LLVM-!llvm_version!-win64.exe.sig" "!llvm_gpg_sig!" || exit /B
|
||||
call :DownloadFile "https://github.com/llvm/llvm-project/releases/download/llvmorg-!llvm_version!/LLVM-!llvm_version!-win64.exe" "!llvm_zip!" || exit /B
|
||||
@ -191,7 +250,15 @@ if !install_llvm_clang! == 1 (
|
||||
call :Unzip "!llvm_zip!" "!llvm_dir!" || exit /B
|
||||
)
|
||||
|
||||
if !install_gvim! == 1 (
|
||||
set clang_format_py_sha256=36ba7aa047f8a8ac8fdc278aaa733de801cc84dea60a4210973fd3e4f0d2a330
|
||||
set vim_clang_format=!vim_dir!\clang-format.py
|
||||
call :CopyAndAlwaysOverwriteFile "!llvm_dir!\share\clang\clang-format.py" "!vim_clang_format!" || exit /B
|
||||
call :VerifyFileSHA256 !vim_clang_format! !clang_format_py_sha256! || exit /B
|
||||
)
|
||||
|
||||
set llvm_bin_dir=!llvm_dir!\bin
|
||||
call :VerifyFileSHA256 !llvm_exe! !llvm_exe_sha256! || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -200,26 +267,32 @@ REM ----------------------------------------------------------------------------
|
||||
REM ctags: C/C++ code annotation generator
|
||||
REM scanmapset: Bind capslock to escape via registry
|
||||
REM uncap: Bind capslock to escape via run-time program
|
||||
call :CopyFile "!install_dir!\win32_ctags.exe" "!cmder_dir!\bin\ctags.exe" || exit /B
|
||||
call :CopyFile "!install_dir!\win32_scanmapset.exe" "!cmder_dir!\bin\scanmapset.exe" || exit /B
|
||||
call :CopyFile "!install_dir!\win32_uncap.exe" "!cmder_dir!\bin\uncap.exe" || exit /B
|
||||
call :CopyFile "!install_dir!\clang-format-style-file" "!home_dir!\_clang-format" || exit /B
|
||||
call :CopyAndAlwaysOverwriteFile "!install_dir!\win32_ctags.exe" "!cmder_dir!\bin\ctags.exe" || exit /B
|
||||
call :CopyAndAlwaysOverwriteFile "!install_dir!\win32_scanmapset.exe" "!cmder_dir!\bin\scanmapset.exe" || exit /B
|
||||
call :CopyAndAlwaysOverwriteFile "!install_dir!\win32_uncap.exe" "!cmder_dir!\bin\uncap.exe" || exit /B
|
||||
call :CopyAndAlwaysOverwriteFile "!install_dir!\clang-format-style-file" "!home_dir!\_clang-format" || exit /B
|
||||
|
||||
REM ------------------------------------------------------------------------
|
||||
REM MinGW64
|
||||
REM ------------------------------------------------------------------------
|
||||
if !install_mingw64! == 1 (
|
||||
set mingw_sha256=853970527b5de4a55ec8ca4d3fd732c00ae1c69974cc930c82604396d43e79f8
|
||||
set mingw_exe_sha256=c5f0953f7a71ddcdf0852e1e44a43cef9b8fe121beba4d4202bfe6d405de47c0
|
||||
set mingw_version=8.1.0
|
||||
|
||||
set mingw_zip=!downloads_dir!\win32_mingw64-posix-seg-rt_v6-rev0!mingw_version!.7z
|
||||
set mingw_dir=!tools_dir!\mingw64-posix-seh-rt_v6-rev0-!mingw_version!
|
||||
set mingw_bin_dir=!mingw_dir!\bin
|
||||
if not exist "!mingw_bin_dir!\gcc.exe" (
|
||||
set mingw_exe=!mingw_bin_dir!\gcc.exe
|
||||
|
||||
if not exist "!mingw_exe!" (
|
||||
call :DownloadFile \"https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/mingw-builds/!mingw_version!/threads-posix/seh/x86_64-!mingw_version!-release-posix-seh-rt_v6-rev0.7z\" !mingw_zip! || exit /B
|
||||
call :VerifyFileSHA256 !mingw_zip! !mingw_sha256! || exit /B
|
||||
call :Unzip !mingw_zip! !mingw_dir! || exit /B
|
||||
call :Move !mingw_dir!\mingw64 !mingw_dir! || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 !mingw_exe! !mingw_exe_sha256! || exit /B
|
||||
)
|
||||
|
||||
REM ------------------------------------------------------------------------
|
||||
@ -227,22 +300,52 @@ REM MobaXTerm
|
||||
REM ------------------------------------------------------------------------
|
||||
if !install_mobaxterm! == 1 (
|
||||
set mobaxterm_sha256=91f80537f12c2ad34a5eba99a285c149781c6d35a144a965ce3aea8a9bc6868c
|
||||
set mobaxterm_exe_sha256=1053c81b44018d6e6519a9c80d7413f7bb36e9f6e43b3da619b2229aa362a522
|
||||
set mobaxterm_version=21.2
|
||||
|
||||
set mobaxterm_zip=!downloads_dir!\win32_mobaxterm-!mobaxterm_version!.zip
|
||||
set mobaxterm_dir=!tools_dir!\mobaxterm-!mobaxterm_version!
|
||||
if not exist "!mobaxterm_dir!\MobaXterm_Personal_21.2.exe" (
|
||||
set mobaxterm_exe=!mobaxterm_dir!\MobaXterm_Personal_21.2.exe
|
||||
|
||||
if not exist "!mobaxterm_exe!" (
|
||||
call :DownloadFile "https://download.mobatek.net/2122021051924233/MobaXterm_Portable_v!mobaxterm_version!.zip" !mobaxterm_zip! || exit /B
|
||||
call :VerifyFileSHA256 !mobaxterm_zip! !mobaxterm_sha256! || exit /B
|
||||
call :Unzip !mobaxterm_zip! !mobaxterm_dir! || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 !mobaxterm_exe! !mobaxterm_exe_sha256! || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM node-js portable
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_nodejs! == 1 (
|
||||
set nodejs_sha256=fb951d3186b65a831453a187f6ee313af91de289c43c246f0e25a62657c919c8
|
||||
set nodejs_version=2.10.0
|
||||
|
||||
set nodejs_dir=!tools_dir!\nodejs-portable-!nodejs_version!
|
||||
set nodejs_exe=!nodejs_dir!\nodejs-portable.exe
|
||||
|
||||
if not exist "!nodejs_exe!" (
|
||||
if not exist "!nodejs_dir!" mkdir "!nodejs_dir!"
|
||||
call :DownloadFile "https://github.com/crazy-max/nodejs-portable/releases/download/!nodejs_version!/nodejs-portable.exe" "!nodejs_exe!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!nodejs_exe!" "!nodejs_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM O&O ShutUp10 (Privacy Tool for Windows)
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_ooshutup10! == 1 (
|
||||
|
||||
REM We don't do SHA256 here since we don't get a versioned URL, this can
|
||||
REM change at a whim and it'd be painful to have to reupdate the script
|
||||
REM everytime.
|
||||
|
||||
set oo_shutup_10_dir=!tools_dir!\oo_shutup_10
|
||||
set oo_shutup_10_file=!oo_shutup_10_dir!\oo_shutup_10.exe
|
||||
|
||||
if not exist "!oo_shutup_10_file!" (
|
||||
if not exist "!oo_shutup_10_dir!" mkdir "!oo_shutup_10_dir!"
|
||||
call :DownloadFile "https://dl5.oo-software.com/files/ooshutup10/OOSU10.exe" "!oo_shutup_10_file!" || exit /B
|
||||
@ -254,14 +357,20 @@ REM ProcessHacker
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_process_hacker! == 1 (
|
||||
set process_hacker_sha256=e8836365abab7478d8e4c2d3fb3bb1fce82048cd4da54bab41cacbae1f45b1ff
|
||||
set process_hacker_exe_sha256=46367bfcf4b150da573a74d91aa2f7caf7a0789741bc65878a028e91ffbf5e42
|
||||
set process_hacker_version=3.0.4212
|
||||
|
||||
set process_hacker_zip=!downloads_dir!\win32_process_hacker-!process_hacker_version!.zip
|
||||
set process_hacker_dir=!tools_dir!\process_hacker-!process_hacker_version!
|
||||
if not exist "!process_hacker_dir!\64bit\ProcessHacker.exe" (
|
||||
set process_hacker_exe=!process_hacker_dir!\64bit\ProcessHacker.exe
|
||||
|
||||
if not exist "!process_hacker_exe!" (
|
||||
call :DownloadFile "https://ci.appveyor.com/api/buildjobs/8say005q9xy48cc3/artifacts/processhacker-!process_hacker_version!-bin.zip" "!process_hacker_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!process_hacker_zip!" "!process_hacker_sha256!" || exit /B
|
||||
call :Unzip "!process_hacker_zip!" "!process_hacker_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!process_hacker_exe!" "!process_hacker_exe_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -269,18 +378,24 @@ REM Python
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_python3! == 1 (
|
||||
set python_sha256=93cc3db75dffb4d56b9f64af43294f130f2c222a66de7a1325d0ce8f1ed62e26
|
||||
set python_exe_sha256=9042daa88b2d3879a51bfabc2d90d4a56da05ebf184b6492a22a46fdc1c936a4
|
||||
set python_version=3.9.0.2dot
|
||||
set python_version_nodot=3902
|
||||
set python_version_dot=3.9.0
|
||||
|
||||
set python_zip=!downloads_dir!\win32_Winpython64-!python_version!.exe
|
||||
set python_dir=!tools_dir!\Winpython64-!python_version_nodot!
|
||||
if not exist !python_dir! (
|
||||
set python_exe=!python_dir!\python-3.9.0.amd64\python.exe
|
||||
|
||||
if not exist "!python_exe!" (
|
||||
call :DownloadFile "https://github.com/winpython/winpython/releases/download/3.0.20201028/Winpython64-!python_version!.exe" "!python_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!python_zip!" "!python_sha256!" || exit /B
|
||||
call :Unzip "!python_zip!" "!python_dir!" || exit /B
|
||||
call :Move "!python_dir!\WPy64-!python_version_nodot!" "!python_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!python_exe!" "!python_exe_sha256!" || exit /B
|
||||
|
||||
set python_bin_dir=!python_dir!\python-!python_version_dot!.amd64
|
||||
set python_scripts_bin_dir=!python_bin_dir!\Scripts
|
||||
)
|
||||
@ -290,15 +405,21 @@ REM ripgrep
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_ripgrep! == 1 (
|
||||
set rg_sha256=a47ace6f654c5ffa236792fc3ee3fefd9c7e88e026928b44da801acb72124aa8
|
||||
set rg_exe_sha256=ab5595a4f7a6b918cece0e7e22ebc883ead6163948571419a1dd5cd3c7f37972
|
||||
set rg_version=13.0.0
|
||||
|
||||
set rg_zip=!downloads_dir!\win32_rg_v!rg_version!.zip
|
||||
set rg_dir=!tools_dir!\ripgrep-!rg_version!
|
||||
if not exist "!rg_dir!\rg.exe" (
|
||||
set rg_exe=!rg_dir!\rg.exe
|
||||
|
||||
if not exist "!rg_exe!" (
|
||||
call :DownloadFile "https://github.com/BurntSushi/ripgrep/releases/download/!rg_version!/ripgrep-!rg_version!-x86_64-pc-windows-msvc.zip" "!rg_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!rg_zip!" "!rg_sha256!" || exit /B
|
||||
call :Unzip "!rg_zip!" "!rg_dir!" || exit /B
|
||||
call :Move "!rg_dir!\ripgrep-!rg_version!-x86_64-pc-windows-msvc" "!rg_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!rg_exe!" "!rg_exe_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -306,15 +427,21 @@ REM Zig
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_zig! == 1 (
|
||||
set zig_sha256=8580fbbf3afb72e9b495c7f8aeac752a03475ae0bbcf5d787f3775c7e1f4f807
|
||||
set zig_exe_sha256=43ea220fa74b3adfc740719c1bcaabdc3d4016b0c5f11aed4bd0477fc42c23f0
|
||||
set zig_version=0.8.0
|
||||
|
||||
set zig_file=zig-windows-x86_64-!zig_version!.zip
|
||||
set zig_zip=!downloads_dir!\win32_!zig_file!
|
||||
set zig_dir=!tools_dir!\zig-windows-x86_64-!zig_version!
|
||||
if not exist "!zig_dir!\zig.exe" (
|
||||
set zig_exe=!zig_dir!\zig.exe
|
||||
|
||||
if not exist "!zig_exe!" (
|
||||
call :DownloadFile "https://ziglang.org/download/!zig_version!/!zig_file!" "!zig_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!zig_zip!" "!zig_sha256!" || exit /B
|
||||
call :Unzip "!zig_zip!" "!zig_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!zig_exe!" "!zig_exe_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -325,20 +452,27 @@ REM geth
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_geth! == 1 (
|
||||
set geth_md5=35aecac473af02f886535e9a57530081
|
||||
set geth_exe_sha256=f56ad63c929ed5dabf7ef211edef4aeed504b5380fed543bde6e7f7df74a0675
|
||||
set geth_version=1.10.7-12f0ff40
|
||||
|
||||
set geth_zip=!downloads_dir!\win32_geth-amd64-v!geth_version!.zip
|
||||
set geth_dir=!tools_dir!\geth-windows-amd64-!geth_version!
|
||||
set geth_exe=!geth_dir!\geth.exe
|
||||
|
||||
set geth_gpg_key=!downloads_dir!\..\geth-windows-builder-gpg-key.asc
|
||||
set geth_gpg_sig=!geth_zip!.sig
|
||||
if not exist "!geth_dir!\geth.exe" (
|
||||
set geth_gpg_sig=!geth_zip!.asc
|
||||
|
||||
if not exist "!geth_exe!" (
|
||||
call :DownloadFile "https://gethstore.blob.core.windows.net/builds/geth-windows-amd64-!geth_version!.zip" "!geth_zip!" || exit /B
|
||||
call :DownloadFile "https://gethstore.blob.core.windows.net/builds/geth-windows-amd64-!geth_version!.zip.sig" "!geth_gpg_sig! || exit /B
|
||||
call :DownloadFile "https://gethstore.blob.core.windows.net/builds/geth-windows-amd64-!geth_version!.zip.asc" "!geth_gpg_sig! || exit /B
|
||||
call :VerifyFileMD5 "!geth_zip!" "!geth_md5!" || exit /B
|
||||
|
||||
gpg --import "!geth_gpg_key!" || exit /B
|
||||
gpg --verify "!geth_gpg_sig!" "!geth_zip!" || exit /B
|
||||
call :Unzip "!geth_zip!" "!geth_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!geth_exe!" "!geth_exe_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -346,14 +480,20 @@ REM remix_ide
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_remix_ide! == 1 (
|
||||
set remix_ide_sha256=19a56cb79459e612d8cbdd6b6729d06c7080d983537d2494a15fd25ea67b2499
|
||||
set remix_ide_exe_sha256=960bc454e37a718b86018b596d14ed977d1a8e1a5bc57b5afd573fc5e9b84a47
|
||||
set remix_ide_version=1.3.1
|
||||
|
||||
set remix_ide_zip=!downloads_dir!\win32_remix-ide-amd64-v!remix_ide_version!.zip
|
||||
set remix_ide_dir=!tools_dir!\remix-ide-!remix_ide_version!
|
||||
if not exist "!remix_ide_dir!\Remix IDE.exe" (
|
||||
set remix_ide_exe=!remix_ide_dir!\Remix IDE.exe
|
||||
|
||||
if not exist "!remix_ide_exe!" (
|
||||
call :DownloadFile "https://github.com/ethereum/remix-desktop/releases/download/v!remix_ide_version!/Remix-IDE-!remix_ide_version!-win.zip" "!remix_ide_zip!" || exit /B
|
||||
call :VerifyFileSHA256 "!remix_ide_zip!" "!remix_ide_sha256!" || exit /B
|
||||
call :Unzip "!remix_ide_zip!" "!remix_ide_dir!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!remix_ide_exe!" "!remix_ide_exe_sha256!" || exit /B
|
||||
)
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
@ -361,13 +501,17 @@ REM solidity
|
||||
REM ----------------------------------------------------------------------------
|
||||
if !install_solidity! == 1 (
|
||||
set solidity_sha256=82db83111c6e2c892179486cb7050d85f1517bf851027607eb7f4e589e714bc5
|
||||
set solidity_exe_sha256=
|
||||
set solidity_version=0.8.7+commit.e28d00a7
|
||||
|
||||
set solidity_dir=!tools_dir!\solidity-windows-amd64-!solidity_version!
|
||||
set solidity_exe=!solidity_dir!\solc.exe
|
||||
|
||||
if not exist "!solidity_exe!" (
|
||||
if not exist "!solidity_dir!" mkdir "!solidity_dir!"
|
||||
call :DownloadFile "https://binaries.soliditylang.org/windows-amd64/solc-windows-amd64-v!solidity_version!.exe" "!solidity_exe!" || exit /B
|
||||
)
|
||||
|
||||
call :VerifyFileSHA256 "!solidity_exe!" "!solidity_sha256!" || exit /B
|
||||
)
|
||||
|
||||
@ -383,6 +527,7 @@ echo set PATH=%%~dp0!gpg_w32_bin_dir!;%%PATH%%>> "!terminal_script!"
|
||||
if !install_gvim! == 1 ( echo set PATH=%%~dp0!gvim_dir!;%%PATH%%>> "!terminal_script!" )
|
||||
if !install_llvm_clang! == 1 ( echo set PATH=%%~dp0!llvm_bin_dir!;%%PATH%%>> "!terminal_script!" )
|
||||
if !install_mingw64! == 1 ( echo set PATH=%%~dp0!mingw_bin_dir!;%%PATH%%>> "!terminal_script!" )
|
||||
if !install_nodejs! == 1 ( echo set PATH=%%~dp0!nodejs_dir!;%%PATH%%>> "!terminal_script!" )
|
||||
|
||||
if !install_python3! == 1 (
|
||||
echo set PATH=%%~dp0!python_bin_dir!;%%PATH%%>> "!terminal_script!"
|
||||
@ -443,17 +588,12 @@ if not exist !dest_file! echo [Download File] Failed to download file from !url!
|
||||
exit /B !ERRORLEVEL!
|
||||
|
||||
REM ------------------------------------------------------------------------------------------------
|
||||
:CopyFile
|
||||
:CopyAndAlwaysOverwriteFile
|
||||
set src_file=%~1
|
||||
set dest_file=%~2
|
||||
set msg=[Copy] !src_file! to !dest_file!
|
||||
|
||||
if exist "!dest_file!" (
|
||||
echo - [Cached] !msg!
|
||||
) else (
|
||||
echo - !msg!
|
||||
call copy /Y !src_file! !dest_file! > nul
|
||||
)
|
||||
echo - [Copy] !src_file! to !dest_file!
|
||||
call copy /Y !src_file! !dest_file! > nul
|
||||
|
||||
exit /B !ERRORLEVEL!
|
||||
|
||||
@ -478,7 +618,7 @@ set expected_sha256=%~2
|
||||
|
||||
REM Calculate hash
|
||||
set calculated_sha256_file=!file!.sha256.txt
|
||||
call powershell "$FileHash = Get-FileHash -algorithm sha256 !file!; $FileHash.Hash.ToLower()" > !calculated_sha256_file!
|
||||
call powershell "$FileHash = Get-FileHash -algorithm sha256 \"!file!\"; $FileHash.Hash.ToLower()" > !calculated_sha256_file!
|
||||
|
||||
REM Verify Hash
|
||||
set /p actual_sha256=< !calculated_sha256_file!
|
||||
@ -500,7 +640,7 @@ set expected_md5=%~2
|
||||
|
||||
REM Calculate hash
|
||||
set calculated_md5_file=!file!.md5.txt
|
||||
call powershell "$FileHash = Get-FileHash -algorithm md5 !file!; $FileHash.Hash.ToLower()" > !calculated_md5_file!
|
||||
call powershell "$FileHash = Get-FileHash -algorithm md5 \"!file!\"; $FileHash.Hash.ToLower()" > !calculated_md5_file!
|
||||
|
||||
REM Verify Hash
|
||||
set /p actual_md5=< !calculated_md5_file!
|
||||
|
@ -5,21 +5,32 @@ REM Installation Configuration
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM Set the 0 or 1 to enable or disable installation of a package
|
||||
set install_cmder=1
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM Programming
|
||||
REM ----------------------------------------------------------------------------
|
||||
set install_llvm_clang=1
|
||||
set install_mingw64=1
|
||||
set install_nodejs=1
|
||||
set install_python3=1
|
||||
set install_zig=1
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM QoL/Tools
|
||||
REM ----------------------------------------------------------------------------
|
||||
set install_dependency_walker=1
|
||||
set install_everything_void_tools=1
|
||||
set install_gvim=1
|
||||
set install_joplin=1
|
||||
set install_keypirinha=1
|
||||
set install_llvm_clang=1
|
||||
set install_mingw64=1
|
||||
set install_mobaxterm=1
|
||||
set install_ooshutup10=1
|
||||
set install_process_hacker=1
|
||||
set install_python3=1
|
||||
set install_ripgrep=1
|
||||
set install_zig=1
|
||||
|
||||
REM ----------------------------------------------------------------------------
|
||||
REM Ethereum
|
||||
REM ----------------------------------------------------------------------------
|
||||
set install_geth=1
|
||||
set install_remix_ide=1
|
||||
set install_solidity=1
|
||||
|
Loading…
Reference in New Issue
Block a user