diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2020-10-05 17:39:47 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-05 17:39:47 -0700 |
| commit | 76a7e9248fb3c57350b559966dcaa2d52a5e4458 (patch) | |
| tree | 98a796665c54b4dde306f189ca2d2a30b3cf4729 /scripts | |
| parent | c9027488970352953a59505234775b367d4cfd2a (diff) | |
| download | vcpkg-76a7e9248fb3c57350b559966dcaa2d52a5e4458.tar.gz vcpkg-76a7e9248fb3c57350b559966dcaa2d52a5e4458.zip | |
[vcpkg_acquire_msys] Use Mirrors (#13889)
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/cmake/vcpkg_acquire_msys.cmake | 46 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_find_acquire_program.cmake | 38 |
2 files changed, 41 insertions, 43 deletions
diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake index 65e4a01e4..64f0e6699 100644 --- a/scripts/cmake/vcpkg_acquire_msys.cmake +++ b/scripts/cmake/vcpkg_acquire_msys.cmake @@ -66,6 +66,34 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) list(APPEND PACKAGES bash coreutils sed grep gawk diffutils make pkg-config) endif() + macro(msys_package_download URL SHA FILENAME) + set(URLS "${URL}") + # Mirror list from https://github.com/msys2/MSYS2-packages/blob/master/pacman-mirrors/mirrorlist.msys + # Sourceforge is not used because it does not keep older package versions + set(MIRRORS + "https://www2.futureware.at/~nickoe/msys2-mirror/" + "https://mirror.yandex.ru/mirrors/msys2/" + "https://mirrors.tuna.tsinghua.edu.cn/msys2/" + "https://mirrors.ustc.edu.cn/msys2/" + "https://mirror.bit.edu.cn/msys2/" + "https://mirror.selfnet.de/msys2/" + "https://mirrors.sjtug.sjtu.edu.cn/msys2/" + ) + + foreach(MIRROR IN LISTS MIRRORS) + string(REPLACE "https://repo.msys2.org/" "${MIRROR}" MIRROR_URL "${URL}") + list(APPEND URLS "${MIRROR_URL}") + endforeach() + vcpkg_download_distfile(MSYS_ARCHIVE + URLS ${URLS} + SHA512 "${SHA}" + FILENAME "msys-${FILENAME}" + QUIET + ) + string(APPEND TOTAL_HASH "${SHA}") + list(APPEND ARCHIVES "${MSYS_ARCHIVE}") + endmacro() + macro(msys_package) cmake_parse_arguments(p "ZST;ANY" "URL;NAME;SHA512;VERSION;REPO" "DEPS" ${ARGN}) if(p_URL AND NOT p_NAME) @@ -94,14 +122,7 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) if("${p_NAME}" IN_LIST PACKAGES) list(REMOVE_ITEM PACKAGES "${p_NAME}") list(APPEND PACKAGES ${p_DEPS}) - vcpkg_download_distfile(MSYS_ARCHIVE - URLS "${p_URL}" - SHA512 "${p_SHA512}" - FILENAME "msys-${FILENAME}" - QUIET - ) - string(APPEND TOTAL_HASH "${p_SHA512}") - list(APPEND ARCHIVES "${MSYS_ARCHIVE}") + msys_package_download("${p_URL}" "${p_SHA512}" "${FILENAME}") endif() endmacro() @@ -111,14 +132,7 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) set(N "${P}") else() get_filename_component(FILENAME "${N}" NAME) - vcpkg_download_distfile(MSYS_ARCHIVE - URLS "${N}" - SHA512 "${P}" - FILENAME "msys-${FILENAME}" - QUIET - ) - string(APPEND TOTAL_HASH "${P}") - list(APPEND ARCHIVES "${MSYS_ARCHIVE}") + msys_package_download("${N}" "${P}" "${FILENAME}") unset(N) endif() endforeach() diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 3fab883fa..ea5b0d6ec 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -425,41 +425,25 @@ function(vcpkg_find_acquire_program VAR) set(HASH 2a5480d503ac6e8203040c7e516a3395028520da05d0ebf3a2d56d5d24ba5d17630e8f318dd4e3cc2094cc4668b90108fb58e8b986b1ffebd429995058063c27) elseif(VAR MATCHES "PKGCONFIG") set(PROGNAME pkg-config) - set(VERSION 0.29.2-1) - set(LIBWINPTHREAD_VERSION git-8.0.0.5906.c9a21571-1) if(ENV{PKG_CONFIG}) debug_message(STATUS "PKG_CONFIG found in ENV! Using $ENV{PKG_CONFIG}") set(PKGCONFIG $ENV{PKG_CONFIG} PARENT_SCOPE) return() elseif(CMAKE_HOST_WIN32) - set(PROG_PATH_SUBDIR "${DOWNLOADS}/tools/${PROGNAME}/${VERSION}") - set(PKGCONFIG "${PROG_PATH_SUBDIR}/mingw32/bin/pkg-config.exe") if(NOT EXISTS "${PKGCONFIG}") - vcpkg_download_distfile(PKGCONFIG_ARCHIVE - URLS "https://repo.msys2.org/mingw/i686/mingw-w64-i686-pkg-config-${VERSION}-any.pkg.tar.xz" - SHA512 3b1b706a24d9aef7bbdf3ce4427aaa813ba6fbd292ed9dda181b4300e117c3d59a159ddcca8b013fd01ce76da2d95d590314ff9628c0d68a6966bac4842540f0 - FILENAME mingw-w64-i686-pkg-config-${VERSION}-any.pkg.tar.xz + set(VERSION 0.29.2-1) + set(LIBWINPTHREAD_VERSION git-8.0.0.5906.c9a21571-1) + vcpkg_acquire_msys( + PKGCONFIG_ROOT + NO_DEFAULT_PACKAGES + DIRECT_PACKAGES + "https://repo.msys2.org/mingw/i686/mingw-w64-i686-pkg-config-${VERSION}-any.pkg.tar.xz" + 3b1b706a24d9aef7bbdf3ce4427aaa813ba6fbd292ed9dda181b4300e117c3d59a159ddcca8b013fd01ce76da2d95d590314ff9628c0d68a6966bac4842540f0 + "https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-${LIBWINPTHREAD_VERSION}-any.pkg.tar.zst" + 2c3d9e6b2eee6a4c16fd69ddfadb6e2dc7f31156627d85845c523ac85e5c585d4cfa978659b1fe2ec823d44ef57bc2b92a6127618ff1a8d7505458b794f3f01c ) - vcpkg_download_distfile(LIBWINPTHREAD_ARCHIVE - URLS "https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-${LIBWINPTHREAD_VERSION}-any.pkg.tar.zst" - SHA512 2c3d9e6b2eee6a4c16fd69ddfadb6e2dc7f31156627d85845c523ac85e5c585d4cfa978659b1fe2ec823d44ef57bc2b92a6127618ff1a8d7505458b794f3f01c - FILENAME mingw-w64-i686-libwinpthread-${LIBWINPTHREAD_VERSION}-any.pkg.tar.zst - ) - file(REMOVE_RECURSE ${PROG_PATH_SUBDIR} ${PROG_PATH_SUBDIR}.tmp) - file(MAKE_DIRECTORY ${PROG_PATH_SUBDIR}.tmp) - vcpkg_execute_required_process( - ALLOW_IN_DOWNLOAD_MODE - COMMAND ${CMAKE_COMMAND} -E tar xzf ${LIBWINPTHREAD_ARCHIVE} - WORKING_DIRECTORY ${PROG_PATH_SUBDIR}.tmp - ) - vcpkg_execute_required_process( - ALLOW_IN_DOWNLOAD_MODE - COMMAND ${CMAKE_COMMAND} -E tar xzf ${PKGCONFIG_ARCHIVE} - WORKING_DIRECTORY ${PROG_PATH_SUBDIR}.tmp - ) - file(RENAME ${PROG_PATH_SUBDIR}.tmp ${PROG_PATH_SUBDIR}) endif() - set(${VAR} "${${VAR}}" PARENT_SCOPE) + set(${VAR} "${PKGCONFIG_ROOT}/mingw32/bin/pkg-config.exe" PARENT_SCOPE) return() else() set(BREW_PACKAGE_NAME pkg-config) |
