diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake index b070c518118d11..73c6fe8ff3170b 100644 --- a/scripts/cmake/vcpkg_acquire_msys.cmake +++ b/scripts/cmake/vcpkg_acquire_msys.cmake @@ -53,20 +53,18 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) if(_vam_HOST_ARCHITECTURE STREQUAL "AMD64") set(TOOLSUBPATH msys64) set(URLS - "https://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-base-x86_64-20190524.tar.xz/download" - "http://repo.msys2.org/distrib/x86_64/msys2-base-x86_64-20190524.tar.xz" + "https://github.com/msys2/msys2-installer/releases/download/2020-05-17/msys2-base-x86_64-20200517.tar.xz" ) - set(ARCHIVE "msys2-base-x86_64-20190524.tar.xz") - set(HASH 50796072d01d30cc4a02df0f9dafb70e2584462e1341ef0eff94e2542d3f5173f20f81e8f743e9641b7528ea1492edff20ce83cb40c6e292904905abe2a91ccc) + set(ARCHIVE "msys2-base-x86_64-20200517.tar.xz") + set(HASH 76097d523cae8e0fcf30409cc2d7aeb37afa3b8ae169f150d77b2d5d3d84380269b54201b192f166589b14f1fcae31ead34b627b62b1916d493f90bad8012e42) set(STAMP "initialized-msys2_64.stamp") else() set(TOOLSUBPATH msys32) set(URLS - "https://sourceforge.net/projects/msys2/files/Base/i686/msys2-base-i686-20190524.tar.xz/download" - "http://repo.msys2.org/distrib/i686/msys2-base-i686-20190524.tar.xz" + "https://github.com/msys2/msys2-installer/releases/download/2020-05-17/msys2-base-i686-20200517.tar.xz" ) - set(ARCHIVE "msys2-base-i686-20190524.tar.xz") - set(HASH b26d7d432e1eabe2138c4caac5f0a62670f9dab833b9e91ca94b9e13d29a763323b0d30160f09a381ac442b473482dac799be0fea5dd7b28ea2ddd3ba3cd3c25) + set(ARCHIVE "msys2-base-i686-20200517.tar.xz") + set(HASH 74786326c07c1cf2b11440cbd7caf947c2a32ebcc2b5bb362301d12327a2108182f57e98c217487db75bf6f0e3a4577291933e025b9b170e37848ec0b51a134c) set(STAMP "initialized-msys2_32.stamp") endif() @@ -88,13 +86,30 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) WORKING_DIRECTORY ${TOOLPATH} ) _execute_process( - COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "PATH=/usr/bin;pacman-key --init;pacman-key --populate" + COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "export PATH=/usr/bin;pacman-key --init;pacman-key --populate" WORKING_DIRECTORY ${TOOLPATH} + TIMEOUT 600 ) + # in some environments process not exiting and preventing futher usage of msys _execute_process( - COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "PATH=/usr/bin;pacman -Syu --noconfirm" + COMMAND taskkill /F /IM gpg-agent.exe WORKING_DIRECTORY ${TOOLPATH} ) + _execute_process( + COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "PATH=/usr/bin pacman -Syuu --noconfirm --disable-download-timeout" + WORKING_DIRECTORY ${TOOLPATH} + TIMEOUT 600 + ) + _execute_process( + COMMAND taskkill /F /IM gpg-agent.exe + WORKING_DIRECTORY ${TOOLPATH} + ) + # pacman may fail to update files in use, so running it twice + _execute_process( + COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "PATH=/usr/bin pacman -Syuu --noconfirm --disable-download-timeout" + WORKING_DIRECTORY ${TOOLPATH} + TIMEOUT 600 + ) file(WRITE "${TOOLPATH}/${STAMP}" "0") message(STATUS "Acquiring MSYS2... OK") endif() @@ -107,9 +122,10 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) set(ENV{PATH} ${PATH_TO_ROOT}/usr/bin) vcpkg_execute_required_process( ALLOW_IN_DOWNLOAD_MODE - COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "pacman -Sy --noconfirm --needed ${_am_PACKAGES}" + COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "PATH=/usr/bin pacman -Sy --noconfirm --disable-download-timeout --needed ${_am_PACKAGES}" WORKING_DIRECTORY ${TOOLPATH} LOGNAME msys-pacman-${TARGET_TRIPLET} + TIMEOUT 600 ) set(ENV{PATH} "${_ENV_ORIGINAL}")