aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2020-10-05 17:39:47 -0700
committerGitHub <noreply@github.com>2020-10-05 17:39:47 -0700
commit76a7e9248fb3c57350b559966dcaa2d52a5e4458 (patch)
tree98a796665c54b4dde306f189ca2d2a30b3cf4729 /scripts
parentc9027488970352953a59505234775b367d4cfd2a (diff)
downloadvcpkg-76a7e9248fb3c57350b559966dcaa2d52a5e4458.tar.gz
vcpkg-76a7e9248fb3c57350b559966dcaa2d52a5e4458.zip
[vcpkg_acquire_msys] Use Mirrors (#13889)
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cmake/vcpkg_acquire_msys.cmake46
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake38
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)