From d73e5209e89308a61d4e08547db48b3ccfb6e8bd Mon Sep 17 00:00:00 2001 From: Stanislav Ershov Date: Tue, 14 Jan 2020 21:12:05 +0300 Subject: [PATCH 001/111] [glfw3] Update to 3.3.1 (#9626) * [glfw3] Update to 3.3.1 * [glfw3] portfile cleanup * [glfw3] don't show linux specific message on macos * [glfw3] Use VCPKG_TARGET_IS_LINUX --- ports/glfw3/CONTROL | 2 +- ports/glfw3/fix-config.patch | 24 ------------------------ ports/glfw3/portfile.cmake | 23 +++-------------------- 3 files changed, 4 insertions(+), 45 deletions(-) delete mode 100644 ports/glfw3/fix-config.patch diff --git a/ports/glfw3/CONTROL b/ports/glfw3/CONTROL index 6c99ef4a74..e51362d2a4 100644 --- a/ports/glfw3/CONTROL +++ b/ports/glfw3/CONTROL @@ -1,4 +1,4 @@ Source: glfw3 -Version: 3.3-3 +Version: 3.3.1 Homepage: https://github.com/glfw/glfw Description: GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc. diff --git a/ports/glfw3/fix-config.patch b/ports/glfw3/fix-config.patch deleted file mode 100644 index 181d7d91bf..0000000000 --- a/ports/glfw3/fix-config.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3c0f625..0c985cf 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -319,7 +319,8 @@ set(GLFW_CONFIG_PATH "${CMAKE_INSTALL_LIBDIR}/cmake/glfw3") - configure_package_config_file(src/glfw3Config.cmake.in - src/glfw3Config.cmake - INSTALL_DESTINATION "${GLFW_CONFIG_PATH}" -- NO_CHECK_REQUIRED_COMPONENTS_MACRO) -+ NO_CHECK_REQUIRED_COMPONENTS_MACRO -+ PATH_VARS CMAKE_INSTALL_INCLUDEDIR) - - write_basic_package_version_file(src/glfw3ConfigVersion.cmake - VERSION ${GLFW_VERSION_FULL} -diff --git a/src/glfw3Config.cmake.in b/src/glfw3Config.cmake.in -index 1fa200e..861df93 100644 ---- a/src/glfw3Config.cmake.in -+++ b/src/glfw3Config.cmake.in -@@ -1 +1,5 @@ -+@PACKAGE_INIT@ -+ -+set_and_check(glfw_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") -+ - include("${CMAKE_CURRENT_LIST_DIR}/glfw3Targets.cmake") diff --git a/ports/glfw3/portfile.cmake b/ports/glfw3/portfile.cmake index 5b399134b1..fef1bdf2ee 100644 --- a/ports/glfw3/portfile.cmake +++ b/ports/glfw3/portfile.cmake @@ -1,16 +1,12 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO glfw/glfw - REF 3.3 - SHA512 e74bb7ba0c1c3a524a193c4fb5a2d13ba0e75f8e309612ea19cdcc944859d6e2fe29d8b2e3db76236e1011b637564ddd5f4a176dcccfeb84d09bda060f08f774 + REF 3.3.1 + SHA512 f9376002314eae5518ca63738cf1558433007dbf628fb6093a6f54c330f72d85e0ac30049877c50bc99f029e3eb6f69e69508f412d1ec9bdde0ac721dbbeba1e HEAD_REF master - PATCHES - fix-config.patch ) -if(NOT VCPKG_TARGET_IS_WINDOWS) +if(VCPKG_TARGET_IS_LINUX) message( "GLFW3 currently requires the following libraries from the system package manager: xinerama @@ -36,19 +32,6 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/glfw3) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/glfw3.dll OR EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/glfw3.dll) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/glfw3.dll ${CURRENT_PACKAGES_DIR}/bin/glfw3.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/glfw3.dll ${CURRENT_PACKAGES_DIR}/debug/bin/glfw3.dll) - foreach(_conf release debug) - file(READ ${CURRENT_PACKAGES_DIR}/share/glfw3/glfw3Targets-${_conf}.cmake _contents) - string(REPLACE "lib/glfw3.dll" "bin/glfw3.dll" _contents "${_contents}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/glfw3/glfw3Targets-${_conf}.cmake "${_contents}") - endforeach() - endif() -endif() - file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs() From a982079028f49c4a3464085f292eb6edf44ccec3 Mon Sep 17 00:00:00 2001 From: winsoft666 <46803815+winsoft666@users.noreply.github.com> Date: Wed, 15 Jan 2020 04:25:32 +0800 Subject: [PATCH 002/111] [akali] Update to v1.41 (#9617) * Add: set(VCPKG_PLATFORM_TOOLSET v140) * add ppxbase and ppxnet. * nice, ppxbase and ppxnet can install successful. * update to v1.7 * + add duilib2 - update ppxbase, ppxnet. * set VCPKG_PLATFORM_TOOLSET to vc141. duilib2/ppxbase/ppxnet port. * library version. * duilib2, ppxbase version. * duilib2 version * update duilib2/ppxbase version. * update duilib2 code version. * update ppxbase version. update duilib2 version. * update ppxbase/duilib2 cmake config. * duilib2 version. * ppxbase version. * + add akali library. * update ports script. * ports update. * add akali * remove duilib2/ppxnet * revert * update akali version. * update akali version. * Update portfile.cmake * Update portfile.cmake * [akali] Update to v1.41 * Update portfile.cmake * [akali] Update version. * [akali] Remove the line akali:x64-osx=fail from /scripts/ci.baseline.txt --- ports/akali/CONTROL | 2 +- ports/akali/portfile.cmake | 19 +++++++++++++++---- scripts/ci.baseline.txt | 1 - 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ports/akali/CONTROL b/ports/akali/CONTROL index 2aa6b0d6c8..a7acd59194 100644 --- a/ports/akali/CONTROL +++ b/ports/akali/CONTROL @@ -1,4 +1,4 @@ Source: akali -Version: 1.39 +Version: 1.41 Description: C++ Common Library. Homepage: https://github.com/winsoft666/akali \ No newline at end of file diff --git a/ports/akali/portfile.cmake b/ports/akali/portfile.cmake index 1c87179f88..e1be350182 100644 --- a/ports/akali/portfile.cmake +++ b/ports/akali/portfile.cmake @@ -1,20 +1,23 @@ +vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO winsoft666/akali - REF 07d855dd2da7cddb374646465799734e48e0adb2 - SHA512 4298bc97c5b99494f517e46a86a30dcd61e9d4cfdfa5dbb4c17957c8e866de8ed5b41b2f9a17261f96fc3c7b25fbac2003af4ad8ca675d3f59ce6176e1112220 + REF aa0ee3b82cef325ca582fce30bf3bf177ed81e9b + SHA512 0d523191219b19bcf2becb2c9e78b32b50fbbd5a052dd5330e315a6310c0d5c322639434f710a37c6d98e23510506d294b52978f8487227d4461d29d4a6bb502 HEAD_REF master ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" AKALI_STATIC) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS + -DAKALI_STATIC:BOOL=${AKALI_STATIC} -DBUILD_TESTS:BOOL=OFF ) -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") - vcpkg_install_cmake() if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/akali) @@ -23,6 +26,14 @@ elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/akali) vcpkg_fixup_cmake_targets(CONFIG_PATH share/akali) endif() +file(READ ${CURRENT_PACKAGES_DIR}/include/akali/akali_export.h AKALI_EXPORT_H) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + string(REPLACE "#ifdef AKALI_STATIC" "#if 1" AKALI_EXPORT_H "${AKALI_EXPORT_H}") +else() + string(REPLACE "#ifdef AKALI_STATIC" "#if 0" AKALI_EXPORT_H "${AKALI_EXPORT_H}") +endif() +file(WRITE ${CURRENT_PACKAGES_DIR}/include/akali/akali_export.h "${AKALI_EXPORT_H}") + file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 64969ecb59..7ad3e9c87d 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -54,7 +54,6 @@ activemq-cpp:x64-windows-static=fail akali:x64-uwp=fail akali:arm-uwp=fail akali:arm64-windows=fail -akali:x64-osx=fail alac:arm-uwp=fail alac:x64-uwp=fail alembic:x64-linux=fail From fc5134c3a24a3622d0bc056d6bdd4c9a7c51a327 Mon Sep 17 00:00:00 2001 From: Sean Yen Date: Tue, 14 Jan 2020 12:28:06 -0800 Subject: [PATCH 003/111] [soem] Add new port (#9572) * initial SOEM port. * don't use the vendored winpcap. * removed the unused flag. * addressed feedback. * addressed feedback. --- ports/soem/CONTROL | 5 +++++ ports/soem/portfile.cmake | 29 +++++++++++++++++++++++++++++ ports/soem/winpcap.patch | 23 +++++++++++++++++++++++ scripts/ci.baseline.txt | 2 ++ 4 files changed, 59 insertions(+) create mode 100644 ports/soem/CONTROL create mode 100644 ports/soem/portfile.cmake create mode 100644 ports/soem/winpcap.patch diff --git a/ports/soem/CONTROL b/ports/soem/CONTROL new file mode 100644 index 0000000000..f3194a53bc --- /dev/null +++ b/ports/soem/CONTROL @@ -0,0 +1,5 @@ +Source: soem +Version: 1.4.0 +Homepage: https://github.com/OpenEtherCATsociety/SOEM +Description: Simple Open Source EtherCAT Master +Build-Depends: winpcap (windows) diff --git a/ports/soem/portfile.cmake b/ports/soem/portfile.cmake new file mode 100644 index 0000000000..3eccfeb3a1 --- /dev/null +++ b/ports/soem/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_fail_port_install(ON_TARGET "UWP") + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO OpenEtherCATsociety/SOEM + REF abbf0d42e38d6cfbaa4c1e9e8e07ace651c386fd #v1.4.0 + SHA512 2967775c6746bb63becea5eb12f136c184bbf874e1e5e8753374bfc212ec9cefbf1159350e79627b978af3562d261b61c50f38936a425c4d9c70598a1d136817 + HEAD_REF master + PATCHES + winpcap.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/bin + ${CURRENT_PACKAGES_DIR}/debug/bin + ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/soem/winpcap.patch b/ports/soem/winpcap.patch new file mode 100644 index 0000000000..215226e6f5 --- /dev/null +++ b/ports/soem/winpcap.patch @@ -0,0 +1,23 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -13,15 +13,13 @@ + + if(WIN32) + set(OS "win32") +- include_directories(oshw/win32/wpcap/Include) +- if(CMAKE_SIZEOF_VOID_P EQUAL 8) +- link_directories(${CMAKE_SOURCE_DIR}/oshw/win32/wpcap/Lib/x64) +- elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) +- link_directories(${CMAKE_SOURCE_DIR}/oshw/win32/wpcap/Lib) +- endif() ++ find_path(winpcap_INCLUDE_DIRS NAMES pcap.h) ++ find_library(winpcap_LIBRARY NAMES wpcap) ++ find_library(packet_LIBRARY NAMES packet) ++ include_directories(${winpcap_INCLUDE_DIRS}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_NO_WARNINGS") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") +- set(OS_LIBS wpcap.lib Packet.lib Ws2_32.lib Winmm.lib) ++ set(OS_LIBS ${winpcap_LIBRARY} ${packet_LIBRARY} Ws2_32.lib Winmm.lib) + elseif(UNIX AND NOT APPLE) + set(OS "linux") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 7ad3e9c87d..bc83397a03 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1562,6 +1562,8 @@ smpeg2:x64-linux=fail smpeg2:x64-uwp=fail soci:arm-uwp=fail soci:x64-uwp=fail +soem:x64-uwp=fail +soem:arm-uwp=fail soil:arm-uwp=fail soil:x64-uwp=fail soil2:arm-uwp=fail From a3b9437674107e18b4922d7aa2d67464ecadc91f Mon Sep 17 00:00:00 2001 From: Stanislav Ershov Date: Wed, 15 Jan 2020 21:32:11 +0300 Subject: [PATCH 004/111] [glad] Update to 0.1.33 (#9627) * [glad] Update to 0.1.33 * [glad] clean portfile, add homepage --- ports/glad/CONTROL | 3 ++- ports/glad/portfile.cmake | 8 +++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/ports/glad/CONTROL b/ports/glad/CONTROL index f5ac7ac028..dc556e13d5 100644 --- a/ports/glad/CONTROL +++ b/ports/glad/CONTROL @@ -1,4 +1,5 @@ Source: glad -Version: 0.1.31 +Version: 0.1.33 Description: Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs. Build-Depends: egl-registry, opengl-registry +Homepage: https://github.com/Dav1dde/glad diff --git a/ports/glad/portfile.cmake b/ports/glad/portfile.cmake index 2be191fc16..9f08fe6600 100644 --- a/ports/glad/portfile.cmake +++ b/ports/glad/portfile.cmake @@ -1,12 +1,10 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Dav1dde/glad - REF 1a42f8a6099c60f6a4522731fadad4191d64e6ff - SHA512 02870cf43b5ee33a733122885f748a1368e4487fc08f32ba376d6d53c0efd9ed6e9aea350b723d955869ed47b4d9d69235a52f01723215cf4393d6ca99e2ac00 + REF de6c39e3040c987323b8ed078c36442f4fb681b3 + SHA512 a24523186d59de5c0895791c639c62573eaacf1d3843d3bf81eba848b4a33a9a8d17f9b6f791202dac77692bf147e25b3650989731d5ddb7a22e7d023b66885e HEAD_REF master ) @@ -42,4 +40,4 @@ vcpkg_copy_pdbs() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/glad) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/KHR) -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/glad/copyright COPYONLY) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 45d31c931a5406aa2b1637799b8e9f64e5ae5fc5 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 15 Jan 2020 19:33:50 +0100 Subject: [PATCH 005/111] [libxml2] Apply fixes to the target of libxml2 (#9636) --- ports/libxml2/CONTROL | 2 +- ports/libxml2/vcpkg-cmake-wrapper.cmake | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ports/libxml2/CONTROL b/ports/libxml2/CONTROL index 7a4b02ceaf..ccf2a9c60f 100644 --- a/ports/libxml2/CONTROL +++ b/ports/libxml2/CONTROL @@ -1,5 +1,5 @@ Source: libxml2 -Version: 2.9.9-4 +Version: 2.9.9-5 Homepage: https://xmlsoft.org/ Description: Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform) Build-Depends: zlib, libiconv, liblzma diff --git a/ports/libxml2/vcpkg-cmake-wrapper.cmake b/ports/libxml2/vcpkg-cmake-wrapper.cmake index b6ec9571a3..50eca4d616 100644 --- a/ports/libxml2/vcpkg-cmake-wrapper.cmake +++ b/ports/libxml2/vcpkg-cmake-wrapper.cmake @@ -12,6 +12,13 @@ if(LibXml2_FOUND) debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/libcharset.lib optimized ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libcharset.lib ws2_32) + if(TARGET LibXml2::LibXml2) + target_link_libraries(LibXml2::LibXml2 INTERFACE + debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/libiconv.lib + optimized ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libiconv.lib + debug ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/libcharset.lib + optimized ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/libcharset.lib) + endif() elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") list(APPEND LIBXML2_LIBRARIES m) endif() From 3367e55463a0e2a9008c9b5445583efe1be7f93c Mon Sep 17 00:00:00 2001 From: Hleb Valoshka <375gnu@gmail.com> Date: Wed, 15 Jan 2020 23:14:24 +0300 Subject: [PATCH 006/111] [gettext] Add dependency on iconv (#9610) Closes: #8484 --- ports/gettext/CMakeLists.txt | 4 ++-- ports/gettext/CONTROL | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/gettext/CMakeLists.txt b/ports/gettext/CMakeLists.txt index 1ec9aa285e..67e1d05f7e 100644 --- a/ports/gettext/CMakeLists.txt +++ b/ports/gettext/CMakeLists.txt @@ -102,7 +102,7 @@ if(BUILD_SHARED_LIBS) endif() add_definitions("-DBUILDING_LIBINTL -DIN_LIBINTL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY") -add_definitions("-DNO_XMALLOC -Dset_relocation_prefix=libintl_set_relocation_prefix -Drelocate=libintl_relocate -DDEPENDS_ON_LIBICONV=1 -DHAVE_CONFIG_H -D_CRT_SECURE_NO_WARNINGS") +add_definitions("-DNO_XMALLOC -Dset_relocation_prefix=libintl_set_relocation_prefix -Drelocate=libintl_relocate -DDEPENDS_ON_LIBICONV=1 -DHAVE_CONFIG_H -DHAVE_ICONV -DHAVE_ICONV_H -DICONV_CONST=const -D_CRT_SECURE_NO_WARNINGS") add_library(libintl ${SOURCES}) target_link_libraries(libintl PRIVATE unofficial::iconv::libcharset unofficial::iconv::libiconv) @@ -147,4 +147,4 @@ include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-gettext-targets.cmake) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-gettext-config.cmake DESTINATION share/unofficial-gettext -) \ No newline at end of file +) diff --git a/ports/gettext/CONTROL b/ports/gettext/CONTROL index 1816f8b765..a2876ee995 100644 --- a/ports/gettext/CONTROL +++ b/ports/gettext/CONTROL @@ -1,5 +1,5 @@ Source: gettext -Version: 0.19-11 +Version: 0.19-12 Homepage: https://www.gnu.org/software/gettext/ Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages. Provides libintl. Build-Depends: libiconv From 3135a31be7deb0194b8727ae71978bd19bc481c2 Mon Sep 17 00:00:00 2001 From: cnbatch Date: Thu, 16 Jan 2020 04:16:31 +0800 Subject: [PATCH 007/111] [xlnt] Upgrade to v1.4.0 (#9609) * Upgrade to v1.4.0 --- ports/xlnt/CONTROL | 2 +- ports/xlnt/portfile.cmake | 68 ++++++++++++--------- ports/xlnt/static-linking-for-windows.patch | 13 ++++ 3 files changed, 52 insertions(+), 31 deletions(-) create mode 100644 ports/xlnt/static-linking-for-windows.patch diff --git a/ports/xlnt/CONTROL b/ports/xlnt/CONTROL index b3fbc84225..3e2cc3d517 100644 --- a/ports/xlnt/CONTROL +++ b/ports/xlnt/CONTROL @@ -1,4 +1,4 @@ Source: xlnt -Version: 1.3.0-2 +Version: 1.4.0 Homepage: https://github.com/tfussell/xlnt Description: Cross-platform user-friendly xlsx library for C++14 diff --git a/ports/xlnt/portfile.cmake b/ports/xlnt/portfile.cmake index 1e1a9cb435..42e1883350 100644 --- a/ports/xlnt/portfile.cmake +++ b/ports/xlnt/portfile.cmake @@ -1,30 +1,38 @@ -include(vcpkg_common_functions) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO tfussell/xlnt - REF v1.3.0 - SHA512 716b93a6138daf1e293980a3c26801bfd00aa713afdd9cbe9be672ccff8c86b69b26eb0f3e8259bd0844e04d0e6148b64467d7db6815c76ecf412715d506786f - HEAD_REF master -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(STATIC OFF) -else() - set(STATIC ON) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DTESTS=OFF -DSAMPLES=OFF -DBENCHMARKS=OFF -DSTATIC=${STATIC} -) - -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/man) -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/xlnt RENAME copyright) - -vcpkg_copy_pdbs() +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(win_patch "static-linking-for-windows.patch") + endif() +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tfussell/xlnt + REF v1.4.0 + SHA512 74abbee97994098fb7d8fd0839929db74fe01b8428f8bdb8edd28340d3b3ed04d4c7d6dd5d886ae766054ff1b0fe9a8275098a1462e7a5146ff09f1cdb063360 + HEAD_REF master + PATCHES + ${win_patch} +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(STATIC OFF) +else() + set(STATIC ON) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DTESTS=OFF -DSAMPLES=OFF -DBENCHMARKS=OFF -DSTATIC=${STATIC} +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/xlnt) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/man) +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/xlnt/static-linking-for-windows.patch b/ports/xlnt/static-linking-for-windows.patch new file mode 100644 index 0000000000..9f27197242 --- /dev/null +++ b/ports/xlnt/static-linking-for-windows.patch @@ -0,0 +1,13 @@ +diff --git a/include/xlnt/xlnt.hpp b/include/xlnt/xlnt.hpp +index 01fe4981..9cefa6e0 100644 +--- a/include/xlnt/xlnt.hpp ++++ b/include/xlnt/xlnt.hpp +@@ -22,7 +22,7 @@ + // @author: see AUTHORS file + + #pragma once +- ++#define XLNT_STATIC + #include + + // cell From ed76c7eef2573e785eaf46bb019ac5a08a02e55f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 16 Jan 2020 04:18:46 +0800 Subject: [PATCH 008/111] [cpr] Add find_dependency to cprConfig.cmake (#9567) --- ports/cpr/CONTROL | 2 +- ports/cpr/cprConfig.cmake | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ports/cpr/CONTROL b/ports/cpr/CONTROL index de5c3478f5..6912c8be6d 100644 --- a/ports/cpr/CONTROL +++ b/ports/cpr/CONTROL @@ -1,5 +1,5 @@ Source: cpr -Version: 1.3.0-7 +Version: 1.3.0-8 Homepage: https://github.com/whoshuu/cpr Description: C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project. Build-Depends: curl[core] diff --git a/ports/cpr/cprConfig.cmake b/ports/cpr/cprConfig.cmake index 501fcd96a8..85e433c4b9 100644 --- a/ports/cpr/cprConfig.cmake +++ b/ports/cpr/cprConfig.cmake @@ -25,3 +25,7 @@ endmacro() include("${CMAKE_CURRENT_LIST_DIR}/cprTargets.cmake") check_required_components("cpr") + +include(CMakeFindDependencyMacro) +find_dependency(ZLIB REQUIRED) +find_dependency(CURL REQUIRED) From d989ad416b923a9f895c4bddc446d1ef370a3af8 Mon Sep 17 00:00:00 2001 From: "Matwey V. Kornilov" Date: Mon, 30 Dec 2019 14:04:32 +0300 Subject: [PATCH 009/111] [gperf] Initial implementation (#9505) --- ports/gperf/CMakeLists.txt | 53 ++++++++++++++++++++++++++++++++++++++ ports/gperf/CONTROL | 4 +++ ports/gperf/config.h.in | 1 + ports/gperf/portfile.cmake | 30 +++++++++++++++++++++ scripts/ci.baseline.txt | 2 ++ 5 files changed, 90 insertions(+) create mode 100644 ports/gperf/CMakeLists.txt create mode 100644 ports/gperf/CONTROL create mode 100644 ports/gperf/config.h.in create mode 100644 ports/gperf/portfile.cmake diff --git a/ports/gperf/CMakeLists.txt b/ports/gperf/CMakeLists.txt new file mode 100644 index 0000000000..d9cad0d895 --- /dev/null +++ b/ports/gperf/CMakeLists.txt @@ -0,0 +1,53 @@ +cmake_minimum_required(VERSION 3.0) +project(gperf LANGUAGES C CXX) + +include(CheckCXXSourceCompiles) +include(GNUInstallDirs) + +CHECK_CXX_SOURCE_COMPILES("int main(int n) { int dynamic_array[n]; }" HAVE_DYNAMIC_ARRAY) + +set(LIBGP_SOURCES + lib/getline.cc + lib/getline.h + lib/getopt.c + lib/getopt.h + lib/getopt1.c + lib/hash.cc + lib/hash.h) +add_library(gp STATIC ${LIBGP_SOURCES}) +target_include_directories(gp PUBLIC "${CMAKE_SOURCE_DIR}/lib") + +set(GPERF_SOURCES + src/bool-array.cc + src/bool-array.h + src/bool-array.icc + src/hash-table.cc + src/hash-table.h + src/input.cc + src/input.h + src/keyword-list.cc + src/keyword-list.h + src/keyword-list.icc + src/keyword.cc + src/keyword.h + src/keyword.icc + src/main.cc + src/options.cc + src/options.h + src/options.icc + src/output.cc + src/output.h + src/positions.cc + src/positions.h + src/positions.icc + src/search.cc + src/search.h + src/version.cc + src/version.h) +add_executable(gperf ${GPERF_SOURCES}) +target_link_libraries(gperf gp) +target_include_directories(gperf PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") + +configure_file(config.h.in config.h @ONLY) + +install(TARGETS gperf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/ports/gperf/CONTROL b/ports/gperf/CONTROL new file mode 100644 index 0000000000..34d19df809 --- /dev/null +++ b/ports/gperf/CONTROL @@ -0,0 +1,4 @@ +Source: gperf +Version: 3.1-1 +Description: GNU perfect hash function generator +Homepage: https://www.gnu.org/software/gperf/ diff --git a/ports/gperf/config.h.in b/ports/gperf/config.h.in new file mode 100644 index 0000000000..f1f643d7bd --- /dev/null +++ b/ports/gperf/config.h.in @@ -0,0 +1 @@ +#cmakedefine HAVE_DYNAMIC_ARRAY @HAVE_DYNAMIC_ARRAY@ diff --git a/ports/gperf/portfile.cmake b/ports/gperf/portfile.cmake new file mode 100644 index 0000000000..8531426fca --- /dev/null +++ b/ports/gperf/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_fail_port_install(ON_TARGET "UWP") + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +vcpkg_download_distfile(ARCHIVE + URLS http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz + FILENAME gperf-3.1.tar.gz + SHA512 855ebce5ff36753238a44f14c95be7afdc3990b085960345ca2caf1a2db884f7db74d406ce9eec2f4a52abb8a063d4ed000a36b317c9a353ef4e25e2cca9a3f4 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.in DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS_RELEASE -DCMAKE_INSTALL_BINDIR=tools +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index bc83397a03..2067b29838 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -554,6 +554,8 @@ googleapis:x64-uwp=fail google-cloud-cpp:x64-linux=ignore google-cloud-cpp-spanner:x86-windows=fail gppanel:x64-osx=fail +gperf:x64-uwp=fail +gperf:arm-uwp=fail graphicsmagick:arm64-windows=fail graphicsmagick:arm-uwp=fail graphicsmagick:x64-uwp=fail From 2dde9fb51482f7d7609f83172d23302974dfcf37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 16 Jan 2020 05:45:48 +0800 Subject: [PATCH 010/111] [sfml] Declare Windows library export (#9190) --- ports/sfml/CONTROL | 2 +- ports/sfml/export-win-libs.patch | 26 ++++++++++++++++++++++++++ ports/sfml/portfile.cmake | 8 ++++---- 3 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 ports/sfml/export-win-libs.patch diff --git a/ports/sfml/CONTROL b/ports/sfml/CONTROL index ab574561c9..9f59426392 100644 --- a/ports/sfml/CONTROL +++ b/ports/sfml/CONTROL @@ -1,5 +1,5 @@ Source: sfml -Version: 2.5.1-4 +Version: 2.5.1-5 Homepage: https://github.com/sfml/sfml Description: Simple and fast multimedia library Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb diff --git a/ports/sfml/export-win-libs.patch b/ports/sfml/export-win-libs.patch new file mode 100644 index 0000000000..210b6e52ea --- /dev/null +++ b/ports/sfml/export-win-libs.patch @@ -0,0 +1,26 @@ +diff --git a/src/SFML/System/CMakeLists.txt b/src/SFML/System/CMakeLists.txt +index d1b712d..5c12801 100644 +--- a/src/SFML/System/CMakeLists.txt ++++ b/src/SFML/System/CMakeLists.txt +@@ -96,7 +96,7 @@ endif() + if(SFML_OS_LINUX) + target_link_libraries(sfml-system PRIVATE rt) + elseif(SFML_OS_WINDOWS) +- target_link_libraries(sfml-system PRIVATE winmm) ++ target_link_libraries(sfml-system PUBLIC winmm) + elseif(SFML_OS_ANDROID) + target_link_libraries(sfml-system PRIVATE android log) + endif() +diff --git a/src/SFML/Window/CMakeLists.txt b/src/SFML/Window/CMakeLists.txt +index 98ea439..53c1ac7 100644 +--- a/src/SFML/Window/CMakeLists.txt ++++ b/src/SFML/Window/CMakeLists.txt +@@ -276,7 +276,7 @@ if(SFML_OS_LINUX) + sfml_find_package(UDev INCLUDE "UDEV_INCLUDE_DIR" LINK "UDEV_LIBRARIES") + target_link_libraries(sfml-window PRIVATE UDev) + elseif(SFML_OS_WINDOWS) +- target_link_libraries(sfml-window PRIVATE winmm gdi32) ++ target_link_libraries(sfml-window PUBLIC winmm gdi32) + elseif(SFML_OS_FREEBSD) + target_link_libraries(sfml-window PRIVATE usbhid) + elseif(SFML_OS_MACOSX) diff --git a/ports/sfml/portfile.cmake b/ports/sfml/portfile.cmake index 793489b972..ce2fc41fde 100644 --- a/ports/sfml/portfile.cmake +++ b/ports/sfml/portfile.cmake @@ -1,11 +1,11 @@ - -include(vcpkg_common_functions) vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO SFML/SFML REF 2.5.1 HEAD_REF master SHA512 7aed2fc29d1da98e6c4d598d5c86cf536cb4eb5c2079cdc23bb8e502288833c052579dadbe0ce13ad6461792d959bf6d9660229f54c54cf90a541c88c6b03d59 - PATCHES use-system-freetype.patch + PATCHES + use-system-freetype.patch + export-win-libs.patch ) file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs) @@ -54,4 +54,4 @@ endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml RENAME copyright) +file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 562515f3281b745ac18062499ff8f5147f021fce Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 15 Jan 2020 16:35:04 -0800 Subject: [PATCH 011/111] [libtorrent] Fix linkage issues for dynamic builds (#7345) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [libtorrent] Fix linkage issues for dynamic builds * [libtorrent] Also handle static linkage Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> --- ports/libtorrent/CONTROL | 2 +- ports/libtorrent/portfile.cmake | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ports/libtorrent/CONTROL b/ports/libtorrent/CONTROL index 3c3f3ec2bc..08964ba96b 100644 --- a/ports/libtorrent/CONTROL +++ b/ports/libtorrent/CONTROL @@ -1,5 +1,5 @@ Source: libtorrent -Version: 1.2.2 +Version: 1.2.2-1 Homepage: https://github.com/arvidn/libtorrent Description: An efficient feature complete C++ BitTorrent implementation Build-Depends: openssl, boost-system, boost-date-time, boost-chrono, boost-random, boost-asio, boost-crc, boost-config, boost-iterator, boost-scope-exit, boost-multiprecision diff --git a/ports/libtorrent/portfile.cmake b/ports/libtorrent/portfile.cmake index a9b88fe89f..752a8f2172 100644 --- a/ports/libtorrent/portfile.cmake +++ b/ports/libtorrent/portfile.cmake @@ -10,24 +10,23 @@ vcpkg_from_github( add-datetime-to-boost-libs.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBTORRENT_SHARED) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA # Disable this option if project cannot be built with Ninja OPTIONS - -Dshared=${LIBTORRENT_SHARED} -Ddeprecated-functions=off ) vcpkg_install_cmake() +file(READ ${CURRENT_PACKAGES_DIR}/include/libtorrent/aux_/export.hpp EXPORT_H) +string(REPLACE "defined TORRENT_BUILDING_SHARED" "0" EXPORT_H "${EXPORT_H}") if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - # Defines for shared lib - file(READ ${CURRENT_PACKAGES_DIR}/include/libtorrent/aux_/export.hpp EXPORT_H) - string(REPLACE "defined TORRENT_BUILDING_SHARED" "1" EXPORT_H "${EXPORT_H}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/libtorrent/aux_/export.hpp "${EXPORT_H}") + string(REPLACE "defined TORRENT_LINKING_SHARED" "1" EXPORT_H "${EXPORT_H}") +else() + string(REPLACE "defined TORRENT_LINKING_SHARED" "0" EXPORT_H "${EXPORT_H}") endif() +file(WRITE ${CURRENT_PACKAGES_DIR}/include/libtorrent/aux_/export.hpp "${EXPORT_H}") vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/LibtorrentRasterbar TARGET_PATH share/libtorrentrasterbar) From 41fdef7a168e80cd1a381870727f688c37cc9c0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20St=C3=B6ggl?= Date: Thu, 16 Jan 2020 01:36:00 +0100 Subject: [PATCH 012/111] [libffi] Add libffiConfigVersion.cmake file (#8895) Use write_basic_package_version_file() to create the libffiConfigVersion.cmake file. This allows detection of the libffi version using cmake. An example, where this is relevant is e.g. glib 2.62, with the following code in meson.build: libffi_dep = dependency('libffi', version : '>= 3.0.0', fallback : ['libffi', 'ffi_dep']) When the libffiConfigVersion.cmake file is present, the following output can be found in the meson-build.log: Run-time dependency libffi found: YES 3.1 --- ports/libffi/CMakeLists.txt | 7 +++++++ ports/libffi/CONTROL | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ports/libffi/CMakeLists.txt b/ports/libffi/CMakeLists.txt index ae57e7b1a5..b645de3139 100644 --- a/ports/libffi/CMakeLists.txt +++ b/ports/libffi/CMakeLists.txt @@ -132,7 +132,14 @@ include(CMakePackageConfigHelpers) configure_package_config_file(${PROJECT_NAME}Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" INSTALL_DESTINATION share/${PROJECT_NAME}) +# Disable check for same 32/64bit-ness in libffiConfigVersion.cmake by setting CMAKE_SIZEOF_VOID_P +set (CMAKE_SIZEOF_VOID_P "") +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + VERSION ${VERSION} + COMPATIBILITY AnyNewerVersion) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" DESTINATION share/${PROJECT_NAME}) install(EXPORT ${PROJECT_NAME}Targets DESTINATION share/${PROJECT_NAME}) diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL index 2fb2301a9b..4492dbce16 100644 --- a/ports/libffi/CONTROL +++ b/ports/libffi/CONTROL @@ -1,4 +1,4 @@ Source: libffi -Version: 3.1-6 +Version: 3.1-7 Homepage: https://github.com/libffi/libffi Description: Portable, high level programming interface to various calling conventions From ed2d8564f0822115695a024f4e8ece2944e8bb4e Mon Sep 17 00:00:00 2001 From: Phoebe <20694052+PhoebeHui@users.noreply.github.com> Date: Thu, 16 Jan 2020 08:37:07 +0800 Subject: [PATCH 013/111] [plplot] fix static build issue (#8817) --- ports/plplot/0001-findwxwidgets-fixes.patch | 78 +++++++++++-------- .../0005-wxwidgets-fix-rel-lib-dir.patch | 23 ------ ports/plplot/CONTROL | 2 +- ports/plplot/fix_utils.patch | 23 ++++++ ports/plplot/portfile.cmake | 32 +++----- 5 files changed, 79 insertions(+), 79 deletions(-) delete mode 100644 ports/plplot/0005-wxwidgets-fix-rel-lib-dir.patch create mode 100644 ports/plplot/fix_utils.patch diff --git a/ports/plplot/0001-findwxwidgets-fixes.patch b/ports/plplot/0001-findwxwidgets-fixes.patch index 72b1d6c253..cc30ca56da 100644 --- a/ports/plplot/0001-findwxwidgets-fixes.patch +++ b/ports/plplot/0001-findwxwidgets-fixes.patch @@ -1,59 +1,71 @@ diff --git a/cmake/modules/FindwxWidgets.cmake b/cmake/modules/FindwxWidgets.cmake -index 4d3a2d1..eaaa358 100644 +index 4d3a2d1..c83d8a6 100644 --- a/cmake/modules/FindwxWidgets.cmake +++ b/cmake/modules/FindwxWidgets.cmake -@@ -515,7 +515,16 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") +@@ -515,7 +515,14 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") set(_WX_ARCH _x64) endif() endif() - if(BUILD_SHARED_LIBS) -+ if(VCPKG_TARGET_TRIPLET) -+ find_library(wxWidgets_LIB_DIR -+ NAMES -+ wxmsw31ud_core.lib -+ wxmsw31u_core.lib -+ PATHS -+ DOC "Path to wxWidgets libraries" -+ ) -+ get_filename_component(wxWidgets_LIB_DIR ${wxWidgets_LIB_DIR} DIRECTORY) -+ elseif(BUILD_SHARED_LIBS) ++ ++ include(SelectLibraryConfigurations) ++ find_library(wxWidgets_LIB_DIR_LIBRARY_RELEASE NAMES wxmsw31u_core) ++ find_library(wxWidgets_LIB_DIR_LIBRARY_DEBUG NAMES wxmsw31ud_core) ++ select_library_configurations(wxWidgets_LIB_DIR) ++ get_filename_component(wxWidgets_LIB_DIR ${wxWidgets_LIB_DIR} DIRECTORY) ++ if(0) ++ if(BUILD_SHARED_LIBS) find_path(wxWidgets_LIB_DIR NAMES msw/wx/setup.h -@@ -571,6 +580,9 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") +@@ -554,6 +561,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") + NO_DEFAULT_PATH + ) + endif() ++ endif() + unset(_WX_TOOL) + unset(_WX_TOOLVER) + unset(_WX_ARCH) +@@ -571,7 +579,9 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") set(wxWidgets_DEFINITIONS WXUSINGDLL) DBG_MSG_V("detected SHARED/DLL tree WX_LIB_DIR=${WX_LIB_DIR}") endif() -+ if(VCPKG_TARGET_TRIPLET) +- ++ if(BUILD_SHARED_LIBS) + set(wxWidgets_DEFINITIONS WXUSINGDLL) -+ endif(VCPKG_TARGET_TRIPLET) - ++ endif(BUILD_SHARED_LIBS) # Search for available configuration types. foreach(CFG mswunivud mswunivd mswud mswd mswunivu mswuniv mswu msw) -@@ -582,6 +594,15 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") - endif() + set(WX_${CFG}_FOUND FALSE) +@@ -583,6 +593,13 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") endforeach() DBG_MSG_V("WX_CONFIGURATION_LIST=${WX_CONFIGURATION_LIST}") -+ -+ if(VCPKG_TARGET_TRIPLET) -+ if(CMAKE_BUILD_TYPE STREQUAL "Debug") -+ set(WX_CONFIGURATION "mswud") -+ else() -+ set(WX_CONFIGURATION "mswu") -+ endif() -+ set(WX_${WX_CONFIGURATION}_FOUND TRUE) -+ endif(VCPKG_TARGET_TRIPLET) ++ if(CMAKE_BUILD_TYPE STREQUAL "Debug") ++ set(WX_CONFIGURATION "mswud") ++ else() ++ set(WX_CONFIGURATION "mswu") ++ endif() ++ set(WX_${WX_CONFIGURATION}_FOUND TRUE) ++ if(WX_CONFIGURATION) set(wxWidgets_FOUND TRUE) -@@ -616,7 +637,9 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") + +@@ -616,6 +633,8 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") WX_GET_NAME_COMPONENTS(${wxWidgets_CONFIGURATION} UNV UCD DBG) # Set wxWidgets lib setup include directory. -- if(EXISTS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h) -+ if(VCPKG_TARGET_TRIPLET) -+ set(wxWidgets_INCLUDE_DIRS "${wxWidgets_ROOT_DIR}/include") -+ elseif(EXISTS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h) ++ set(wxWidgets_INCLUDE_DIRS "${wxWidgets_ROOT_DIR}/include") ++ if(0) + if(EXISTS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h) set(wxWidgets_INCLUDE_DIRS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}) - else() +@@ -623,7 +642,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") + DBG_MSG("wxWidgets_FOUND FALSE because ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h does not exists.") + set(wxWidgets_FOUND FALSE) + endif() +- ++ endif() + # Set wxWidgets main include directory. + if(EXISTS ${WX_ROOT_DIR}/include/wx/wx.h) + list(APPEND wxWidgets_INCLUDE_DIRS ${WX_ROOT_DIR}/include) diff --git a/ports/plplot/0005-wxwidgets-fix-rel-lib-dir.patch b/ports/plplot/0005-wxwidgets-fix-rel-lib-dir.patch deleted file mode 100644 index 7ebe79f112..0000000000 --- a/ports/plplot/0005-wxwidgets-fix-rel-lib-dir.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/cmake/modules/FindwxWidgets.cmake b/cmake/modules/FindwxWidgets.cmake -index eaaa358..a68683c 100644 ---- a/cmake/modules/FindwxWidgets.cmake -+++ b/cmake/modules/FindwxWidgets.cmake -@@ -516,13 +516,11 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") - endif() - endif() - if(VCPKG_TARGET_TRIPLET) -- find_library(wxWidgets_LIB_DIR -- NAMES -- wxmsw31ud_core.lib -- wxmsw31u_core.lib -- PATHS -- DOC "Path to wxWidgets libraries" -- ) -+ if(CMAKE_BUILD_TYPE STREQUAL "Debug") -+ find_library(wxWidgets_LIB_DIR NAMES wxmsw31ud_core.lib DOC "Path to wxWidgets libraries") -+ else() -+ find_library(wxWidgets_LIB_DIR NAMES wxmsw31u_core.lib DOC "Path to wxWidgets libraries") -+ endif() - get_filename_component(wxWidgets_LIB_DIR ${wxWidgets_LIB_DIR} DIRECTORY) - elseif(BUILD_SHARED_LIBS) - find_path(wxWidgets_LIB_DIR diff --git a/ports/plplot/CONTROL b/ports/plplot/CONTROL index b70c5d1760..d489bc45f8 100644 --- a/ports/plplot/CONTROL +++ b/ports/plplot/CONTROL @@ -1,5 +1,5 @@ Source: plplot -Version: 5.13.0-3 +Version: 5.13.0-4 Build-Depends: freetype, zlib, libpng, bzip2 Description: PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer. diff --git a/ports/plplot/fix_utils.patch b/ports/plplot/fix_utils.patch new file mode 100644 index 0000000000..d1d8596d0f --- /dev/null +++ b/ports/plplot/fix_utils.patch @@ -0,0 +1,23 @@ +diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt +index 59cfe20..b936dad 100644 +--- a/utils/CMakeLists.txt ++++ b/utils/CMakeLists.txt +@@ -75,7 +75,8 @@ add_executable(parity_bit_check parity_bit_check.c) + if(ENABLE_wxwidgets AND NOT OLD_WXWIDGETS) + # Build wxwidgets applications with same wxwidgets compile and link flags + # as used with the PLplot wxwidgets device driver. +- ++ find_package(JPEG REQUIRED) ++ find_package(TIFF REQUIRED) + set(wxPLViewer_SRCS wxplviewer.cpp wxplframe.cpp ${CMAKE_SOURCE_DIR}/drivers/wxwidgets_comms.cpp) + set_source_files_properties(${wxPLViewer_SRCS} + PROPERTIES COMPILE_FLAGS "${wxwidgets_COMPILE_FLAGS}") +@@ -90,7 +91,7 @@ if(ENABLE_wxwidgets AND NOT OLD_WXWIDGETS) + COMPILE_DEFINITIONS "USINGDLL" + ) + endif(BUILD_SHARED_LIBS) +- target_link_libraries(wxPLViewer plplotwxwidgets plplotcxx ${wxwidgets_LINK_FLAGS} ${MATH_LIB} ${RT_LIB}) ++ target_link_libraries(wxPLViewer plplotwxwidgets plplotcxx ${wxwidgets_LINK_FLAGS} ${MATH_LIB} ${RT_LIB} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES}) + + if(USE_RPATH) + # Assume that plplotwxwidgets and plplotcxx have the same install location as plplot diff --git a/ports/plplot/portfile.cmake b/ports/plplot/portfile.cmake index 46781da075..0bffd25aaa 100644 --- a/ports/plplot/portfile.cmake +++ b/ports/plplot/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - set(PLPLOT_VERSION 5.13.0) set(PLPLOT_HASH 1d5cb5da17d4bde6d675585bff1f8dcb581719249a0b2687867e767703f8dab0870e7ea44b9549a497f4ac0141a3cabf6761c49520c0e2b26ffe581468512cbb) @@ -14,11 +12,11 @@ vcpkg_extract_source_archive_ex( ARCHIVE ${ARCHIVE} REF ${PLPLOT_VERSION} PATCHES - "${CMAKE_CURRENT_LIST_DIR}/0001-findwxwidgets-fixes.patch" - "${CMAKE_CURRENT_LIST_DIR}/0002-wxwidgets-dev-fixes.patch" - "${CMAKE_CURRENT_LIST_DIR}/install-interface-include-directories.patch" - "${CMAKE_CURRENT_LIST_DIR}/use-math-h-nan.patch" - "0005-wxwidgets-fix-rel-lib-dir.patch" + 0001-findwxwidgets-fixes.patch + 0002-wxwidgets-dev-fixes.patch + install-interface-include-directories.patch + use-math-h-nan.patch + fix_utils.patch ) set(BUILD_with_wxwidgets OFF) @@ -53,8 +51,8 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/plplot) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/pltek.exe ${CURRENT_PACKAGES_DIR}/bin/pltek.exe - ${CURRENT_PACKAGES_DIR}/debug/bin/wxPLViewer.exe - ${CURRENT_PACKAGES_DIR}/bin/wxPLViewer.exe + ${CURRENT_PACKAGES_DIR}/debug/bin/wxPLViewer.exe + ${CURRENT_PACKAGES_DIR}/bin/wxPLViewer.exe ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -66,18 +64,8 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() # Remove unwanted and duplicate directories -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include -) - -file(INSTALL - ${SOURCE_PATH}/Copyright - DESTINATION ${CURRENT_PACKAGES_DIR}/share/plplot - RENAME copyright -) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) vcpkg_copy_pdbs() - -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/share -) +file(INSTALL ${SOURCE_PATH}/Copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/plplot RENAME copyright) \ No newline at end of file From 6f41e5cc7c57abaa22f1c6d2235ead83cdf7c5b3 Mon Sep 17 00:00:00 2001 From: Alvin <52727318+AlvinZhangH@users.noreply.github.com> Date: Thu, 16 Jan 2020 08:38:35 +0800 Subject: [PATCH 014/111] [libpqxx] Fix lib name on Linux (#9051) * [libpqxx]Fix lib name on Linux. * [libpqxx] Delete judgement APPLE --- ports/libpqxx/CMakeLists.txt | 4 ++++ ports/libpqxx/CONTROL | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ports/libpqxx/CMakeLists.txt b/ports/libpqxx/CMakeLists.txt index 056684d236..d8b9ce4f52 100644 --- a/ports/libpqxx/CMakeLists.txt +++ b/ports/libpqxx/CMakeLists.txt @@ -40,6 +40,10 @@ else() set(SHARED_DEFINITION "") endif() +IF(UNIX) + set(TARGET pqxx_static) +ENDIF() + add_library(${TARGET} ${SRCS}) target_compile_definitions(${TARGET} PRIVATE -DPQXX_INTERNAL -DNOMINMAX ${SHARED_DEFINITION}) target_include_directories(${TARGET} PRIVATE include ${LIBPQ_FE_H} ${POSTGRES_EXT_H} ${CMAKE_BINARY_DIR}) diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL index 3574a541b0..1742189b93 100644 --- a/ports/libpqxx/CONTROL +++ b/ports/libpqxx/CONTROL @@ -1,5 +1,5 @@ Source: libpqxx -Version: 6.4.5 +Version: 6.4.5-1 Homepage: https://github.com/jtv/libpqxx Description: The official C++ client API for PostgreSQL Build-Depends: libpq From b2f7823dd22b5155e55e3006e85187230ce0bb07 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 16 Jan 2020 08:46:35 +0800 Subject: [PATCH 015/111] [glui] Add new port (#9155) * [glui] Add new port * [freeglut] Fix static linking * [glui] Fix description * [glui] Update --- ports/freeglut/CONTROL | 2 +- ports/freeglut/portfile.cmake | 8 ++++ ports/glui/CONTROL | 5 ++ ports/glui/install-one-flavor.patch | 70 ++++++++++++++++++++++++++++ ports/glui/portfile.cmake | 37 +++++++++++++++ ports/glui/vcpkg-cmake-wrapper.cmake | 9 ++++ 6 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 ports/glui/CONTROL create mode 100644 ports/glui/install-one-flavor.patch create mode 100644 ports/glui/portfile.cmake create mode 100644 ports/glui/vcpkg-cmake-wrapper.cmake diff --git a/ports/freeglut/CONTROL b/ports/freeglut/CONTROL index 7489109c49..5f42478d8c 100644 --- a/ports/freeglut/CONTROL +++ b/ports/freeglut/CONTROL @@ -1,4 +1,4 @@ Source: freeglut -Version: 3.0.0-7 +Version: 3.0.0-8 Homepage: https://sourceforge.net/projects/freeglut/ Description: Open source implementation of GLUT with source and binary backwards compatibility. diff --git a/ports/freeglut/portfile.cmake b/ports/freeglut/portfile.cmake index bec7489b82..bb22ac6844 100644 --- a/ports/freeglut/portfile.cmake +++ b/ports/freeglut/portfile.cmake @@ -32,6 +32,14 @@ string(REGEX REPLACE "\"freeglut_static.lib\"" "\"freeglut.lib\"" FREEGLUT_STDH "${FREEGLUT_STDH}") string(REGEX REPLACE "\"freeglut_staticd.lib\"" "\"freeglutd.lib\"" FREEGLUT_STDH "${FREEGLUT_STDH}") +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + string(REPLACE + "ifdef FREEGLUT_STATIC" + "if 1 //ifdef FREEGLUT_STATIC" + FREEGLUT_STDH + "${FREEGLUT_STDH}" + ) +endif() file(WRITE ${SOURCE_PATH}/include/GL/freeglut_std.h "${FREEGLUT_STDH}") vcpkg_configure_cmake( diff --git a/ports/glui/CONTROL b/ports/glui/CONTROL new file mode 100644 index 0000000000..c4451d61a9 --- /dev/null +++ b/ports/glui/CONTROL @@ -0,0 +1,5 @@ +Source: glui +Version: 2019-11-30 +Description: GLUI is a GLUT-based C++ user interface library +Homepage: https://github.com/libglui/glui +Build-Depends: freeglut diff --git a/ports/glui/install-one-flavor.patch b/ports/glui/install-one-flavor.patch new file mode 100644 index 0000000000..fb66d92c7f --- /dev/null +++ b/ports/glui/install-one-flavor.patch @@ -0,0 +1,70 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c0f7d32..8446f3c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -59,6 +59,22 @@ target_include_directories(glui_obj + # create static *and* shared libraries without double compilation + set_target_properties( glui_obj PROPERTIES POSITION_INDEPENDENT_CODE 1) + ++if (MSVC) ++ target_compile_options(glui_obj ++ PRIVATE ++ /D_CRT_SECURE_NO_WARNINGS ++ /wd4244 ++ /wd4305 ++ ) ++endif() ++ ++if(BUILD_SHARED_LIBS) ++ if(WIN32) ++ target_compile_definitions(glui_obj ++ PRIVATE GLUI_BUILDING_LIB ++ PUBLIC GLUIDLL ++ ) ++ endif() + add_library(glui SHARED $) + target_include_directories(glui + PUBLIC +@@ -71,7 +87,7 @@ set_target_properties(glui PROPERTIES + DEBUG_POSTFIX "d" + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION}) +- ++else() + add_library(glui_static STATIC $) + target_include_directories(glui_static + PUBLIC +@@ -81,7 +97,9 @@ target_include_directories(glui_static + ${GLUT_INCLUDE_DIR}) + target_link_libraries(glui_static PUBLIC ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES}) + set_target_properties(glui_static PROPERTIES DEBUG_POSTFIX "d") ++endif() + ++if(GLUI_BUILD_EXAMPLES) + add_executable(ppm2array tools/ppm.cpp tools/ppm2array.cpp) + target_link_libraries(ppm2array) + +@@ -97,7 +115,7 @@ add_executable(example5 example/example5.cpp) + target_link_libraries(example5 glui_static ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES}) + add_executable(example6 example/example6.cpp) + target_link_libraries(example6 glui_static ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES}) +- ++endif() + + + #### +@@ -130,8 +148,13 @@ configure_package_config_file( + ) + + # Targets: ++if(BUILD_SHARED_LIBS) ++ set(glui_target glui) ++else() ++ set(glui_target glui_static) ++endif() + install( +- TARGETS glui_static glui ++ TARGETS ${glui_target} + EXPORT "${targets_export_name}" + LIBRARY DESTINATION "lib" + ARCHIVE DESTINATION "lib" diff --git a/ports/glui/portfile.cmake b/ports/glui/portfile.cmake new file mode 100644 index 0000000000..a3b37a5971 --- /dev/null +++ b/ports/glui/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libglui/glui + REF 093edc777c02118282910bdee59f8db1bd46a84d + SHA512 650e169a6a55cd7d599176ac0767cd95b511fbc0a9b27aab2fa4f94a6395fa1a5762b6c23f5f1a9fc5ac9ce70c44fee4e4cbb6d6afd2307130cedfb80aae877a + HEAD_REF master + PATCHES + install-one-flavor.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/include/GL/glui.h + "ifdef GLUIDLL" + "if 1 //ifdef GLUIDLL" + ) +endif() + +file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/glui/vcpkg-cmake-wrapper.cmake b/ports/glui/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000000..6fefefc7c9 --- /dev/null +++ b/ports/glui/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,9 @@ +_find_package(${ARGS}) + +if(TARGET glui::glui AND NOT TARGET glui::glui_static) + add_library(glui::glui_static INTERFACE IMPORTED) + set_target_properties(glui::glui_static PROPERTIES INTERFACE_LINK_LIBRARIES glui::glui) +elseif(TARGET glui::glui_static AND NOT TARGET glui::glui) + add_library(glui::glui INTERFACE IMPORTED) + set_target_properties(glui::glui PROPERTIES INTERFACE_LINK_LIBRARIES glui::glui_static) +endif() From 526f9375800f846b113989fc3d566af7b8c79408 Mon Sep 17 00:00:00 2001 From: tags Date: Thu, 16 Jan 2020 01:48:26 +0100 Subject: [PATCH 016/111] [doxygen] Updated to 1.8.17 (#9574) * Updated doxygen to 1.8.17 from 1.8.15 --- scripts/cmake/vcpkg_find_acquire_program.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 6511cb1500..4c402db48b 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -242,9 +242,9 @@ function(vcpkg_find_acquire_program VAR) elseif(VAR MATCHES "DOXYGEN") set(PROGNAME doxygen) set(PATHS ${DOWNLOADS}/tools/doxygen) - set(URL "http://doxygen.nl/files/doxygen-1.8.15.windows.bin.zip") - set(ARCHIVE "doxygen-1.8.15.windows.bin.zip") - set(HASH 89482dcb1863d381d47812c985593e736d703931d49994e09c7c03ef67e064115d0222b8de1563a7930404c9bc2d3be323f3d13a01ef18861be584db3d5a953c) + set(URL "http://doxygen.nl/files/doxygen-1.8.17.windows.bin.zip") + set(ARCHIVE "doxygen-1.8.17.windows.bin.zip") + set(HASH 6bac47ec552486783a70cc73b44cf86b4ceda12aba6b52835c2221712bd0a6c845cecec178c9ddaa88237f5a781f797add528f47e4ed017c7888eb1dd2bc0b4b) elseif(VAR MATCHES "BAZEL") set(PROGNAME bazel) set(BAZEL_VERSION 0.25.2) From 529edbb3a4a4d9045b280d1de54205f085159abc Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Thu, 16 Jan 2020 20:23:49 +0100 Subject: [PATCH 017/111] [ffmpeg] fix openssl detection (#9695) --- ports/ffmpeg/0002-detect-openssl.patch | 2 +- ports/ffmpeg/CONTROL | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/ffmpeg/0002-detect-openssl.patch b/ports/ffmpeg/0002-detect-openssl.patch index 87a7656c87..a095af6b14 100644 --- a/ports/ffmpeg/0002-detect-openssl.patch +++ b/ports/ffmpeg/0002-detect-openssl.patch @@ -7,7 +7,7 @@ index 1c8008a..bd2de34 100755 check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || - die "ERROR: openssl not found"; } -+ check_lib openssl openssl/ssl.h SSL_library_init -llibeay32 -lssleay32 || ++ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -llibssl -llibcrypto -lws2_32 -lgdi32 -lcrypt32 || + die "ERROR: openssl not found"; } enabled pocketsphinx && require_pkg_config pocketsphinx pocketsphinx pocketsphinx/pocketsphinx.h ps_init enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create && diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL index faebf0d86b..1699baf23d 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,5 +1,5 @@ Source: ffmpeg -Version: 4.2-2 +Version: 4.2-3 Build-Depends: zlib Homepage: https://ffmpeg.org Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. From 2f02076c51d7fa762251c019555f9d26414b0c96 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Thu, 16 Jan 2020 12:19:27 -0800 Subject: [PATCH 018/111] [catch2] Update to 2.1.1 (#9685) --- ports/catch2/CONTROL | 2 +- ports/catch2/portfile.cmake | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/ports/catch2/CONTROL b/ports/catch2/CONTROL index de3d4de461..ac32127a6d 100644 --- a/ports/catch2/CONTROL +++ b/ports/catch2/CONTROL @@ -1,4 +1,4 @@ Source: catch2 -Version: 2.11.0 +Version: 2.11.1 Description: A modern, header-only test framework for unit testing. Homepage: https://github.com/catchorg/Catch2 diff --git a/ports/catch2/portfile.cmake b/ports/catch2/portfile.cmake index 6272fa814b..5a09235718 100644 --- a/ports/catch2/portfile.cmake +++ b/ports/catch2/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO catchorg/Catch2 - REF v2.11.0 - SHA512 0a7843931118a1b64c14bf7e3061662a68e804e93a17a956532356e319dcaeb9f1f71d0338a7e980701443dbdb4c3ed044a271e3d1faf3a6bfd942eae3f39498 + REF d10b9bd02e098476670f5eb0527d2c7281476e8a #v2.11.1 + SHA512 c4a2f6bac4eb7abf8ad79aa1421b8b2ea623be3c946b02b9287fa2f95952b281a454eb56b80224fc1824e4d8c67317bc657eec4b4e65fb9709031602371e13b3 HEAD_REF master ) From 102179f8793f90e5a24a30c5e7364008d5865ec8 Mon Sep 17 00:00:00 2001 From: klaus triendl Date: Thu, 16 Jan 2020 23:33:22 +0200 Subject: [PATCH 019/111] [libxml2] Embed resources in Windows-based shared library (#9474) (#9492) --- ports/libxml2/CMakeLists.txt | 2 ++ ports/libxml2/RemoveIncludeFromWindowsRcFile.patch | 10 ++++++++++ ports/libxml2/portfile.cmake | 2 ++ 3 files changed, 14 insertions(+) create mode 100644 ports/libxml2/RemoveIncludeFromWindowsRcFile.patch diff --git a/ports/libxml2/CMakeLists.txt b/ports/libxml2/CMakeLists.txt index 12142f4ff9..69fc246f9a 100644 --- a/ports/libxml2/CMakeLists.txt +++ b/ports/libxml2/CMakeLists.txt @@ -123,6 +123,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsSt -DHAVE_WIN32_THREADS _WINSOCK_DEPRECATED_NO_WARNINGS ) + target_sources(libxml2 PRIVATE win32/libxml2.rc) + set_source_files_properties(win32/libxml2.rc PROPERTIES COMPILE_FLAGS "-DLIBXML_MAJOR_VERSION=${LIBXML_MAJOR_VERSION} -DLIBXML_MINOR_VERSION=${LIBXML_MINOR_VERSION} -DLIBXML_MICRO_VERSION=${LIBXML_MICRO_VERSION} -DLIBXML_DOTTED_VERSION=\\\"${VERSION}\\\"") endif() target_compile_definitions(libxml2 PRIVATE diff --git a/ports/libxml2/RemoveIncludeFromWindowsRcFile.patch b/ports/libxml2/RemoveIncludeFromWindowsRcFile.patch new file mode 100644 index 0000000000..ce5a3fcbe0 --- /dev/null +++ b/ports/libxml2/RemoveIncludeFromWindowsRcFile.patch @@ -0,0 +1,10 @@ +diff --git a/win32/libxml2.rc b/win32/libxml2.rc +index c774a5ee..08e2da1e 100644 +--- a/win32/libxml2.rc ++++ b/win32/libxml2.rc +@@ -1,5 +1,4 @@ + #include +-#include "rcVersion.h" + + VS_VERSION_INFO VERSIONINFO + FILEVERSION LIBXML_MAJOR_VERSION,LIBXML_MINOR_VERSION,LIBXML_MICRO_VERSION,0 diff --git a/ports/libxml2/portfile.cmake b/ports/libxml2/portfile.cmake index de2dfe0afa..f7b0cd81a3 100644 --- a/ports/libxml2/portfile.cmake +++ b/ports/libxml2/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF v2.9.9 SHA512 bfcc08bd033f538a968205f0f9e2da4c3438ec2f35f017289783903365e13ed93d83f2f63c7497344a362b7418170ee586a5ecb45493e30feaa0f62b22a57b54 HEAD_REF master + PATCHES + RemoveIncludeFromWindowsRcFile.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) From e3dfd4a9fa25c05abcf166a1b3bb260b542ed598 Mon Sep 17 00:00:00 2001 From: xabbudm Date: Thu, 16 Jan 2020 22:56:28 +0100 Subject: [PATCH 020/111] [VCPKG] WinHTTPOption for company Proxy not correctly taken into account (#9372) * fixes to get vcpkg up and running when behind corporate proxy * clean up of code to check if HTTP_PROXY environment variable is set * fixed compiler errors for non win32 systems * [vcpkg] Simplify HTTPS_PROXY code for WinHTTP Co-authored-by: Robert Schumacher --- ports/python3/portfile.cmake | 2 +- toolsrc/src/vcpkg/base/downloads.cpp | 23 ++++++++++++++++++++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake index 3a22d25b7f..bbb5de1733 100644 --- a/ports/python3/portfile.cmake +++ b/ports/python3/portfile.cmake @@ -19,7 +19,7 @@ vcpkg_from_github( ) if (VCPKG_TARGET_IS_WINDOWS) - set(SOURCE_PATH "${TEMP_SOURCE_PATH}-Lib-${VCPKG_LIBRARY_LINKAGE}-crt-${VCPKG_CRT_LINKAGE}") + set(SOURCE_PATH "${TEMP_SOURCE_PATH}-Lib-Win") file(REMOVE_RECURSE ${SOURCE_PATH}) file(RENAME "${TEMP_SOURCE_PATH}" ${SOURCE_PATH}) diff --git a/toolsrc/src/vcpkg/base/downloads.cpp b/toolsrc/src/vcpkg/base/downloads.cpp index df6b1be09f..995e2d4f39 100644 --- a/toolsrc/src/vcpkg/base/downloads.cpp +++ b/toolsrc/src/vcpkg/base/downloads.cpp @@ -2,13 +2,12 @@ #include #include +#include #include #include #if defined(_WIN32) #include -#else -#include #endif namespace vcpkg::Downloads @@ -43,8 +42,22 @@ namespace vcpkg::Downloads 0); Checks::check_exit(VCPKG_LINE_INFO, hSession, "WinHttpOpen() failed: %d", GetLastError()); + // If the environment variable HTTPS_PROXY is set + // use that variable as proxy. This situation might exist when user is in a company network + // with restricted network/proxy settings + auto maybe_https_proxy_env = System::get_environment_variable("HTTPS_PROXY"); + if (auto p_https_proxy = maybe_https_proxy_env.get()) + { + std::wstring env_proxy_settings = Strings::to_utf16(*p_https_proxy); + WINHTTP_PROXY_INFO proxy; + proxy.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY; + proxy.lpszProxy = env_proxy_settings.data(); + proxy.lpszProxyBypass = nullptr; + + WinHttpSetOption(hSession, WINHTTP_OPTION_PROXY, &proxy, sizeof(proxy)); + } // Win7 IE Proxy fallback - if (IsWindows7OrGreater() && !IsWindows8Point1OrGreater()) + else if (IsWindows7OrGreater() && !IsWindows8Point1OrGreater()) { // First check if any proxy has been found automatically WINHTTP_PROXY_INFO proxyInfo; @@ -63,6 +76,9 @@ namespace vcpkg::Downloads proxy.lpszProxy = ieProxy.lpszProxy; proxy.lpszProxyBypass = ieProxy.lpszProxyBypass; WinHttpSetOption(hSession, WINHTTP_OPTION_PROXY, &proxy, sizeof(proxy)); + GlobalFree(ieProxy.lpszProxy); + GlobalFree(ieProxy.lpszProxyBypass); + GlobalFree(ieProxy.lpszAutoConfigUrl); } } } @@ -89,6 +105,7 @@ namespace vcpkg::Downloads // Send a request. auto bResults = WinHttpSendRequest(hRequest, WINHTTP_NO_ADDITIONAL_HEADERS, 0, WINHTTP_NO_REQUEST_DATA, 0, 0, 0); + Checks::check_exit(VCPKG_LINE_INFO, bResults, "WinHttpSendRequest() failed: %d", GetLastError()); // End the request. From c50852aba0aa8df22e17133352edb432a9fc1e56 Mon Sep 17 00:00:00 2001 From: yurybura Date: Fri, 17 Jan 2020 02:10:15 +0300 Subject: [PATCH 021/111] [boost] Update to 1.72.0 (#9317) * [boost-python] Support Python2 as feature, fix build with installed Python2 * [boost-python] Update generate script to support Python2 mod * Re-generate boost ports * [boost-modular-build-helper] Update to 1.71. [boost-build] Update to 1.71. * [boost-modular-build-helper] Remove manual library name changing [boost-iostreams] Use boost-modular-headers.cmake script * Delete temporary file. * Revert changes in modular build script. * Update ports versions. * [boost-modular-build-helper] Fix build boost-iostreams with LZMA and ZSTD * [boost] Update to 1.72.0 * [libtorrent] Fix build with Boost 1.72.0 Original PR: https://github.com/arvidn/libtorrent/pull/4091 * Update ci.baseline.txt: - fail libgo:* due to use the removed class from Boost.Context 1.72.0 (reported issue https://github.com/yyzybb537/libgo/issues/214) - pass boost-context:arm64-windows - fix typo * Folly only supports the x64 architecture * fail boost-coroutine:arm64-windows=fail and boost-fiber:arm64-windows=fail because they use fcontext_t from Boost.Context which is not implemented for Windows on ARM64 (reported issue https://github.com/boostorg/context/issues/130) * Fix globbing-expressions * Add vcpkg_buildpath_length_warning(37) for boost-system. Revert boost-iostreams port changes. * Update ci.baseline.txt --- ports/boost-accumulators/CONTROL | 2 +- ports/boost-accumulators/portfile.cmake | 4 +- ports/boost-algorithm/CONTROL | 2 +- ports/boost-algorithm/portfile.cmake | 4 +- ports/boost-align/CONTROL | 2 +- ports/boost-align/portfile.cmake | 4 +- ports/boost-any/CONTROL | 2 +- ports/boost-any/portfile.cmake | 4 +- ports/boost-array/CONTROL | 2 +- ports/boost-array/portfile.cmake | 4 +- ports/boost-asio/CONTROL | 2 +- ports/boost-asio/portfile.cmake | 4 +- ports/boost-assert/CONTROL | 2 +- ports/boost-assert/portfile.cmake | 4 +- ports/boost-assign/CONTROL | 2 +- ports/boost-assign/portfile.cmake | 4 +- ports/boost-atomic/CONTROL | 2 +- ports/boost-atomic/portfile.cmake | 4 +- ports/boost-beast/CONTROL | 2 +- ports/boost-beast/portfile.cmake | 4 +- ports/boost-bimap/CONTROL | 2 +- ports/boost-bimap/portfile.cmake | 4 +- ports/boost-bind/CONTROL | 2 +- ports/boost-bind/portfile.cmake | 4 +- ports/boost-build/CONTROL | 2 +- ports/boost-build/arm64msvc.patch | 63 ---------------- ports/boost-build/portfile.cmake | 7 +- ports/boost-callable-traits/CONTROL | 2 +- ports/boost-callable-traits/portfile.cmake | 4 +- ports/boost-chrono/CONTROL | 2 +- ports/boost-chrono/portfile.cmake | 4 +- ports/boost-circular-buffer/CONTROL | 2 +- ports/boost-circular-buffer/portfile.cmake | 4 +- ports/boost-compatibility/CONTROL | 2 +- ports/boost-compatibility/portfile.cmake | 4 +- ports/boost-compute/CONTROL | 2 +- ports/boost-compute/portfile.cmake | 4 +- ports/boost-concept-check/CONTROL | 2 +- ports/boost-concept-check/portfile.cmake | 4 +- ports/boost-config/CONTROL | 2 +- ports/boost-config/portfile.cmake | 4 +- ports/boost-container-hash/CONTROL | 2 +- ports/boost-container-hash/portfile.cmake | 4 +- ports/boost-container/CONTROL | 2 +- ports/boost-container/portfile.cmake | 4 +- ports/boost-context/CONTROL | 2 +- ports/boost-context/portfile.cmake | 4 +- ports/boost-contract/CONTROL | 2 +- ports/boost-contract/portfile.cmake | 4 +- ports/boost-conversion/CONTROL | 2 +- ports/boost-conversion/portfile.cmake | 4 +- ports/boost-convert/CONTROL | 2 +- ports/boost-convert/portfile.cmake | 4 +- ports/boost-core/CONTROL | 2 +- ports/boost-core/portfile.cmake | 4 +- ports/boost-coroutine/CONTROL | 4 +- ports/boost-coroutine/portfile.cmake | 4 +- ports/boost-coroutine2/CONTROL | 2 +- ports/boost-coroutine2/portfile.cmake | 4 +- ports/boost-crc/CONTROL | 2 +- ports/boost-crc/portfile.cmake | 4 +- ports/boost-date-time/CONTROL | 4 +- ports/boost-date-time/portfile.cmake | 4 +- ports/boost-detail/CONTROL | 2 +- ports/boost-detail/portfile.cmake | 4 +- ports/boost-disjoint-sets/CONTROL | 2 +- ports/boost-disjoint-sets/portfile.cmake | 4 +- ports/boost-dll/CONTROL | 2 +- ports/boost-dll/portfile.cmake | 4 +- ports/boost-dynamic-bitset/CONTROL | 2 +- ports/boost-dynamic-bitset/portfile.cmake | 4 +- ports/boost-endian/CONTROL | 2 +- ports/boost-endian/portfile.cmake | 4 +- ports/boost-exception/CONTROL | 2 +- ports/boost-exception/portfile.cmake | 4 +- ports/boost-fiber/CONTROL | 2 +- ports/boost-fiber/portfile.cmake | 4 +- ports/boost-filesystem/CONTROL | 4 +- ports/boost-filesystem/portfile.cmake | 4 +- ports/boost-flyweight/CONTROL | 2 +- ports/boost-flyweight/portfile.cmake | 4 +- ports/boost-foreach/CONTROL | 2 +- ports/boost-foreach/portfile.cmake | 4 +- ports/boost-format/CONTROL | 2 +- ports/boost-format/portfile.cmake | 4 +- ports/boost-function-types/CONTROL | 2 +- ports/boost-function-types/portfile.cmake | 4 +- ports/boost-function/CONTROL | 2 +- ports/boost-function/portfile.cmake | 4 +- ports/boost-functional/CONTROL | 4 +- ports/boost-functional/portfile.cmake | 4 +- ports/boost-fusion/CONTROL | 2 +- ports/boost-fusion/portfile.cmake | 4 +- ports/boost-geometry/CONTROL | 2 +- ports/boost-geometry/portfile.cmake | 4 +- ports/boost-gil/CONTROL | 4 +- ports/boost-gil/portfile.cmake | 4 +- ports/boost-graph-parallel/CONTROL | 2 +- ports/boost-graph-parallel/portfile.cmake | 4 +- ports/boost-graph/CONTROL | 2 +- ports/boost-graph/portfile.cmake | 4 +- ports/boost-hana/CONTROL | 2 +- ports/boost-hana/portfile.cmake | 4 +- ports/boost-heap/CONTROL | 2 +- ports/boost-heap/portfile.cmake | 4 +- ports/boost-histogram/CONTROL | 4 +- ports/boost-histogram/portfile.cmake | 4 +- ports/boost-hof/CONTROL | 2 +- ports/boost-hof/portfile.cmake | 4 +- ports/boost-icl/CONTROL | 2 +- ports/boost-icl/portfile.cmake | 4 +- ports/boost-integer/CONTROL | 2 +- ports/boost-integer/portfile.cmake | 4 +- ports/boost-interprocess/CONTROL | 2 +- ports/boost-interprocess/portfile.cmake | 4 +- ports/boost-interval/CONTROL | 2 +- ports/boost-interval/portfile.cmake | 4 +- ports/boost-intrusive/CONTROL | 2 +- ports/boost-intrusive/portfile.cmake | 4 +- ports/boost-io/CONTROL | 2 +- ports/boost-io/portfile.cmake | 4 +- ports/boost-iostreams/CONTROL | 2 +- ports/boost-iostreams/portfile.cmake | 6 +- ports/boost-iterator/CONTROL | 2 +- ports/boost-iterator/portfile.cmake | 4 +- ports/boost-lambda/CONTROL | 2 +- ports/boost-lambda/portfile.cmake | 4 +- ports/boost-lexical-cast/CONTROL | 2 +- ports/boost-lexical-cast/portfile.cmake | 4 +- ports/boost-local-function/CONTROL | 2 +- ports/boost-local-function/portfile.cmake | 4 +- ports/boost-locale/CONTROL | 2 +- ports/boost-locale/portfile.cmake | 4 +- ports/boost-lockfree/CONTROL | 2 +- ports/boost-lockfree/portfile.cmake | 4 +- ports/boost-log/CONTROL | 2 +- ports/boost-log/portfile.cmake | 4 +- ports/boost-logic/CONTROL | 2 +- ports/boost-logic/portfile.cmake | 4 +- ports/boost-math/CONTROL | 4 +- ports/boost-math/portfile.cmake | 4 +- ports/boost-metaparse/CONTROL | 2 +- ports/boost-metaparse/portfile.cmake | 4 +- ports/boost-modular-build-helper/CONTROL | 2 +- ports/boost-modular-build-helper/Jamroot.jam | 4 +- .../boost-modular-build.cmake | 13 +++- ports/boost-move/CONTROL | 2 +- ports/boost-move/portfile.cmake | 4 +- ports/boost-mp11/CONTROL | 2 +- ports/boost-mp11/portfile.cmake | 4 +- ports/boost-mpi/CONTROL | 4 +- ports/boost-mpi/portfile.cmake | 4 +- ports/boost-mpl/CONTROL | 2 +- ports/boost-mpl/portfile.cmake | 4 +- ports/boost-msm/CONTROL | 2 +- ports/boost-msm/portfile.cmake | 4 +- ports/boost-multi-array/CONTROL | 2 +- ports/boost-multi-array/portfile.cmake | 4 +- ports/boost-multi-index/CONTROL | 2 +- ports/boost-multi-index/portfile.cmake | 4 +- ports/boost-multiprecision/CONTROL | 2 +- ports/boost-multiprecision/portfile.cmake | 4 +- ports/boost-numeric-conversion/CONTROL | 2 +- ports/boost-numeric-conversion/portfile.cmake | 4 +- ports/boost-odeint/CONTROL | 2 +- ports/boost-odeint/portfile.cmake | 4 +- ports/boost-optional/CONTROL | 2 +- ports/boost-optional/portfile.cmake | 4 +- ports/boost-outcome/CONTROL | 2 +- ports/boost-outcome/portfile.cmake | 4 +- ports/boost-parameter-python/CONTROL | 4 +- ports/boost-parameter-python/portfile.cmake | 4 +- ports/boost-parameter/CONTROL | 2 +- ports/boost-parameter/portfile.cmake | 4 +- ports/boost-phoenix/CONTROL | 2 +- ports/boost-phoenix/portfile.cmake | 4 +- ports/boost-poly-collection/CONTROL | 2 +- ports/boost-poly-collection/portfile.cmake | 4 +- ports/boost-polygon/CONTROL | 2 +- ports/boost-polygon/portfile.cmake | 4 +- ports/boost-pool/CONTROL | 2 +- ports/boost-pool/portfile.cmake | 4 +- ports/boost-predef/CONTROL | 2 +- ports/boost-predef/portfile.cmake | 4 +- ports/boost-preprocessor/CONTROL | 2 +- ports/boost-preprocessor/portfile.cmake | 4 +- ports/boost-process/CONTROL | 2 +- ports/boost-process/portfile.cmake | 4 +- ports/boost-program-options/CONTROL | 2 +- ports/boost-program-options/portfile.cmake | 4 +- ports/boost-property-map/CONTROL | 2 +- ports/boost-property-map/portfile.cmake | 4 +- ports/boost-property-tree/CONTROL | 2 +- ports/boost-property-tree/portfile.cmake | 4 +- ports/boost-proto/CONTROL | 2 +- ports/boost-proto/portfile.cmake | 4 +- ports/boost-ptr-container/CONTROL | 2 +- ports/boost-ptr-container/portfile.cmake | 4 +- ports/boost-python/CONTROL | 2 +- ports/boost-python/portfile.cmake | 6 +- ports/boost-qvm/CONTROL | 2 +- ports/boost-qvm/portfile.cmake | 4 +- ports/boost-random/CONTROL | 2 +- ports/boost-random/portfile.cmake | 4 +- ports/boost-range/CONTROL | 2 +- ports/boost-range/portfile.cmake | 4 +- ports/boost-ratio/CONTROL | 2 +- ports/boost-ratio/portfile.cmake | 4 +- ports/boost-rational/CONTROL | 2 +- ports/boost-rational/portfile.cmake | 4 +- ports/boost-regex/CONTROL | 2 +- ports/boost-regex/portfile.cmake | 4 +- ports/boost-safe-numerics/CONTROL | 2 +- ports/boost-safe-numerics/portfile.cmake | 4 +- ports/boost-scope-exit/CONTROL | 2 +- ports/boost-scope-exit/portfile.cmake | 4 +- ports/boost-serialization/CONTROL | 4 +- ports/boost-serialization/portfile.cmake | 4 +- ports/boost-signals2/CONTROL | 2 +- ports/boost-signals2/portfile.cmake | 4 +- ports/boost-smart-ptr/CONTROL | 2 +- ports/boost-smart-ptr/portfile.cmake | 4 +- ports/boost-sort/CONTROL | 2 +- ports/boost-sort/portfile.cmake | 4 +- ports/boost-spirit/CONTROL | 2 +- ports/boost-spirit/portfile.cmake | 4 +- ports/boost-stacktrace/CONTROL | 2 +- ports/boost-stacktrace/portfile.cmake | 4 +- ports/boost-statechart/CONTROL | 2 +- ports/boost-statechart/portfile.cmake | 4 +- ports/boost-static-assert/CONTROL | 2 +- ports/boost-static-assert/portfile.cmake | 4 +- ports/boost-system/CONTROL | 12 ++-- ports/boost-system/portfile.cmake | 4 +- ports/boost-test/CONTROL | 2 +- ports/boost-test/portfile.cmake | 4 +- ports/boost-thread/CONTROL | 2 +- ports/boost-thread/portfile.cmake | 4 +- ports/boost-throw-exception/CONTROL | 2 +- ports/boost-throw-exception/portfile.cmake | 4 +- ports/boost-timer/CONTROL | 2 +- ports/boost-timer/portfile.cmake | 4 +- ports/boost-tokenizer/CONTROL | 2 +- ports/boost-tokenizer/portfile.cmake | 4 +- ports/boost-tti/CONTROL | 2 +- ports/boost-tti/portfile.cmake | 4 +- ports/boost-tuple/CONTROL | 2 +- ports/boost-tuple/portfile.cmake | 4 +- ports/boost-type-erasure/CONTROL | 2 +- ports/boost-type-erasure/portfile.cmake | 4 +- ports/boost-type-index/CONTROL | 2 +- ports/boost-type-index/portfile.cmake | 4 +- ports/boost-type-traits/CONTROL | 2 +- ports/boost-type-traits/portfile.cmake | 4 +- ports/boost-typeof/CONTROL | 2 +- ports/boost-typeof/portfile.cmake | 4 +- ports/boost-ublas/CONTROL | 2 +- ports/boost-ublas/portfile.cmake | 4 +- ports/boost-units/CONTROL | 2 +- ports/boost-units/portfile.cmake | 4 +- ports/boost-unordered/CONTROL | 2 +- ports/boost-unordered/portfile.cmake | 4 +- ports/boost-utility/CONTROL | 2 +- ports/boost-utility/portfile.cmake | 4 +- ports/boost-uuid/CONTROL | 2 +- ports/boost-uuid/portfile.cmake | 4 +- ports/boost-variant/CONTROL | 2 +- ports/boost-variant/portfile.cmake | 4 +- ports/boost-variant2/CONTROL | 2 +- ports/boost-variant2/portfile.cmake | 4 +- ports/boost-vcpkg-helpers/CONTROL | 2 +- .../boost-modular-headers.cmake | 2 +- ports/boost-vmd/CONTROL | 2 +- ports/boost-vmd/portfile.cmake | 4 +- ports/boost-wave/CONTROL | 2 +- ports/boost-wave/portfile.cmake | 4 +- ports/boost-winapi/CONTROL | 2 +- ports/boost-winapi/portfile.cmake | 4 +- ports/boost-xpressive/CONTROL | 2 +- ports/boost-xpressive/portfile.cmake | 4 +- ports/boost-yap/CONTROL | 2 +- ports/boost-yap/portfile.cmake | 4 +- ports/boost/CONTROL | 4 +- ports/libtorrent/add-executor_type.patch | 14 ++++ ports/libtorrent/portfile.cmake | 1 + scripts/boost/generate-ports.ps1 | 72 ++++++++++--------- .../boost/post-source-stubs/iostreams.cmake | 2 +- scripts/boost/post-source-stubs/python.cmake | 2 +- scripts/ci.baseline.txt | 10 ++- 289 files changed, 512 insertions(+), 544 deletions(-) delete mode 100644 ports/boost-build/arm64msvc.patch create mode 100644 ports/libtorrent/add-executor_type.patch diff --git a/ports/boost-accumulators/CONTROL b/ports/boost-accumulators/CONTROL index c3f9339876..4ef0132e51 100644 --- a/ports/boost-accumulators/CONTROL +++ b/ports/boost-accumulators/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-accumulators -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-interval, boost-iterator, boost-mpl, boost-numeric-conversion, boost-odeint, boost-parameter, boost-preprocessor, boost-range, boost-serialization, boost-static-assert, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-ublas, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/accumulators Description: Boost accumulators module diff --git a/ports/boost-accumulators/portfile.cmake b/ports/boost-accumulators/portfile.cmake index 64ff0b0e6a..fb5c417527 100644 --- a/ports/boost-accumulators/portfile.cmake +++ b/ports/boost-accumulators/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/accumulators - REF boost-1.71.0 - SHA512 72cc55074f40475b6506802ce9be0291439db30f2bbb1c826952fa258b00d3f097ac7dd6c6b1c03d721633d720ac16c213272076af7ca9d205e5544fc459c93c + REF boost-1.72.0 + SHA512 3e232de2d32bffc5483edf201dd2cfbc8c6584c0be877c8234c2bd21eee118eaf9b96050b26bc8237ba552a2dca3f313ace8264d45ef7e9035732ce1ee74384d HEAD_REF master ) diff --git a/ports/boost-algorithm/CONTROL b/ports/boost-algorithm/CONTROL index d8177e5c8d..701b405da8 100644 --- a/ports/boost-algorithm/CONTROL +++ b/ports/boost-algorithm/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-algorithm -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-assert, boost-bind, boost-concept-check, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-iterator, boost-mpl, boost-range, boost-regex, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/algorithm Description: Boost algorithm module diff --git a/ports/boost-algorithm/portfile.cmake b/ports/boost-algorithm/portfile.cmake index 766b41183d..9c2c241fc8 100644 --- a/ports/boost-algorithm/portfile.cmake +++ b/ports/boost-algorithm/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/algorithm - REF boost-1.71.0 - SHA512 2ed7e5d59a3b3de6b316616212cc88d452c8b977643b3b9ffa9256af29fd739f596a833698462624fae83b0b491aa29bdec8792d2aaf3c4ee477308011af075d + REF boost-1.72.0 + SHA512 503fb782faad0e68e58841b098162a32f08a5f125ceb1af46272096daf223056fbf5b3e1011773ad8ef1dc9dfd301feef82ce6ce870fe4741ee838ca5f5bc6f7 HEAD_REF master ) diff --git a/ports/boost-align/CONTROL b/ports/boost-align/CONTROL index 029062dced..ba2c35a673 100644 --- a/ports/boost-align/CONTROL +++ b/ports/boost-align/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-align -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-core, boost-static-assert, boost-vcpkg-helpers Homepage: https://github.com/boostorg/align Description: Boost align module diff --git a/ports/boost-align/portfile.cmake b/ports/boost-align/portfile.cmake index 3c3a3da603..5785a6997f 100644 --- a/ports/boost-align/portfile.cmake +++ b/ports/boost-align/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/align - REF boost-1.71.0 - SHA512 0a30c994a162efa253b5cda7fb03a1bc179c1918eac9690c50396862aff40eaada051ba28dede663454184bc51b095ed3fa45040a66b338a9945cc19729a2a63 + REF boost-1.72.0 + SHA512 5044b1faeca09ed88aa529092805d359c3e82ddf1be8e227a020acf8d21a4c1a670381bbd7024271e86407da2702c6f9705d76dfd889cecdf301ccea5e0aaa09 HEAD_REF master ) diff --git a/ports/boost-any/CONTROL b/ports/boost-any/CONTROL index 1d5a8e6f90..67e42ebeab 100644 --- a/ports/boost-any/CONTROL +++ b/ports/boost-any/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-any -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/any Description: Boost any module diff --git a/ports/boost-any/portfile.cmake b/ports/boost-any/portfile.cmake index 4e198ca4ba..7c3accef0e 100644 --- a/ports/boost-any/portfile.cmake +++ b/ports/boost-any/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/any - REF boost-1.71.0 - SHA512 b197602abf2cf2d0efb796c019c60562fbeceda70ce8083272566740c5d2b4fd73e52a567714f2a89034aec7bb56f441fc9c1e083f08f82395fd86e923e86926 + REF boost-1.72.0 + SHA512 5b1f35356f1ec8f48ddf534a13fc99a0da5579c0ff7d08b444888d18961b2f16fbf0f12ed099c9c53653df92cd7ea3a9f98a9fc4bbf865df91deb7085294ca9e HEAD_REF master ) diff --git a/ports/boost-array/CONTROL b/ports/boost-array/CONTROL index 1b4571e685..d2e38b11aa 100644 --- a/ports/boost-array/CONTROL +++ b/ports/boost-array/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-array -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers Homepage: https://github.com/boostorg/array Description: Boost array module diff --git a/ports/boost-array/portfile.cmake b/ports/boost-array/portfile.cmake index 04cae06ef7..66a3f639e3 100644 --- a/ports/boost-array/portfile.cmake +++ b/ports/boost-array/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/array - REF boost-1.71.0 - SHA512 6b4fca7c5fb6630daef7580d3f6e693e2c61d139ce50d940cbe250618793500701c0c96aa708dbd846b6b3bf21ef5b5125486143e9a113577023273e199195e0 + REF boost-1.72.0 + SHA512 61252106866227256045d438a64a64083068ae258590ce1e16909b46106c73d0492624aaf477f04b1b6f787ded3527786ecc93af79b90b8356a8c1dcd9917908 HEAD_REF master ) diff --git a/ports/boost-asio/CONTROL b/ports/boost-asio/CONTROL index 0dff2bdca6..dd9cc6366d 100644 --- a/ports/boost-asio/CONTROL +++ b/ports/boost-asio/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-asio -Version: 1.71.0-1 +Version: 1.72.0 Build-Depends: boost-array, boost-assert, boost-bind, boost-chrono, boost-compatibility, boost-config, boost-coroutine (!uwp), boost-date-time, boost-detail, boost-function, boost-integer, boost-regex, boost-smart-ptr, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, openssl Homepage: https://github.com/boostorg/asio Description: Boost asio module diff --git a/ports/boost-asio/portfile.cmake b/ports/boost-asio/portfile.cmake index 813d02fe66..b0bd10ed77 100644 --- a/ports/boost-asio/portfile.cmake +++ b/ports/boost-asio/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/asio - REF boost-1.71.0 - SHA512 e174e708305caadef89bc0c091bd5bee236315f8c4b5d917db1984de7dbe15fca5296d0ec9ef2668cdd138900582a02c4d056982501b508e55b78f0355f6c98d + REF boost-1.72.0 + SHA512 5d3ae95cf0261fddd037beb6225c51b6a575779f10e8125c7e2f069642f54c0935f6b048187f55c10569874b7d4de488efae058d43d92caf5b8661e13dbcaae5 HEAD_REF master PATCHES windows_alloca_header.patch ) diff --git a/ports/boost-assert/CONTROL b/ports/boost-assert/CONTROL index b8ec29e5cb..234bf034ca 100644 --- a/ports/boost-assert/CONTROL +++ b/ports/boost-assert/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-assert -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-vcpkg-helpers Homepage: https://github.com/boostorg/assert Description: Boost assert module diff --git a/ports/boost-assert/portfile.cmake b/ports/boost-assert/portfile.cmake index 191c8c91da..5c07464218 100644 --- a/ports/boost-assert/portfile.cmake +++ b/ports/boost-assert/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/assert - REF boost-1.71.0 - SHA512 3739a1d666b925c4c7c4bd136af49203538f946265c8e1643e4385afa79600e6cad68163789e1dbc906637f561eb08171276d6be9c705007008734cedb8dd0b5 + REF boost-1.72.0 + SHA512 ae83ce78bb247a521f06b3c22835456ebbca05eae89c78c4657010df58e5c923e65e00c772e89e16e2c9ce9eea8f5b5fb2e1700883bb3d5796f4108075634bdc HEAD_REF master ) diff --git a/ports/boost-assign/CONTROL b/ports/boost-assign/CONTROL index 847e65d710..c1544939ce 100644 --- a/ports/boost-assign/CONTROL +++ b/ports/boost-assign/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-assign -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-config, boost-detail, boost-move, boost-mpl, boost-preprocessor, boost-ptr-container, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/assign Description: Boost assign module diff --git a/ports/boost-assign/portfile.cmake b/ports/boost-assign/portfile.cmake index b96bff45b4..2d79c13438 100644 --- a/ports/boost-assign/portfile.cmake +++ b/ports/boost-assign/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/assign - REF boost-1.71.0 - SHA512 5875a5244a6f96239a37a196c06a9046c8af57399f37fb4259f268faee35dded2c4185ce2d44d18ccaa0ebfa1b8f6e12190d1873df326cf7068c3e31df28725b + REF boost-1.72.0 + SHA512 71913c0612e3b0a4204b0f23e9c9848a37a7bdc028965c040c4bf65cdb4e884f67d39304ef5b41045643664e1e29da4d56cddac3b1bde5af0f058faa3efa1e18 HEAD_REF master ) diff --git a/ports/boost-atomic/CONTROL b/ports/boost-atomic/CONTROL index 609f9a34b3..153477b74b 100644 --- a/ports/boost-atomic/CONTROL +++ b/ports/boost-atomic/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-atomic -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-build, boost-config, boost-integer, boost-modular-build-helper, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/atomic Description: Boost atomic module diff --git a/ports/boost-atomic/portfile.cmake b/ports/boost-atomic/portfile.cmake index 15575abc89..4c5de55ee5 100644 --- a/ports/boost-atomic/portfile.cmake +++ b/ports/boost-atomic/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/atomic - REF boost-1.71.0 - SHA512 b9410ddd63cc2d26e8364f70f53a87c5e042c5ba26d4431d1e5c75dd1f2bbcda005f69b7e106afe6c26991701a04c8e94ed4720d3460f43cf3027d3fa33379dc + REF boost-1.72.0 + SHA512 dc8f20520b91d9691318cdb09654294105522c4367e823b4a2c54fbd1ebf818bd59edd92f7cd37634bc09dc341cc0a6664ce8a240dd860674f115be162a6b30f HEAD_REF master ) diff --git a/ports/boost-beast/CONTROL b/ports/boost-beast/CONTROL index a57759f13a..d5757961f7 100644 --- a/ports/boost-beast/CONTROL +++ b/ports/boost-beast/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-beast -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-asio, boost-assert, boost-bind, boost-config, boost-container, boost-core, boost-endian, boost-intrusive, boost-logic, boost-mp11, boost-optional, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/beast Description: Boost beast module diff --git a/ports/boost-beast/portfile.cmake b/ports/boost-beast/portfile.cmake index 4bb8531f7d..1342d89f22 100644 --- a/ports/boost-beast/portfile.cmake +++ b/ports/boost-beast/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/beast - REF boost-1.71.0 - SHA512 85ab272f7093375ac070644a8c76f6919e0ab3e612db8aa1934e22338721645085991434919bebd8618ae3abcbc674fdda7a6fc3a39c3e46408b456512c371cf + REF boost-1.72.0 + SHA512 beffe921767466830089ce20cec4dfb27f6d2b7864fde990a682349d0944037d5fa517f2dfeb5d4c22d3f3410aa3803012fbf4220311367d95a0238d84a2f24c HEAD_REF master ) diff --git a/ports/boost-bimap/CONTROL b/ports/boost-bimap/CONTROL index c6eb75dbf7..5ac8a937f1 100644 --- a/ports/boost-bimap/CONTROL +++ b/ports/boost-bimap/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-bimap -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-concept-check, boost-config, boost-container-hash, boost-functional, boost-iterator, boost-lambda, boost-mpl, boost-multi-index, boost-preprocessor, boost-property-map, boost-serialization, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/bimap Description: Boost bimap module diff --git a/ports/boost-bimap/portfile.cmake b/ports/boost-bimap/portfile.cmake index 4626f7a580..0c4eddf9ff 100644 --- a/ports/boost-bimap/portfile.cmake +++ b/ports/boost-bimap/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/bimap - REF boost-1.71.0 - SHA512 f1af7cca25612e9dd3774ea8d426228263fb2ec3c12df0093978a475eefd640a9d8cc5922f4e209112e9b28c9560d3092a385be4ef9e0751bfec1ec3ffe76ae5 + REF boost-1.72.0 + SHA512 150b1abba1d2f17ddd4fc0c52b3e601ce80208437b8df4e4fe44b9a020838617cdb184947d63f8552e6c0d94436b52688dfa7b4c98f847aa954b626df704cf9a HEAD_REF master ) diff --git a/ports/boost-bind/CONTROL b/ports/boost-bind/CONTROL index 9e1f5033c7..36ba4da77c 100644 --- a/ports/boost-bind/CONTROL +++ b/ports/boost-bind/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-bind -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/bind Description: Boost bind module diff --git a/ports/boost-bind/portfile.cmake b/ports/boost-bind/portfile.cmake index a50e2bcfdf..781ea5551d 100644 --- a/ports/boost-bind/portfile.cmake +++ b/ports/boost-bind/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/bind - REF boost-1.71.0 - SHA512 1b808d5a7203da549cb35867fbf87f20557ee26376bf7cfc21c1476feae9397492f0efd18be27e202a069b2d29a4d256b6dc93efea6cbd9fe74b16631ca18bc4 + REF boost-1.72.0 + SHA512 b09942be125de1fb07399414a48d3ea7694fe3eb51691d0dab0278ca973d1d80c31ea98f64f007d483d2953f0162db33e88578596619f284ac0c0cbf60977a3f HEAD_REF master ) diff --git a/ports/boost-build/CONTROL b/ports/boost-build/CONTROL index ce5473df57..4ccff7bc87 100644 --- a/ports/boost-build/CONTROL +++ b/ports/boost-build/CONTROL @@ -1,4 +1,4 @@ Source: boost-build -Version: 1.70.0-1 +Version: 1.72.0 Homepage: https://github.com/boostorg/build Description: Boost.Build diff --git a/ports/boost-build/arm64msvc.patch b/ports/boost-build/arm64msvc.patch deleted file mode 100644 index 47f30acfb5..0000000000 --- a/ports/boost-build/arm64msvc.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/src/tools/msvc.jam b/src/tools/msvc.jam -index e6c0b60..62c3a41 100644 ---- a/src/tools/msvc.jam -+++ b/src/tools/msvc.jam -@@ -466,6 +466,7 @@ rule configure-version-specific ( toolset : version : conditions ) - toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-i386) : "/MACHINE:X86" ; - toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-ia64) : "/MACHINE:IA64" ; - toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-arm) : "/MACHINE:ARM" ; -+ toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-arm64) : "/MACHINE:ARM64" ; - - # Make sure that manifest will be generated even if there is no - # dependencies to put there. -@@ -1256,7 +1257,7 @@ local rule configure-really ( version ? : options * ) - local below-8.0 = [ MATCH "^([67]\\.)" : $(version) ] ; - local below-11.0 = [ MATCH "^([6789]\\.|10\\.)" : $(version) ] ; - -- local cpu = i386 amd64 ia64 arm ; -+ local cpu = i386 amd64 ia64 arm arm64 ; - if $(below-8.0) - { - cpu = i386 ; -@@ -1270,6 +1271,7 @@ local rule configure-really ( version ? : options * ) - local setup-i386 ; - local setup-ia64 ; - local setup-arm ; -+ local setup-arm64 ; - local setup-phone-i386 ; - local setup-phone-arm ; - -@@ -1327,6 +1329,7 @@ local rule configure-really ( version ? : options * ) - local default-setup-i386 = vcvars32.bat ; - local default-setup-ia64 = vcvarsx86_ia64.bat ; - local default-setup-arm = vcvarsx86_arm.bat ; -+ local default-setup-arm64 = vcvarsx86_arm64.bat ; - local default-setup-phone-i386 = vcvarsphonex86.bat ; - local default-setup-phone-arm = vcvarsphonex86_arm.bat ; - -@@ -1338,6 +1341,7 @@ local rule configure-really ( version ? : options * ) - local default-global-setup-options-i386 = x86 ; - local default-global-setup-options-ia64 = x86_ia64 ; - local default-global-setup-options-arm = x86_arm ; -+ local default-global-setup-options-arm64 = x86_arm64 ; - - # When using 64-bit Windows, and targeting 64-bit, it is possible to - # use a native 64-bit compiler, selected by the "amd64" & "ia64" -@@ -1418,6 +1422,7 @@ local rule configure-really ( version ? : options * ) - local default-assembler-i386 = "ml -coff" ; - local default-assembler-ia64 = ias ; - local default-assembler-ia64 = armasm ; -+ local default-assembler-arm64 = armasm64 ; - - assembler = [ feature.get-values : $(options) ] ; - -@@ -1932,6 +1937,9 @@ if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ] - arm/ - arm/32 ; - -+.cpu-arch-arm64 = -+ arm/ -+ arm/64 ; - - # Supported CPU types (only Itanium optimization options are supported from - # VC++ 2005 on). See diff --git a/ports/boost-build/portfile.cmake b/ports/boost-build/portfile.cmake index 77da810578..be076d422a 100644 --- a/ports/boost-build/portfile.cmake +++ b/ports/boost-build/portfile.cmake @@ -8,17 +8,14 @@ elseif(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_N return() endif() -set(BOOST_VERSION 1.70.0) +set(BOOST_VERSION 1.72.0) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/build REF boost-${BOOST_VERSION} - SHA512 be4e410a9656313519e089977a24da8f633db2182985f5d60e07e489f9eac8c887e8cab7e3cbd13f2b747bc3d9dab2899f174be1eaac73cfd7895015fb6b9b58 + SHA512 744816ba805013a49029373a4d2aa5b5f543275a1cdef2812c2120c868c55bf36a0bb0fb891cd955ad7319e582fd5212bd52ff071703a8654b345c478e810a19 HEAD_REF master - PATCHES - # Add the support of arm64-windows - arm64msvc.patch ) vcpkg_download_distfile(ARCHIVE diff --git a/ports/boost-callable-traits/CONTROL b/ports/boost-callable-traits/CONTROL index f5d193c98d..af4a7664b8 100644 --- a/ports/boost-callable-traits/CONTROL +++ b/ports/boost-callable-traits/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-callable-traits -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/callable_traits Description: Boost callable_traits module diff --git a/ports/boost-callable-traits/portfile.cmake b/ports/boost-callable-traits/portfile.cmake index 8b089d6663..7f0612fefa 100644 --- a/ports/boost-callable-traits/portfile.cmake +++ b/ports/boost-callable-traits/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/callable_traits - REF boost-1.71.0 - SHA512 91502779b9d0c2a3574e9c824893e344c949e44765616b9b1ab75bcf869143d10f3016d3e001c1f99c96bf7eed1c8014c659b6e8a518f663f08327ed4eef3438 + REF boost-1.72.0 + SHA512 ad32e155e0d2d1a0ed88d34bc5772e8756bb6a73335f4c207710ac22efb5fb77b1199b3df128c1f4164e87a7aafaa14c604864047d1a49ede3475eba169eb449 HEAD_REF master ) diff --git a/ports/boost-chrono/CONTROL b/ports/boost-chrono/CONTROL index 1ba4660f9a..dcd35dbb48 100644 --- a/ports/boost-chrono/CONTROL +++ b/ports/boost-chrono/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-chrono -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-modular-build-helper, boost-move, boost-mpl, boost-predef, boost-ratio, boost-static-assert, boost-system, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/chrono Description: Boost chrono module diff --git a/ports/boost-chrono/portfile.cmake b/ports/boost-chrono/portfile.cmake index f8d0f7295e..18908e8f63 100644 --- a/ports/boost-chrono/portfile.cmake +++ b/ports/boost-chrono/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/chrono - REF boost-1.71.0 - SHA512 202bf48e6dc0438cdaad5cd7e5dc6e2cc5957b72a89eb326bb110d02857087147fc3102ed313e11720d8ae121dd0881b405674af607143c5c71ed3ac93ea0261 + REF boost-1.72.0 + SHA512 7cd2596101767d9dde63ff6af527680211442272f9ac96b758712872dcc4e0d5d3be0e8cfab99601abe22caf3c3501a1b5385ba1fe69d8a2d3527bbaa5a36cc8 HEAD_REF master ) diff --git a/ports/boost-circular-buffer/CONTROL b/ports/boost-circular-buffer/CONTROL index 94e1e13777..09fa7c0677 100644 --- a/ports/boost-circular-buffer/CONTROL +++ b/ports/boost-circular-buffer/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-circular-buffer -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-move, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/circular_buffer Description: Boost circular_buffer module diff --git a/ports/boost-circular-buffer/portfile.cmake b/ports/boost-circular-buffer/portfile.cmake index 6100b72b6f..e1aca6ded6 100644 --- a/ports/boost-circular-buffer/portfile.cmake +++ b/ports/boost-circular-buffer/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/circular_buffer - REF boost-1.71.0 - SHA512 c40fc12a371c92d3deb07558ed0a8e6e582ddd66beb7af711195da38efbee9fcfab65605290899c02725ab4ec1a1b5704bc79138fefcbcbd54dd968d1d085ade + REF boost-1.72.0 + SHA512 bbd4927cc0cb065c62d9d310921894f0d62d088c0a246eae85eb27b9b24ce45f7b4816c6c1bf1049f0e6a3b188611569ee6386afef0d15e1b5df37202b7d992d HEAD_REF master ) diff --git a/ports/boost-compatibility/CONTROL b/ports/boost-compatibility/CONTROL index c950062b1b..399a56dff7 100644 --- a/ports/boost-compatibility/CONTROL +++ b/ports/boost-compatibility/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-compatibility -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/compatibility Description: Boost compatibility module diff --git a/ports/boost-compatibility/portfile.cmake b/ports/boost-compatibility/portfile.cmake index 05a6f6e7a4..69f0c0989f 100644 --- a/ports/boost-compatibility/portfile.cmake +++ b/ports/boost-compatibility/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/compatibility - REF boost-1.71.0 - SHA512 200da5b918150f08fa7c033c8323d08132eb3f744215e4e5ae723cab235c9d4643e253e1c7f2682af774283eb41d4d73322fdd396e74fafb93fd1716c368d79d + REF boost-1.72.0 + SHA512 3fec934f448568c75bb9f40ce91650a949f07bd222c9bd3c0845c6b5748b8dddc4b0e3df19cbf9cbc6ffefe3ed9b26a145e531dd70e8e1305ed56d66d1f20fb6 HEAD_REF master ) diff --git a/ports/boost-compute/CONTROL b/ports/boost-compute/CONTROL index fd52d06868..dd888faab4 100644 --- a/ports/boost-compute/CONTROL +++ b/ports/boost-compute/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-compute -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-algorithm, boost-array, boost-assert, boost-chrono, boost-config, boost-core, boost-filesystem (!uwp), boost-function, boost-function-types, boost-fusion, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-preprocessor, boost-property-tree, boost-proto, boost-range, boost-smart-ptr, boost-static-assert, boost-thread, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-uuid, boost-vcpkg-helpers Homepage: https://github.com/boostorg/compute Description: Boost compute module diff --git a/ports/boost-compute/portfile.cmake b/ports/boost-compute/portfile.cmake index 679801808d..6d029795d4 100644 --- a/ports/boost-compute/portfile.cmake +++ b/ports/boost-compute/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/compute - REF boost-1.71.0 - SHA512 ad887151fc658655f8fc92d6b35077421adfc5b23a80817bbd86e4b568b81d62d03c2d5876f6165cc2dc20003ec6f4d838aa4fcead56d530186a4f87fcbcdb7d + REF boost-1.72.0 + SHA512 549165f83cd184a4ac77dcd467b92d571d7754aafd011d7bad9cfbef9ef3b3bfad9e0f2fa9a2a419bc2cf58f5d2f27ce1cf829c18e460b8d5552a6a2ae6648a9 HEAD_REF master ) diff --git a/ports/boost-concept-check/CONTROL b/ports/boost-concept-check/CONTROL index a0d0f7f994..9d5f520ed2 100644 --- a/ports/boost-concept-check/CONTROL +++ b/ports/boost-concept-check/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-concept-check -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/concept_check Description: Boost concept_check module diff --git a/ports/boost-concept-check/portfile.cmake b/ports/boost-concept-check/portfile.cmake index e9c9713a0b..d2ffd798be 100644 --- a/ports/boost-concept-check/portfile.cmake +++ b/ports/boost-concept-check/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/concept_check - REF boost-1.71.0 - SHA512 eef82b7dd57820b05469ef5f326140f531d1a92540f024db30b3cf598659bf02b1fe9f5e5bd7844317ed182c881d342f1e738823495f4933ac00e7eeea683b0b + REF boost-1.72.0 + SHA512 8b3ebefa86eab167205a616dbde25fabf850c859b562f71b67b5ddabb15de6020a60440c3191e664bad3058f97476674467d4651e9fcd5412452bcc29a269e7e HEAD_REF master ) diff --git a/ports/boost-config/CONTROL b/ports/boost-config/CONTROL index 8418c8b718..fce345db7d 100644 --- a/ports/boost-config/CONTROL +++ b/ports/boost-config/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-config -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-compatibility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/config Description: Boost config module diff --git a/ports/boost-config/portfile.cmake b/ports/boost-config/portfile.cmake index 179eb18780..592fd1e8be 100644 --- a/ports/boost-config/portfile.cmake +++ b/ports/boost-config/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/config - REF boost-1.71.0 - SHA512 d11791e026bbe73ff8eb1e8c2e3fd4ff498562a3f83021b73ce1f52cc9e487ae20a74c4611bbfa0cb3dd73212d79bbb42fdd697df404838d370b51427641a685 + REF boost-1.72.0 + SHA512 918f8936ced087ab89b32648fdf7194e025043c799f7750623e387a0c5d4f17581614cb8318cac07c5b70ed0e5f14ab94eb69999870cf2cada7ef3bf2503dd40 HEAD_REF master ) diff --git a/ports/boost-container-hash/CONTROL b/ports/boost-container-hash/CONTROL index 0dd27ada04..7926d6c38a 100644 --- a/ports/boost-container-hash/CONTROL +++ b/ports/boost-container-hash/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-container-hash -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/container_hash Description: Boost container_hash module diff --git a/ports/boost-container-hash/portfile.cmake b/ports/boost-container-hash/portfile.cmake index 7792464e33..14038a44ea 100644 --- a/ports/boost-container-hash/portfile.cmake +++ b/ports/boost-container-hash/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/container_hash - REF boost-1.71.0 - SHA512 ca383c1d6a69bb611bed8df0222ed4b81c582ec449dce03d04a5f55129f9406afa3e9ed1dd5518d4e4b4508c2a47f4e696d1009ba13aa51b90cfc2f918fd6bde + REF boost-1.72.0 + SHA512 8e739b2876488a081774a6b70c82430bb5949d5c6f4c6e2c05964adfcebf848f56da007d64fc13189a0e6ef6305d2e50d702f4d87d7908fb0e2c6feccba85c1b HEAD_REF master ) diff --git a/ports/boost-container/CONTROL b/ports/boost-container/CONTROL index 56d569826a..83c05201f9 100644 --- a/ports/boost-container/CONTROL +++ b/ports/boost-container/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-container -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-build, boost-config, boost-container-hash, boost-core, boost-integer, boost-intrusive, boost-modular-build-helper, boost-move, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/container Description: Boost container module diff --git a/ports/boost-container/portfile.cmake b/ports/boost-container/portfile.cmake index f9f4110524..6962ac293e 100644 --- a/ports/boost-container/portfile.cmake +++ b/ports/boost-container/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/container - REF boost-1.71.0 - SHA512 a4fc8b71a37280fe08fec4f65ce311a75695aa9c6d022070539b615725180a05fc8330b96a0319c84ed5fb6bbca0ed5a37838fe0298bac1137215d885061ea6c + REF boost-1.72.0 + SHA512 1fccb1ccd017ebcffed60e646f9038e91c17b5ba3867062f245ae0702eef3fa86a8b73a5aebe47e81a24fe927da5c999d580c608d44109b14147a273d7b7e398 HEAD_REF master ) diff --git a/ports/boost-context/CONTROL b/ports/boost-context/CONTROL index 795d24923c..f628c87693 100644 --- a/ports/boost-context/CONTROL +++ b/ports/boost-context/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-context -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-modular-build-helper, boost-pool, boost-predef, boost-smart-ptr, boost-thread, boost-vcpkg-helpers Homepage: https://github.com/boostorg/context Description: Boost context module diff --git a/ports/boost-context/portfile.cmake b/ports/boost-context/portfile.cmake index a79a821b9e..a9b5d4f638 100644 --- a/ports/boost-context/portfile.cmake +++ b/ports/boost-context/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/context - REF boost-1.71.0 - SHA512 d1da9103e22d45461fe16def14879aed3e6e67b3c83f41100a2f762c3ca14dbd52e381809968ddf4ecf5caf838d4d1f0859d6a94e7e7addbad32a1a56c6eb171 + REF boost-1.72.0 + SHA512 3009fddb29ab31caa40fd7d03b13b820ac0c638c026e1d9b510f719ffc66436dafba5bcf537418ac090c721d1e21022043a7ef4ef597b4bd853e693f3c0d3ded HEAD_REF master ) diff --git a/ports/boost-contract/CONTROL b/ports/boost-contract/CONTROL index 03b290fda3..6f9f6131eb 100644 --- a/ports/boost-contract/CONTROL +++ b/ports/boost-contract/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-contract -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-any, boost-assert, boost-build, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-function-types, boost-modular-build-helper, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-thread, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/contract Description: Boost contract module diff --git a/ports/boost-contract/portfile.cmake b/ports/boost-contract/portfile.cmake index 39f467042f..abd7223c3d 100644 --- a/ports/boost-contract/portfile.cmake +++ b/ports/boost-contract/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/contract - REF boost-1.71.0 - SHA512 22c9309dc38a9943295ef890a3de2881ca20a131a0ad144d966c291983b100ca2eaef21e0cbc371aee69c69b1d91f2c2e3cc7bbcc3f13b2755901e2d135d58c5 + REF boost-1.72.0 + SHA512 f76871e3769f15cea97e2b60d2ca32a03f15b4a3492b24debe95536fdc1c98543bacf171f46f78a9f49410ec1e55e8baf15d0629d96aa94f8d64dfefae567643 HEAD_REF master ) diff --git a/ports/boost-conversion/CONTROL b/ports/boost-conversion/CONTROL index e8058bf305..69bb57656a 100644 --- a/ports/boost-conversion/CONTROL +++ b/ports/boost-conversion/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-conversion -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-throw-exception, boost-typeof, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/conversion Description: Boost conversion module diff --git a/ports/boost-conversion/portfile.cmake b/ports/boost-conversion/portfile.cmake index e060de7882..abdcafc988 100644 --- a/ports/boost-conversion/portfile.cmake +++ b/ports/boost-conversion/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/conversion - REF boost-1.71.0 - SHA512 f469a3fc87c642e31ba19e8f5b7734e76aa76674fedb3634f642ebc6511818638313662874f0035ce227dce290e70177941c702395674cc6464aaa7e3afeaebd + REF boost-1.72.0 + SHA512 bef4ca0c37f3f259bab9e280fea685898299c37fcd0bc198549c0524612be5d8100a0a5d7799fbd44ad68c4d82682c5970ce700b65294908fd78784e5f96e865 HEAD_REF master ) diff --git a/ports/boost-convert/CONTROL b/ports/boost-convert/CONTROL index 123be6985c..dbf7e94c50 100644 --- a/ports/boost-convert/CONTROL +++ b/ports/boost-convert/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-convert -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-function-types, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-parameter, boost-range, boost-spirit, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/convert Description: Boost convert module diff --git a/ports/boost-convert/portfile.cmake b/ports/boost-convert/portfile.cmake index f8664023aa..b1cd31905d 100644 --- a/ports/boost-convert/portfile.cmake +++ b/ports/boost-convert/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/convert - REF boost-1.71.0 - SHA512 53e89b20e7a2f49a43429a856968893f35cdad098c1cbd7542dfbee1d08908382d5dba4489e57f701d62cae06d630daeb9fbd2624f40324fde204354de002a04 + REF boost-1.72.0 + SHA512 2c9632d58e11a3b086c2cf191b4ec2d34c0d331347926798222cb742eac0ff97afb62581d3b2347c64c70d86ccc866d3a91a291a5db7e0e2d41d11bdc4fb9032 HEAD_REF master ) diff --git a/ports/boost-core/CONTROL b/ports/boost-core/CONTROL index 50b5409201..2ca7782882 100644 --- a/ports/boost-core/CONTROL +++ b/ports/boost-core/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-core -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-vcpkg-helpers Homepage: https://github.com/boostorg/core Description: Boost core module diff --git a/ports/boost-core/portfile.cmake b/ports/boost-core/portfile.cmake index 2d784989fd..25a329fe5d 100644 --- a/ports/boost-core/portfile.cmake +++ b/ports/boost-core/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/core - REF boost-1.71.0 - SHA512 ebb4f3aaca25804452dd9fb5b47ec089193eef8ce902629f71513bf85a1c9d9ec4bc829a3aa53a6ccb3310a18469b06fd1ed01905851da28fd52040195ede7f4 + REF boost-1.72.0 + SHA512 6b691ef85c161e93382a30d3bfe7bf45bdff5c27ac5dcec9933cc27f78af1b6c09752f245002e3edcabfd0c67de738756b9027fbb996eba675c9ebd3f9212f01 HEAD_REF master ) diff --git a/ports/boost-coroutine/CONTROL b/ports/boost-coroutine/CONTROL index e4ce271f4d..ef712c32aa 100644 --- a/ports/boost-coroutine/CONTROL +++ b/ports/boost-coroutine/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-coroutine -Version: 1.71.0 -Build-Depends: boost-assert, boost-build, boost-config, boost-context (!uwp), boost-detail, boost-exception, boost-integer, boost-modular-build-helper, boost-move, boost-range, boost-system, boost-thread, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Version: 1.72.0 +Build-Depends: boost-assert, boost-build, boost-config, boost-context (!uwp), boost-detail, boost-exception, boost-integer, boost-modular-build-helper, boost-move, boost-system, boost-thread, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/coroutine Description: Boost coroutine module diff --git a/ports/boost-coroutine/portfile.cmake b/ports/boost-coroutine/portfile.cmake index d101467a73..2572446b1b 100644 --- a/ports/boost-coroutine/portfile.cmake +++ b/ports/boost-coroutine/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/coroutine - REF boost-1.71.0 - SHA512 c7ed0e0630616671764d82444ea2845e6168dc2735379304652ba239d9f7ce995693f193fe1c800f10f60d4bdead20d4be714af869b6c585c0021b43df90633d + REF boost-1.72.0 + SHA512 efd234d24692a484b3bb4fdf9790d6e0014ba87ba628768dc2710c9999da14ea4ec6fef2e55a6283d8c3cb22894bd737cadb61f788d9f5e1408785e8c32892a0 HEAD_REF master ) diff --git a/ports/boost-coroutine2/CONTROL b/ports/boost-coroutine2/CONTROL index 4d3fe18af5..7869698a71 100644 --- a/ports/boost-coroutine2/CONTROL +++ b/ports/boost-coroutine2/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-coroutine2 -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-context (!uwp), boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/coroutine2 Description: Boost coroutine2 module diff --git a/ports/boost-coroutine2/portfile.cmake b/ports/boost-coroutine2/portfile.cmake index 6c406c3986..404907bfaa 100644 --- a/ports/boost-coroutine2/portfile.cmake +++ b/ports/boost-coroutine2/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/coroutine2 - REF boost-1.71.0 - SHA512 fbbe0b27c7c92ee30ebd1170cba32028b68c521758f464c10e8a967070f9367fa564440c2d7c2b068bcdcdc08d87458a3cfac479e70a578aff741a03a92b9a4d + REF boost-1.72.0 + SHA512 00fbdfd6baa74ca444a45bef6cf0bf677bf0bd653c32e0688abc720720d758d2df5c8467a66daa2afa5c6b25982139fe0fc30a12798190c0f746a66d8f9b9bcc HEAD_REF master ) diff --git a/ports/boost-crc/CONTROL b/ports/boost-crc/CONTROL index a8899f151f..f5c71e2a8a 100644 --- a/ports/boost-crc/CONTROL +++ b/ports/boost-crc/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-crc -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-compatibility, boost-config, boost-integer, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/crc Description: Boost crc module diff --git a/ports/boost-crc/portfile.cmake b/ports/boost-crc/portfile.cmake index 9393925d97..29fc6f0fce 100644 --- a/ports/boost-crc/portfile.cmake +++ b/ports/boost-crc/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/crc - REF boost-1.71.0 - SHA512 2ac6f7115f0be8117bec7a89b536960f158d5df5d9756fbfdc5f117d2d76b7cd807cdcd804cfdd3611f35e6d088d09d7efb793397a4d069b194d734cd18d5e51 + REF boost-1.72.0 + SHA512 f6fb2e5f14255e60f649389c5e9602d703a0a597499408b749a83e8c6740d1a49475583476c38f7f7810df1b332c31e4e07ce340d2519189b0f47e70792b0896 HEAD_REF master ) diff --git a/ports/boost-date-time/CONTROL b/ports/boost-date-time/CONTROL index 4f2e97f109..0d4a74fa22 100644 --- a/ports/boost-date-time/CONTROL +++ b/ports/boost-date-time/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-date-time -Version: 1.71.0 -Build-Depends: boost-algorithm, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-io, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-numeric-conversion, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi +Version: 1.72.0 +Build-Depends: boost-algorithm, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-io, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-numeric-conversion, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/date_time Description: Boost date_time module diff --git a/ports/boost-date-time/portfile.cmake b/ports/boost-date-time/portfile.cmake index f3013cf981..a2bb8ef2d0 100644 --- a/ports/boost-date-time/portfile.cmake +++ b/ports/boost-date-time/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/date_time - REF boost-1.71.0 - SHA512 67b78bc04f5aeb8cd03ace2ea83a394317a5074a34c5b1213999a511030d4f7e6552b14ffd9be6f8e04afe94465072b6b96f4ad8689dd16b7e92423b6e821659 + REF boost-1.72.0 + SHA512 bfb0c18d05742a19eeeed353f52afca594b92854480f61fa7fd21283bafc45b3301d4693da7bbf4abb2ebcbeb8d02d537d7a755cea0d6dbc3d7f83784a696a04 HEAD_REF master ) diff --git a/ports/boost-detail/CONTROL b/ports/boost-detail/CONTROL index 2b48469eb9..eb7f3cb022 100644 --- a/ports/boost-detail/CONTROL +++ b/ports/boost-detail/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-detail -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-compatibility, boost-config, boost-preprocessor, boost-vcpkg-helpers Homepage: https://github.com/boostorg/detail Description: Boost detail module diff --git a/ports/boost-detail/portfile.cmake b/ports/boost-detail/portfile.cmake index 0467de7e4f..bab59aec53 100644 --- a/ports/boost-detail/portfile.cmake +++ b/ports/boost-detail/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/detail - REF boost-1.71.0 - SHA512 94252d4fe07b2fb0ce2446b84345bed69846ea88ae4520dea3e4d132716a7334972df368127b9e53fccbfee1e26c47bd2d2bdbed203edb8b00c10f0503267018 + REF boost-1.72.0 + SHA512 9c4541da0bb9eddad51a464dad76faf29a949657b5ae0ad003bffe4a936bf49c7fb9ee3266a51b7637343b64e446541d1359aa1d46734d07f14bd044021afcfa HEAD_REF master ) diff --git a/ports/boost-disjoint-sets/CONTROL b/ports/boost-disjoint-sets/CONTROL index ea228b4206..14b666c474 100644 --- a/ports/boost-disjoint-sets/CONTROL +++ b/ports/boost-disjoint-sets/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-disjoint-sets -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-graph, boost-vcpkg-helpers Homepage: https://github.com/boostorg/disjoint_sets Description: Boost disjoint_sets module diff --git a/ports/boost-disjoint-sets/portfile.cmake b/ports/boost-disjoint-sets/portfile.cmake index 1d2d9b1012..a87d37e9a2 100644 --- a/ports/boost-disjoint-sets/portfile.cmake +++ b/ports/boost-disjoint-sets/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/disjoint_sets - REF boost-1.71.0 - SHA512 5e8d121155c0916149e53cab8063bbe2d2cee6a8d425e215a3906d967135e83ece0e19138fa4baa71d5dab6e7ef6b1bfdb68f94788679243f3442ebe52452c43 + REF boost-1.72.0 + SHA512 aa48fed3cd909fbe9362e8173639c9ad9f3a0cce1809a7db12f8eaafaddb5bb1c295aa74ea0dc87d1fff1576587d7cfd3ddf7c8c7e475182d88397a56608df6a HEAD_REF master ) diff --git a/ports/boost-dll/CONTROL b/ports/boost-dll/CONTROL index b9ccb69d7b..877ea36c66 100644 --- a/ports/boost-dll/CONTROL +++ b/ports/boost-dll/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-dll -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-core, boost-filesystem (!uwp), boost-function, boost-integer, boost-move, boost-mpl, boost-predef, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-throw-exception, boost-type-index, boost-type-traits, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/dll Description: Boost dll module diff --git a/ports/boost-dll/portfile.cmake b/ports/boost-dll/portfile.cmake index 3838512c82..8542d818f5 100644 --- a/ports/boost-dll/portfile.cmake +++ b/ports/boost-dll/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/dll - REF boost-1.71.0 - SHA512 6472a53073da728cd336c549c81d1994227c42c72d7bb867a93550e520b7bcbdbab339adbe1344766512385d9bb74e75f31c72e5eb63d9c067a394868b543e56 + REF boost-1.72.0 + SHA512 c724ead59194e2aea166ba4f07bf073950b03e66af61f5847f68d6d26f00a6c1f2507c49fc2757e21629e91adf0bbf78604d46b36c5f3c24727ef2a7a8b2d049 HEAD_REF master ) diff --git a/ports/boost-dynamic-bitset/CONTROL b/ports/boost-dynamic-bitset/CONTROL index a8d1842ef7..ce2a512ab5 100644 --- a/ports/boost-dynamic-bitset/CONTROL +++ b/ports/boost-dynamic-bitset/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-dynamic-bitset -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-serialization, boost-vcpkg-helpers Homepage: https://github.com/boostorg/dynamic_bitset Description: Boost dynamic_bitset module diff --git a/ports/boost-dynamic-bitset/portfile.cmake b/ports/boost-dynamic-bitset/portfile.cmake index 8a087854d1..b582e9a426 100644 --- a/ports/boost-dynamic-bitset/portfile.cmake +++ b/ports/boost-dynamic-bitset/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/dynamic_bitset - REF boost-1.71.0 - SHA512 10881de1b1ccbbabb84df6d3687e558bc532c2de2af93245ccc145ddb1cc8ae501def4c6e43faa5b037436e53a6490ccc599f3316552defa76089a0da793807a + REF boost-1.72.0 + SHA512 b4c84d194e71fc73be9071840caf1c9ab3a1887ab1d9aa6af63e5121783d450749b435af2f0f2545ebac9c86057b15a537926172e55255805b256d0d992bf0b5 HEAD_REF master ) diff --git a/ports/boost-endian/CONTROL b/ports/boost-endian/CONTROL index a59143d8ca..e69f92a132 100644 --- a/ports/boost-endian/CONTROL +++ b/ports/boost-endian/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-endian -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-integer, boost-predef, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/endian Description: Boost endian module diff --git a/ports/boost-endian/portfile.cmake b/ports/boost-endian/portfile.cmake index 52ae2b8649..003314493d 100644 --- a/ports/boost-endian/portfile.cmake +++ b/ports/boost-endian/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/endian - REF boost-1.71.0 - SHA512 8010633daa48982661e6d0f2e68796a60d6cd7c5d518689f41e22bdec8cca4609313bad42bb0a1efa3d5ba2d4f4c577cb9723f872d67627a3cf22ef78a8b18f8 + REF boost-1.72.0 + SHA512 bdcec1badfe7583143dc405c3eb2a3f55d5d2cc742f54265e8d6d5b156ef09523379fc49cf39eefacf22fa276c20b742b389b6dae3530fc377b5b8dc3686cf75 HEAD_REF master ) diff --git a/ports/boost-exception/CONTROL b/ports/boost-exception/CONTROL index 613fff8ebf..db4f1a6842 100644 --- a/ports/boost-exception/CONTROL +++ b/ports/boost-exception/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-exception -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-modular-build-helper, boost-smart-ptr, boost-tuple, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/exception Description: Boost exception module diff --git a/ports/boost-exception/portfile.cmake b/ports/boost-exception/portfile.cmake index 90d259f11b..0b5a5e8096 100644 --- a/ports/boost-exception/portfile.cmake +++ b/ports/boost-exception/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/exception - REF boost-1.71.0 - SHA512 cf2a2887fdbfac7830a94358f249eb5de711497e5de04a3b9aba2af0bbd35ad14bd739b3fc9592bc1a30d53c5629136037bb076ffa28b83dc23b4009836f436e + REF boost-1.72.0 + SHA512 506ee9bec68a169b60e438bf29ed673aa8be2f745ab64dc8381a6ad1b9ca7e674a1b3009a828893c7451fd34de302fdb41d75018e1986a64543fe27ea5c7903b HEAD_REF master ) diff --git a/ports/boost-fiber/CONTROL b/ports/boost-fiber/CONTROL index 11fc66535e..94684b32c3 100644 --- a/ports/boost-fiber/CONTROL +++ b/ports/boost-fiber/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-fiber -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-algorithm, boost-assert, boost-build, boost-config, boost-context (!uwp), boost-core, boost-detail, boost-filesystem (!uwp), boost-format, boost-intrusive, boost-modular-build-helper, boost-predef, boost-smart-ptr, boost-vcpkg-helpers Homepage: https://github.com/boostorg/fiber Description: Boost fiber module diff --git a/ports/boost-fiber/portfile.cmake b/ports/boost-fiber/portfile.cmake index 269a484491..d190f8c33a 100644 --- a/ports/boost-fiber/portfile.cmake +++ b/ports/boost-fiber/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/fiber - REF boost-1.71.0 - SHA512 a2769012185d1921096058f930687344d88c10508d5507e0e8a6135ee49b5533117574f7a00b86622729326f35a7b8d9c94c896aaa13892510bb8358bebc29c3 + REF boost-1.72.0 + SHA512 687b6f2961c76d0dbae63434fb98beaadc7a88b760e01ce222b73169733739617987d04f25f23cebdae9cbe08cb307ad8529a143e3a44429e09cfc27702fbe98 HEAD_REF master ) diff --git a/ports/boost-filesystem/CONTROL b/ports/boost-filesystem/CONTROL index 143d786ab1..26928fb46c 100644 --- a/ports/boost-filesystem/CONTROL +++ b/ports/boost-filesystem/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-filesystem -Version: 1.71.0 -Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-smart-ptr, boost-system, boost-type-traits, boost-vcpkg-helpers, boost-winapi +Version: 1.72.0 +Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-predef, boost-smart-ptr, boost-system, boost-type-traits, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/filesystem Description: Boost filesystem module diff --git a/ports/boost-filesystem/portfile.cmake b/ports/boost-filesystem/portfile.cmake index 00d2fd51ac..444c524591 100644 --- a/ports/boost-filesystem/portfile.cmake +++ b/ports/boost-filesystem/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/filesystem - REF boost-1.71.0 - SHA512 073756aa9d0143ce5510ed8cc4e6cdbe48ed948ecd2aca4a9a32f697256cd6bf36156dfa0a864498679ceb4051115523b17a04679c8473141a16cc61a1290a59 + REF boost-1.72.0 + SHA512 70bfed38f042982b4802228f612c4f66899466aca0e882c4202bd4574f0d4706c976caeca85ebdb9b4adcf0cb4b627790eea003376d5c1b35c534f794f0078cc HEAD_REF master ) diff --git a/ports/boost-flyweight/CONTROL b/ports/boost-flyweight/CONTROL index 042ab5be6c..351ba11103 100644 --- a/ports/boost-flyweight/CONTROL +++ b/ports/boost-flyweight/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-flyweight -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-functional, boost-interprocess, boost-mpl, boost-multi-index, boost-parameter, boost-preprocessor, boost-serialization, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/flyweight Description: Boost flyweight module diff --git a/ports/boost-flyweight/portfile.cmake b/ports/boost-flyweight/portfile.cmake index e1ea046a32..bbb58008fd 100644 --- a/ports/boost-flyweight/portfile.cmake +++ b/ports/boost-flyweight/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/flyweight - REF boost-1.71.0 - SHA512 7ddd93cc12070faeae30249b30dabf5d5cbd41bb7f0f92531baff163702b9cb53d28a0211b4e9352476576cecd1e1734f2c757c674549dc93f366cb9d60657a3 + REF boost-1.72.0 + SHA512 86c09e92dbf046770d6683ae42b23bf6e37c8b9f39da69adc000d1ad36ddede40a846bd4ae5bcf08cc1ae20291b5dd33fa1fd9f882007f339e2587f1980178fb HEAD_REF master ) diff --git a/ports/boost-foreach/CONTROL b/ports/boost-foreach/CONTROL index 6b5be939d8..6d907c9e6e 100644 --- a/ports/boost-foreach/CONTROL +++ b/ports/boost-foreach/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-foreach -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-detail, boost-iterator, boost-mpl, boost-range, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/foreach Description: Boost foreach module diff --git a/ports/boost-foreach/portfile.cmake b/ports/boost-foreach/portfile.cmake index 6548160c40..593a3bd707 100644 --- a/ports/boost-foreach/portfile.cmake +++ b/ports/boost-foreach/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/foreach - REF boost-1.71.0 - SHA512 d1e1fc7c2099687d5e9e330e4ffe6023d42901317b4b5aa4def72e24e970c44581b5d334b84558e9dd6a5280121a9125bcff562c23ff1ff31dfb6a947b5c187b + REF boost-1.72.0 + SHA512 bc7018bb63678d53df08d909a3538ef1026c7d24610874b5d3ace894eab2258d308209e866b02b1670b5cd84c3a63cea141081057767a2e5927efaa7bedec2f3 HEAD_REF master ) diff --git a/ports/boost-format/CONTROL b/ports/boost-format/CONTROL index 03f10000c5..9e0c7d119c 100644 --- a/ports/boost-format/CONTROL +++ b/ports/boost-format/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-format -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-optional, boost-smart-ptr, boost-throw-exception, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/format Description: Boost format module diff --git a/ports/boost-format/portfile.cmake b/ports/boost-format/portfile.cmake index eb699b719f..89e7b76b79 100644 --- a/ports/boost-format/portfile.cmake +++ b/ports/boost-format/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/format - REF boost-1.71.0 - SHA512 d3410c708439ef8600642091c1e9411ce581740b83cc50cf16323179e01dac012e05039c39bbd4c550f99c1382f2c4984bd480a427200fc364f6891c1a653bea + REF boost-1.72.0 + SHA512 3f34504235e400714d2ca1c152f170d68903808f22970d9372c4221881c58cf4be1f188cf1a4b2ddcd52b79881cdecb0664b7ab66fa7057d529315feedaf0db3 HEAD_REF master ) diff --git a/ports/boost-function-types/CONTROL b/ports/boost-function-types/CONTROL index a0cd3edfbc..9b85172845 100644 --- a/ports/boost-function-types/CONTROL +++ b/ports/boost-function-types/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-function-types -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-detail, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/function_types Description: Boost function_types module diff --git a/ports/boost-function-types/portfile.cmake b/ports/boost-function-types/portfile.cmake index 996033195d..75b0ffe146 100644 --- a/ports/boost-function-types/portfile.cmake +++ b/ports/boost-function-types/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/function_types - REF boost-1.71.0 - SHA512 ef4a02316d2b8c62a71a46626a5247acbf06c389602fb2a039b0e00ee8e5b5f9ab9b0c17c42a9c55235944d172bf1a6cecae69aa92946174f526fc86cb68d530 + REF boost-1.72.0 + SHA512 d1299cd5ad3364c37c08c7432341cb12fa08d03ebe66a26308df326bf1b90114fb8509120d7c379779507a7ca7d06a93f48a0f5e9bed96c15334817afd209590 HEAD_REF master ) diff --git a/ports/boost-function/CONTROL b/ports/boost-function/CONTROL index c85a8354e6..a6cc79b663 100644 --- a/ports/boost-function/CONTROL +++ b/ports/boost-function/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-function -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-integer, boost-preprocessor, boost-throw-exception, boost-type-index, boost-typeof, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/function Description: Boost function module diff --git a/ports/boost-function/portfile.cmake b/ports/boost-function/portfile.cmake index 30862141ac..99191e3150 100644 --- a/ports/boost-function/portfile.cmake +++ b/ports/boost-function/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/function - REF boost-1.71.0 - SHA512 0db3b4c47771628c4e59f88295ffe2898e805d579efbb49c9943d910a56f99f9f41c538c317e30669c74fe3365632bbfd9779ff1f9503fe197218fe4b04b544e + REF boost-1.72.0 + SHA512 bc2b78954c9a0a0ebbf9513132698c67aa39da903099faf922ae769e9f3a70e78c951fca9f35d3f3e9bfc14750ab47f2ae222f9c676a55a770edd6352e91e778 HEAD_REF master ) diff --git a/ports/boost-functional/CONTROL b/ports/boost-functional/CONTROL index bb127bdc50..4184c15397 100644 --- a/ports/boost-functional/CONTROL +++ b/ports/boost-functional/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-functional -Version: 1.71.0 -Build-Depends: boost-config, boost-core, boost-iterator, boost-mpl, boost-preprocessor, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Version: 1.72.0 +Build-Depends: boost-config, boost-core, boost-mpl, boost-preprocessor, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/functional Description: Boost functional module diff --git a/ports/boost-functional/portfile.cmake b/ports/boost-functional/portfile.cmake index d433180440..c4cb152e92 100644 --- a/ports/boost-functional/portfile.cmake +++ b/ports/boost-functional/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/functional - REF boost-1.71.0 - SHA512 a9fe748c8b712ea05bff9b2366d7e85b97b5183d8462d26231763c5c4c09425fefc063ad48bbc0744786c570d9b7c914394d09e328b93d313f8467476e00a84f + REF boost-1.72.0 + SHA512 930c4cbd930511157e28e6587208093b3af2cd61b0657f3e08dc2628502575d2753c0c8ce87eedc5382c880bdf394666abef36833f510784f91f9d60213f998d HEAD_REF master ) diff --git a/ports/boost-fusion/CONTROL b/ports/boost-fusion/CONTROL index 28a071805e..f1a878f529 100644 --- a/ports/boost-fusion/CONTROL +++ b/ports/boost-fusion/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-fusion -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-container-hash, boost-core, boost-detail, boost-function-types, boost-mpl, boost-preprocessor, boost-static-assert, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/fusion Description: Boost fusion module diff --git a/ports/boost-fusion/portfile.cmake b/ports/boost-fusion/portfile.cmake index 8ac7b99398..f4fa102110 100644 --- a/ports/boost-fusion/portfile.cmake +++ b/ports/boost-fusion/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/fusion - REF boost-1.71.0 - SHA512 070ccb2b37197508073603375454de98c8bf70cc0d5087f8318df828d4afa756c9781737426d626a4ebe7377b07114d849d50181372ee657a03b7920db0dc723 + REF boost-1.72.0 + SHA512 09fea2ec1c698d776555b4aecf9cff4fcfe503bcc8639574070a2ea7b5ecea26358d005e1aa3b704af96b4086e64181ccbe07e7005b16b5c307bafb15aea4949 HEAD_REF master ) diff --git a/ports/boost-geometry/CONTROL b/ports/boost-geometry/CONTROL index bdf0fc194b..3bfa9f6a38 100644 --- a/ports/boost-geometry/CONTROL +++ b/ports/boost-geometry/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-geometry -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-algorithm, boost-array, boost-assert, boost-concept-check, boost-config, boost-container, boost-core, boost-detail, boost-function-types, boost-fusion, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-multiprecision, boost-numeric-conversion, boost-polygon, boost-qvm, boost-range, boost-rational, boost-serialization, boost-smart-ptr, boost-static-assert, boost-thread, boost-throw-exception, boost-tokenizer, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/geometry Description: Boost geometry module diff --git a/ports/boost-geometry/portfile.cmake b/ports/boost-geometry/portfile.cmake index a3ad21a318..f35cacccc6 100644 --- a/ports/boost-geometry/portfile.cmake +++ b/ports/boost-geometry/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/geometry - REF boost-1.71.0 - SHA512 13b5ef6db1ac3a0d6138a71ec1a5f0b8990ee106c496c2380ce979c438351ff63e4974d8157b67fc7dd9df07c777ff708909c84118a134aaff00c3289a40c04b + REF boost-1.72.0 + SHA512 027ebad1216d88689d3f400417f8c81600c82e18f68720fc25ee6c609a30b2e4f0810cdc08b5f72cb4e89a279970fd7523794325b6e9456e023d27cb76f35f51 HEAD_REF master ) diff --git a/ports/boost-gil/CONTROL b/ports/boost-gil/CONTROL index b4e9e251be..b19f7905c4 100644 --- a/ports/boost-gil/CONTROL +++ b/ports/boost-gil/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-gil -Version: 1.71.0 -Build-Depends: boost-assert, boost-concept-check, boost-config, boost-core, boost-filesystem (!uwp), boost-integer, boost-iterator, boost-mpl, boost-numeric-conversion, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers +Version: 1.72.0 +Build-Depends: boost-assert, boost-concept-check, boost-config, boost-core, boost-filesystem (!uwp), boost-integer, boost-iterator, boost-mp11, boost-mpl, boost-numeric-conversion, boost-preprocessor, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/gil Description: Boost gil module diff --git a/ports/boost-gil/portfile.cmake b/ports/boost-gil/portfile.cmake index aedc111149..09349c6436 100644 --- a/ports/boost-gil/portfile.cmake +++ b/ports/boost-gil/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/gil - REF boost-1.71.0 - SHA512 fc0cc2b4afec5cd24fe9ef4da56da7901735165240b5ed6edb6d03bd095502964829e9f774151fbb04d2dabd7a46660b04ada26a3be299a16e616a62a355e4cf + REF boost-1.72.0 + SHA512 b90e6b47372b40bbc813c187e94f8263a5879e872fe06d93d90fe98f57407acf5e3b63b6382eb11df2bd5608b16e0a627251186e45305bf033c13f5497374ce8 HEAD_REF master ) diff --git a/ports/boost-graph-parallel/CONTROL b/ports/boost-graph-parallel/CONTROL index 6ab3a5496d..192c59948d 100644 --- a/ports/boost-graph-parallel/CONTROL +++ b/ports/boost-graph-parallel/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-graph-parallel -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container-hash, boost-detail, boost-dynamic-bitset, boost-filesystem (!uwp), boost-foreach, boost-function, boost-graph, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/graph_parallel Description: Boost graph_parallel module diff --git a/ports/boost-graph-parallel/portfile.cmake b/ports/boost-graph-parallel/portfile.cmake index c9f9c6f431..d76362bb7c 100644 --- a/ports/boost-graph-parallel/portfile.cmake +++ b/ports/boost-graph-parallel/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/graph_parallel - REF boost-1.71.0 - SHA512 ca7d51c551c41651e9d50843b2f3decc2fe42f2cab1a071e8d1007d4f1a048e0e63290af5f167fa81330f90f24ddc1f50feadf5716c7e34a23b9eef9d5516d68 + REF boost-1.72.0 + SHA512 8ef6e2df93a6df52f03cde0ea42cb028c97c4f0be668b8baaf7f3447eef577f8272824afd9c990c61338bc2816824cb01fc7568906f1f621a0b2bb4bfcb48d26 HEAD_REF master ) diff --git a/ports/boost-graph/CONTROL b/ports/boost-graph/CONTROL index 9e276d9dba..672a188d77 100644 --- a/ports/boost-graph/CONTROL +++ b/ports/boost-graph/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-graph -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-algorithm, boost-any, boost-array, boost-assert, boost-bimap, boost-bind, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-container-hash, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-preprocessor, boost-property-map, boost-property-tree, boost-random, boost-range, boost-regex, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-test (!uwp), boost-throw-exception, boost-tti, boost-tuple, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers, boost-xpressive Homepage: https://github.com/boostorg/graph Description: Boost graph module diff --git a/ports/boost-graph/portfile.cmake b/ports/boost-graph/portfile.cmake index ace1d9d35d..db6b6ab40c 100644 --- a/ports/boost-graph/portfile.cmake +++ b/ports/boost-graph/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/graph - REF boost-1.71.0 - SHA512 b05aa443a12b3aacf9c0f820f44d3b019afa2b24d9a42e788983a19af8ae9d37714956c44f480048878a8d707fd48b9cccc01f5cbd1d9b4bc02f6556efae27ff + REF boost-1.72.0 + SHA512 2ee57a6f418f3da68024dce4684f3b7541eed44b694d85f1fc71e784baee19e4c91234bfc198462937f8ce0625027fc5b51db956756dc07e17ec33b049d04c8f HEAD_REF master ) diff --git a/ports/boost-hana/CONTROL b/ports/boost-hana/CONTROL index ec46c53005..d9240c29f3 100644 --- a/ports/boost-hana/CONTROL +++ b/ports/boost-hana/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-hana -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-fusion, boost-mpl, boost-tuple, boost-vcpkg-helpers Homepage: https://github.com/boostorg/hana Description: Boost hana module diff --git a/ports/boost-hana/portfile.cmake b/ports/boost-hana/portfile.cmake index 5ffb9a15ae..db29d0bc4f 100644 --- a/ports/boost-hana/portfile.cmake +++ b/ports/boost-hana/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/hana - REF boost-1.71.0 - SHA512 1b7d0c16b074ee1862819f5584626f249062f1e677b16a7112316c5e57339450cae69c5de2bb67c01cad9a2780a78b2d8620a72971a0a9cfce1ec9365a24ea01 + REF boost-1.72.0 + SHA512 aeb76085f7f37cb9c862c0aadddef6710123abf263e1b1ea2911c93a8fe0b9541baac01b5dfdf6fb5b35a77f9f225b810feba6c59c02f49eb440fc906043e3ed HEAD_REF master ) diff --git a/ports/boost-heap/CONTROL b/ports/boost-heap/CONTROL index 24743ad1bf..f785322b8b 100644 --- a/ports/boost-heap/CONTROL +++ b/ports/boost-heap/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-heap -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-assert, boost-bind, boost-concept-check, boost-integer, boost-intrusive, boost-iterator, boost-parameter, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/heap Description: Boost heap module diff --git a/ports/boost-heap/portfile.cmake b/ports/boost-heap/portfile.cmake index bbf05ac124..bde09f4c2a 100644 --- a/ports/boost-heap/portfile.cmake +++ b/ports/boost-heap/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/heap - REF boost-1.71.0 - SHA512 0dfb03942692ea5e30aba112c78d96c6c6057e1f23717b3686ef98639aa4bda5bddd80ffdc792b4d0885ed592127f59734725a34d240e6aa6a6644e60e40c83b + REF boost-1.72.0 + SHA512 97afd5a1081deace5cdfbabb58d0b1d3fda09c496e086aa38de29efcd6253ce491db21c64267b01c7f6d2c67ba508447dcdee0949c4ef8141010e0e2c97d66bb HEAD_REF master ) diff --git a/ports/boost-histogram/CONTROL b/ports/boost-histogram/CONTROL index c6af73ef15..439a50983d 100644 --- a/ports/boost-histogram/CONTROL +++ b/ports/boost-histogram/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-histogram -Version: 1.71.0 -Build-Depends: boost-assert, boost-callable-traits, boost-config, boost-core, boost-mp11, boost-serialization, boost-throw-exception, boost-variant2, boost-vcpkg-helpers +Version: 1.72.0 +Build-Depends: boost-assert, boost-config, boost-core, boost-mp11, boost-serialization, boost-throw-exception, boost-variant2, boost-vcpkg-helpers Homepage: https://github.com/boostorg/histogram Description: Boost histogram module diff --git a/ports/boost-histogram/portfile.cmake b/ports/boost-histogram/portfile.cmake index de1464241e..4ed3dc97eb 100644 --- a/ports/boost-histogram/portfile.cmake +++ b/ports/boost-histogram/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/histogram - REF boost-1.71.0 - SHA512 62b5b578cce46efe45fccad2074e18b3c745d76b2687fa63166c7723961ab7910179f4720778e177cf7618522758fad8e1e00d9de39bcc6610c27873a406c8cf + REF boost-1.72.0 + SHA512 b33a8728012eaa98d9b7da9cfb20baecbdc53f08dad150a669ba3c94a13d08f3b5ffab803dd961124e7ed2c9d6c4de8ae3c71ef317fa97eb8a7383f76cf06d6a HEAD_REF master ) diff --git a/ports/boost-hof/CONTROL b/ports/boost-hof/CONTROL index a127375e73..67555de696 100644 --- a/ports/boost-hof/CONTROL +++ b/ports/boost-hof/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-hof -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/hof Description: Boost hof module diff --git a/ports/boost-hof/portfile.cmake b/ports/boost-hof/portfile.cmake index cec916db12..5076a57a5d 100644 --- a/ports/boost-hof/portfile.cmake +++ b/ports/boost-hof/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/hof - REF boost-1.71.0 - SHA512 c6d95b3d7a37af70784da64f977be05f0ba77edbebfd750faae354f74e318e5d725d6e5e5e53ca1e1152ef1847b0108269440bff4edcbc150b08c64f919df4c6 + REF boost-1.72.0 + SHA512 69395b84e8deecb636b81654c6957f159d22505c50a2e96510e412bc0e4bfee2bb14c030b292d4dc8902740e6e5a5ee63ea3b018598ceb77d012fa0ff29ef795 HEAD_REF master ) diff --git a/ports/boost-icl/CONTROL b/ports/boost-icl/CONTROL index 0a25e4ed4d..10bd520c16 100644 --- a/ports/boost-icl/CONTROL +++ b/ports/boost-icl/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-icl -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-concept-check, boost-config, boost-container, boost-date-time, boost-detail, boost-iterator, boost-move, boost-mpl, boost-range, boost-rational, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/icl Description: Boost icl module diff --git a/ports/boost-icl/portfile.cmake b/ports/boost-icl/portfile.cmake index e72735db73..e75c57a76a 100644 --- a/ports/boost-icl/portfile.cmake +++ b/ports/boost-icl/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/icl - REF boost-1.71.0 - SHA512 a9a7d11343eb49068740e3bb09873b375eac77519876ad9ffc4bd4cfcfb515e8af053088fe9b130d4850fc3eccd035ed1d247610c685e875156cfb5c31c64c9c + REF boost-1.72.0 + SHA512 dd5666d04a3c849a5f59eccba767e2b733673a39851b67cab0e6cfb708be5f6fc1fdda6f9e1d29def1ca267533586ed0fdc2ece47048fb601556edfa1357131b HEAD_REF master ) diff --git a/ports/boost-integer/CONTROL b/ports/boost-integer/CONTROL index 8172a96a40..4b21567f33 100644 --- a/ports/boost-integer/CONTROL +++ b/ports/boost-integer/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-integer -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers Homepage: https://github.com/boostorg/integer Description: Boost integer module diff --git a/ports/boost-integer/portfile.cmake b/ports/boost-integer/portfile.cmake index 5d15f9fafa..246ac0e116 100644 --- a/ports/boost-integer/portfile.cmake +++ b/ports/boost-integer/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/integer - REF boost-1.71.0 - SHA512 0899a11cd4ff41a6f70dba0971e973c9316fd60f6d055c8e7d5de24f6aec254a81d7dfa2d80187542d7c8046c685e3ee50adb826b9194a5c5ae982d26b265ff5 + REF boost-1.72.0 + SHA512 942d0b402ae206908c8fa0a5b0705196acf5c9d1068d3e5aba92a11257afbe5fd4d95aaf6c50353bdde6346c6cf5e336db461b81faa3ff81f12b729c4af1fff6 HEAD_REF master ) diff --git a/ports/boost-interprocess/CONTROL b/ports/boost-interprocess/CONTROL index f324cf1082..8f336d69c1 100644 --- a/ports/boost-interprocess/CONTROL +++ b/ports/boost-interprocess/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-interprocess -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-integer, boost-intrusive, boost-move, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/interprocess Description: Boost interprocess module diff --git a/ports/boost-interprocess/portfile.cmake b/ports/boost-interprocess/portfile.cmake index 5d24493d4c..e394de9a55 100644 --- a/ports/boost-interprocess/portfile.cmake +++ b/ports/boost-interprocess/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/interprocess - REF boost-1.71.0 - SHA512 77eb6c9a04708655fc80e40492c40b1608e61e10f37b2bb66bbe69603bc38fc9588659a3980ee7d6b954e13d7216960df81304675573c7561eded1e5c06f547d + REF boost-1.72.0 + SHA512 8fddddfe852d8ee34be5d604c18f6922ca3f80cff97437cbc07250e976825876b491d1f3567d83ababa590fcb749e51876a7712ba3431237d5dda980feea8f40 HEAD_REF master ) diff --git a/ports/boost-interval/CONTROL b/ports/boost-interval/CONTROL index e195893d1f..0f2de0c453 100644 --- a/ports/boost-interval/CONTROL +++ b/ports/boost-interval/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-interval -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-compatibility, boost-config, boost-logic, boost-vcpkg-helpers Homepage: https://github.com/boostorg/interval Description: Boost interval module diff --git a/ports/boost-interval/portfile.cmake b/ports/boost-interval/portfile.cmake index e092eb0572..363dcbb44d 100644 --- a/ports/boost-interval/portfile.cmake +++ b/ports/boost-interval/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/interval - REF boost-1.71.0 - SHA512 95863f6851114e878b59537ea8f5314064436899b90a39c3357521faf79181ca0f3a833c7a8d3fc873b804e5b9c16221edbff94716b3d5287af831aed40b97d4 + REF boost-1.72.0 + SHA512 f23960679409b1a23feb80eaba02a22902dcb1296317730b43a000c6cf94b2738b2a1e5323f9d1ec3ecc8f64d09ce646b40b529cebe7d733a22d3548c0f80589 HEAD_REF master ) diff --git a/ports/boost-intrusive/CONTROL b/ports/boost-intrusive/CONTROL index 28c3d9ccb9..50952bba14 100644 --- a/ports/boost-intrusive/CONTROL +++ b/ports/boost-intrusive/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-intrusive -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-container-hash, boost-core, boost-integer, boost-move, boost-static-assert, boost-vcpkg-helpers Homepage: https://github.com/boostorg/intrusive Description: Boost intrusive module diff --git a/ports/boost-intrusive/portfile.cmake b/ports/boost-intrusive/portfile.cmake index 1bec95fdf5..3d13589870 100644 --- a/ports/boost-intrusive/portfile.cmake +++ b/ports/boost-intrusive/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/intrusive - REF boost-1.71.0 - SHA512 014c01b32ed3244a2b0e59ff31ab0fbbc9823eaa87eaffd869f68a5a0937d763194a356898a45f2c167e1c47a5200a9c25d2349044139d4781f9108baf22d05f + REF boost-1.72.0 + SHA512 f9c944cb189674ab8841def895c6b2213d6d500e9e366abe3a8ff91245561f3752411ff1ba29ad8bc0db37807ebc7fea4feccc6ad6ea04ebe43b928d384340ff HEAD_REF master ) diff --git a/ports/boost-io/CONTROL b/ports/boost-io/CONTROL index 7fd2331beb..67c9ac8347 100644 --- a/ports/boost-io/CONTROL +++ b/ports/boost-io/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-io -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/io Description: Boost io module diff --git a/ports/boost-io/portfile.cmake b/ports/boost-io/portfile.cmake index c0430007af..ac0d93d799 100644 --- a/ports/boost-io/portfile.cmake +++ b/ports/boost-io/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/io - REF boost-1.71.0 - SHA512 696a3ab052f5374c774744ead83e5a1acef33e681dcd58c2b1368e4f76a26ef7f6f53fcd178d6e7418f1377d1105d22a756dad0acbb4b06f3ba8624f2aa65c8d + REF boost-1.72.0 + SHA512 256549487e7cff387005eca8b654bc23664921800c94f71555119506b6dd10ba947d73c01171d9acc6cb867f6feb0e4b9c9e3c43371fa8ec82e321a40a5949b3 HEAD_REF master ) diff --git a/ports/boost-iostreams/CONTROL b/ports/boost-iostreams/CONTROL index 4e589238ef..2a210483aa 100644 --- a/ports/boost-iostreams/CONTROL +++ b/ports/boost-iostreams/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-iostreams -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-bind, boost-build, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-modular-build-helper, boost-mpl, boost-numeric-conversion, boost-preprocessor, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, bzip2, liblzma, zlib, zstd Homepage: https://github.com/boostorg/iostreams Description: Boost iostreams module diff --git a/ports/boost-iostreams/portfile.cmake b/ports/boost-iostreams/portfile.cmake index 268064df7d..d6412d2542 100644 --- a/ports/boost-iostreams/portfile.cmake +++ b/ports/boost-iostreams/portfile.cmake @@ -5,14 +5,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/iostreams - REF boost-1.71.0 - SHA512 229f4afdf5909bfc83527990862f56c7edf06cb30d511f425d4112809cd21d1d436177ebb0853cf12ad48a49d445364a2cee97a8f0b2fb14c0dc94fa746a5876 + REF boost-1.72.0 + SHA512 a1a57e7cd985f5962a96fc93d286a64065611dea1a17fdfe696455556f176b9429e4aaf2a5035808a40d0fb7e8dfb874ac6f2ddc33ecc44c25a8089034960403 HEAD_REF master PATCHES Removeseekpos.patch ) vcpkg_download_distfile(LICENSE - URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.70.0/LICENSE_1_0.txt" + URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.72.0/LICENSE_1_0.txt" FILENAME "boost_LICENSE_1_0.txt" SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 ) diff --git a/ports/boost-iterator/CONTROL b/ports/boost-iterator/CONTROL index 8146edbc2f..ced432dae8 100644 --- a/ports/boost-iterator/CONTROL +++ b/ports/boost-iterator/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-iterator -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-conversion, boost-core, boost-detail, boost-function-types, boost-fusion, boost-mpl, boost-optional, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/iterator Description: Boost iterator module diff --git a/ports/boost-iterator/portfile.cmake b/ports/boost-iterator/portfile.cmake index 48a50d6320..2412c3312f 100644 --- a/ports/boost-iterator/portfile.cmake +++ b/ports/boost-iterator/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/iterator - REF boost-1.71.0 - SHA512 7ed3e0e63fc2f63e0972ce838736cad883617d759d8ea54122b7fabfd0b6c9aadc3d5d5c50a9738353a905a88f23bb8dd40e12efd431a53f51cf17e3ccf602f8 + REF boost-1.72.0 + SHA512 67f703777a0995263855af69a80ded81e151700a18daf141bea86243c0f9443c3a0110248c3c95c0bd0b575004eac618faff4f8a66820aac42d83ac03a152e3a HEAD_REF master ) diff --git a/ports/boost-lambda/CONTROL b/ports/boost-lambda/CONTROL index 5332298961..2854625231 100644 --- a/ports/boost-lambda/CONTROL +++ b/ports/boost-lambda/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-lambda -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-bind, boost-config, boost-detail, boost-mpl, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/lambda Description: Boost lambda module diff --git a/ports/boost-lambda/portfile.cmake b/ports/boost-lambda/portfile.cmake index 688024a7bc..0275fb93c1 100644 --- a/ports/boost-lambda/portfile.cmake +++ b/ports/boost-lambda/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/lambda - REF boost-1.71.0 - SHA512 222f8b6b877c0229793c97b84c8e55edfeb8c2bd21ac5f759132ff12413d064be6ffae3015e2c2c6f2c42bcb5386124eb553a494f25fbfa07633a9a43d0fa626 + REF boost-1.72.0 + SHA512 b3b8cdc06742e17a53bef0c778c826803654052151c53cc22364078ed8fc12a2054bdf76f9926367b0017e1caca1058c6502260796a9a91124531bd8b506ca45 HEAD_REF master ) diff --git a/ports/boost-lexical-cast/CONTROL b/ports/boost-lexical-cast/CONTROL index 32b74dcc3d..0a38532ba8 100644 --- a/ports/boost-lexical-cast/CONTROL +++ b/ports/boost-lexical-cast/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-lexical-cast -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-detail, boost-integer, boost-numeric-conversion, boost-range, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/lexical_cast Description: Boost lexical_cast module diff --git a/ports/boost-lexical-cast/portfile.cmake b/ports/boost-lexical-cast/portfile.cmake index fbcfe70544..067954b96e 100644 --- a/ports/boost-lexical-cast/portfile.cmake +++ b/ports/boost-lexical-cast/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/lexical_cast - REF boost-1.71.0 - SHA512 68b95cedb0b2336a2c6d221a1e66587c0c9d0db2a2219f3c422ed55ecee24c1bb6014b773385c68618544b0c93da399e37978d13e211dfa323cdebe5c9f87513 + REF boost-1.72.0 + SHA512 6bd9006eaf146f727017560ce570468c41456752687d4fc2067985828113c56fdcd8e73eb26418dac30f992def99fa042f42cfadcd992f45d4c802909c6f53f6 HEAD_REF master ) diff --git a/ports/boost-local-function/CONTROL b/ports/boost-local-function/CONTROL index 9b2fb1aa6e..9ea917c5e4 100644 --- a/ports/boost-local-function/CONTROL +++ b/ports/boost-local-function/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-local-function -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-mpl, boost-preprocessor, boost-scope-exit, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/local_function Description: Boost local_function module diff --git a/ports/boost-local-function/portfile.cmake b/ports/boost-local-function/portfile.cmake index e265d421af..7104038ad8 100644 --- a/ports/boost-local-function/portfile.cmake +++ b/ports/boost-local-function/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/local_function - REF boost-1.71.0 - SHA512 9e4e08e1aac0db4f2db946de9b94152437423f1c514cb1d9cd8f5b81c18fa41bce832b8936efd4bab0357a0d1c1f2254205ace649afd879b9679c7868e0041d4 + REF boost-1.72.0 + SHA512 548e0be8f20e9920a5a7868224e723885a251ba3685759630a1f4025682ac1df54a3d6641192fc03a3b48a89039bef8dab4812957fd9ed5873b9124edb589b97 HEAD_REF master ) diff --git a/ports/boost-locale/CONTROL b/ports/boost-locale/CONTROL index 8768a4c1ce..bd20f12833 100644 --- a/ports/boost-locale/CONTROL +++ b/ports/boost-locale/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-locale -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-build, boost-config, boost-function, boost-integer, boost-iterator, boost-modular-build-helper, boost-smart-ptr, boost-static-assert, boost-system, boost-thread, boost-type-traits, boost-unordered, boost-vcpkg-helpers, libiconv (!uwp&!windows) Homepage: https://github.com/boostorg/locale Description: Boost locale module diff --git a/ports/boost-locale/portfile.cmake b/ports/boost-locale/portfile.cmake index 13cdd2e41a..569e0acdf0 100644 --- a/ports/boost-locale/portfile.cmake +++ b/ports/boost-locale/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/locale - REF boost-1.71.0 - SHA512 392663718ca3cc2076c675701a6df61836a4bce25d48391c7e59dabe23dbcb365f496b9f44ffe2722bb8bcf60e7b93fd313418e9bbad4a84ac38d596c6b767e4 + REF boost-1.72.0 + SHA512 a32a92b4d393f31ca6ba35ceb3d8802b4764e8aa9c8ff5417f3a0f0c886f473b635d613af743764d244459dccb4e285ac6fa50a9eed8d10183fa9954c131b85d HEAD_REF master ) diff --git a/ports/boost-lockfree/CONTROL b/ports/boost-lockfree/CONTROL index 8740507691..c98dd8e168 100644 --- a/ports/boost-lockfree/CONTROL +++ b/ports/boost-lockfree/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-lockfree -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-align, boost-array, boost-assert, boost-atomic, boost-config, boost-core, boost-integer, boost-mpl, boost-parameter, boost-predef, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/lockfree Description: Boost lockfree module diff --git a/ports/boost-lockfree/portfile.cmake b/ports/boost-lockfree/portfile.cmake index bf536e555c..73b225a119 100644 --- a/ports/boost-lockfree/portfile.cmake +++ b/ports/boost-lockfree/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/lockfree - REF boost-1.71.0 - SHA512 b7385d67291dcc2a9dc8b98e2ed31f43a203b74c3d2a8a9247b4c1c18545285a04abc17fd3204e6189f1629932da028ac81c263b4a283451cefec85821c9708e + REF boost-1.72.0 + SHA512 c77d8e8f4aa78b06ba67992352cbdc49203ea8ec56adcf535ce9b17f1126c08baf903b07cbf3023c7ce49ebb6d8ded094a30b74a6418fe1588c8feb972f22c01 HEAD_REF master ) diff --git a/ports/boost-log/CONTROL b/ports/boost-log/CONTROL index 1b278419e7..f04a5309c3 100644 --- a/ports/boost-log/CONTROL +++ b/ports/boost-log/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-log -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-align, boost-array, boost-asio, boost-assert, boost-atomic, boost-bind, boost-build, boost-compatibility, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-exception, boost-filesystem (!uwp), boost-function-types, boost-fusion, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iterator, boost-lexical-cast, boost-locale (!uwp), boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-parameter, boost-phoenix, boost-predef, boost-preprocessor, boost-property-tree, boost-proto, boost-random, boost-range, boost-regex, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-thread, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi, boost-xpressive Homepage: https://github.com/boostorg/log Description: Boost log module diff --git a/ports/boost-log/portfile.cmake b/ports/boost-log/portfile.cmake index 701bac9817..f6b1208abc 100644 --- a/ports/boost-log/portfile.cmake +++ b/ports/boost-log/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/log - REF boost-1.71.0 - SHA512 ef3811c08e6fe9aa33ef46ca681b0b6e4c490bb99f7f0e53c100ca232ff29cf32db7c64928737347003578c91f5d3682547dc2305fbfe6d3771afd16e65b5e7e + REF boost-1.72.0 + SHA512 e6f0d5cdad916e8afc07129ab92b8d0b4e3290708e019fce242d0efa1cbc6a2390d58e19fc01a4044ea5317d5f896d8286bf6a83a99151bc1faf6c162755f44b HEAD_REF master ) diff --git a/ports/boost-logic/CONTROL b/ports/boost-logic/CONTROL index acfc7cc4ab..d9c55e9d9e 100644 --- a/ports/boost-logic/CONTROL +++ b/ports/boost-logic/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-logic -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/logic Description: Boost logic module diff --git a/ports/boost-logic/portfile.cmake b/ports/boost-logic/portfile.cmake index 567cf160ae..83dd01e4a2 100644 --- a/ports/boost-logic/portfile.cmake +++ b/ports/boost-logic/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/logic - REF boost-1.71.0 - SHA512 ba9946a7abfe04d81336b8bdd63675afd5eb848624669058e38dfecb0be3f2fa5fdef690edabd6e6596e1df466bcb565a784720c6e7e9abc98d8b15e2fb3ce5b + REF boost-1.72.0 + SHA512 33ab03b3f6dd040ba79001040e4580d5fb1844c6dd42200103de2866f3a4074926b59df48763adb3333f7479f0f4f6e833e8908ae2a756dcd5ddfc7c8ddf93bc HEAD_REF master ) diff --git a/ports/boost-math/CONTROL b/ports/boost-math/CONTROL index df5c1fbea6..bd2e5d2300 100644 --- a/ports/boost-math/CONTROL +++ b/ports/boost-math/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-math -Version: 1.71.0 -Build-Depends: boost-array, boost-assert, boost-atomic, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-integer, boost-lambda, boost-lexical-cast, boost-modular-build-helper, boost-mp11, boost-mpl, boost-multiprecision, boost-predef, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers +Version: 1.72.0 +Build-Depends: boost-array, boost-assert, boost-atomic, boost-build, boost-chrono, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-integer, boost-lambda, boost-lexical-cast, boost-modular-build-helper, boost-mp11, boost-mpl, boost-predef, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/math Description: Boost math module diff --git a/ports/boost-math/portfile.cmake b/ports/boost-math/portfile.cmake index ef1636f46d..946dc10aa2 100644 --- a/ports/boost-math/portfile.cmake +++ b/ports/boost-math/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/math - REF boost-1.71.0 - SHA512 b6c21f8f7501bf8df2a7b9b4cb23bb10a4852041bd5c4692f6cceee371acce4e19713aaccbaddbaab0f3d08d6607d3e41c6f82b105728686bc382369c4ba897d + REF boost-1.72.0 + SHA512 8d3372675d8943fa08b4fb5461947e8c909917307dad674edd6e695dd17b249fa18b1653346fe31d1c54445fa23a6658c5967008f6bd3e6ff831c03b08b1545d HEAD_REF master ) diff --git a/ports/boost-metaparse/CONTROL b/ports/boost-metaparse/CONTROL index 0e7ccd18f3..0f42ea9c1b 100644 --- a/ports/boost-metaparse/CONTROL +++ b/ports/boost-metaparse/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-metaparse -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-mpl, boost-predef, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/metaparse Description: Boost metaparse module diff --git a/ports/boost-metaparse/portfile.cmake b/ports/boost-metaparse/portfile.cmake index a9cd7137de..e86e54f6c7 100644 --- a/ports/boost-metaparse/portfile.cmake +++ b/ports/boost-metaparse/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/metaparse - REF boost-1.71.0 - SHA512 3a3d2dc57151c57426c4a4f7bd4543714dc44e1792f2400ff5629938d187a64ec4a86d1133f2773c19000eddbbcaa52f06e0d3ea5cfa8cf0fb5adf8a6ada47ca + REF boost-1.72.0 + SHA512 a52d7587f5988e14cad52d1720a7d380db4cf4253e0fb3f5b049a512f46a49c52536d7a5b56be7b48548c8bbbad80e74db64c07e8377399667221212af7aa27a HEAD_REF master ) diff --git a/ports/boost-modular-build-helper/CONTROL b/ports/boost-modular-build-helper/CONTROL index c468d11f18..823e81e7f6 100644 --- a/ports/boost-modular-build-helper/CONTROL +++ b/ports/boost-modular-build-helper/CONTROL @@ -1,2 +1,2 @@ Source: boost-modular-build-helper -Version: 1.71.0-1 +Version: 1.72.0 diff --git a/ports/boost-modular-build-helper/Jamroot.jam b/ports/boost-modular-build-helper/Jamroot.jam index b39bdc4935..688303b197 100644 --- a/ports/boost-modular-build-helper/Jamroot.jam +++ b/ports/boost-modular-build-helper/Jamroot.jam @@ -1,5 +1,5 @@ -constant BOOST_VERSION : 1.71.0 ; -constant BOOST_VERSION_ABI_TAG : 1_71 ; +constant BOOST_VERSION : 1.72.0 ; +constant BOOST_VERSION_ABI_TAG : 1_72 ; constant BOOST_JAMROOT_MODULE : $(__name__) ; import boostcpp ; diff --git a/ports/boost-modular-build-helper/boost-modular-build.cmake b/ports/boost-modular-build-helper/boost-modular-build.cmake index 59db753121..391f1793c9 100644 --- a/ports/boost-modular-build-helper/boost-modular-build.cmake +++ b/ports/boost-modular-build-helper/boost-modular-build.cmake @@ -151,6 +151,8 @@ function(boost_modular_build) -q "-sZLIB_INCLUDE=${CURRENT_INSTALLED_DIR}/include" "-sBZIP2_INCLUDE=${CURRENT_INSTALLED_DIR}/include" + "-sLZMA_INCLUDE=${CURRENT_INSTALLED_DIR}/include" + "-sZSTD_INCLUDE=${CURRENT_INSTALLED_DIR}/include" threading=multi ) if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") @@ -163,6 +165,10 @@ function(boost_modular_build) "-sZLIB_LIBPATH=${CURRENT_INSTALLED_DIR}/debug/lib" -sBZIP2_BINARY=bz2d "-sBZIP2_LIBPATH=${CURRENT_INSTALLED_DIR}/debug/lib" + -sLZMA_BINARY=lzmad + "-sLZMA_LIBPATH=${CURRENT_INSTALLED_DIR}/debug/lib" + -sZSTD_BINARY=zstdd + "-sZSTD_LIBPATH=${CURRENT_INSTALLED_DIR}/debug/lib" ) set(_bm_OPTIONS_REL @@ -170,6 +176,10 @@ function(boost_modular_build) "-sZLIB_LIBPATH=${CURRENT_INSTALLED_DIR}/lib" -sBZIP2_BINARY=bz2 "-sBZIP2_LIBPATH=${CURRENT_INSTALLED_DIR}/lib" + -sLZMA_BINARY=lzma + "-sLZMA_LIBPATH=${CURRENT_INSTALLED_DIR}/lib" + -sZSTD_BINARY=zstd + "-sZSTD_LIBPATH=${CURRENT_INSTALLED_DIR}/lib" ) # Properly handle compiler and linker flags passed by VCPKG @@ -357,8 +367,7 @@ function(boost_modular_build) string(REPLACE "-x64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries string(REPLACE "-a32-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries string(REPLACE "-a64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries - string(REPLACE "-1_71" "" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake > 3.10 to locate the binaries - string(REPLACE "_python3-" "_python-" NEW_FILENAME ${NEW_FILENAME}) + string(REPLACE "-1_72" "" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake > 3.10 to locate the binaries if("${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}" STREQUAL "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}") # nothing to do elseif(EXISTS ${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}) diff --git a/ports/boost-move/CONTROL b/ports/boost-move/CONTROL index 8b92723140..0c05fa9629 100644 --- a/ports/boost-move/CONTROL +++ b/ports/boost-move/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-move -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-static-assert, boost-vcpkg-helpers Homepage: https://github.com/boostorg/move Description: Boost move module diff --git a/ports/boost-move/portfile.cmake b/ports/boost-move/portfile.cmake index 95ff4310c5..ab131e299d 100644 --- a/ports/boost-move/portfile.cmake +++ b/ports/boost-move/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/move - REF boost-1.71.0 - SHA512 658b6420f783cba796480444000d31d81bdf267c303c7c60498589979b71d146307f4352de5208ab74e007b31783db34fd00f6fc7ccae7bbe8d8bfb92d87e5ba + REF boost-1.72.0 + SHA512 91bef5ad3b3d99ca90915a443e9fe2e8a21a8bed13446b3a9c57a3d9518f75a366cea171e727bdeee974dba5d7753aa1a42a4ec49de92a72c67d1a09acccd339 HEAD_REF master ) diff --git a/ports/boost-mp11/CONTROL b/ports/boost-mp11/CONTROL index f92a6e91b8..a9dd74d580 100644 --- a/ports/boost-mp11/CONTROL +++ b/ports/boost-mp11/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-mp11 -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/mp11 Description: Boost mp11 module diff --git a/ports/boost-mp11/portfile.cmake b/ports/boost-mp11/portfile.cmake index 8bebd662bb..0824889fd1 100644 --- a/ports/boost-mp11/portfile.cmake +++ b/ports/boost-mp11/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/mp11 - REF boost-1.71.0 - SHA512 4038432aa106867b0fce44610d4087c937284e01359bee82376a97087ff113c40dc2d807f841eae5a7f1df59ffd8c12ff45aa73e7c577bf19d4ed9da87955bfb + REF boost-1.72.0 + SHA512 289ad059add62f7f52a4de2602072d1162202646a4d634b450874fd6484342e8f7dd9e4d239f217c0c90852a2b57a0b6bc119ac811ec9837068ffebdcacc5ad3 HEAD_REF master ) diff --git a/ports/boost-mpi/CONTROL b/ports/boost-mpi/CONTROL index b2ca05b748..8592841935 100644 --- a/ports/boost-mpi/CONTROL +++ b/ports/boost-mpi/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-mpi -Version: 1.71.0-1 -Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-foreach, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-optional, boost-property-map, boost-python (windows), boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, mpi +Version: 1.72.0 +Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-foreach, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-optional, boost-python, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, mpi Homepage: https://github.com/boostorg/mpi Description: Boost mpi module diff --git a/ports/boost-mpi/portfile.cmake b/ports/boost-mpi/portfile.cmake index 1c1a332808..7738b9d238 100644 --- a/ports/boost-mpi/portfile.cmake +++ b/ports/boost-mpi/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/mpi - REF boost-1.71.0 - SHA512 caead0d5e38c01bc4ceb89b71dbbbacea1ae29476067e0826ede503e3e3269fef3ca66c7883554b9c3c8348081277a4b9cdfb790df022e05f70df4400b34fd76 + REF boost-1.72.0 + SHA512 84cbf590478a205379a9bd5b77c352265937297ff34a07926f279ebc39b779d4ac0cdfb87a069ccae7255f0ed2128a0d03e67b60058af61633bd45ca7b39e033 HEAD_REF master ) diff --git a/ports/boost-mpl/CONTROL b/ports/boost-mpl/CONTROL index 38de91865b..2e3e701f94 100644 --- a/ports/boost-mpl/CONTROL +++ b/ports/boost-mpl/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-mpl -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-detail, boost-predef, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/mpl Description: Boost mpl module diff --git a/ports/boost-mpl/portfile.cmake b/ports/boost-mpl/portfile.cmake index 9f37d30977..54541a8db9 100644 --- a/ports/boost-mpl/portfile.cmake +++ b/ports/boost-mpl/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/mpl - REF boost-1.71.0 - SHA512 2f88d6e2b86fdf1f6725ec051658891e939bb6726ef19d5ecce5d8e66a9a82f04e2d5e1e870f0555afbc7498881d838d962701ce86f5c8d4888096a88387e88e + REF boost-1.72.0 + SHA512 3baa17bbdeb8774ab583b4b3f42d7cd147eaef0f9188c45b6d18361b4cf10dcba679553b61dd2cbeae997ee77f94f0080a859516541121bcda16517983046296 HEAD_REF master ) diff --git a/ports/boost-msm/CONTROL b/ports/boost-msm/CONTROL index 952145fb2b..ef2ca0f283 100644 --- a/ports/boost-msm/CONTROL +++ b/ports/boost-msm/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-msm -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-any, boost-assert, boost-bind, boost-circular-buffer, boost-config, boost-core, boost-detail, boost-function, boost-fusion, boost-mpl, boost-parameter, boost-phoenix, boost-preprocessor, boost-proto, boost-serialization, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/msm Description: Boost msm module diff --git a/ports/boost-msm/portfile.cmake b/ports/boost-msm/portfile.cmake index c0202bd138..bf0a612f27 100644 --- a/ports/boost-msm/portfile.cmake +++ b/ports/boost-msm/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/msm - REF boost-1.71.0 - SHA512 0c8f993b49a7ace6e5ef0b64e155d2b87c38a6f6d19748175b10145573c035d95d4d6da71feffc4b85953ebe9c0d7332c269f6870b3af0e8e2af4f8ee6037e31 + REF boost-1.72.0 + SHA512 24ed94cb47810286595acd53b139528db155c9044c85e4c886dd001afd98fd03ef261cca497e6c94b9c92fc695f3f82d87960ba09866bc2813cdb5dbe3f7dacf HEAD_REF master ) diff --git a/ports/boost-multi-array/CONTROL b/ports/boost-multi-array/CONTROL index a357229720..7421325ccd 100644 --- a/ports/boost-multi-array/CONTROL +++ b/ports/boost-multi-array/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-multi-array -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-compatibility, boost-config, boost-vcpkg-helpers Homepage: https://github.com/boostorg/multi_array Description: Boost multi_array module diff --git a/ports/boost-multi-array/portfile.cmake b/ports/boost-multi-array/portfile.cmake index f5d65cbdd2..1596e67b20 100644 --- a/ports/boost-multi-array/portfile.cmake +++ b/ports/boost-multi-array/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/multi_array - REF boost-1.71.0 - SHA512 494bfcbb1d8b91fc3be8135011b8f1995c7fa6644137927a02f46eef6e83a737795d90415b4e6fa83e8ac49d6378a0609a305253bc3ab673adc6c7f80b1a4ee2 + REF boost-1.72.0 + SHA512 478fd78df7862ddfae4d0a05b465766f3fda228a06ad9ef9e57bd8a1a5dc363599a92b5252d0eb1bf5bc1c4e3da234b78a07661bae6289344d1733d0411f4835 HEAD_REF master ) diff --git a/ports/boost-multi-index/CONTROL b/ports/boost-multi-index/CONTROL index 9e58043889..80bb1c1299 100644 --- a/ports/boost-multi-index/CONTROL +++ b/ports/boost-multi-index/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-multi-index -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-bind, boost-compatibility, boost-config, boost-container-hash, boost-core, boost-detail, boost-foreach, boost-functional, boost-integer, boost-iterator, boost-move, boost-mpl, boost-preprocessor, boost-serialization, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/multi_index Description: Boost multi_index module diff --git a/ports/boost-multi-index/portfile.cmake b/ports/boost-multi-index/portfile.cmake index 83e194e609..7adc679785 100644 --- a/ports/boost-multi-index/portfile.cmake +++ b/ports/boost-multi-index/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/multi_index - REF boost-1.71.0 - SHA512 badc98f5e774517b3582bb48e0c59575f02ac8d433dce447c4e0061272a896084e691dc9f18dfbe00c7cd19328267e1b716d05f4f624fa3ef2fdaa93cdfc11df + REF boost-1.72.0 + SHA512 bcab9d525948feb864b803eada609dd4d9483700d81d6f20b6beef4e7206c366b46ccc956cd399a9f6f3e3a3a44e693b94778e638050beeb74e8af832af2ec08 HEAD_REF master ) diff --git a/ports/boost-multiprecision/CONTROL b/ports/boost-multiprecision/CONTROL index 4c16c755d7..c6d64221f8 100644 --- a/ports/boost-multiprecision/CONTROL +++ b/ports/boost-multiprecision/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-multiprecision -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-assert, boost-config, boost-container-hash, boost-core, boost-functional, boost-integer, boost-lexical-cast, boost-mpl, boost-predef, boost-rational, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/multiprecision Description: Boost multiprecision module diff --git a/ports/boost-multiprecision/portfile.cmake b/ports/boost-multiprecision/portfile.cmake index b652ef470c..41f3cb00a2 100644 --- a/ports/boost-multiprecision/portfile.cmake +++ b/ports/boost-multiprecision/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/multiprecision - REF boost-1.71.0 - SHA512 d76a7373d6703e06eb987c5ede9cd23ab9167ddd56cb462ca75aa454f6fd9227ae790ec499ac088aa73e3741f3354069ad54333dfb50eb3dce4cc839d97d84cd + REF boost-1.72.0 + SHA512 c9ad9eab980d32c6676950352716eb5efadd621e208c856195a3ef4849cbf87fcc531f6f5a6e1c7d0d0cc9a00db455a0d25e2b1382408e8c5db163064ed52833 HEAD_REF master ) diff --git a/ports/boost-numeric-conversion/CONTROL b/ports/boost-numeric-conversion/CONTROL index c1a3cc1015..8a7df86c82 100644 --- a/ports/boost-numeric-conversion/CONTROL +++ b/ports/boost-numeric-conversion/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-numeric-conversion -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-integer, boost-preprocessor, boost-throw-exception, boost-vcpkg-helpers Homepage: https://github.com/boostorg/numeric_conversion Description: Boost numeric_conversion module diff --git a/ports/boost-numeric-conversion/portfile.cmake b/ports/boost-numeric-conversion/portfile.cmake index cbf69055c3..485b4d781f 100644 --- a/ports/boost-numeric-conversion/portfile.cmake +++ b/ports/boost-numeric-conversion/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/numeric_conversion - REF boost-1.71.0 - SHA512 1b0dec311341750a1a3d3e382735481e7f1a80eb0217d25f6d668743e516831a4d382c58e2b5b747c08bd835e002a273e31d166101378d47076361c3826386d6 + REF boost-1.72.0 + SHA512 23a6c380cf19e8509972a41d5ad2cddfcb4d65e50f1ba4832d80664ea0fb190cdaf7ef52bb625ee9f801989cc061f3e878ceeda59650072377e333d47f0be9e3 HEAD_REF master ) diff --git a/ports/boost-odeint/CONTROL b/ports/boost-odeint/CONTROL index a03cffb2ce..1a3c5e080e 100644 --- a/ports/boost-odeint/CONTROL +++ b/ports/boost-odeint/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-odeint -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-assert, boost-bind, boost-compute, boost-config, boost-core, boost-function, boost-fusion, boost-iterator, boost-math, boost-mpl, boost-multi-array, boost-preprocessor, boost-range, boost-static-assert, boost-throw-exception, boost-type-traits, boost-units, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/odeint Description: Boost odeint module diff --git a/ports/boost-odeint/portfile.cmake b/ports/boost-odeint/portfile.cmake index 0dbde5fd3f..021a0ec581 100644 --- a/ports/boost-odeint/portfile.cmake +++ b/ports/boost-odeint/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/odeint - REF boost-1.71.0 - SHA512 a3e0154fc06ae7dd9c84b664620f3d9d7acda5cffe1ebcb92d7e554db86e5ec97b1752370aafc41996f41e40e71b7ef41c4379b5d6350f2279992303555b3c1f + REF boost-1.72.0 + SHA512 452a20edfe70dcc4db3409d97e1d6ff28a9dda8cb63b41a883a6d2a7c9e0b05069f7dfe2bddf9583e3df30508c397a187ec578ae117a556d2b4ae945f4dd1a32 HEAD_REF master ) diff --git a/ports/boost-optional/CONTROL b/ports/boost-optional/CONTROL index b3a940275f..c1d04babb7 100644 --- a/ports/boost-optional/CONTROL +++ b/ports/boost-optional/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-optional -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-move, boost-predef, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/optional Description: Boost optional module diff --git a/ports/boost-optional/portfile.cmake b/ports/boost-optional/portfile.cmake index bb8445b347..bb076cb618 100644 --- a/ports/boost-optional/portfile.cmake +++ b/ports/boost-optional/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/optional - REF boost-1.71.0 - SHA512 edb80c77c51bc13fff545ab9fca2ab59f5f07cf9695954c143e9342db1f1d9e0a3100f861a1f1b807f5d8c42d3364d84617e50874123280c603c070755ea573d + REF boost-1.72.0 + SHA512 fa43a4458b8a08191be8bf6e9cd7e389b89ec74fb14fa1b66b0c444a1f552e41129224561ed834eedb63f2aa114340fdb9a3e59c49fe3b25f329bb26df80303b HEAD_REF master ) diff --git a/ports/boost-outcome/CONTROL b/ports/boost-outcome/CONTROL index db43107e3b..2a04d14df1 100644 --- a/ports/boost-outcome/CONTROL +++ b/ports/boost-outcome/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-outcome -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-throw-exception, boost-vcpkg-helpers Homepage: https://github.com/boostorg/outcome Description: Boost outcome module diff --git a/ports/boost-outcome/portfile.cmake b/ports/boost-outcome/portfile.cmake index 144329fab5..b9e0d52d2e 100644 --- a/ports/boost-outcome/portfile.cmake +++ b/ports/boost-outcome/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/outcome - REF boost-1.71.0 - SHA512 cc0c0ff4d88545829ac02b5a19c00705273803ca2fb21603f8176d7a21de646137166dc488a7cf5a667469b067b1c5fab5d070c34e710d5461f6dc04817fa8b0 + REF boost-1.72.0 + SHA512 3de487dfcdb07cbf3184cf7a75c4ce476ea905ee24bfb967dff30ec8b1b29e57f1d52858ec9ef3ed4f865696a2ce768aedea406bdf4e6147c631138ffa5d3858 HEAD_REF master ) diff --git a/ports/boost-parameter-python/CONTROL b/ports/boost-parameter-python/CONTROL index db5520b141..b516fd5553 100644 --- a/ports/boost-parameter-python/CONTROL +++ b/ports/boost-parameter-python/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-parameter-python -Version: 1.71.0 -Build-Depends: boost-mpl, boost-parameter, boost-preprocessor, boost-python (windows), boost-vcpkg-helpers +Version: 1.72.0 +Build-Depends: boost-mpl, boost-parameter, boost-preprocessor, boost-python, boost-vcpkg-helpers Homepage: https://github.com/boostorg/parameter_python Description: Boost parameter_python module diff --git a/ports/boost-parameter-python/portfile.cmake b/ports/boost-parameter-python/portfile.cmake index d34e702e95..cdcf69fdcc 100644 --- a/ports/boost-parameter-python/portfile.cmake +++ b/ports/boost-parameter-python/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/parameter_python - REF boost-1.71.0 - SHA512 df16b17b61d2f2482da4403162462db756fd903baa1cd5965736e76911339d867a22d09f3ef7f0d3fac0f2257552f12f0d21fcb6798c6cf1351fbe09d38793e4 + REF boost-1.72.0 + SHA512 3d230ca500169fffb6c18b491bf94bf8091b56458621149710157e0386c2c6e01571c52170e4226bf6e86f2c8bf7f587da51b7e79f69a7653e0846e8dfdcc2fe HEAD_REF master ) diff --git a/ports/boost-parameter/CONTROL b/ports/boost-parameter/CONTROL index 8eab29c9a1..1479473ce8 100644 --- a/ports/boost-parameter/CONTROL +++ b/ports/boost-parameter/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-parameter -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-function, boost-fusion, boost-mp11, boost-mpl, boost-optional, boost-preprocessor, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/parameter Description: Boost parameter module diff --git a/ports/boost-parameter/portfile.cmake b/ports/boost-parameter/portfile.cmake index 863af82772..19f676f7f6 100644 --- a/ports/boost-parameter/portfile.cmake +++ b/ports/boost-parameter/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/parameter - REF boost-1.71.0 - SHA512 a25a0697c0441d59b316fab395214544726364cd11daefc376cd01d908aeb4b62d38c9dbe936f6e4ca8c5614b77c7c9fecc182691ef6917ebf95d924211e997e + REF boost-1.72.0 + SHA512 3f04d8f5b41aed4bc22a17cfa39ce75605d8a8d65fa6403dd16ee45bd960632869145ed5afce2af73b2cc12fa708fc6765d0fe6d9a11bda2efea07259007b558 HEAD_REF master ) diff --git a/ports/boost-phoenix/CONTROL b/ports/boost-phoenix/CONTROL index cc02a337ec..4afb397d68 100644 --- a/ports/boost-phoenix/CONTROL +++ b/ports/boost-phoenix/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-phoenix -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-fusion, boost-mpl, boost-predef, boost-preprocessor, boost-proto, boost-range, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/phoenix Description: Boost phoenix module diff --git a/ports/boost-phoenix/portfile.cmake b/ports/boost-phoenix/portfile.cmake index a9d1a42b39..83cea091f8 100644 --- a/ports/boost-phoenix/portfile.cmake +++ b/ports/boost-phoenix/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/phoenix - REF boost-1.71.0 - SHA512 c516f30628a4f087ab7165be4a75925f85431389c7af62a080bbb65ecc9522eee7dbbf89affddff75843fb79f46e192600450f19594323e886e7e0445c349e3b + REF boost-1.72.0 + SHA512 b35e523a4a0c6d42a12344c47131b6eb6f9f568a5bc06db826d5bb3bc64561856080a99c5e45b51d3fe7816153558936c5e9234771a5bbca852678341457eb8d HEAD_REF master ) diff --git a/ports/boost-poly-collection/CONTROL b/ports/boost-poly-collection/CONTROL index 1bea612fba..92a6003273 100644 --- a/ports/boost-poly-collection/CONTROL +++ b/ports/boost-poly-collection/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-poly-collection -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-iterator, boost-mp11, boost-mpl, boost-type-erasure (!arm), boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/poly_collection Description: Boost poly_collection module diff --git a/ports/boost-poly-collection/portfile.cmake b/ports/boost-poly-collection/portfile.cmake index 086cae189e..58f2e07db2 100644 --- a/ports/boost-poly-collection/portfile.cmake +++ b/ports/boost-poly-collection/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/poly_collection - REF boost-1.71.0 - SHA512 8c4c45f9e7d3dac4fe2abfb79c7ba8035d85077fa59c37938f0375e3bb9543a4163e6aaf2d511cf9178f2f59ac1632acc2a2c2901b24f3b9dfdcfbe3d206f916 + REF boost-1.72.0 + SHA512 4dda6cedc15f2f1ca1eb83735adcb275a91430e8c617513ecce121f4bfbf2d99d02206a3b45cbab80c34f3befa89615cb4b4cdb10234f58ab70e5fbe0d2ae134 HEAD_REF master ) diff --git a/ports/boost-polygon/CONTROL b/ports/boost-polygon/CONTROL index 65ded4cd53..242ccecffc 100644 --- a/ports/boost-polygon/CONTROL +++ b/ports/boost-polygon/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-polygon -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-integer, boost-vcpkg-helpers Homepage: https://github.com/boostorg/polygon Description: Boost polygon module diff --git a/ports/boost-polygon/portfile.cmake b/ports/boost-polygon/portfile.cmake index f0c8d8368f..e37865d85c 100644 --- a/ports/boost-polygon/portfile.cmake +++ b/ports/boost-polygon/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/polygon - REF boost-1.71.0 - SHA512 6b377bd22d9928bd460e4b1ec8894007c542e9b26c4d910e85eb1aae47bafc46260efa0e9d623064469838783ccedd811f8d4c9585d041cad938b75b43b87383 + REF boost-1.72.0 + SHA512 a553975eacb0863f15540dc65e6ea34961aeab44e55ec2813cc03986d4bffeb8d726f6947ae410eea67ec4bf9e225f4763b0c0bf202077100dbeb857eafacd67 HEAD_REF master ) diff --git a/ports/boost-pool/CONTROL b/ports/boost-pool/CONTROL index e4a6fd416b..b966a3607b 100644 --- a/ports/boost-pool/CONTROL +++ b/ports/boost-pool/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-pool -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-detail, boost-integer, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/pool Description: Boost pool module diff --git a/ports/boost-pool/portfile.cmake b/ports/boost-pool/portfile.cmake index 104a90c514..48ed69bb1b 100644 --- a/ports/boost-pool/portfile.cmake +++ b/ports/boost-pool/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/pool - REF boost-1.71.0 - SHA512 1e338e42a0d58338d75777e640e669c47359e62e3c1e5689e91aa6cc853e892ff88fb1f4fbae2b21365fee23b614531301e0f9e60d1a67824b413823948e35a6 + REF boost-1.72.0 + SHA512 87202bc193ee4d2de443b266f7bd786b6869691a164a8ec48949ce99a6101668153cc66d5cf407c4b55043d327fbc71b6c003ecdeb8965a976f8b4fb51610b0b HEAD_REF master ) diff --git a/ports/boost-predef/CONTROL b/ports/boost-predef/CONTROL index c10c5bae53..cc9742439e 100644 --- a/ports/boost-predef/CONTROL +++ b/ports/boost-predef/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-predef -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/predef Description: Boost predef module diff --git a/ports/boost-predef/portfile.cmake b/ports/boost-predef/portfile.cmake index 2a7e670da3..9e3ac2b7e1 100644 --- a/ports/boost-predef/portfile.cmake +++ b/ports/boost-predef/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/predef - REF boost-1.71.0 - SHA512 03c38d4ce0956810efbbcfb2f278214facc9efd8c308f9d83ad196af058addb480c8c515a7130bb2a7d481971d388000dfa35c79ab097e7f1d7864a2cc193b88 + REF boost-1.72.0 + SHA512 794aac881b6ddc1605025b038dcd403d154c3919fe0c2fe1598775ef2ac58de7a1d7598ed552769818701e204586065adf5cb4d40d71072212e2f77e2fe86af7 HEAD_REF master ) diff --git a/ports/boost-preprocessor/CONTROL b/ports/boost-preprocessor/CONTROL index d5ccb74c1d..a14caf68ef 100644 --- a/ports/boost-preprocessor/CONTROL +++ b/ports/boost-preprocessor/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-preprocessor -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/preprocessor Description: Boost preprocessor module diff --git a/ports/boost-preprocessor/portfile.cmake b/ports/boost-preprocessor/portfile.cmake index dcf794b924..de531bd781 100644 --- a/ports/boost-preprocessor/portfile.cmake +++ b/ports/boost-preprocessor/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/preprocessor - REF boost-1.71.0 - SHA512 26e008c8831151f61556a5d26795b7eca1e4c4ad94c72133f7e5c84c30648cd5627713563afc4f54ee42308e9980837dc690ac7990aba33d32082365bec153e8 + REF boost-1.72.0 + SHA512 d7c96596edae7ab6282ce2bc53a1a7316fd60423a328904419cbd6836e4d86e0cf4d5948a1b2268b87de00b9c338f0435df12ddb540552d39ffa3b6c030d465c HEAD_REF master ) diff --git a/ports/boost-process/CONTROL b/ports/boost-process/CONTROL index 864a78d77a..5431f39288 100644 --- a/ports/boost-process/CONTROL +++ b/ports/boost-process/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-process -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-algorithm, boost-asio, boost-config, boost-core, boost-filesystem (!uwp), boost-fusion, boost-iterator, boost-move, boost-optional, boost-system, boost-tokenizer, boost-type-index, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/process Description: Boost process module diff --git a/ports/boost-process/portfile.cmake b/ports/boost-process/portfile.cmake index f3d359a8ad..4f89f80b6f 100644 --- a/ports/boost-process/portfile.cmake +++ b/ports/boost-process/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/process - REF boost-1.71.0 - SHA512 26488b564f51bd8a97fc5609533e0931938219d808c03a5c1db1db760c3f3461bc793f7b07c45eb2ab40b8a346b8bbfd561599854012512c16ec11988e46cb1e + REF boost-1.72.0 + SHA512 bc881bcfa817e848151d90a0837683b9833395a7f7b76de76c40c96615bb1da7d10c0dae84f6b70b47fdf762a62869cb1700730a74fe123901803128f9194a52 HEAD_REF master ) diff --git a/ports/boost-program-options/CONTROL b/ports/boost-program-options/CONTROL index 3e0b1c32b6..ea4ca76ee4 100644 --- a/ports/boost-program-options/CONTROL +++ b/ports/boost-program-options/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-program-options -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-any, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/program_options Description: Boost program_options module diff --git a/ports/boost-program-options/portfile.cmake b/ports/boost-program-options/portfile.cmake index 024902b450..f86c70c258 100644 --- a/ports/boost-program-options/portfile.cmake +++ b/ports/boost-program-options/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/program_options - REF boost-1.71.0 - SHA512 bc6cb9f502bbf23b0a3b33d2d227d6c727ae7e1a42653a9631a3a692396b80094f356952f5dd422af326c182a0d4e5034cf349e7868061794b3076b0c97d28e5 + REF boost-1.72.0 + SHA512 7bb2f7e81618ac815c1a53e5804b069fd7adfa448fbbf58d488691d38a84ffa59e6187313f7b24cb9bf954626c4e62a901c0c4f5452d9f156b0f6058a941cf66 HEAD_REF master ) diff --git a/ports/boost-property-map/CONTROL b/ports/boost-property-map/CONTROL index a6d2ca5e4f..f7b8266188 100644 --- a/ports/boost-property-map/CONTROL +++ b/ports/boost-property-map/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-property-map -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-any, boost-assert, boost-bind, boost-concept-check, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-multi-index, boost-optional, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/property_map Description: Boost property_map module diff --git a/ports/boost-property-map/portfile.cmake b/ports/boost-property-map/portfile.cmake index acdc596c6d..a545697e59 100644 --- a/ports/boost-property-map/portfile.cmake +++ b/ports/boost-property-map/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/property_map - REF boost-1.71.0 - SHA512 8b45769bfa721139567108f1160e3c9848ca58b738b65ccc5733773ed159322383e2c061db51a396f9657cc31bbc601ad2547e577b448d90aa56fcd9cf9b4ebb + REF boost-1.72.0 + SHA512 7e9433810073a78be7e6e1b41ec5b605747ae582c76b1d2f8a9dde005b8ca175a01a9f6e9075bc85647b163a81a97fe2ee5537e0554bd82a393e73a3ecdb2202 HEAD_REF master ) diff --git a/ports/boost-property-tree/CONTROL b/ports/boost-property-tree/CONTROL index 3ab6f2bd52..0b9036d7e9 100644 --- a/ports/boost-property-tree/CONTROL +++ b/ports/boost-property-tree/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-property-tree -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-any, boost-assert, boost-bind, boost-compatibility, boost-config, boost-core, boost-format, boost-iterator, boost-mpl, boost-multi-index, boost-optional, boost-range, boost-serialization, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/property_tree Description: Boost property_tree module diff --git a/ports/boost-property-tree/portfile.cmake b/ports/boost-property-tree/portfile.cmake index a14579c299..a4ed458473 100644 --- a/ports/boost-property-tree/portfile.cmake +++ b/ports/boost-property-tree/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/property_tree - REF boost-1.71.0 - SHA512 6d77bd9560f129691d4798b29e01d175a9099001092a7724aa1e33c4f05e027b062273d3de60cfcaeaa791ad4f74e0caa0b3137ad95dbbe263ad483fe50ef7d2 + REF boost-1.72.0 + SHA512 dfe8cb719c0f14515dfcc017b25081dc61b140e82b3733c1f4485725405ac58bb29f068a9e1e601c60270d591af16d28c033f04b819efae9cf2f329041595985 HEAD_REF master ) diff --git a/ports/boost-proto/CONTROL b/ports/boost-proto/CONTROL index 55dc081882..a54095148a 100644 --- a/ports/boost-proto/CONTROL +++ b/ports/boost-proto/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-proto -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-detail, boost-fusion, boost-mpl, boost-preprocessor, boost-range, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/proto Description: Boost proto module diff --git a/ports/boost-proto/portfile.cmake b/ports/boost-proto/portfile.cmake index d3db693439..4753f89482 100644 --- a/ports/boost-proto/portfile.cmake +++ b/ports/boost-proto/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/proto - REF boost-1.71.0 - SHA512 dd48df4113aceed58e8a3134426e5015d36b9bf1a17f410f4a2b2fde2adf30938561cadea06eda30edc4362e9b3118a8fd0e89b73aaa6abef46caed75daade63 + REF boost-1.72.0 + SHA512 a725ad97f837758bc9ea2b7523f34074144c95d548eae330cd8eaa8f6b9eaa4c0107f65849f5af050f3005cc0ab1ea529c87b443c471b040ef9318e8597674bd HEAD_REF master ) diff --git a/ports/boost-ptr-container/CONTROL b/ports/boost-ptr-container/CONTROL index 778111c24a..3e747d138a 100644 --- a/ports/boost-ptr-container/CONTROL +++ b/ports/boost-ptr-container/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-ptr-container -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-config, boost-core, boost-iterator, boost-mpl, boost-range, boost-serialization, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/ptr_container Description: Boost ptr_container module diff --git a/ports/boost-ptr-container/portfile.cmake b/ports/boost-ptr-container/portfile.cmake index 98ebb5c1f0..8e08e5406a 100644 --- a/ports/boost-ptr-container/portfile.cmake +++ b/ports/boost-ptr-container/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/ptr_container - REF boost-1.71.0 - SHA512 c5681cba8af9412d02be1ff4ea889600d09fb342f89ae3ce8e508721aebac26023b5bfcb0250090f3458fddf44126e0e7a5770b04356d4839e8db7cebc9ebba6 + REF boost-1.72.0 + SHA512 6b46f3a7f8a1291fb7fbc52915a34d33c411a0c2408a657658554bac73c8f1f538496d205ca34ef5f1919061676b8c3d43c06d63dfe71f34f72c1c6f1aa11f7d HEAD_REF master ) diff --git a/ports/boost-python/CONTROL b/ports/boost-python/CONTROL index 132b5a8000..84e4434a26 100644 --- a/ports/boost-python/CONTROL +++ b/ports/boost-python/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-python -Version: 1.71.0-1 +Version: 1.72.0 Build-Depends: boost-bind, boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-numeric-conversion, boost-preprocessor, boost-property-map, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, python3 (!osx&!linux) Homepage: https://github.com/boostorg/python Description: Boost python module diff --git a/ports/boost-python/portfile.cmake b/ports/boost-python/portfile.cmake index 30624f90d0..ec1f706a01 100644 --- a/ports/boost-python/portfile.cmake +++ b/ports/boost-python/portfile.cmake @@ -5,13 +5,13 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/python - REF boost-1.71.0 - SHA512 0b78db2d0fda09298092cfbe7580d67db015aac7d5fac44c363dcc025f61d043fe4a87446b3f8f1fa76ae685838a98b0ed68609ecd945328f5fc4b12a493ee6a + REF boost-1.72.0 + SHA512 9e2214f45b6b7e269caeba3decf2b79df9d1addc711aa65b75273e5fef9ff7423d400e4f11a904f932759b32a5c7e699441961494e061c8dd9c966da1f5b8fef HEAD_REF master ) # Find Python. Can't use find_package here, but we already know where everything is -file(GLOB PYTHON_INCLUDE_PATH "${CURRENT_INSTALLED_DIR}/include/python[0-9.]*") +file(GLOB PYTHON_INCLUDE_PATH "${CURRENT_INSTALLED_DIR}/include/python3.*") set(PYTHONLIBS_RELEASE "${CURRENT_INSTALLED_DIR}/lib") set(PYTHONLIBS_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib") string(REGEX REPLACE ".*python([0-9\.]+)$" "\\1" PYTHON_VERSION "${PYTHON_INCLUDE_PATH}") diff --git a/ports/boost-qvm/CONTROL b/ports/boost-qvm/CONTROL index e96f20219b..3cd1cc43f5 100644 --- a/ports/boost-qvm/CONTROL +++ b/ports/boost-qvm/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-qvm -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-exception, boost-static-assert, boost-throw-exception, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/qvm Description: Boost qvm module diff --git a/ports/boost-qvm/portfile.cmake b/ports/boost-qvm/portfile.cmake index 2381f912d4..478fda446e 100644 --- a/ports/boost-qvm/portfile.cmake +++ b/ports/boost-qvm/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/qvm - REF boost-1.71.0 - SHA512 e7018896496bbf4aec76eda03a700ce152331dd9cb1aa4c58f18f92f587452c6a2db1bed770bfcd5ec311f3944ecbdafffc523a6275eb0d6c9f9c11f828e8ffc + REF boost-1.72.0 + SHA512 8609b636d27934c6bc9eb7fc1123a3f231f60055348fbfe542ce6507c29e511364b1ea3b5a21cb2a57576e489f724221663ecdcdf09e0a9e6c739d80d83aaed7 HEAD_REF master ) diff --git a/ports/boost-random/CONTROL b/ports/boost-random/CONTROL index aae513eb7f..a6c202b48b 100644 --- a/ports/boost-random/CONTROL +++ b/ports/boost-random/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-random -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-dynamic-bitset, boost-integer, boost-io, boost-math, boost-modular-build-helper, boost-mpl, boost-multiprecision, boost-range, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/random Description: Boost random module diff --git a/ports/boost-random/portfile.cmake b/ports/boost-random/portfile.cmake index 44701b5175..68b52d0a33 100644 --- a/ports/boost-random/portfile.cmake +++ b/ports/boost-random/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/random - REF boost-1.71.0 - SHA512 9a06feb9d4e1d9c33b286a35082c0c7dec4f8895b70add9287d618594ba8029a895f2484972b3ec79b606cc427a1dec1bd3a0dc6719c6a04a403d0d1e771bb98 + REF boost-1.72.0 + SHA512 825f74d302fb5aa6b1380cc767857c489c3f758c9553d5adecfdac399ec672f69a01de7071f138ef7ac0ae1aeeef7adbbded73e3def12f960ef248118bebf10f HEAD_REF master ) diff --git a/ports/boost-range/CONTROL b/ports/boost-range/CONTROL index 92caf940d9..a62de18fa3 100644 --- a/ports/boost-range/CONTROL +++ b/ports/boost-range/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-range -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-assert, boost-concept-check, boost-config, boost-container-hash, boost-core, boost-detail, boost-integer, boost-iterator, boost-mpl, boost-optional, boost-preprocessor, boost-regex, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/range Description: Boost range module diff --git a/ports/boost-range/portfile.cmake b/ports/boost-range/portfile.cmake index ed889209c6..cd3af2323c 100644 --- a/ports/boost-range/portfile.cmake +++ b/ports/boost-range/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/range - REF boost-1.71.0 - SHA512 9d83dec261bc494e074697a7aeb759ffcd3e12bbd2c6595e9d886b23347b53aa643f64b304ea842853c333612b356f81c2b330cfd6a7ee833497566b9721a666 + REF boost-1.72.0 + SHA512 6f815133807bca94c57b3013060bd7d5a23a7f06255fcc1dec4a11dc3b9611c9962aae80029583c2b0ff0aa31a2e195ce8c781d956d8d1a16db2320a60edefa6 HEAD_REF master ) diff --git a/ports/boost-ratio/CONTROL b/ports/boost-ratio/CONTROL index 6747994b9c..32b39a37a0 100644 --- a/ports/boost-ratio/CONTROL +++ b/ports/boost-ratio/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-ratio -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-integer, boost-mpl, boost-rational, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/ratio Description: Boost ratio module diff --git a/ports/boost-ratio/portfile.cmake b/ports/boost-ratio/portfile.cmake index 4f11808618..39941a2f15 100644 --- a/ports/boost-ratio/portfile.cmake +++ b/ports/boost-ratio/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/ratio - REF boost-1.71.0 - SHA512 13551011f94ca7c17401bacc9892774e2880df4625826eb087f9a8457dbb7990417943dcad89a06df7952ab7530085bd7ba60493e7e077384f33dc7e2f542eb4 + REF boost-1.72.0 + SHA512 2f2b288c6288801f59a3c966fbcd7cd9c300566eb96d1a536ba4986fc570c8e5c98396948a8dbfc2efaba7f55840bf70809d0d5ef5fed424076c6427d6d95965 HEAD_REF master ) diff --git a/ports/boost-rational/CONTROL b/ports/boost-rational/CONTROL index 709bd1a30e..6240c08ea5 100644 --- a/ports/boost-rational/CONTROL +++ b/ports/boost-rational/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-rational -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-integer, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/rational Description: Boost rational module diff --git a/ports/boost-rational/portfile.cmake b/ports/boost-rational/portfile.cmake index 7ad6fe7471..3ae45c25cc 100644 --- a/ports/boost-rational/portfile.cmake +++ b/ports/boost-rational/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/rational - REF boost-1.71.0 - SHA512 9868f48e82c75cee6d70c40a0059fbe3fa650df188f143608f327ed1973b7522ae8b0f3113a782e11ead354fcd127d8a41a758ff6d56fa4e8459e79cbb979e1f + REF boost-1.72.0 + SHA512 971c52ccc78e21f7fcbc87e7eb5f4097dfe855aebb09c940aae5997dc7b420a652166374980d8218ad9daa8e81ffb81102968ea0281e80b5a65ae9d86c1087db HEAD_REF master ) diff --git a/ports/boost-regex/CONTROL b/ports/boost-regex/CONTROL index 239c07eb2d..d3acd2daa8 100644 --- a/ports/boost-regex/CONTROL +++ b/ports/boost-regex/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-regex -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-container-hash, boost-core, boost-detail, boost-integer, boost-iterator, boost-modular-build-helper, boost-mpl, boost-predef, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/regex Description: Boost regex module diff --git a/ports/boost-regex/portfile.cmake b/ports/boost-regex/portfile.cmake index fe74815b66..adb7f05b51 100644 --- a/ports/boost-regex/portfile.cmake +++ b/ports/boost-regex/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/regex - REF boost-1.71.0 - SHA512 909082d18575a8e6cc8d52cfe38eb661d6cd38f6e2d9c8504af09af53e09ca744a5df850cb8dff96c95c2b17672b7796b938fee4353dc1e878749c1fe827cfe1 + REF boost-1.72.0 + SHA512 a5026e5c992698d6a41baee9e64ee3751eafc6aeba9aa79b90b62e5806185d0c230a08aaceaa89929c8fd0c3f36c1f1c54a9b9734eff3c11a34a4c9d1684a193 HEAD_REF master ) diff --git a/ports/boost-safe-numerics/CONTROL b/ports/boost-safe-numerics/CONTROL index 9693f05062..0ebda1fe91 100644 --- a/ports/boost-safe-numerics/CONTROL +++ b/ports/boost-safe-numerics/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-safe-numerics -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-integer, boost-logic, boost-mp11, boost-vcpkg-helpers Homepage: https://github.com/boostorg/safe_numerics Description: Boost safe_numerics module diff --git a/ports/boost-safe-numerics/portfile.cmake b/ports/boost-safe-numerics/portfile.cmake index e150cd6129..e55a7f44f2 100644 --- a/ports/boost-safe-numerics/portfile.cmake +++ b/ports/boost-safe-numerics/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/safe_numerics - REF boost-1.71.0 - SHA512 56dc050a342b132a4ed2685bd26bdf88a57abc817ce4677e59bb265d9a0b5a2807ab9819379265213868d2c40af12686d93a1fea01e20abbf92ffa561d8b0c56 + REF boost-1.72.0 + SHA512 db76e87bbde2333e1c42181ce03f226013f2ee5a732d974a07ff364fc402956962dc6bfec2a67f5d2748fe057c00c19231d34a0e576042d572c501e2af284c6e HEAD_REF master ) diff --git a/ports/boost-scope-exit/CONTROL b/ports/boost-scope-exit/CONTROL index e35a6a9b2b..ed06dded0a 100644 --- a/ports/boost-scope-exit/CONTROL +++ b/ports/boost-scope-exit/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-scope-exit -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-detail, boost-function, boost-preprocessor, boost-typeof, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/scope_exit Description: Boost scope_exit module diff --git a/ports/boost-scope-exit/portfile.cmake b/ports/boost-scope-exit/portfile.cmake index 732ea6bfc2..f6bc41000c 100644 --- a/ports/boost-scope-exit/portfile.cmake +++ b/ports/boost-scope-exit/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/scope_exit - REF boost-1.71.0 - SHA512 44795d794be4d7841bccda7a7919a5dd03d0e10ac31b45aed81c951b04b4d66131f038e3020add8612b4f63fe7e5740047b52e51483d2b968867c4fe7b3d3bf8 + REF boost-1.72.0 + SHA512 8837579911066863209efe739019993335f2ab1d40da42215016c63fe82aabdb9247d525633508f33e9547977807a388e0ff613210fb463bb8cd3fc9fc6132a5 HEAD_REF master ) diff --git a/ports/boost-serialization/CONTROL b/ports/boost-serialization/CONTROL index 5265d42c22..8fcca87232 100644 --- a/ports/boost-serialization/CONTROL +++ b/ports/boost-serialization/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-serialization -Version: 1.71.0 -Build-Depends: boost-array, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-spirit, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers +Version: 1.72.0 +Build-Depends: boost-array, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-predef, boost-preprocessor, boost-smart-ptr, boost-spirit, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/serialization Description: Boost serialization module diff --git a/ports/boost-serialization/portfile.cmake b/ports/boost-serialization/portfile.cmake index 9931c4889d..c2ad392348 100644 --- a/ports/boost-serialization/portfile.cmake +++ b/ports/boost-serialization/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/serialization - REF boost-1.71.0 - SHA512 349d96e18ccc0e10632226fc70434891fcc457323e07c19d277be96dc97e030a01af8e5e854615acecf5c96646593d95bd81e05fd54c18cd4914d2296a936184 + REF boost-1.72.0 + SHA512 669297c64481721a16e679783cda319a375d18df9fb922fcb324060f08bdaa25a0713416005bfc6012d01a0f9523989732a3f213037a094c9626352a2ce40b6d HEAD_REF master ) diff --git a/ports/boost-signals2/CONTROL b/ports/boost-signals2/CONTROL index 58d62cba93..167851591a 100644 --- a/ports/boost-signals2/CONTROL +++ b/ports/boost-signals2/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-signals2 -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-mpl, boost-optional, boost-parameter, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/signals2 Description: Boost signals2 module diff --git a/ports/boost-signals2/portfile.cmake b/ports/boost-signals2/portfile.cmake index 14c7eeacbd..bbfb544055 100644 --- a/ports/boost-signals2/portfile.cmake +++ b/ports/boost-signals2/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/signals2 - REF boost-1.71.0 - SHA512 543702c662049f43d5c32f86ca0ca985bc6c589539b90baedf5a5243b2c9a0d881343de701c46d525574579b4d7c6087e758d3eb51896ac6de989300cdac768b + REF boost-1.72.0 + SHA512 11305c225d184f1b3da1530c06493c2a65362f26c35938cbc3f6685500e7ee9c1abfcab4f5de161b33900e3bc102300d1fb80c2e68dac69b10fdcd25b3742124 HEAD_REF master ) diff --git a/ports/boost-smart-ptr/CONTROL b/ports/boost-smart-ptr/CONTROL index f0f31911e0..d62deedc5c 100644 --- a/ports/boost-smart-ptr/CONTROL +++ b/ports/boost-smart-ptr/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-smart-ptr -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-integer, boost-move, boost-predef, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/smart_ptr Description: Boost smart_ptr module diff --git a/ports/boost-smart-ptr/portfile.cmake b/ports/boost-smart-ptr/portfile.cmake index b5708882c7..11c8c0df8b 100644 --- a/ports/boost-smart-ptr/portfile.cmake +++ b/ports/boost-smart-ptr/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/smart_ptr - REF boost-1.71.0 - SHA512 74459b479ff30922f498ddd6d231ad7981b1836b8d80e0e584b151b643a8bcac54c60ed97a88a574f26d983467bb36d729dcce7bd361e7781fa21bec069d5c39 + REF boost-1.72.0 + SHA512 c42b9179c596fe063be2416c7f0617cc2bfaf9719215d826de501f36f61a754a79898a0af7d1ce5286364a4f3ab153a85b8ada134f9feda959c7281d21ee4e09 HEAD_REF master ) diff --git a/ports/boost-sort/CONTROL b/ports/boost-sort/CONTROL index 33950d23c9..6f9121c853 100644 --- a/ports/boost-sort/CONTROL +++ b/ports/boost-sort/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-sort -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-integer, boost-range, boost-serialization, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/sort Description: Boost sort module diff --git a/ports/boost-sort/portfile.cmake b/ports/boost-sort/portfile.cmake index fa164f5edb..4a74f3cdb9 100644 --- a/ports/boost-sort/portfile.cmake +++ b/ports/boost-sort/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/sort - REF boost-1.71.0 - SHA512 51807d1fbd5e4662b7756809b14278d68b3901608c696e7364ac8e5071abf9aaf889ca4f0956d2eca83e2a26f0833d629eadc9197a1206e5c171eb34b7c48065 + REF boost-1.72.0 + SHA512 79b26b004c01fd10443f07692913d13a3e38fb70f7efa46ba2d1f41e11ea474a4abeb4c0c5d0df70fa15a4f2f028b8b7e2a33e0c331b3bcbf11f7bf1a4a808d0 HEAD_REF master ) diff --git a/ports/boost-spirit/CONTROL b/ports/boost-spirit/CONTROL index c6b55622f1..5322241abf 100644 --- a/ports/boost-spirit/CONTROL +++ b/ports/boost-spirit/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-spirit -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-algorithm, boost-array, boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-endian, boost-filesystem (!uwp), boost-foreach, boost-function, boost-function-types, boost-fusion, boost-integer, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lexical-cast, boost-locale (!uwp), boost-math, boost-move, boost-mpl, boost-optional, boost-phoenix, boost-pool, boost-predef, boost-preprocessor, boost-proto, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-thread, boost-throw-exception, boost-tti, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/spirit Description: Boost spirit module diff --git a/ports/boost-spirit/portfile.cmake b/ports/boost-spirit/portfile.cmake index 388c0ff281..2a6e9c1a88 100644 --- a/ports/boost-spirit/portfile.cmake +++ b/ports/boost-spirit/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/spirit - REF boost-1.71.0 - SHA512 dc85f610c0975f092e7c4eea80f96daa696c2abdd1991b415ba1dbd553d0e2961359dc99dd301cda927a27df9b45a62223a494ad46ed2738d4f784687e358824 + REF boost-1.72.0 + SHA512 1454a5e11426af7fb8ab25fc7ae65ff05bd4d4e2aa58fe126666fcbd0dd9ad48b1a23a8530f46bd2d2fba35424d0817f4e00cde96018880479f4093a7a26c866 HEAD_REF master ) diff --git a/ports/boost-stacktrace/CONTROL b/ports/boost-stacktrace/CONTROL index 160d334f3c..4c4e64d2f4 100644 --- a/ports/boost-stacktrace/CONTROL +++ b/ports/boost-stacktrace/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-stacktrace -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-array, boost-build, boost-config, boost-container-hash, boost-core, boost-modular-build-helper, boost-predef, boost-static-assert, boost-type-traits, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/stacktrace Description: Boost stacktrace module diff --git a/ports/boost-stacktrace/portfile.cmake b/ports/boost-stacktrace/portfile.cmake index dc3fa7054e..0d10f00f2f 100644 --- a/ports/boost-stacktrace/portfile.cmake +++ b/ports/boost-stacktrace/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/stacktrace - REF boost-1.71.0 - SHA512 09eb77bfcdb93f371427450968f8c9f2b85b1983560c214fc7b8a38fc59954ecead45d42b73ed0fd5f12936734c7a5b906e03f677dd1a4fdb0e67b2abb79e55f + REF boost-1.72.0 + SHA512 91659618fbe49b1706b6adda865bcd733cfedae0b70849ca2c436412644b369a76b60df46160b5e7092a5f086c0c051459d8f9ca104e64469711b536805b4a0e HEAD_REF master ) diff --git a/ports/boost-statechart/CONTROL b/ports/boost-statechart/CONTROL index 73369ae2b5..9368b6b9e1 100644 --- a/ports/boost-statechart/CONTROL +++ b/ports/boost-statechart/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-statechart -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-conversion, boost-core, boost-detail, boost-function, boost-mpl, boost-smart-ptr, boost-static-assert, boost-thread, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/statechart Description: Boost statechart module diff --git a/ports/boost-statechart/portfile.cmake b/ports/boost-statechart/portfile.cmake index 76b46fc97b..711058d634 100644 --- a/ports/boost-statechart/portfile.cmake +++ b/ports/boost-statechart/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/statechart - REF boost-1.71.0 - SHA512 589f8b7afefd36131136032376ee994c778d8b855fc3dbd173e6b077025dcfcb78b29861ce3d1103febc1f1884a01932c3b401dd9c9394f65b3f72325765d207 + REF boost-1.72.0 + SHA512 a0ad4bb97f23df477ba7852927a3bbc5a1877f6adcb784fc384c9c0d816cdd87eecc9dad4a7cf16433c81df8914858eb6eaae9456f69c763876e9cfc8700b609 HEAD_REF master ) diff --git a/ports/boost-static-assert/CONTROL b/ports/boost-static-assert/CONTROL index 4f7e8259bf..5d726a3f36 100644 --- a/ports/boost-static-assert/CONTROL +++ b/ports/boost-static-assert/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-static-assert -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/static_assert Description: Boost static_assert module diff --git a/ports/boost-static-assert/portfile.cmake b/ports/boost-static-assert/portfile.cmake index b9f3423b21..f99310d63c 100644 --- a/ports/boost-static-assert/portfile.cmake +++ b/ports/boost-static-assert/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/static_assert - REF boost-1.71.0 - SHA512 1646b6cc8210e9ce5777dc17257f8b8110e3f81a40c6f7a7f55874d231476a1bb614a2f8fe0b33cb506cfe0b614e7e6a5c8de01e240da2dd109665588a476526 + REF boost-1.72.0 + SHA512 7d1b70b6dcf34f661987180a2b4ae2662729f503761c4897e1f1b2869da7042f9102acfc8a95a8351dff0ebad5b1aea69be049f168aea3525db8cfab442fcdfa HEAD_REF master ) diff --git a/ports/boost-system/CONTROL b/ports/boost-system/CONTROL index 8afede06b2..7be055962d 100644 --- a/ports/boost-system/CONTROL +++ b/ports/boost-system/CONTROL @@ -1,6 +1,6 @@ -# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 -Source: boost-system -Version: 1.71.0 -Build-Depends: boost-build, boost-config, boost-integer, boost-modular-build-helper, boost-vcpkg-helpers, boost-winapi -Homepage: https://github.com/boostorg/system -Description: Boost system module +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 +Source: boost-system +Version: 1.72.0 +Build-Depends: boost-build, boost-config, boost-integer, boost-modular-build-helper, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/system +Description: Boost system module diff --git a/ports/boost-system/portfile.cmake b/ports/boost-system/portfile.cmake index ee8bd521d1..03f739a7a7 100644 --- a/ports/boost-system/portfile.cmake +++ b/ports/boost-system/portfile.cmake @@ -7,8 +7,8 @@ vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/system - REF boost-1.71.0 - SHA512 9ffb4a160a87fed72f5e4e214fbbb2c02a5c3d4d1c14eb51b5c64f658d22b763af830d90b3e905ec5bcb9369a410bbe39b2948f6fc75c708266412d182ed2f23 + REF boost-1.72.0 + SHA512 b406d6f618feca96c098a053765b9f9b26fa4361e57bb6069eff9b379a758361be8010b479e8fdc21cbbad70f5918991ff07ffb730443c1e993c122a86107766 HEAD_REF master ) diff --git a/ports/boost-test/CONTROL b/ports/boost-test/CONTROL index 835f661827..e15fdb300d 100644 --- a/ports/boost-test/CONTROL +++ b/ports/boost-test/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-test -Version: 1.71.0-2 +Version: 1.72.0 Build-Depends: boost-algorithm, boost-assert, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/test Description: Boost test module diff --git a/ports/boost-test/portfile.cmake b/ports/boost-test/portfile.cmake index 3f5a8ee522..2864d8ffb7 100644 --- a/ports/boost-test/portfile.cmake +++ b/ports/boost-test/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/test - REF boost-1.71.0 - SHA512 def8d2b7b6e21152a0b7eb57b6a9b6928e744c7f5e5ae563b47b1b0839d25edbf9df94f75a98a79d2aa59236b13dd0e2bb776545ba9a1702be0ec4c7702b1b09 + REF boost-1.72.0 + SHA512 3718942ae0e6e2a490723cfbd80b9d471f9798b8acb27b91b6581c6eada507b7f48c4725d1cfa693a101d80063dcf36cf7d007f631f1bf0033e69d15edc3c4eb HEAD_REF master ) diff --git a/ports/boost-thread/CONTROL b/ports/boost-thread/CONTROL index d65ce4a717..0f85b5c7fe 100644 --- a/ports/boost-thread/CONTROL +++ b/ports/boost-thread/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-thread -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-algorithm, boost-assert, boost-atomic, boost-bind, boost-build, boost-chrono, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-core, boost-date-time, boost-detail, boost-exception, boost-function, boost-integer, boost-intrusive, boost-io, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-predef, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/thread Description: Boost thread module diff --git a/ports/boost-thread/portfile.cmake b/ports/boost-thread/portfile.cmake index 32076be1c3..34c523bb76 100644 --- a/ports/boost-thread/portfile.cmake +++ b/ports/boost-thread/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/thread - REF boost-1.71.0 - SHA512 0f0de2823f2fb2c5a44824555223dbd8e1cf6072b918ebd959c0b51547ffe7db6dcf5d675d7d229406eaf1bccfe7d3041318932d4020b33bbd4da722f9aa4cce + REF boost-1.72.0 + SHA512 2a149952bea4bf58b571de69fd81f9b0fbded75c762883f8611e9478ac853d9ba229f8fbb2168b8194f897465e77fd06bdcf75b140ad5d64defdadaccf56ce5a HEAD_REF master ) diff --git a/ports/boost-throw-exception/CONTROL b/ports/boost-throw-exception/CONTROL index 7b949f0e48..7ece73b1e2 100644 --- a/ports/boost-throw-exception/CONTROL +++ b/ports/boost-throw-exception/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-throw-exception -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/throw_exception Description: Boost throw_exception module diff --git a/ports/boost-throw-exception/portfile.cmake b/ports/boost-throw-exception/portfile.cmake index 0b62ec39ad..86a553943a 100644 --- a/ports/boost-throw-exception/portfile.cmake +++ b/ports/boost-throw-exception/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/throw_exception - REF boost-1.71.0 - SHA512 951d58a4b336be027d473d493dba5f3783d47e9aca45c9162a26e56f7a8aa42b71266b588b05e4012bfba4757d2acb79a946042cdec25266131b49c4fcda5068 + REF boost-1.72.0 + SHA512 89df12b58fe10ec042ac91de21568f99463107291eed8e52810f5e220972b5ad5f7b4e9937455f8dfd60b0f68bae9e3e55c2213ba0586085b32642fa9dc02694 HEAD_REF master ) diff --git a/ports/boost-timer/CONTROL b/ports/boost-timer/CONTROL index ad65f776c0..bfaa7f1c4e 100644 --- a/ports/boost-timer/CONTROL +++ b/ports/boost-timer/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-timer -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-build, boost-chrono, boost-compatibility, boost-config, boost-core, boost-integer, boost-io, boost-modular-build-helper, boost-predef, boost-system, boost-throw-exception, boost-vcpkg-helpers Homepage: https://github.com/boostorg/timer Description: Boost timer module diff --git a/ports/boost-timer/portfile.cmake b/ports/boost-timer/portfile.cmake index b9f085db07..afe2e23e2d 100644 --- a/ports/boost-timer/portfile.cmake +++ b/ports/boost-timer/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/timer - REF boost-1.71.0 - SHA512 836f23f3bc5bf983a7f506b6374ecab4e079f3f0b22360625c15823f475f64bf66df8fbe6401ef073fe7a83d01adb6f7efdd7fda5612a2554147e8cf7005aa80 + REF boost-1.72.0 + SHA512 e1ea0df4be43d68ed830a5ab9148af834328bd65457d40bb6449eab03768e7db165faa891f7e19d83ca330fc5160f21ab8299665056d46ab6cc8c8b017288919 HEAD_REF master ) diff --git a/ports/boost-tokenizer/CONTROL b/ports/boost-tokenizer/CONTROL index c2b6f6481a..6942676806 100644 --- a/ports/boost-tokenizer/CONTROL +++ b/ports/boost-tokenizer/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-tokenizer -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-detail, boost-iterator, boost-mpl, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/tokenizer Description: Boost tokenizer module diff --git a/ports/boost-tokenizer/portfile.cmake b/ports/boost-tokenizer/portfile.cmake index ab67fe9893..60f834d0a9 100644 --- a/ports/boost-tokenizer/portfile.cmake +++ b/ports/boost-tokenizer/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/tokenizer - REF boost-1.71.0 - SHA512 21606040ea414e333d4c9fc024e87b6fb6b41202b999b6a20d669f4d9b4f90da598ae7683c576b187dad7556d73efb2b30215f7c5afa202ca692eebb8ae7e7c7 + REF boost-1.72.0 + SHA512 863c9a6382dd256f44060ff6b477b2a2c003f943b127961be3c24a05d18cf1c797a22649f478604b402009813606be7f1a9b25259ac1704cdd2d3ffeeb20237a HEAD_REF master ) diff --git a/ports/boost-tti/CONTROL b/ports/boost-tti/CONTROL index 40a8d326e3..b3d0ea4334 100644 --- a/ports/boost-tti/CONTROL +++ b/ports/boost-tti/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-tti -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-detail, boost-function-types, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/tti Description: Boost tti module diff --git a/ports/boost-tti/portfile.cmake b/ports/boost-tti/portfile.cmake index 4c68c3bdd8..0dee17ad64 100644 --- a/ports/boost-tti/portfile.cmake +++ b/ports/boost-tti/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/tti - REF boost-1.71.0 - SHA512 9d695de65ee030c157de6dea727e02c149ab9db638b31fce62f501f4d3cde55d01096ec33d368573d48aae2c94dab69d0851fa28ed082408bdf96c0a13a5f28c + REF boost-1.72.0 + SHA512 ee68bc34266f44f597fcefb4485732f2790b81a7fe93a35fb5ad9c4bc23b1801503f8985508b3c3ddeaa64099ed046ea89f12c150e093e5925d72f78b001bb25 HEAD_REF master ) diff --git a/ports/boost-tuple/CONTROL b/ports/boost-tuple/CONTROL index 0f721c7c58..fd3afd27fa 100644 --- a/ports/boost-tuple/CONTROL +++ b/ports/boost-tuple/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-tuple -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-core, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/tuple Description: Boost tuple module diff --git a/ports/boost-tuple/portfile.cmake b/ports/boost-tuple/portfile.cmake index a1b91c0baa..3a42dd724e 100644 --- a/ports/boost-tuple/portfile.cmake +++ b/ports/boost-tuple/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/tuple - REF boost-1.71.0 - SHA512 80a84b5e5542ff5c578b5bd472cdff4bd5701dd80e0059ed6fe843136544a7300cb76b1a3eb122d226903e3d4a7b44c230074299624c7bacbd12ab5a9e26f051 + REF boost-1.72.0 + SHA512 fd330e0796021bc4f358ab57cacf9feb47a729d15bb4ca86e97b87d6ba605ff118f56d53ae1ed1c230045dd1b04110be6705ea969ca94cd956947282ed199131 HEAD_REF master ) diff --git a/ports/boost-type-erasure/CONTROL b/ports/boost-type-erasure/CONTROL index 1505417956..b1a918ffb2 100644 --- a/ports/boost-type-erasure/CONTROL +++ b/ports/boost-type-erasure/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-type-erasure -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-fusion, boost-iterator, boost-modular-build-helper, boost-mp11, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-thread, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-vmd Homepage: https://github.com/boostorg/type_erasure Description: Boost type_erasure module diff --git a/ports/boost-type-erasure/portfile.cmake b/ports/boost-type-erasure/portfile.cmake index 17e6b3180a..7f99740801 100644 --- a/ports/boost-type-erasure/portfile.cmake +++ b/ports/boost-type-erasure/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/type_erasure - REF boost-1.71.0 - SHA512 aff7218980d4f35ea0497f0d6240b1dedad43b6c611482aff99f5f8361f02873c91310ecd7d23069019f28f12c8cb65edba275e1228dce5bd0d9baeb800db3be + REF boost-1.72.0 + SHA512 cf1a239a53265eb028beccf625b6917fb7918324cfa92ddffa460e246eb99df61be5ef3fc3f5303d013acd971efe4b28c504661d79f2bcd564c2470a715dae52 HEAD_REF master ) diff --git a/ports/boost-type-index/CONTROL b/ports/boost-type-index/CONTROL index f1cb3ac740..0d3c2fd381 100644 --- a/ports/boost-type-index/CONTROL +++ b/ports/boost-type-index/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-type-index -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-container-hash, boost-core, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/type_index Description: Boost type_index module diff --git a/ports/boost-type-index/portfile.cmake b/ports/boost-type-index/portfile.cmake index 9837216c8d..b84119cbfd 100644 --- a/ports/boost-type-index/portfile.cmake +++ b/ports/boost-type-index/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/type_index - REF boost-1.71.0 - SHA512 a507fb8e489c28ee93067b73dce4987e1dcfa67c2bb2e8a5f194fca1f48d9e40ab8692576cc6f812d8f99a4392db4299b198fd12db0fd79819b7847004475693 + REF boost-1.72.0 + SHA512 f7c3a78d5114fb4f8752a11b798f6826fda79345fad679b945240a0552358659cd83fb2182d5fbb6892bf971c2125bb4b7f527d05e3f6a17cb5521b1bfb280b7 HEAD_REF master ) diff --git a/ports/boost-type-traits/CONTROL b/ports/boost-type-traits/CONTROL index 52d808e863..74c0f636c5 100644 --- a/ports/boost-type-traits/CONTROL +++ b/ports/boost-type-traits/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-type-traits -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-detail, boost-static-assert, boost-vcpkg-helpers Homepage: https://github.com/boostorg/type_traits Description: Boost type_traits module diff --git a/ports/boost-type-traits/portfile.cmake b/ports/boost-type-traits/portfile.cmake index 847a0f6c83..0dd03588c3 100644 --- a/ports/boost-type-traits/portfile.cmake +++ b/ports/boost-type-traits/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/type_traits - REF boost-1.71.0 - SHA512 6ad3ffc1750f3e22e3f861e1b8be41a0d54b39b6f9ab122c8d21624f99ce86ddb240d6d2577d595ab704ef8e88a4eee03574151837ca0af6fc84d5e4cf3c6662 + REF boost-1.72.0 + SHA512 6f9959b53b2cc60539f065256e7efd78c8dad89d73803cea17bec82559f1045d069a6762a0665b5813ef397d3cf516b8897e2ea7be6177c5828f6d867869f367 HEAD_REF master ) diff --git a/ports/boost-typeof/CONTROL b/ports/boost-typeof/CONTROL index e5a9405c84..39c32cae11 100644 --- a/ports/boost-typeof/CONTROL +++ b/ports/boost-typeof/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-typeof -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/typeof Description: Boost typeof module diff --git a/ports/boost-typeof/portfile.cmake b/ports/boost-typeof/portfile.cmake index 8c98495bce..b0e9a723ac 100644 --- a/ports/boost-typeof/portfile.cmake +++ b/ports/boost-typeof/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/typeof - REF boost-1.71.0 - SHA512 7b0ebbea907c1aad3f84238d2b8bf2f4c2fa7fcdc07427ae43b0c44a40b8ee43301e542ea1a8fa96585f700e91f93a11239b5a8ba91ed4f3c47ab4053a33bd46 + REF boost-1.72.0 + SHA512 21001375757411fdab8bde9abbdc96895db51746cba3f50b9c65f5142f248f90d8b93d9df3c734030c03469cbfb871f6f1a54ee354168034ee58ea5c39d31f41 HEAD_REF master ) diff --git a/ports/boost-ublas/CONTROL b/ports/boost-ublas/CONTROL index b1772a8e36..c34374843c 100644 --- a/ports/boost-ublas/CONTROL +++ b/ports/boost-ublas/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-ublas -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-compute, boost-concept-check, boost-config, boost-core, boost-iterator, boost-mpl, boost-range, boost-serialization, boost-smart-ptr, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/ublas Description: Boost ublas module diff --git a/ports/boost-ublas/portfile.cmake b/ports/boost-ublas/portfile.cmake index 30d9227eaf..403d6fd69b 100644 --- a/ports/boost-ublas/portfile.cmake +++ b/ports/boost-ublas/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/ublas - REF boost-1.71.0 - SHA512 c72ebc0427105359e5ffa7ddf9ab3aca93e60aa4491f407e917b48dc7015c847ffff3ad83b19961261bf44bc12e08d3f82810aa6b93c99e11347b9084ed6e264 + REF boost-1.72.0 + SHA512 08419b9e3c0ee29a59080a0c901fcc80265c6bd5c1f2bebd2f2c54609e276fe0da2429fa1dc3b5f42bead8ab55cea1e41fd86b74f05b7ce4ee12fa507e5e6240 HEAD_REF master ) diff --git a/ports/boost-units/CONTROL b/ports/boost-units/CONTROL index 5f6123e48f..4a8061a36e 100644 --- a/ports/boost-units/CONTROL +++ b/ports/boost-units/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-units -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-io, boost-lambda, boost-math, boost-mpl, boost-preprocessor, boost-serialization, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/units Description: Boost units module diff --git a/ports/boost-units/portfile.cmake b/ports/boost-units/portfile.cmake index 33455865e3..802b8df8ee 100644 --- a/ports/boost-units/portfile.cmake +++ b/ports/boost-units/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/units - REF boost-1.71.0 - SHA512 6739766c68db756a630f65b731e3338d9eb4e33a56fc4b7cb15a68e250fd4aba56780bfbb5438626383d2c58ee4202f0d0be8f96a94e54247adb28dc62456370 + REF boost-1.72.0 + SHA512 c8cc0df4e71f31e8491a771db42d7ba236e27185a9de511d43be9e490c6a0b9b91e19c9dca256f11071f60ebee3e6cb7ffa12af019c449cde5bbced86673ff0a HEAD_REF master ) diff --git a/ports/boost-unordered/CONTROL b/ports/boost-unordered/CONTROL index 35e6c874e4..41402f9a6c 100644 --- a/ports/boost-unordered/CONTROL +++ b/ports/boost-unordered/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-unordered -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-container-hash, boost-core, boost-detail, boost-functional, boost-move, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/unordered Description: Boost unordered module diff --git a/ports/boost-unordered/portfile.cmake b/ports/boost-unordered/portfile.cmake index 733da6c6a0..64424e0bab 100644 --- a/ports/boost-unordered/portfile.cmake +++ b/ports/boost-unordered/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/unordered - REF boost-1.71.0 - SHA512 bd94acbcad4b959fbfcd2b12af9f912f597da963dca7dfd10a08fd28f685bdc65553f357094ed7610917ea21603c1093344bb4e6da122663e89bc91f626a569c + REF boost-1.72.0 + SHA512 ad41c43e5eb82a57b3d2b21aa794a84c6241c7e3078eb6cd331910c6402eca1ddb46d687aefe80d67cde72711853516e7367ebe61d7af7d903d158c9c57ad891 HEAD_REF master ) diff --git a/ports/boost-utility/CONTROL b/ports/boost-utility/CONTROL index 65a3c9d5f8..7d68924577 100644 --- a/ports/boost-utility/CONTROL +++ b/ports/boost-utility/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-utility -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-container-hash, boost-core, boost-detail, boost-integer, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/utility Description: Boost utility module diff --git a/ports/boost-utility/portfile.cmake b/ports/boost-utility/portfile.cmake index a9a83a75f0..a5f3976566 100644 --- a/ports/boost-utility/portfile.cmake +++ b/ports/boost-utility/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/utility - REF boost-1.71.0 - SHA512 c6828a225baad1215d766ad90b9af5505428dd37e3a31d3254bda3cf5155002a180b6ac8db67783633d8e8bb5b24f2ac01adbbc86754997f01d7aedb55a61ddc + REF boost-1.72.0 + SHA512 4630263d13239d5ce548821038277138268dcbc82a161196147e91147efbab289f71679449a35eb242c540be22ad5595fc0cd88b4dafb2e9b9e651bf398ed8b6 HEAD_REF master ) diff --git a/ports/boost-uuid/CONTROL b/ports/boost-uuid/CONTROL index 6b226714d0..853b9466e2 100644 --- a/ports/boost-uuid/CONTROL +++ b/ports/boost-uuid/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-uuid -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container-hash, boost-core, boost-integer, boost-io, boost-move, boost-numeric-conversion, boost-predef, boost-random, boost-serialization, boost-static-assert, boost-throw-exception, boost-tti, boost-type-traits, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/uuid Description: Boost uuid module diff --git a/ports/boost-uuid/portfile.cmake b/ports/boost-uuid/portfile.cmake index 80abd6d31d..5fd18f09b3 100644 --- a/ports/boost-uuid/portfile.cmake +++ b/ports/boost-uuid/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/uuid - REF boost-1.71.0 - SHA512 e815637e01d5e0ac7420c856c8afaa485399c202e37e7a03061ec2ad924843ab2f9cb5038e0677b326bb3aa19ff61b26a2945d10b5fc4b8b88de6e9e300de689 + REF boost-1.72.0 + SHA512 f2f614841b562620507d3b758e3c760b68af22812559caa181743bdc03c152d46680c6c7d4be9b217ae127686083d0110a81d9c03ff4ecffce4119a6fd8d0b1a HEAD_REF master ) diff --git a/ports/boost-variant/CONTROL b/ports/boost-variant/CONTROL index 5497c4effd..174995e8b2 100644 --- a/ports/boost-variant/CONTROL +++ b/ports/boost-variant/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-variant -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-move, boost-mpl, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/variant Description: Boost variant module diff --git a/ports/boost-variant/portfile.cmake b/ports/boost-variant/portfile.cmake index f853efe80c..e57e830649 100644 --- a/ports/boost-variant/portfile.cmake +++ b/ports/boost-variant/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/variant - REF boost-1.71.0 - SHA512 5847a32be903eba91f9532fe50b6d9a12d20e0d9378330a853df66caace875a83de86018bf77bcdc5047de1345da43aeabc746daa8d843be331a55d78c1137dc + REF boost-1.72.0 + SHA512 8313dcff4d227c5e8ccdc25dd0831c126846d9c3a55acfa1316a20884894613ce55d3784c090cc115f628d3c0cce1b35e65a7547cd10ce168f5dc0b970d62f10 HEAD_REF master ) diff --git a/ports/boost-variant2/CONTROL b/ports/boost-variant2/CONTROL index ac61cd5418..4cbe58af0c 100644 --- a/ports/boost-variant2/CONTROL +++ b/ports/boost-variant2/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-variant2 -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-detail, boost-mp11, boost-vcpkg-helpers Homepage: https://github.com/boostorg/variant2 Description: Boost variant2 module diff --git a/ports/boost-variant2/portfile.cmake b/ports/boost-variant2/portfile.cmake index ca225a1029..75f9a153fd 100644 --- a/ports/boost-variant2/portfile.cmake +++ b/ports/boost-variant2/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/variant2 - REF boost-1.71.0 - SHA512 3c9d750989b2c4c9dded2d4adc53865fc461221e64d91fa10f85c7674b35fbba6fd584d0796f422cf1de8e42365260e9bf190082a2dded3d1d8211ceb246aed6 + REF boost-1.72.0 + SHA512 88ce9129a4fe9d6e8273936483fa3d102a44ffdfc6a5385f5ffdb744a4ca13f0a552830b53f1aca3869fded703890d6921cc15658cc7cfe1dc6283f106e8fad4 HEAD_REF master ) diff --git a/ports/boost-vcpkg-helpers/CONTROL b/ports/boost-vcpkg-helpers/CONTROL index db578e9261..9069917a2f 100644 --- a/ports/boost-vcpkg-helpers/CONTROL +++ b/ports/boost-vcpkg-helpers/CONTROL @@ -1,3 +1,3 @@ Source: boost-vcpkg-helpers -Version: 6 +Version: 7 Description: a set of vcpkg-internal scripts used to modularize boost diff --git a/ports/boost-vcpkg-helpers/boost-modular-headers.cmake b/ports/boost-vcpkg-helpers/boost-modular-headers.cmake index 5da91478ae..140e432153 100644 --- a/ports/boost-vcpkg-helpers/boost-modular-headers.cmake +++ b/ports/boost-vcpkg-helpers/boost-modular-headers.cmake @@ -15,7 +15,7 @@ function(boost_modular_headers) message(STATUS "Packaging headers done") vcpkg_download_distfile(ARCHIVE - URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.71.0/LICENSE_1_0.txt" + URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.72.0/LICENSE_1_0.txt" FILENAME "boost_LICENSE_1_0.txt" SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 ) diff --git a/ports/boost-vmd/CONTROL b/ports/boost-vmd/CONTROL index 9711a516f8..017e5563e8 100644 --- a/ports/boost-vmd/CONTROL +++ b/ports/boost-vmd/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-vmd -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-preprocessor, boost-vcpkg-helpers Homepage: https://github.com/boostorg/vmd Description: Boost vmd module diff --git a/ports/boost-vmd/portfile.cmake b/ports/boost-vmd/portfile.cmake index 5d9f2701e7..2dd2a0a915 100644 --- a/ports/boost-vmd/portfile.cmake +++ b/ports/boost-vmd/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/vmd - REF boost-1.71.0 - SHA512 dc1065ce7be32b8aa2b73dc41fb33d60136d77b76a86bc6f236d7a46b7cde2c6245eddc98c6c49ec90a8d9bfafb518138fdb470f636ee5a1f720a94c14a6d3bb + REF boost-1.72.0 + SHA512 1bc8122889dc80aece871021530c626de480bf2854eb1f7582520d345cd31ea4d068b84e4c43c47f018796fbaa5ed49746a3b1806cdcb3957fe40b5d79abbb04 HEAD_REF master ) diff --git a/ports/boost-wave/CONTROL b/ports/boost-wave/CONTROL index f7abaf9e8c..fe2e5e67f4 100644 --- a/ports/boost-wave/CONTROL +++ b/ports/boost-wave/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-wave -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-build, boost-concept-check, boost-config, boost-core, boost-detail, boost-filesystem (!uwp), boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-multi-index, boost-pool, boost-preprocessor, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/wave Description: Boost wave module diff --git a/ports/boost-wave/portfile.cmake b/ports/boost-wave/portfile.cmake index f863d331cd..8cb09191df 100644 --- a/ports/boost-wave/portfile.cmake +++ b/ports/boost-wave/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/wave - REF boost-1.71.0 - SHA512 9f3bdaa5f94e1bee1c83d6faaf0d48066525323d6d2c62dcbf528482f9323ffbdc5671079afae0d268f4aecd8a296952612c5d019ba16f8fb80a594d4c7c6585 + REF boost-1.72.0 + SHA512 cfbef392d37b15c1c8b5c6629ac307bddceafc986ae59561c64fbb06f4b5e48d6faf7092dbebdabdbf5c28bb483693669024b1c1677e17ea820fe504e7e8d993 HEAD_REF master ) diff --git a/ports/boost-winapi/CONTROL b/ports/boost-winapi/CONTROL index be8db9993b..6e47e2ef41 100644 --- a/ports/boost-winapi/CONTROL +++ b/ports/boost-winapi/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-winapi -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-config, boost-predef, boost-vcpkg-helpers Homepage: https://github.com/boostorg/winapi Description: Boost winapi module diff --git a/ports/boost-winapi/portfile.cmake b/ports/boost-winapi/portfile.cmake index d21cdb75c8..9575702cc3 100644 --- a/ports/boost-winapi/portfile.cmake +++ b/ports/boost-winapi/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/winapi - REF boost-1.71.0 - SHA512 105b412f033b94bc19baba4415d9954cba7dab28b0bea8f416c4ca8485db0ef5f48f846557ad691019f16039e3051a871d4794ab2822f53ab249d3592565a6b2 + REF boost-1.72.0 + SHA512 de9292bd10d393ed68066c77af335d7799c205761942d567391f2099a089f7ff77c65681156aa4c568d1ec39f1e1556b6816e903a945a81ebb43971840eb3c53 HEAD_REF master ) diff --git a/ports/boost-xpressive/CONTROL b/ports/boost-xpressive/CONTROL index a14352ff04..4deb788fa2 100644 --- a/ports/boost-xpressive/CONTROL +++ b/ports/boost-xpressive/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-xpressive -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-exception, boost-fusion, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-proto, boost-range, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/xpressive Description: Boost xpressive module diff --git a/ports/boost-xpressive/portfile.cmake b/ports/boost-xpressive/portfile.cmake index e964e0b186..435fee2cd9 100644 --- a/ports/boost-xpressive/portfile.cmake +++ b/ports/boost-xpressive/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/xpressive - REF boost-1.71.0 - SHA512 a92b4718fcbc34e347f94c4b020acd077049cf1157b71f936ae7bc5848a0125ec9f53c3f2fef52168543a3b0b28a5fb0b4373f9c97d14be2cf9f119316be3110 + REF boost-1.72.0 + SHA512 214ab38c493a53b97c2f153d2c45b71ddf9b06995af781f51e814c0b03526a9be402aeb5bcbcf69baaea49df760fa79b6d8abc5b91744afb4bc2e6be7a04a1a3 HEAD_REF master ) diff --git a/ports/boost-yap/CONTROL b/ports/boost-yap/CONTROL index 5dad699364..6b36f54963 100644 --- a/ports/boost-yap/CONTROL +++ b/ports/boost-yap/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-yap -Version: 1.71.0 +Version: 1.72.0 Build-Depends: boost-hana, boost-preprocessor, boost-type-index, boost-vcpkg-helpers Homepage: https://github.com/boostorg/yap Description: Boost yap module diff --git a/ports/boost-yap/portfile.cmake b/ports/boost-yap/portfile.cmake index 6f72d412dd..6dd2281781 100644 --- a/ports/boost-yap/portfile.cmake +++ b/ports/boost-yap/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/yap - REF boost-1.71.0 - SHA512 1b8ba20d5bc3ac51dd8c7b234ff63c90568149a357212f90262c19044dfa2bddede61c79d0c5d8795201e95bae6507015e73895ae851e9a593c8589c67b978fa + REF boost-1.72.0 + SHA512 682ae560b2fc31e8173914a8f59e263b2a64b9064faa2a15b5692926a28f5940d261368b7cc061dd696bfc76a36e74a153310951fd24a4e81346cca2b9f936bd HEAD_REF master ) diff --git a/ports/boost/CONTROL b/ports/boost/CONTROL index 3bdb18fbab..1584cb9091 100644 --- a/ports/boost/CONTROL +++ b/ports/boost/CONTROL @@ -1,9 +1,9 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost -Version: 1.71.0 +Version: 1.72.0 Homepage: https://boost.org Description: Peer-reviewed portable C++ source libraries -Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-context (!uwp), boost-contract (!arm), boost-conversion, boost-convert, boost-core, boost-coroutine (!uwp), boost-coroutine2, boost-crc, boost-date-time, boost-detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (windows), boost-filesystem (!uwp), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-histogram, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (!uwp), boost-local-function, boost-lockfree, boost-log (!uwp), boost-logic, boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-optional, boost-outcome, boost-parameter, boost-parameter-python (windows), boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options, boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (windows), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-scope-exit, boost-serialization, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (!uwp), boost-statechart, boost-static-assert, boost-system, boost-test (!uwp), boost-thread, boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (!arm), boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-variant2, boost-vmd, boost-wave (!uwp), boost-winapi, boost-xpressive, boost-yap +Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-context (!uwp), boost-contract (!arm), boost-conversion, boost-convert, boost-core, boost-coroutine (!uwp), boost-coroutine2, boost-crc, boost-date-time, boost-detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (windows), boost-filesystem (!uwp), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-histogram, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (!uwp), boost-local-function, boost-lockfree, boost-log (!uwp), boost-logic, boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-optional, boost-outcome, boost-parameter, boost-parameter-python, boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options, boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python, boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-scope-exit, boost-serialization, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (!uwp), boost-statechart, boost-static-assert, boost-system, boost-test (!uwp), boost-thread, boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (!arm), boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-variant2, boost-vmd, boost-wave (!uwp), boost-winapi, boost-xpressive, boost-yap Feature: mpi Description: Build with MPI support diff --git a/ports/libtorrent/add-executor_type.patch b/ports/libtorrent/add-executor_type.patch new file mode 100644 index 0000000000..2d2a36c491 --- /dev/null +++ b/ports/libtorrent/add-executor_type.patch @@ -0,0 +1,14 @@ +diff --git a/include/libtorrent/aux_/socket_type.hpp b/include/libtorrent/aux_/socket_type.hpp +index 1342d39ad..364ec1e8f 100644 +--- a/include/libtorrent/aux_/socket_type.hpp ++++ b/include/libtorrent/aux_/socket_type.hpp +@@ -184,6 +184,9 @@ namespace aux { + using receive_buffer_size = tcp::socket::receive_buffer_size; + using send_buffer_size = tcp::socket::send_buffer_size; + ++#if BOOST_VERSION >= 106600 ++ using executor_type = tcp::socket::executor_type; ++#endif + explicit socket_type(io_service& ios): m_io_service(ios), m_type(0) {} + ~socket_type(); + diff --git a/ports/libtorrent/portfile.cmake b/ports/libtorrent/portfile.cmake index 752a8f2172..3dbf7750e3 100644 --- a/ports/libtorrent/portfile.cmake +++ b/ports/libtorrent/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( HEAD_REF master PATCHES add-datetime-to-boost-libs.patch + add-executor_type.patch ) vcpkg_configure_cmake( diff --git a/scripts/boost/generate-ports.ps1 b/scripts/boost/generate-ports.ps1 index 5f5897718e..200b8376e3 100644 --- a/scripts/boost/generate-ports.ps1 +++ b/scripts/boost/generate-ports.ps1 @@ -1,7 +1,7 @@ [CmdletBinding()] param ( $libraries = @(), - $version = "1.71.0" + $version = "1.72.0" ) $scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition @@ -37,6 +37,7 @@ function Generate() { param ( [string]$Name, + [string]$PortName, [string]$Hash, [bool]$NeedsBuild, $Depends = @() @@ -44,29 +45,18 @@ function Generate() $controlDeps = ($Depends | sort) -join ", " - $sanitizedName = $name -replace "_","-" + $versionSuffix = "" - $versionsuffix = "" - if ($Name -eq "asio" -or $Name -eq "mpi") - { - $versionsuffix = "-1" - } - - if ($Name -eq "python" -or $Name -eq "test") - { - $versionsuffix = "-2" - } - - mkdir "$portsDir/boost-$sanitizedName" -erroraction SilentlyContinue | out-null + mkdir "$portsDir/boost-$PortName" -erroraction SilentlyContinue | out-null $controlLines = @( "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" - "Source: boost-$sanitizedName" - "Version: $version$versionsuffix" + "Source: boost-$PortName" + "Version: $version$versionSuffix" "Build-Depends: $controlDeps" - "Homepage: https://github.com/boostorg/$name" + "Homepage: https://github.com/boostorg/$Name" "Description: Boost $Name module" ) - if ($Name -eq "locale") + if ($PortName -eq "locale") { $controlLines += @( "" @@ -75,7 +65,7 @@ function Generate() "Build-Depends: icu" ) } - if ($Name -eq "regex") + if ($PortName -eq "regex") { $controlLines += @( "" @@ -84,13 +74,24 @@ function Generate() "Build-Depends: icu" ) } - $controlLines | out-file -enc ascii "$portsDir/boost-$sanitizedName/CONTROL" + $controlLines | out-file -enc ascii "$portsDir/boost-$PortName/CONTROL" $portfileLines = @( "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" "" "include(vcpkg_common_functions)" "" + ) + + if ($PortName -eq "system") + { + $portfileLines += @( + "vcpkg_buildpath_length_warning(37)" + "" + ) + } + + $portfileLines += @( "vcpkg_from_github(" " OUT_SOURCE_PATH SOURCE_PATH" " REPO boostorg/$Name" @@ -98,11 +99,11 @@ function Generate() " SHA512 $Hash" " HEAD_REF master" ) - if ($Name -eq "asio") + if ($PortName -eq "asio") { $portfileLines += @(" PATCHES windows_alloca_header.patch") } - if ($Name -eq "iostreams") + if ($PortName -eq "iostreams") { $portfileLines += @(" PATCHES Removeseekpos.patch") } @@ -111,14 +112,14 @@ function Generate() "" ) - if (Test-Path "$scriptsDir/post-source-stubs/$Name.cmake") + if (Test-Path "$scriptsDir/post-source-stubs/$PortName.cmake") { - $portfileLines += @(get-content "$scriptsDir/post-source-stubs/$Name.cmake") + $portfileLines += @(get-content "$scriptsDir/post-source-stubs/$PortName.cmake") } if ($NeedsBuild) { - if ($Name -eq "locale") + if ($PortName -eq "locale") { $portfileLines += @( "if(`"icu`" IN_LIST FEATURES)" @@ -139,7 +140,7 @@ function Generate() ")" ) } - elseif ($Name -eq "regex") + elseif ($PortName -eq "regex") { $portfileLines += @( "if(`"icu`" IN_LIST FEATURES)" @@ -152,7 +153,7 @@ function Generate() "boost_modular_build(SOURCE_PATH `${SOURCE_PATH} REQUIREMENTS `"`${REQUIREMENTS}`")" ) } - elseif ($Name -eq "thread") + elseif ($PortName -eq "thread") { $portfileLines += @( "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" @@ -164,7 +165,7 @@ function Generate() ")" ) } - elseif ($Name -eq "iostreams") + elseif ($PortName -eq "iostreams") { } else @@ -175,7 +176,7 @@ function Generate() ) } } - if ($Name -ne "iostreams") + if ($PortName -ne "iostreams") { $portfileLines += @( "include(`${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)" @@ -183,12 +184,12 @@ function Generate() ) } - if (Test-Path "$scriptsDir/post-build-stubs/$Name.cmake") + if (Test-Path "$scriptsDir/post-build-stubs/$PortName.cmake") { - $portfileLines += @(get-content "$scriptsDir/post-build-stubs/$Name.cmake") + $portfileLines += @(get-content "$scriptsDir/post-build-stubs/$PortName.cmake") } - $portfileLines | out-file -enc ascii "$portsDir/boost-$sanitizedName/portfile.cmake" + $portfileLines | out-file -enc ascii "$portsDir/boost-$PortName/portfile.cmake" } if (!(Test-Path "$scriptsDir/boost")) @@ -383,13 +384,16 @@ foreach ($library in $libraries) $deps += @("mpi") } + $portName = $library -replace "_","-" + Generate ` -Name $library ` + -PortName $portName ` -Hash $hash ` -Depends $deps ` -NeedsBuild $needsBuild - $libraries_in_boost_port += @(TransformReference $library) + $libraries_in_boost_port += @(TransformReference $portName) } finally { @@ -400,7 +404,7 @@ foreach ($library in $libraries) if ($libraries_in_boost_port.length -gt 1) { # Generate master boost control file which depends on each individual library # mpi is excluded due to it having a dependency on msmpi - $boostDependsList = @($libraries_in_boost_port | % { "boost-$_" -replace "_","-" } | ? { $_ -notmatch "boost-mpi" }) -join ", " + $boostDependsList = @($libraries_in_boost_port | % { "boost-$_" } | ? { $_ -notmatch "boost-mpi" }) -join ", " @( "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" diff --git a/scripts/boost/post-source-stubs/iostreams.cmake b/scripts/boost/post-source-stubs/iostreams.cmake index 55841bb3f7..df1479fb87 100644 --- a/scripts/boost/post-source-stubs/iostreams.cmake +++ b/scripts/boost/post-source-stubs/iostreams.cmake @@ -1,5 +1,5 @@ vcpkg_download_distfile(LICENSE - URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.70.0/LICENSE_1_0.txt" + URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.72.0/LICENSE_1_0.txt" FILENAME "boost_LICENSE_1_0.txt" SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 ) diff --git a/scripts/boost/post-source-stubs/python.cmake b/scripts/boost/post-source-stubs/python.cmake index 40b8e0a0b0..5610c489da 100644 --- a/scripts/boost/post-source-stubs/python.cmake +++ b/scripts/boost/post-source-stubs/python.cmake @@ -1,5 +1,5 @@ # Find Python. Can't use find_package here, but we already know where everything is -file(GLOB PYTHON_INCLUDE_PATH "${CURRENT_INSTALLED_DIR}/include/python[0-9.]*") +file(GLOB PYTHON_INCLUDE_PATH "${CURRENT_INSTALLED_DIR}/include/python3.*") set(PYTHONLIBS_RELEASE "${CURRENT_INSTALLED_DIR}/lib") set(PYTHONLIBS_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib") string(REGEX REPLACE ".*python([0-9\.]+)$" "\\1" PYTHON_VERSION "${PYTHON_INCLUDE_PATH}") diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 2067b29838..c4889fbc66 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -143,12 +143,13 @@ blosc:x64-uwp=fail bond:arm-uwp=fail bond:x64-osx=fail bond:x64-uwp=fail -boost-context:arm64-windows=fail boost-context:arm-uwp=fail boost-context:x64-uwp=fail boost-coroutine:arm-uwp=fail +boost-coroutine:arm64-windows=fail boost-coroutine:x64-uwp=fail boost-fiber:arm-uwp=fail +boost-fiber:arm64-windows=fail boost-fiber:x64-osx=fail boost-fiber:x64-uwp=fail boost-fiber:x64-linux=ignore @@ -456,6 +457,7 @@ fmilib:x64-windows=ignore fmilib:x64-windows-static=ignore fmilib:x86-windows=ignore # Folly fails due to a compiler bug in MSVC 19.22.27905, fixed in newer releases +folly:arm64-windows=fail folly:x86-windows=fail folly:x64-windows=fail folly:x64-windows-static=fail @@ -741,7 +743,12 @@ libgd:x64-linux=ignore libgit2:arm64-windows=fail libgit2:arm-uwp=fail libgit2:x64-uwp=fail +libgo:arm64-windows=fail +libgo:x64-linux=fail libgo:x64-osx=fail +libgo:x64-windows=fail +libgo:x64-windows-static=fail +libgo:x86-windows=fail libhydrogen:arm64-windows=fail libics:arm-uwp=fail libics:x64-uwp=fail @@ -1418,7 +1425,6 @@ qt5-macextras:x64-windows-static=fail qt5-macextras:x86-windows=fail qt5-winextras:x64-linux=fail qt5-winextras:x64-osx=fail -quantlib:x64-osx=fail quickfast:x64-linux=ignore quickfix:x64-linux=ignore quickfix:x64-windows=ignore From 24a97b16e70400b874299f9d58f571f215090444 Mon Sep 17 00:00:00 2001 From: Kristof Date: Fri, 17 Jan 2020 00:11:27 +0100 Subject: [PATCH 022/111] [toolsrc] Added missing @ to FATAL_ERROR message (#9720) To install a specific version of a package via homebrew, an `@` symbol must be placed in-between the package name and its version. Added missing symbol to `toolsrc/CMakeLists.txt` See homebrew console output for reference: ``` Kristofs-Mac-Pro:vcpkg kristofdaja$ brew search gcc ==> Formulae gcc gcc@5 gcc@7 x86_64-elf-gcc gcc@4.9 gcc@6 gcc@8 ``` --- toolsrc/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt index 9106204b23..af6981155e 100644 --- a/toolsrc/CMakeLists.txt +++ b/toolsrc/CMakeLists.txt @@ -31,7 +31,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") message(FATAL_ERROR "Building the vcpkg tool requires support for the C++ Filesystem TS. Apple clang versions 10.01 and below do not have support for it. -Please install gcc6 or newer from homebrew (brew install gcc6). +Please install gcc6 or newer from homebrew (brew install gcc@6). If you would like to try anyway, pass --allowAppleClang to bootstrap.sh.") else() set(CLANG 1) From bf3e071e53bf46cba8857859f853dcc8898db817 Mon Sep 17 00:00:00 2001 From: Fabio Pellacini Date: Fri, 17 Jan 2020 07:56:33 +0100 Subject: [PATCH 023/111] [embree3] added cleanup command for static build (#9555) * added cleanup command to embree3 port for static build * updated CONTROL file with version tag * check if file exists before cleanups * fix baseline Co-authored-by: nicole mazzuca --- ports/embree3/CONTROL | 2 +- ports/embree3/portfile.cmake | 9 +++++++++ scripts/ci.baseline.txt | 1 - 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ports/embree3/CONTROL b/ports/embree3/CONTROL index c3c0c0bd60..e3c014636f 100644 --- a/ports/embree3/CONTROL +++ b/ports/embree3/CONTROL @@ -1,5 +1,5 @@ Source: embree3 -Version: 3.6.1 +Version: 3.6.1-1 Homepage: https://github.com/embree/embree Description: High Performance Ray Tracing Kernels. Build-Depends: tbb diff --git a/ports/embree3/portfile.cmake b/ports/embree3/portfile.cmake index 56ed32f0ca..f274f0c7de 100644 --- a/ports/embree3/portfile.cmake +++ b/ports/embree3/portfile.cmake @@ -48,6 +48,15 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share/embree3 TARGET_PATH share/embree) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() +if (EXISTS ${CURRENT_PACKAGES_DIR}/uninstall.command) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/uninstall.command) +endif() +if (EXISTS ${CURRENT_PACKAGES_DIR}/debug/uninstall.command) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/uninstall.command) +endif() file(RENAME ${CURRENT_PACKAGES_DIR}/share/doc ${CURRENT_PACKAGES_DIR}/share/embree/doc) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index c4889fbc66..ab88ed6f64 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -402,7 +402,6 @@ ecsutil:x64-uwp=fail embree2:x64-linux=fail embree2:x64-osx=fail embree2:x64-windows-static=fail -embree3:x64-osx=fail enet:arm-uwp=fail enet:x64-uwp=fail epsilon:arm-uwp=fail From f56645c3fd9a1561c430e90ce00836489b372ef8 Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Fri, 17 Jan 2020 14:21:19 -0800 Subject: [PATCH 024/111] =?UTF-8?q?Community=20Triplets=20=F0=9F=A4=9D=20(?= =?UTF-8?q?#7976)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Move untested triplets to Community Triplets * Document community triplets * Load community triplets by default and alert when using one * [triplets] Merge documentation of community triplets * Bump version --- .gitignore | 8 ++--- docs/users/triplets.md | 20 ++++++++++++ toolsrc/VERSION.txt | 2 +- toolsrc/include/vcpkg/vcpkgpaths.h | 14 ++++++-- toolsrc/src/vcpkg.cpp | 23 ------------- toolsrc/src/vcpkg/build.cpp | 12 +++++-- toolsrc/src/vcpkg/commands.autocomplete.cpp | 4 +-- toolsrc/src/vcpkg/help.cpp | 32 +++++++++++++++++-- toolsrc/src/vcpkg/vcpkgpaths.cpp | 27 +++++++++++----- triplets/{ => community}/arm-windows.cmake | 0 triplets/{ => community}/arm64-uwp.cmake | 0 triplets/{ => community}/x86-uwp.cmake | 0 .../{ => community}/x86-windows-static.cmake | 0 13 files changed, 97 insertions(+), 45 deletions(-) rename triplets/{ => community}/arm-windows.cmake (100%) rename triplets/{ => community}/arm64-uwp.cmake (100%) rename triplets/{ => community}/x86-uwp.cmake (100%) rename triplets/{ => community}/x86-windows-static.cmake (100%) diff --git a/.gitignore b/.gitignore index dbc8019016..5b28596b8a 100644 --- a/.gitignore +++ b/.gitignore @@ -294,15 +294,15 @@ __pycache__/ #ignore custom triplets /triplets/* #add vcpkg-designed triplets back in +!triplets/community/arm64-uwp.cmake +!triplets/community/arm-windows.cmake +!triplets/community/x86-uwp.cmake +!triplets/community/x86-windows-static.cmake !triplets/arm-uwp.cmake -!triplets/arm-windows.cmake !triplets/x64-uwp.cmake !triplets/x64-windows.cmake !triplets/x64-windows-static.cmake -!triplets/x86-uwp.cmake !triplets/x86-windows.cmake -!triplets/x86-windows-static.cmake -!triplets/arm64-uwp.cmake !triplets/arm64-windows.cmake !triplets/x64-linux.cmake !triplets/x64-osx.cmake diff --git a/docs/users/triplets.md b/docs/users/triplets.md index 7b75956e8a..6e52d347d8 100644 --- a/docs/users/triplets.md +++ b/docs/users/triplets.md @@ -8,6 +8,26 @@ We currently provide many triplets by default (run `vcpkg help triplet`). Howeve To change the triplet used by your project, such as to enable static linking, see our [Integration Document](integration.md#triplet-selection). + +## Community triplets + +Triplets contained in the `triplets\community` folder are not tested by continuous integration. + +These triplets contain configurations commonly requested by the community, but for which we lack the resources to properly test. + +Port updates may break compatibility with community triplets, such regressions won't get caught by our testing pipelines. Because of this, community involvement is paramount! + +We will gladly accept and review contributions that aim to solve issues with these triplets. + +### Usage + +Community Triplets are enabled by default, when using a community triplet a message like the following one will be printed during a package install: + +```bash +-- Using community triplet x86-uwp. This triplet configuration is not guaranteed to succeed. +-- [COMMUNITY] Loading triplet configuration from: D:\src\viromer\vcpkg\triplets\community\x86-uwp.cmake +``` + ## Variables ### VCPKG_TARGET_ARCHITECTURE Specifies the target machine architecture. diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt index 4d402b96c7..80548a8198 100644 --- a/toolsrc/VERSION.txt +++ b/toolsrc/VERSION.txt @@ -1 +1 @@ -"2019.09.12" +"2020.01.17" diff --git a/toolsrc/include/vcpkg/vcpkgpaths.h b/toolsrc/include/vcpkg/vcpkgpaths.h index 8107b8201f..52d77d2831 100644 --- a/toolsrc/include/vcpkg/vcpkgpaths.h +++ b/toolsrc/include/vcpkg/vcpkgpaths.h @@ -47,6 +47,14 @@ namespace vcpkg struct VcpkgPaths { + struct TripletFile + { + std::string name; + fs::path location; + + TripletFile(const std::string& name, const fs::path& location) : name(name), location(location){} + }; + static Expected create(const fs::path& vcpkg_root_dir, const Optional& vcpkg_scripts_root_dir, const std::string& default_vs_path, @@ -57,7 +65,8 @@ namespace vcpkg fs::path listfile_path(const BinaryParagraph& pgh) const; bool is_valid_triplet(const Triplet& t) const; - const std::vector& get_available_triplets() const; + const std::vector get_available_triplets_names() const; + const std::vector& get_available_triplets() const; const fs::path get_triplet_file_path(const Triplet& triplet) const; fs::path root; @@ -67,6 +76,7 @@ namespace vcpkg fs::path ports; fs::path installed; fs::path triplets; + fs::path community_triplets; fs::path scripts; fs::path tools; @@ -92,7 +102,7 @@ namespace vcpkg Files::Filesystem& get_filesystem() const; private: - Lazy> available_triplets; + Lazy> available_triplets; Lazy> toolsets; Lazy> toolsets_vs2013; diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index c336d2f63a..2dd13f43df 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -261,29 +261,6 @@ static void load_config() } } -#if defined(_WIN32) -static std::string trim_path_from_command_line(const std::string& full_command_line) -{ - Checks::check_exit( - VCPKG_LINE_INFO, !full_command_line.empty(), "Internal failure - cannot have empty command line"); - - if (full_command_line[0] == '"') - { - auto it = std::find(full_command_line.cbegin() + 1, full_command_line.cend(), '"'); - if (it != full_command_line.cend()) // Skip over the quote - ++it; - while (it != full_command_line.cend() && *it == ' ') // Skip over a space - ++it; - return std::string(it, full_command_line.cend()); - } - - auto it = std::find(full_command_line.cbegin(), full_command_line.cend(), ' '); - while (it != full_command_line.cend() && *it == ' ') - ++it; - return std::string(it, full_command_line.cend()); -} -#endif - #if defined(_WIN32) // note: this prevents a false positive for -Wmissing-prototypes on clang-cl int wmain(int, const wchar_t* const*); diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index f13dd2a250..654142696a 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -497,6 +497,8 @@ namespace vcpkg::Build else { const auto algo = Hash::Algorithm::Sha1; + // TODO: Use file path as part of hash. + // REASON: Copying a triplet file without modifying it produces the same hash as the original. hash = Hash::get_file_hash(VCPKG_LINE_INFO, fs, triplet_file_path, algo); if (auto p = pre_build_info.external_toolchain_file.get()) @@ -550,10 +552,16 @@ namespace vcpkg::Build const Triplet& triplet = spec.triplet(); const auto& triplet_file_path = paths.get_triplet_file_path(spec.triplet()).u8string(); - if (!Strings::case_insensitive_ascii_starts_with(triplet_file_path, paths.triplets.u8string())) + if (Strings::case_insensitive_ascii_starts_with(triplet_file_path, paths.community_triplets.u8string())) { - System::printf("-- Loading triplet configuration from: %s\n", triplet_file_path); + System::printf(vcpkg::System::Color::warning, "-- Using community triplet %s. This triplet configuration is not guaranteed to succeed.\n", triplet.canonical_name()); + System::printf("-- [COMMUNITY] Loading triplet configuration from: %s\n", triplet_file_path); } + else if (!Strings::case_insensitive_ascii_starts_with(triplet_file_path, paths.triplets.u8string())) + { + System::printf("-- [OVERLAY] Loading triplet configuration from: %s\n", triplet_file_path); + } + if (!Strings::case_insensitive_ascii_starts_with(config.port_dir.u8string(), paths.ports.u8string())) { System::printf("-- Installing port from location: %s\n", config.port_dir.u8string()); diff --git a/toolsrc/src/vcpkg/commands.autocomplete.cpp b/toolsrc/src/vcpkg/commands.autocomplete.cpp index 8449b7096a..d4149ae6dc 100644 --- a/toolsrc/src/vcpkg/commands.autocomplete.cpp +++ b/toolsrc/src/vcpkg/commands.autocomplete.cpp @@ -97,7 +97,7 @@ namespace vcpkg::Commands::Autocomplete Checks::exit_success(VCPKG_LINE_INFO); } - std::vector triplets = paths.get_available_triplets(); + std::vector triplets = paths.get_available_triplets_names(); Util::erase_remove_if(triplets, [&](const std::string& s) { return !Strings::case_insensitive_ascii_starts_with(s, triplet_prefix); }); @@ -158,7 +158,7 @@ namespace vcpkg::Commands::Autocomplete if (command.name == "install" && results.size() == 1 && !is_option) { const auto port_at_each_triplet = - combine_port_with_triplets(results[0], paths.get_available_triplets()); + combine_port_with_triplets(results[0], paths.get_available_triplets_names()); Util::Vectors::concatenate(&results, port_at_each_triplet); } diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp index a4908e02e3..78bc43539a 100644 --- a/toolsrc/src/vcpkg/help.cpp +++ b/toolsrc/src/vcpkg/help.cpp @@ -74,10 +74,36 @@ namespace vcpkg::Help void help_topic_valid_triplet(const VcpkgPaths& paths) { - System::print2("Available architecture triplets:\n"); - for (auto&& triplet : paths.get_available_triplets()) + std::map> triplets_per_location; + vcpkg::Util::group_by(paths.get_available_triplets(), + &triplets_per_location, + [](const VcpkgPaths::TripletFile& triplet_file) -> std::string { + return triplet_file.location.u8string(); + }); + + System::print2("Available architecture triplets\n"); + + System::print2("VCPKG built-in triplets:\n"); + for (auto* triplet : triplets_per_location[paths.triplets.u8string()]) { - System::print2(" ", triplet, '\n'); + System::print2(" ", triplet->name, '\n'); + } + triplets_per_location.erase(paths.triplets.u8string()); + + System::print2("\nVCPKG community triplets:\n"); + for (auto* triplet : triplets_per_location[paths.community_triplets.u8string()]) + { + System::print2(" ", triplet->name, '\n'); + } + triplets_per_location.erase(paths.community_triplets.u8string()); + + for (auto&& kv_pair : triplets_per_location) + { + System::print2("\nOverlay triplets from ", kv_pair.first, ":\n"); + for (auto* triplet : kv_pair.second) + { + System::print2(" ", triplet->name, '\n'); + } } } diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp index 078121fcc2..692cf1634c 100644 --- a/toolsrc/src/vcpkg/vcpkgpaths.cpp +++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp @@ -67,6 +67,7 @@ namespace vcpkg paths.ports = paths.root / "ports"; paths.installed = paths.root / "installed"; paths.triplets = paths.root / "triplets"; + paths.community_triplets = paths.triplets / "community"; if (auto scripts_dir = vcpkg_scripts_root_dir.get()) { @@ -110,7 +111,8 @@ namespace vcpkg paths.triplets_dirs.emplace_back(fs::stdfs::canonical(path)); } } - paths.triplets_dirs.emplace_back(fs::stdfs::canonical(paths.root / "triplets")); + paths.triplets_dirs.emplace_back(fs::stdfs::canonical(paths.triplets)); + paths.triplets_dirs.emplace_back(fs::stdfs::canonical(paths.community_triplets)); return paths; } @@ -130,23 +132,32 @@ namespace vcpkg bool VcpkgPaths::is_valid_triplet(const Triplet& t) const { const auto it = Util::find_if(this->get_available_triplets(), [&](auto&& available_triplet) { - return t.canonical_name() == available_triplet; + return t.canonical_name() == available_triplet.name; }); return it != this->get_available_triplets().cend(); } - const std::vector& VcpkgPaths::get_available_triplets() const + const std::vector VcpkgPaths::get_available_triplets_names() const { - return this->available_triplets.get_lazy([this]() -> std::vector { - std::vector output; + return vcpkg::Util::fmap(this->get_available_triplets(), + [](auto&& triplet_file) -> std::string { return triplet_file.name; }); + } + + const std::vector& VcpkgPaths::get_available_triplets() const + { + return this->available_triplets.get_lazy([this]() -> std::vector { + std::vector output; + Files::Filesystem& fs = this->get_filesystem(); for (auto&& triplets_dir : triplets_dirs) { - for (auto&& path : this->get_filesystem().get_files_non_recursive(triplets_dir)) + for (auto&& path : fs.get_files_non_recursive(triplets_dir)) { - output.push_back(path.stem().filename().string()); + if (fs::is_regular_file(fs.status(VCPKG_LINE_INFO, path))) + { + output.emplace_back(TripletFile(path.stem().filename().u8string(), triplets_dir)); + } } } - Util::sort_unique_erase(output); return output; }); } diff --git a/triplets/arm-windows.cmake b/triplets/community/arm-windows.cmake similarity index 100% rename from triplets/arm-windows.cmake rename to triplets/community/arm-windows.cmake diff --git a/triplets/arm64-uwp.cmake b/triplets/community/arm64-uwp.cmake similarity index 100% rename from triplets/arm64-uwp.cmake rename to triplets/community/arm64-uwp.cmake diff --git a/triplets/x86-uwp.cmake b/triplets/community/x86-uwp.cmake similarity index 100% rename from triplets/x86-uwp.cmake rename to triplets/community/x86-uwp.cmake diff --git a/triplets/x86-windows-static.cmake b/triplets/community/x86-windows-static.cmake similarity index 100% rename from triplets/x86-windows-static.cmake rename to triplets/community/x86-windows-static.cmake From 38b959022cec1b865489d97a697eda84b49cc4e5 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Sat, 18 Jan 2020 00:36:08 +0100 Subject: [PATCH 025/111] Add support for building with MinGW (#9137) * Add support for building with MinGW Tested with MSYS2 MinGW 8.3.0, gcc-mcf.lhmouse MinGW 9.2.1, and StephanTLavavej/mingw-distro! * Add MinGW toolchain From your MinGW configured shell you could just use vcpkg to configure packages. An x64-mingw triplet would look like: ``` set(VCPKG_TARGET_ARCHITECTURE x64) set(VCPKG_CRT_LINKAGE dynamic) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_ENV_PASSTHROUGH PATH) set(VCPKG_CMAKE_SYSTEM_NAME MinGW) ``` * Add MinGW community tripplets x64 tested with https://github.com/StephanTLavavej/mingw-distro x86, arm64, arm tested with https://github.com/mstorsjo/llvm-mingw --- .gitignore | 4 ++ scripts/cmake/vcpkg_common_definitions.cmake | 19 +++++++--- scripts/cmake/vcpkg_configure_cmake.cmake | 8 ++-- scripts/templates/portfile.in.cmake | 7 ++-- scripts/toolchains/mingw.cmake | 40 ++++++++++++++++++++ toolsrc/CMakeLists.txt | 30 ++++++++++++++- toolsrc/include/pch.h | 4 ++ toolsrc/include/vcpkg/base/files.h | 8 ++++ toolsrc/src/vcpkg.cpp | 13 ++++++- toolsrc/src/vcpkg/base/hash.cpp | 8 ++-- toolsrc/src/vcpkg/base/system.cpp | 4 +- triplets/community/arm-mingw.cmake | 6 +++ triplets/community/arm64-mingw.cmake | 6 +++ triplets/community/x64-mingw.cmake | 6 +++ triplets/community/x86-mingw.cmake | 6 +++ 15 files changed, 148 insertions(+), 21 deletions(-) create mode 100644 scripts/toolchains/mingw.cmake create mode 100644 triplets/community/arm-mingw.cmake create mode 100644 triplets/community/arm64-mingw.cmake create mode 100644 triplets/community/x64-mingw.cmake create mode 100644 triplets/community/x86-mingw.cmake diff --git a/.gitignore b/.gitignore index 5b28596b8a..297819bf46 100644 --- a/.gitignore +++ b/.gitignore @@ -294,8 +294,12 @@ __pycache__/ #ignore custom triplets /triplets/* #add vcpkg-designed triplets back in +!triplets/community/arm64-mingw.cmake !triplets/community/arm64-uwp.cmake +!triplets/community/arm-mingw.cmake !triplets/community/arm-windows.cmake +!triplets/community/x64-mingw.cmake +!triplets/community/x86-mingw.cmake !triplets/community/x86-uwp.cmake !triplets/community/x86-windows-static.cmake !triplets/arm-uwp.cmake diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake index 14cf460af8..3a1818bf56 100644 --- a/scripts/cmake/vcpkg_common_definitions.cmake +++ b/scripts/cmake/vcpkg_common_definitions.cmake @@ -37,9 +37,12 @@ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") set(VCPKG_TARGET_IS_ANDROID 1) elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") set(VCPKG_TARGET_IS_FREEBSD 1) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW") + set(VCPKG_TARGET_IS_WINDOWS 1) + set(VCPKG_TARGET_IS_MINGW 1) endif() -#Helper variable to identify the host path separator. +#Helper variable to identify the host path separator. if(CMAKE_HOST_WIN32) set(VCPKG_HOST_PATH_SEPARATOR ";") elseif(CMAKE_HOST_UNIX) @@ -71,11 +74,15 @@ if(VCPKG_TARGET_IS_WINDOWS) set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "") set(VCPKG_FIND_LIBRARY_SUFFIXES ".lib" ".dll") #This is a slight modification to CMakes value which does not include ".dll". set(VCPKG_FIND_LIBRARY_PREFIXES "" "lib") #This is a slight modification to CMakes value which does not include "lib". - ## For CYGWIN and Windows GNU, maybe VCPKG will support that in the future? - #set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".dll.a") - #set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "lib") - #set(VCPKG_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib") - #set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "") +elseif(VCPKG_TARGET_IS_MINGW) + set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a") + set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".dll.a") + set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll") + set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib") + set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib") + set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "lib") + set(VCPKG_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib") + set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "") elseif(VCPKG_TARGET_IS_OSX) set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a") set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX "") diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index c31955fb25..260f2471e4 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -59,7 +59,7 @@ ## * [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) ## * [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) function(vcpkg_configure_cmake) - cmake_parse_arguments(_csc + cmake_parse_arguments(_csc "PREFER_NINJA;DISABLE_PARALLEL_CONFIGURE;NO_CHARSET_FLAG" "SOURCE_PATH;GENERATOR" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" @@ -177,13 +177,13 @@ function(vcpkg_configure_cmake) "Invalid setting for VCPKG_LIBRARY_LINKAGE: \"${VCPKG_LIBRARY_LINKAGE}\". " "It must be \"static\" or \"dynamic\"") endif() - + macro(check_both_vars_are_set var1 var2) if((NOT DEFINED ${var1} OR NOT DEFINED ${var2}) AND (DEFINED ${var1} OR DEFINED ${var2})) message(FATAL_ERROR "Both ${var1} and ${var2} must be set.") endif() endmacro() - + check_both_vars_are_set(VCPKG_CXX_FLAGS_DEBUG VCPKG_C_FLAGS_DEBUG) check_both_vars_are_set(VCPKG_CXX_FLAGS_RELEASE VCPKG_C_FLAGS_RELEASE) check_both_vars_are_set(VCPKG_CXX_FLAGS VCPKG_C_FLAGS) @@ -204,6 +204,8 @@ function(vcpkg_configure_cmake) set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/osx.cmake") elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/freebsd.cmake") + elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW") + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/mingw.cmake") endif() endif() diff --git a/scripts/templates/portfile.in.cmake b/scripts/templates/portfile.in.cmake index 62c53a6db8..7ddf662e83 100644 --- a/scripts/templates/portfile.in.cmake +++ b/scripts/templates/portfile.in.cmake @@ -22,11 +22,12 @@ # VCPKG_TARGET_IS_OSX # VCPKG_TARGET_IS_FREEBSD # VCPKG_TARGET_IS_ANDROID +# VCPKG_TARGET_IS_MINGW # VCPKG_TARGET_EXECUTABLE_SUFFIX # VCPKG_TARGET_STATIC_LIBRARY_SUFFIX # VCPKG_TARGET_SHARED_LIBRARY_SUFFIX # -# See additional helpful variables in /docs/maintainers/vcpkg_common_definitions.md +# See additional helpful variables in /docs/maintainers/vcpkg_common_definitions.md # # Specifies if the port install should fail immediately given a condition # vcpkg_fail_port_install(MESSAGE "@PORT@ currently only supports Linux and Mac platforms" ON_TARGET "Windows") @@ -39,10 +40,10 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + ARCHIVE ${ARCHIVE} # (Optional) A friendly name to use instead of the filename of the archive (e.g.: a version number or tag). # REF 1.0.0 - # (Optional) Read the docs for how to generate patches at: + # (Optional) Read the docs for how to generate patches at: # https://github.com/Microsoft/vcpkg/blob/master/docs/examples/patching.md # PATCHES # 001_port_fixes.patch diff --git a/scripts/toolchains/mingw.cmake b/scripts/toolchains/mingw.cmake new file mode 100644 index 0000000000..def98799fe --- /dev/null +++ b/scripts/toolchains/mingw.cmake @@ -0,0 +1,40 @@ +if(NOT _VCPKG_MINGW_TOOLCHAIN) +set(_VCPKG_MINGW_TOOLCHAIN 1) +if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") + set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") +endif() + +# Need to override MinGW from VCPKG_CMAKE_SYSTEM_NAME +set(CMAKE_SYSTEM_NAME Windows CACHE STRING "" FORCE) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CMAKE_SYSTEM_PROCESSOR i686 CACHE STRING "") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(CMAKE_SYSTEM_PROCESSOR armv7 CACHE STRING "") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "") +endif() + +foreach(lang C CXX) + set(CMAKE_${lang}_COMPILER_TARGET "${CMAKE_SYSTEM_PROCESSOR}-windows-gnu" CACHE STRING "") +endforeach() + +get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) +if(NOT _CMAKE_IN_TRY_COMPILE) + string(APPEND CMAKE_C_FLAGS_INIT " ${VCPKG_C_FLAGS} ") + string(APPEND CMAKE_CXX_FLAGS_INIT " ${VCPKG_CXX_FLAGS} ") + string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") + string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " ${VCPKG_CXX_FLAGS_DEBUG} ") + string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") + string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") + + string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + if(VCPKG_CRT_LINKAGE STREQUAL "static") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT "-static ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT "-static ") + endif() +endif() +endif() diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt index af6981155e..9dcf95d14c 100644 --- a/toolsrc/CMakeLists.txt +++ b/toolsrc/CMakeLists.txt @@ -65,7 +65,14 @@ if(CLANG AND NOT MSVC) endif() if(GCC OR (CLANG AND USES_LIBSTDCXX)) - link_libraries(stdc++fs) + include(CheckCXXSourceCompiles) + set(CMAKE_REQUIRED_LIBRARIES stdc++fs) + check_cxx_source_compiles("#include + int main() { return 0; }" LINKS_TO_STDCXX_FS) + unset(CMAKE_REQUIRED_LIBRARIES) + if (LINKS_TO_STDCXX_FS) + link_libraries(stdc++fs) + endif() elseif(CLANG AND NOT MSVC AND NOT NO_LIBCXXFS) link_libraries(c++fs) endif() @@ -94,7 +101,7 @@ elseif(GCC OR CLANG) add_compile_options(-std=c++1z) if(VCPKG_DEVELOPMENT_WARNINGS) - add_compile_options(-Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-missing-field-initializers -Werror) + add_compile_options(-Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-missing-field-initializers -Wno-redundant-move -Werror) # GCC and clang have different names for the same warning if (GCC) @@ -143,3 +150,22 @@ if(MSVC) target_sources(vcpkg PRIVATE src/pch.cpp) target_compile_options(vcpkg PRIVATE /Yupch.h /FIpch.h /Zm200) endif() + +if (MINGW) + include(CheckCXXSourceCompiles) + check_cxx_source_compiles("#include + int main() { return 0; }" USES_EXPERIMENTAL_FS) + + if (NOT USES_EXPERIMENTAL_FS) + add_compile_definitions(USE_STD_FILESYSTEM) + endif() + + add_compile_definitions( + UNICODE + _WIN32_WINNT=0x0601 + WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY=4 + __fastfail=exit) + foreach(tgt vcpkg vcpkg-test) + target_link_libraries(${tgt} PRIVATE winhttp bcrypt version ole32 uuid) + endforeach() +endif() diff --git a/toolsrc/include/pch.h b/toolsrc/include/pch.h index ce2a7c9c53..a6a442f0ae 100644 --- a/toolsrc/include/pch.h +++ b/toolsrc/include/pch.h @@ -31,7 +31,11 @@ #include #define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING #include +#if USE_STD_FILESYSTEM +#include +#else #include +#endif #include #include #include diff --git a/toolsrc/include/vcpkg/base/files.h b/toolsrc/include/vcpkg/base/files.h index e9d3d33bf7..bb4a10d499 100644 --- a/toolsrc/include/vcpkg/base/files.h +++ b/toolsrc/include/vcpkg/base/files.h @@ -2,12 +2,20 @@ #include +#if USE_STD_FILESYSTEM +#include +#else #define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING #include +#endif namespace fs { +#if USE_STD_FILESYSTEM + namespace stdfs = std::filesystem; +#else namespace stdfs = std::experimental::filesystem; +#endif using stdfs::copy_options; using stdfs::path; diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index 2dd13f43df..1f212dd948 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -263,7 +263,18 @@ static void load_config() #if defined(_WIN32) // note: this prevents a false positive for -Wmissing-prototypes on clang-cl -int wmain(int, const wchar_t* const*); +int wmain(int, const wchar_t* const* const); + +#if !defined(_MSC_VER) +#include +int main(int argc, const char* const* const /*argv*/) +{ + wchar_t **wargv; + wargv = CommandLineToArgvW(GetCommandLineW(), &argc); + return wmain(argc, wargv); +} +#endif + int wmain(const int argc, const wchar_t* const* const argv) #else int main(const int argc, const char* const* const argv) diff --git a/toolsrc/src/vcpkg/base/hash.cpp b/toolsrc/src/vcpkg/base/hash.cpp index 11df3e3292..81635b875e 100644 --- a/toolsrc/src/vcpkg/base/hash.cpp +++ b/toolsrc/src/vcpkg/base/hash.cpp @@ -123,9 +123,9 @@ namespace vcpkg::Hash void top_bits(T) = delete; static constexpr uchar top_bits(uchar x) noexcept { return x; } - static constexpr uchar top_bits(std::uint32_t x) noexcept { return (x >> 24) & 0xFF; } - static constexpr uchar top_bits(std::uint64_t x) noexcept { return (x >> 56) & 0xFF; } - static constexpr uchar top_bits(UInt128 x) noexcept { return top_bits(x.top); } + [[maybe_unused]] static constexpr uchar top_bits(std::uint32_t x) noexcept { return (x >> 24) & 0xFF; } + [[maybe_unused]] static constexpr uchar top_bits(std::uint64_t x) noexcept { return (x >> 56) & 0xFF; } + [[maybe_unused]] static constexpr uchar top_bits(UInt128 x) noexcept { return top_bits(x.top); } // treats UIntTy as big endian for the purpose of this mapping template @@ -145,7 +145,7 @@ namespace vcpkg::Hash for (uchar& ch : buff) { ch = top_bits(tmp); - tmp <<= 8; + tmp = UIntTy(tmp << 8); } for (const auto byte : buff) diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index c84b7f8be4..5a446a3303 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -378,7 +378,7 @@ namespace vcpkg g_ctrl_c_state.transition_to_spawn_process(); auto clean_env = compute_clean_environment(extra_env, prepend_to_path); - windows_create_process(cmd_line, clean_env.data(), process_info, NULL); + windows_create_process(cmd_line, clean_env.data(), process_info, 0); CloseHandle(process_info.hThread); @@ -542,7 +542,7 @@ namespace vcpkg { HKEY k = nullptr; const LSTATUS ec = - RegOpenKeyExW(reinterpret_cast(base_hkey), Strings::to_utf16(sub_key).c_str(), NULL, KEY_READ, &k); + RegOpenKeyExW(reinterpret_cast(base_hkey), Strings::to_utf16(sub_key).c_str(), 0, KEY_READ, &k); if (ec != ERROR_SUCCESS) return nullopt; auto w_valuename = Strings::to_utf16(valuename); diff --git a/triplets/community/arm-mingw.cmake b/triplets/community/arm-mingw.cmake new file mode 100644 index 0000000000..ca99fac839 --- /dev/null +++ b/triplets/community/arm-mingw.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE arm) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_ENV_PASSTHROUGH PATH) + +set(VCPKG_CMAKE_SYSTEM_NAME MinGW) diff --git a/triplets/community/arm64-mingw.cmake b/triplets/community/arm64-mingw.cmake new file mode 100644 index 0000000000..c4d88830f3 --- /dev/null +++ b/triplets/community/arm64-mingw.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_ENV_PASSTHROUGH PATH) + +set(VCPKG_CMAKE_SYSTEM_NAME MinGW) diff --git a/triplets/community/x64-mingw.cmake b/triplets/community/x64-mingw.cmake new file mode 100644 index 0000000000..28600f0ccd --- /dev/null +++ b/triplets/community/x64-mingw.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_ENV_PASSTHROUGH PATH) + +set(VCPKG_CMAKE_SYSTEM_NAME MinGW) diff --git a/triplets/community/x86-mingw.cmake b/triplets/community/x86-mingw.cmake new file mode 100644 index 0000000000..3769b85f0c --- /dev/null +++ b/triplets/community/x86-mingw.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE x86) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_ENV_PASSTHROUGH PATH) + +set(VCPKG_CMAKE_SYSTEM_NAME MinGW) From 08c8214d68edda04cd9da8eda1b2271da00c8628 Mon Sep 17 00:00:00 2001 From: winsoft666 <46803815+winsoft666@users.noreply.github.com> Date: Sat, 18 Jan 2020 08:12:40 +0800 Subject: [PATCH 026/111] [teemo] new port. (#9684) --- ports/teemo/CONTROL | 5 +++++ ports/teemo/portfile.cmake | 41 ++++++++++++++++++++++++++++++++++++++ scripts/ci.baseline.txt | 4 ++++ 3 files changed, 50 insertions(+) create mode 100644 ports/teemo/CONTROL create mode 100644 ports/teemo/portfile.cmake diff --git a/ports/teemo/CONTROL b/ports/teemo/CONTROL new file mode 100644 index 0000000000..2ee045a353 --- /dev/null +++ b/ports/teemo/CONTROL @@ -0,0 +1,5 @@ +Source: teemo +Version: 1.2 +Build-Depends: curl[non-http], cpprestsdk +Description: C++ File Download Library, support Multithreading, Breakpoint Transmission, Speed Limit, Real-time Speed. +Homepage: https://github.com/winsoft666/teemo \ No newline at end of file diff --git a/ports/teemo/portfile.cmake b/ports/teemo/portfile.cmake new file mode 100644 index 0000000000..df79626c0b --- /dev/null +++ b/ports/teemo/portfile.cmake @@ -0,0 +1,41 @@ +vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP" "osx") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO winsoft666/teemo + REF 15edb1705d18ee78b32516a8ae52d6b10507af62 + SHA512 7dbe917d48b1e8c4b004bad33d8a82524e501d8bec6cdeca4e89ebbe8ed79fa484028c3afd365347e31fa83f64a6f0f5a42ea0063baa7c0985824fb3dffcc8f2 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" TEEMO_STATIC) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DTEEMO_STATIC:BOOL=${TEEMO_STATIC} + -DBUILD_TESTS:BOOL=OFF +) + +vcpkg_install_cmake() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/teemo) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/teemo) +elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/teemo) + vcpkg_fixup_cmake_targets(CONFIG_PATH share/teemo) +endif() + +file(READ ${CURRENT_PACKAGES_DIR}/include/teemo.h TEEMO_H) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + string(REPLACE "#ifdef TEEMO_STATIC" "#if 1" TEEMO_H "${TEEMO_H}") +else() + string(REPLACE "#ifdef TEEMO_STATIC" "#if 0" TEEMO_H "${TEEMO_H}") +endif() +file(WRITE ${CURRENT_PACKAGES_DIR}/include/teemo.h "${TEEMO_H}") + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +vcpkg_copy_pdbs() \ No newline at end of file diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index ab88ed6f64..255607e562 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1631,6 +1631,10 @@ tcl:arm64-windows=ignore tcl:x64-uwp=ignore tcl:x64-linux=ignore tcl:x64-osx=ignore +teemo:x64-uwp=fail +teemo:arm-uwp=fail +teemo:arm64-windows=fail +teemo:x64-osx=fail telnetpp:arm-uwp=fail telnetpp:x64-uwp=fail tensorflow-cc:arm64-windows=fail From 6ee44d2260fcfac523c73d0997b1edd95311eedc Mon Sep 17 00:00:00 2001 From: Oleg Shparber Date: Fri, 17 Jan 2020 19:13:12 -0500 Subject: [PATCH 027/111] [libarchive] Update to 3.4.1 (#9676) --- ports/libarchive/CONTROL | 2 +- ports/libarchive/portfile.cmake | 54 ++++++++------------------------- 2 files changed, 13 insertions(+), 43 deletions(-) diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL index 907e507452..73760e887b 100644 --- a/ports/libarchive/CONTROL +++ b/ports/libarchive/CONTROL @@ -1,5 +1,5 @@ Source: libarchive -Version: 3.4.0-2 +Version: 3.4.1 Homepage: https://github.com/libarchive/libarchive Description: Library for reading and writing streaming archives Build-Depends: zlib diff --git a/ports/libarchive/portfile.cmake b/ports/libarchive/portfile.cmake index 61d1dfd4ac..fd475b199a 100644 --- a/ports/libarchive/portfile.cmake +++ b/ports/libarchive/portfile.cmake @@ -1,14 +1,10 @@ -# libarchive uses winapi functions not available in WindowsStore -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "Error: UWP builds are not supported.") -endif() +vcpkg_fail_port_install(ON_TARGET "UWP") -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libarchive/libarchive - REF 614110e76d9dbb9ed3e159a71cbd75fa3b23efe3 - SHA512 8feac2c0e22e5b7c05f3be97c774ad82d39bdea4b3fa3a2b297b85f8a5a9f548c528ef63f5495afd42fb75759e03a4108f3831b27103f899f8fe4ef7e8e2d1cf + REF cce09646b566c61c2debff58a70da780b8457883 + SHA512 3eef6844269ecb9c3b7c848013539529e6ef2d298b6ca6c3c939a2a2e39da98db36bd66eea8893224bc4318edc073639136fbca71b2b0bec65216562e8188749 HEAD_REF master PATCHES fix-buildsystem.patch @@ -18,46 +14,20 @@ vcpkg_from_github( fix-cpu-set.patch ) -set(BUILD_libarchive_bzip2 OFF) -if("bzip2" IN_LIST FEATURES) - set(BUILD_libarchive_bzip2 ON) -endif() - -set(BUILD_libarchive_libxml2 OFF) -if("libxml2" IN_LIST FEATURES) - set(BUILD_libarchive_libxml2 ON) -endif() - -set(BUILD_libarchive_lz4 OFF) -if("lz4" IN_LIST FEATURES) - set(BUILD_libarchive_lz4 ON) -endif() - -set(BUILD_libarchive_lzma OFF) -if("lzma" IN_LIST FEATURES) - set(BUILD_libarchive_lzma ON) -endif() - -set(BUILD_libarchive_lzo OFF) -if("lzo" IN_LIST FEATURES) - set(BUILD_libarchive_lzo ON) -endif() - -set(BUILD_libarchive_openssl OFF) -if("openssl" IN_LIST FEATURES) - set(BUILD_libarchive_openssl ON) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + bzip2 ENABLE_BZip2 + libxml2 ENABLE_LIBXML2 + lz4 ENABLE_LZ4 + lzma ENABLE_LZMA + lzo ENABLE_LZO + openssl ENABLE_OPENSSL +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DENABLE_BZip2=${BUILD_libarchive_bzip2} - -DENABLE_LIBXML2=${BUILD_libarchive_libxml2} - -DENABLE_LZ4=${BUILD_libarchive_lz4} - -DENABLE_LZMA=${BUILD_libarchive_lzma} - -DENABLE_LZO=${BUILD_libarchive_lzo} - -DENABLE_OPENSSL=${BUILD_libarchive_openssl} + ${FEATURE_OPTIONS} -DENABLE_PCREPOSIX=OFF -DENABLE_NETTLE=OFF -DENABLE_EXPAT=OFF From 5a213dff376b348c5b333ede04408227008fef0b Mon Sep 17 00:00:00 2001 From: Maximilian Kruse Date: Sat, 18 Jan 2020 01:23:14 +0100 Subject: [PATCH 028/111] [tinyfiledialogs] Fix tinyfiledialogs not being fetchable from sourceforge (#9630) * Fix tinyfiledialogs not being fetchable from sourceforge Fix tinyfiledialogs not being fetchable from sourceforge. Use github instead. * Update CONTROL * Update portfile.cmake * Update portfile.cmake Update source url * Update CONTROL --- ports/tinyfiledialogs/CONTROL | 3 ++- ports/tinyfiledialogs/portfile.cmake | 4 +--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/ports/tinyfiledialogs/CONTROL b/ports/tinyfiledialogs/CONTROL index 9654ca0c05..346c8f8860 100644 --- a/ports/tinyfiledialogs/CONTROL +++ b/ports/tinyfiledialogs/CONTROL @@ -1,3 +1,4 @@ Source: tinyfiledialogs -Version: 3.3.8-1 +Version: 3.4.3 Description: Highly portable and cross-platform dialogs for native inputbox, passwordbox, colorpicker and more +Homepage: https://sourceforge.net/projects/tinyfiledialogs/ diff --git a/ports/tinyfiledialogs/portfile.cmake b/ports/tinyfiledialogs/portfile.cmake index 5b281a63e7..bc9dff0333 100644 --- a/ports/tinyfiledialogs/portfile.cmake +++ b/ports/tinyfiledialogs/portfile.cmake @@ -1,11 +1,9 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH URL https://git.code.sf.net/p/tinyfiledialogs/code - REF 331f93e903e0555399bf81479114dda978a77d7c + REF f7789c57db4269495a6702625351a15e5ee17542 ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) From d672201c632473992c1d2c38282a5afc846d1702 Mon Sep 17 00:00:00 2001 From: zhbanito Date: Sat, 18 Jan 2020 03:24:09 +0300 Subject: [PATCH 029/111] [tesseract] port update to 4.1.1 release (#9629) * Update portfile.cmake * Update fix-text2image.patch * Update CONTROL --- ports/tesseract/CONTROL | 2 +- ports/tesseract/fix-text2image.patch | 18 +++++++++--------- ports/tesseract/portfile.cmake | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL index c8470401f1..b5eea71831 100644 --- a/ports/tesseract/CONTROL +++ b/ports/tesseract/CONTROL @@ -1,5 +1,5 @@ Source: tesseract -Version: 4.1.0-4 +Version: 4.1.1 Homepage: https://github.com/tesseract-ocr/tesseract Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. Build-Depends: leptonica diff --git a/ports/tesseract/fix-text2image.patch b/ports/tesseract/fix-text2image.patch index e4d83347f1..8a9c6caf49 100644 --- a/ports/tesseract/fix-text2image.patch +++ b/ports/tesseract/fix-text2image.patch @@ -5,9 +5,9 @@ index 8fd96a9..186341e 100644 @@ -52,7 +52,7 @@ endif() # experimental - if (NOT CPPAN_BUILD) -- find_package(ICU COMPONENTS uc i18n) -+ find_package(ICU REQUIRED COMPONENTS i18n uc) + if (NOT CPPAN_BUILD AND NOT SW_BUILD) +- find_package(ICU 52.1 COMPONENTS uc i18n) ++ find_package(ICU 52.1 REQUIRED COMPONENTS i18n uc) endif() ######################################## @@ -18,17 +18,17 @@ index 8fd96a9..186341e 100644 +if(UNIX) + list(APPEND ICU_LIBRARIES ${CMAKE_DL_LIBS}) +endif() - if (NOT CPPAN_BUILD) - target_link_libraries (unicharset_training common_training ${ICU_LIBRARIES}) - else() -@@ -253,16 +256,27 @@ if (NOT CPPAN_BUILD) + if (CPPAN_BUILD) + target_link_libraries (unicharset_training common_training pvt.cppan.demo.unicode.icu.i18n) + elseif (SW_BUILD) +@@ -253,16 +256,27 @@ if (NOT CPPAN_BUILD AND NOT SW_BUILD) find_package(PkgConfig) endif() --if (PKG_CONFIG_FOUND OR CPPAN_BUILD) +-if (PKG_CONFIG_FOUND OR CPPAN_BUILD OR SW_BUILD) - -if (PKG_CONFIG_FOUND) --pkg_check_modules(Pango REQUIRED pango) +-pkg_check_modules(Pango REQUIRED pango>=1.22.0) -pkg_check_modules(Cairo REQUIRED cairo) -pkg_check_modules(PangoFt2 REQUIRED pangoft2) -pkg_check_modules(PangoCairo REQUIRED pangocairo) diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake index f25e027155..d0a202a7d9 100644 --- a/ports/tesseract/portfile.cmake +++ b/ports/tesseract/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tesseract-ocr/tesseract - REF 4.1.0 - SHA512 d617f5c5b826640b2871dbe3d7973bcc5e66fafd837921a20e009d683806ed50f0f258aa455019d99fc54f5cb65c2fa0380e3a3c92b39ab0684b8799c730b09d + REF 4.1.1 + SHA512 017723a2268be789fe98978eed02fd294968cc8050dde376dee026f56f2b99df42db935049ae5e72c4519a920e263b40af1a6a40d9942e66608145b3131a71a2 PATCHES fix-tiff-linkage.patch fix-text2image.patch @@ -82,4 +82,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 9a57d51242bf2bedccd372a0bf7988fb14c11280 Mon Sep 17 00:00:00 2001 From: tags Date: Sat, 18 Jan 2020 01:25:10 +0100 Subject: [PATCH 030/111] [glm] Updated to 0.9.9.7 (#9621) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [glm] Updated to 0.9.9.7 * Changes suggested by Wolfgang Stöggl --- ports/glm/CONTROL | 2 +- ports/glm/portfile.cmake | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/ports/glm/CONTROL b/ports/glm/CONTROL index ccf64caa15..f58bbb0d7a 100644 --- a/ports/glm/CONTROL +++ b/ports/glm/CONTROL @@ -1,4 +1,4 @@ Source: glm -Version: 0.9.9.5-3 +Version: 0.9.9.7 Description: OpenGL Mathematics (GLM) Homepage: https://glm.g-truc.net diff --git a/ports/glm/portfile.cmake b/ports/glm/portfile.cmake index d38589a88b..4d20a0ed6b 100644 --- a/ports/glm/portfile.cmake +++ b/ports/glm/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO g-truc/glm - REF 0.9.9.5 - SHA512 3b329acf5144aab1c0f47f8045d34e097699bd6685118ad8322c5ce23afdcb44ba2bb07e49301db06355b8eef7d4340b72251d55e113b533740d1e6ef6609911 + REF 0.9.9.7 + SHA512 9c557788d6382777317c94f8b30bc3df7e533877705514fa5d384f97b076d6bc750e841acbecdec8113e21af07bd8850159f5f1e079aaa2cde25540b480f983b HEAD_REF master ) @@ -21,5 +19,4 @@ vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Put the license file where vcpkg expects it -file(COPY ${SOURCE_PATH}/manual.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/glm/) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/glm/manual.md ${CURRENT_PACKAGES_DIR}/share/glm/copyright) +file(INSTALL ${SOURCE_PATH}/copying.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file From 4956dfdc06edfd3345dd760fc5628086ced23da8 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Fri, 17 Jan 2020 19:42:23 -0500 Subject: [PATCH 031/111] [google-cloud-cpp-spanner] Upgrade to the v0.5.0 release. (#9611) --- ports/google-cloud-cpp-spanner/CONTROL | 4 ++-- ports/google-cloud-cpp-spanner/portfile.cmake | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/google-cloud-cpp-spanner/CONTROL b/ports/google-cloud-cpp-spanner/CONTROL index 40f35fbb88..00968657a7 100644 --- a/ports/google-cloud-cpp-spanner/CONTROL +++ b/ports/google-cloud-cpp-spanner/CONTROL @@ -1,5 +1,5 @@ Source: google-cloud-cpp-spanner -Version: 0.3.0 -Build-Depends: grpc, curl[ssl], crc32c, googleapis, google-cloud-cpp-common +Version: 0.5.0 +Build-Depends: grpc, googleapis, google-cloud-cpp-common Description: C++ Client Library for Google Cloud Spanner. Homepage: https://github.com/googleapis/google-cloud-cpp-spanner diff --git a/ports/google-cloud-cpp-spanner/portfile.cmake b/ports/google-cloud-cpp-spanner/portfile.cmake index 12f4e3ce8c..369e5cbb3a 100644 --- a/ports/google-cloud-cpp-spanner/portfile.cmake +++ b/ports/google-cloud-cpp-spanner/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO googleapis/google-cloud-cpp-spanner - REF v0.3.0 - SHA512 8148a78b83770d38d4ad9ce3c4e7229920b731c2150214bdd0e89a94d1d0d618322f36cb7e8cd0cb0281ee3dae328b87cac5ccd25cb36bef5762cc5c93921616 + REF v0.5.0 + SHA512 66878f1de13f1825100c826042baceb7aba89ca3f451b24e9a49adf5f1f954d9d068ce033123bb2f692ccc60acce386a82e64599b8038d6e5096c7c7bd391d12 HEAD_REF master ) From 299e8b4ac6008c057edb503eb218f0217e9c8f99 Mon Sep 17 00:00:00 2001 From: SeekingMeaning Date: Fri, 17 Jan 2020 16:51:00 -0800 Subject: [PATCH 032/111] [scintilla] Update to 4.2.3 (#9591) * [scintilla] Update to 4.2.3 * Update ci.baseline.txt * Update --- ports/scintilla/CONTROL | 2 +- ports/scintilla/portfile.cmake | 10 +++++----- scripts/ci.baseline.txt | 1 - 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/ports/scintilla/CONTROL b/ports/scintilla/CONTROL index 6b7aa54f61..901697cc5b 100644 --- a/ports/scintilla/CONTROL +++ b/ports/scintilla/CONTROL @@ -1,4 +1,4 @@ Source: scintilla -Version: 4.1.2 +Version: 4.2.3 Homepage: https://www.scintilla.org/ Description: A free source code editing component for Win32, GTK+, and OS X diff --git a/ports/scintilla/portfile.cmake b/ports/scintilla/portfile.cmake index aad39a8dc2..788896bdac 100644 --- a/ports/scintilla/portfile.cmake +++ b/ports/scintilla/portfile.cmake @@ -1,16 +1,16 @@ -include(vcpkg_common_functions) +vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP") vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_download_distfile(ARCHIVE - URLS "http://www.scintilla.org/scintilla412.zip" - FILENAME "scintilla412.zip" - SHA512 10e24a2def5b3104b0f2eec473c53edb0a0cc19fbbef261e460a77415ec68ff83f9ee20c76cda7987627708c1d4ead5f964d4d5a98929d8256280bfa9bd0cddc + URLS "http://www.scintilla.org/scintilla423.zip" + FILENAME "scintilla423.zip" + SHA512 82a595782119ce5bb48c39f4cb9b29605c4cdc276f605ebd3e3b3ecae003ef2132102e21be8943c8b36ec40957e2e50f4ebc0086a5096901fa0e8e5e178db750 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} - REF 4.1.2 + REF 4.2.3 ) vcpkg_install_msbuild( diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 255607e562..d6c4ec8cee 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1497,7 +1497,6 @@ rpclib:x86-windows=ignore rpclib:x64-windows-static=ignore rttr:arm-uwp=fail rttr:x64-uwp=fail -scintilla:arm64-windows=fail scintilla:arm-uwp=fail scintilla:x64-linux=fail scintilla:x64-osx=fail From 11be3cd2b79d2353531a0e80300f44bcb15ef675 Mon Sep 17 00:00:00 2001 From: SeekingMeaning Date: Mon, 20 Jan 2020 09:28:16 -0800 Subject: [PATCH 033/111] [ppconsul] Add missing boost dependencies (#9752) * [ppconsul] Possible fix for CI * Update CONTROL * Update --- ports/ppconsul/CONTROL | 4 ++-- ports/ppconsul/portfile.cmake | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/ports/ppconsul/CONTROL b/ports/ppconsul/CONTROL index 4902c1f079..ea49156d97 100644 --- a/ports/ppconsul/CONTROL +++ b/ports/ppconsul/CONTROL @@ -1,5 +1,5 @@ Source: ppconsul -Version: 0.4 +Version: 0.4-1 Homepage: https://github.com/oliora/ppconsul Description: A C++ client library for Consul. Consul is a distributed tool for discovering and configuring services in your infrastructure. -Build-Depends: boost-core, boost-variant, curl[openssl], json11 +Build-Depends: boost-core, boost-variant, boost-optional, boost-fusion, curl[openssl], json11 diff --git a/ports/ppconsul/portfile.cmake b/ports/ppconsul/portfile.cmake index 60da089e6c..50dd08c375 100644 --- a/ports/ppconsul/portfile.cmake +++ b/ports/ppconsul/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oliora/ppconsul @@ -22,7 +20,7 @@ vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) -file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ppconsul RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) From 8a721c2b8764ebf08c862bac0b69f060673e85c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 22 Jan 2020 02:03:57 +0800 Subject: [PATCH 034/111] Fix osx baseline build failures (#9726) * [xerces-c] Update REF and SHA512 * [sfml] re-trigger ci * [pcl] re-trigger ci * [boost-signals] re-trigger ci * [tmxparser] re-trigger ci * [soil2] switch repo to github * [gtest] re-trigger ci --- ports/boost-signals/CONTROL | 2 +- ports/boost-signals/portfile.cmake | 2 -- ports/gtest/CONTROL | 2 +- ports/gtest/portfile.cmake | 4 +--- ports/pcl/CONTROL | 2 +- ports/pcl/portfile.cmake | 7 ++----- ports/sfml/CONTROL | 2 +- ports/sfml/portfile.cmake | 2 +- ports/soil2/CONTROL | 2 +- ports/soil2/portfile.cmake | 14 ++++---------- ports/tmxparser/CONTROL | 2 +- ports/tmxparser/portfile.cmake | 4 +--- ports/xerces-c/CONTROL | 2 +- ports/xerces-c/portfile.cmake | 13 +++++-------- 14 files changed, 21 insertions(+), 39 deletions(-) diff --git a/ports/boost-signals/CONTROL b/ports/boost-signals/CONTROL index 5b58c978c0..3c69f3c084 100644 --- a/ports/boost-signals/CONTROL +++ b/ports/boost-signals/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-signals -Version: 1.68.0 +Version: 1.68.0-1 Build-Depends: boost-any, boost-build, boost-config, boost-core, boost-function, boost-iterator, boost-modular-build-helper, boost-optional, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/signals Description: Boost signals module diff --git a/ports/boost-signals/portfile.cmake b/ports/boost-signals/portfile.cmake index a5df93cddc..038d42dd70 100644 --- a/ports/boost-signals/portfile.cmake +++ b/ports/boost-signals/portfile.cmake @@ -1,7 +1,5 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/signals diff --git a/ports/gtest/CONTROL b/ports/gtest/CONTROL index df050f22f8..69f20c11d8 100644 --- a/ports/gtest/CONTROL +++ b/ports/gtest/CONTROL @@ -1,4 +1,4 @@ Source: gtest -Version: 2019-10-09 +Version: 2019-10-09-1 Homepage: https://github.com/google/googletest Description: GoogleTest and GoogleMock testing frameworks. diff --git a/ports/gtest/portfile.cmake b/ports/gtest/portfile.cmake index 183f049c5a..5dd3bd5062 100644 --- a/ports/gtest/portfile.cmake +++ b/ports/gtest/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - if (EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git") file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src) endif() @@ -48,7 +46,6 @@ file( ) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/googletest/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtest RENAME copyright) if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/gtest_maind.lib) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) @@ -78,4 +75,5 @@ endif() vcpkg_copy_pdbs() +file(INSTALL ${SOURCE_PATH}/googletest/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL index 631aeebe06..9475fa417e 100644 --- a/ports/pcl/CONTROL +++ b/ports/pcl/CONTROL @@ -1,5 +1,5 @@ Source: pcl -Version: 1.9.1-9 +Version: 1.9.1-10 Homepage: https://github.com/PointCloudLibrary/pcl Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing. Build-Depends: eigen3, flann, qhull, vtk, libpng, boost-system, boost-filesystem, boost-thread, boost-date-time, boost-iostreams, boost-random, boost-foreach, boost-dynamic-bitset, boost-property-map, boost-graph, boost-multi-array, boost-signals2, boost-ptr-container, boost-uuid, boost-interprocess, boost-asio diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake index b0dcd3ff94..cd358d41f2 100644 --- a/ports/pcl/portfile.cmake +++ b/ports/pcl/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO PointCloudLibrary/pcl @@ -58,7 +56,7 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -if("tools" IN_LIST FEATURES) +if("tools" IN_LIST FEATURES) file(GLOB EXEFILES_RELEASE ${CURRENT_PACKAGES_DIR}/bin/*.exe) file(GLOB EXEFILES_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) file(COPY ${EXEFILES_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/pcl) @@ -66,5 +64,4 @@ if("tools" IN_LIST FEATURES) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/pcl) endif() -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/pcl) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/pcl/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/pcl/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/sfml/CONTROL b/ports/sfml/CONTROL index 9f59426392..a62fb278ad 100644 --- a/ports/sfml/CONTROL +++ b/ports/sfml/CONTROL @@ -1,5 +1,5 @@ Source: sfml -Version: 2.5.1-5 +Version: 2.5.1-6 Homepage: https://github.com/sfml/sfml Description: Simple and fast multimedia library Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb diff --git a/ports/sfml/portfile.cmake b/ports/sfml/portfile.cmake index ce2fc41fde..d6afbe2c3c 100644 --- a/ports/sfml/portfile.cmake +++ b/ports/sfml/portfile.cmake @@ -54,4 +54,4 @@ endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/soil2/CONTROL b/ports/soil2/CONTROL index c53cb77a50..07cfde7fbc 100644 --- a/ports/soil2/CONTROL +++ b/ports/soil2/CONTROL @@ -1,3 +1,3 @@ Source: soil2 -Version: release-1.11 +Version: release-1.11-1 Description: Simple OpenGL Image Library 2 \ No newline at end of file diff --git a/ports/soil2/portfile.cmake b/ports/soil2/portfile.cmake index d54dcd7fc9..e468c07cb6 100644 --- a/ports/soil2/portfile.cmake +++ b/ports/soil2/portfile.cmake @@ -1,15 +1,11 @@ -include(vcpkg_common_functions) - -# Download the release-1.11 from bitbucket -vcpkg_from_bitbucket( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SpartanJ/soil2 - REF release-1.11 - SHA512 203c2306fd72e24b9e990cb054f3b1b0391eaf26ed645842fb381971673dab8ea20c2739c8dff1fc11c83d6f66add0ad77ae79d8ff68930e3e1cb003e34f2414 + REF 7dc42acee2302780c1e100bf864aa2bdb2221a2b #release-1.11 + SHA512 13f1716a3766cb4fa8d5b90eae5f3795ed3c86fc4463ca1cd68f4fa6b7fd96c24ec5098673c1d7253c94bdd491854b9359f8ccb8bd5b5640eeff3605f52e17a5 HEAD_REF master ) -# Copy the CMakeLists and LICENSE file( COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt @@ -19,15 +15,13 @@ file( DESTINATION ${SOURCE_PATH} ) -# Configure the cmake file (we imported) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS_DEBUG -DINSTALL_HEADERS=OFF ) -# Run the install vcpkg_install_cmake() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/soil2 RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/tmxparser/CONTROL b/ports/tmxparser/CONTROL index 7a3e3e2f80..44954e36e4 100644 --- a/ports/tmxparser/CONTROL +++ b/ports/tmxparser/CONTROL @@ -1,4 +1,4 @@ Source: tmxparser -Version: 2.1.0-2 +Version: 2.1.0-3 Description: C++11 library for parsing the maps generated by the Map Editor called Tiled. Build-Depends: zlib, tinyxml2 diff --git a/ports/tmxparser/portfile.cmake b/ports/tmxparser/portfile.cmake index ffe58c89f9..024d14d09c 100644 --- a/ports/tmxparser/portfile.cmake +++ b/ports/tmxparser/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sainteos/tmxparser @@ -34,4 +32,4 @@ else() endif() # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/tmxparser/copyright COPYONLY) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/xerces-c/CONTROL b/ports/xerces-c/CONTROL index 6a7b0d216d..d4fc58c4cb 100644 --- a/ports/xerces-c/CONTROL +++ b/ports/xerces-c/CONTROL @@ -1,5 +1,5 @@ Source: xerces-c -Version: 3.2.2-11 +Version: 3.2.2-12 Homepage: https://github.com/apache/xerces-c Description: Xerces-C++ is a XML parser, for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. diff --git a/ports/xerces-c/portfile.cmake b/ports/xerces-c/portfile.cmake index 214cf971b7..4ab19d126a 100644 --- a/ports/xerces-c/portfile.cmake +++ b/ports/xerces-c/portfile.cmake @@ -1,10 +1,8 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/xerces-c - REF Xerces-C_3_2_2 - SHA512 66f60fe9194376ac0ca99d13ea5bce23ada86e0261dde30686c21ceb5499e754dab8eb0a98adadd83522bda62709377715501f6dac49763e3a686f9171cc63ea + REF 71cc0e831b522933ae58253fcaf4423a166e6bec #3.2.2 + SHA512 5ddaf84552cd1f685068352c12651780a9f4becd961d8efd0f1f6a21006df00ffb1afe9b9dd86a169f8c57c4f8b651d5477e1accfd7140a7a52aea14b23c9aed HEAD_REF trunk PATCHES disable-tests.patch @@ -34,6 +32,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_copy_pdbs() + if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/xercesc) else() @@ -64,7 +64,4 @@ file(REMOVE_RECURSE ) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/xerces-c) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/xerces-c/LICENSE ${CURRENT_PACKAGES_DIR}/share/xerces-c/copyright) - -vcpkg_copy_pdbs() +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 9e6ca40aace5c70b2391f740757fb1a721e41685 Mon Sep 17 00:00:00 2001 From: gnaggnoyil Date: Wed, 22 Jan 2020 05:18:41 +0900 Subject: [PATCH 035/111] [ace] Let `ssl` feature able to work on Linux when selected (#9016) * enable ssl feature on selected under linux * Complete implementation of ACE's installtion method under Linux * reorder code logic structure of ACE's portfile * add some debug log for ACE's portfile * Bump tweak version of ACE CONTROL file * fix invalid CL error for build/install perl scripts under Linux * [ace] replace vcpkg_execute_required_process with vcpkg_execute_build_process --- ports/ace/CONTROL | 2 +- ports/ace/portfile.cmake | 243 +++++++++++++++++++++++++-------------- 2 files changed, 155 insertions(+), 90 deletions(-) diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index 456088aa62..1530b043ab 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,5 +1,5 @@ Source: ace -Version: 6.5.7 +Version: 6.5.7-1 Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html Description: The ADAPTIVE Communication Environment diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index c09964b94a..60f376b92b 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -1,11 +1,21 @@ -include(vcpkg_common_functions) - -# Don't change to vcpkg_from_github! This points to a release and not an archive -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_7/ACE-src-6.5.7.zip" - FILENAME ACE-src-6.5.7.zip - SHA512 6ce6954941521b34ae8913dfe053d0f066632c55adf4091dae6bc180c79963d6f4ddfec7796cd6d9fc8ff59037ee162d20b017c4c296828913498bdbac2fc8a7 -) +# Using zip archive under Linux would cause sh/perl to report "No such file or directory" or "bad interpreter" +# when invoking `prj_install.pl`. +# So far this issue haven't yet be triggered under WSL 1 distributions. Not sure the root cause of it. +if(VCPKG_TARGET_IS_WINDOWS) + # Don't change to vcpkg_from_github! This points to a release and not an archive + vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_7/ACE-src-6.5.7.zip" + FILENAME ACE-src-6.5.7.zip + SHA512 6ce6954941521b34ae8913dfe053d0f066632c55adf4091dae6bc180c79963d6f4ddfec7796cd6d9fc8ff59037ee162d20b017c4c296828913498bdbac2fc8a7 + ) +else(VCPKG_TARGET_IS_WINDOWS) + # VCPKG_TARGET_IS_LINUX + vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_7/ACE-src-6.5.7.tar.gz" + FILENAME ACE-src-6.5.7.tar.gz + SHA512 0116e269e2d49ba8afccc7abfc7492e5a6a286dcbdcfe850a21f86b4facb5fef2848985d803233f4b1fbb03457e592375ab24c62e7bbaab5c28cc240ccedbacb + ) +endif() vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH @@ -57,7 +67,7 @@ endif() # Add ace/config.h file # see https://htmlpreview.github.io/?https://github.com/DOCGroup/ACE_TAO/blob/master/ACE/ACE-INSTALL.html -if(NOT VCPKG_CMAKE_SYSTEM_NAME) +if(VCPKG_TARGET_IS_WINDOWS) set(LIB_RELEASE_SUFFIX .lib) set(LIB_DEBUG_SUFFIX d.lib) if(VCPKG_PLATFORM_TOOLSET MATCHES "v142") @@ -70,7 +80,7 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME) file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-windows.h\"") endif() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +if(VCPKG_TARGET_IS_LINUX) set(DLL_DECORATOR) set(LIB_RELEASE_SUFFIX .a) set(LIB_DEBUG_SUFFIX .a) @@ -81,102 +91,157 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") endif() # Invoke mwc.pl to generate the necessary solution and project files -vcpkg_execute_required_process( +vcpkg_execute_build_process( COMMAND ${PERL} ${ACE_ROOT}/bin/mwc.pl -type ${SOLUTION_TYPE} -features "${ACE_FEATURES}" ace ${MPC_STATIC_FLAG} WORKING_DIRECTORY ${ACE_ROOT} LOGNAME mwc-${TARGET_TRIPLET} ) -if(NOT VCPKG_CMAKE_SYSTEM_NAME) +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_build_msbuild( PROJECT_PATH ${ACE_SOURCE_PATH}/ace.sln PLATFORM ${MSBUILD_PLATFORM} USE_VCPKG_INTEGRATION ) -endif() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + # ACE itself does not define an install target, so it is not clear which + # headers are public and which not. For the moment we install everything + # that is in the source path and ends in .h, .inl + function(install_ace_headers_subdirectory ORIGINAL_PATH RELATIVE_PATH) + file(GLOB HEADER_FILES ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.inl) + file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ace/${RELATIVE_PATH}) + endfunction() + + # We manually install header found in the ace directory because in that case + # we are supposed to install also *cpp files, see ACE_wrappers\debian\libace-dev.install file + file(GLOB HEADER_FILES ${ACE_SOURCE_PATH}/*.h ${ACE_SOURCE_PATH}/*.inl ${ACE_SOURCE_PATH}/*.cpp) + file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ace/) + + # Install headers in subdirectory + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Compression") + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Compression/rle") + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "ETCL") + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "QoS") + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Monitor_Control") + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include") + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/arpa") + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/net") + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/netinet") + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/sys") + if("ssl" IN_LIST FEATURES) + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "SSL") + endif() + + # Install the libraries + function(install_ace_library ORIGINAL_PATH ACE_LIBRARY) + set(LIB_PATH ${ORIGINAL_PATH}/lib/) + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + # Install the DLL files + file(INSTALL + ${LIB_PATH}/${ACE_LIBRARY}d.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin + ) + file(INSTALL + ${LIB_PATH}/${ACE_LIBRARY}.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/bin + ) + endif() + + # Install the lib files + file(INSTALL + ${LIB_PATH}/${LIB_PREFIX}${ACE_LIBRARY}${DLL_DECORATOR}${LIB_DEBUG_SUFFIX} + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + ) + + file(INSTALL + ${LIB_PATH}/${LIB_PREFIX}${ACE_LIBRARY}${DLL_DECORATOR}${LIB_RELEASE_SUFFIX} + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + ) + endfunction() + + install_ace_library(${ACE_ROOT} "ACE") + install_ace_library(${ACE_ROOT} "ACE_Compression") + install_ace_library(${ACE_ROOT} "ACE_ETCL") + install_ace_library(${ACE_ROOT} "ACE_ETCL_Parser") + install_ace_library(${ACE_ROOT} "ACE_Monitor_Control") + if(NOT VCPKG_CMAKE_SYSTEM_NAME) + install_ace_library(${ACE_ROOT} "ACE_QoS") + endif() + install_ace_library(${ACE_ROOT} "ACE_RLECompression") + if("ssl" IN_LIST FEATURES) + install_ace_library(${ACE_ROOT} "ACE_SSL") + endif() + + vcpkg_copy_pdbs() + + # Handle copyright + file(COPY ${ACE_ROOT}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ace) + file(RENAME ${CURRENT_PACKAGES_DIR}/share/ace/COPYING ${CURRENT_PACKAGES_DIR}/share/ace/copyright) +else(VCPKG_TARGET_IS_WINDOWS) + # VCPKG_TARGTE_IS_LINUX FIND_PROGRAM(MAKE make) IF (NOT MAKE) MESSAGE(FATAL_ERROR "MAKE not found") ENDIF () - vcpkg_execute_required_process( - COMMAND make + + list(APPEND _pkg_components ACE_ETCL_Parser ACE_ETCL ACE) + if("ssl" IN_LIST FEATURES) + list(APPEND _ace_makefile_macros "ssl=1") + set(ENV{SSL_ROOT} ${CURRENT_INSTALLED_DIR}) + list(APPEND _pkg_components ACE_SSL) + endif() + set(ENV{INSTALL_PREFIX} ${CURRENT_PACKAGES_DIR}) + # Set `PWD` environment variable since ACE's `install` make target calculates install dir using this env. + set(_prev_env $ENV{PWD}) + set(ENV{PWD} ${ACE_ROOT}/ace) + + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_build_process( + COMMAND make ${_ace_makefile_macros} "debug=1" "-j${VCPKG_CONCURRENCY}" WORKING_DIRECTORY ${ACE_ROOT}/ace - LOGNAME make-${TARGET_TRIPLET} + LOGNAME make-${TARGET_TRIPLET}-dbg ) -endif() + message(STATUS "Building ${TARGET_TRIPLET}-dbg done") + message(STATUS "Packaging ${TARGET_TRIPLET}-dbg") + vcpkg_execute_build_process( + COMMAND make ${_ace_makefile_macros} install + WORKING_DIRECTORY ${ACE_ROOT}/ace + LOGNAME install-${TARGET_TRIPLET}-dbg + ) + file(COPY ${CURRENT_PACKAGES_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) + # TODO: check if we really need to remove those directories + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share) + foreach(_pkg_comp ${_pkg_components}) + file(READ ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${_pkg_comp}.pc _content) + string(REPLACE "libdir=${CURRENT_PACKAGES_DIR}/lib" "libdir=${CURRENT_PACKAGES_DIR}/debug/lib" _content ${_content}) + file(WRITE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${_pkg_comp}.pc ${_content}) + endforeach() + message(STATUS "Packaging ${TARGET_TRIPLET}-dbg done") -# ACE itself does not define an install target, so it is not clear which -# headers are public and which not. For the moment we install everything -# that is in the source path and ends in .h, .inl -function(install_ace_headers_subdirectory ORIGINAL_PATH RELATIVE_PATH) - file(GLOB HEADER_FILES ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.inl) - file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ace/${RELATIVE_PATH}) -endfunction() + vcpkg_execute_build_process( + COMMAND make ${_ace_makefile_macros} realclean + WORKING_DIRECTORY ${ACE_ROOT}/ace + LOGNAME realclean-${TARGET_TRIPLET}-dbg + ) -# We manually install header found in the ace directory because in that case -# we are supposed to install also *cpp files, see ACE_wrappers\debian\libace-dev.install file -file(GLOB HEADER_FILES ${ACE_SOURCE_PATH}/*.h ${ACE_SOURCE_PATH}/*.inl ${ACE_SOURCE_PATH}/*.cpp) -file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ace/) + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_build_process( + COMMAND make ${_ace_makefile_macros} "-j${VCPKG_CONCURRENCY}" + WORKING_DIRECTORY ${ACE_ROOT}/ace + LOGNAME make-${TARGET_TRIPLET}-rel + ) + message(STATUS "Building ${TARGET_TRIPLET}-rel done") + message(STATUS "Packaging ${TARGET_TRIPLET}-rel") + vcpkg_execute_build_process( + COMMAND make ${_ace_makefile_macros} install + WORKING_DIRECTORY ${ACE_ROOT}/ace + LOGNAME install-${TARGET_TRIPLET}-rel + ) + message(STATUS "Packaging ${TARGET_TRIPLET}-rel done") + # Restore `PWD` environment variable + set($ENV{PWD} _prev_env) -# Install headers in subdirectory -install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Compression") -install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Compression/rle") -install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "ETCL") -install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "QoS") -install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Monitor_Control") -install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include") -install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/arpa") -install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/net") -install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/netinet") -install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/sys") -if("ssl" IN_LIST FEATURES) - install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "SSL") -endif() - -# Install the libraries -function(install_ace_library ORIGINAL_PATH ACE_LIBRARY) - set(LIB_PATH ${ORIGINAL_PATH}/lib/) - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - # Install the DLL files - file(INSTALL - ${LIB_PATH}/${ACE_LIBRARY}d.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin - ) - file(INSTALL - ${LIB_PATH}/${ACE_LIBRARY}.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/bin - ) - endif() - - # Install the lib files - file(INSTALL - ${LIB_PATH}/${LIB_PREFIX}${ACE_LIBRARY}${DLL_DECORATOR}${LIB_DEBUG_SUFFIX} - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib - ) - - file(INSTALL - ${LIB_PATH}/${LIB_PREFIX}${ACE_LIBRARY}${DLL_DECORATOR}${LIB_RELEASE_SUFFIX} - DESTINATION ${CURRENT_PACKAGES_DIR}/lib - ) -endfunction() - -install_ace_library(${ACE_ROOT} "ACE") -install_ace_library(${ACE_ROOT} "ACE_Compression") -install_ace_library(${ACE_ROOT} "ACE_ETCL") -install_ace_library(${ACE_ROOT} "ACE_ETCL_Parser") -install_ace_library(${ACE_ROOT} "ACE_Monitor_Control") -if(NOT VCPKG_CMAKE_SYSTEM_NAME) - install_ace_library(${ACE_ROOT} "ACE_QoS") -endif() -install_ace_library(${ACE_ROOT} "ACE_RLECompression") -if("ssl" IN_LIST FEATURES) - install_ace_library(${ACE_ROOT} "ACE_SSL") -endif() - -# Handle copyright -file(COPY ${ACE_ROOT}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ace) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/ace/COPYING ${CURRENT_PACKAGES_DIR}/share/ace/copyright) - -vcpkg_copy_pdbs() + # Handle copyright + file(RENAME ${CURRENT_PACKAGES_DIR}/share/ace/COPYING ${CURRENT_PACKAGES_DIR}/share/ace/copyright) +endif() \ No newline at end of file From f4f442b49865dc6f8d10a0083be1c5eeb0c3cfb3 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Tue, 21 Jan 2020 12:21:18 -0800 Subject: [PATCH 036/111] [openssl] Update the version (#9777) --- ports/openssl/CONTROL | 4 ++-- ports/openssl/portfile.cmake | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL index b495ce0c3c..ec827f4dac 100644 --- a/ports/openssl/CONTROL +++ b/ports/openssl/CONTROL @@ -1,5 +1,5 @@ Source: openssl -Version: 1 +Version: 1.1.1d Homepage: https://www.openssl.org Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. -Build-Depends: openssl-windows (windows), openssl-uwp (uwp), openssl-unix (!uwp&!windows) +Build-Depends: openssl-windows (windows), openssl-uwp (uwp), openssl-unix (!uwp&!windows) \ No newline at end of file diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake index 4d25eff6bf..3d55c367f5 100644 --- a/ports/openssl/portfile.cmake +++ b/ports/openssl/portfile.cmake @@ -1,4 +1,2 @@ -include(vcpkg_common_functions) - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl/) From 9b901bf801638d14171714d36def05b9ab17a0ca Mon Sep 17 00:00:00 2001 From: John McNamara Date: Tue, 21 Jan 2020 20:22:30 +0000 Subject: [PATCH 037/111] [libxlsxwriter] upgrade to 0.9.4 (#9775) Upgrade to the latest version of libxlsxwriter. Closes #9772 --- ports/libxlsxwriter/0001-fix-cmake-file.patch | 51 ------------------- ports/libxlsxwriter/CONTROL | 3 +- ports/libxlsxwriter/portfile.cmake | 6 +-- 3 files changed, 4 insertions(+), 56 deletions(-) delete mode 100644 ports/libxlsxwriter/0001-fix-cmake-file.patch diff --git a/ports/libxlsxwriter/0001-fix-cmake-file.patch b/ports/libxlsxwriter/0001-fix-cmake-file.patch deleted file mode 100644 index 4f86d2635f..0000000000 --- a/ports/libxlsxwriter/0001-fix-cmake-file.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f2eed91..f329996 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -224,6 +224,9 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE ${LXW_PRIVATE_COMPILE_DEFINIT - if(MSVC AND NOT (MSVC_VERSION LESS 1900)) - target_compile_options(${PROJECT_NAME} PRIVATE /utf-8) - endif() -+if (WINDOWSSTORE) -+ target_compile_definitions(${PROJECT_NAME} PRIVATE -DIOWIN32_USING_WINRT_API) -+endif() - target_include_directories(${PROJECT_NAME} - PRIVATE ${LXW_PRIVATE_INCLUDE_DIRS} - PUBLIC include include/xlsxwriter -@@ -319,31 +322,11 @@ endif() - - include(GNUInstallDirs) - --if(MSVC) -- if(CMAKE_CL_64) -- set(MSVC_FOLDER_PREFIX x64) -- else() -- set(MSVC_FOLDER_PREFIX Win32) -- endif() -- -- install(TARGETS ${PROJECT_NAME} -- LIBRARY DESTINATION "lib/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}" -- ARCHIVE DESTINATION "lib/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}" -- RUNTIME DESTINATION "bin/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}" -- ) -- if (NOT BUILD_SHARED_LIBS) -- install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pdb -- DESTINATION "lib/${MSVC_FOLDER_PREFIX}/\${CMAKE_INSTALL_CONFIG_NAME}" -- ) -- endif() -- --else(MSVC) -- install(TARGETS ${PROJECT_NAME} -- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -- ) --endif(MSVC) -+install(TARGETS ${PROJECT_NAME} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+) - install(FILES include/xlsxwriter.h DESTINATION include) - install(DIRECTORY include/xlsxwriter - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} diff --git a/ports/libxlsxwriter/CONTROL b/ports/libxlsxwriter/CONTROL index 0d7d2494b0..2cd6384ce0 100644 --- a/ports/libxlsxwriter/CONTROL +++ b/ports/libxlsxwriter/CONTROL @@ -1,4 +1,5 @@ Source: libxlsxwriter -Version: 0.8.9-1 +Version: 0.9.4 Description: Libxlsxwriter is a C library that can be used to write text, numbers, formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file. +Homepage: https://github.com/jmcnamara/libxlsxwriter Build-Depends: zlib diff --git a/ports/libxlsxwriter/portfile.cmake b/ports/libxlsxwriter/portfile.cmake index 75062b4c52..c19db947b8 100644 --- a/ports/libxlsxwriter/portfile.cmake +++ b/ports/libxlsxwriter/portfile.cmake @@ -1,11 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jmcnamara/libxlsxwriter - REF RELEASE_0.8.9 - SHA512 0442323b8e55000aa78a689820f8e446b5e925b5077c6ed163ad181b5a8f0e19fe71cc12c4781f47f70f0c702faa27e49655e813f7e90a855ab73dd2bd9f5d66 + REF RELEASE_0.9.4 + SHA512 d7bc319e6b9cd2ad6aaa2f3eb6fdce1c5bcc1d5af23ffb3413e29760191f6aed41f836aaa71a322efe7966f3753a6d8a01cb0b403d682b13a6a3734a87cc12ba HEAD_REF master - PATCHES - 0001-fix-cmake-file.patch ) if (VCPKG_TARGET_IS_UWP) From 127d49768113f099e9790184b314a2182dd8176d Mon Sep 17 00:00:00 2001 From: yurybura Date: Tue, 21 Jan 2020 23:25:05 +0300 Subject: [PATCH 038/111] [open62541] Update to v1.0 (#9767) * [open62541] Update to v1.0 * Remove dependency on python-six * Fix CI * Manually specify the version * Fix install binaries directory * Fix end line * Add homepage and modernize cmake --- ports/open62541/CONTROL | 3 +- ports/open62541/fix-install-bindir.patch | 16 +++++++ ports/open62541/portfile.cmake | 58 ++++-------------------- scripts/ci.baseline.txt | 1 - 4 files changed, 26 insertions(+), 52 deletions(-) create mode 100644 ports/open62541/fix-install-bindir.patch diff --git a/ports/open62541/CONTROL b/ports/open62541/CONTROL index 7a3306df9f..dcb37ef01d 100644 --- a/ports/open62541/CONTROL +++ b/ports/open62541/CONTROL @@ -1,3 +1,4 @@ Source: open62541 -Version: 0.3.0-4 +Version: 1.0 +Homepage: https://open62541.org Description: open62541 is an open source C (C99) implementation of OPC UA licensed under the Mozilla Public License v2.0. diff --git a/ports/open62541/fix-install-bindir.patch b/ports/open62541/fix-install-bindir.patch new file mode 100644 index 0000000000..40eb3579de --- /dev/null +++ b/ports/open62541/fix-install-bindir.patch @@ -0,0 +1,16 @@ + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d426e1da..09589b6e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1151,7 +1151,7 @@ install(TARGETS open62541 + EXPORT open62541Targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +- RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + INCLUDES DESTINATION include) + + if(UA_ENABLE_AMALGAMATION) diff --git a/ports/open62541/portfile.cmake b/ports/open62541/portfile.cmake index 3f7469d17f..02a3d9132b 100644 --- a/ports/open62541/portfile.cmake +++ b/ports/open62541/portfile.cmake @@ -1,77 +1,35 @@ -include(vcpkg_common_functions) +vcpkg_fail_port_install(ON_TARGET "UWP") -if(NOT CMAKE_HOST_WIN32) - message("${PORT} currently requires the following tools from the system package manager:\n python-six\n\nThis can be installed on Ubuntu systems via apt-get install python-six python3-six (depending on your current python default interpreter)") -endif() - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} does not currently support UWP") -endif() +set(VERSION v1.0) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open62541/open62541 - REF v0.3.0 - SHA512 67766d226e1b900c0c37309099ecdbe987d10888ebf43f9066b21cf79f64d34e6ac30c2671a4901892f044859da4e8dbaa9fed5a49c633f73fef3bec75774050 + REF ${VERSION} + SHA512 a1cc614147ee7fc0b4246abb0dd1a3405e330760c1d9d76980700853f136f7562690906cb428bae81232355d03f27c1cdc71da85e23e0cf16167f42d4faff93b HEAD_REF master + PATCHES fix-install-bindir.patch ) -file(READ ${SOURCE_PATH}/CMakeLists.txt OPEN62541_CMAKELISTS) -string(REPLACE - "RUNTIME DESTINATION \${CMAKE_INSTALL_PREFIX}" - "RUNTIME DESTINATION \${BIN_INSTALL_DIR}" - OPEN62541_CMAKELISTS "${OPEN62541_CMAKELISTS}") -file(WRITE ${SOURCE_PATH}/CMakeLists.txt "${OPEN62541_CMAKELISTS}") - -if(CMAKE_HOST_WIN32) - set(EXECUTABLE_SUFFIX ".exe") -else() - set(EXECUTABLE_SUFFIX "") -endif() - vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) vcpkg_add_to_path("${PYTHON3_DIR}") -if(CMAKE_HOST_WIN32) - # Must not modify system copy of python3 -- on CMAKE_HOST_WIN32, we have our own private copy - if(NOT EXISTS ${PYTHON3_DIR}/easy_install${EXECUTABLE_SUFFIX}) - if(NOT EXISTS ${PYTHON3_DIR}/Scripts/pip${EXECUTABLE_SUFFIX}) - get_filename_component(PYTHON3_DIR_NAME "${PYTHON3_DIR}" NAME) - vcpkg_download_distfile(GET_PIP - URLS "https://bootstrap.pypa.io/3.3/get-pip.py" - FILENAME "tools/python/${PYTHON3_DIR_NAME}/get-pip.py" - SHA512 92e68525830bb23955a31cb19ebc3021ef16b6337eab83d5db2961b791283d2867207545faf83635f6027f2f7b7f8fee2c85f2cfd8e8267df25406474571c741 - ) - execute_process(COMMAND ${PYTHON3_DIR}/python${EXECUTABLE_SUFFIX} ${GET_PIP}) - endif() - execute_process(COMMAND ${PYTHON3_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install six) - else() - execute_process(COMMAND ${PYTHON3_DIR}/easy_install${EXECUTABLE_SUFFIX} six) - endif() -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBIN_INSTALL_DIR:STRING=bin + -DOPEN62541_VERSION=${VERSION} OPTIONS_DEBUG -DCMAKE_DEBUG_POSTFIX=d ) vcpkg_install_cmake() - -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) -else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) -endif() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/open62541/tools) -vcpkg_copy_pdbs() - file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index d6c4ec8cee..6178084fef 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1196,7 +1196,6 @@ ompl:x64-osx=fail ompl:x64-linux=ignore open62541:arm-uwp=fail open62541:x64-uwp=fail -open62541:x64-osx=fail openal-soft:arm-uwp=fail openal-soft:x64-uwp=fail openblas:arm64-windows=fail From 70ee8b83e52ffd4530c27696cd99f4fb874ccb0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 22 Jan 2020 04:29:39 +0800 Subject: [PATCH 039/111] [monkeys-audio] Update to 5.14, add feature tools (#9760) * [monkeys-audio] Update to 5.14, add feature tools * [monkeys-audio] Use macro MA_VERSION --- ports/monkeys-audio/CONTROL | 5 ++- ports/monkeys-audio/portfile.cmake | 72 ++++++++++++++++++++---------- scripts/ci.baseline.txt | 3 +- 3 files changed, 53 insertions(+), 27 deletions(-) diff --git a/ports/monkeys-audio/CONTROL b/ports/monkeys-audio/CONTROL index 2062fe40a1..d265f22d91 100644 --- a/ports/monkeys-audio/CONTROL +++ b/ports/monkeys-audio/CONTROL @@ -1,5 +1,8 @@ Source: monkeys-audio -Version: 4.8.3-1 +Version: 5.14 Homepage: https://monkeysaudio.com Description: Monkey's Audio is an excellent audio compression tool which has multiple advantages over traditional methods. Audio files compressed with it ends with .ape extension. + +Feature: tools +Description: Build monkeys-audio tools \ No newline at end of file diff --git a/ports/monkeys-audio/portfile.cmake b/ports/monkeys-audio/portfile.cmake index a958f2a88e..d82c78f160 100644 --- a/ports/monkeys-audio/portfile.cmake +++ b/ports/monkeys-audio/portfile.cmake @@ -1,17 +1,13 @@ -include(vcpkg_common_functions) +vcpkg_fail_port_install(ON_TARGET "UWP" "OSX" "Linux") -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} does not currently support UWP") -endif() +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) -vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_STATIC_CRT) - -set(VERSION 4.7) +set(MA_VERSION 514) vcpkg_download_distfile(ARCHIVE - URLS "http://monkeysaudio.com/files/MAC_SDK_483.zip" - FILENAME "MAC_SDK_483.zip" - SHA512 c080aa87997def3b970050f6bd334b6908884cc521f192abc02d774a8b3067207781dcab30f052015d4ae891fc6390c6f0b33ed319d9d7fd0850dab6fcded8f0 + URLS "https://monkeysaudio.com/files/MAC_SDK_${MA_VERSION}.zip" + FILENAME "MAC_SDK_${MA_VERSION}.zip" + SHA512 b0bad044bb639ddf5db6b1234ea07f878f2ed1192f7704c22ed1bc482f3ac7a1abbd318d81114d416ee1d93dccf41ef31d617d6c2b82e819fc2848e01ba4bcd4 ) vcpkg_extract_source_archive_ex( @@ -20,16 +16,49 @@ vcpkg_extract_source_archive_ex( NO_REMOVE_ONE_LEVEL ) -file(REMOVE - ${SOURCE_PATH}/Shared/MACDll.dll - ${SOURCE_PATH}/Shared/MACDll.lib - ${SOURCE_PATH}/Shared/MACLib.lib +file(REMOVE_RECURSE + ${SOURCE_PATH}/Shared/32 + ${SOURCE_PATH}/Shared/64 ) -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH Source/Projects/VS2019/Console/Console.vcxproj -) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(PLATFORM Win32) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(PLATFORM x64) +else() + message(FATAL_ERROR "Unsupported architecture") +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH Source/Projects/VS2019/MACDll/MACDll.vcxproj + PLATFORM ${PLATFORM} + ) +else() + vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH Source/Projects/VS2019/MACLib/MACLib.vcxproj + PLATFORM ${PLATFORM} + ) +endif() + +if ("tools" IN_LIST FEATURES) + vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH Source/Projects/VS2019/Console/Console.vcxproj + PLATFORM ${PLATFORM} + ) + + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/Console.lib ${CURRENT_PACKAGES_DIR}/debug/lib/Console.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/tools/monkeys-audio/Console.exe ${CURRENT_PACKAGES_DIR}/tools/monkeys-audio/mac.exe) + + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/MACLib.lib ${CURRENT_PACKAGES_DIR}/debug/lib/MACLib.lib) +endif() file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include) file(COPY ${SOURCE_PATH}/Shared/ @@ -37,9 +66,4 @@ file(COPY ${SOURCE_PATH}/Shared/ FILES_MATCHING PATTERN "*.h") file(REMOVE ${CURRENT_PACKAGES_DIR}/include/monkeys-audio/MACDll.h) -file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/Console.lib ${CURRENT_PACKAGES_DIR}/debug/lib/Console.lib) -file(RENAME ${CURRENT_PACKAGES_DIR}/tools/monkeys-audio/Console.exe ${CURRENT_PACKAGES_DIR}/tools/monkeys-audio/mac.exe) - -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) - -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/monkeys-audio RENAME copyright) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 6178084fef..7689ca1d50 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1065,8 +1065,7 @@ monkeys-audio:arm-uwp=fail monkeys-audio:x64-linux=fail monkeys-audio:x64-osx=fail monkeys-audio:x64-uwp=fail -monkeys-audio:x64-windows=fail -monkeys-audio:x86-windows=fail +monkeys-audio:x64-windows-static=fail moos-core:arm-uwp=fail moos-core:x64-uwp=fail moos-core:x64-windows=ignore From 3f62e5d55d1a7d8905df35d5c441d6e9ad64ffdf Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Tue, 21 Jan 2020 15:42:42 -0800 Subject: [PATCH 040/111] [mosquitto] Install mosquittopp.lib to dest (#9754) --- ports/mosquitto/CONTROL | 2 +- ports/mosquitto/archive-dest.patch | 17 +++++++++++++++-- ports/mosquitto/portfile.cmake | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ports/mosquitto/CONTROL b/ports/mosquitto/CONTROL index 126fa2a72a..b5b8e44430 100644 --- a/ports/mosquitto/CONTROL +++ b/ports/mosquitto/CONTROL @@ -1,5 +1,5 @@ Source: mosquitto -Version: 1.6.7-1 +Version: 1.6.7-2 Build-Depends: c-ares, libwebsockets, openssl, pthreads Description: Mosquitto is an open source message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for "machine to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino. diff --git a/ports/mosquitto/archive-dest.patch b/ports/mosquitto/archive-dest.patch index 11a9ccce4d..40d6c1f6db 100644 --- a/ports/mosquitto/archive-dest.patch +++ b/ports/mosquitto/archive-dest.patch @@ -1,8 +1,8 @@ diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index 221c230..1bd4e96 100644 +index e1521f1..bd60b75 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt -@@ -89,7 +89,7 @@ set_target_properties(libmosquitto PROPERTIES +@@ -87,7 +87,7 @@ set_target_properties(libmosquitto PROPERTIES SOVERSION 1 ) @@ -11,3 +11,16 @@ index 221c230..1bd4e96 100644 if (WITH_STATIC_LIBRARIES) add_library(libmosquitto_static STATIC ${C_SRC}) +diff --git a/lib/cpp/CMakeLists.txt b/lib/cpp/CMakeLists.txt +index b39ac3f..5805244 100644 +--- a/lib/cpp/CMakeLists.txt ++++ b/lib/cpp/CMakeLists.txt +@@ -13,7 +13,7 @@ set_target_properties(mosquittopp PROPERTIES + VERSION ${VERSION} + SOVERSION 1 + ) +-install(TARGETS mosquittopp RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++install(TARGETS mosquittopp RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") + + if (WITH_STATIC_LIBRARIES) + add_library(mosquittopp_static STATIC diff --git a/ports/mosquitto/portfile.cmake b/ports/mosquitto/portfile.cmake index a59dd6068f..3496f47b74 100644 --- a/ports/mosquitto/portfile.cmake +++ b/ports/mosquitto/portfile.cmake @@ -50,4 +50,4 @@ file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_sub${VCPKG_TARGET_EXECUTABLE_S endif() #endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mosquitto RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file From 2831e429f44e8a6d3b28abd891eb7fceec52d53e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2=20=D0=90?= =?UTF-8?q?=D0=BD=D1=82=D0=BE=D0=BD?= Date: Thu, 23 Jan 2020 00:57:21 +0500 Subject: [PATCH 041/111] [mqtt_cpp] Add new port (#9787) * feat(mqtt-cpp): add control file * feat(mqtt-cpp): add portfile * feat(mqtt-cpp): add boost-timer dep --- ports/mqtt-cpp/CONTROL | 5 +++++ ports/mqtt-cpp/portfile.cmake | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 ports/mqtt-cpp/CONTROL create mode 100644 ports/mqtt-cpp/portfile.cmake diff --git a/ports/mqtt-cpp/CONTROL b/ports/mqtt-cpp/CONTROL new file mode 100644 index 0000000000..73303edd29 --- /dev/null +++ b/ports/mqtt-cpp/CONTROL @@ -0,0 +1,5 @@ +Source: mqtt-cpp +Version: 7.0.1 +Description: Header-only MQTT client/server for C++14 based on Boost.Asio. +Homepage: https://github.com/redboltz/mqtt_cpp +Build-Depends: boost-asio, boost-timer diff --git a/ports/mqtt-cpp/portfile.cmake b/ports/mqtt-cpp/portfile.cmake new file mode 100644 index 0000000000..13e5e2077e --- /dev/null +++ b/ports/mqtt-cpp/portfile.cmake @@ -0,0 +1,20 @@ +# header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO redboltz/mqtt_cpp + REF v7.0.1 + SHA512 7128943e1136200debca344600b015b94a6e216f6136f2b432f4692fd8dabe1a7e50fa3d436d4df85950831f5ed776e03fc02c324afbf2178455770a33bff828 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DMQTT_BUILD_EXAMPLES=OFF + -DMQTT_BUILD_TESTS=OFF +) + +file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 9642b948d3fea28344758b16d344d9e4b896acd0 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Wed, 22 Jan 2020 13:58:31 -0600 Subject: [PATCH 042/111] Updating HPX to V1.4 (#9773) * Updating HPX to V1.4 * Remove include(vcpkg_common_functions) --- ports/hpx/CONTROL | 4 ++-- ports/hpx/portfile.cmake | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ports/hpx/CONTROL b/ports/hpx/CONTROL index a9d5059d4d..296efc1bf2 100644 --- a/ports/hpx/CONTROL +++ b/ports/hpx/CONTROL @@ -1,6 +1,6 @@ Source: hpx -Version: 1.3.0-2 -Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-bimap, boost-chrono, boost-config, boost-context, boost-dynamic-bitset, boost-exception, boost-filesystem, boost-iostreams, boost-lockfree, boost-program-options, boost-range, boost-spirit, boost-system, boost-throw-exception, boost-variant, boost-winapi +Version: 1.4.0-1 +Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-bimap, boost-config, boost-context, boost-dynamic-bitset, boost-exception, boost-filesystem, boost-iostreams, boost-lockfree, boost-program-options, boost-range, boost-spirit, boost-system, boost-throw-exception, boost-variant, boost-winapi Homepage: https://github.com/STEllAR-GROUP/hpx Description: The C++ Standards Library for Concurrency and Parallelism HPX is a C++ Standards Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case. diff --git a/ports/hpx/portfile.cmake b/ports/hpx/portfile.cmake index 4eb785a501..69f619f278 100644 --- a/ports/hpx/portfile.cmake +++ b/ports/hpx/portfile.cmake @@ -1,12 +1,11 @@ -include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO STEllAR-GROUP/hpx - REF 1.3.0 - SHA512 e55ca0c6fe1716b6ee72b0c4a9234a1136455ddc2f5509925395a80442d564b0db251968fef53d202a1f5140e12d0941d0173ab20a7b181632eac20cb925bf31 + REF 1.4.0 + SHA512 501dbea384f8daa725f752f78198ba8af7b41bf0da432655fb0eaf588ccb1cec40528e28c6dc898230090d04e3dd2c50f7cadd753a13d15b51cea0ac881c3ffd HEAD_REF stable ) From 1db01a862d10fe842c2fb1e45b33bed26d88ef0c Mon Sep 17 00:00:00 2001 From: Phoebe <20694052+PhoebeHui@users.noreply.github.com> Date: Thu, 23 Jan 2020 04:03:36 +0800 Subject: [PATCH 043/111] [opencolorio] fix lcms dependency (#9755) --- ports/opencolorio/0001-lcms-dependency-search.patch | 2 +- ports/opencolorio/CONTROL | 2 +- ports/opencolorio/portfile.cmake | 6 +----- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/ports/opencolorio/0001-lcms-dependency-search.patch b/ports/opencolorio/0001-lcms-dependency-search.patch index 27edc73f1d..597609a6e6 100644 --- a/ports/opencolorio/0001-lcms-dependency-search.patch +++ b/ports/opencolorio/0001-lcms-dependency-search.patch @@ -17,7 +17,7 @@ index d31b4e3..778b631 100644 + + find_library(LCMS_LIBRARIES + LIBRARY_NAMES -+ lcms2 ++ lcms + HINTS + ${LCMS_LIBRARY_DIRS} + ) diff --git a/ports/opencolorio/CONTROL b/ports/opencolorio/CONTROL index cd429c7c8f..9d57a22e3b 100644 --- a/ports/opencolorio/CONTROL +++ b/ports/opencolorio/CONTROL @@ -1,5 +1,5 @@ Source: opencolorio -Version: 1.1.1-1 +Version: 1.1.1-2 Homepage: https://opencolorio.org/ Description: OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation. OCIO provides a straightforward and consistent user experience across all supporting applications while allowing for sophisticated back-end configuration options suitable for high-end production usage. OCIO is compatible with the Academy Color Encoding Specification (ACES) and is LUT-format agnostic, supporting many popular formats. Build-Depends: glew[core], freeglut[core], lcms[core], yaml-cpp[core], tinyxml[core] diff --git a/ports/opencolorio/portfile.cmake b/ports/opencolorio/portfile.cmake index d87a459879..1d9ee2d7e1 100644 --- a/ports/opencolorio/portfile.cmake +++ b/ports/opencolorio/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_definitions) - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) set(_BUILD_SHARED OFF) set(_BUILD_STATIC ON) @@ -95,6 +93,4 @@ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/OpenColorIOConfig.cmake ) -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 7371d6876ccbeb34cd73293ed38d9269a6223818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 23 Jan 2020 04:04:53 +0800 Subject: [PATCH 044/111] [paho-mqtt] Fix Windows platform predefined macros (#9753) * [paho-mqtt] Fix Windows platform predefined macros * [paho-mqtt] Fix more predefines --- ports/paho-mqtt/CONTROL | 2 +- ports/paho-mqtt/fix-win-macro.patch | 79 +++++++++++++++++++++++++++++ ports/paho-mqtt/portfile.cmake | 15 +++--- 3 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 ports/paho-mqtt/fix-win-macro.patch diff --git a/ports/paho-mqtt/CONTROL b/ports/paho-mqtt/CONTROL index 9c380b2884..f0c9edab71 100644 --- a/ports/paho-mqtt/CONTROL +++ b/ports/paho-mqtt/CONTROL @@ -1,5 +1,5 @@ Source: paho-mqtt -Version: 1.3.0-1 +Version: 1.3.0-2 Homepage: https://github.com/eclipse/paho.mqtt.c Description: Paho project provides open-source client implementations of MQTT and MQTT-SN messaging protocols aimed at new, existing, and emerging applications for the Internet of Things Build-Depends: openssl diff --git a/ports/paho-mqtt/fix-win-macro.patch b/ports/paho-mqtt/fix-win-macro.patch new file mode 100644 index 0000000000..469db3436d --- /dev/null +++ b/ports/paho-mqtt/fix-win-macro.patch @@ -0,0 +1,79 @@ +diff --git a/src/MQTTProperties.h b/src/MQTTProperties.h +index deec124..872032c 100644 +--- a/src/MQTTProperties.h ++++ b/src/MQTTProperties.h +@@ -50,7 +50,7 @@ enum MQTTPropertyCodes { + MQTTPROPERTY_CODE_SHARED_SUBSCRIPTION_AVAILABLE = 42/**< The value is 241 */ + }; + +-#if defined(WIN32) || defined(WIN64) ++#if defined(_WIN32) || defined(_WIN64) + #define DLLImport __declspec(dllimport) + #define DLLExport __declspec(dllexport) + #else +diff --git a/src/MQTTAsync.h b/src/MQTTAsync.h +index 1b3593d..04718f8 100644 +--- a/src/MQTTAsync.h ++++ b/src/MQTTAsync.h +@@ -92,7 +92,7 @@ + extern "C" { + #endif + +-#if defined(WIN32) || defined(WIN64) ++#if defined(_WIN32) || defined(_WIN64) + #define DLLImport __declspec(dllimport) + #define DLLExport __declspec(dllexport) + #else +@@ -1764,7 +1764,7 @@ int main(int argc, char* argv[]) + "on topic %s for client with ClientID: %s\n", + PAYLOAD, TOPIC, CLIENTID); + while (!finished) +- #if defined(WIN32) || defined(WIN64) ++ #if defined(_WIN32) || defined(_WIN64) + Sleep(100); + #else + usleep(10000L); +@@ -1914,7 +1914,7 @@ int main(int argc, char* argv[]) + } + + while (!subscribed) +- #if defined(WIN32) || defined(WIN64) ++ #if defined(_WIN32) || defined(_WIN64) + Sleep(100); + #else + usleep(10000L); +@@ -1935,7 +1935,7 @@ int main(int argc, char* argv[]) + exit(EXIT_FAILURE); + } + while (!disc_finished) +- #if defined(WIN32) || defined(WIN64) ++ #if defined(_WIN32) || defined(_WIN64) + Sleep(100); + #else + usleep(10000L); +diff --git a/src/MQTTClient.h b/src/MQTTClient.h +index b3fadbe..130b804 100644 +--- a/src/MQTTClient.h ++++ b/src/MQTTClient.h +@@ -110,7 +110,7 @@ + extern "C" { + #endif + +-#if defined(WIN32) || defined(WIN64) ++#if defined(_WIN32) || defined(_WIN64) + #define DLLImport __declspec(dllimport) + #define DLLExport __declspec(dllexport) + #else +diff --git a/src/MQTTReasonCodes.h b/src/MQTTReasonCodes.h +index 369543b..38c299b 100644 +--- a/src/MQTTReasonCodes.h ++++ b/src/MQTTReasonCodes.h +@@ -66,7 +66,7 @@ enum MQTTReasonCodes { + MQTTREASONCODE_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED = 162 + }; + +-#if defined(WIN32) || defined(WIN64) ++#if defined(_WIN32) || defined(_WIN64) + #define DLLImport __declspec(dllimport) + #define DLLExport __declspec(dllexport) + #else diff --git a/ports/paho-mqtt/portfile.cmake b/ports/paho-mqtt/portfile.cmake index 837ecc8b5b..22d76d3e56 100644 --- a/ports/paho-mqtt/portfile.cmake +++ b/ports/paho-mqtt/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse/paho.mqtt.c @@ -12,6 +10,7 @@ vcpkg_from_github( fix-static-build.patch fix-unresolvedsymbol-arm.patch export-cmake-targets.patch + fix-win-macro.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAHO_BUILD_STATIC) @@ -19,15 +18,17 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAHO_BUILD_STATIC) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_STATIC=${PAHO_BUILD_STATIC} -DPAHO_ENABLE_TESTING=FALSE + OPTIONS + -DPAHO_WITH_SSL=TRUE + -DPAHO_BUILD_STATIC=${PAHO_BUILD_STATIC} + -DPAHO_ENABLE_TESTING=FALSE ) vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH share/eclipse-paho-mqtt-c TARGET_PATH share/eclipse-paho-mqtt-c) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/paho-mqtt/README.md ${CURRENT_PACKAGES_DIR}/share/paho-mqtt/readme) -file(INSTALL ${SOURCE_PATH}/about.html DESTINATION ${CURRENT_PACKAGES_DIR}/share/paho-mqtt RENAME copyright) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/paho-mqtt/README.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/readme) +file(INSTALL ${SOURCE_PATH}/about.html DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From d3a1bf94685375955c18a94abd3325a2f401b067 Mon Sep 17 00:00:00 2001 From: Rene Winchenbach Date: Wed, 22 Jan 2020 21:05:37 +0100 Subject: [PATCH 045/111] Update Alembic version to 1.7.12 (#9737) * Update Alembic version to 1.7.12 * removed include(vcpkg_common_functions) from alembic --- ports/alembic/CONTROL | 2 +- ports/alembic/portfile.cmake | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/ports/alembic/CONTROL b/ports/alembic/CONTROL index 5d9e05635a..c55df2df95 100644 --- a/ports/alembic/CONTROL +++ b/ports/alembic/CONTROL @@ -1,5 +1,5 @@ Source: alembic -Version: 1.7.11-6 +Version: 1.7.12 Build-Depends: ilmbase, hdf5 Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications. Homepage: https://alembic.io/ diff --git a/ports/alembic/portfile.cmake b/ports/alembic/portfile.cmake index 95e3c22eef..370e058b68 100644 --- a/ports/alembic/portfile.cmake +++ b/ports/alembic/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_buildpath_length_warning(37) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) @@ -7,8 +5,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alembic/alembic - REF 1.7.11 - SHA512 94b9c218a2fe6e2e24205aff4a2f6bab784851c2aa15592fb60ea91f0e8038b0c0656a118f3a5cba0d3de8917dd90b74d0e2d1c4ac034b9ee3f5d0741d9f6b70 + REF 1.7.12 + SHA512 e05e0b24056c17f01784ced1f9606a269974de195f1aca8a6fce2123314e7ee609f70df77ac7fe18dc7f0c04fb883d38cc7de9b963caacf9586aaa24d4ac6210 HEAD_REF master PATCHES fix-C1083.patch From 181ec3b6492038f037bdef740f47a979781a3d59 Mon Sep 17 00:00:00 2001 From: SeekingMeaning Date: Wed, 22 Jan 2020 12:15:26 -0800 Subject: [PATCH 046/111] Update portfiles to use VCPKG_BUILD_TYPE (#9703) * Update portfiles to use VCPKG_BUILD_TYPE * Update * Update * Update port versions * Update * Update * Update * Update --- ports/libudns/CONTROL | 4 +- ports/libudns/portfile.cmake | 6 +- ports/luajit/CONTROL | 2 +- ports/luajit/portfile.cmake | 10 +- ports/nmap/CONTROL | 2 +- ports/nmap/portfile.cmake | 8 +- ports/openssl-uwp/CONTROL | 2 +- ports/openssl-uwp/portfile.cmake | 10 +- ports/openssl-windows/CONTROL | 2 +- ports/openssl-windows/portfile.cmake | 10 +- ports/pfring/CONTROL | 3 +- ports/pfring/portfile.cmake | 10 +- ports/pfring/use-vcpkg-libpcap.patch | 146 +++++++++++++++++++++++++++ ports/tcl/CONTROL | 4 +- ports/tcl/portfile.cmake | 4 +- 15 files changed, 182 insertions(+), 41 deletions(-) create mode 100644 ports/pfring/use-vcpkg-libpcap.patch diff --git a/ports/libudns/CONTROL b/ports/libudns/CONTROL index 91eca4fc4e..a78adfdf36 100644 --- a/ports/libudns/CONTROL +++ b/ports/libudns/CONTROL @@ -1,4 +1,4 @@ Source: libudns -Version: 0.4 +Version: 0.4-1 Homepage: https://github.com/ortclib/udns -Description: The DNS library, udns, implements thread-safe stub DNS resolver functionality, which may be used both traditional, syncronous way and asyncronously, with application-supplied event loop. \ No newline at end of file +Description: The DNS library, udns, implements thread-safe stub DNS resolver functionality, which may be used both traditional, syncronous way and asyncronously, with application-supplied event loop. diff --git a/ports/libudns/portfile.cmake b/ports/libudns/portfile.cmake index a20fc5c205..142dc32949 100644 --- a/ports/libudns/portfile.cmake +++ b/ports/libudns/portfile.cmake @@ -16,10 +16,10 @@ vcpkg_configure_make( vcpkg_build_make() # Install -if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug) +if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libudns.a DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) endif() -if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL release) +if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libudns.a DESTINATION ${CURRENT_PACKAGES_DIR}/lib) endif() @@ -28,4 +28,4 @@ file(INSTALL ${SOURCE_PATH}/udns.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING.LGPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING.LGPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/luajit/CONTROL b/ports/luajit/CONTROL index 9b02c5b2bf..03b778e9a8 100644 --- a/ports/luajit/CONTROL +++ b/ports/luajit/CONTROL @@ -1,4 +1,4 @@ Source: luajit -Version: 2.0.5-2 +Version: 2.0.5-3 Homepage: https://github.com/LuaJIT/LuaJIT Description: LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language. diff --git a/ports/luajit/portfile.cmake b/ports/luajit/portfile.cmake index dff84bfcbd..a37b66d670 100644 --- a/ports/luajit/portfile.cmake +++ b/ports/luajit/portfile.cmake @@ -1,8 +1,4 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "LuaJIT currently only supports being built for desktop") -endif() +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports being built for desktop" ON_TARGET "UWP") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -21,7 +17,7 @@ else() set (LJIT_STATIC "static") endif() -if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug) +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) message(STATUS "Building ${TARGET_TRIPLET}-dbg") file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") @@ -43,7 +39,7 @@ if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug) endif() -if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL release) +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) message(STATUS "Building ${TARGET_TRIPLET}-rel") file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") diff --git a/ports/nmap/CONTROL b/ports/nmap/CONTROL index 1ed9ae5dad..a703b496fa 100644 --- a/ports/nmap/CONTROL +++ b/ports/nmap/CONTROL @@ -1,4 +1,4 @@ Source: nmap -Version: 7.70-3 +Version: 7.70-4 Build-Depends: winpcap (windows), libpcap (!windows), lua, openssl, python2 (windows), libssh2, zlib, pcre Description: A library for scanning network ports. diff --git a/ports/nmap/portfile.cmake b/ports/nmap/portfile.cmake index 8a8d5f843e..829153310b 100644 --- a/ports/nmap/portfile.cmake +++ b/ports/nmap/portfile.cmake @@ -46,12 +46,12 @@ if(VCPKG_TARGET_IS_WINDOWS) ) # Install - if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Release) + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Release) file(INSTALL ${SOURCE_PATH}/mswin32/Release/nmap.exe ${SOURCE_PATH}/mswin32/Release/nmap.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/tools) endif() - if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Debug) + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Debug) file(INSTALL ${SOURCE_PATH}/mswin32/Debug/nmap.exe ${SOURCE_PATH}/mswin32/Debug/nmap.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/tools) @@ -68,7 +68,7 @@ else() set(OPTIONS --without-nmap-update --with-openssl=${CURRENT_INSTALLED_DIR} --with-libssh2=${CURRENT_INSTALLED_DIR} --with-libz=${CURRENT_INSTALLED_DIR} --with-libpcre=${CURRENT_INSTALLED_DIR}) message(STATUS "Building Options: ${OPTIONS}") - if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Release) + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Release) message(STATUS "Configuring ${TARGET_TRIPLET}-rel") set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/nmap-7.70) @@ -89,7 +89,7 @@ else() file(INSTALL ${SOURCE_PATH_RELEASE}/nmap DESTINATION ${CURRENT_PACKAGES_DIR}/tools) endif() - if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Debug) + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Debug) message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/nmap-7.70) diff --git a/ports/openssl-uwp/CONTROL b/ports/openssl-uwp/CONTROL index 7327b57b1c..a4a8e681a8 100644 --- a/ports/openssl-uwp/CONTROL +++ b/ports/openssl-uwp/CONTROL @@ -1,3 +1,3 @@ Source: openssl-uwp -Version: 1.1.1d +Version: 1.1.1d-1 Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. diff --git a/ports/openssl-uwp/portfile.cmake b/ports/openssl-uwp/portfile.cmake index c11763ee63..8e97a6bf7c 100644 --- a/ports/openssl-uwp/portfile.cmake +++ b/ports/openssl-uwp/portfile.cmake @@ -1,7 +1,5 @@ -include(vcpkg_common_functions) - -if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "This portfile only supports UWP") +if (NOT VCPKG_TARGET_IS_UWP) + message(FATAL_ERROR "${PORT} only supports UWP") endif() if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") @@ -96,7 +94,7 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") vcpkg_execute_required_process( COMMAND ${CONFIGURE_COMMAND} ${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_RELEASE}" "--openssldir=${OPENSSLDIR_RELEASE}" -FS WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel + LOGNAME configure-perl-${TARGET_TRIPLET}-${VCPKG_BUILD_TYPE}-rel ) message(STATUS "Configure ${TARGET_TRIPLET}-rel done") @@ -135,7 +133,7 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") vcpkg_execute_required_process( COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg + LOGNAME configure-perl-${TARGET_TRIPLET}-${VCPKG_BUILD_TYPE}-dbg ) message(STATUS "Configure ${TARGET_TRIPLET}-dbg done") diff --git a/ports/openssl-windows/CONTROL b/ports/openssl-windows/CONTROL index 18f2afc5e0..9d80476f84 100644 --- a/ports/openssl-windows/CONTROL +++ b/ports/openssl-windows/CONTROL @@ -1,3 +1,3 @@ Source: openssl-windows -Version: 1.1.1d +Version: 1.1.1d-1 Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. diff --git a/ports/openssl-windows/portfile.cmake b/ports/openssl-windows/portfile.cmake index f8319d2fd4..1413d158c2 100644 --- a/ports/openssl-windows/portfile.cmake +++ b/ports/openssl-windows/portfile.cmake @@ -1,8 +1,4 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME) - message(FATAL_ERROR "This port is only for building openssl on Windows Desktop") -endif() +vcpkg_fail_port_install(MESSAGE "${PORT} is only for Windows Desktop" ON_TARGET "UWP" "Linux" "OSX") if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") message(WARNING "Can't build openssl if libressl is installed. Please remove libressl, and try install openssl again if you need it. Build will continue but there might be problems since libressl is only a subset of openssl") @@ -81,7 +77,7 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") vcpkg_execute_required_process( COMMAND ${CONFIGURE_COMMAND} ${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_RELEASE}" "--openssldir=${OPENSSLDIR_RELEASE}" -FS WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel + LOGNAME configure-perl-${TARGET_TRIPLET}-${VCPKG_BUILD_TYPE}-rel ) message(STATUS "Configure ${TARGET_TRIPLET}-rel done") @@ -120,7 +116,7 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") vcpkg_execute_required_process( COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME configure-perl-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg + LOGNAME configure-perl-${TARGET_TRIPLET}-${VCPKG_BUILD_TYPE}-dbg ) message(STATUS "Configure ${TARGET_TRIPLET}-dbg done") diff --git a/ports/pfring/CONTROL b/ports/pfring/CONTROL index 57c5b7ccf8..157c9879f3 100644 --- a/ports/pfring/CONTROL +++ b/ports/pfring/CONTROL @@ -1,4 +1,5 @@ Source: pfring -Version: 2019-10-17 +Version: 2019-10-17-1 Homepage: https://github.com/ntop/PF_RING Description: PF_RING™ is a Linux kernel module and user-space framework that allows you to process packets at high-rates while providing you a consistent API for packet processing applications. +Build-Depends: libpcap diff --git a/ports/pfring/portfile.cmake b/ports/pfring/portfile.cmake index 6d0ad5181e..0df34b4753 100644 --- a/ports/pfring/portfile.cmake +++ b/ports/pfring/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF 582fa09bc58411cfe6f27facd7e6438924f779d2 SHA512 78dd2d2f9df259483196905f80a904534632a835f742d1f8b3ad645ea80f2dad78356960a2b35e2678525786a7344fa248b708bd3f86101c43fb36c7abc05598 HEAD_REF dev + PATCHES + use-vcpkg-libpcap.patch ) vcpkg_configure_make( @@ -13,14 +15,16 @@ vcpkg_configure_make( SKIP_CONFIGURE ) +set(ENV{VCPKG_LIBPCAP_DIR} "${CURRENT_INSTALLED_DIR}") + vcpkg_build_make() vcpkg_copy_pdbs() # Install manually because pfring cannot set prefix -if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug) +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) set(PFRING_OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - if (CMAKE_BUILD_TYPE STREQUAL debug) + if (VCPKG_BUILD_TYPE STREQUAL debug) file(GLOB_RECURSE PFRING_KO_FILES "${PFRING_OBJ_DIR}/*.ko") file(INSTALL ${PFRING_KO_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/share/${PORT}) @@ -36,7 +40,7 @@ if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug) endif() endif() -if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL release) +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) set(PFRING_OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) file(GLOB_RECURSE PFRING_KO_FILES "${PFRING_OBJ_DIR}/*.ko") diff --git a/ports/pfring/use-vcpkg-libpcap.patch b/ports/pfring/use-vcpkg-libpcap.patch new file mode 100644 index 0000000000..e005442bf7 --- /dev/null +++ b/ports/pfring/use-vcpkg-libpcap.patch @@ -0,0 +1,146 @@ +diff --git a/userland/Makefile b/userland/Makefile +index d5392c09..959470c0 100644 +--- a/userland/Makefile ++++ b/userland/Makefile +@@ -1,4 +1,4 @@ +-all: libpfring pcap build_examples build_examples_zc build_examples_ft build_extcap ++all: libpfring build_extcap + # build_tcpdump build_c++ + + ################### +@@ -14,52 +14,25 @@ libpfring: config + build_nbpf: config + cd nbpf; make + +-libpcap/Makefile: +- cd libpcap; ./configure --enable-ipv6 --enable-dbus=no --without-libnl --with-snf=no --disable-bluetooth --disable-canusb --with-dag=no +- +-pcap: libpfring libpcap/Makefile +- cd libpcap; make +- +-build_examples: config +- cd examples; make +- +-build_examples_zc: config +- cd examples_zc; make +- +-build_examples_ft: config +- cd examples_ft; make +- + build_c++: libpfring + cd c++; make + + tcpdump/Makefile: +- cd tcpdump; ./configure ++ cd tcpdump; ./configure --with_system_libpcap=yes + +-build_tcpdump: libpfring pcap tcpdump/Makefile ++build_tcpdump: libpfring tcpdump/Makefile + cd tcpdump; make + +-build_extcap: libpfring pcap ++build_extcap: libpfring + cd wireshark/extcap; make + + ################### + +-clean: libpfring_clean pcap_clean examples_clean examples_ft_clean examples_zc_clean c++_clean tcpdump_clean nbpf_clean extcap_clean ++clean: libpfring_clean c++_clean tcpdump_clean nbpf_clean extcap_clean + + libpfring_clean: + cd lib; make clean + +-pcap_clean: +- if test -f libpcap/config.status; then cd libpcap; make clean; fi +- +-examples_clean: +- cd examples; make clean +- +-examples_zc_clean: +- cd examples_zc; make clean +- +-examples_ft_clean: +- cd examples_ft; make clean +- + c++_clean: + cd c++; make clean + +@@ -72,8 +45,5 @@ nbpf_clean: + extcap_clean: + cd wireshark/extcap; make clean + +-install: libpfring pcap examples examples_zc examples_ft ++install: libpfring + cd lib; make install +- cd libpcap; make install +- cd examples; make install +- cd examples_zc; make install +diff --git a/userland/c++/Makefile.in b/userland/c++/Makefile.in +index 02bf5164..b0442d84 100644 +--- a/userland/c++/Makefile.in ++++ b/userland/c++/Makefile.in +@@ -1,8 +1,7 @@ + CPP=g++ -g + + KERNEL_DIR=../../kernel +-LIBPCAP_DIR=../libpcap +-INCLUDE=-I$(KERNEL_DIR) -I$(LIBPCAP_DIR) -I../lib `../lib/pfring_config --include` ++INCLUDE=-I$(KERNEL_DIR) -I$(VCPKG_LIBPCAP_DIR)/include -I../lib `../lib/pfring_config --include` + LIBPFRING_CPP=libpfring_cpp.a + RANLIB=ranlib + OBJ=PFring.o +@@ -11,7 +10,7 @@ LIBS=../lib/libpfring.a `../lib/pfring_config --libs` -lpthread + all: $(LIBPFRING_CPP) pf_test + + pf_test: pf_test.cpp $(LIBPFRING_CPP) +- $(CPP) $(INCLUDE) $< $(LIBPFRING_CPP) -o $@ $(LIBS) $(LIBPCAP_DIR)/libpcap.a @SYSLIBS@ ++ $(CPP) $(INCLUDE) $< $(LIBPFRING_CPP) -o $@ $(LIBS) $(VCPKG_LIBPCAP_DIR)/lib/libpcap.a @SYSLIBS@ + + $(LIBPFRING_CPP): $(OBJ) + @rm -f $@ +diff --git a/userland/snort/pfring-daq-module-zc/Makefile.am b/userland/snort/pfring-daq-module-zc/Makefile.am +index 7123de18..45998688 100644 +--- a/userland/snort/pfring-daq-module-zc/Makefile.am ++++ b/userland/snort/pfring-daq-module-zc/Makefile.am +@@ -4,5 +4,5 @@ ACLOCAL_AMFLAGS = -I m4 + + pkglib_LTLIBRARIES = daq_pfring_zc.la + daq_pfring_zc_la_SOURCES = daq_pfring_zc.c +-daq_pfring_zc_la_CFLAGS = -DBUILDING_SO -I../../libpcap +-daq_pfring_zc_la_LDFLAGS = -module -export-dynamic -avoid-version -shared -lrt ../../libpcap/libpcap.a ++daq_pfring_zc_la_CFLAGS = -DBUILDING_SO -I${VCPKG_LIBPCAP_DIR}/include ++daq_pfring_zc_la_LDFLAGS = -module -export-dynamic -avoid-version -shared -lrt ${VCPKG_LIBPCAP_DIR}/lib/libpcap.a +diff --git a/userland/tcpdump-4.9.2/Makefile.in b/userland/tcpdump-4.9.2/Makefile.in +index e2c74d13..47d9e2cc 100644 +--- a/userland/tcpdump-4.9.2/Makefile.in ++++ b/userland/tcpdump-4.9.2/Makefile.in +@@ -373,7 +373,7 @@ TEST_DIST= `find tests \( -name 'DIFF' -prune \) -o \( -name NEW -prune \) -o -t + + all: $(PROG) $(LIBNETDISSECT) + +-$(PROG): $(OBJ) @V_PCAPDEP@ ++$(PROG): $(OBJ) $(VCPKG_LIBPCAP_DIR)/lib/libpcap.a + @rm -f $@ + $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) + +diff --git a/userland/wireshark/extcap/Makefile.in b/userland/wireshark/extcap/Makefile.in +index 970b9680..3e34ccc8 100644 +--- a/userland/wireshark/extcap/Makefile.in ++++ b/userland/wireshark/extcap/Makefile.in +@@ -20,14 +20,13 @@ LIBPFRING = ${PFRINGDIR}/libpfring.a + # + O_FLAG = -O2 -DHAVE_PF_RING + EXTRA_LIBS = +-PCAPDIR = ../../libpcap +-LIBPCAP = ${PCAPDIR}/libpcap.a ${EXTRA_LIBS} ++LIBPCAP = ${VCPKG_LIBPCAP_DIR}/lib/libpcap.a ${EXTRA_LIBS} + + # + # Search directories + # + PFRING_KERNEL=../../../kernel +-INCLUDE = -I${PFRING_KERNEL} -I${PFRINGDIR} -I${PCAPDIR} -Ithird-party `../../lib/pfring_config --include` ++INCLUDE = -I${PFRING_KERNEL} -I${PFRINGDIR} -I${VCPKG_LIBPCAP_DIR}/include -Ithird-party `../../lib/pfring_config --include` + + # + # C compiler and flags diff --git a/ports/tcl/CONTROL b/ports/tcl/CONTROL index f9aa4762a8..7bf3da0700 100644 --- a/ports/tcl/CONTROL +++ b/ports/tcl/CONTROL @@ -1,5 +1,5 @@ Source: tcl -Version: 8.6.10-2 +Version: 8.6.10-3 Homepage: https://github.com/tcltk/tcl Description: Tcl provides a powerful platform for creating integration applications that tie together diverse applications, protocols, devices, and frameworks. When paired with the Tk toolkit, Tcl provides the fastest and most powerful way to create GUI applications that run on PCs, Unix, and Mac OS X. Tcl can also be used for a variety of web-related tasks and for creating powerful command languages for applications. @@ -13,4 +13,4 @@ Feature: unchecked Description: Allows a symbols build to not use the debug enabled runtime (msvcrt.dll not msvcrtd.dll or libcmt.lib not libcmtd.lib). Feature: utfmax -Description: Forces Tcl_UniChar to be a 32-bit quantity in stead of 16-bits \ No newline at end of file +Description: Forces Tcl_UniChar to be a 32-bit quantity in stead of 16-bits diff --git a/ports/tcl/portfile.cmake b/ports/tcl/portfile.cmake index 834d7dee08..9109ffd34a 100644 --- a/ports/tcl/portfile.cmake +++ b/ports/tcl/portfile.cmake @@ -53,7 +53,7 @@ if (VCPKG_TARGET_IS_WINDOWS) SCRIPT_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/tools/tcl/lib/tcl9.0 ) # Install - if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL release) + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) file(GLOB_RECURSE TOOLS ${CURRENT_PACKAGES_DIR}/lib/dde1.4/* ${CURRENT_PACKAGES_DIR}/lib/nmake/* @@ -75,7 +75,7 @@ if (VCPKG_TARGET_IS_WINDOWS) ${CURRENT_PACKAGES_DIR}/lib/tdbcsqlite31.1.0 ) endif() - if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug) + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/dde1.4 ${CURRENT_PACKAGES_DIR}/debug/lib/nmake ${CURRENT_PACKAGES_DIR}/debug/lib/reg1.3 From 45cab637618481dc43c92ad182925b4cf0244278 Mon Sep 17 00:00:00 2001 From: Julian Smolka Date: Wed, 22 Jan 2020 21:16:10 +0100 Subject: [PATCH 047/111] [asmjit] update to current version (#9770) * [asmjit] update to current version * [asmjit] remove x64-uwp from ci.baseline.text --- ports/asmjit/CONTROL | 2 +- ports/asmjit/portfile.cmake | 12 ++---------- scripts/ci.baseline.txt | 1 - 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/ports/asmjit/CONTROL b/ports/asmjit/CONTROL index 68cb157878..f9f2040304 100644 --- a/ports/asmjit/CONTROL +++ b/ports/asmjit/CONTROL @@ -1,4 +1,4 @@ Source: asmjit -Version: 2019-07-11 +Version: 2020-01-20 Homepage: https://github.com/asmjit/asmjit Description: Complete x86/x64 JIT and Remote Assembler for C++ diff --git a/ports/asmjit/portfile.cmake b/ports/asmjit/portfile.cmake index d68bb619a7..e29365f5a3 100644 --- a/ports/asmjit/portfile.cmake +++ b/ports/asmjit/portfile.cmake @@ -1,14 +1,11 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO asmjit/asmjit - REF 761130b1d8f32b5d3d612d285664fcfef5258149 - SHA512 a86fd58ba0c8bc81ec575e86a9acdf4a11f2acc9c2facd2a0a8512cffa9ee6fc0bd877a1f33fb52f8f510eff1de654b45cd4f5f5a18c5252ecae22a92db6e93e + REF 7e164e3edeefb76d8a2da4fbe84957ece0d07a13 + SHA512 19d0a7f7a7cb4e6bd6c03f2e29ab012edf67ba4ba92789fd81e71a4937f1271a5124fa9c02d40d202bad7785b9e5ae21a3a72048cdeb8781c1b927c9717669c8 HEAD_REF master ) - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -22,19 +19,14 @@ else() ) endif() - - vcpkg_install_cmake() vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() - - # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/asmjit RENAME copyright) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 7689ca1d50..547ee1a87a 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -90,7 +90,6 @@ arrow:x64-linux=fail arrow:x86-windows=fail asmjit:arm64-windows=fail asmjit:arm-uwp=fail -asmjit:x64-uwp=fail asyncplusplus:arm-uwp=fail asyncplusplus:x64-uwp=fail atk:x64-osx=fail From 925041e35ba0a617bbf3a7a2c990b480bf4a634e Mon Sep 17 00:00:00 2001 From: iainchesworth Date: Thu, 23 Jan 2020 07:16:36 +1100 Subject: [PATCH 048/111] Updating library to v3.2.2 from v3.2.0. (#9734) --- ports/libwebsockets/CONTROL | 2 +- ports/libwebsockets/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL index cadb53873e..e6f9a9cb80 100644 --- a/ports/libwebsockets/CONTROL +++ b/ports/libwebsockets/CONTROL @@ -1,5 +1,5 @@ Source: libwebsockets -Version: 3.2.0-2 +Version: 3.2.2 Build-Depends: zlib, openssl Homepage: https://github.com/warmcat/libwebsockets Description: Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server. diff --git a/ports/libwebsockets/portfile.cmake b/ports/libwebsockets/portfile.cmake index 8a9000468b..fe979df599 100644 --- a/ports/libwebsockets/portfile.cmake +++ b/ports/libwebsockets/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO warmcat/libwebsockets - REF v3.2.0 - SHA512 afc1c9e259d6d48000b09da111af4129680d50474cdfedbad197ee22260d57a837b67cc6a3f8e6b1aa7ce7dc5d3fd900569783631540501709868125c6d1e4da + REF v3.2.2 + SHA512 be6cd57ae1d15de059c277ce56e9ccc87f7918811b40a427c96978397f2b1d446e1b5ed6ae62a6aa82c6d775871d6a15885d283d74d7887e98205ab61d206fc0 HEAD_REF master PATCHES CMakeLists.patch From 65d1fa637371d27c6a101c9c001aa00d73fc3d7c Mon Sep 17 00:00:00 2001 From: eao197 Date: Wed, 22 Jan 2020 23:17:15 +0300 Subject: [PATCH 049/111] Update sobjectizer/so5extra to v.5.7.0/v.1.4.0. (#9732) --- ports/so5extra/CONTROL | 3 ++- ports/so5extra/portfile.cmake | 9 +++------ ports/sobjectizer/CONTROL | 2 +- ports/sobjectizer/portfile.cmake | 18 ++++++------------ 4 files changed, 12 insertions(+), 20 deletions(-) diff --git a/ports/so5extra/CONTROL b/ports/so5extra/CONTROL index 3a0ef2cb0c..d085c7fc3c 100644 --- a/ports/so5extra/CONTROL +++ b/ports/so5extra/CONTROL @@ -1,4 +1,5 @@ Source: so5extra -Version: 1.3.1.1 +Version: 1.4.0 +Homepage: https://github.com/Stiffstream/so5extra Description: A set of additional tools for SObjectizer framework. Build-Depends: sobjectizer diff --git a/ports/so5extra/portfile.cmake b/ports/so5extra/portfile.cmake index c096b47950..4e2cd8119b 100644 --- a/ports/so5extra/portfile.cmake +++ b/ports/so5extra/portfile.cmake @@ -1,12 +1,8 @@ -include(vcpkg_common_functions) - -set(VERSION 1.3.1.1) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stiffstream/so5extra - REF v.${VERSION} - SHA512 aaf0d6bf86819a5c8c4e2c07318b46e34f22f0b4c2183690d8f21b8789a3c8c2533304998432397b8192193e32915ba4742eaff3481949add1a25602fb7347f1 + REF 5bf200f495fd7774bd1e42ee563db8c69ad6fc75 # v.1.4.0 + SHA512 3d91505d2a58a6fd0fd8fc9296996cfe26dece40f9f7b8364d9d65d2046d290b98f0c6e5e48371e5fc729b17a35e55c7571f78dca45bb697c422c133aa24ff1e ) vcpkg_configure_cmake( @@ -22,3 +18,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/so5extra) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/so5extra RENAME copyright) + diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL index 538cf7fdb0..d0f60bbd20 100644 --- a/ports/sobjectizer/CONTROL +++ b/ports/sobjectizer/CONTROL @@ -1,4 +1,4 @@ Source: sobjectizer -Version: 5.6.1-1 +Version: 5.7.0 Homepage: https://github.com/Stiffstream/sobjectizer Description: SObjectizer is a C++ in-process message dispatching framework with implementation of Actor Model, Publish-Subscribe Model and CSP-like channels. diff --git a/ports/sobjectizer/portfile.cmake b/ports/sobjectizer/portfile.cmake index 6eb634fa8d..1a98c9b56f 100644 --- a/ports/sobjectizer/portfile.cmake +++ b/ports/sobjectizer/portfile.cmake @@ -1,16 +1,8 @@ -include(vcpkg_common_functions) - -set(VERSION 5.6.1) - -vcpkg_download_distfile(ARCHIVE - URLS "https://sourceforge.net/projects/sobjectizer/files/sobjectizer/SObjectizer%20Core%20v.5.6/so-${VERSION}.tar.bz2" - FILENAME "so-${VERSION}.tar.bz2" - SHA512 f043a2d9025fe98d407023291100a79c2fbbd9d61e7c24602311e7383607b0fc1ec6108bfaea5f98021ebb942b3494f0380a2357bcaed01f92ede5dba0ab9cf0 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + REPO stiffstream/sobjectizer + REF 407fb4cd25455441792d764d498badb6884cfb78 # v.5.7.0 + SHA512 0a6254a2f8b2aecf18ef29202f150227a0332ec16af08895567a4d27621f200cd17c15321668ef3ce0f4e0c5cd10e3cd89a4ecc89a34615019f2b23779adc51a ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -32,6 +24,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sobjectizer) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + From 6e99bd4018686495c2d6759f1f749451b745baab Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 23 Jan 2020 04:19:17 +0800 Subject: [PATCH 050/111] [freeglut] Patch header correctly (#9725) This fixes bug introduced by #9155. --- ports/freeglut/CONTROL | 2 +- ports/freeglut/portfile.cmake | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/ports/freeglut/CONTROL b/ports/freeglut/CONTROL index 5f42478d8c..05cd80860a 100644 --- a/ports/freeglut/CONTROL +++ b/ports/freeglut/CONTROL @@ -1,4 +1,4 @@ Source: freeglut -Version: 3.0.0-8 +Version: 3.0.0-9 Homepage: https://sourceforge.net/projects/freeglut/ Description: Open source implementation of GLUT with source and binary backwards compatibility. diff --git a/ports/freeglut/portfile.cmake b/ports/freeglut/portfile.cmake index bb22ac6844..e46afcf9b8 100644 --- a/ports/freeglut/portfile.cmake +++ b/ports/freeglut/portfile.cmake @@ -32,14 +32,6 @@ string(REGEX REPLACE "\"freeglut_static.lib\"" "\"freeglut.lib\"" FREEGLUT_STDH "${FREEGLUT_STDH}") string(REGEX REPLACE "\"freeglut_staticd.lib\"" "\"freeglutd.lib\"" FREEGLUT_STDH "${FREEGLUT_STDH}") -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - string(REPLACE - "ifdef FREEGLUT_STATIC" - "if 1 //ifdef FREEGLUT_STATIC" - FREEGLUT_STDH - "${FREEGLUT_STDH}" - ) -endif() file(WRITE ${SOURCE_PATH}/include/GL/freeglut_std.h "${FREEGLUT_STDH}") vcpkg_configure_cmake( @@ -60,6 +52,12 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freeglut_static.lib ${CURRENT_PACKAGES_DIR}/lib/freeglut.lib) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freeglut_staticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freeglutd.lib) endif() + + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/include/GL/freeglut_std.h" + "ifdef FREEGLUT_STATIC" + "if 1 //ifdef FREEGLUT_STATIC" + ) endif() # Clean From a626cd7fa0bf04cd72393612505a1f913ea70cd6 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 22 Jan 2020 21:20:32 +0100 Subject: [PATCH 051/111] [ffmpeg] fix link order (#9718) * [ffmpeg] fix link order closes #9714 * bump CONTROL * change link order slightly --- ports/ffmpeg/CONTROL | 2 +- ports/ffmpeg/FindFFMPEG.cmake.in | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL index 1699baf23d..fee79a66a5 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,5 +1,5 @@ Source: ffmpeg -Version: 4.2-3 +Version: 4.2-4 Build-Depends: zlib Homepage: https://ffmpeg.org Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. diff --git a/ports/ffmpeg/FindFFMPEG.cmake.in b/ports/ffmpeg/FindFFMPEG.cmake.in index d5139220b3..1562fff054 100644 --- a/ports/ffmpeg/FindFFMPEG.cmake.in +++ b/ports/ffmpeg/FindFFMPEG.cmake.in @@ -153,14 +153,14 @@ if (FFMPEG_libavcodec_FOUND AND FFMPEG_libavdevice_FOUND AND FFMPEG_libavfilter_ set(FFMPEG_libswscale_VERSION "${FFMPEG_VERSION}" CACHE STRING "") list(APPEND FFMPEG_LIBRARIES - ${FFMPEG_libavformat_LIBRARY} ${FFMPEG_libavdevice_LIBRARY} - ${FFMPEG_libavcodec_LIBRARY} - ${FFMPEG_libavutil_LIBRARY} - ${FFMPEG_libswscale_LIBRARY} ${FFMPEG_libavfilter_LIBRARY} + ${FFMPEG_libavformat_LIBRARY} + ${FFMPEG_libswscale_LIBRARY} + ${FFMPEG_libavcodec_LIBRARY} ${FFMPEG_libswresample_LIBRARY} ${FFMPEG_libavresample_LIBRARY} + ${FFMPEG_libavutil_LIBRARY} ${FFMPEG_libzlib_LIBRARY} ${FFMPEG_PLATFORM_DEPENDENT_LIBS} ) From 687cff42ce280b2f368533821893a310365f30ad Mon Sep 17 00:00:00 2001 From: Samuel Marks <807580+SamuelMarks@users.noreply.github.com> Date: Thu, 23 Jan 2020 07:26:35 +1100 Subject: [PATCH 052/111] [ppconsul] Upgrade to latest version (#9713) Co-authored-by: Raed Romanov --- ports/ppconsul/CONTROL | 2 +- ports/ppconsul/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/ppconsul/CONTROL b/ports/ppconsul/CONTROL index ea49156d97..08c987f39c 100644 --- a/ports/ppconsul/CONTROL +++ b/ports/ppconsul/CONTROL @@ -1,5 +1,5 @@ Source: ppconsul -Version: 0.4-1 +Version: 0.5 Homepage: https://github.com/oliora/ppconsul Description: A C++ client library for Consul. Consul is a distributed tool for discovering and configuring services in your infrastructure. Build-Depends: boost-core, boost-variant, boost-optional, boost-fusion, curl[openssl], json11 diff --git a/ports/ppconsul/portfile.cmake b/ports/ppconsul/portfile.cmake index 50dd08c375..9b8c4c4e70 100644 --- a/ports/ppconsul/portfile.cmake +++ b/ports/ppconsul/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oliora/ppconsul - REF a3285a630ff46423701da28c6029c8d097e7430c - SHA512 9910d802c3cc296680274b3aad78f68885b7e0b30d0f196f31a3e5f056a9ddab2a03c7cc28028050922a2463155ea326b8531c69f2a4e286ca70ea1f9a9f6971 + REF 8aed30cae0e2df76d920b5cd77933604a4644ee9 + SHA512 756f07c7c8099868fa181571941f511987088abc110ad5eda517ad591ed10b40532cd7b1541dbdad76c2617ce804a1dc26a121380f20f8e4a40e29063523cbbd HEAD_REF master PATCHES "cmake_build.patch" ) From f992ddbed3baf216248b42cecc92de54c7c222f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20St=C3=B6ggl?= Date: Wed, 22 Jan 2020 21:27:45 +0100 Subject: [PATCH 053/111] [doxygen] Add alternative download URL (#9708) Only the current and the previous version of doxygen can be downloaded from: http://doxygen.nl Sourceforge provides the current version and any previously released versions for download: https://sourceforge.net/projects/doxygen/files/ Add sourceforge as alternative download URL. This avoids situations, when the version of doxygen in vcpkg is n-2 and cannot be downloaded any more, see e.g. commit: 526f9375800f846b113989fc3d566af7b8c79408 --- scripts/cmake/vcpkg_find_acquire_program.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 4c402db48b..038e50b36e 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -241,9 +241,12 @@ function(vcpkg_find_acquire_program VAR) set(HASH fe121b67b979a4e9580c7f62cfdbe0c243eba62a05b560d6d513ac7f35816d439b26d92fc2d7b7d7241c9ce2a49ea7949455a17587ef53c04a5f5125ac635727) elseif(VAR MATCHES "DOXYGEN") set(PROGNAME doxygen) + set(DOXYGEN_VERSION 1.8.17) set(PATHS ${DOWNLOADS}/tools/doxygen) - set(URL "http://doxygen.nl/files/doxygen-1.8.17.windows.bin.zip") - set(ARCHIVE "doxygen-1.8.17.windows.bin.zip") + set(URL + "http://doxygen.nl/files/doxygen-${DOXYGEN_VERSION}.windows.bin.zip" + "https://sourceforge.net/projects/doxygen/files/rel-${DOXYGEN_VERSION}/doxygen-${DOXYGEN_VERSION}.windows.bin.zip") + set(ARCHIVE "doxygen-${DOXYGEN_VERSION}.windows.bin.zip") set(HASH 6bac47ec552486783a70cc73b44cf86b4ceda12aba6b52835c2221712bd0a6c845cecec178c9ddaa88237f5a781f797add528f47e4ed017c7888eb1dd2bc0b4b) elseif(VAR MATCHES "BAZEL") set(PROGNAME bazel) From 7dc2a4ca9b1498004ab638202e5d991eacdf3dd3 Mon Sep 17 00:00:00 2001 From: Michael Hansen Date: Wed, 22 Jan 2020 12:37:27 -0800 Subject: [PATCH 054/111] [string_theory] Update to 3.0, which is now header-only. (#9690) --- ports/string-theory/CONTROL | 2 +- ports/string-theory/portfile.cmake | 24 ++++-------------------- scripts/ci.baseline.txt | 3 --- 3 files changed, 5 insertions(+), 24 deletions(-) diff --git a/ports/string-theory/CONTROL b/ports/string-theory/CONTROL index e2a64330e7..18e9b1014b 100644 --- a/ports/string-theory/CONTROL +++ b/ports/string-theory/CONTROL @@ -1,4 +1,4 @@ Source: string-theory -Version: 2.3 +Version: 3.0 Homepage: https://github.com/zrax/string_theory Description: Flexible modern C++ string library with type-safe formatting. diff --git a/ports/string-theory/portfile.cmake b/ports/string-theory/portfile.cmake index 596f77b92d..a82fec30ec 100644 --- a/ports/string-theory/portfile.cmake +++ b/ports/string-theory/portfile.cmake @@ -1,24 +1,14 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zrax/string_theory - REF 2.3 - SHA512 2e0bae7aeeedf81343ee88482a3d9afc99cc2e8bede375cb191782bcd53044cfd4a16a79efd463b657914a5ddca8209210815a6549fe527d9cc60e9048d3c672 + REF 3.0 + SHA512 96e596b908c1b61b67497d8ecea7523b36e1bce0ef41bee90a144de1d98c5dbc51336e22934e6331862741879cfed450b620b89222e774048e5d17ebd11ad2a8 HEAD_REF master ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(ST_BUILD_STATIC ON) -else() - set(ST_BUILD_STATIC OFF) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -DST_BUILD_STATIC=${ST_BUILD_STATIC} ) vcpkg_install_cmake() @@ -26,14 +16,8 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/string_theory) file(RENAME ${CURRENT_PACKAGES_DIR}/share/string-theory ${CURRENT_PACKAGES_DIR}/share/string_theory) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() - -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/string-theory) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 547ee1a87a..af974a83fb 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1610,9 +1610,6 @@ spirv-tools:arm-uwp=fail spirv-tools:x64-uwp=fail stormlib:arm-uwp=fail stormlib:x64-uwp=fail -string-theory:arm-uwp=fail -string-theory:x64-uwp=fail -string-theory:x64-windows=ignore stxxl:arm-uwp=fail stxxl:x64-uwp=fail systemc:arm64-windows=fail From 6d8b6b1bbfaf09c90e49470b9b3b50856b5c7ac5 Mon Sep 17 00:00:00 2001 From: Falko Axmann Date: Wed, 22 Jan 2020 21:37:57 +0100 Subject: [PATCH 055/111] [anyrpc] Updated to latest commit (#9682) * [anyrpc] Updated to latest commit Updated to latest commit and removed patch, as it is no longer needed. * [anyrpc] Updated to latest commit Removed deprecated `include(vcpkg_common_functions)`. --- ports/anyrpc/CONTROL | 2 +- ports/anyrpc/arm_endian_detection.patch | 16 ---------------- ports/anyrpc/portfile.cmake | 7 ++----- 3 files changed, 3 insertions(+), 22 deletions(-) delete mode 100644 ports/anyrpc/arm_endian_detection.patch diff --git a/ports/anyrpc/CONTROL b/ports/anyrpc/CONTROL index 2e37987c33..a76346057c 100644 --- a/ports/anyrpc/CONTROL +++ b/ports/anyrpc/CONTROL @@ -1,4 +1,4 @@ Source: anyrpc -Version: 2017-12-01-1 +Version: 2020-01-13-1 Homepage: https://github.com/sgieseking/anyrpc Description: A multiprotocol remote procedure call system for C++. diff --git a/ports/anyrpc/arm_endian_detection.patch b/ports/anyrpc/arm_endian_detection.patch deleted file mode 100644 index 5dfa340b05..0000000000 --- a/ports/anyrpc/arm_endian_detection.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/include/anyrpc/api.h b/include/anyrpc/api.h -index a67fa32..e7d74ad 100644 ---- a/include/anyrpc/api.h -+++ b/include/anyrpc/api.h -@@ -158,9 +158,9 @@ typedef int socklen_t; - # elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) - # define ANYRPC_ENDIAN ANYRPC_BIGENDIAN - // Detect with architecture macros --# elif defined(__sparc) || defined(__sparc__) || defined(_POWER) || defined(__powerpc__) || defined(__ppc__) || defined(__hpux) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER) || defined(__s390__) -+# elif defined(__sparc) || defined(__sparc__) || defined(_POWER) || defined(__powerpc__) || defined(__ppc__) || defined(__hpux) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER) || defined(__s390__) || defined(__ARMEB__) || defined(__THUMBEB__) || defined(__AARCH64EB__) - # define ANYRPC_ENDIAN ANYRPC_BIGENDIAN --# elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__) -+# elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__) || defined(__ARMEL__) || defined(__THUMBEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || defined(_M_ARM) - # define ANYRPC_ENDIAN ANYRPC_LITTLEENDIAN - # elif defined(ANYRPC_DOXYGEN_RUNNING) - # define ANYRPC_ENDIAN diff --git a/ports/anyrpc/portfile.cmake b/ports/anyrpc/portfile.cmake index 34102a24da..843e83609f 100644 --- a/ports/anyrpc/portfile.cmake +++ b/ports/anyrpc/portfile.cmake @@ -1,12 +1,9 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sgieseking/anyrpc - REF bfd50aa6dd620066ed308258599127cd46be818b - SHA512 604e92a2a2936fb95e74e05dd1ac578e67e2877357443d83f8fac319ab244a27d1fac2ebd8bcd9ac8108e7a198752776974027b8f020643bb039b5f84406049b + REF b288617d0ae1d6e227bcda7d3db7db5329fa2322 + SHA512 d50ef96ad13f06991e65e9912225b64c1f244bf89b67e4afcddbb18e08a885ec773aea88e1334d6deb73bb3824e916695b3b187b9023368aec3ba21a53dd2830 HEAD_REF master - PATCHES "arm_endian_detection.patch" ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ANYRPC_LIB_BUILD_SHARED) From 2204efd414d1df30d861d19cf52f20e04d299c15 Mon Sep 17 00:00:00 2001 From: David Garcia <48836389+david-antiteum@users.noreply.github.com> Date: Wed, 22 Jan 2020 21:42:42 +0100 Subject: [PATCH 056/111] [jasper] freeglut is not a dependency in macOS (#9680) * [jasper] freeglut is not a dependency in macOS Also remove freeimage:x64-osx from baseline as now compiles * ogre fails in macOS --- ports/jasper/CONTROL | 4 ++-- scripts/ci.baseline.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/jasper/CONTROL b/ports/jasper/CONTROL index 43c657dd4c..df701a0526 100644 --- a/ports/jasper/CONTROL +++ b/ports/jasper/CONTROL @@ -1,5 +1,5 @@ Source: jasper -Version: 2.0.16-2 +Version: 2.0.16-3 Homepage: https://github.com/mdadams/jasper Description: Open source implementation of the JPEG-2000 Part-1 standard -Build-Depends: libjpeg-turbo, opengl, freeglut +Build-Depends: libjpeg-turbo, opengl, freeglut (!osx) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index af974a83fb..85e9d353b4 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -467,7 +467,6 @@ freeglut:arm64-windows=fail freeglut:arm-uwp=fail freeglut:x64-uwp=fail freeglut:x64-osx=fail -freeimage:x64-osx=fail freerdp:arm64-windows=fail freerdp:arm-uwp=fail freerdp:x64-osx=fail @@ -1178,6 +1177,7 @@ ogdf:x64-uwp = skip ogdf:x64-windows = skip ogdf:x64-windows-static = skip ogdf:x86-windows = skip +ogre:x64-osx=fail # Conflicts with ogre ogre-next:arm64-windows = skip ogre-next:arm-uwp = skip From 11b8872c973d02148e614a4b6ab0ec26ad239c7e Mon Sep 17 00:00:00 2001 From: Tatsuro Shibamura Date: Thu, 23 Jan 2020 05:44:54 +0900 Subject: [PATCH 057/111] [cryptopp] Fixed build error on ARM32/ARM64 Windows (#9633) * [cryptopp] Fixed build error on ARM64 Windows * [cryptopp] Update ci.baseline.txt * Update version * Use VCPKG_TARGET_IS_OSX variable --- ports/cryptopp/CONTROL | 2 +- ports/cryptopp/portfile.cmake | 6 ++++-- scripts/ci.baseline.txt | 2 -- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ports/cryptopp/CONTROL b/ports/cryptopp/CONTROL index 23a7bb4565..9c11e19064 100644 --- a/ports/cryptopp/CONTROL +++ b/ports/cryptopp/CONTROL @@ -1,4 +1,4 @@ Source: cryptopp -Version: 8.2.0 +Version: 8.2.0-1 Homepage: https://github.com/weidai11/cryptopp Description: Crypto++ is a free C++ class library of cryptographic schemes. diff --git a/ports/cryptopp/portfile.cmake b/ports/cryptopp/portfile.cmake index d744deccd2..36c7478848 100644 --- a/ports/cryptopp/portfile.cmake +++ b/ports/cryptopp/portfile.cmake @@ -24,8 +24,10 @@ vcpkg_from_github( file(COPY ${CMAKE_SOURCE_PATH}/cryptopp-config.cmake DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_SOURCE_PATH}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -# disable assembly on OSX to fix broken build -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") +# disable assembly on OSX and ARM Windows to fix broken build +if (VCPKG_TARGET_IS_OSX) + set(CRYPTOPP_DISABLE_ASM "ON") +elseif (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "^arm") set(CRYPTOPP_DISABLE_ASM "ON") else() set(CRYPTOPP_DISABLE_ASM "OFF") diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 85e9d353b4..098c50c68d 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -294,8 +294,6 @@ cpuinfo:arm64-windows=ignore crfsuite:arm-uwp=fail crfsuite:x64-uwp=fail crossguid:x64-osx=fail -cryptopp:arm64-windows=fail -cryptopp:arm-uwp=fail cspice:arm-uwp=fail cspice:x64-uwp=fail ctemplate:arm64-windows=fail From 6ee24347559320ab4556ec1899319b61fa85c247 Mon Sep 17 00:00:00 2001 From: Owen Rudge Date: Wed, 22 Jan 2020 20:54:56 +0000 Subject: [PATCH 058/111] [proj4] Update to version 6.3.0 (#9573) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> --- ports/proj4/CONTROL | 2 +- .../proj4/disable-export-for-static-lib.patch | 26 ------------------- ports/proj4/portfile.cmake | 5 ++-- 3 files changed, 3 insertions(+), 30 deletions(-) delete mode 100644 ports/proj4/disable-export-for-static-lib.patch diff --git a/ports/proj4/CONTROL b/ports/proj4/CONTROL index 0bcabb5a68..2980109287 100644 --- a/ports/proj4/CONTROL +++ b/ports/proj4/CONTROL @@ -1,5 +1,5 @@ Source: proj4 -Version: 6.2.1-2 +Version: 6.3.0-1 Homepage: https://github.com/OSGeo/PROJ Description: PROJ.4 library for cartographic projections Build-Depends: sqlite3[core] diff --git a/ports/proj4/disable-export-for-static-lib.patch b/ports/proj4/disable-export-for-static-lib.patch deleted file mode 100644 index f9bd086caf..0000000000 --- a/ports/proj4/disable-export-for-static-lib.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/geodesic.h b/src/geodesic.h -index 11484ec7..479a9462 100644 ---- a/src/geodesic.h -+++ b/src/geodesic.h -@@ -158,7 +158,7 @@ - GEODESIC_VERSION_PATCH) - - #ifndef GEOD_DLL --#if defined(_MSC_VER) -+#if defined(_MSC_VER) && defined(PROJ_MSVC_DLL_EXPORT) - #define GEOD_DLL __declspec(dllexport) - #elif defined(__GNUC__) - #define GEOD_DLL __attribute__ ((visibility("default"))) -diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake -index bad60324..2e90f98f 100644 ---- a/src/lib_proj.cmake -+++ b/src/lib_proj.cmake -@@ -443,7 +443,7 @@ endif() - include_directories(${SQLITE3_INCLUDE_DIR}) - target_link_libraries(${PROJ_CORE_TARGET} ${SQLITE3_LIBRARY}) - --if(MSVC) -+if(MSVC AND BUILD_LIBPROJ_SHARED) - target_compile_definitions(${PROJ_CORE_TARGET} - PRIVATE PROJ_MSVC_DLL_EXPORT=1) - endif() diff --git a/ports/proj4/portfile.cmake b/ports/proj4/portfile.cmake index dc91d41a55..05ef8f8e3e 100644 --- a/ports/proj4/portfile.cmake +++ b/ports/proj4/portfile.cmake @@ -1,13 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OSGeo/PROJ - REF 6.2.1 - SHA512 43f0356a1f4df871e09a738fb8ac386c0fbe543b35c3c1b9c9685469ca7a2a540427edb9b17d4c010c06a4818d17d0421dfcdca9af9d091854da71690fddfbf3 + REF 6.3.0 + SHA512 603256c27fb73b82e9af245ad09b46e6bc6e1934cb6375bf476f8b63177e933fb210b932b6890c425722c509189a0323755e311466f226d64694013c6c4a52de HEAD_REF master PATCHES fix-sqlite3-bin.patch disable-export-namespace.patch - disable-export-for-static-lib.patch disable-projdb-with-arm-uwp.patch fix-win-output-name.patch fix-sqlite-dependency-export.patch From c97c23ce0a60e20c735d58752b078a343c20970b Mon Sep 17 00:00:00 2001 From: driver1998 Date: Thu, 23 Jan 2020 05:06:38 +0800 Subject: [PATCH 059/111] [angle] Update to 2019-12-31 (#9557) * [angle] Update to 2019-12-31 * [angle] install *.inc files --- ports/angle/001-fix-uwp.patch | 339 ++++++------------------ ports/angle/002-fix-builder-error.patch | 38 ++- ports/angle/CMakeLists.txt | 21 +- ports/angle/CONTROL | 2 +- ports/angle/portfile.cmake | 8 +- 5 files changed, 118 insertions(+), 290 deletions(-) diff --git a/ports/angle/001-fix-uwp.patch b/ports/angle/001-fix-uwp.patch index 36c9aad34e..badf1596d7 100644 --- a/ports/angle/001-fix-uwp.patch +++ b/ports/angle/001-fix-uwp.patch @@ -1,262 +1,77 @@ -diff --git a/src/libANGLE/renderer/d3d/RendererD3D.cpp b/src/libANGLE/renderer/d3d/RendererD3D.cpp -index fa46476..ad56164 100644 ---- a/src/libANGLE/renderer/d3d/RendererD3D.cpp -+++ b/src/libANGLE/renderer/d3d/RendererD3D.cpp -@@ -240,7 +240,6 @@ GLenum DefaultGLErrorCode(HRESULT hr) - { - switch (hr) - { -- case D3DERR_OUTOFVIDEOMEMORY: - case E_OUTOFMEMORY: - return GL_OUT_OF_MEMORY; - default: -diff --git a/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp -index 62f263b..b8efe15 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp -@@ -14,6 +14,7 @@ - - #include "common/tls.h" - #include "common/utilities.h" -+#include "common/debug.h" - #include "libANGLE/Buffer.h" - #include "libANGLE/Context.h" - #include "libANGLE/Display.h" -@@ -1142,9 +1143,11 @@ void Renderer11::generateDisplayExtensions(egl::DisplayExtensions *outExtensions - - // Compositor Native Window capabilies require WinVer >= 1803 - if (CompositorNativeWindow11::IsSupportedWinRelease()) -- { -- outExtensions->windowsUIComposition = true; -- } -+ #ifdef ANGLE_ENABLE_WINDOWS_STORE -+ outExtensions->windowsUIComposition = NativeWindow11WinRT::IsSupportedWin10Release(); -+ #else -+ outExtensions->windowsUIComposition = CompositorNativeWindow11::IsSupportedWinRelease(); -+ #endif - } - - angle::Result Renderer11::flush(Context11 *context11) -@@ -1218,16 +1221,23 @@ NativeWindowD3D *Renderer11::createNativeWindow(EGLNativeWindowType window, - const egl::Config *config, - const egl::AttributeMap &attribs) const - { -- auto useWinUiComp = window != nullptr && !NativeWindow11Win32::IsValidNativeWindow(window); -- -+#ifdef ANGLE_ENABLE_WINDOWS_STORE -+ auto useWinUiComp = window != nullptr && !NativeWindow11WinRT::IsValidNativeWindow(window); -+#else -+ auto useWinUiComp = window != nullptr && !NativeWindow11Win32::IsValidNativeWindow(window); -+#endif - if (useWinUiComp) - { -- return new CompositorNativeWindow11(window, config->alphaSize > 0); -+#ifdef ANGLE_ENABLE_WINDOWS_STORE -+ return new NativeWindow11WinRT(window, config->alphaSize > 0); -+#else -+ return new CompositorNativeWindow11(window, config->alphaSize > 0); -+#endif - } - else - { - #ifdef ANGLE_ENABLE_WINDOWS_STORE -- UNUSED_VARIABLE(attribs); -+ ANGLE_UNUSED_VARIABLE(attribs); - return new NativeWindow11WinRT(window, config->alphaSize > 0); - #else - return new NativeWindow11Win32( -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -index cb2f279..d76905c 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -@@ -145,6 +145,7 @@ HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device, - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) - { - if (device == nullptr || factory == nullptr || swapChain == nullptr || width == 0 || -@@ -158,6 +159,7 @@ HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device, - swapChainDesc.Height = height; - swapChainDesc.Format = format; - swapChainDesc.Stereo = FALSE; -+ swapChainDesc.SampleDesc.Count = samples; - swapChainDesc.SampleDesc.Count = 1; - swapChainDesc.SampleDesc.Quality = 0; - swapChainDesc.BufferUsage = -@@ -213,11 +215,9 @@ HRESULT GetCoreWindowSizeInPixels(const ComPtr displayProperties; -- -- if (SUCCEEDED(GetActivationFactory( -- HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayProperties).Get(), -- displayProperties.GetAddressOf()))) -+ ComPtr displayProperties; -+ if (SUCCEEDED(GetActivationFactory(HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayInformation).Get(), -+ displayProperties.GetAddressOf()))) - { - float dpi = 96.0f; - if (SUCCEEDED(displayProperties->get_LogicalDpi(&dpi))) -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -index ae57cfb..dd77b42 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -@@ -36,6 +36,7 @@ class CoreWindowNativeWindow : public InspectableNativeWindow, - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) override; - - protected: -@@ -49,7 +50,7 @@ class CoreWindowNativeWindow : public InspectableNativeWindow, - ComPtr> mPropertyMap; - }; - --[uuid(7F924F66 - EBAE - 40E5 - A10B - B8F35E245190)] class CoreWindowSizeChangedHandler -+[uuid(7F924F66-EBAE-40E5-A10B-B8F35E245190)] class CoreWindowSizeChangedHandler - : public Microsoft::WRL::RuntimeClass< - Microsoft::WRL::RuntimeClassFlags, - IWindowSizeChangedEventHandler> -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -index 708e8a2..9bfa4c4 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -@@ -53,6 +53,7 @@ class InspectableNativeWindow - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) = 0; - - bool getClientRect(RECT *rect) -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp -index 8972ca2..caf2a7e 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp -@@ -13,6 +13,8 @@ - #include "libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h" - #include "libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h" - -+#include -+ - using namespace Microsoft::WRL; - using namespace Microsoft::WRL::Wrappers; - -@@ -88,6 +90,7 @@ HRESULT NativeWindow11WinRT::createSwapChain(ID3D11Device *device, - DXGI_FORMAT format, - UINT width, - UINT height, -+ UINT samples, - IDXGISwapChain **swapChain) - { - if (mImpl) -@@ -95,7 +98,7 @@ HRESULT NativeWindow11WinRT::createSwapChain(ID3D11Device *device, - IDXGIFactory2 *factory2 = d3d11::DynamicCastComObject(factory); - IDXGISwapChain1 *swapChain1 = nullptr; - HRESULT result = -- mImpl->createSwapChain(device, factory2, format, width, height, mHasAlpha, &swapChain1); -+ mImpl->createSwapChain(device, factory2, format, width, height, mHasAlpha, samples, &swapChain1); - SafeRelease(factory2); - *swapChain = static_cast(swapChain1); - return result; -@@ -118,5 +121,44 @@ bool NativeWindow11WinRT::IsValidNativeWindow(EGLNativeWindowType window) - // Anything else will be rejected as an invalid IInspectable. - return IsCoreWindow(window) || IsSwapChainPanel(window) || IsEGLConfiguredPropertySet(window); - } -+bool NativeWindow11WinRT::IsSupportedWin10Release() -+{ -+ HSTRING className, contractName; -+ HSTRING_HEADER classNameHeader, contractNameHeader; -+ boolean isSupported = false; -+ -+ const wchar_t *str = static_cast(RuntimeClass_Windows_Foundation_Metadata_ApiInformation); -+ unsigned int length; -+ SizeTToUInt32(::wcslen(str), &length); -+ HRESULT hr = WindowsCreateStringReference(RuntimeClass_Windows_Foundation_Metadata_ApiInformation, length, &classNameHeader, &className); -+ -+ if (FAILED(hr)) -+ { -+ return isSupported; -+ } -+ -+ Microsoft::WRL::ComPtr api; -+ -+ hr = RoGetActivationFactory(className, __uuidof(ABI::Windows::Foundation::Metadata::IApiInformationStatics), &api); -+ -+ if (FAILED(hr)) -+ { -+ return isSupported; -+ } -+ -+ str = static_cast(L"Windows.Foundation.UniversalApiContract"); -+ SizeTToUInt32(::wcslen(str), &length); -+ hr = WindowsCreateStringReference(L"Windows.Foundation.UniversalApiContract", length, &contractNameHeader, -+ &contractName); -+ -+ if (FAILED(hr)) -+ { -+ return isSupported; -+ } -+ -+ api->IsApiContractPresentByMajor(contractName, 6, &isSupported); -+ -+ return isSupported; -+} - - } // namespace rx -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h -index eac5b21..b9ee344 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h -@@ -34,11 +34,14 @@ class NativeWindow11WinRT : public NativeWindow11 - DXGI_FORMAT format, - UINT width, - UINT height, -+ UINT samples, - IDXGISwapChain **swapChain) override; - - void commitChange() override; - - static bool IsValidNativeWindow(EGLNativeWindowType window); -+ static bool IsSupportedWin10Release(); -+ - - private: - bool mHasAlpha; -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp -index af0beb6..20fd632 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp -@@ -246,6 +246,7 @@ HRESULT SwapChainPanelNativeWindow::createSwapChain(ID3D11Device *device, - DXGI_FORMAT format, - unsigned int width, - unsigned int height, -+ unsigned int samples, - bool containsAlpha, - IDXGISwapChain1 **swapChain) - { -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h -index 09642ee..fc69bf4 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h -@@ -27,6 +27,7 @@ class SwapChainPanelNativeWindow : public InspectableNativeWindow, - DXGI_FORMAT format, - unsigned int width, - unsigned int height, -+ unsigned int samples, - bool containsAlpha, - IDXGISwapChain1 **swapChain) override; - -@@ -43,7 +44,7 @@ class SwapChainPanelNativeWindow : public InspectableNativeWindow, - ComPtr mSwapChain; - }; - --[uuid(8ACBD974 - 8187 - 4508 - AD80 - AEC77F93CF36)] class SwapChainPanelSizeChangedHandler -+[uuid(8ACBD974-8187-4508-AD80-AEC77F93CF36)] class SwapChainPanelSizeChangedHandler - : public Microsoft::WRL::RuntimeClass< - Microsoft::WRL::RuntimeClassFlags, - ABI::Windows::UI::Xaml::ISizeChangedEventHandler> +diff --git a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp +index 0c9698450..3e37ad0ab 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp ++++ b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp +@@ -2364,6 +2364,11 @@ void InitializeFeatures(const Renderer11DeviceCaps &deviceCaps, + bool isIvyBridge = false; + bool isAMD = IsAMD(adapterDesc.VendorId); + bool isFeatureLevel9_3 = (deviceCaps.featureLevel <= D3D_FEATURE_LEVEL_9_3); ++#if defined(ANGLE_ENABLE_WINDOWS_UWP) ++ bool isWin10 = true; ++#else ++ bool isWin10 = IsWindows10OrGreater(); ++#endif + IntelDriverVersion capsVersion = IntelDriverVersion(0); + if (isIntel) + { +@@ -2448,7 +2453,7 @@ void InitializeFeatures(const Renderer11DeviceCaps &deviceCaps, + // Don't translate uniform block to StructuredBuffer on Windows 7 and earlier. This is targeted + // to work around a bug that fails to allocate ShaderResourceView for StructuredBuffer. + ANGLE_FEATURE_CONDITION(features, dontTranslateUniformBlockToStructuredBuffer, +- !IsWindows10OrGreater()); ++ !isWin10); + + // Call platform hooks for testing overrides. + auto *platform = ANGLEPlatformCurrent(); +diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp +index 7d3f078d6..fac057dd6 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp ++++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp +@@ -213,16 +213,20 @@ HRESULT GetCoreWindowSizeInPixels(const ComPtr displayProperties; ++ ComPtr displayInformationStatics; ++ ComPtr displayInformation; + + if (SUCCEEDED(GetActivationFactory( +- HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayProperties).Get(), +- displayProperties.GetAddressOf()))) ++ HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayInformation).Get(), ++ displayInformationStatics.GetAddressOf()))) + { + float dpi = 96.0f; +- if (SUCCEEDED(displayProperties->get_LogicalDpi(&dpi))) ++ if (SUCCEEDED(displayInformationStatics->GetForCurrentView(&displayInformation))) + { +- return dpi; ++ if (SUCCEEDED(displayInformation->get_LogicalDpi(&dpi))) ++ { ++ return dpi; ++ } + } + } + +diff --git a/src/libGLESv2/global_state.cpp b/src/libGLESv2/global_state.cpp +index 8c2c61f53..7725106a4 100644 +--- a/src/libGLESv2/global_state.cpp ++++ b/src/libGLESv2/global_state.cpp +@@ -214,7 +214,7 @@ namespace + { + // The following WaitForDebugger code is based on SwiftShader. See: + // https://cs.chromium.org/chromium/src/third_party/swiftshader/src/Vulkan/main.cpp +-# if defined(ANGLE_ENABLE_ASSERTS) ++# if defined(ANGLE_ENABLE_ASSERTS) && !defined(ANGLE_ENABLE_WINDOWS_UWP) + INT_PTR CALLBACK DebuggerWaitDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) + { + RECT rect; +@@ -259,7 +259,7 @@ void WaitForDebugger(HINSTANCE instance) + } + # else + void WaitForDebugger(HINSTANCE instance) {} +-# endif // defined(ANGLE_ENABLE_ASSERTS) ++# endif // defined(ANGLE_ENABLE_ASSERTS) && !defined(ANGLE_ENABLE_WINDOWS_UWP) + } // namespace + + extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID) diff --git a/ports/angle/002-fix-builder-error.patch b/ports/angle/002-fix-builder-error.patch index db70f9fdc3..8c632d1b09 100644 --- a/ports/angle/002-fix-builder-error.patch +++ b/ports/angle/002-fix-builder-error.patch @@ -1,30 +1,28 @@ diff --git a/src/gpu_info_util/SystemInfo_win.cpp b/src/gpu_info_util/SystemInfo_win.cpp -index 878f0f5..2255982 100644 +index f4bb137f2..86495013b 100644 --- a/src/gpu_info_util/SystemInfo_win.cpp +++ b/src/gpu_info_util/SystemInfo_win.cpp -@@ -4,6 +4,12 @@ - // found in the LICENSE file. - // +@@ -6,11 +6,6 @@ -+// Windows.h needs to be included first -+#include -+ -+#include -+#include -+ // SystemInfo_win.cpp: implementation of the Windows-specific parts of SystemInfo.h - #include "gpu_info_util/SystemInfo_internal.h" -@@ -11,12 +17,6 @@ - #include "common/debug.h" - #include "common/string_utils.h" +-#include "gpu_info_util/SystemInfo_internal.h" +- +-#include "common/debug.h" +-#include "common/string_utils.h" +- + // Windows.h needs to be included first + #include --// Windows.h needs to be included first --#include -- --#include --#include -- +@@ -19,6 +14,11 @@ #include #include ++#include "gpu_info_util/SystemInfo_internal.h" ++ ++#include "common/debug.h" ++#include "common/string_utils.h" ++ + namespace angle + { + diff --git a/ports/angle/CMakeLists.txt b/ports/angle/CMakeLists.txt index 83850b54f7..e64b9aaa39 100644 --- a/ports/angle/CMakeLists.txt +++ b/ports/angle/CMakeLists.txt @@ -27,6 +27,11 @@ endif() set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}") set(CMAKE_STATIC_LIBRARY_PREFIX "") +if (WINDOWS_STORE) + set(WINRT_DEFINES -DANGLE_ENABLE_WINDOWS_STORE) +else() + set(WINRT_DEFINES) +endif() add_definitions( -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS @@ -35,6 +40,7 @@ add_definitions( -DNOMINMAX -DANGLE_STANDALONE_BUILD -DANGLE_ENABLE_DEBUG_ANNOTATIONS + ${WINRT_DEFINES} ) configure_file(commit.h include/id/commit.h COPYONLY) @@ -42,8 +48,10 @@ include_directories(include src ${CMAKE_CURRENT_BINARY_DIR}/include) ########## # angle::common -if(WIN32) - set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix") +if(WINDOWS_DESKTOP) + set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix|_winuwp") +elseif(WINDOWS_STORE) + set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix|_win[^u]") elseif(LINUX) set(ANGLE_COMMON_PLATFORM_FILTER "_win|_mac") elseif(APPLE) @@ -87,6 +95,7 @@ file(GLOB TRANSLATOR_SOURCES "src/compiler/translator/tree_util/*.cpp" "src/third_party/compiler/ArrayBoundsClamper.cpp" ) +list(FILTER TRANSLATOR_SOURCES EXCLUDE REGEX "_unittest") add_library(angle_translator STATIC ${TRANSLATOR_SOURCES}) target_compile_definitions(angle_translator PUBLIC -DANGLE_ENABLE_ESSL @@ -249,7 +258,7 @@ file(GLOB LIBANGLE_SOURCES ${LIBANGLE_SOURCES_PLATFORM} ) -list(FILTER LIBANGLE_SOURCES EXCLUDE REGEX "_unittest") +list(FILTER LIBANGLE_SOURCES EXCLUDE REGEX "_unittest|glslang_wrapper|capture|FrameCapture\.cpp") if(LINUX OR APPLE) set(LIBANGLE_RENDERER_PLATFORM @@ -317,6 +326,8 @@ list(APPEND LIBGLESV2_SOURCES "src/libGLESv2/entry_points_gles_3_0_autogen.h" "src/libGLESv2/entry_points_gles_3_1_autogen.cpp" "src/libGLESv2/entry_points_gles_3_1_autogen.h" + "src/libGLESv2/entry_points_gles_3_2_autogen.cpp" + "src/libGLESv2/entry_points_gles_3_2_autogen.h" "src/libGLESv2/entry_points_gles_ext_autogen.cpp" "src/libGLESv2/entry_points_gles_ext_autogen.h" "src/libGLESv2/global_state.cpp" @@ -370,7 +381,9 @@ if(NOT DISABLE_INSTALL_HEADERS) install( DIRECTORY include/ DESTINATION include - FILES_MATCHING PATTERN "*.h" + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.inc" PATTERN "GLSLANG" EXCLUDE PATTERN "EGL" EXCLUDE PATTERN "KHR" EXCLUDE diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL index 1a919f3fcf..26122342a0 100644 --- a/ports/angle/CONTROL +++ b/ports/angle/CONTROL @@ -1,5 +1,5 @@ Source: angle -Version: 2019-07-19-4 +Version: 2019-12-31 Homepage: https://github.com/google/angle Description: A conformant OpenGL ES implementation for Windows, Mac and Linux. The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support. diff --git a/ports/angle/portfile.cmake b/ports/angle/portfile.cmake index c3f27eb4ec..d5c091e6b4 100644 --- a/ports/angle/portfile.cmake +++ b/ports/angle/portfile.cmake @@ -10,6 +10,8 @@ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(ANGLE_CPU_BITNESS ANGLE_IS_64_BIT_CPU) elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(ANGLE_CPU_BITNESS ANGLE_IS_32_BIT_CPU) +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(ANGLE_CPU_BITNESS ANGLE_IS_64_BIT_CPU) else() message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") endif() @@ -17,9 +19,9 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/angle - REF 8f08fed925c54835c4faee4d7dd61d6ed2964ffd - SHA512 037ebe356371924088563180c4a37a31eaffa41ca21c42554391672c28e62fabc19d787516b88baa192b771e05c370c5a6cfec0863b70e08d65216f41d89923f - PATCHES + REF 1fdf6ca5141d8e349e875eab6e51d93d929a7f0e + SHA512 2553307f3d10b5c32166b9ed610b4b15310dccba00c644cd35026de86d87ea2e221c2e528f33b02f01c1ded2f08150e429de1fa300b73d655f8944f6f5047a82 + PATCHES 001-fix-uwp.patch 002-fix-builder-error.patch ) From ba47af7fa8cc1ed353271d35c9752197ec7c7966 Mon Sep 17 00:00:00 2001 From: Sana Jahan Date: Wed, 22 Jan 2020 13:07:27 -0800 Subject: [PATCH 060/111] [msgpack11] Add new port (#9524) * Added portfile and control * Added patch file to support MSVC * Added description for msgpack11 in CONTROL * added homepage to Control, code refactoring for portfile * refactored portfile * made align changes * Update portfile.cmake * Update CONTROL removed v from the version * added ref properly Co-authored-by: Mayank Kataruka <37381526+mayankkt9@users.noreply.github.com> --- ports/msgpack11/CONTROL | 6 ++++++ ports/msgpack11/msvc.patch | 19 +++++++++++++++++++ ports/msgpack11/portfile.cmake | 25 +++++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 ports/msgpack11/CONTROL create mode 100644 ports/msgpack11/msvc.patch create mode 100644 ports/msgpack11/portfile.cmake diff --git a/ports/msgpack11/CONTROL b/ports/msgpack11/CONTROL new file mode 100644 index 0000000000..8312187bb1 --- /dev/null +++ b/ports/msgpack11/CONTROL @@ -0,0 +1,6 @@ +Source: msgpack11 +Version: 0.0.10 +Homepage: https://msgpack.org +Build-Depends: gtest +Description: msgpack11 is a tiny MsgPack library for C++11, providing MsgPack parsing and serialization.This library is inspired by json11.The API of msgpack11 is designed to be similar with json11. + diff --git a/ports/msgpack11/msvc.patch b/ports/msgpack11/msvc.patch new file mode 100644 index 0000000000..b7e02937ae --- /dev/null +++ b/ports/msgpack11/msvc.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9424838..080cefa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,9 +6,12 @@ option(MSGPACK11_BUILD_TESTS "Build unit tests" ON) + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + +-add_library(msgpack11 msgpack11.cpp) ++add_library(msgpack11 STATIC msgpack11.cpp) + target_include_directories(msgpack11 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +-target_compile_options(msgpack11 PRIVATE -fno-rtti -Wall -Wextra -Werror) ++target_compile_options(msgpack11 PRIVATE -fno-rtti) ++if(NOT MSVC) ++ target_compile_options(msgpack11 PRIVATE -Wall -Wextra -Werror) ++endif() + configure_file("msgpack11.pc.in" "msgpack11.pc" @ONLY) + + if (MSGPACK11_BUILD_TESTS) diff --git a/ports/msgpack11/portfile.cmake b/ports/msgpack11/portfile.cmake new file mode 100644 index 0000000000..6bd662ae54 --- /dev/null +++ b/ports/msgpack11/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ar90n/msgpack11 + REF v0.0.10 + SHA512 7b90893f9cdec529789f6e75703f5945c6fc5c946b8708a7a2cb295faf4af111c8cc61265b636f385641031b85181929205be9c5d155f405909445dce85b4ce8 + HEAD_REF master + PATCHES + msvc.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DMSGPACK11_BUILD_TESTS=OFF + -DMSGPACK11_BUILD_EXAMPLES=OFF +) + + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 3aa59794717417d11366106ead0fcd943d63171f Mon Sep 17 00:00:00 2001 From: DCore Team <49679595+decent-dcore@users.noreply.github.com> Date: Wed, 22 Jan 2020 22:11:40 +0100 Subject: [PATCH 061/111] [pbc] Correct non Windows build (#9281) Co-authored-by: rfric <43748255+rfric@users.noreply.github.com> --- ports/pbc/CONTROL | 5 +++-- ports/pbc/portfile.cmake | 15 +++------------ scripts/ci.baseline.txt | 2 ++ 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/ports/pbc/CONTROL b/ports/pbc/CONTROL index ba09843ded..b717ac1e52 100644 --- a/ports/pbc/CONTROL +++ b/ports/pbc/CONTROL @@ -1,4 +1,5 @@ Source: pbc -Version: 0.5.14-1 -Build-Depends: mpir +Version: 0.5.14-2 +Build-Depends: mpir (windows) +Homepage: https://crypto.stanford.edu/pbc Description: Pairing-Based Crypto library provides low-level routines for pairing-based cryptosystems. diff --git a/ports/pbc/portfile.cmake b/ports/pbc/portfile.cmake index 32e233420c..3f47fa56ea 100644 --- a/ports/pbc/portfile.cmake +++ b/ports/pbc/portfile.cmake @@ -1,14 +1,4 @@ -include(vcpkg_common_functions) - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "PBC currently can only be built for desktop") -endif() - -if(VCPKG_CRT_LINKAGE STREQUAL "static" AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message(FATAL_ERROR "PBC currently can only be built using the dynamic CRT when building DLLs") -endif() +vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") set(PBC_VERSION 0.5.14) @@ -78,8 +68,9 @@ if(VCPKG_CMAKE_SYSTEM_NAME) ) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/info) - configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/pbc/copyright COPYONLY) + file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) else() + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO blynn/pbc diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 098c50c68d..e17703b3be 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1300,6 +1300,8 @@ pangomm:x64-windows=ignore pangomm:x86-windows=ignore parmetis:x64-linux=fail parmetis:x64-osx=fail +pbc:arm-uwp=fail +pbc:x64-uwp=fail pcre2:arm-uwp=fail pdal:x64-linux=fail pdal:x64-osx=fail From 8c77506c4fc47c3ea4790d30fc78c45265b3e41a Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Thu, 23 Jan 2020 21:17:40 +0100 Subject: [PATCH 062/111] MinGW: Fix vcpkg common definitions (#9807) Since MinGW has both VCPKG_TARGET_IS_MINGW and VCPKG_TARGET_IS_WINDOWS, make sure to test the first before. --- scripts/cmake/vcpkg_common_definitions.cmake | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake index 3a1818bf56..724644abcb 100644 --- a/scripts/cmake/vcpkg_common_definitions.cmake +++ b/scripts/cmake/vcpkg_common_definitions.cmake @@ -64,7 +64,16 @@ else() endif() #Helper variables for libraries -if(VCPKG_TARGET_IS_WINDOWS) +if(VCPKG_TARGET_IS_MINGW) + set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a") + set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".dll.a") + set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll") + set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib") + set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib") + set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "lib") + set(VCPKG_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib") + set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "") +elseif(VCPKG_TARGET_IS_WINDOWS) set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".lib") set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".lib") set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll") @@ -74,15 +83,6 @@ if(VCPKG_TARGET_IS_WINDOWS) set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "") set(VCPKG_FIND_LIBRARY_SUFFIXES ".lib" ".dll") #This is a slight modification to CMakes value which does not include ".dll". set(VCPKG_FIND_LIBRARY_PREFIXES "" "lib") #This is a slight modification to CMakes value which does not include "lib". -elseif(VCPKG_TARGET_IS_MINGW) - set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a") - set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".dll.a") - set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll") - set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib") - set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib") - set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "lib") - set(VCPKG_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib") - set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "") elseif(VCPKG_TARGET_IS_OSX) set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a") set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX "") From ed0df8ecc4ed7e755ea03e18aaf285fd9b4b4a74 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Fri, 24 Jan 2020 21:26:35 +0100 Subject: [PATCH 063/111] Make VS 2019 default to x64 (#9816) Since CMake also does this --- scripts/buildsystems/vcpkg.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index e549f3fa11..5b596cba27 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -67,7 +67,7 @@ else() elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017$") set(_VCPKG_TARGET_TRIPLET_ARCH x86) elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019$") - set(_VCPKG_TARGET_TRIPLET_ARCH x86) + set(_VCPKG_TARGET_TRIPLET_ARCH x64) else() find_program(_VCPKG_CL cl) if(_VCPKG_CL MATCHES "amd64/cl.exe$" OR _VCPKG_CL MATCHES "x64/cl.exe$") From ca95652aabdf9d9ed2fd67dd6635d099f04d5cf1 Mon Sep 17 00:00:00 2001 From: angelmixu Date: Mon, 27 Jan 2020 20:45:43 +0100 Subject: [PATCH 064/111] [gettext] fix library placement on macOS (#9797) --- ports/gettext/CMakeLists.txt | 2 +- ports/gettext/CONTROL | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/gettext/CMakeLists.txt b/ports/gettext/CMakeLists.txt index 67e1d05f7e..1bc2087b75 100644 --- a/ports/gettext/CMakeLists.txt +++ b/ports/gettext/CMakeLists.txt @@ -126,7 +126,7 @@ endif() install(TARGETS libintl EXPORT unofficial-gettext-targets RUNTIME DESTINATION bin - LIBRARY DESTINATION bin + LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) diff --git a/ports/gettext/CONTROL b/ports/gettext/CONTROL index a2876ee995..bb4b113f15 100644 --- a/ports/gettext/CONTROL +++ b/ports/gettext/CONTROL @@ -1,5 +1,5 @@ Source: gettext -Version: 0.19-12 +Version: 0.19-13 Homepage: https://www.gnu.org/software/gettext/ Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages. Provides libintl. Build-Depends: libiconv From bd795cb04011968265a702ad00ab45af30cf5fd4 Mon Sep 17 00:00:00 2001 From: kjpus <35301243+kjpus@users.noreply.github.com> Date: Mon, 27 Jan 2020 14:54:00 -0500 Subject: [PATCH 065/111] [fftw3] Fix SIMD compiler flag and mingw build failure (#9794) * [fftw3] Fix SIMD compiler flag and mingw build failure * Use vcpkg_check_features and single ENABLE_[SIMD] --- ports/fftw3/aligned_malloc.patch | 38 ++++++++++++++++++++ ports/fftw3/fftw3_arch_fix.patch | 17 +++++++++ ports/fftw3/portfile.cmake | 62 +++++++------------------------- 3 files changed, 67 insertions(+), 50 deletions(-) create mode 100644 ports/fftw3/aligned_malloc.patch diff --git a/ports/fftw3/aligned_malloc.patch b/ports/fftw3/aligned_malloc.patch new file mode 100644 index 0000000000..447ded62b6 --- /dev/null +++ b/ports/fftw3/aligned_malloc.patch @@ -0,0 +1,38 @@ +diff --git a/cmake.config.h.in b/cmake.config.h.in +index 1f4c505..fd763cc 100644 +--- a/cmake.config.h.in ++++ b/cmake.config.h.in +@@ -112,6 +112,10 @@ + you don't. */ + #cmakedefine01 HAVE_DECL_POSIX_MEMALIGN + ++/* Define to 1 if you have the declaration of `_aligned_malloc', and to 0 if you ++ don't. */ ++#cmakedefine01 HAVE_DECL_ALIGNED_MALLOC ++ + /* Define to 1 if you have the declaration of `sinl', and to 0 if you don't. + */ + #cmakedefine01 HAVE_DECL_SINL +@@ -184,6 +188,9 @@ + /* Define to 1 if you have the `memalign' function. */ + #cmakedefine HAVE_MEMALIGN 1 + ++/* Define to 1 if you have the `_aligned_malloc' function. */ ++#cmakedefine HAVE_ALIGNED_MALLOC 1 ++ + /* Define to 1 if you have the `memmove' function. */ + #cmakedefine HAVE_MEMMOVE 1 + +diff --git a/kernel/kalloc.c b/kernel/kalloc.c +index e42f6f3..ffc2257 100644 +--- a/kernel/kalloc.c ++++ b/kernel/kalloc.c +@@ -103,7 +103,7 @@ void *X(kernel_malloc)(size_t n) + # undef real_free + # define real_free _mm_free + +-# elif defined(_MSC_VER) ++# elif defined(_MSC_VER) || defined (HAVE_ALIGNED_MALLOC) + /* MS Visual C++ 6.0 with a "Processor Pack" supports SIMD + and _aligned_malloc/free (uses malloc.h) */ + p = (void *) _aligned_malloc(n, MIN_ALIGNMENT); diff --git a/ports/fftw3/fftw3_arch_fix.patch b/ports/fftw3/fftw3_arch_fix.patch index 922d86b976..0f1a7e5ae6 100644 --- a/ports/fftw3/fftw3_arch_fix.patch +++ b/ports/fftw3/fftw3_arch_fix.patch @@ -2,6 +2,23 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 95bd537a..245acc8f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt +@@ -66,6 +66,8 @@ + check_prototype_definition (sinl "long double sinl( long double arg )" "0" math.h HAVE_DECL_SINL) + check_prototype_definition (memalign "void *memalign(size_t alignment, size_t size)" "0" malloc.h HAVE_DECL_MEMALIGN) + check_prototype_definition (posix_memalign "int posix_memalign(void **memptr, size_t alignment, size_t size)" "0" stdlib.h HAVE_DECL_POSIX_MEMALIGN) ++check_prototype_definition (_aligned_malloc "void* __cdecl _aligned_malloc(size_t _Size, size_t _Alignment)" "0" malloc.h HAVE_DECL_ALIGNED_MALLOC) ++ + + include (CheckSymbolExists) + check_symbol_exists (clock_gettime time.h HAVE_CLOCK_GETTIME) +@@ -75,6 +77,7 @@ + check_symbol_exists (srand48 stdlib.h HAVE_SRAND48) + check_symbol_exists (memalign malloc.h HAVE_MEMALIGN) + check_symbol_exists (posix_memalign stdlib.h HAVE_POSIX_MEMALIGN) ++check_symbol_exists (_aligned_malloc malloc.h HAVE_ALIGNED_MALLOC) + check_symbol_exists (mach_absolute_time mach/mach_time.h HAVE_MACH_ABSOLUTE_TIME) + check_symbol_exists (alloca alloca.h HAVE_ALLOCA) + if (NOT HAVE_ALLOCA) @@ -131,6 +131,7 @@ endif () include (CheckCCompilerFlag) diff --git a/ports/fftw3/portfile.cmake b/ports/fftw3/portfile.cmake index 91f8f34a65..5132c95748 100644 --- a/ports/fftw3/portfile.cmake +++ b/ports/fftw3/portfile.cmake @@ -13,50 +13,19 @@ vcpkg_extract_source_archive_ex( omp_test.patch patch_targets.patch fftw3_arch_fix.patch + aligned_malloc.patch ) -if ("openmp" IN_LIST FEATURES) - set(ENABLE_OPENMP ON) -else() - set(ENABLE_OPENMP OFF) -endif() - -if ("avx" IN_LIST FEATURES) - set(HAVE_AVX ON) - set(HAVE_SSE ON) - set(HAVE_SSE2 ON) -else() - set(HAVE_AVX OFF) -endif() - -if ("avx2" IN_LIST FEATURES) - set(HAVE_AVX2 ON) - set(HAVE_FMA ON) - set(HAVE_SSE ON) - set(HAVE_SSE2 ON) -else() - set(HAVE_AVX2 OFF) - set(HAVE_FMA OFF) -endif() - -if ("sse" IN_LIST FEATURES) - set(HAVE_SSE ON) -else() - set(HAVE_SSE OFF) -endif() - -if ("sse2" IN_LIST FEATURES) - set(HAVE_SSE2 ON) - set(HAVE_SSE ON) -else() - set(HAVE_SSE2 OFF) -endif() - -if ("threads" IN_LIST FEATURES) - set(HAVE_THREADS ON) -else() - set(HAVE_THREADS OFF) -endif() +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + openmp ENABLE_OPENMP + threads ENABLE_THREADS + threads WITH_COMBINED_THREADS + avx2 ENABLE_AVX2 + avx ENABLE_AVX + sse2 ENABLE_SSE2 + sse ENABLE_SSE +) set(ENABLE_FLOAT_CMAKE fftw3f) set(ENABLE_LONG_DOUBLE_CMAKE fftw3l) @@ -80,14 +49,7 @@ foreach(PRECISION ENABLE_FLOAT ENABLE_LONG_DOUBLE ENABLE_DEFAULT_PRECISION) PREFER_NINJA OPTIONS -D${PRECISION}=ON - -DENABLE_OPENMP=${ENABLE_OPENMP} - -DHAVE_SSE=${HAVE_SSE} - -DHAVE_SSE2=${HAVE_SSE2} - -DHAVE_AVX=${HAVE_AVX} - -DHAVE_AVX2=${HAVE_AVX2} - -DHAVE_FMA=${HAVE_FMA} - -DENABLE_THREADS=${HAVE_THREADS} - -DWITH_COMBINED_THREADS=${HAVE_THREADS} + ${FEATURE_OPTIONS} -DBUILD_TESTS=OFF ) endif() From 97592dfdb6123c2538a83c47fe1091f639ccd44f Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Mon, 27 Jan 2020 11:55:45 -0800 Subject: [PATCH 066/111] [fizz] Update to latest version (#9779) * [fizz] Update to latest version * Add fix-build_error.patch --- ports/fizz/CONTROL | 6 +++--- ports/fizz/fix-build_error.patch | 26 +++++++++++++------------- ports/fizz/portfile.cmake | 6 +++--- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/ports/fizz/CONTROL b/ports/fizz/CONTROL index 86dbc6da6b..ddce58fbbf 100644 --- a/ports/fizz/CONTROL +++ b/ports/fizz/CONTROL @@ -1,4 +1,4 @@ Source: fizz -Version: 2019.10.28.00 -Build-Depends: folly, openssl, libsodium, zlib -Description: a TLS 1.3 implementation by Facebook +Version: 2020.01.20.00 +Build-Depends: folly, openssl, libsodium, zlib, fmt +Description: a TLS 1.3 implementation by Facebook \ No newline at end of file diff --git a/ports/fizz/fix-build_error.patch b/ports/fizz/fix-build_error.patch index e85f16c6e4..c6bafbb15e 100644 --- a/ports/fizz/fix-build_error.patch +++ b/ports/fizz/fix-build_error.patch @@ -1,13 +1,13 @@ -diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt -index 7f8769a..debac4e 100644 ---- a/fizz/CMakeLists.txt -+++ b/fizz/CMakeLists.txt -@@ -81,7 +81,7 @@ if(TARGET event) - message(STATUS "Found libevent from package config") - list(APPEND FIZZ_SHINY_DEPENDENCIES event) - else() -- find_package(Libevent MODULE REQUIRED) -+ find_package(Libevent CONFIG REQUIRED) - list(APPEND FIZZ_LINK_LIBRARIES ${LIBEVENT_LIB}) - list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) - endif() +diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt +index ccbbbb6..ee10c90 100644 +--- a/fizz/CMakeLists.txt ++++ b/fizz/CMakeLists.txt +@@ -86,7 +86,7 @@ if(TARGET event) + message(STATUS "Found libevent from package config") + list(APPEND FIZZ_SHINY_DEPENDENCIES event) + else() +- find_package(Libevent MODULE REQUIRED) ++ find_package(Libevent CONFIG REQUIRED) + list(APPEND FIZZ_LINK_LIBRARIES ${LIBEVENT_LIB}) + list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) + endif() diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake index 1647eb1efd..17a9093bd6 100644 --- a/ports/fizz/portfile.cmake +++ b/ports/fizz/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookincubator/fizz - REF 3e933cff04c27c97d0fb0b899ed0c883b4e02e3b # v2019.10.28.00 - SHA512 522b677f9e6cb0dd7ce2dad226efd831877ce12352efa6a34e743d1ec7a02ba65e7425472a57e88832f68fa4503206d9846580e305da6a0843034455e510b68d + REF b5c90de055e58e53b4137e0593f5bdbca172bcb2 # v2020.01.20.00 + SHA512 1fdc8fd1d48671de30e4e67d260b13045dbc4436d2afa571bbb60e446d7d47cb68b9536dfef3621c0dd104abb7ec24647e0e0fad42b0134c5047772b7a9b2384 HEAD_REF master PATCHES find-zlib.patch @@ -44,4 +44,4 @@ file(REMOVE_RECURSE ) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fizz RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file From f787fa41130dd37092fda2dedbb6430489cd91ca Mon Sep 17 00:00:00 2001 From: Lily <47812810+LilyWangL@users.noreply.github.com> Date: Tue, 28 Jan 2020 04:03:32 +0800 Subject: [PATCH 067/111] [azure-kinect-sensor-sdk] Fix *.dll install path (#9763) --- ports/azure-kinect-sensor-sdk/CONTROL | 2 +- .../fix-components-path.patch | 26 ------------------- ports/azure-kinect-sensor-sdk/portfile.cmake | 1 - 3 files changed, 1 insertion(+), 28 deletions(-) delete mode 100644 ports/azure-kinect-sensor-sdk/fix-components-path.patch diff --git a/ports/azure-kinect-sensor-sdk/CONTROL b/ports/azure-kinect-sensor-sdk/CONTROL index 015a3118fb..11bbb08bb4 100644 --- a/ports/azure-kinect-sensor-sdk/CONTROL +++ b/ports/azure-kinect-sensor-sdk/CONTROL @@ -1,5 +1,5 @@ Source: azure-kinect-sensor-sdk -Version: 1.4.0-alpha.0-1 +Version: 1.4.0-alpha.0-2 Homepage: https://github.com/microsoft/Azure-Kinect-Sensor-SDK Description: Azure Kinect SDK is a cross platform (Linux and Windows) user mode SDK to read data from your Azure Kinect device. Build-Depends: azure-c-shared-utility, glfw3, gtest, imgui, libusb, spdlog, cjson, ebml, libjpeg-turbo, matroska, libsoundio, libyuv diff --git a/ports/azure-kinect-sensor-sdk/fix-components-path.patch b/ports/azure-kinect-sensor-sdk/fix-components-path.patch deleted file mode 100644 index a8aa0773e4..0000000000 --- a/ports/azure-kinect-sensor-sdk/fix-components-path.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/record/sdk/CMakeLists.txt b/src/record/sdk/CMakeLists.txt -index 4be0697..d30c6de 100644 ---- a/src/record/sdk/CMakeLists.txt -+++ b/src/record/sdk/CMakeLists.txt -@@ -81,7 +81,7 @@ install( - development - RUNTIME - DESTINATION -- ${CMAKE_INSTALL_BINDIR} -+ tools - COMPONENT - runtime - ) -diff --git a/src/sdk/CMakeLists.txt b/src/sdk/CMakeLists.txt -index 3616f40..a5019cb 100644 ---- a/src/sdk/CMakeLists.txt -+++ b/src/sdk/CMakeLists.txt -@@ -90,7 +90,7 @@ install( - development - RUNTIME - DESTINATION -- ${CMAKE_INSTALL_BINDIR} -+ tools - COMPONENT - runtime - ) diff --git a/ports/azure-kinect-sensor-sdk/portfile.cmake b/ports/azure-kinect-sensor-sdk/portfile.cmake index 3c94f7dc3a..1fb30271a7 100644 --- a/ports/azure-kinect-sensor-sdk/portfile.cmake +++ b/ports/azure-kinect-sensor-sdk/portfile.cmake @@ -7,7 +7,6 @@ vcpkg_from_github( PATCHES fix-builds.patch disable-c4275.patch - fix-components-path.patch ) vcpkg_find_acquire_program(PYTHON3) From d19c61353d65220b9beaa7a5dfbc39967fb839e3 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 27 Jan 2020 21:04:35 +0100 Subject: [PATCH 068/111] [netcdf-c] Fix builds with hdf5[parallel] (#9721) * [netcdf-c] Fix builds with hdf5[parallel] * Update mpi.patch --- ports/netcdf-c/CONTROL | 2 +- ports/netcdf-c/mpi.patch | 14 ++++++++++++++ ports/netcdf-c/portfile.cmake | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 ports/netcdf-c/mpi.patch diff --git a/ports/netcdf-c/CONTROL b/ports/netcdf-c/CONTROL index 1d5b7cb902..d277cd975f 100644 --- a/ports/netcdf-c/CONTROL +++ b/ports/netcdf-c/CONTROL @@ -1,5 +1,5 @@ Source: netcdf-c -Version: 4.7.3 +Version: 4.7.3-1 Build-Depends: hdf5, curl Homepage: https://github.com/Unidata/netcdf-c Description: a set of self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. diff --git a/ports/netcdf-c/mpi.patch b/ports/netcdf-c/mpi.patch new file mode 100644 index 0000000000..64027e65c4 --- /dev/null +++ b/ports/netcdf-c/mpi.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 101f97719..b070121b8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1004,6 +1004,8 @@ IF(ENABLE_PARALLEL4 AND ENABLE_NETCDF_4) + IF(MSVC) + FIND_PACKAGE(MPI REQUIRED) + INCLUDE_DIRECTORIES(${MPI_C_INCLUDE_PATH}) ++ list(APPEND CMAKE_REQUIRED_LIBRARIES MPI::MPI_C) ++ list(APPEND EXTRA_DEPS MPI::MPI_C) + ENDIF() + SET(HDF5_PARALLEL ON CACHE BOOL "") + SET(USE_PARALLEL ON CACHE BOOL "") + diff --git a/ports/netcdf-c/portfile.cmake b/ports/netcdf-c/portfile.cmake index 61dd1d8857..d1af9d9f17 100644 --- a/ports/netcdf-c/portfile.cmake +++ b/ports/netcdf-c/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( no-install-deps.patch config-pkg-location.patch use_targets.patch + mpi.patch ) #Remove outdated find modules From 141522e6ed9bfc0e17296a9cf37faa7daeb9a00c Mon Sep 17 00:00:00 2001 From: Yue Date: Tue, 28 Jan 2020 05:48:45 +0800 Subject: [PATCH 069/111] [hyperscan] Update the portfile to remove debug/share file to pass post-validation check. (#9618) --- ports/hyperscan/CONTROL | 4 ++-- ports/hyperscan/portfile.cmake | 10 +++------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/ports/hyperscan/CONTROL b/ports/hyperscan/CONTROL index 2f04703a98..ad761ba3a4 100644 --- a/ports/hyperscan/CONTROL +++ b/ports/hyperscan/CONTROL @@ -1,4 +1,4 @@ Source: hyperscan -Version: 5.0.1-2 +Version: 5.1.0-3 Description: A regular expression library with O(length of input) match times that takes advantage of Intel hardware to provide blazing speed. -Build-Depends: boost-array, boost-chrono, boost-config, boost-core, boost-detail, boost-functional, boost-regex, boost-system, boost-thread, boost-type-traits, boost-unordered, boost-utility, boost-dynamic-bitset, boost-random, boost-graph, boost-multi-array, boost-icl, boost-ptr-container, python3, ragel \ No newline at end of file +Build-Depends: boost-array, boost-chrono, boost-config, boost-core, boost-detail, boost-functional, boost-regex, boost-system, boost-thread, boost-type-traits, boost-unordered, boost-utility, boost-dynamic-bitset, boost-random, boost-graph, boost-multi-array, boost-icl, boost-ptr-container, python3, ragel diff --git a/ports/hyperscan/portfile.cmake b/ports/hyperscan/portfile.cmake index 2b48087ba2..f9778cb731 100644 --- a/ports/hyperscan/portfile.cmake +++ b/ports/hyperscan/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(HYPERSCAN_VERSION 5.1.0) @@ -13,11 +11,8 @@ vcpkg_from_github( ) vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON_PATH ${PYTHON3} DIRECTORY) -vcpkg_add_to_path(PREPEND ${PYTHON_PATH}) -vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/bin) -vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/debug/bin) -vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY) +vcpkg_add_to_path(${PYTHON3_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -26,5 +21,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From fa4b2e2676c316573b7ae681ef25f7624ccf647e Mon Sep 17 00:00:00 2001 From: Nik Reist <45250287+ZeroAbility@users.noreply.github.com> Date: Mon, 27 Jan 2020 16:50:46 -0500 Subject: [PATCH 070/111] [mcpp] Add new port (#9598) --- ports/mcpp/CONTROL | 4 ++++ ports/mcpp/portfile.cmake | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 ports/mcpp/CONTROL create mode 100644 ports/mcpp/portfile.cmake diff --git a/ports/mcpp/CONTROL b/ports/mcpp/CONTROL new file mode 100644 index 0000000000..e766344404 --- /dev/null +++ b/ports/mcpp/CONTROL @@ -0,0 +1,4 @@ +Source: mcpp +Version: 2.7.2.14 +Homepage: https://github.com/zeroc-ice/mcpp +Description: Fork of mcpp, a C/C++ preprocessor diff --git a/ports/mcpp/portfile.cmake b/ports/mcpp/portfile.cmake new file mode 100644 index 0000000000..9394d00c37 --- /dev/null +++ b/ports/mcpp/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zeroc-ice/mcpp + REF e6abf9a561294b667bb931b80cf749c9be2d1a2f + SHA512 131b68401683bcfb947ac4969a59aa4c1683412c30f76c50e9e9c5c952a881b9950127db2ef22c96968d8c90d26bcdb5a90fb1b77d4dda7dee67bfe4a2676b35 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file( + INSTALL + ${SOURCE_PATH}/config.h + ${SOURCE_PATH}/mcpp_lib.h + ${SOURCE_PATH}/mcpp_out.h + DESTINATION + ${CURRENT_PACKAGES_DIR}/include +) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From fbdce551996cd7c83a7f295b4dd22b6f88c4fa17 Mon Sep 17 00:00:00 2001 From: Farwaykorse Date: Mon, 27 Jan 2020 23:02:37 +0100 Subject: [PATCH 071/111] [ms-gsl] Update to v2.1.0, the "end of 2019 snapshot" (#9624) * [ms-gsl] update to 2019-11-19, v2.1.0 end of 2019 snapshot * [coroutine] Update for compatibility with ms-gsl --- ports/coroutine/CONTROL | 2 +- ports/coroutine/portfile.cmake | 5 ++--- ports/ms-gsl/CONTROL | 4 ++-- ports/ms-gsl/portfile.cmake | 6 ++---- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/ports/coroutine/CONTROL b/ports/coroutine/CONTROL index 184891fdc9..13c8e3d21c 100644 --- a/ports/coroutine/CONTROL +++ b/ports/coroutine/CONTROL @@ -1,4 +1,4 @@ Source: coroutine -Version: 1.4.3 +Version: 2020-01-13 Build-Depends: ms-gsl Description: C++ coroutine helper/example library diff --git a/ports/coroutine/portfile.cmake b/ports/coroutine/portfile.cmake index da9430d8c9..a38911f3c4 100644 --- a/ports/coroutine/portfile.cmake +++ b/ports/coroutine/portfile.cmake @@ -4,12 +4,11 @@ if(${VCPKG_TARGET_ARCHITECTURE} MATCHES x86) message(FATAL_ERROR "This library doesn't support x86 arch. Please use x64 instead. If it is critical, create an issue at the repo: github.com/luncliff/coroutine") endif() -# changed to 1.4.2 vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO luncliff/coroutine - REF 74467cb470a6bf8b9559a56ebdcb68ff915d871e - SHA512 5d61a23c5fe33c544943659dedecff487bb20f288f9c99f137f37bb777317672f299599b740e53cae42c355595fdfdffe183ade39e828b1f3b4aa821a47cb50e + REF fcd970807e9a47c250c1a4e06c7dc6d93079b684 + SHA512 517f1c1726e4adc36cd34379c545324c99861d7cb5ebd3cebe0b7132fe5b61969a00e405bc106bb8f089f37d3a7ca9b1bcdc665a5cd6dfcaaf6856be37bec5b0 HEAD_REF master ) diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL index 237bc68591..23baa58ce6 100644 --- a/ports/ms-gsl/CONTROL +++ b/ports/ms-gsl/CONTROL @@ -1,4 +1,4 @@ Source: ms-gsl -Version: 2019-07-11 +Version: 2.1.0 Homepage: https://github.com/Microsoft/GSL -Description: Microsoft implementation of the Guidelines Support Library \ No newline at end of file +Description: Microsoft implementation of the Guidelines Support Library diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake index bcd2a80db4..fbcf66fb3f 100644 --- a/ports/ms-gsl/portfile.cmake +++ b/ports/ms-gsl/portfile.cmake @@ -1,11 +1,9 @@ #header-only library -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/GSL - REF 1212beae777dba02c230ece8c0c0ec12790047ea - SHA512 754d0adf32cea1da759be9adb8a64c301ae1cb8556853411bcea4c400079e8e310f1fb8d03f1f26f81553eab24b75fea24a67b9b51d8d92bb4f266e155938230 + REF 7e99e76c9761d0d0b0848b91f8648830670ee872 + SHA512 9a5ea7d22497a56918a83c248d9f707e98544dce90835cf9bf877213df8751cdb350b6343d0205e7b17fc27e234a17906876aff99c177d5f2b96df96d15a215c HEAD_REF master ) From 354733dbf8aa53571c7f7b451565742f42156339 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Tue, 28 Jan 2020 06:07:04 +0800 Subject: [PATCH 072/111] [memorymodule] Add new port (#9541) * [memorymodule] Add new port * [memorymodule] Update ci baseline * [memorymodule] Update CI baseline * [memorymodule] Simplify vcpkg_fail_port_install call * [memorymodule] Install lib files only if they exist --- ports/memorymodule/CONTROL | 8 ++++++ ports/memorymodule/portfile.cmake | 45 +++++++++++++++++++++++++++++++ scripts/ci.baseline.txt | 4 +++ 3 files changed, 57 insertions(+) create mode 100644 ports/memorymodule/CONTROL create mode 100644 ports/memorymodule/portfile.cmake diff --git a/ports/memorymodule/CONTROL b/ports/memorymodule/CONTROL new file mode 100644 index 0000000000..ffc05ce9f9 --- /dev/null +++ b/ports/memorymodule/CONTROL @@ -0,0 +1,8 @@ +Source: memorymodule +Version: 2019-12-31 +Description: Library to load a DLL from memory +Homepage: https://github.com/fancycode/MemoryModule +Default-Features: unicode + +Feature: unicode +Description: Compile with UNICODE support diff --git a/ports/memorymodule/portfile.cmake b/ports/memorymodule/portfile.cmake new file mode 100644 index 0000000000..7c772711d5 --- /dev/null +++ b/ports/memorymodule/portfile.cmake @@ -0,0 +1,45 @@ +vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO fancycode/MemoryModule + REF 5f83e41c3a3e7c6e8284a5c1afa5a38790809461 + SHA512 6d42bd80dfeaf7bc662adafe7d6a7d7301eff5ea53bb59fce7e9c1a6ee22d31d2ab5696afc0a92c1501aa4161a60366418bfc3bed7ed2dcb6cae24243f4fa6d4 + HEAD_REF master +) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + unicode UNICODE +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DTESTSUITE=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_build_cmake(TARGET MemoryModule) + +file(INSTALL ${SOURCE_PATH}/MemoryModule.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/MemoryModule.lib) + file(INSTALL + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/MemoryModule.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + ) +endif() + +if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/MemoryModule.lib) + file(INSTALL + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/MemoryModule.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + ) +endif() + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index e17703b3be..7cf80edf09 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1016,6 +1016,10 @@ mecab:x64-uwp = skip mecab:x64-windows = skip mecab:x64-windows-static = skip mecab:x86-windows = skip +memorymodule:arm-uwp=fail +memorymodule:x64-linux=fail +memorymodule:x64-osx=fail +memorymodule:x64-uwp=fail meschach:arm-uwp=fail meschach:x64-linux=fail meschach:x64-osx=fail From 28b70b41c482c679cbcea8c9ea6d8d598cb3c648 Mon Sep 17 00:00:00 2001 From: sma-github <55330739+sma-github@users.noreply.github.com> Date: Mon, 27 Jan 2020 23:11:39 +0100 Subject: [PATCH 073/111] [ftgl] Fix build failure #9520 (#9521) * bugfix for [ftgl] build failure #9520. Applied same solution as cbezault did for #7697 * bugfix for [ftgl] build failure #9520. Added suggested changes from the review and clean-up EOL characters. * [ftgl] remove ftgl:x64-linux=fail from ci.baseline.txt * [ftgl] build failure #9520 - disable doxygen on Linux * [ftgl] build failure #9520 - force the compiler to use the C++11 standard * [ftgl] build failure #9520 - remove ftgl:x64-osx=fail * [ftgl] build failure #9520 - add missing C++11 standard patch --- ports/ftgl/01_disable_doxygen.patch | 30 +++++++++++++++ ports/ftgl/02_enable-cpp11-std.patch | 14 +++++++ ports/ftgl/CONTROL | 13 ++++--- ports/ftgl/portfile.cmake | 55 ++++++++++++++++------------ scripts/ci.baseline.txt | 2 - 5 files changed, 82 insertions(+), 32 deletions(-) create mode 100644 ports/ftgl/01_disable_doxygen.patch create mode 100644 ports/ftgl/02_enable-cpp11-std.patch diff --git a/ports/ftgl/01_disable_doxygen.patch b/ports/ftgl/01_disable_doxygen.patch new file mode 100644 index 0000000000..5443554e7b --- /dev/null +++ b/ports/ftgl/01_disable_doxygen.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 303fcae..718ae88 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,15 +35,16 @@ ENDIF(BUILD_SHARED_LIBS) + + ADD_CUSTOM_TARGET(doc) + +-FIND_PACKAGE(Doxygen) +-IF(DOXYGEN_FOUND) +- ADD_CUSTOM_TARGET(doxygen +- ${DOXYGEN_EXECUTABLE} +- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} +- COMMENT "Doxygen ...") +- ADD_DEPENDENCIES(doc doxygen) +- +-ENDIF(DOXYGEN_FOUND) ++IF (WIN32) # doxygen only have windows package in vcpkg now. ++ FIND_PACKAGE(Doxygen) ++ IF(DOXYGEN_FOUND) ++ ADD_CUSTOM_TARGET(doxygen ++ ${DOXYGEN_EXECUTABLE} ++ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} ++ COMMENT "Doxygen ...") ++ ADD_DEPENDENCIES(doc doxygen) ++ ENDIF(DOXYGEN_FOUND) ++ENDIF() + + SUBDIRS(src) + diff --git a/ports/ftgl/02_enable-cpp11-std.patch b/ports/ftgl/02_enable-cpp11-std.patch new file mode 100644 index 0000000000..37ae283afd --- /dev/null +++ b/ports/ftgl/02_enable-cpp11-std.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 718ae88..e53e0da 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,9 @@ + CMAKE_MINIMUM_REQUIRED(VERSION 2.8) + + PROJECT(FTGL) ++set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD_REQUIRED ON) ++ + SET(CMAKE_MODULE_PATH ${FTGL_SOURCE_DIR}) + + SET(VERSION_SERIES 2) diff --git a/ports/ftgl/CONTROL b/ports/ftgl/CONTROL index b8e652144b..221bf10e64 100644 --- a/ports/ftgl/CONTROL +++ b/ports/ftgl/CONTROL @@ -1,6 +1,7 @@ -Source: ftgl -Version: 2.4.0-1 -Description: FTGL is a free open source library to enable developers to use arbitrary fonts in their OpenGL (www.opengl.org) applications. - Unlike other OpenGL font libraries FTGL uses standard font file formats so doesn't need a preprocessing step to convert the high quality font data into a lesser quality, proprietary format. - FTGL uses the Freetype (www.freetype.org) font library to open and 'decode' the fonts. It then takes that output and stores it in a format most efficient for OpenGL rendering. -Build-Depends: freetype, opengl +Source: ftgl +Version: 2.4.0-2 +Homepage: https://github.com/frankheckenbach/ftgl +Description: FTGL is a free open source library to enable developers to use arbitrary fonts in their OpenGL (www.opengl.org) applications. + Unlike other OpenGL font libraries FTGL uses standard font file formats so doesn't need a preprocessing step to convert the high quality font data into a lesser quality, proprietary format. + FTGL uses the Freetype (www.freetype.org) font library to open and 'decode' the fonts. It then takes that output and stores it in a format most efficient for OpenGL rendering. +Build-Depends: freetype, opengl diff --git a/ports/ftgl/portfile.cmake b/ports/ftgl/portfile.cmake index 65df89b202..9208cb086e 100644 --- a/ports/ftgl/portfile.cmake +++ b/ports/ftgl/portfile.cmake @@ -1,25 +1,32 @@ -include(vcpkg_common_functions) -vcpkg_find_acquire_program(DOXYGEN) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO frankheckenbach/ftgl +if (VCPKG_TARGET_IS_WINDOWS) + # doxygen only have windows package in vcpkg now. + vcpkg_find_acquire_program(DOXYGEN) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO frankheckenbach/ftgl REF 483639219095ad080538e07ceb5996de901d4e74 - SHA512 d5bf95db8db6a5c9f710bd274cb9bb82e3e67569e8f3ec55b36e068636a09252e6f191e36d8279e61b5d12408c065ce51829fc38d4d7afe5bda724752d2f084f - HEAD_REF master - PATCHES Fix-headersFilePath.patch -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) -vcpkg_test_cmake(PACKAGE_NAME FTGL) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ftgl) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/ftgl/COPYING ${CURRENT_PACKAGES_DIR}/share/ftgl/copyright) + SHA512 d5bf95db8db6a5c9f710bd274cb9bb82e3e67569e8f3ec55b36e068636a09252e6f191e36d8279e61b5d12408c065ce51829fc38d4d7afe5bda724752d2f084f + HEAD_REF master + PATCHES + Fix-headersFilePath.patch + 01_disable_doxygen.patch + 02_enable-cpp11-std.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +else () + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 7cf80edf09..7de42460f1 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -486,8 +486,6 @@ fribidi:arm-uwp=fail fribidi:x64-linux=fail fribidi:x64-osx=fail fribidi:x64-uwp=fail -ftgl:x64-linux=fail -ftgl:x64-osx=fail ftgl:x64-uwp=fail fuzzylite:arm-uwp=fail fuzzylite:x64-linux=fail From 6ab471d09e26a91aa1b5b3ed3565581c083ab183 Mon Sep 17 00:00:00 2001 From: Michael Mattsson Date: Mon, 27 Jan 2020 17:14:26 -0500 Subject: [PATCH 074/111] [asiosdk] Add new port (#9456) * [asiosdk] Add new port * specified vcpkg_fail_port_install for non-windows platforms * specified vcpkg_fail_port_install for arm & uwp platforms * added entries for asiosdk into scripts/ci.baseline.txt --- ports/asiosdk/CONTROL | 4 +++ ports/asiosdk/Findasiosdk.cmake | 37 +++++++++++++++++++++++++ ports/asiosdk/portfile.cmake | 32 +++++++++++++++++++++ ports/asiosdk/usage | 4 +++ ports/asiosdk/vcpkg-cmake-wrapper.cmake | 8 ++++++ scripts/ci.baseline.txt | 5 ++++ 6 files changed, 90 insertions(+) create mode 100644 ports/asiosdk/CONTROL create mode 100644 ports/asiosdk/Findasiosdk.cmake create mode 100644 ports/asiosdk/portfile.cmake create mode 100644 ports/asiosdk/usage create mode 100644 ports/asiosdk/vcpkg-cmake-wrapper.cmake diff --git a/ports/asiosdk/CONTROL b/ports/asiosdk/CONTROL new file mode 100644 index 0000000000..1a8c756283 --- /dev/null +++ b/ports/asiosdk/CONTROL @@ -0,0 +1,4 @@ +Source: asiosdk +Version: 2.3.3 +Homepage: https://www.steinberg.net/en/company/developers.html +Description: ASIO is a low latency audio API from Steinberg. diff --git a/ports/asiosdk/Findasiosdk.cmake b/ports/asiosdk/Findasiosdk.cmake new file mode 100644 index 0000000000..b8f32f8307 --- /dev/null +++ b/ports/asiosdk/Findasiosdk.cmake @@ -0,0 +1,37 @@ +if(WIN32) +else(WIN32) + message(FATAL_ERROR "Findasiosdk.cmake: Unsupported platform ${CMAKE_SYSTEM_NAME}" ) +endif(WIN32) + +find_path( + ASIOSDK_ROOT_DIR + asiosdk +) + +if (NOT "${ASIOSDK_ROOT_DIR}" STREQUAL "") + set(ASIOSDK_ROOT_DIR + ${ASIOSDK_ROOT_DIR}/asiosdk + ) +endif() + +find_path(ASIOSDK_INCLUDE_DIR + asio.h + PATHS + ${ASIOSDK_ROOT_DIR}/common +) + + +if (NOT "${ASIOSDK_ROOT_DIR}" STREQUAL "") + set (ASIOSDK_INCLUDE_DIR + ${ASIOSDK_ROOT_DIR}/common + ${ASIOSDK_ROOT_DIR}/host + ${ASIOSDK_ROOT_DIR}/hostpc + ) +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(ASIOSDK DEFAULT_MSG ASIOSDK_ROOT_DIR ASIOSDK_INCLUDE_DIR) + +MARK_AS_ADVANCED( + ASIOSDK_ROOT_DIR ASIOSDK_INCLUDE_DIR +) diff --git a/ports/asiosdk/portfile.cmake b/ports/asiosdk/portfile.cmake new file mode 100644 index 0000000000..e4ed662bbc --- /dev/null +++ b/ports/asiosdk/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_fail_port_install(MESSAGE "asiosdk currently only supports Windows platforms" ON_ARCH "arm" "arm64" ON_TARGET "Linux" "OSX" "uwp") + +set(VERSION 2.3.3) + +vcpkg_download_distfile(ARCHIVE + URLS "https://download.steinberg.net/sdk_downloads/asiosdk_2.3.3_2019-06-14.zip" + FILENAME "asiosdk_2.3.3_2019-06-14.zip" + SHA512 65d6f2fa4f0e23939fcdf46ff3b04760089c0f14e2ac3e37e63cbf6733f3acc93ab930ea9e3f1eb60483d4654f7ba4699ed506531074c4f55e763ad92736c231 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${VERSION} +) + +file(INSTALL ${SOURCE_PATH}/asio/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/asio) +file(INSTALL ${SOURCE_PATH}/common/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/common) +file(INSTALL ${SOURCE_PATH}/driver/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/driver) +file(INSTALL ${SOURCE_PATH}/host/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/host) +file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk) +file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk RENAME copyright) +file(INSTALL ${SOURCE_PATH}/changes.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk) +file(INSTALL "${SOURCE_PATH}/Steinberg ASIO Logo Artwork.zip" DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk) +file(INSTALL "${SOURCE_PATH}/Steinberg ASIO Licensing Agreement.pdf" DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk) +file(INSTALL "${SOURCE_PATH}/ASIO SDK 2.3.pdf" DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/Findasiosdk.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) + diff --git a/ports/asiosdk/usage b/ports/asiosdk/usage new file mode 100644 index 0000000000..1afa2ae84d --- /dev/null +++ b/ports/asiosdk/usage @@ -0,0 +1,4 @@ +The package asiosdk provides CMake integration: + + find_package(asiosdk REQUIRED) + target_include_directories( PRIVATE ${ASIOSDK_INCLUDE_DIRS}) diff --git a/ports/asiosdk/vcpkg-cmake-wrapper.cmake b/ports/asiosdk/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000000..2fbe9725f5 --- /dev/null +++ b/ports/asiosdk/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(ASIOSDK_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT ASIOSDK_INCLUDE_DIR) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${ASIOSDK_PREV_MODULE_PATH}) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 7de42460f1..31152b319d 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -88,6 +88,11 @@ argtable2:x64-uwp=fail arrow:arm64-windows=fail arrow:x64-linux=fail arrow:x86-windows=fail +asiosdk:x64-linux=fail +asiosdk:x64-osx=fail +asiosdk:x64-uwp=fail +asiosdk:arm64-windows=fail +asiosdk:arm-uwp=fail asmjit:arm64-windows=fail asmjit:arm-uwp=fail asyncplusplus:arm-uwp=fail From ebda0b9fc2533cf1d44c57840d595dfe90de2359 Mon Sep 17 00:00:00 2001 From: Thomas Krause Date: Mon, 27 Jan 2020 23:19:27 +0100 Subject: [PATCH 075/111] [sfsexp] Add new port (#9420) * Add sfsexp, S-expressions library * Use CMakeLists.txt directly instead of patching it * Use sub-folder for sfsexp header files * Manually set the header files and make sure the resulting include/ folder is the same as with the autotools installation * Add runtime parameter for the DLL * Export all symbols in the DLLAA * Use PUBLIC_HEADER property install of install(FILES...) * Remove boilerplate comments from portfile * Only create static library on windows * Throw error on UWP * Disable some windows UWP warnings * Use VCPKG_TARGET_IS_WINDOWS and put it on top of file * Deleted extra blank lines * Missed one blank line * Use ${PORT} variable instead of the specific "sfsexp" string. This should make it easier to change the name of the port later on. * Use vcpkg_from_github to fetch the release. * Remove extra empty lines --- ports/sfsexp/CMakeLists.txt | 20 ++++++++++++++++++++ ports/sfsexp/CONTROL | 4 ++++ ports/sfsexp/portfile.cmake | 23 +++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 ports/sfsexp/CMakeLists.txt create mode 100644 ports/sfsexp/CONTROL create mode 100644 ports/sfsexp/portfile.cmake diff --git a/ports/sfsexp/CMakeLists.txt b/ports/sfsexp/CMakeLists.txt new file mode 100644 index 0000000000..e770b9d6d7 --- /dev/null +++ b/ports/sfsexp/CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.13) +project(sexp) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS) +endif() + +file(GLOB sources src/*.c src/*.h) +include_directories(src/) + +add_library(sexp ${sources}) + +set_target_properties(sexp PROPERTIES PUBLIC_HEADER "src/cstring.h;src/faststack.h;src/sexp.h;src/sexp_errors.h;src/sexp_memory.h;src/sexp_ops.h;src/sexp_vis.h") + +install(TARGETS sexp + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin + PUBLIC_HEADER DESTINATION include +) \ No newline at end of file diff --git a/ports/sfsexp/CONTROL b/ports/sfsexp/CONTROL new file mode 100644 index 0000000000..bb6d25a6a9 --- /dev/null +++ b/ports/sfsexp/CONTROL @@ -0,0 +1,4 @@ +Source: sfsexp +Version: 1.3 +Homepage: https://github.com/mjsottile/sfsexp +Description: Small Fast S-Expression Library diff --git a/ports/sfsexp/portfile.cmake b/ports/sfsexp/portfile.cmake new file mode 100644 index 0000000000..6bc6f2c9dc --- /dev/null +++ b/ports/sfsexp/portfile.cmake @@ -0,0 +1,23 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mjsottile/sfsexp + REF ad589f9e6e0eca20345320e9c82a3aecc0a5c8aa #v1.3 + SHA512 cdd469e23de48a5d6cd633b7b97b394cbfcba330ac2c3ae549811d856f2eec0c8558f99313e56a9f1cc9d72d4f17077584b6cf15c87814b91fe44ddd76895a8c + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) \ No newline at end of file From 53f1ae86d038c0ccf7edbbcfda1eaf6c6d271e9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 28 Jan 2020 06:21:09 +0800 Subject: [PATCH 076/111] [sdl2-mixer] Fix dynamic loading when building static library (#9332) * [sdl2-mixer] Fix dynamic loading when building static library * [sdl2-mixer] Set dynamic load as a feature * [sdl2-mixer] Disable feature dynamic-load when building static --- ports/sdl2-mixer/CMakeLists.txt | 30 ++++++++++++++++++++---------- ports/sdl2-mixer/CONTROL | 5 ++++- ports/sdl2-mixer/portfile.cmake | 23 ++++++++++++++++------- 3 files changed, 40 insertions(+), 18 deletions(-) diff --git a/ports/sdl2-mixer/CMakeLists.txt b/ports/sdl2-mixer/CMakeLists.txt index 08190988e7..57c840ea11 100644 --- a/ports/sdl2-mixer/CMakeLists.txt +++ b/ports/sdl2-mixer/CMakeLists.txt @@ -16,8 +16,10 @@ if(SDL_MIXER_ENABLE_MP3) find_library(MPG123_LIBRARY NAMES libmpg123 mpg123) list(APPEND SDL_MIXER_INCLUDES ${MPG123_INCLUDE_DIR}) list(APPEND SDL_MIXER_DEFINES MUSIC_MP3_MPG123) - get_filename_component(MPG123_LIBRARY_NAME "${MPG123_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DMPG123_DYNAMIC="${MPG123_LIBRARY_NAME}${LIBRARY_SUFFIX}") + if (SDL_DYNAMIC_LOAD) + get_filename_component(MPG123_LIBRARY_NAME "${MPG123_LIBRARY}" NAME_WE) + list(APPEND SDL_MIXER_LOAD_DEFINES -DMPG123_DYNAMIC="${MPG123_LIBRARY_NAME}${LIBRARY_SUFFIX}") + endif() endif() # FLAC support @@ -26,8 +28,10 @@ if(SDL_MIXER_ENABLE_FLAC) find_library(FLAC_LIBRARY FLAC) list(APPEND SDL_MIXER_INCLUDES ${FLAC_INCLUDE_DIR}) list(APPEND SDL_MIXER_DEFINES MUSIC_FLAC) - get_filename_component(FLAC_LIBRARY_NAME "${FLAC_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DFLAC_DYNAMIC="${FLAC_LIBRARY_NAME}${LIBRARY_SUFFIX}") + if (SDL_DYNAMIC_LOAD) + get_filename_component(FLAC_LIBRARY_NAME "${FLAC_LIBRARY}" NAME_WE) + list(APPEND SDL_MIXER_LOAD_DEFINES -DFLAC_DYNAMIC="${FLAC_LIBRARY_NAME}${LIBRARY_SUFFIX}") + endif() endif() # MOD support @@ -36,8 +40,10 @@ if(SDL_MIXER_ENABLE_MOD) find_library(MODPLUG_LIBRARY modplug) list(APPEND SDL_MIXER_INCLUDES ${MODPLUG_INCLUDE_DIR}) list(APPEND SDL_MIXER_DEFINES MUSIC_MOD_MODPLUG) - get_filename_component(MODPLUG_LIBRARY_NAME "${MODPLUG_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DMODPLUG_DYNAMIC="${MODPLUG_LIBRARY_NAME}${LIBRARY_SUFFIX}") + if (SDL_DYNAMIC_LOAD) + get_filename_component(MODPLUG_LIBRARY_NAME "${MODPLUG_LIBRARY}" NAME_WE) + list(APPEND SDL_MIXER_LOAD_DEFINES -DMODPLUG_DYNAMIC="${MODPLUG_LIBRARY_NAME}${LIBRARY_SUFFIX}") + endif() endif() # Ogg-Vorbis support @@ -46,8 +52,10 @@ if(SDL_MIXER_ENABLE_OGGVORBIS) find_library(VORBISFILE_LIBRARY vorbisfile) list(APPEND SDL_MIXER_INCLUDES ${VORBIS_INCLUDE_DIR}) list(APPEND SDL_MIXER_DEFINES MUSIC_OGG) - get_filename_component(VORBISFILE_LIBRARY_NAME "${VORBISFILE_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DOGG_DYNAMIC="${VORBISFILE_LIBRARY_NAME}${LIBRARY_SUFFIX}") + if (SDL_DYNAMIC_LOAD) + get_filename_component(VORBISFILE_LIBRARY_NAME "${VORBISFILE_LIBRARY}" NAME_WE) + list(APPEND SDL_MIXER_LOAD_DEFINES -DOGG_DYNAMIC="${VORBISFILE_LIBRARY_NAME}${LIBRARY_SUFFIX}") + endif() endif() # Opus support @@ -56,8 +64,10 @@ if(SDL_MIXER_ENABLE_OPUS) find_library(OPUSFILE_LIBRARY opusfile) list(APPEND SDL_MIXER_INCLUDES ${OPUS_INCLUDE_DIR}) list(APPEND SDL_MIXER_DEFINES MUSIC_OPUS) - get_filename_component(OPUSFILE_LIBRARY_NAME "${OPUSFILE_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DOPUS_DYNAMIC="${OPUSFILE_LIBRARY_NAME}${LIBRARY_SUFFIX}") + if (SDL_DYNAMIC_LOAD) + get_filename_component(OPUSFILE_LIBRARY_NAME "${OPUSFILE_LIBRARY}" NAME_WE) + list(APPEND SDL_MIXER_LOAD_DEFINES -DOPUS_DYNAMIC="${OPUSFILE_LIBRARY_NAME}${LIBRARY_SUFFIX}") + endif() endif() add_library(SDL2_mixer diff --git a/ports/sdl2-mixer/CONTROL b/ports/sdl2-mixer/CONTROL index b2f731152e..c3c60d942e 100644 --- a/ports/sdl2-mixer/CONTROL +++ b/ports/sdl2-mixer/CONTROL @@ -1,9 +1,12 @@ Source: sdl2-mixer -Version: 2.0.4-7 +Version: 2.0.4-8 Homepage: https://www.libsdl.org/projects/SDL_mixer Description: Multi-channel audio mixer library for SDL. Build-Depends: sdl2 +Feature: dynamic-load +Description: Load plugins with dynamic call + Feature: libflac Description: Support for FLAC audio format. Build-Depends: libflac diff --git a/ports/sdl2-mixer/portfile.cmake b/ports/sdl2-mixer/portfile.cmake index 9777f0b901..74037d2f6b 100644 --- a/ports/sdl2-mixer/portfile.cmake +++ b/ports/sdl2-mixer/portfile.cmake @@ -1,5 +1,5 @@ -include(vcpkg_common_functions) set(SDL2_MIXER_VERSION 2.0.4) + vcpkg_download_distfile(ARCHIVE URLS "https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${SDL2_MIXER_VERSION}.zip" FILENAME "SDL2_mixer-${SDL2_MIXER_VERSION}.zip" @@ -11,15 +11,24 @@ vcpkg_extract_source_archive_ex( ARCHIVE ${ARCHIVE} REF ${SDL2_MIXER_VERSION} ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(LIBRARY_SUFFIX ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}) -else() - set(LIBRARY_SUFFIX ${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) +if ("dynamic-load" IN_LIST FEATURES) + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + message("Building static library, disable dynamic loading") + elseif (NOT "mpg123" IN_LIST FEATURES + AND NOT "libflac" IN_LIST FEATURES + AND NOT "libmodplug" IN_LIST FEATURES + AND NOT "libvorbis" IN_LIST FEATURES + AND NOT "opusfile" IN_LIST FEATURES + ) + message("No features selected, dynamic loading will not be enabled") + endif() endif() +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + dynamic-load SDL_DYNAMIC_LOAD mpg123 SDL_MIXER_ENABLE_MP3 libflac SDL_MIXER_ENABLE_FLAC libmodplug SDL_MIXER_ENABLE_MOD @@ -32,7 +41,7 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS ${FEATURE_OPTIONS} - -DLIBRARY_SUFFIX=${LIBRARY_SUFFIX} + -DLIBRARY_SUFFIX=${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX} # It should always be dynamic suffix OPTIONS_DEBUG -DSDL_MIXER_SKIP_HEADERS=ON ) From 268d7bb406bef5aea66a79c91d4ebc981c5a9860 Mon Sep 17 00:00:00 2001 From: Tatsuro Shibamura Date: Tue, 28 Jan 2020 07:32:23 +0900 Subject: [PATCH 077/111] [sdl2-gfx] Fixed build error ARM64 Windows 10 (#9314) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [sdl2-gfx] Fixed build error ARM64 Windows 10 * [sdl2-gfx] Update CI baseline * [sdl2-gfx] Fixed function name * Revert ci.baseline.txt * Remove sdl2-gfx:arm64-windows from ci.baseline.txt Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> --- ports/sdl2-gfx/001-lrint-arm64.patch | 26 ++++++++++++++++++++++++++ ports/sdl2-gfx/CONTROL | 2 +- ports/sdl2-gfx/portfile.cmake | 2 ++ scripts/ci.baseline.txt | 1 - 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 ports/sdl2-gfx/001-lrint-arm64.patch diff --git a/ports/sdl2-gfx/001-lrint-arm64.patch b/ports/sdl2-gfx/001-lrint-arm64.patch new file mode 100644 index 0000000000..50de17973d --- /dev/null +++ b/ports/sdl2-gfx/001-lrint-arm64.patch @@ -0,0 +1,26 @@ +diff --git a/SDL2_gfxPrimitives.c b/SDL2_gfxPrimitives.c +index f81e6da..91817fd 100755 +--- a/SDL2_gfxPrimitives.c ++++ b/SDL2_gfxPrimitives.c +@@ -1771,8 +1771,20 @@ __declspec(naked) long int + __emit(0xE12FFF1E); // bx lr + } + #pragma warning(pop) ++#elif defined(_M_ARM64) ++#include ++#pragma warning(push) ++#pragma warning(disable: 4716) ++__declspec(naked) long ++ lrint (double f) ++{ ++ __emit(0x1e674000); // frintx d0, d0 ++ __emit(0x9e780000); // fcvtzs x0, d0 ++ __emit(0xd65f03c0); // ret ++} ++#pragma warning(pop) + #else +-#error lrint needed for MSVC on non X86/AMD64/ARM targets. ++#error lrint needed for MSVC on non X86/AMD64/ARM/ARM64 targets. + #endif + #endif + diff --git a/ports/sdl2-gfx/CONTROL b/ports/sdl2-gfx/CONTROL index de1005b479..bd6b4f6b2a 100644 --- a/ports/sdl2-gfx/CONTROL +++ b/ports/sdl2-gfx/CONTROL @@ -1,4 +1,4 @@ Source: sdl2-gfx -Version: 1.0.4-4 +Version: 1.0.4-5 Build-Depends: sdl2 Description: Graphics primitives (line, circle, rectangle etc.) with AA support, rotozoomer and other drawing related support functions wrapped up in a C based add-on library for the Simple Direct Media (SDL) cross-platform API layer. diff --git a/ports/sdl2-gfx/portfile.cmake b/ports/sdl2-gfx/portfile.cmake index f547c1edd4..802b1a2c5e 100644 --- a/ports/sdl2-gfx/portfile.cmake +++ b/ports/sdl2-gfx/portfile.cmake @@ -12,6 +12,8 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} REF ${VERSION} + PATCHES + 001-lrint-arm64.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 31152b319d..02da3bcd99 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1526,7 +1526,6 @@ sdformat6:x64-linux=ignore sdl1:arm-uwp=fail sdl1:x64-uwp=fail sdl1:x64-osx=fail -sdl2-gfx:arm64-windows=fail sdl2-gfx:x64-linux=fail sdl2-gfx:x64-osx=fail sdl2-image:arm-uwp=fail From 23d7b88a39e2e02f4a3dbba2e6f4975ae4400b7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Colin=20Barr=C3=A9-Brisebois?= Date: Mon, 27 Jan 2020 17:44:33 -0500 Subject: [PATCH 078/111] Update the repo for jom 1.1.3 (#9265) * Update the repo for jom 1.1.3 - The qt repo is unreliable, often down. Use the Berkeley mirror instead. * Set two possible URLs for JOM v1.1.3 * Update indent to match coding style --- scripts/cmake/vcpkg_find_acquire_program.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 038e50b36e..6f23d05b6a 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -127,7 +127,10 @@ function(vcpkg_find_acquire_program VAR) set(PROGNAME jom) set(SUBDIR "jom-1.1.3") set(PATHS ${DOWNLOADS}/tools/jom/${SUBDIR}) - set(URL "http://download.qt.io/official_releases/jom/jom_1_1_3.zip") + set(URL + "http://download.qt.io/official_releases/jom/jom_1_1_3.zip" + "http://mirrors.ocf.berkeley.edu/qt/official_releases/jom/jom_1_1_3.zip" + ) set(ARCHIVE "jom_1_1_3.zip") set(HASH 5b158ead86be4eb3a6780928d9163f8562372f30bde051d8c281d81027b766119a6e9241166b91de0aa6146836cea77e5121290e62e31b7a959407840fc57b33) elseif(VAR MATCHES "7Z") From 42aa985bdd71af4927c751d6cfca81a63144261f Mon Sep 17 00:00:00 2001 From: SeekingMeaning Date: Mon, 27 Jan 2020 14:59:55 -0800 Subject: [PATCH 079/111] [luajit] Copy tool dependencies (#9782) * [luajit] Copy tool dependencies * Update CONTROL --- ports/luajit/portfile.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ports/luajit/portfile.cmake b/ports/luajit/portfile.cmake index a37b66d670..09b634c166 100644 --- a/ports/luajit/portfile.cmake +++ b/ports/luajit/portfile.cmake @@ -34,6 +34,7 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(COPY ${CURRENT_PACKAGES_DIR}/debug/bin/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools) endif() vcpkg_copy_pdbs() endif() @@ -56,6 +57,7 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools) endif() vcpkg_copy_pdbs() endif() From 89751b450a161c1451937ee5338e599a51cf53a2 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Mon, 27 Jan 2020 15:52:23 -0800 Subject: [PATCH 080/111] [vcpkg_find_acquire_program] Include version in downloaded python MSI name to avoid conflicts when updating (#8774) --- scripts/cmake/vcpkg_find_acquire_program.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 6f23d05b6a..cb17ece21b 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -110,7 +110,7 @@ function(vcpkg_find_acquire_program VAR) set(SUBDIR "python2") set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) set(URL "https://www.python.org/ftp/python/2.7.16/python-2.7.16.msi") - set(ARCHIVE "python2.msi") + set(ARCHIVE "python-2.7.16.msi") set(HASH c34a6fa2438682104dccb53650a2bdb79eac7996deff075201a0f71bb835d60d3ed866652a1931f15a29510fe8e1009ac04e423b285122d2e5747fefc4c10254) else() set(PROGNAME python2) @@ -316,7 +316,7 @@ function(vcpkg_find_acquire_program VAR) file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) endif() else() - get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} EXT) + get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} LAST_EXT) string(TOLOWER "${ARCHIVE_EXTENSION}" ARCHIVE_EXTENSION) if(ARCHIVE_EXTENSION STREQUAL ".msi") file(TO_NATIVE_PATH "${ARCHIVE_PATH}" ARCHIVE_NATIVE_PATH) From f272b0c9846d24c2b77a5fb60e1061d397384acb Mon Sep 17 00:00:00 2001 From: Curoky Date: Wed, 29 Jan 2020 08:46:23 +0800 Subject: [PATCH 081/111] [restclient-cpp]: correct the way to remove debug/include (#9487) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [restclient-cpp]: correct the way to remove debug/include * [restclient-cpp] Only support static build on Windows. * [restclient-cpp] Bump version Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> --- ports/restclient-cpp/CONTROL | 2 +- ports/restclient-cpp/portfile.cmake | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/ports/restclient-cpp/CONTROL b/ports/restclient-cpp/CONTROL index 2aac1bbaf4..8b3ede796e 100644 --- a/ports/restclient-cpp/CONTROL +++ b/ports/restclient-cpp/CONTROL @@ -1,4 +1,4 @@ Source: restclient-cpp -Version: 0.5.1-2 +Version: 0.5.1-3 Build-Depends: curl Description: Binn is a binary data serialization format designed to be compact, fast and easy to use. diff --git a/ports/restclient-cpp/portfile.cmake b/ports/restclient-cpp/portfile.cmake index 6ad2fa7cfa..4efcb3ddd8 100644 --- a/ports/restclient-cpp/portfile.cmake +++ b/ports/restclient-cpp/portfile.cmake @@ -1,4 +1,6 @@ -include(vcpkg_common_functions) +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -22,12 +24,9 @@ vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/restclient-cpp) -# Remove includes in debug -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/bin) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/restclient-cpp) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/restclient-cpp/LICENSE ${CURRENT_PACKAGES_DIR}/share/restclient-cpp/copyright) - -# Copy pdb files -vcpkg_copy_pdbs() +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 4a128176915b10de4ff87c28faa3b419b0c8442b Mon Sep 17 00:00:00 2001 From: etri Date: Thu, 30 Jan 2020 04:49:19 +0900 Subject: [PATCH 082/111] [Jsoncpp] Update to 1.9.2 (#9759) * Update jsoncpp 1.9.2 Using implicit int to float conversion is fixed from jsoncpp 1.9.2 version. * Update Control update jsoncpp 1.9.2 * remove deprecated function include(vcpkg_common_functions) * [jsoncpp] Allow disabling examples Co-authored-by: Victor Romero --- ports/jsoncpp/CONTROL | 2 +- ports/jsoncpp/allow-disable-examples.patch | 20 ++++++++++++++++ ports/jsoncpp/portfile.cmake | 27 +++++++++++----------- 3 files changed, 35 insertions(+), 14 deletions(-) create mode 100644 ports/jsoncpp/allow-disable-examples.patch diff --git a/ports/jsoncpp/CONTROL b/ports/jsoncpp/CONTROL index f0d4b66a33..fb5951d603 100644 --- a/ports/jsoncpp/CONTROL +++ b/ports/jsoncpp/CONTROL @@ -1,4 +1,4 @@ Source: jsoncpp -Version: 1.9.1 +Version: 1.9.2 Homepage: https://github.com/open-source-parsers/jsoncpp Description: jsoncpp is an implementation of a JSON reader and writer in C++. JSON (JavaScript Object Notation) is a lightweight data-interchange format that it is easy to parse and redeable for human. diff --git a/ports/jsoncpp/allow-disable-examples.patch b/ports/jsoncpp/allow-disable-examples.patch new file mode 100644 index 0000000000..83413db903 --- /dev/null +++ b/ports/jsoncpp/allow-disable-examples.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8a7d3ef..4e06331 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -82,6 +82,7 @@ option(JSONCPP_WITH_WARNING_AS_ERROR "Force compilation to fail if a warning occ + option(JSONCPP_WITH_STRICT_ISO "Issue all the warnings demanded by strict ISO C and ISO C++" ON) + option(JSONCPP_WITH_PKGCONFIG_SUPPORT "Generate and install .pc files" ON) + option(JSONCPP_WITH_CMAKE_PACKAGE "Generate and install cmake package files" ON) ++option(JSONCPP_WITH_EXAMPLE "Compile JsonCpp example" OFF) + option(BUILD_SHARED_LIBS "Build jsoncpp_lib as a shared library." OFF) + + # Enable runtime search path support for dynamic libraries on OSX +@@ -228,4 +229,6 @@ add_subdirectory( src ) + add_subdirectory( include ) + + #install the example +-add_subdirectory( example ) ++if(JSONCPP_WITH_EXAMPLE) ++ add_subdirectory( example ) ++endif() diff --git a/ports/jsoncpp/portfile.cmake b/ports/jsoncpp/portfile.cmake index 3e00476d2f..3324ab985d 100644 --- a/ports/jsoncpp/portfile.cmake +++ b/ports/jsoncpp/portfile.cmake @@ -1,28 +1,29 @@ -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open-source-parsers/jsoncpp - REF 1.9.1 - SHA512 4a8352e1d32c0ba8a0aea4df1663279cb2256b334643c5b62be37dfb5951e06900ba38c010d1201511fcf7de09137d6a4b886edbb2b99160d2f62b5f4679f766 + REF 1.9.2 + SHA512 7c7188199d62ae040d458d507ba62f0370c53f39c580760ee5485cae5c08e5ced0c9aea7c14f54dfd041999a7291e4d0f67f8ccd8b1030622c85590774688640 HEAD_REF master + PATCHES + allow-disable-examples.patch ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(JSONCPP_STATIC OFF) - set(JSONCPP_DYNAMIC ON) -else() +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) set(JSONCPP_STATIC ON) - set(JSONCPP_DYNAMIC OFF) +else() + set(JSONCPP_STATIC OFF) endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - DISABLE_PARALLEL_CONFIGURE - OPTIONS -DJSONCPP_WITH_CMAKE_PACKAGE:BOOL=ON - -DBUILD_STATIC_LIBS:BOOL=${JSONCPP_STATIC} - -DJSONCPP_WITH_PKGCONFIG_SUPPORT:BOOL=OFF - -DJSONCPP_WITH_TESTS:BOOL=OFF + OPTIONS + -DJSONCPP_WITH_CMAKE_PACKAGE=ON + -DBUILD_STATIC_LIBS=${JSONCPP_STATIC} + -DJSONCPP_WITH_PKGCONFIG_SUPPORT=OFF + -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF + -DJSONCPP_WITH_TESTS=OFF + -DJSONCPP_WITH_EXAMPLE=OFF ) vcpkg_install_cmake() From b5b21df60a76c064b3a2e383ace56d47300e2b63 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Wed, 29 Jan 2020 13:52:41 -0600 Subject: [PATCH 083/111] [xerces-c] fixed issue #9654 using git tag (#9702) --- ports/xerces-c/CONTROL | 2 +- ports/xerces-c/portfile.cmake | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ports/xerces-c/CONTROL b/ports/xerces-c/CONTROL index d4fc58c4cb..c5f379cac5 100644 --- a/ports/xerces-c/CONTROL +++ b/ports/xerces-c/CONTROL @@ -1,5 +1,5 @@ Source: xerces-c -Version: 3.2.2-12 +Version: 3.2.2-13 Homepage: https://github.com/apache/xerces-c Description: Xerces-C++ is a XML parser, for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. diff --git a/ports/xerces-c/portfile.cmake b/ports/xerces-c/portfile.cmake index 4ab19d126a..1f24b672a8 100644 --- a/ports/xerces-c/portfile.cmake +++ b/ports/xerces-c/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/xerces-c - REF 71cc0e831b522933ae58253fcaf4423a166e6bec #3.2.2 - SHA512 5ddaf84552cd1f685068352c12651780a9f4becd961d8efd0f1f6a21006df00ffb1afe9b9dd86a169f8c57c4f8b651d5477e1accfd7140a7a52aea14b23c9aed - HEAD_REF trunk + REF v3.2.2 + SHA512 e4b2d3499fb4d1d1bcaf991ee858f352112683084b9cc7855c0e52e7fc8cc982a8e3cd548fa30718af6a6dee40e460d82ffcd3480a50f7e7516b462b2c2080c6 + HEAD_REF master PATCHES disable-tests.patch remove-dll-export-macro.patch @@ -57,7 +57,7 @@ configure_file( ${CURRENT_PACKAGES_DIR}/share/xercesc @ONLY ) - + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" From 5e329f0bd3e6eb08ab6a470546ae5a062fb2846f Mon Sep 17 00:00:00 2001 From: Phoebe <20694052+PhoebeHui@users.noreply.github.com> Date: Thu, 30 Jan 2020 05:52:30 +0800 Subject: [PATCH 084/111] [loguru] Update to 2.1.0 and extend to generate proper binary on non-windows (#8682) * [loguru] extend to generate proper binary on linux * Update the changes * Update CMakeLists.txt * Remove CMAKE_CXX_LINK_FLAGS * Add find_dependency(Threads) to config file --- ports/loguru/CMakeLists.txt | 48 ++++++++++++++++++++++++++++++ ports/loguru/CONTROL | 4 +-- ports/loguru/loguruConfig.cmake.in | 9 ++++++ ports/loguru/portfile.cmake | 29 ++++++++++++++---- 4 files changed, 82 insertions(+), 8 deletions(-) create mode 100644 ports/loguru/CMakeLists.txt create mode 100644 ports/loguru/loguruConfig.cmake.in diff --git a/ports/loguru/CMakeLists.txt b/ports/loguru/CMakeLists.txt new file mode 100644 index 0000000000..3688e11210 --- /dev/null +++ b/ports/loguru/CMakeLists.txt @@ -0,0 +1,48 @@ +cmake_minimum_required(VERSION 3.12) + +project(loguru CXX) +set(CMAKE_CXX_STANDARD 11) + +option(INSTALL_HEADERS "Install header files" ON) + +set(loguru_headers + loguru.hpp +) +set(loguru_sources + loguru.cpp +) + +add_library(loguru ${loguru_sources}) +target_include_directories(loguru PUBLIC + $ + $) + +if(UNIX) + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) + target_link_libraries(loguru PUBLIC Threads::Threads ${CMAKE_DL_LIBS}) +endif() + +set(LOGURU_INCLUDE_INSTALL_DIR include/loguru CACHE PATH "Install directory for headers") +if(INSTALL_HEADERS) + install(FILES ${loguru_headers} DESTINATION ${LOGURU_INCLUDE_INSTALL_DIR}) +endif() + +set(INCLUDE_INSTALL_DIR ${LOGURU_INCLUDE_INSTALL_DIR}) + +include(CMakePackageConfigHelpers) +configure_package_config_file(loguruConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/loguruConfig.cmake + INSTALL_DESTINATION share/loguru + NO_CHECK_REQUIRED_COMPONENTS_MACRO + PATH_VARS INCLUDE_INSTALL_DIR) + +install(TARGETS loguru + EXPORT loguruTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/loguruConfig.cmake DESTINATION share/loguru) +install(EXPORT loguruTargets DESTINATION share/loguru) diff --git a/ports/loguru/CONTROL b/ports/loguru/CONTROL index baa9503b09..056f085296 100644 --- a/ports/loguru/CONTROL +++ b/ports/loguru/CONTROL @@ -1,4 +1,4 @@ Source: loguru -Version: v2.0.0 +Version: v2.1.0 +Homepage: https://github.com/emilk/loguru Description: A lightweight and flexible C++ logging library -Build-Depends: \ No newline at end of file diff --git a/ports/loguru/loguruConfig.cmake.in b/ports/loguru/loguruConfig.cmake.in new file mode 100644 index 0000000000..b75b189e04 --- /dev/null +++ b/ports/loguru/loguruConfig.cmake.in @@ -0,0 +1,9 @@ +@PACKAGE_INIT@ + +if(UNIX) + include(CMakeFindDependencyMacro) + find_dependency(Threads) +endif() + +set_and_check(loguru_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") +include("${CMAKE_CURRENT_LIST_DIR}/loguruTargets.cmake") diff --git a/ports/loguru/portfile.cmake b/ports/loguru/portfile.cmake index 80efb0eead..3019c85a33 100644 --- a/ports/loguru/portfile.cmake +++ b/ports/loguru/portfile.cmake @@ -1,12 +1,29 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO emilk/loguru - REF v2.0.0 - SHA512 d6358f843689d10a44dc7bf590305cbfb89727e26d971ca4fe439e5468cdb7bcee2aa858368250e9654fb5ecebf63bca9742451881dae78068fecb18f279d988 + REF 9c2fea0d4530657f23259be4132f8101c98b579e #v2.1.0 + SHA512 49eebf8648f9d29273af76dca0a4e49155daa3664e98979df005e64eb0fa9f4eeb4228245327d469772c51076571acbe39a644eba531444d8676d9709a7e3914 HEAD_REF master ) -file(INSTALL ${SOURCE_PATH}/loguru.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/loguru) -file(COPY ${CURRENT_PORT_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/loguru) \ No newline at end of file +if(VCPKG_TARGET_IS_WINDOWS) + file(INSTALL ${SOURCE_PATH}/loguru.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/loguru) +endif() + +if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) + configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY) + configure_file(${CMAKE_CURRENT_LIST_DIR}/loguruConfig.cmake.in ${SOURCE_PATH}/loguruConfig.cmake.in COPYONLY) + + vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DINSTALL_HEADERS=OFF + ) + + vcpkg_install_cmake() + vcpkg_fixup_cmake_targets() + vcpkg_copy_pdbs() +endif() + +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) From 9a206d9fc0cce362c70b31fe99d3aaebffe5671d Mon Sep 17 00:00:00 2001 From: Oleg Shparber Date: Wed, 29 Jan 2020 19:42:25 -0500 Subject: [PATCH 085/111] [freetype] Add feature support (#9706) This change makes bzip2, HarfBuzz and PNG support optional. --- ports/freetype/CONTROL | 17 +++++++- ports/freetype/portfile.cmake | 52 +++++++++++++++--------- ports/freetype/vcpkg-cmake-wrapper.cmake | 33 +++++++++++++-- 3 files changed, 77 insertions(+), 25 deletions(-) diff --git a/ports/freetype/CONTROL b/ports/freetype/CONTROL index 05dbe50608..b5f5d0ef80 100644 --- a/ports/freetype/CONTROL +++ b/ports/freetype/CONTROL @@ -1,5 +1,18 @@ Source: freetype -Version: 2.10.1-2 -Build-Depends: zlib, bzip2, libpng +Version: 2.10.1-3 +Build-Depends: zlib Homepage: https://www.freetype.org/ Description: A library to render fonts. +Default-Features: bzip2, png + +Feature: bzip2 +Build-Depends: bzip2 +Description: Support bzip2 compressed fonts. + +Feature: harfbuzz +Build-Depends: harfbuzz +Description: Improve auto-hinting of OpenType fonts. + +Feature: png +Build-Depends: libpng +Description: Support PNG compressed OpenType embedded bitmaps. diff --git a/ports/freetype/portfile.cmake b/ports/freetype/portfile.cmake index f8f740eabf..1b8756a750 100644 --- a/ports/freetype/portfile.cmake +++ b/ports/freetype/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - set(FT_VERSION 2.10.1) vcpkg_download_distfile(ARCHIVE URLS "https://download-mirror.savannah.gnu.org/releases/freetype/freetype-${FT_VERSION}.tar.xz" "https://downloads.sourceforge.net/project/freetype/freetype2/${FT_VERSION}/freetype-${FT_VERSION}.tar.xz" @@ -8,20 +6,31 @@ vcpkg_download_distfile(ARCHIVE ) vcpkg_extract_source_archive_ex( -OUT_SOURCE_PATH SOURCE_PATH -ARCHIVE ${ARCHIVE} -REF ${FT_VERSION} -PATCHES - 0001-Fix-install-command.patch - 0002-Add-CONFIG_INSTALL_PATH-option.patch - 0003-Fix-UWP.patch - 0005-Fix-DLL-EXPORTS.patch + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${FT_VERSION} + PATCHES + 0001-Fix-install-command.patch + 0002-Add-CONFIG_INSTALL_PATH-option.patch + 0003-Fix-UWP.patch + 0005-Fix-DLL-EXPORTS.patch ) - + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + bzip2 FT_WITH_BZIP2 + harfbuzz FT_WITH_HARFBUZZ + png FT_WITH_PNG + INVERTED_FEATURES + bzip2 CMAKE_DISABLE_FIND_PACKAGE_BZip2 + harfbuzz CMAKE_DISABLE_FIND_PACKAGE_HarfBuzz + png CMAKE_DISABLE_FIND_PACKAGE_PNG +) + if(NOT ${VCPKG_LIBRARY_LINKAGE} STREQUAL "dynamic") - set(ENABLE_DLL_EXPORT OFF) + set(ENABLE_DLL_EXPORT OFF) else() - set(ENABLE_DLL_EXPORT ON) + set(ENABLE_DLL_EXPORT ON) endif() vcpkg_configure_cmake( @@ -29,11 +38,8 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DCONFIG_INSTALL_PATH=share/freetype - -DFT_WITH_ZLIB=ON - -DFT_WITH_BZIP2=ON - -DFT_WITH_PNG=ON - -DFT_WITH_HARFBUZZ=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE + -DFT_WITH_ZLIB=ON # Force system zlib. + ${FEATURE_OPTIONS} -DENABLE_DLL_EXPORT=${ENABLE_DLL_EXPORT} ) @@ -78,5 +84,13 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/share/freetype/LICENSE.TXT ${CURRENT_PACKAGE vcpkg_copy_pdbs() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/freetype) + if("bzip2" IN_LIST FEATURES) + set(USE_BZIP2 ON) + endif() + + if("png" IN_LIST FEATURES) + set(USE_PNG ON) + endif() + + configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/freetype/vcpkg-cmake-wrapper.cmake @ONLY) endif() diff --git a/ports/freetype/vcpkg-cmake-wrapper.cmake b/ports/freetype/vcpkg-cmake-wrapper.cmake index c08499f2d3..01da0b1dc2 100644 --- a/ports/freetype/vcpkg-cmake-wrapper.cmake +++ b/ports/freetype/vcpkg-cmake-wrapper.cmake @@ -1,10 +1,35 @@ _find_package(${ARGS}) + find_package(ZLIB) -find_package(PNG) -find_package(BZip2) + +if(@USE_BZIP2@) + find_package(BZip2) +endif() + +if(@USE_PNG@) + find_package(PNG) +endif() + if(TARGET Freetype::Freetype) - set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES BZip2::BZip2 PNG::PNG ZLIB::ZLIB) + set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB) + + if(@USE_BZIP2@) + set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES BZip2::BZip2) + endif() + + if(@USE_PNG@) + set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES PNG::PNG) + endif() endif() + if(FREETYPE_LIBRARIES) - list(APPEND FREETYPE_LIBRARIES ${BZIP2_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES}) + list(APPEND FREETYPE_LIBRARIES ${ZLIB_LIBRARIES}) + + if(@USE_BZIP2@) + list(APPEND FREETYPE_LIBRARIES ${BZIP2_LIBRARIES}) + endif() + + if(@USE_PNG@) + list(APPEND FREETYPE_LIBRARIES ${PNG_LIBRARIES}) + endif() endif() From c0946497a0987b4aee8b1c548540150d76ca4915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2=20=D0=90?= =?UTF-8?q?=D0=BD=D1=82=D0=BE=D0=BD?= Date: Fri, 31 Jan 2020 00:29:24 +0500 Subject: [PATCH 086/111] [quaternions] Add new port (#9837) * feat(quaternions): add control file * feat(quaternions): add portfile --- ports/quaternions/CONTROL | 5 +++++ ports/quaternions/portfile.cmake | 12 ++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 ports/quaternions/CONTROL create mode 100644 ports/quaternions/portfile.cmake diff --git a/ports/quaternions/CONTROL b/ports/quaternions/CONTROL new file mode 100644 index 0000000000..cc5fd65549 --- /dev/null +++ b/ports/quaternions/CONTROL @@ -0,0 +1,5 @@ +Source: quaternions +Version: 1.0.0 +Description: A C++11 library to work with quaternions, as a single header file. +Homepage: https://github.com/ferd36/quaternions +Build-Depends: boost-mpl diff --git a/ports/quaternions/portfile.cmake b/ports/quaternions/portfile.cmake new file mode 100644 index 0000000000..2613abed87 --- /dev/null +++ b/ports/quaternions/portfile.cmake @@ -0,0 +1,12 @@ +# header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ferd36/quaternions + REF 68fc6c7fb392b1a920779d80bb75879263329ff5 + SHA512 b7b934a493645e9c9ec04d581d2e5af57298325086919c20fbaa13df264c16cb5a0e380042cf5a0cfddbf142c82e5da63b84e8f2bc90615b1eccad83a1c9df88 + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 743f62cde2788e73dd5fca53ad39a01ba7b973fe Mon Sep 17 00:00:00 2001 From: Michael Hansen Date: Thu, 30 Jan 2020 11:29:38 -0800 Subject: [PATCH 087/111] [string_theory] Update to 3.1 (#9833) --- ports/string-theory/CONTROL | 2 +- ports/string-theory/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/string-theory/CONTROL b/ports/string-theory/CONTROL index 18e9b1014b..4d5e1e824c 100644 --- a/ports/string-theory/CONTROL +++ b/ports/string-theory/CONTROL @@ -1,4 +1,4 @@ Source: string-theory -Version: 3.0 +Version: 3.1 Homepage: https://github.com/zrax/string_theory Description: Flexible modern C++ string library with type-safe formatting. diff --git a/ports/string-theory/portfile.cmake b/ports/string-theory/portfile.cmake index a82fec30ec..bb34405049 100644 --- a/ports/string-theory/portfile.cmake +++ b/ports/string-theory/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zrax/string_theory - REF 3.0 - SHA512 96e596b908c1b61b67497d8ecea7523b36e1bce0ef41bee90a144de1d98c5dbc51336e22934e6331862741879cfed450b620b89222e774048e5d17ebd11ad2a8 + REF 3.1 + SHA512 fb4b5d89126ef65aeb50cd0a636dc938a6b0086d5124c872fd60f48a56752eac8f64956f67e829a3eecb0d4cebd6df442162ab6f0b88c35b93dc8ac5c62f18d2 HEAD_REF master ) From 120348bb2aed04904d94cde15318ff94b4ed95b0 Mon Sep 17 00:00:00 2001 From: Moritz Beutel Date: Thu, 30 Jan 2020 20:36:12 +0100 Subject: [PATCH 088/111] [gsl-lite] Update to version 0.36.0 (#9827) * [gsl-lite] Update to version 0.36.0 Update the URL to point to the new location of the library. Use proper CMake installation instead of just deploying the header file. Have the legacy header produce a diagnostic and forward to the proper header . * [telnetpp] Update telnetpp patch * Tidy up --- ports/gsl-lite/CONTROL | 8 +-- ports/gsl-lite/portfile.cmake | 46 ++++++++------ ports/telnetpp/CONTROL | 4 +- ports/telnetpp/fix-build-error.patch | 92 +++++++++------------------- ports/telnetpp/portfile.cmake | 2 - 5 files changed, 64 insertions(+), 88 deletions(-) diff --git a/ports/gsl-lite/CONTROL b/ports/gsl-lite/CONTROL index 37711d3643..d575f9bc5f 100644 --- a/ports/gsl-lite/CONTROL +++ b/ports/gsl-lite/CONTROL @@ -1,4 +1,4 @@ -Source: gsl-lite -Version: 0.34.0 -Homepage: https://github.com/martinmoene/gsl-lite -Description: A single-file header-only version of ISO C++ Guideline Support Library (GSL) for C++98, C++11 and later +Source: gsl-lite +Version: 0.36.0 +Description: A single-file header-only implementation of ISO C++ Guidelines Support Library (GSL) for C++98, C++11 and later. +Homepage: https://github.com/gsl-lite/gsl-lite/ diff --git a/ports/gsl-lite/portfile.cmake b/ports/gsl-lite/portfile.cmake index ae8dedd929..03280d0246 100644 --- a/ports/gsl-lite/portfile.cmake +++ b/ports/gsl-lite/portfile.cmake @@ -1,18 +1,28 @@ -include(vcpkg_common_functions) - -set(GSL_LITE_VERSION v0.34.0) - -vcpkg_download_distfile(HEADER - URLS "https://github.com/martinmoene/gsl-lite/raw/${GSL_LITE_VERSION}/include/gsl/gsl-lite.hpp" - FILENAME "gsl-lite-${GSL_LITE_VERSION}.hpp" - SHA512 e8463ced48fb4c5aae9bab4e9bdf3deb8a6f17d6f712fd9e3855788f6f43c70ad689738f099735071e2e411b285d9b60312bbfc4f99fc0250bdc2ca0f38493d8 -) - -vcpkg_download_distfile(LICENSE - URLS "https://github.com/martinmoene/gsl-lite/raw/${GSL_LITE_VERSION}/LICENSE" - FILENAME "gsl-lite-LICENSE-${GSL_LITE_VERSION}.txt" - SHA512 1feff12bda27a5ec52440a7624de54d841faf3e254fff04ab169b7f312e685f4bfe71236de8b8ef759111ae95bdb69e05f2e8318773b0aff4ba24ea9568749bb -) - -file(INSTALL ${HEADER} DESTINATION ${CURRENT_PACKAGES_DIR}/include RENAME gsl-lite.hpp) -file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/gsl-lite RENAME copyright) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO gsl-lite/gsl-lite + REF 0190c0e40ca65e7d30dab51bee512ccd29f48bc1 + SHA512 7ae9bb37bcbc83be3667b504271c209fea97e235fe50b754c3d420a7e97bbe2dd1df17a164dca536fb1455a19c26162d0bc27055d7c1ac495fb77956ec0f4e6d + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/gsl-lite") + +file(WRITE ${CURRENT_PACKAGES_DIR}/include/gsl-lite.hpp "#ifndef GSL_LITE_HPP_VCPKG_COMPAT_HEADER_INCLUDED +#define GSL_LITE_HPP_VCPKG_COMPAT_HEADER_INCLUDED +#pragma message(\"The header is deprecated and provided only for compatibility; please include instead.\") +#include +#endif // GSL_LITE_HPP_VCPKG_COMPAT_HEADER_INCLUDED") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/lib" + "${CURRENT_PACKAGES_DIR}/debug" +) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/telnetpp/CONTROL b/ports/telnetpp/CONTROL index 049fb9c5a5..53dd8657aa 100644 --- a/ports/telnetpp/CONTROL +++ b/ports/telnetpp/CONTROL @@ -1,8 +1,8 @@ Source: telnetpp -Version: 2.0-2 +Version: 2.0-3 Homepage: https://github.com/KazDragon/telnetpp Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14 -Build-Depends: boost-container, boost-signals2, boost-variant, gtest, gsl-lite, boost-exception +Build-Depends: boost-container, boost-signals2, boost-variant, gsl-lite, boost-exception Default-Features: zlib Feature: zlib diff --git a/ports/telnetpp/fix-build-error.patch b/ports/telnetpp/fix-build-error.patch index 92ad5bd29d..d72ced01e7 100644 --- a/ports/telnetpp/fix-build-error.patch +++ b/ports/telnetpp/fix-build-error.patch @@ -1,18 +1,19 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 09b4f9b..feb3746 100644 +index 09b4f9b..6f72c41 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -22,9 +22,6 @@ message("Building Telnet++ with zlib: ${TELNETPP_WITH_ZLIB}") +@@ -22,8 +22,8 @@ message("Building Telnet++ with zlib: ${TELNETPP_WITH_ZLIB}") message("Building Telnet++ with code coverage: ${TELNETPP_COVERAGE}") message("Building Telnet++ with sanitizers: ${TELNETPP_SANITIZE}") -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS NO_OUTPUT_DIRS) -- ++find_package(gsl-lite REQUIRED) ++find_package(Boost REQUIRED COMPONENTS container) + # The required C++ Standard for Telnet++ is C++14. set(CMAKE_CXX_STANDARD 14) - -@@ -154,18 +151,24 @@ add_library(telnetpp +@@ -154,18 +154,24 @@ add_library(telnetpp ${TELNETPP_PRIVATE_INCLUDE_FILES} ) @@ -28,9 +29,9 @@ index 09b4f9b..feb3746 100644 - CONAN_PKG::boost_container - CONAN_PKG::boost_signals2 - CONAN_PKG::boost_variant -+ ${BOOST_CONTAINER_LIBRARY} -+ ${BOOST_SIGNALS2_LIBRARY} -+ ${BOOST_VARIANT_LIBRARY} ++ gsl::gsl-lite ++ Boost::boost ++ Boost::container ) if (TELNETPP_WITH_ZLIB) @@ -38,21 +39,21 @@ index 09b4f9b..feb3746 100644 target_link_libraries(telnetpp PRIVATE - CONAN_PKG::zlib -+ ${ZLIB_LIBRARIES} ++ ZLIB::ZLIB ) endif() -@@ -180,7 +183,8 @@ target_include_directories(telnetpp +@@ -179,8 +185,7 @@ set_target_properties(telnetpp + target_include_directories(telnetpp PUBLIC $ - $ +- $ - "${Boost_INCLUDE_DIRS}" -+ $ -+ $ ++ $ ) generate_export_header(telnetpp -@@ -197,17 +201,19 @@ install( +@@ -197,17 +202,19 @@ install( telnetpp EXPORT telnetpp-config @@ -75,7 +76,7 @@ index 09b4f9b..feb3746 100644 ) export( -@@ -221,7 +227,7 @@ install( +@@ -221,7 +228,7 @@ install( EXPORT telnetpp-config DESTINATION @@ -84,7 +85,7 @@ index 09b4f9b..feb3746 100644 ) include(CMakePackageConfigHelpers) -@@ -236,7 +242,7 @@ install( +@@ -236,7 +243,7 @@ install( FILES "${CMAKE_CURRENT_BINARY_DIR}/telnetpp-config-version.cmake" DESTINATION @@ -93,24 +94,8 @@ index 09b4f9b..feb3746 100644 ) if (TELNETPP_WITH_TESTS) -@@ -299,13 +305,13 @@ if (TELNETPP_WITH_TESTS) - target_link_libraries(telnetpp_tester - PRIVATE - telnetpp -- CONAN_PKG::gtest -+ GTest::GTest GTest::Main - ) - - if (TELNETPP_WITH_ZLIB) - target_link_libraries(telnetpp_tester - PRIVATE -- CONAN_PKG::zlib -+ ${ZLIB_LIBRARIES} - ) - endif() - diff --git a/include/telnetpp/core.hpp b/include/telnetpp/core.hpp -index 2362fac..48d340e 100644 +index 2362fac..8710d36 100644 --- a/include/telnetpp/core.hpp +++ b/include/telnetpp/core.hpp @@ -1,7 +1,7 @@ @@ -118,35 +103,18 @@ index 2362fac..48d340e 100644 #include "telnetpp/detail/export.hpp" -#include -+#include ++#include #include #include -diff --git a/include/telnetpp/subnegotiation.hpp b/include/telnetpp/subnegotiation.hpp -index a209b72..1f24fc9 100644 ---- a/include/telnetpp/subnegotiation.hpp -+++ b/include/telnetpp/subnegotiation.hpp -@@ -15,7 +15,11 @@ public: - //* ===================================================================== - /// \brief Constructor - //* ===================================================================== -+#if _WIN32 -+ const subnegotiation(option_type option, bytes content) noexcept -+#else - constexpr subnegotiation(option_type option, bytes content) noexcept -+#endif - : option_(std::move(option)), - content_(std::move(content)) - { -@@ -32,7 +36,11 @@ public: - //* ===================================================================== - /// \brief Returns the content for this subnegotiation. - //* ===================================================================== -+#if _WIN32 -+ const bytes content() const noexcept -+#else - constexpr bytes content() const noexcept -+#endif - { - return content_; - } +diff --git a/src/options/msdp/detail/decoder.cpp b/src/options/msdp/detail/decoder.cpp +index c0b7906..e725693 100644 +--- a/src/options/msdp/detail/decoder.cpp ++++ b/src/options/msdp/detail/decoder.cpp +@@ -1,5 +1,6 @@ + #include "telnetpp/options/msdp/detail/decoder.hpp" + #include "telnetpp/options/msdp/detail/protocol.hpp" ++#include + #include + #include + diff --git a/ports/telnetpp/portfile.cmake b/ports/telnetpp/portfile.cmake index 11edf5e05c..e71e59f742 100644 --- a/ports/telnetpp/portfile.cmake +++ b/ports/telnetpp/portfile.cmake @@ -2,8 +2,6 @@ if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "${PORT} does not currently support UWP") endif() -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KazDragon/telnetpp From 7a55930c24f043a9a48f54c1721102a9b68b18ec Mon Sep 17 00:00:00 2001 From: Maxime GIMENO Date: Thu, 30 Jan 2020 21:01:28 +0100 Subject: [PATCH 089/111] upgrade to 5.0.1 (#9831) --- ports/cgal/CONTROL | 2 +- ports/cgal/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL index 3f71a911ab..ab427a7dc1 100644 --- a/ports/cgal/CONTROL +++ b/ports/cgal/CONTROL @@ -1,5 +1,5 @@ Source: cgal -Version: 5.0 +Version: 5.0.1 Build-Depends: mpfr, mpir, zlib, boost-format, boost-container, boost-ptr-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random, boost-foreach, boost-graph, boost-heap, boost-logic, boost-multiprecision Homepage: https://github.com/CGAL/cgal Description: The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry. diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake index d351af7389..2e57e7689f 100644 --- a/ports/cgal/portfile.cmake +++ b/ports/cgal/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CGAL/cgal - REF releases/CGAL-5.0 - SHA512 c7462f1f5ca1ef154a3a20ce4c1b63e544ad7e62ea0afb9aee99872402362fa2001a52740d62ac779e75f1354ad9c955a895f3cad12186e3b75d91f0f3452847 + REF releases/CGAL-5.0.1 + SHA512 656e207bdc7003dd2e3e4b31b33f9ac3af5074e4892dda645f67fccdc0ac22982d8bf3c62f9c556847ba0447c14f79923712fc6320f8c10ea77e17bf77eb3e2f HEAD_REF master ) From 533b881fff0480f90d15fac3f533eda51faba538 Mon Sep 17 00:00:00 2001 From: Michael Spector Date: Thu, 30 Jan 2020 22:02:08 +0200 Subject: [PATCH 090/111] [avro-c] enable Snappy codec (#9808) * Enable Snappy codec in Avro * Use _WIN32 macro (instead of WIN32) * Added reference to Avro PR * Increment version --- ports/avro-c/CONTROL | 4 +-- ports/avro-c/portfile.cmake | 2 +- ports/avro-c/snappy.patch | 56 +++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 ports/avro-c/snappy.patch diff --git a/ports/avro-c/CONTROL b/ports/avro-c/CONTROL index 6dfdb7101d..196c8936e5 100644 --- a/ports/avro-c/CONTROL +++ b/ports/avro-c/CONTROL @@ -1,5 +1,5 @@ Source: avro-c -Version: 1.8.2-3 +Version: 1.8.2-4 Homepage: https://github.com/apache/avro Description: Apache Avro is a data serialization system -Build-Depends: jansson, liblzma, zlib +Build-Depends: jansson, liblzma, zlib, snappy diff --git a/ports/avro-c/portfile.cmake b/ports/avro-c/portfile.cmake index 23be8540e0..0e74037fa5 100644 --- a/ports/avro-c/portfile.cmake +++ b/ports/avro-c/portfile.cmake @@ -12,13 +12,13 @@ vcpkg_from_github( avro.patch avro-pr-217.patch fix-build-error.patch # Since jansson updated, use jansson::jansson instead of the macro ${JANSSON_LIBRARIES} + snappy.patch # https://github.com/apache/avro/pull/793 ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/lang/c PREFER_NINJA OPTIONS - -DCMAKE_DISABLE_FIND_PACKAGE_Snappy=ON ) vcpkg_install_cmake() diff --git a/ports/avro-c/snappy.patch b/ports/avro-c/snappy.patch new file mode 100644 index 0000000000..60a40e300a --- /dev/null +++ b/ports/avro-c/snappy.patch @@ -0,0 +1,56 @@ +diff -ru b/c/src/codec.c a/lang/c/src/codec.c +--- b/lang/c/src/codec.c 2020-01-23 16:18:15.119970300 +0200 ++++ a/lang/c/src/codec.c 2020-01-23 19:31:41.679834300 +0200 +@@ -21,6 +21,9 @@ + # if defined(__APPLE__) + # include + # define __bswap_32 OSSwapInt32 ++# elif defined(_WIN32) ++# include ++# define __bswap_32 _byteswap_ulong + # else + # include + # endif +@@ -115,14 +118,14 @@ + return 1; + } + +- if (snappy_compress(data, len, c->block_data, &outlen) != SNAPPY_OK) ++ if (snappy_compress((const char *)data, len, (char*)c->block_data, &outlen) != SNAPPY_OK) + { + avro_set_error("Error compressing block with Snappy"); + return 1; + } + +- crc = __bswap_32(crc32(0, data, len)); +- memcpy(c->block_data+outlen, &crc, 4); ++ crc = __bswap_32(crc32(0, (const Bytef *)data, len)); ++ memcpy((char*)c->block_data+outlen, &crc, 4); + c->used_size = outlen+4; + + return 0; +@@ -133,7 +136,7 @@ + uint32_t crc; + size_t outlen; + +- if (snappy_uncompressed_length(data, len-4, &outlen) != SNAPPY_OK) { ++ if (snappy_uncompressed_length((const char*)data, len-4, &outlen) != SNAPPY_OK) { + avro_set_error("Uncompressed length error in snappy"); + return 1; + } +@@ -152,13 +155,13 @@ + return 1; + } + +- if (snappy_uncompress(data, len-4, c->block_data, &outlen) != SNAPPY_OK) ++ if (snappy_uncompress((const char*)data, len-4, (char*)c->block_data, &outlen) != SNAPPY_OK) + { + avro_set_error("Error uncompressing block with Snappy"); + return 1; + } + +- crc = __bswap_32(crc32(0, c->block_data, outlen)); ++ crc = __bswap_32(crc32(0, (const Bytef *)c->block_data, outlen)); + if (memcmp(&crc, (char*)data+len-4, 4)) + { + avro_set_error("CRC32 check failure uncompressing block with Snappy"); From 3cc9a6f743e42a189ca39ce28dab8904a5afa1f9 Mon Sep 17 00:00:00 2001 From: angelmixu Date: Thu, 30 Jan 2020 21:48:56 +0100 Subject: [PATCH 091/111] [pango] fix macOS dynamic library (#9801) --- ports/pango/CMakeLists.txt | 11 ++++++++++- ports/pango/CONTROL | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ports/pango/CMakeLists.txt b/ports/pango/CMakeLists.txt index a505a5b655..5fdd730ba7 100644 --- a/ports/pango/CMakeLists.txt +++ b/ports/pango/CMakeLists.txt @@ -59,6 +59,11 @@ find_library(FREETYPE_LIBRARY freetype${FT_SUFFIX}) find_path(HARFBUZZ_INCLUDE_DIR harfbuzz/hb.h) find_library(HARFBUZZ_LIBRARY harfbuzz) +if (APPLE) + find_library(COREFOUNDATION_LIBRARY CoreFoundation) + link_libraries(${COREFOUNDATION_LIBRARY}) +endif() + set(FONT_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR} ${FONTCONFIG_INCLUDE_DIR} ${HARFBUZZ_INCLUDE_DIR}/harfbuzz) set(FONT_LIBRARIES ${FREETYPE_LIBRARY} ${FONTCONFIG_LIBRARY} ${HARFBUZZ_LIBRARY}) @@ -151,7 +156,11 @@ if(WIN32) endif() pango_add_module(pangocairo ${PANGO_CAIRO_SOURCES}) -target_link_libraries(pangocairo ${CAIRO_LIBRARIES} pango pangowin32 pangoft2 ${FONT_LIBRARIES}) +list(APPEND PANGO_CAIRO_LIBRARIES ${CAIRO_LIBRARIES} pango pangoft2 ${FONT_LIBRARIES}) +if (WIN32) + list(APPEND PANGO_CAIRO_LIBRARIES pangowin32) +endif() +target_link_libraries(pangocairo ${PANGO_CAIRO_LIBRARIES}) target_include_directories(pangocairo PRIVATE ${CAIRO_INCLUDE_DIR} ${FONT_INCLUDE_DIRS}) diff --git a/ports/pango/CONTROL b/ports/pango/CONTROL index 62220dbeff..98c09ee3fb 100644 --- a/ports/pango/CONTROL +++ b/ports/pango/CONTROL @@ -1,5 +1,5 @@ Source: pango -Version: 1.40.11-5 +Version: 1.40.11-6 Homepage: https://ftp.gnome.org/pub/GNOME/sources/pango/ Description: Text and font handling library. Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!(windows&static)) From 9986c559b8c90a760b2639b674b841908f34d594 Mon Sep 17 00:00:00 2001 From: Kotaro Inoue Date: Fri, 31 Jan 2020 05:55:19 +0900 Subject: [PATCH 092/111] [seal] Add new port (#9698) * Add Microsoft SEAL as a new port * Fix to choose either static or shared binaries * Fix to fail port install on Windows platforms * Fix to enable a command line build on windows * Fix to fail port install on UWP --- ports/seal/CONTROL | 4 ++++ ports/seal/portfile.cmake | 46 +++++++++++++++++++++++++++++++++++++++ scripts/ci.baseline.txt | 2 ++ 3 files changed, 52 insertions(+) create mode 100644 ports/seal/CONTROL create mode 100644 ports/seal/portfile.cmake diff --git a/ports/seal/CONTROL b/ports/seal/CONTROL new file mode 100644 index 0000000000..743ebd30a9 --- /dev/null +++ b/ports/seal/CONTROL @@ -0,0 +1,4 @@ +Source: seal +Version: 3.4.5 +Homepage: https://github.com/microsoft/SEAL +Description: Microsoft SEAL is an easy-to-use and powerful homomorphic encryption library. diff --git a/ports/seal/portfile.cmake b/ports/seal/portfile.cmake new file mode 100644 index 0000000000..8e1ac06046 --- /dev/null +++ b/ports/seal/portfile.cmake @@ -0,0 +1,46 @@ +set(SEAL_VERSION_MAJOR 3) +set(SEAL_VERSION_MINOR 4) +set(SEAL_VERSION_MICRO 5) + +vcpkg_fail_port_install(ON_TARGET "uwp") + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SEAL_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SEAL_BUILD_STATIC) + +if (SEAL_BUILD_STATIC) + set(SEAL_LIB_BUILD_TYPE "Static_PIC") +endif () + +if (SEAL_BUILD_DYNAMIC) + set(SEAL_LIB_BUILD_TYPE "Shared") +endif () + +string(TOUPPER ${PORT} PORT_UPPER) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/SEAL + REF 9fc376c19488be2bfd213780ee06789754f4b2c2 + SHA512 198f75371c7b0b88066495a40c687c32725a033fd1b3e3dadde3165da8546d44e9eaa9355366dd5527058ae2171175f757f69189cf7f5255f51eba14c6f38b78 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/native/src + PREFER_NINJA + OPTIONS + -DALLOW_COMMAND_LINE_BUILD=ON + -DSEAL_LIB_BUILD_TYPE=${SEAL_LIB_BUILD_TYPE} +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT_UPPER}-${SEAL_VERSION_MAJOR}.${SEAL_VERSION_MINOR}) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 02da3bcd99..e82bf92760 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1534,6 +1534,8 @@ sdl2-mixer:arm-uwp=fail sdl2-mixer:x64-uwp=fail sdl2-net:arm-uwp=fail sdl2-net:x64-uwp=fail +seal:arm-uwp=fail +seal:x64-uwp=fail secp256k1:x64-linux=fail secp256k1:x64-osx=fail selene:x64-linux=ignore From 1046c297c760e5165e4fe6def66cd04ca487fa10 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Thu, 30 Jan 2020 23:38:38 +0100 Subject: [PATCH 093/111] Update eigen3's portfile to use new gitlab repo (#9821) * Update eigen3's portfile to use new gitlab repo The official GitHub mirror at https://github.com/eigenteam/eigen-git-mirror is deprecated and soon will be removed. * Bump eigen3's version * Update eigen3's homepage * Update hash --- ports/eigen3/CONTROL | 4 ++-- ports/eigen3/portfile.cmake | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ports/eigen3/CONTROL b/ports/eigen3/CONTROL index 9eb6115411..b612dc881c 100644 --- a/ports/eigen3/CONTROL +++ b/ports/eigen3/CONTROL @@ -1,4 +1,4 @@ Source: eigen3 -Version: 3.3.7-3 -Homepage: https://bitbucket.org/eigen/eigen +Version: 3.3.7-4 +Homepage: http://eigen.tuxfamily.org Description: C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. diff --git a/ports/eigen3/portfile.cmake b/ports/eigen3/portfile.cmake index b9a77701da..ad8779e75c 100644 --- a/ports/eigen3/portfile.cmake +++ b/ports/eigen3/portfile.cmake @@ -2,11 +2,12 @@ include(vcpkg_common_functions) vcpkg_buildpath_length_warning(37) -vcpkg_from_github( +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com OUT_SOURCE_PATH SOURCE_PATH - REPO eigenteam/eigen-git-mirror + REPO libeigen/eigen REF 3.3.7 - SHA512 270ab9b5c22e09aa0e70d1a26995523c5c21fb0f09da45c137c11ab4c7700fe2bdb2b343c1e063bea4be5ae61d2313ff29ebbcad519dc355a568792b4a6e9e48 + SHA512 4cc3717b9cbe78335e05f724919497214edd482d4812aeb1a9fd6da5b3f6d1b194bb93ed0dab9e734b4334a5b88e8f8c339c43c1b2044332286ef5e758f9ecf4 HEAD_REF master ) From 8bb07e21cac10c7f5c5406878adba03b799c0954 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?MACHIZAUD=20Andr=C3=A9a?= Date: Thu, 30 Jan 2020 23:40:10 +0100 Subject: [PATCH 094/111] [freeglut] check whether debug/release is enabled before moving files (#9745) --- ports/freeglut/portfile.cmake | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ports/freeglut/portfile.cmake b/ports/freeglut/portfile.cmake index e46afcf9b8..eec5b30964 100644 --- a/ports/freeglut/portfile.cmake +++ b/ports/freeglut/portfile.cmake @@ -49,8 +49,12 @@ vcpkg_install_cmake() # Rename static lib (otherwise it's incompatible with FindGLUT.cmake) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freeglut_static.lib ${CURRENT_PACKAGES_DIR}/lib/freeglut.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freeglut_staticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freeglutd.lib) + if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freeglut_static.lib ${CURRENT_PACKAGES_DIR}/lib/freeglut.lib) + endif() + if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freeglut_staticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freeglutd.lib) + endif() endif() vcpkg_replace_string( From cf3e688dda65b2a6d4729edcaf83e99b32c92fd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 31 Jan 2020 06:43:34 +0800 Subject: [PATCH 095/111] [aws-*]Update version (#8832) * [aws-c-common]Upgrade to 0.4.15 * [aws-c-common]Fix cmake target path. * [aws-c-event-stream]Upgrade to 0.1.4 * [aws-checksums]Upgrade to 0.1.5 [aws-c-event-stream]Fix cmake target path. [aws-lambda-cpp]Upgrade to 0.2.4 [aws-sdk-cpp]Upgrade to 1.7.214 * [aws=sdk-cpp]Set feature AWSMigrationHub to lowercase. * [aws-lambda-cpp] Drop support with OSX --- ports/aws-c-common/CONTROL | 3 +- ports/aws-c-common/disable-error-4068.patch | 30 +++++++------- .../disable-internal-crt-option.patch | 40 +++++++++---------- .../aws-c-common/fix-cmake-target-path.patch | 28 +++++++++++++ ports/aws-c-common/portfile.cmake | 15 +++---- ports/aws-c-event-stream/CONTROL | 2 +- .../fix-cmake-target-path.patch | 28 +++++++++++++ ports/aws-c-event-stream/portfile.cmake | 15 +++---- ports/aws-checksums/CONTROL | 2 +- .../aws-checksums/fix-cmake-target-path.patch | 25 ++++++++++++ ports/aws-checksums/portfile.cmake | 15 +++---- ports/aws-lambda-cpp/CONTROL | 2 +- ports/aws-lambda-cpp/portfile.cmake | 13 ++---- ports/aws-sdk-cpp/CONTROL | 4 +- ports/aws-sdk-cpp/compute_build_only.cmake | 2 +- ports/aws-sdk-cpp/portfile.cmake | 8 ++-- scripts/ci.baseline.txt | 1 + 17 files changed, 150 insertions(+), 83 deletions(-) create mode 100644 ports/aws-c-common/fix-cmake-target-path.patch create mode 100644 ports/aws-c-event-stream/fix-cmake-target-path.patch create mode 100644 ports/aws-checksums/fix-cmake-target-path.patch diff --git a/ports/aws-c-common/CONTROL b/ports/aws-c-common/CONTROL index 908c7e16af..712566e266 100644 --- a/ports/aws-c-common/CONTROL +++ b/ports/aws-c-common/CONTROL @@ -1,3 +1,4 @@ Source: aws-c-common -Version: 0.4.1 +Version: 0.4.15 +Homepage: https://github.com/awslabs/aws-c-common Description: AWS common library for C diff --git a/ports/aws-c-common/disable-error-4068.patch b/ports/aws-c-common/disable-error-4068.patch index 60720cd67c..89735cc11d 100644 --- a/ports/aws-c-common/disable-error-4068.patch +++ b/ports/aws-c-common/disable-error-4068.patch @@ -1,15 +1,15 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 263d34e..8c699b7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -122,6 +122,10 @@ if (UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES FreeBSD) - target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500) - endif() - -+if (WIN32) -+ add_compile_options(/wd4068) -+endif() -+ - aws_add_sanitizers(${CMAKE_PROJECT_NAME} BLACKLIST "sanitizer-blacklist.txt") - target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC ${PLATFORM_LIBS}) - +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 79c66c3..f6639d7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -127,6 +127,10 @@ if (UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES FreeBSD) + #this only gets applied to aws-c-common (not its consumers). + target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500) + endif() ++ ++if (WIN32) ++ add_compile_options(/wd4068) ++endif() + + aws_add_sanitizers(${CMAKE_PROJECT_NAME} BLACKLIST "sanitizer-blacklist.txt") + target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC ${PLATFORM_LIBS}) diff --git a/ports/aws-c-common/disable-internal-crt-option.patch b/ports/aws-c-common/disable-internal-crt-option.patch index fccb607cf0..cdf24606d5 100644 --- a/ports/aws-c-common/disable-internal-crt-option.patch +++ b/ports/aws-c-common/disable-internal-crt-option.patch @@ -1,20 +1,20 @@ -diff --git a/cmake/AwsCFlags.cmake b/cmake/AwsCFlags.cmake -index 0f597d7..1359b8b 100644 ---- a/cmake/AwsCFlags.cmake -+++ b/cmake/AwsCFlags.cmake -@@ -35,15 +35,6 @@ function(aws_set_common_properties target) - # /volatile:iso relaxes some implicit memory barriers that MSVC normally applies for volatile accesses - # Since we want to be compatible with user builds using /volatile:iso, use it for the tests. - list(APPEND AWS_C_FLAGS /volatile:iso) -- -- string(TOUPPER "${CMAKE_BUILD_TYPE}" _CMAKE_BUILD_TYPE) -- if(STATIC_CRT) -- string(REPLACE "/MD" "/MT" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}") -- else() -- string(REPLACE "/MT" "/MD" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}") -- endif() -- string(REPLACE " " ";" _FLAGS "${_FLAGS}") -- list(APPEND AWS_C_FLAGS "${_FLAGS}") - - else() - list(APPEND AWS_C_FLAGS -Wall -Werror -Wstrict-prototypes) +diff --git a/cmake/AwsCFlags.cmake b/cmake/AwsCFlags.cmake +index 42d146e..813f56d 100644 +--- a/cmake/AwsCFlags.cmake ++++ b/cmake/AwsCFlags.cmake +@@ -39,15 +39,6 @@ function(aws_set_common_properties target) + # Since we want to be compatible with user builds using /volatile:iso, use it for the tests. + list(APPEND AWS_C_FLAGS /volatile:iso) + +- string(TOUPPER "${CMAKE_BUILD_TYPE}" _CMAKE_BUILD_TYPE) +- if(STATIC_CRT) +- string(REPLACE "/MD" "/MT" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}") +- else() +- string(REPLACE "/MT" "/MD" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}") +- endif() +- string(REPLACE " " ";" _FLAGS "${_FLAGS}") +- list(APPEND AWS_C_FLAGS "${_FLAGS}") +- + else() + list(APPEND AWS_C_FLAGS -Wall -Werror -Wstrict-prototypes) + diff --git a/ports/aws-c-common/fix-cmake-target-path.patch b/ports/aws-c-common/fix-cmake-target-path.patch new file mode 100644 index 0000000000..d2b5df81d5 --- /dev/null +++ b/ports/aws-c-common/fix-cmake-target-path.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 433b6c5..41874a0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -209,7 +209,7 @@ else() + endif() + + install(EXPORT "${CMAKE_PROJECT_NAME}-targets" +- DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/${TARGET_DIR}" ++ DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake" + NAMESPACE AWS:: + COMPONENT Development) + +diff --git a/cmake/aws-c-common-config.cmake b/cmake/aws-c-common-config.cmake +index c322b52..6e5daa0 100644 +--- a/cmake/aws-c-common-config.cmake ++++ b/cmake/aws-c-common-config.cmake +@@ -1,9 +1,5 @@ + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) + +-if (BUILD_SHARED_LIBS) +- include(${CMAKE_CURRENT_LIST_DIR}/shared/@CMAKE_PROJECT_NAME@-targets.cmake) +-else() +- include(${CMAKE_CURRENT_LIST_DIR}/static/@CMAKE_PROJECT_NAME@-targets.cmake) +-endif() ++include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) + diff --git a/ports/aws-c-common/portfile.cmake b/ports/aws-c-common/portfile.cmake index eed8e1d562..f9881d1251 100644 --- a/ports/aws-c-common/portfile.cmake +++ b/ports/aws-c-common/portfile.cmake @@ -1,14 +1,13 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-common - REF b2e7ca47449571beaca4a507c65ac3ee39d8eefc - SHA512 c9dc394bf3ef8eb33d36b81bae5a2002a8fccc7d876ad9c631da818aae7d06846615791c2311e8baa6efa7fcd9d565effabfec6f01767ca0099c6fa64d58e2fa + REF e3e7ccd35a85f9cd38c67cb1988251f1543b6632 # v0.4.15 + SHA512 f8be12628bb7503921bf64956697ad60ba1dc10099482515be7157a1f75b14fad716eadcf69af1d77a5f1bbdaf298a7913e678dd143c5b409dd37ce3bf57f023 HEAD_REF master PATCHES disable-error-4068.patch # This patch fixes dependency port compilation failure disable-internal-crt-option.patch # Disable internal crt option because vcpkg contains crt processing flow + fix-cmake-target-path.patch # Shared libraries and static libraries are not built at the same time ) vcpkg_configure_cmake( @@ -29,9 +28,7 @@ file(REMOVE_RECURSE vcpkg_copy_pdbs() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aws-c-common RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/share -) +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/aws-c-event-stream/CONTROL b/ports/aws-c-event-stream/CONTROL index 25dd1c936b..9b159651ca 100644 --- a/ports/aws-c-event-stream/CONTROL +++ b/ports/aws-c-event-stream/CONTROL @@ -1,4 +1,4 @@ Source: aws-c-event-stream -Version: 0.1.1 +Version: 0.1.4 Description: C99 implementation of the vnd.amazon.event-stream content-type. Build-Depends: aws-c-common, aws-checksums \ No newline at end of file diff --git a/ports/aws-c-event-stream/fix-cmake-target-path.patch b/ports/aws-c-event-stream/fix-cmake-target-path.patch new file mode 100644 index 0000000000..f862cb9aba --- /dev/null +++ b/ports/aws-c-event-stream/fix-cmake-target-path.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a765be0..4ade373 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -101,7 +101,7 @@ else() + endif() + + install(EXPORT "${CMAKE_PROJECT_NAME}-targets" +- DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/${TARGET_DIR}/" ++ DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/" + NAMESPACE AWS:: + COMPONENT Development) + +diff --git a/cmake/aws-c-event-stream-config.cmake b/cmake/aws-c-event-stream-config.cmake +index 7bd3cfc..cb817e4 100644 +--- a/cmake/aws-c-event-stream-config.cmake ++++ b/cmake/aws-c-event-stream-config.cmake +@@ -2,9 +2,5 @@ include(CMakeFindDependencyMacro) + find_dependency(aws-c-common) + find_dependency(aws-checksums) + +-if (BUILD_SHARED_LIBS) +- include(${CMAKE_CURRENT_LIST_DIR}/shared/@CMAKE_PROJECT_NAME@-targets.cmake) +-else() +- include(${CMAKE_CURRENT_LIST_DIR}/static/@CMAKE_PROJECT_NAME@-targets.cmake) +-endif() ++include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) + diff --git a/ports/aws-c-event-stream/portfile.cmake b/ports/aws-c-event-stream/portfile.cmake index 8d1b0ec70b..8a641a19d8 100644 --- a/ports/aws-c-event-stream/portfile.cmake +++ b/ports/aws-c-event-stream/portfile.cmake @@ -1,11 +1,10 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-event-stream - REF v0.1.1 - SHA512 974311cdface59bb5a95c7c249ad31cf694ebefd5c7b25f280f6817c6dc8d9ab1fdc8f75030099efe573be41a93676f199fda797d2a7bb41533f7e15f05de120 + REF 32713d30b479690d199b3f02163a832b09b309a5 #v0.1.4 + SHA512 c1f776b708cd4a68afbcc60e046dcfa3f7c1d378e7bf49ba7f93b3db3a248218316e5037254709320cd50efd6486996aa09678f41499fcea810adea16463ff4b HEAD_REF master + PATCHES fix-cmake-target-path.patch ) vcpkg_configure_cmake( @@ -27,9 +26,7 @@ file(REMOVE_RECURSE vcpkg_copy_pdbs() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aws-c-event-stream RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/share -) +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/aws-checksums/CONTROL b/ports/aws-checksums/CONTROL index 19eb511f31..edbf6a40d4 100644 --- a/ports/aws-checksums/CONTROL +++ b/ports/aws-checksums/CONTROL @@ -1,3 +1,3 @@ Source: aws-checksums -Version: 0.1.3 +Version: 0.1.5 Description: Cross-Platform HW accelerated CRC32c and CRC32 with fallback to efficient SW implementations. diff --git a/ports/aws-checksums/fix-cmake-target-path.patch b/ports/aws-checksums/fix-cmake-target-path.patch new file mode 100644 index 0000000000..ee740a6880 --- /dev/null +++ b/ports/aws-checksums/fix-cmake-target-path.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2ae2229..c4d0c2d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -138,7 +138,7 @@ else() + endif() + + install(EXPORT "${CMAKE_PROJECT_NAME}-targets" +- DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/${TARGET_DIR}/" ++ DESTINATION "${LIBRARY_DIRECTORY}/${CMAKE_PROJECT_NAME}/cmake/" + NAMESPACE AWS::) + + configure_file("cmake/${CMAKE_PROJECT_NAME}-config.cmake" +diff --git a/cmake/aws-checksums-config.cmake b/cmake/aws-checksums-config.cmake +index f0785bf..1b9b2d2 100644 +--- a/cmake/aws-checksums-config.cmake ++++ b/cmake/aws-checksums-config.cmake +@@ -1,6 +1 @@ +-if (BUILD_SHARED_LIBS) +- include(${CMAKE_CURRENT_LIST_DIR}/shared/@CMAKE_PROJECT_NAME@-targets.cmake) +-else() +- include(${CMAKE_CURRENT_LIST_DIR}/static/@CMAKE_PROJECT_NAME@-targets.cmake) +-endif() +- ++include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) diff --git a/ports/aws-checksums/portfile.cmake b/ports/aws-checksums/portfile.cmake index 4ac746d7ff..081278ea89 100644 --- a/ports/aws-checksums/portfile.cmake +++ b/ports/aws-checksums/portfile.cmake @@ -1,11 +1,10 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-checksums - REF v0.1.3 - SHA512 79bf71a6c4c268b27efe8a6a3c4b90281da4ce7f6e4c1c62fce80b11a4756ecfd4dc2b19624ace3f54137113d0cb56a517de0b91dd6338ee8ca069756bca13f4 + REF 519d6d9093819b6cf89ffff589a27ef8f83d0f65 # v0.1.5 + SHA512 3079786d106b98ba3b8c254c26ec4d9accf5fba5bcc13aed30ffa897e17ea7d701e6b6e903b37534e32e1cf0cac3e9a6ff46e1340ed7c530c2fc6262b245e05c HEAD_REF master + PATCHES fix-cmake-target-path.patch ) if (VCPKG_CRT_LINKAGE STREQUAL static) @@ -32,9 +31,7 @@ file(REMOVE_RECURSE vcpkg_copy_pdbs() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aws-checksums RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/share -) \ No newline at end of file +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/aws-lambda-cpp/CONTROL b/ports/aws-lambda-cpp/CONTROL index 53d7a917f2..cf5b776aa2 100644 --- a/ports/aws-lambda-cpp/CONTROL +++ b/ports/aws-lambda-cpp/CONTROL @@ -1,4 +1,4 @@ Source: aws-lambda-cpp -Version: 0.1.0-2 +Version: 0.2.4 Build-Depends: curl Description: C++ Runtime for AWS Lambda. diff --git a/ports/aws-lambda-cpp/portfile.cmake b/ports/aws-lambda-cpp/portfile.cmake index 7ba33e8f1c..e800790265 100644 --- a/ports/aws-lambda-cpp/portfile.cmake +++ b/ports/aws-lambda-cpp/portfile.cmake @@ -1,15 +1,10 @@ -include(vcpkg_common_functions) - -vcpkg_fail_port_install(MESSAGE "aws-lambda-cpp currently only supports Linux and Mac platforms" ON_TARGET "Windows") -#if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") -# message(FATAL_ERROR "aws-lambda-cpp currently only supports Linux and Mac platforms") -#endif() +vcpkg_fail_port_install(ON_TARGET "Windows" "OSX") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-lambda-cpp - REF v0.1.0 - SHA512 78b1ad1dcd88176a954c03b38cbb962c77488da6c75acb37a8b64cde147c030b02c6e51f0a974edb042e59c3c969d110d181ad097ef76f43255500b272a94454 + REF 681652d9410bb4adb66e5afa9e8a3662a5f7b606 # v0.2.4 + SHA512 c29ea2b8fb8b99a5d0a49f601406e14682e5133deeb871a750baa792becc91f22dac00c0ee3d8c056871a1f5035cdcd1a3bba3d9464dfa84e1ec00a270a9abd6 HEAD_REF master ) @@ -25,5 +20,5 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aws-lambda-cpp RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index 987812ea5f..625d1f3de5 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,5 +1,5 @@ Source: aws-sdk-cpp -Version: 1.7.142-1 +Version: 1.7.214 Homepage: https://github.com/aws/aws-sdk-cpp Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream @@ -51,7 +51,7 @@ Description: C++ SDK for the AWS autoscaling service Feature: autoscaling-plans Description: C++ SDK for the AWS autoscaling-plans service -Feature: AWSMigrationHub +Feature: awsmigrationhub Description: C++ SDK for the AWS AWSMigrationHub service Feature: awstransfer diff --git a/ports/aws-sdk-cpp/compute_build_only.cmake b/ports/aws-sdk-cpp/compute_build_only.cmake index 66576f2410..ba9bcb26d5 100644 --- a/ports/aws-sdk-cpp/compute_build_only.cmake +++ b/ports/aws-sdk-cpp/compute_build_only.cmake @@ -44,7 +44,7 @@ endif() if("autoscaling-plans" IN_LIST FEATURES) list(APPEND BUILD_ONLY autoscaling-plans) endif() -if("AWSMigrationHub" IN_LIST FEATURES) +if("awsmigrationhub" IN_LIST FEATURES) list(APPEND BUILD_ONLY AWSMigrationHub) endif() if("awstransfer" IN_LIST FEATURES) diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index c39e3391e6..b058608f35 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -1,12 +1,10 @@ -include(vcpkg_common_functions) - vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/aws-sdk-cpp - REF d3ee022fea02e8e7e02f3cdd77904dc4c39ab79a - SHA512 6f146830f15864bb3770ad50a6ebcbc478235e9c2c59aa044353bbfc297bf26437e07b77b970974cc294782809aaa837a3407cbc846426b04e97447cd7f9e3cf + REF e8a7e7263e900983921e95363026efaa494622ab # 1.7.214 + SHA512 dc4e003ffaebf21410d8d360f8a4602dda99d3ee0c0ab7fb61c97fe8b5f0b38438ed5315fb85d3a435cd5a99724e43c5cf569a7cb365ed8137caeac32c619a86 HEAD_REF master ) @@ -83,4 +81,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aws-sdk-cpp RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index e82bf92760..e13f9870f9 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -117,6 +117,7 @@ aws-lambda-cpp:x64-uwp=fail aws-lambda-cpp:x64-windows=fail aws-lambda-cpp:x64-windows-static=fail aws-lambda-cpp:x86-windows=fail +aws-lambda-cpp:x64-osx=fail aws-sdk-cpp:x64-linux=ignore azure-c-shared-utility:arm-uwp=fail azure-c-shared-utility:x64-uwp=fail From fd84591433a055be2eb2b40dcef9fffddeff6425 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 31 Jan 2020 00:44:28 -0800 Subject: [PATCH 096/111] [azure-storage-cpp] Azure storage only requires gettext on OSX -- avoid unneeded deps (#9852) --- ports/azure-storage-cpp/CONTROL | 4 ++-- ports/azure-storage-cpp/portfile.cmake | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL index 3fc857f95b..be93299da6 100644 --- a/ports/azure-storage-cpp/CONTROL +++ b/ports/azure-storage-cpp/CONTROL @@ -1,6 +1,6 @@ Source: azure-storage-cpp -Version: 7.1.0 -Build-Depends: cpprestsdk[core], atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), libxml2 (!windows&!uwp), libuuid (!windows&!uwp&!osx), gettext +Version: 7.1.0-1 +Build-Depends: cpprestsdk[core], atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), libxml2 (!windows&!uwp), libuuid (!windows&!uwp&!osx), gettext (osx) Description: Microsoft Azure Storage Client SDK for C++ A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client. Homepage: https://blogs.msdn.com/b/windowsazurestorage/ diff --git a/ports/azure-storage-cpp/portfile.cmake b/ports/azure-storage-cpp/portfile.cmake index 6f6b4b39fc..442afec747 100644 --- a/ports/azure-storage-cpp/portfile.cmake +++ b/ports/azure-storage-cpp/portfile.cmake @@ -1,8 +1,4 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} does not currently support UWP") -endif() - -include(vcpkg_common_functions) +vcpkg_fail_port_install(ON_TARGET "UWP") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -19,7 +15,10 @@ vcpkg_configure_cmake( -DCMAKE_FIND_FRAMEWORK=LAST -DBUILD_TESTS=OFF -DBUILD_SAMPLES=OFF - -DGETTEXT_LIB_DIR=${CURRENT_INSTALLED_DIR}/include + OPTIONS_RELEASE + -DGETTEXT_LIB_DIR=${CURRENT_INSTALLED_DIR}/lib + OPTIONS_DEBUG + -DGETTEXT_LIB_DIR=${CURRENT_INSTALLED_DIR}/debug/lib ) vcpkg_install_cmake() From 7aebb481085de7387f8a9975652c26f9053f66df Mon Sep 17 00:00:00 2001 From: ewertons Date: Fri, 31 Jan 2020 11:42:32 -0800 Subject: [PATCH 097/111] Azure-IoT-Sdk for C release 2020-01-22 (#9805) * Azure-IoT-Sdk for C release 2020-01-22 * [azure-c-shared-utility] Patch conditionals in azure_c_shared_utilityFunctions.cmake Co-authored-by: Victor Romero --- ports/azure-c-shared-utility/CONTROL | 2 +- .../fix-utilityFunctions-conditions.patch | 256 ++++++++++++++++++ ports/azure-c-shared-utility/portfile.cmake | 8 +- ports/azure-iot-sdk-c/CONTROL | 2 +- ports/azure-iot-sdk-c/portfile.cmake | 4 +- ports/azure-macro-utils-c/CONTROL | 2 +- ports/azure-macro-utils-c/portfile.cmake | 4 +- ports/azure-uamqp-c/CONTROL | 2 +- ports/azure-uamqp-c/portfile.cmake | 4 +- ports/azure-uhttp-c/CONTROL | 2 +- ports/azure-uhttp-c/portfile.cmake | 4 +- ports/azure-umqtt-c/CONTROL | 2 +- ports/azure-umqtt-c/portfile.cmake | 4 +- ports/umock-c/CONTROL | 2 +- ports/umock-c/portfile.cmake | 4 +- 15 files changed, 281 insertions(+), 21 deletions(-) create mode 100644 ports/azure-c-shared-utility/fix-utilityFunctions-conditions.patch diff --git a/ports/azure-c-shared-utility/CONTROL b/ports/azure-c-shared-utility/CONTROL index 42ace42766..ebedec68b3 100644 --- a/ports/azure-c-shared-utility/CONTROL +++ b/ports/azure-c-shared-utility/CONTROL @@ -1,5 +1,5 @@ Source: azure-c-shared-utility -Version: 2019-10-07.2-1 +Version: 2020-01-22 Description: Azure C SDKs common code Build-Depends: curl (linux), openssl (linux), azure-macro-utils-c, umock-c diff --git a/ports/azure-c-shared-utility/fix-utilityFunctions-conditions.patch b/ports/azure-c-shared-utility/fix-utilityFunctions-conditions.patch new file mode 100644 index 0000000000..7b60af94b9 --- /dev/null +++ b/ports/azure-c-shared-utility/fix-utilityFunctions-conditions.patch @@ -0,0 +1,256 @@ +diff --git a/configs/azure_c_shared_utilityFunctions.cmake b/configs/azure_c_shared_utilityFunctions.cmake +index 6c2f415..e6133af 100644 +--- a/configs/azure_c_shared_utilityFunctions.cmake ++++ b/configs/azure_c_shared_utilityFunctions.cmake +@@ -2,11 +2,11 @@ + #Licensed under the MIT license. See LICENSE file in the project root for full license information. + + function(target_link_libraries_with_arg_prefix arg_prefix whatIsBuilding lib) +- if(${arg_prefix} STREQUAL "debug") ++ if(arg_prefix STREQUAL "debug") + target_link_libraries(${whatIsBuilding} debug ${lib}) +- elseif(${arg_prefix} STREQUAL "optimized") ++ elseif(arg_prefix STREQUAL "optimized") + target_link_libraries(${whatIsBuilding} optimized ${lib}) +- elseif(${arg_prefix} STREQUAL "general") ++ elseif(arg_prefix STREQUAL "general") + target_link_libraries(${whatIsBuilding} general ${lib}) + else() + target_link_libraries(${whatIsBuilding} ${lib}) +@@ -43,13 +43,13 @@ function(windows_unittests_add_dll whatIsBuilding) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + #also unset all the other states + set(skip_to_next TRUE) +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -57,7 +57,7 @@ function(windows_unittests_add_dll whatIsBuilding) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_dll ${f}) +@@ -90,13 +90,13 @@ function(windows_unittests_add_exe whatIsBuilding) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + #also unset all the other states + set(skip_to_next TRUE) +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -104,7 +104,7 @@ function(windows_unittests_add_exe whatIsBuilding) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) +@@ -150,14 +150,14 @@ function(linux_unittests_add_exe whatIsBuilding) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + set(skip_to_next TRUE) + #also unset all the other states + +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -165,7 +165,7 @@ function(linux_unittests_add_exe whatIsBuilding) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) +@@ -184,7 +184,7 @@ function(linux_unittests_add_exe whatIsBuilding) + + if(${run_valgrind}) + find_program(VALGRIND_FOUND NAMES valgrind) +- if(${VALGRIND_FOUND} STREQUAL VALGRIND_FOUND-NOTFOUND) ++ if(VALGRIND_FOUND STREQUAL VALGRIND_FOUND-NOTFOUND) + message(WARNING "run_valgrind was TRUE, but valgrind was not found - there will be no tests run under valgrind") + else() + add_test(NAME ${whatIsBuilding}_valgrind COMMAND valgrind --num-callers=100 --error-exitcode=1 --leak-check=full --track-origins=yes ${VALGRIND_SUPPRESSIONS_FILE_EXTRA_PARAMETER} $) +@@ -307,13 +307,13 @@ function(c_windows_unittests_add_dll whatIsBuilding folder) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + #also unset all the other states + set(skip_to_next TRUE) +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -321,7 +321,7 @@ function(c_windows_unittests_add_dll whatIsBuilding folder) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_dll ${f}) +@@ -369,13 +369,13 @@ function(c_windows_unittests_add_exe whatIsBuilding folder) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + #also unset all the other states + set(skip_to_next TRUE) +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -383,7 +383,7 @@ function(c_windows_unittests_add_exe whatIsBuilding folder) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) +@@ -429,13 +429,13 @@ function(c_linux_unittests_add_exe whatIsBuilding folder) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + #also unset all the other states + set(skip_to_next TRUE) +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -443,7 +443,7 @@ function(c_linux_unittests_add_exe whatIsBuilding folder) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) +@@ -462,7 +462,7 @@ function(c_linux_unittests_add_exe whatIsBuilding folder) + + if(${run_valgrind}) + find_program(VALGRIND_FOUND NAMES valgrind) +- if(${VALGRIND_FOUND} STREQUAL VALGRIND_FOUND-NOTFOUND) ++ if(VALGRIND_FOUND STREQUAL VALGRIND_FOUND-NOTFOUND) + message(WARNING "run_valgrind was TRUE, but valgrind was not found - there will be no tests run under valgrind") + else() + add_test(NAME ${whatIsBuilding}_valgrind COMMAND valgrind --gen-suppressions=all --num-callers=100 --error-exitcode=1 --leak-check=full --track-origins=yes ${VALGRIND_SUPPRESSIONS_FILE_EXTRA_PARAMETER} $) +@@ -546,29 +546,29 @@ function(compile_c_test_artifacts_as whatIsBuilding compileAsWhat) + (("${whatIsBuilding}" MATCHES ".*int.*") AND ${run_int_tests}) + ) + if (${use_cppunittest}) +- if(${compileAsWhat} STREQUAL "C99") ++ if(compileAsWhat STREQUAL "C99") + compileTargetAsC99(${whatIsBuilding}_dll) + compileTargetAsC99(${whatIsBuilding}_testsonly_lib) + endif() +- if(${compileAsWhat} STREQUAL "C11") ++ if(compileAsWhat STREQUAL "C11") + compileTargetAsC11(${whatIsBuilding}_dll) + compileTargetAsC11(${whatIsBuilding}_testsonly_lib) + endif() + endif() +- if(${compileAsWhat} STREQUAL "C99") ++ if(compileAsWhat STREQUAL "C99") + compileTargetAsC99(${whatIsBuilding}_exe) + endif() +- if(${compileAsWhat} STREQUAL "C11") ++ if(compileAsWhat STREQUAL "C11") + compileTargetAsC11(${whatIsBuilding}_exe) + endif() + else() + if( + (("${whatIsBuilding}" MATCHES ".*e2e.*") AND ${nuget_e2e_tests}) + ) +- if(${compileAsWhat} STREQUAL "C99") ++ if(compileAsWhat STREQUAL "C99") + compileTargetAsC99(${whatIsBuilding}_exe) + endif() +- if(${compileAsWhat} STREQUAL "C11") ++ if(compileAsWhat STREQUAL "C11") + compileTargetAsC11(${whatIsBuilding}_exe) + endif() + else() +@@ -581,10 +581,10 @@ function(compile_c_test_artifacts_as whatIsBuilding compileAsWhat) + (("${whatIsBuilding}" MATCHES ".*e2e.*") AND ${run_e2e_tests}) OR + (("${whatIsBuilding}" MATCHES ".*int.*") AND ${run_int_tests}) + ) +- if(${compileAsWhat} STREQUAL "C99") ++ if(compileAsWhat STREQUAL "C99") + compileTargetAsC99(${whatIsBuilding}_exe) + endif() +- if(${compileAsWhat} STREQUAL "C11") ++ if(compileAsWhat STREQUAL "C11") + compileTargetAsC11(${whatIsBuilding}_exe) + endif() + endif() +@@ -641,15 +641,15 @@ function(set_platform_files c_shared_dir) + set(CONDITION_C_FILE ${c_shared_dir}/adapters/condition_win32.c PARENT_SCOPE) + endif() + +- if(${use_etw} STREQUAL "OFF") ++ if(use_etw STREQUAL "OFF") + set(XLOGGING_C_FILE ${c_shared_dir}/src/xlogging.c PARENT_SCOPE) + set(LOGGING_C_FILE ${c_shared_dir}/src/consolelogger.c PARENT_SCOPE) + set(LOGGING_H_FILE ${c_shared_dir}/inc/azure_c_shared_utility/consolelogger.h PARENT_SCOPE) +- elseif(${use_etw} STREQUAL "TRACELOGGING") ++ elseif(use_etw STREQUAL "TRACELOGGING") + set(XLOGGING_C_FILE ${c_shared_dir}/src/etwxlogging.c PARENT_SCOPE) + set(LOGGING_C_FILE ${c_shared_dir}/src/etwlogger_driver.c PARENT_SCOPE) + set(LOGGING_H_FILE ${c_shared_dir}/inc/azure_c_shared_utility/etwlogger_driver.h PARENT_SCOPE) +- elseif(${use_etw} STREQUAL "TRACELOGGING_WITH_CONSOLE") ++ elseif(use_etw STREQUAL "TRACELOGGING_WITH_CONSOLE") + set(XLOGGING_C_FILE ${c_shared_dir}/src/etwxlogging.c PARENT_SCOPE) + set(LOGGING_C_FILE ${c_shared_dir}/src/etwlogger_driver.c ${c_shared_dir}/src/consolelogger.c PARENT_SCOPE) + set(LOGGING_H_FILE ${c_shared_dir}/inc/azure_c_shared_utility/etwlogger_driver.h ${c_shared_dir}/inc/azure_c_shared_utility/consolelogger.h PARENT_SCOPE) diff --git a/ports/azure-c-shared-utility/portfile.cmake b/ports/azure-c-shared-utility/portfile.cmake index 4ae236b53e..fb9444da9a 100644 --- a/ports/azure-c-shared-utility/portfile.cmake +++ b/ports/azure-c-shared-utility/portfile.cmake @@ -9,14 +9,18 @@ if("public-preview" IN_LIST FEATURES) REF 42574842914591aadc77701aac72f18cc72319ad SHA512 dfe6ccede4bebdb3a39fbfea1dc55ddca57cced0d2656ee4bed1a5e5c9c434e1f2d892eb4e29bbb424cb9a02f2374a95fb9a020442bea580d39c242efad1b789 HEAD_REF master + PATCHES + fix-utilityFunctions-conditions.patch ) else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-c-shared-utility - REF 42574842914591aadc77701aac72f18cc72319ad - SHA512 dfe6ccede4bebdb3a39fbfea1dc55ddca57cced0d2656ee4bed1a5e5c9c434e1f2d892eb4e29bbb424cb9a02f2374a95fb9a020442bea580d39c242efad1b789 + REF 48f7a556865731f0e96c47eb5e9537361f24647c + SHA512 c20074707e8601e090ee8daac1d96fdfb4f60ac60fd9c824dad81aa4c2f22b04733c82c01c1ae92110c26871b81674e8771d9ed65081f1c0c197a362275a28f1 HEAD_REF master + PATCHES + fix-utilityFunctions-conditions.patch ) endif() diff --git a/ports/azure-iot-sdk-c/CONTROL b/ports/azure-iot-sdk-c/CONTROL index f13b4d20ee..bf2734357b 100644 --- a/ports/azure-iot-sdk-c/CONTROL +++ b/ports/azure-iot-sdk-c/CONTROL @@ -1,5 +1,5 @@ Source: azure-iot-sdk-c -Version: 2019-11-27.1 +Version: 2020-01-22 Build-Depends: azure-uamqp-c, azure-umqtt-c, azure-c-shared-utility, parson, azure-uhttp-c, azure-macro-utils-c, umock-c Description: A C99 SDK for connecting devices to Microsoft Azure IoT services diff --git a/ports/azure-iot-sdk-c/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake index 83f6371149..08b3574b3c 100644 --- a/ports/azure-iot-sdk-c/portfile.cmake +++ b/ports/azure-iot-sdk-c/portfile.cmake @@ -15,8 +15,8 @@ else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-iot-sdk-c - REF f8d260df190f90c04114ca8ff7d83dd03d4dd80d - SHA512 111331293cfbdbdac4a6460d293ec8650bee31940829852c27afc88cc6e742e96f71c996aa275dc5ed1f13e9fe19452d7b2685dde47bb7d6c135ebee58c50d21 + REF a8a71c2d120c571a2d2ab6149863c2b075e7bea9 + SHA512 bc9cae705bef7d9c5c33b80c1d564566058ae4e6bcd343d94df9d139d9f71e620da940c5dcf7ccdc16e75388a03ff3393b40fe603201938c7a37d60b938ca874 HEAD_REF master PATCHES improve-external-deps.patch ) diff --git a/ports/azure-macro-utils-c/CONTROL b/ports/azure-macro-utils-c/CONTROL index 5198244971..103887c2dc 100644 --- a/ports/azure-macro-utils-c/CONTROL +++ b/ports/azure-macro-utils-c/CONTROL @@ -1,5 +1,5 @@ Source: azure-macro-utils-c -Version: 2019-11-27.1 +Version: 2020-01-22 Description: A library of macros for the Azure IoT SDK Suite Build-Depends: diff --git a/ports/azure-macro-utils-c/portfile.cmake b/ports/azure-macro-utils-c/portfile.cmake index 1758d13dbb..2f9e5829c4 100644 --- a/ports/azure-macro-utils-c/portfile.cmake +++ b/ports/azure-macro-utils-c/portfile.cmake @@ -14,8 +14,8 @@ else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-macro-utils-c - REF 7523af934fc4d9423111e358f49b19314ec9c3e3 - SHA512 b53765096654fff9c5670004e4e107bffa81dd07e63eeac687c9e2b7e5ea2e1f26b6ae025c05c45f5c28152a457922f08c7f8d3303fa4d3b9194c34ba59533d5 + REF 5926caf4e42e98e730e6d03395788205649a3ada + SHA512 97621f276657af976c4022c9600540ecae2287b3b386b9e097d661828a62c120348d354b3f86f3ef4d49f3c54830887662d3910ed5cec4a634949fa389b4ad55 HEAD_REF master ) endif() diff --git a/ports/azure-uamqp-c/CONTROL b/ports/azure-uamqp-c/CONTROL index f67f773cdb..cc18d253c8 100644 --- a/ports/azure-uamqp-c/CONTROL +++ b/ports/azure-uamqp-c/CONTROL @@ -1,5 +1,5 @@ Source: azure-uamqp-c -Version: 2019-11-27.1 +Version: 2020-01-22 Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c Description: AMQP library for C diff --git a/ports/azure-uamqp-c/portfile.cmake b/ports/azure-uamqp-c/portfile.cmake index e40436a46c..b8ce4b0bbd 100644 --- a/ports/azure-uamqp-c/portfile.cmake +++ b/ports/azure-uamqp-c/portfile.cmake @@ -14,8 +14,8 @@ else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-uamqp-c - REF 065ffdeeb47313ddbbc2a8e84ad52ab033e2e8d2 - SHA512 bade6fae2d5479b7690632dbcc58bda5dd871eb0aa63d6a56cb35e81630121b5148309cd3414e6339c1218ec59fc12ac318b4964d295b579f7a0cacf5593b7ba + REF 142cfab9d66c6f81ea0cceb635f31e00cfa51c77 + SHA512 80f95bc969c2e50124622561b5f939e981a8d317e3e9514e52ce020f0f20a125622bf914f16927edafc7ff3c878fb1d6a28f4f5e66bda52dcc8aa2dc34761f73 HEAD_REF master ) endif() diff --git a/ports/azure-uhttp-c/CONTROL b/ports/azure-uhttp-c/CONTROL index f485c0a4e8..dc30fd3503 100644 --- a/ports/azure-uhttp-c/CONTROL +++ b/ports/azure-uhttp-c/CONTROL @@ -1,5 +1,5 @@ Source: azure-uhttp-c -Version: 2019-11-27.1 +Version: 2020-01-22 Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c Description: Azure HTTP Library written in C diff --git a/ports/azure-uhttp-c/portfile.cmake b/ports/azure-uhttp-c/portfile.cmake index 3ca2208223..d943e811dc 100644 --- a/ports/azure-uhttp-c/portfile.cmake +++ b/ports/azure-uhttp-c/portfile.cmake @@ -14,8 +14,8 @@ else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-uhttp-c - REF d84a20609a2b5a555920389451fb3c9a2ed3656c - SHA512 4eadd7e120082cc3bcf696d6cd16bc7ee8e1082380dd7583fba7fad1bb95109f3456890495e25ae7675e656ef721fa12eff22eeb96d8a4cf359be5c96889cbd6 + REF b67a6bfa0d018a8a23176ee214e46c208fc323c3 + SHA512 75fafe242324bb2fc72befdd06427350e6f99aec9496fdf38b9660e7965fad89276ee543f36c3ba3360fc99b8301e74e2c1723d17f39e8471beee3e32cacb348 HEAD_REF master ) endif() diff --git a/ports/azure-umqtt-c/CONTROL b/ports/azure-umqtt-c/CONTROL index 985959aee5..2a0b9e4bc6 100644 --- a/ports/azure-umqtt-c/CONTROL +++ b/ports/azure-umqtt-c/CONTROL @@ -1,5 +1,5 @@ Source: azure-umqtt-c -Version: 2019-11-27.1 +Version: 2020-01-22 Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c Description: General purpose library for communication over the mqtt protocol diff --git a/ports/azure-umqtt-c/portfile.cmake b/ports/azure-umqtt-c/portfile.cmake index d55ec7d2fe..0d070bf168 100644 --- a/ports/azure-umqtt-c/portfile.cmake +++ b/ports/azure-umqtt-c/portfile.cmake @@ -14,8 +14,8 @@ else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-umqtt-c - REF 7557db6de094b67818d3c410dc95a3cf07cd86a6 - SHA512 f2577379f711e2576fdd6dfecbc4d8a0b26c7670a77bc468238e8dd5fa43f208db85eddd06dd570fde4219ba19304338c712f671c059c6cc10abb4892d58ae40 + REF 65cdd1013715fb9d208c42f957eb353fbe22bafb + SHA512 8cd33dcde966132e2aa0c6d931e75f9bcdc5734d57d8f6bb8a922711b0b63c2f0e58d379fe92371886387dfbb0b8c117b512873363eb76cf22fa985dbf11d52e HEAD_REF master ) endif() diff --git a/ports/umock-c/CONTROL b/ports/umock-c/CONTROL index 3ef51001ea..a84f5a7cbe 100644 --- a/ports/umock-c/CONTROL +++ b/ports/umock-c/CONTROL @@ -1,5 +1,5 @@ Source: umock-c -Version: 2019-11-27.1 +Version: 2020-01-22 Description: A pure C mocking library Build-Depends: azure-macro-utils-c diff --git a/ports/umock-c/portfile.cmake b/ports/umock-c/portfile.cmake index 5b6d6b32ef..815a46547a 100644 --- a/ports/umock-c/portfile.cmake +++ b/ports/umock-c/portfile.cmake @@ -14,8 +14,8 @@ else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/umock-c - REF 87d2214384c886a1e2406ac0756a0b3786add8da - SHA512 230b6c79a8346727bbc124d1aefaa14da8ecd82b2a56d68b3d2511b8efa5931872da440137a5d266835ba8c5193b83b4bc5ee85abb5242d07904a0706727926c + REF 5e3d93112360ee2d4a622b1c48eb70896da3e8c7 + SHA512 9f5c0ce782f66a41e702e2d54dcff92b07b30e7c2be0ee2c63a56e2bff0c26a1de7f77abcb2a964d668deea817dcb3a4771e328707c2d982c23526465c950608 HEAD_REF master ) endif() From 070f37693c2d8044c363be03ddbb84dba8367c51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Mon, 3 Feb 2020 12:26:38 +0800 Subject: [PATCH 098/111] [azure-c-shared-utility] Fix patch when selected feature public-preview (#9871) --- ports/azure-c-shared-utility/CONTROL | 2 +- ...-utilityFunctions-conditions-preview.patch | 248 ++++++++++++++++++ ports/azure-c-shared-utility/portfile.cmake | 2 +- 3 files changed, 250 insertions(+), 2 deletions(-) create mode 100644 ports/azure-c-shared-utility/fix-utilityFunctions-conditions-preview.patch diff --git a/ports/azure-c-shared-utility/CONTROL b/ports/azure-c-shared-utility/CONTROL index ebedec68b3..7e313e72fe 100644 --- a/ports/azure-c-shared-utility/CONTROL +++ b/ports/azure-c-shared-utility/CONTROL @@ -1,5 +1,5 @@ Source: azure-c-shared-utility -Version: 2020-01-22 +Version: 2020-01-22-1 Description: Azure C SDKs common code Build-Depends: curl (linux), openssl (linux), azure-macro-utils-c, umock-c diff --git a/ports/azure-c-shared-utility/fix-utilityFunctions-conditions-preview.patch b/ports/azure-c-shared-utility/fix-utilityFunctions-conditions-preview.patch new file mode 100644 index 0000000000..c89d92f584 --- /dev/null +++ b/ports/azure-c-shared-utility/fix-utilityFunctions-conditions-preview.patch @@ -0,0 +1,248 @@ +diff --git a/configs/azure_c_shared_utilityFunctions.cmake b/configs/azure_c_shared_utilityFunctions.cmake +index e85defa..7f450ab 100644 +--- a/configs/azure_c_shared_utilityFunctions.cmake ++++ b/configs/azure_c_shared_utilityFunctions.cmake +@@ -2,11 +2,11 @@ + #Licensed under the MIT license. See LICENSE file in the project root for full license information. + + function(target_link_libraries_with_arg_prefix arg_prefix whatIsBuilding lib) +- if(${arg_prefix} STREQUAL "debug") ++ if(arg_prefix STREQUAL "debug") + target_link_libraries(${whatIsBuilding} debug ${lib}) +- elseif(${arg_prefix} STREQUAL "optimized") ++ elseif(arg_prefix STREQUAL "optimized") + target_link_libraries(${whatIsBuilding} optimized ${lib}) +- elseif(${arg_prefix} STREQUAL "general") ++ elseif(arg_prefix STREQUAL "general") + target_link_libraries(${whatIsBuilding} general ${lib}) + else() + target_link_libraries(${whatIsBuilding} ${lib}) +@@ -43,13 +43,13 @@ function(windows_unittests_add_dll whatIsBuilding) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + #also unset all the other states + set(skip_to_next TRUE) +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -57,7 +57,7 @@ function(windows_unittests_add_dll whatIsBuilding) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_dll ${f}) +@@ -90,13 +90,13 @@ function(windows_unittests_add_exe whatIsBuilding) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + #also unset all the other states + set(skip_to_next TRUE) +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -104,7 +104,7 @@ function(windows_unittests_add_exe whatIsBuilding) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) +@@ -150,14 +150,14 @@ function(linux_unittests_add_exe whatIsBuilding) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + set(skip_to_next TRUE) + #also unset all the other states + +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -165,7 +165,7 @@ function(linux_unittests_add_exe whatIsBuilding) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) +@@ -184,7 +184,7 @@ function(linux_unittests_add_exe whatIsBuilding) + + if(${run_valgrind}) + find_program(VALGRIND_FOUND NAMES valgrind) +- if(${VALGRIND_FOUND} STREQUAL VALGRIND_FOUND-NOTFOUND) ++ if(VALGRIND_FOUND STREQUAL VALGRIND_FOUND-NOTFOUND) + message(WARNING "run_valgrind was TRUE, but valgrind was not found - there will be no tests run under valgrind") + else() + add_test(NAME ${whatIsBuilding}_valgrind COMMAND valgrind --num-callers=100 --error-exitcode=1 --leak-check=full --track-origins=yes ${VALGRIND_SUPPRESSIONS_FILE_EXTRA_PARAMETER} $) +@@ -307,13 +307,13 @@ function(c_windows_unittests_add_dll whatIsBuilding folder) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + #also unset all the other states + set(skip_to_next TRUE) +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -321,7 +321,7 @@ function(c_windows_unittests_add_dll whatIsBuilding folder) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_dll ${f}) +@@ -369,13 +369,13 @@ function(c_windows_unittests_add_exe whatIsBuilding folder) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + #also unset all the other states + set(skip_to_next TRUE) +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -383,7 +383,7 @@ function(c_windows_unittests_add_exe whatIsBuilding folder) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) +@@ -429,13 +429,13 @@ function(c_linux_unittests_add_exe whatIsBuilding folder) + set(ARG_PREFIX "none") + foreach(f ${ARGN}) + set(skip_to_next FALSE) +- if(${f} STREQUAL "ADDITIONAL_LIBS") ++ if(f STREQUAL "ADDITIONAL_LIBS") + SET(PARSING_ADDITIONAL_LIBS ON) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE OFF) + set(ARG_PREFIX "none") + #also unset all the other states + set(skip_to_next TRUE) +- elseif(${f} STREQUAL "VALGRIND_SUPPRESSIONS_FILE") ++ elseif(f STREQUAL "VALGRIND_SUPPRESSIONS_FILE") + SET(PARSING_ADDITIONAL_LIBS OFF) + SET(PARSING_VALGRIND_SUPPRESSIONS_FILE ON) + set(skip_to_next TRUE) +@@ -443,7 +443,7 @@ function(c_linux_unittests_add_exe whatIsBuilding folder) + + if(NOT skip_to_next) + if(PARSING_ADDITIONAL_LIBS) +- if((${f} STREQUAL "debug") OR (${f} STREQUAL "optimized") OR (${f} STREQUAL "general")) ++ if((f STREQUAL "debug") OR (f STREQUAL "optimized") OR (f STREQUAL "general")) + SET(ARG_PREFIX ${f}) + else() + target_link_libraries_with_arg_prefix(${ARG_PREFIX} ${whatIsBuilding}_exe ${f}) +@@ -462,7 +462,7 @@ function(c_linux_unittests_add_exe whatIsBuilding folder) + + if(${run_valgrind}) + find_program(VALGRIND_FOUND NAMES valgrind) +- if(${VALGRIND_FOUND} STREQUAL VALGRIND_FOUND-NOTFOUND) ++ if(VALGRIND_FOUND STREQUAL VALGRIND_FOUND-NOTFOUND) + message(WARNING "run_valgrind was TRUE, but valgrind was not found - there will be no tests run under valgrind") + else() + add_test(NAME ${whatIsBuilding}_valgrind COMMAND valgrind --gen-suppressions=all --num-callers=100 --error-exitcode=1 --leak-check=full --track-origins=yes ${VALGRIND_SUPPRESSIONS_FILE_EXTRA_PARAMETER} $) +@@ -546,29 +546,29 @@ function(compile_c_test_artifacts_as whatIsBuilding compileAsWhat) + (("${whatIsBuilding}" MATCHES ".*int.*") AND ${run_int_tests}) + ) + if (${use_cppunittest}) +- if(${compileAsWhat} STREQUAL "C99") ++ if(compileAsWhat STREQUAL "C99") + compileTargetAsC99(${whatIsBuilding}_dll) + compileTargetAsC99(${whatIsBuilding}_testsonly_lib) + endif() +- if(${compileAsWhat} STREQUAL "C11") ++ if(compileAsWhat STREQUAL "C11") + compileTargetAsC11(${whatIsBuilding}_dll) + compileTargetAsC11(${whatIsBuilding}_testsonly_lib) + endif() + endif() +- if(${compileAsWhat} STREQUAL "C99") ++ if(compileAsWhat STREQUAL "C99") + compileTargetAsC99(${whatIsBuilding}_exe) + endif() +- if(${compileAsWhat} STREQUAL "C11") ++ if(compileAsWhat STREQUAL "C11") + compileTargetAsC11(${whatIsBuilding}_exe) + endif() + else() + if( + (("${whatIsBuilding}" MATCHES ".*e2e.*") AND ${nuget_e2e_tests}) + ) +- if(${compileAsWhat} STREQUAL "C99") ++ if(compileAsWhat STREQUAL "C99") + compileTargetAsC99(${whatIsBuilding}_exe) + endif() +- if(${compileAsWhat} STREQUAL "C11") ++ if(compileAsWhat STREQUAL "C11") + compileTargetAsC11(${whatIsBuilding}_exe) + endif() + else() +@@ -581,10 +581,10 @@ function(compile_c_test_artifacts_as whatIsBuilding compileAsWhat) + (("${whatIsBuilding}" MATCHES ".*e2e.*") AND ${run_e2e_tests}) OR + (("${whatIsBuilding}" MATCHES ".*int.*") AND ${run_int_tests}) + ) +- if(${compileAsWhat} STREQUAL "C99") ++ if(compileAsWhat STREQUAL "C99") + compileTargetAsC99(${whatIsBuilding}_exe) + endif() +- if(${compileAsWhat} STREQUAL "C11") ++ if(compileAsWhat STREQUAL "C11") + compileTargetAsC11(${whatIsBuilding}_exe) + endif() + endif() +@@ -641,8 +641,8 @@ function(set_platform_files c_shared_dir) + set(CONDITION_C_FILE ${c_shared_dir}/adapters/condition_win32.c PARENT_SCOPE) + endif() + if(use_etw) +- if(${use_etw} OR (${use_etw} STREQUAL "ON_WITH_CONSOLE")) +- if (${use_etw} STREQUAL "ON_WITH_CONSOLE") ++ if(use_etw OR (use_etw STREQUAL "ON_WITH_CONSOLE")) ++ if (use_etw STREQUAL "ON_WITH_CONSOLE") + set(XLOGGING_C_FILE ${c_shared_dir}/src/etwxlogging.c PARENT_SCOPE) + set(LOGGING_C_FILE ${c_shared_dir}/src/etwlogger_driver.c ${c_shared_dir}/src/consolelogger.c PARENT_SCOPE) + set(LOGGING_RC_FILE ${c_shared_dir}/res/etwlogger.rc CACHE INTERNAL "") diff --git a/ports/azure-c-shared-utility/portfile.cmake b/ports/azure-c-shared-utility/portfile.cmake index fb9444da9a..2e0e779be5 100644 --- a/ports/azure-c-shared-utility/portfile.cmake +++ b/ports/azure-c-shared-utility/portfile.cmake @@ -10,7 +10,7 @@ if("public-preview" IN_LIST FEATURES) SHA512 dfe6ccede4bebdb3a39fbfea1dc55ddca57cced0d2656ee4bed1a5e5c9c434e1f2d892eb4e29bbb424cb9a02f2374a95fb9a020442bea580d39c242efad1b789 HEAD_REF master PATCHES - fix-utilityFunctions-conditions.patch + fix-utilityFunctions-conditions-preview.patch ) else() vcpkg_from_github( From 6d1cd558e6183e1b821150681b0c703badcdb591 Mon Sep 17 00:00:00 2001 From: Stanislav Ershov Date: Mon, 3 Feb 2020 12:16:54 +0500 Subject: [PATCH 099/111] [glfw3] Update to 3.3.2 (#9809) --- ports/glfw3/CONTROL | 2 +- ports/glfw3/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/glfw3/CONTROL b/ports/glfw3/CONTROL index e51362d2a4..45b452b1ff 100644 --- a/ports/glfw3/CONTROL +++ b/ports/glfw3/CONTROL @@ -1,4 +1,4 @@ Source: glfw3 -Version: 3.3.1 +Version: 3.3.2 Homepage: https://github.com/glfw/glfw Description: GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc. diff --git a/ports/glfw3/portfile.cmake b/ports/glfw3/portfile.cmake index fef1bdf2ee..393ecdd03c 100644 --- a/ports/glfw3/portfile.cmake +++ b/ports/glfw3/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO glfw/glfw - REF 3.3.1 - SHA512 f9376002314eae5518ca63738cf1558433007dbf628fb6093a6f54c330f72d85e0ac30049877c50bc99f029e3eb6f69e69508f412d1ec9bdde0ac721dbbeba1e + REF 3.3.2 + SHA512 f5af749d33b5b900ccf07988ad0bf51bd766a18e4cf2bc2a76020c88e98a2528ff1b965224184fe0d290cfe34b1af1e6f633600660d81194fe354078e2f35c56 HEAD_REF master ) From 586bee9bcd30993033a3590f7e84ef1b648cad10 Mon Sep 17 00:00:00 2001 From: eao197 Date: Tue, 4 Feb 2020 01:14:00 +0300 Subject: [PATCH 100/111] [RESTinio] updated to v.0.6.3 (#9858) * RESTinio updated to v.0.6.3. * Remove trailing empty lines. * Another space line removed. --- ports/restinio/CONTROL | 2 +- ports/restinio/portfile.cmake | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/ports/restinio/CONTROL b/ports/restinio/CONTROL index 14a167491f..4add14b0f4 100644 --- a/ports/restinio/CONTROL +++ b/ports/restinio/CONTROL @@ -1,5 +1,5 @@ Source: restinio -Version: 0.6.2 +Version: 0.6.3 Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests. Build-Depends: asio, fmt, http-parser Homepage: https://github.com/stiffstream/restinio diff --git a/ports/restinio/portfile.cmake b/ports/restinio/portfile.cmake index bb1efd49cf..b19da7a258 100644 --- a/ports/restinio/portfile.cmake +++ b/ports/restinio/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stiffstream/restinio - REF 086c07eb4aaa59997489e5431d6279211347061a # v.0.6.2 - SHA512 28cf20331749ca5dee75cd318d7b08ea6b7e26e8e59fde2de182683c0a3861e3a6f1957605cd61bf09e2ba9f05a04f08fabcbb140d73ffe72d8b5235b4df7746 + REF 02507d2c18732045b69f9b6710767de6972f0179 # v.0.6.3 + SHA512 fc83fc3d378dd4b69900a9fe2f7ba1582c51db42d9171f2f0ca1a248afead7dadcda4aed0e3dcd529bbb6d3faf6d2fb30eeb0971776ffeadbb5d7ef4055985dd ) vcpkg_configure_cmake( @@ -14,7 +14,5 @@ vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/restinio) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) - # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - From e62d1361288e83eba786395b60361ab35ba83800 Mon Sep 17 00:00:00 2001 From: Phil Christensen Date: Mon, 3 Feb 2020 14:22:52 -0800 Subject: [PATCH 101/111] [vcpkg] Add Supports: field. Use contents of triplets instead of names for dependency resolution. (#8601) * remove unfinished "supports" tag * extract "supports" from control files But do nothing with the value * Start `Supports` documentation * Use Supports in a bunch of control files I only tried matching the already existing logic in the portfile.cmake. * Cmake var provider (#8) * Cmake var provider (#9) * fix windows build (#10) * Add missing files to build * Fix test (#11) * adding hooks for cmake variables in expressions * Adding hooks for 'supports' in CI test * Fix test (#12) * Add overrides to evaluation environment * use "supported" tag in CI testing * cleanup comment * Fix issues with PR * [var_provider] Get library linkage variables from triplet * Fix compilation errors in tests * Add unimplemented functions * Fix unit tests part 1 * Fix issue when buildtrees dir does not exist * Change binary output hash * Fix handling of * feature * Add core feature when using * * Do not add Default-Features when installing 'core' * [vcpkg] WIP. 6 failing tests. * [vcpkg] WIP. 1 failing tests. * [vcpkg] WIP. 0 failing tests. * [vcpkg] Removed 'remove_graph'. 0 failing tests. * [vcpkg] Removed 'install_graph'. 0 failing tests. * [vcpkg] Remove AnyAction; replace with ActionPlan * [vcpkg] Minor cleanup. * [vcpkg][z3][qt5-connectivity][qt5-purchasing] Improve error messages while parsing. Fix a few trivial port issues. * [vcpkg] Work around ICE with MSVC v140 * [vcpkg] Add purge on fail to decompress for CI * [vcpkg] Fix parsing of nested parentheses in qualifiers * [vcpkg] Fix Linux builds (explicit qualification in declaration) * [vcpkg] Fix Build-Depends implying default features. Fix qualified dependencies regression. * [mmx] Add to skip list and full rebuild -- mmx causes problems by installing 'sched.h' * [libpqxx][mqtt-cpp] Prevent installing include/CMakeLists.txt * [cppitertools] Fix installed include namespace (should be include/cppitertools) * [libsoundio] Move headers into soundio/ subdirectory as per original cmake * [ci.baseline] Temporarily skip charls due to conflict with dcmtk * [vcpkg] Add restricted include files post build check -- bump global abi version * [libsoundio] Hotfix stray line in portfile * [vcpkg] Fix regression: CMake information was not being displayed for build-and-install actions * [jsonnet] Fix installation of internal headers; use system nlohmann-json * [grpc][upb] Teach grpc to use packaged upb. Add find_package(upb). Remove inappropriate upb features. * [zfp] Move problematic 'include/bitstream.h' to 'include/zfp/bitstream.h' * [x265] Bump control version to trigger rebuild after zfp conflict * [akali] Disable parallel configure * [dirent][dlfcn-win32][getopt-win32][pthreads] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [ci.baseline] Update baseline for improved upb support * [tgui] Disable parallel configure * [libiconv] Enable VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [aws-sdk-cpp] Disable parallel configure * [vcpkg] Implement policy VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [aws-sdk-cpp] Fix amount of escaping semicolons -- Note: I do not know the root cause requiring this change * [libodb-sqlite] Fix configuring into source directory * [gettext] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [libodb] DISABLE_PARALLEL_CONFIGURE * [vcpkg] Add 'config.h' and 'local.h' to restricted header list * [mcpp] Remove unused and problematic include 'config.h' from installed files * [teemo] Move installed headers into subdirectory to prevent conflicts with x265 * [ci.baseline] Update current OSX. Skip libmesh on all platforms due to heavy conflicts. * [vcpkg] Add 'slice.h' as a restricted header * [osg] Improve accuracy of dependencies (disable some, add some to Depends) * [vcpkg] Skip invoking a subprocess for 0 specs in load_tag_vars * [ci.baseline] Skip mongo-c-driver on osx due to flakiness * [teemo] Fix incorrect include file read * [osg] Fix dependency typo: glut -> freeglut * [vcpkg] Recover some lost performance with the addition of vcpkg_get_tags. A huge performance cost was loading the triplet files over and over; instead, we splice the sources into a macro and load it once, then just call that macro for each port. Remove use of hashing because we aren't cross-process-safe anyway (global static will do instead). * [vcpkg] Change Supports atom 'windows' to include UWP. Improve Supports field documentation. * [vcpkg] Add docs for VCPKG_ENV_PASSTHROUGH and VCPKG_DEP_INFO_OVERRIDE_VARS * Fix typo Co-authored-by: Curtis J Bezault Co-authored-by: Victor Romero Co-authored-by: Robert Schumacher --- docs/maintainers/control-files.md | 54 +- docs/users/triplets.md | 32 +- ports/abseil/CONTROL | 1 + ports/ace/CONTROL | 1 + ports/activemq-cpp/CONTROL | 1 + ports/akali/portfile.cmake | 3 +- ports/alac/CONTROL | 1 + ports/aliyun-oss-c-sdk/CONTROL | 1 + ports/ampl-mp/CONTROL | 1 + ports/apr/CONTROL | 1 + ports/arrow/CONTROL | 1 + ports/aws-sdk-cpp/CONTROL | 2 +- ports/aws-sdk-cpp/portfile.cmake | 9 +- ports/azure-storage-cpp/CONTROL | 1 + ports/benchmark/CONTROL | 1 + ports/berkeleydb/CONTROL | 1 + ports/c-ares/CONTROL | 1 + ports/caffe2/CONTROL | 1 + ports/capnproto/CONTROL | 1 + ports/civetweb/CONTROL | 1 + ports/coroutine/CONTROL | 1 + ports/cpp-netlib/CONTROL | 1 + ports/cppfs/CONTROL | 1 + ports/cppitertools/CONTROL | 2 +- ports/cppitertools/portfile.cmake | 8 +- ports/cudnn/CONTROL | 1 + ports/darknet/CONTROL | 1 + ports/dirent/portfile.cmake | 3 +- ports/dlfcn-win32/portfile.cmake | 3 +- ports/dmlc/CONTROL | 1 + ports/dpdk/CONTROL | 2 +- ports/easyhook/CONTROL | 3 +- ports/ebml/CONTROL | 1 + ports/expat/CONTROL | 1 + ports/field3d/CONTROL | 1 + ports/folly/CONTROL | 1 + ports/forge/CONTROL | 1 + ports/getopt-win32/CONTROL | 1 + ports/getopt-win32/portfile.cmake | 4 +- ports/getopt/CONTROL | 1 + ports/gettext/portfile.cmake | 6 +- ports/gflags/CONTROL | 1 + ports/glib/CONTROL | 1 + ports/glibmm/CONTROL | 3 +- ports/gmmlib/CONTROL | 1 + ports/googleapis/CONTROL | 1 + .../00008-uwp_upb_disable_C4146_error.patch | 31 - ports/grpc/00009-use-system-upb.patch | 118 ++ ports/grpc/CONTROL | 4 +- ports/grpc/portfile.cmake | 29 +- ports/gtkmm/CONTROL | 1 + ports/hdf5/CONTROL | 3 +- ports/hwloc/CONTROL | 1 + ports/icu/CONTROL | 1 + ports/jinja2cpplight/CONTROL | 3 +- .../0003-use-upstream-nlohmann-json.patch | 13 + .../002-fix-dependency-and-install.patch | 2 +- ports/jsonnet/CONTROL | 3 +- ports/jsonnet/portfile.cmake | 6 +- ports/kinectsdk1/CONTROL | 1 + ports/kinectsdk2/CONTROL | 1 + ports/lastools/CONTROL | 3 +- ports/leveldb/CONTROL | 1 + ports/libarchive/CONTROL | 1 + ports/libevent/CONTROL | 3 +- ports/libexif/CONTROL | 1 + ports/libffi/CONTROL | 1 + ports/libgit2/CONTROL | 1 + ports/libiconv/portfile.cmake | 2 + ports/libmysql/CONTROL | 1 + ports/libodb-sqlite/CMakeLists.txt | 17 +- ports/libodb-sqlite/CONTROL | 2 +- ports/libodb/portfile.cmake | 1 + ports/libopenmpt/CONTROL | 1 + ports/libopusenc/CONTROL | 1 + ports/libosip2/CONTROL | 3 +- ports/libp7-baical/CONTROL | 1 + ports/libp7client/CONTROL | 1 + ports/libpq/CONTROL | 3 +- ports/libpqxx/CMakeLists.txt | 1 + ports/libpqxx/CONTROL | 4 +- ports/libpqxx/portfile.cmake | 4 +- ports/libressl/CONTROL | 1 + ports/libsoundio/CONTROL | 3 +- ports/libsoundio/fix_cmakelists.patch | 233 +--- ports/libsoundio/portfile.cmake | 16 +- ports/libssh/CONTROL | 1 + ports/libusb-win32/CONTROL | 1 + ports/libuuid/CONTROL | 1 + ports/llgl/CONTROL | 1 + ports/llvm/CONTROL | 3 +- ports/log4cpp/CONTROL | 2 +- ports/luajit/CONTROL | 1 + ports/lzfse/CONTROL | 1 + ports/marl/CONTROL | 1 + ports/matroska/CONTROL | 1 + ports/mcpp/CONTROL | 2 +- ports/mcpp/portfile.cmake | 1 - ports/mdnsresponder/CONTROL | 1 + ports/mecab/CONTROL | 1 + ports/minhook/CONTROL | 3 +- ports/minifb/CONTROL | 1 + ports/minizip/CONTROL | 1 + ports/mongoose/CONTROL | 3 +- ports/monkeys-audio/CONTROL | 5 +- ports/mpir/CONTROL | 1 + ports/mqtt-cpp/CONTROL | 4 +- ports/mqtt-cpp/portfile.cmake | 7 +- ports/ms-angle/CONTROL | 1 + ports/msmpi/CONTROL | 1 + ports/nano-signal-slot/CONTROL | 1 + ports/nativefiledialog/CONTROL | 1 + ports/networkdirect-sdk/CONTROL | 3 +- ports/openal-soft/CONTROL | 1 + ports/openexr/CONTROL | 1 + ports/openmpi/CONTROL | 1 + ports/openni2/CONTROL | 1 + ports/openssl-unix/CONTROL | 1 + ports/openssl-uwp/CONTROL | 1 + ports/openssl-windows/CONTROL | 1 + ports/opentracing/CONTROL | 1 + ports/openxr-loader/CONTROL | 1 + ports/opusfile/CONTROL | 1 + ports/osg/CONTROL | 4 +- ports/osg/portfile.cmake | 12 + ports/pbc/CONTROL | 1 + ports/physx/CONTROL | 7 +- ports/pistache/CONTROL | 3 +- ports/pmdk/CONTROL | 1 + ports/portmidi/CONTROL | 1 + ports/ptex/CONTROL | 1 + ports/pthreads/CONTROL | 1 + ports/pthreads/portfile.cmake | 12 +- ports/qt5-activeqt/CONTROL | 1 + ports/qt5-connectivity/CONTROL | 2 +- ports/qt5-macextras/CONTROL | 1 + ports/qt5-purchasing/CONTROL | 2 +- ports/qt5-winextras/CONTROL | 1 + ports/rabit/CONTROL | 2 +- ports/raylib/CONTROL | 1 + ports/readline/CONTROL | 1 + ports/rhash/CONTROL | 1 + ports/sciter/CONTROL | 1 + ports/septag-sx/CONTROL | 1 + ports/simdjson/CONTROL | 1 + ports/soundtouch/CONTROL | 1 + ports/spdk-dpdk/CONTROL | 2 +- ports/spdk-ipsec/CONTROL | 2 +- ports/spdk-isal/CONTROL | 2 +- ports/spdk/CONTROL | 3 +- ports/teemo/CONTROL | 2 +- ports/teemo/adjust-install-dir.patch | 22 + ports/teemo/portfile.cmake | 7 +- ports/telnetpp/CONTROL | 1 + ports/tensorflow-cc/CONTROL | 1 + ports/tgui/portfile.cmake | 3 +- ports/tinkerforge/CONTROL | 1 + ports/unicorn/CONTROL | 1 + ports/upb/CONTROL | 11 +- ports/upb/add-cmake-install.patch | 60 + ports/upb/fix-cmakelists.patch | 184 --- ports/upb/portfile.cmake | 26 +- ports/uvatlas/CONTROL | 3 +- ports/vectorclass/CONTROL | 1 + ports/winreg/CONTROL | 3 +- ports/wintoast/CONTROL | 3 +- ports/x-plane/CONTROL | 1 + ports/x265/CONTROL | 2 +- ports/yasm/CONTROL | 1 + ports/yoga/CONTROL | 1 + ports/z3/CONTROL | 3 +- ports/zfp/CONTROL | 2 +- ports/zfp/portfile.cmake | 6 +- scripts/ci.baseline.txt | 38 +- scripts/cmake/vcpkg_fixup_cmake_targets.cmake | 2 - scripts/get_triplet_environment.cmake | 16 - scripts/ports.cmake | 13 +- scripts/vcpkg_get_dep_info.cmake | 19 + scripts/vcpkg_get_tags.cmake | 28 + toolsrc/VERSION.txt | 2 +- .../include/vcpkg-test/mockcmakevarprovider.h | 38 + toolsrc/include/vcpkg-test/util.h | 23 + toolsrc/include/vcpkg/base/graphs.h | 47 +- toolsrc/include/vcpkg/base/span.h | 3 +- toolsrc/include/vcpkg/base/util.h | 14 +- toolsrc/include/vcpkg/binaryparagraph.h | 11 +- toolsrc/include/vcpkg/build.h | 36 +- toolsrc/include/vcpkg/cmakevars.h | 69 + toolsrc/include/vcpkg/dependencies.h | 96 +- toolsrc/include/vcpkg/install.h | 14 +- toolsrc/include/vcpkg/logicexpression.h | 16 +- toolsrc/include/vcpkg/packagespec.h | 29 +- toolsrc/include/vcpkg/portfileprovider.h | 38 + toolsrc/include/vcpkg/sourceparagraph.h | 88 +- toolsrc/include/vcpkg/statusparagraph.h | 1 + toolsrc/include/vcpkg/update.h | 2 +- toolsrc/src/vcpkg-test/dependencies.cpp | 71 +- .../src/vcpkg-test/mockcmakevarsprovider.cpp | 28 + toolsrc/src/vcpkg-test/paragraph.cpp | 96 +- toolsrc/src/vcpkg-test/plan.cpp | 727 ++++++----- toolsrc/src/vcpkg-test/specifier.cpp | 16 +- toolsrc/src/vcpkg-test/supports.cpp | 79 -- toolsrc/src/vcpkg-test/update.cpp | 16 +- toolsrc/src/vcpkg-test/util.cpp | 42 + toolsrc/src/vcpkg/base/machinetype.cpp | 2 +- toolsrc/src/vcpkg/base/system.cpp | 6 +- toolsrc/src/vcpkg/binaryparagraph.cpp | 31 +- toolsrc/src/vcpkg/build.cpp | 403 +++--- toolsrc/src/vcpkg/cmakevars.cpp | 259 ++++ toolsrc/src/vcpkg/commands.autocomplete.cpp | 2 +- toolsrc/src/vcpkg/commands.buildexternal.cpp | 8 +- toolsrc/src/vcpkg/commands.ci.cpp | 313 +++-- toolsrc/src/vcpkg/commands.dependinfo.cpp | 29 +- toolsrc/src/vcpkg/commands.env.cpp | 11 +- toolsrc/src/vcpkg/commands.search.cpp | 2 +- toolsrc/src/vcpkg/commands.upgrade.cpp | 31 +- toolsrc/src/vcpkg/dependencies.cpp | 1127 +++++++++-------- toolsrc/src/vcpkg/export.cpp | 10 +- toolsrc/src/vcpkg/install.cpp | 143 ++- toolsrc/src/vcpkg/logicexpression.cpp | 196 ++- toolsrc/src/vcpkg/packagespec.cpp | 44 +- toolsrc/src/vcpkg/paragraphs.cpp | 5 +- toolsrc/src/vcpkg/portfileprovider.cpp | 151 +++ toolsrc/src/vcpkg/postbuildlint.cpp | 104 +- toolsrc/src/vcpkg/remove.cpp | 2 +- toolsrc/src/vcpkg/sourceparagraph.cpp | 183 ++- toolsrc/src/vcpkg/statusparagraph.cpp | 28 + toolsrc/src/vcpkg/statusparagraphs.cpp | 2 +- toolsrc/src/vcpkg/update.cpp | 4 +- toolsrc/vcpkglib/vcpkglib.vcxproj | 4 +- toolsrc/vcpkglib/vcpkglib.vcxproj.filters | 6 + toolsrc/vcpkgtest/vcpkgtest.vcxproj | 15 +- toolsrc/vcpkgtest/vcpkgtest.vcxproj.filters | 15 +- 233 files changed, 3549 insertions(+), 2467 deletions(-) delete mode 100644 ports/grpc/00008-uwp_upb_disable_C4146_error.patch create mode 100644 ports/grpc/00009-use-system-upb.patch create mode 100644 ports/jsonnet/0003-use-upstream-nlohmann-json.patch create mode 100644 ports/teemo/adjust-install-dir.patch create mode 100644 ports/upb/add-cmake-install.patch delete mode 100644 ports/upb/fix-cmakelists.patch delete mode 100644 scripts/get_triplet_environment.cmake create mode 100644 scripts/vcpkg_get_dep_info.cmake create mode 100644 scripts/vcpkg_get_tags.cmake create mode 100644 toolsrc/include/vcpkg-test/mockcmakevarprovider.h create mode 100644 toolsrc/include/vcpkg/cmakevars.h create mode 100644 toolsrc/include/vcpkg/portfileprovider.h create mode 100644 toolsrc/src/vcpkg-test/mockcmakevarsprovider.cpp delete mode 100644 toolsrc/src/vcpkg-test/supports.cpp create mode 100644 toolsrc/src/vcpkg/cmakevars.cpp create mode 100644 toolsrc/src/vcpkg/portfileprovider.cpp diff --git a/docs/maintainers/control-files.md b/docs/maintainers/control-files.md index a074a7ae22..87468e6af8 100644 --- a/docs/maintainers/control-files.md +++ b/docs/maintainers/control-files.md @@ -8,7 +8,7 @@ Field names are case-sensitive and start the line without leading whitespace. P ## Source Paragraph -The first paragraph in a `CONTROL` file is the Source paragraph. It must have a `Source`, `Version`, and `Description` field. It can optionally have a `Build-Depends` and `Default-Features` field. +The first paragraph in a `CONTROL` file is the Source paragraph. It must have a `Source`, `Version`, and `Description` field. The full set of fields is documented below. ### Examples: ```no-highlight @@ -58,7 +58,7 @@ For example, given: Then if you update the source version today, you should give it version `2019-06-01`. If you need to make a change which doesn't adjust the source version, you should give it version `2019-02-14-2`. -Example: +##### Examples: ```no-highlight Version: 1.0.5-2 ``` @@ -71,7 +71,7 @@ A description of the library. By convention the first line of the description is a summary of the library. An optional detailed description follows. The detailed description can be multiple lines, all starting with whitespace. -Example: +##### Examples: ```no-highlight Description: C++ header-only JSON library ``` @@ -96,17 +96,13 @@ Vcpkg does not distinguish between build-only dependencies and runtime dependenc *For example: websocketpp is a header only library, and thus does not require any dependencies at install time. However, downstream users need boost and openssl to make use of the library. Therefore, websocketpp lists boost and openssl as dependencies* -Example: -```no-highlight -Build-Depends: zlib, libpng, libjpeg-turbo, tiff -``` -If the port is dependent on optional features of another library those can be specified using the `portname[featurelist]` syntax. +If the port is dependent on optional features of another library those can be specified using the `portname[featurelist]` syntax. If the port does not require any features from the dependency, this should be specifed as `portname[core]`. -Dependencies can be filtered based on the target triplet to support different requirements on Windows Desktop versus the Universal Windows Platform. Currently, the string inside parentheses is substring-compared against the triplet name. There must be a space between the name of the port and the filter. __This will change in a future version to not depend on the triplet name.__ +Dependencies can be filtered based on the target triplet to support differing requirements. These filters use the same syntax as the Supports field below and are surrounded in parentheses following the portname and feature list. -Example: +##### Example: ```no-highlight -Build-Depends: curl[openssl] (!windows&!osx), curl[winssl] (windows), curl[darwinssl] (osx) +Build-Depends: rapidjson, curl[core,openssl] (!windows), curl[core,winssl] (windows) ``` #### Default-Features @@ -114,10 +110,46 @@ Comma separated list of optional port features to install by default. This field is optional. +##### Example: ```no-highlight Default-Features: dynamodb, s3, kinesis ``` + +#### Supports +Expression that evaluates to true when the port is expected to build successfully for a triplet. + +Currently, this field is only used in the CI testing to skip ports. In the future, this mechanism is intended to warn users in advance that a given install tree is not expected to succeed. Therefore, this field should be used optimistically; in cases where a port is expected to succeed 10% of the time, it should still be marked "supported". + +The grammar for the supports expression uses standard operators: +- `!expr` - negation +- `expr|expr` - or (`||` is also supported) +- `expr&expr` - and (`&&` is also supported) +- `(expr)` - grouping/precedence + +The predefined expressions are computed from standard triplet settings: +- `x64` - `VCPKG_TARGET_ARCHITECTURE` == `"x64"` +- `x86` - `VCPKG_TARGET_ARCHITECTURE` == `"x86"` +- `arm` - `VCPKG_TARGET_ARCHITECTURE` == `"arm"` or `VCPKG_TARGET_ARCHITECTURE` == `"arm64"` +- `arm64` - `VCPKG_TARGET_ARCHITECTURE` == `"arm64"` +- `windows` - `VCPKG_CMAKE_SYSTEM_NAME` == `""` or `VCPKG_CMAKE_SYSTEM_NAME` == `"WindowsStore"` +- `uwp` - `VCPKG_CMAKE_SYSTEM_NAME` == `"WindowsStore"` +- `linux` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Linux"` +- `osx` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Darwin"` +- `android` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Android"` +- `static` - `VCPKG_LIBRARY_LINKAGE` == `"static"` + +These predefined expressions can be overridden in the triplet file via the [`VCPKG_DEP_INFO_OVERRIDE_VARS`](../users/triplets.md) option. + +This field is optional and defaults to true. + +> Implementers' Note: these terms are computed from the triplet via the `vcpkg_get_dep_info` mechanism. + +##### Example: +```no-highlight +Supports: !(uwp|arm) +``` + ## Feature Paragraphs Multiple optional features can be specified in the `CONTROL` files. It must have a `Feature` and `Description` field. It can optionally have a `Build-Depends` field. It must be separated from other paragraphs by one or more empty lines. diff --git a/docs/users/triplets.md b/docs/users/triplets.md index 6e52d347d8..21dea5c316 100644 --- a/docs/users/triplets.md +++ b/docs/users/triplets.md @@ -2,20 +2,17 @@ Triplet is a standard term used in cross compiling as a way to completely capture the target environment (cpu, os, compiler, runtime, etc) in a single convenient name. -In Vcpkg, we use triplets to describe self-consistent builds of library sets. This means every library will be built using the same target cpu, OS, and compiler toolchain, but also CRT linkage and preferred library type. +In Vcpkg, we use triplets to describe an imaginary "target configuration set" for every library. Within a triplet, libraries are generally built with the same configuration, but it is not a requirement. For example, you could have one triplet that builds `openssl` statically and `zlib` dynamically, one that builds them both statically, and one that builds them both dynamically (all for the same target OS and architecture). A single build will consume files from a single triplet. We currently provide many triplets by default (run `vcpkg help triplet`). However, you can easily add your own by creating a new file in the `triplets\` directory. The new triplet will immediately be available for use in commands, such as `vcpkg install boost:x86-windows-custom`. To change the triplet used by your project, such as to enable static linking, see our [Integration Document](integration.md#triplet-selection). - ## Community triplets -Triplets contained in the `triplets\community` folder are not tested by continuous integration. +Triplets contained in the `triplets\community` folder are not tested by continuous integration, but are commonly requested by the community. -These triplets contain configurations commonly requested by the community, but for which we lack the resources to properly test. - -Port updates may break compatibility with community triplets, such regressions won't get caught by our testing pipelines. Because of this, community involvement is paramount! +Because we do not have continuous coverage, port updates may break compatibility with community triplets. Because of this, community involvement is paramount! We will gladly accept and review contributions that aim to solve issues with these triplets. @@ -23,7 +20,7 @@ We will gladly accept and review contributions that aim to solve issues with the Community Triplets are enabled by default, when using a community triplet a message like the following one will be printed during a package install: -```bash +```no-highlight -- Using community triplet x86-uwp. This triplet configuration is not guaranteed to succeed. -- [COMMUNITY] Loading triplet configuration from: D:\src\viromer\vcpkg\triplets\community\x86-uwp.cmake ``` @@ -78,8 +75,29 @@ This option also has forms for configuration-specific and C flags: - `VCPKG_C_FLAGS_DEBUG` - `VCPKG_C_FLAGS_RELEASE` + +### VCPKG_DEP_INFO_OVERRIDE_VARS +Replaces the default computed list of triplet "Supports" terms. + +This option (if set) will override the default set of terms used for qualified dependency resolution and "Supports" field evaluation. + +See the [`Supports`](../maintainers/control-files.md#Supports) control file field documentation for more details. + +> Implementers' Note: this list is extracted via the `vcpkg_get_dep_info` mechanism. + ## Windows Variables +### VCPKG_ENV_PASSTHROUGH +Instructs vcpkg to allow additional environment variables into the build process. + +On Windows, vcpkg builds packages in a special clean environment that is isolated from the current command prompt to ensure build reliability and consistency. + +This triplet option can be set to a list of additional environment variables that will be added to the clean environment. + +See also the `vcpkg env` command for how you can inspect the precise environment that will be used. + +> Implementers' Note: this list is extracted via the `vcpkg_get_tags` mechanism. + ### VCPKG_VISUAL_STUDIO_PATH Specifies the Visual Studio installation to use. diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL index 459eeee3f6..01f27c758a 100644 --- a/ports/abseil/CONTROL +++ b/ports/abseil/CONTROL @@ -5,3 +5,4 @@ Description: an open-source collection designed to augment the C++ standard libr Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives. In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you. Abseil is not meant to be a competitor to the standard library; we've just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole. +Supports: !uwp \ No newline at end of file diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index 1530b043ab..4cf1db8bc4 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -2,6 +2,7 @@ Source: ace Version: 6.5.7-1 Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html Description: The ADAPTIVE Communication Environment +Supports: !uwp Feature: wchar Description: Enable extra wide char functions in ACE diff --git a/ports/activemq-cpp/CONTROL b/ports/activemq-cpp/CONTROL index 5a7ade4e97..891c51ee7e 100644 --- a/ports/activemq-cpp/CONTROL +++ b/ports/activemq-cpp/CONTROL @@ -2,3 +2,4 @@ Source: activemq-cpp Version: 3.9.5-1 Build-Depends: apr Description: Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns server. +Supports: !uwp \ No newline at end of file diff --git a/ports/akali/portfile.cmake b/ports/akali/portfile.cmake index e1be350182..aa59b03896 100644 --- a/ports/akali/portfile.cmake +++ b/ports/akali/portfile.cmake @@ -12,7 +12,8 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" AKALI_STATIC) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE + PREFER_NINJA OPTIONS -DAKALI_STATIC:BOOL=${AKALI_STATIC} -DBUILD_TESTS:BOOL=OFF diff --git a/ports/alac/CONTROL b/ports/alac/CONTROL index 1bea4dc145..7938d6b714 100644 --- a/ports/alac/CONTROL +++ b/ports/alac/CONTROL @@ -2,3 +2,4 @@ Source: alac Version: 2017-11-03-c38887c5-1 Homepage: https://github.com/macosforge/alac Description: The Apple Lossless Audio Codec (ALAC) is a lossless audio codec developed by Apple and deployed on all of its platforms and devices. +Supports: !uwp \ No newline at end of file diff --git a/ports/aliyun-oss-c-sdk/CONTROL b/ports/aliyun-oss-c-sdk/CONTROL index 430541401b..fdf8c658b7 100644 --- a/ports/aliyun-oss-c-sdk/CONTROL +++ b/ports/aliyun-oss-c-sdk/CONTROL @@ -2,3 +2,4 @@ Source: aliyun-oss-c-sdk Version: 3.7.1-1 Description: Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring massive capacity, security, a low cost, and high reliability. Build-Depends: curl, apr-util +Supports: !uwp diff --git a/ports/ampl-mp/CONTROL b/ports/ampl-mp/CONTROL index d45564c4f3..a8f88ac553 100644 --- a/ports/ampl-mp/CONTROL +++ b/ports/ampl-mp/CONTROL @@ -1,3 +1,4 @@ Source: ampl-mp Version: 2019-03-21-1 Description: An open-source library for mathematical programming +Supports: !uwp \ No newline at end of file diff --git a/ports/apr/CONTROL b/ports/apr/CONTROL index 7465836035..714022691d 100644 --- a/ports/apr/CONTROL +++ b/ports/apr/CONTROL @@ -2,6 +2,7 @@ Source: apr Version: 1.6.5-3 Homepage: https://apr.apache.org/ Description: The Apache Portable Runtime (APR) is a C library that forms a system portability layer that covers many operating systems. +Supports: !uwp Feature: private-headers Description: Install non-standard files required for building Apache httpd diff --git a/ports/arrow/CONTROL b/ports/arrow/CONTROL index 780568f03e..896f78af48 100644 --- a/ports/arrow/CONTROL +++ b/ports/arrow/CONTROL @@ -3,3 +3,4 @@ Version: 0.15.1 Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags, thrift, double-conversion, glog, uriparser Homepage: https://github.com/apache/arrow Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations. +Supports: x64 \ No newline at end of file diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index 625d1f3de5..93be6843d8 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,5 +1,5 @@ Source: aws-sdk-cpp -Version: 1.7.214 +Version: 1.7.214-1 Homepage: https://github.com/aws/aws-sdk-cpp Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index b058608f35..9fa6b2f5fd 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/aws-sdk-cpp - REF e8a7e7263e900983921e95363026efaa494622ab # 1.7.214 + REF e8a7e7263e900983921e95363026efaa494622ab # 1.7.214 SHA512 dc4e003ffaebf21410d8d360f8a4602dda99d3ee0c0ab7fb61c97fe8b5f0b38438ed5315fb85d3a435cd5a99724e43c5cf569a7cb365ed8137caeac32c619a86 HEAD_REF master ) @@ -14,14 +14,11 @@ set(BUILD_ONLY core) include(${CMAKE_CURRENT_LIST_DIR}/compute_build_only.cmake) -if(CMAKE_HOST_WIN32) - string(REPLACE ";" "\\\\\\;" BUILD_ONLY "${BUILD_ONLY}") -else() - string(REPLACE ";" "\\\\\\\\\\\;" BUILD_ONLY "${BUILD_ONLY}") -endif() +string(REPLACE ";" "\\\\\\\\\\\;" BUILD_ONLY "${BUILD_ONLY}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + DISABLE_PARALLEL_CONFIGURE PREFER_NINJA OPTIONS -DENABLE_UNITY_BUILD=ON diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL index be93299da6..66a402f8f8 100644 --- a/ports/azure-storage-cpp/CONTROL +++ b/ports/azure-storage-cpp/CONTROL @@ -4,3 +4,4 @@ Build-Depends: cpprestsdk[core], atlmfc (windows), boost-log (!windows&!uwp), bo Description: Microsoft Azure Storage Client SDK for C++ A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client. Homepage: https://blogs.msdn.com/b/windowsazurestorage/ +Supports: !uwp \ No newline at end of file diff --git a/ports/benchmark/CONTROL b/ports/benchmark/CONTROL index 27c4c82562..d82040748d 100644 --- a/ports/benchmark/CONTROL +++ b/ports/benchmark/CONTROL @@ -2,3 +2,4 @@ Source: benchmark Version: 1.5 Homepage: https://github.com/google/benchmark Description: A library to support the benchmarking of functions, similar to unit-tests. +Supports: !uwp \ No newline at end of file diff --git a/ports/berkeleydb/CONTROL b/ports/berkeleydb/CONTROL index 7d93c230c9..75c856c084 100644 --- a/ports/berkeleydb/CONTROL +++ b/ports/berkeleydb/CONTROL @@ -2,3 +2,4 @@ Source: berkeleydb Version: 4.8.30-3 Homepage: https://download.oracle.com/ Description: BDB - A high-performance embedded database for key/value data. +Supports: !uwp \ No newline at end of file diff --git a/ports/c-ares/CONTROL b/ports/c-ares/CONTROL index c8a5f48542..4898ec5ded 100644 --- a/ports/c-ares/CONTROL +++ b/ports/c-ares/CONTROL @@ -2,3 +2,4 @@ Source: c-ares Version: 2019-5-2-1 Homepage: https://github.com/c-ares/c-ares Description: A C library for asynchronous DNS requests +Supports: !uwp \ No newline at end of file diff --git a/ports/caffe2/CONTROL b/ports/caffe2/CONTROL index 4d72fb7645..e9bb4dbd7b 100644 --- a/ports/caffe2/CONTROL +++ b/ports/caffe2/CONTROL @@ -3,3 +3,4 @@ Version: 0.8.1-3 Build-Depends: lmdb, gflags, glog, eigen3, protobuf Homepage: https://github.com/caffe2/caffe2 Description: Caffe2 is a lightweight, modular, and scalable deep learning framework. +Supports: !x86 \ No newline at end of file diff --git a/ports/capnproto/CONTROL b/ports/capnproto/CONTROL index 02cc080f17..cb1258c979 100644 --- a/ports/capnproto/CONTROL +++ b/ports/capnproto/CONTROL @@ -3,3 +3,4 @@ Version: 0.7.0-3 Description: Data interchange format and capability-based RPC system Homepage: https://capnproto.org/ Build-Depends: zlib +Supports: !uwp \ No newline at end of file diff --git a/ports/civetweb/CONTROL b/ports/civetweb/CONTROL index b24a4ffeca..07b7306f14 100644 --- a/ports/civetweb/CONTROL +++ b/ports/civetweb/CONTROL @@ -1,3 +1,4 @@ Source: civetweb Version: 2019-07-05 Description: Easy to use, powerful, C/C++ embeddable web server. +Supports: !uwp \ No newline at end of file diff --git a/ports/coroutine/CONTROL b/ports/coroutine/CONTROL index 13c8e3d21c..c716f25859 100644 --- a/ports/coroutine/CONTROL +++ b/ports/coroutine/CONTROL @@ -2,3 +2,4 @@ Source: coroutine Version: 2020-01-13 Build-Depends: ms-gsl Description: C++ coroutine helper/example library +Supports: !x86 \ No newline at end of file diff --git a/ports/cpp-netlib/CONTROL b/ports/cpp-netlib/CONTROL index 845a89e660..70c70b13f9 100644 --- a/ports/cpp-netlib/CONTROL +++ b/ports/cpp-netlib/CONTROL @@ -3,3 +3,4 @@ Version: 0.13.0-3 Homepage: https://cpp-netlib.org/ Build-Depends: boost Description: A collection of network-related routines/implementations geared towards providing a robust cross-platform networking library +Supports: !uwp \ No newline at end of file diff --git a/ports/cppfs/CONTROL b/ports/cppfs/CONTROL index d94532e8a8..c97527ff4a 100644 --- a/ports/cppfs/CONTROL +++ b/ports/cppfs/CONTROL @@ -1,6 +1,7 @@ Source: cppfs Version: 1.2.0-1 Description: Cross-platform C++ file system library supporting multiple backends +Supports: !uwp Feature: ssh Description: SSH backend for cppfs diff --git a/ports/cppitertools/CONTROL b/ports/cppitertools/CONTROL index 8c5f387ec8..579a85a693 100644 --- a/ports/cppitertools/CONTROL +++ b/ports/cppitertools/CONTROL @@ -1,4 +1,4 @@ Source: cppitertools -Version: 2019-04-14-2 +Version: 2019-04-14-3 Description: Range-based for loop add-ons inspired by the Python builtins and itertools library Build-Depends: boost-optional diff --git a/ports/cppitertools/portfile.cmake b/ports/cppitertools/portfile.cmake index f19069a3b1..26b6ee93b8 100644 --- a/ports/cppitertools/portfile.cmake +++ b/ports/cppitertools/portfile.cmake @@ -1,7 +1,3 @@ -# header-only library - -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ryanhaining/cppitertools @@ -13,8 +9,8 @@ vcpkg_from_github( file(GLOB INCLUDE_FILES ${SOURCE_PATH}/*.hpp) file(GLOB INCLUDE_INTERNAL_FILES ${SOURCE_PATH}/internal/*.hpp) -file(COPY ${INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${INCLUDE_INTERNAL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/internal) +file(COPY ${INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/cppitertools) +file(COPY ${INCLUDE_INTERNAL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/cppitertools/internal) # Handle copyright configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/cudnn/CONTROL b/ports/cudnn/CONTROL index cc8019b5b7..4ab7c941b9 100644 --- a/ports/cudnn/CONTROL +++ b/ports/cudnn/CONTROL @@ -2,3 +2,4 @@ Source: cudnn Version: 7.6 Description: NVIDIA's cuDNN deep neural network acceleration library Build-Depends: cuda +Supports: (windows|linux)&x64 diff --git a/ports/darknet/CONTROL b/ports/darknet/CONTROL index 3665fa069c..66bcbb76b9 100644 --- a/ports/darknet/CONTROL +++ b/ports/darknet/CONTROL @@ -2,6 +2,7 @@ Source: darknet Version: 0.2.5.1-1 Description: Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities. Build-Depends: pthreads (windows), stb +Supports: !(arm|uwp) Feature: cuda Build-Depends: cuda diff --git a/ports/dirent/portfile.cmake b/ports/dirent/portfile.cmake index 80aab02f05..945f6017af 100644 --- a/ports/dirent/portfile.cmake +++ b/ports/dirent/portfile.cmake @@ -3,7 +3,6 @@ if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor return() endif() -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tronkko/dirent @@ -14,3 +13,5 @@ vcpkg_from_github( file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/dirent RENAME copyright) vcpkg_copy_pdbs() + +set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) diff --git a/ports/dlfcn-win32/portfile.cmake b/ports/dlfcn-win32/portfile.cmake index e2376ab631..1e1fdccb14 100644 --- a/ports/dlfcn-win32/portfile.cmake +++ b/ports/dlfcn-win32/portfile.cmake @@ -1,4 +1,3 @@ -include(vcpkg_common_functions) set(SOURCE_VERSION 1.1.1) vcpkg_from_github( @@ -27,3 +26,5 @@ vcpkg_copy_pdbs() file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) + +set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) diff --git a/ports/dmlc/CONTROL b/ports/dmlc/CONTROL index 24d639ce36..673862144c 100644 --- a/ports/dmlc/CONTROL +++ b/ports/dmlc/CONTROL @@ -3,6 +3,7 @@ Version: 2019-08-12-1 Homepage: https://github.com/dmlc/dmlc-core Description: DMLC-Core is the backbone library to support all DMLC projects, offers the bricks to build efficient and scalable distributed machine learning libraries. Default-Features: openmp +Supports: !uwp Feature: openmp Description: Build with openmp \ No newline at end of file diff --git a/ports/dpdk/CONTROL b/ports/dpdk/CONTROL index 056800d295..53d79f7e69 100644 --- a/ports/dpdk/CONTROL +++ b/ports/dpdk/CONTROL @@ -1,4 +1,4 @@ Source: dpdk Version: 19.02 Description: A set of libraries and drivers for fast packet processing - +Supports: linux diff --git a/ports/easyhook/CONTROL b/ports/easyhook/CONTROL index a47eb803df..077a5fb530 100644 --- a/ports/easyhook/CONTROL +++ b/ports/easyhook/CONTROL @@ -1,4 +1,5 @@ Source: easyhook Version: 2.7.6789.0 Homepage: https://github.com/EasyHook/EasyHook -Description: This project supports extending (hooking) unmanaged code (APIs) with pure managed ones, from within a fully managed environment on 32- or 64-bit Windows Vista x64, Windows Server 2008 x64, Windows 7, Windows 8.1, and Windows 10. \ No newline at end of file +Description: This project supports extending (hooking) unmanaged code (APIs) with pure managed ones, from within a fully managed environment on 32- or 64-bit Windows Vista x64, Windows Server 2008 x64, Windows 7, Windows 8.1, and Windows 10. +Supports: windows \ No newline at end of file diff --git a/ports/ebml/CONTROL b/ports/ebml/CONTROL index 0b2aac4326..9af9cc8657 100644 --- a/ports/ebml/CONTROL +++ b/ports/ebml/CONTROL @@ -2,3 +2,4 @@ Source: ebml Version: 1.3.9 Homepage: https://github.com/Matroska-Org/libebml Description: a C++ libary to parse EBML files +Supports: !uwp \ No newline at end of file diff --git a/ports/expat/CONTROL b/ports/expat/CONTROL index 68629eb2d4..9007da6cdd 100644 --- a/ports/expat/CONTROL +++ b/ports/expat/CONTROL @@ -2,3 +2,4 @@ Source: expat Version: 2.2.7 Homepage: https://github.com/libexpat/libexpat Description: XML parser library written in C +Supports: !uwp \ No newline at end of file diff --git a/ports/field3d/CONTROL b/ports/field3d/CONTROL index 487075eb4c..c65ac02c5e 100644 --- a/ports/field3d/CONTROL +++ b/ports/field3d/CONTROL @@ -3,3 +3,4 @@ Version: 1.7.2 Homepage: https://github.com/imageworks/Field3D Description: An open source library for storing voxel data. It provides C++ classes that handle in-memory storage and a file format based on HDF5 that allows the C++ objects to be written to and read from disk. Build-Depends: hdf5, boost-regex, boost-thread, boost-program-options, boost-system, openexr, boost-foreach, boost-test, boost-timer, boost-format +Supports: !(windows|arm|uwp) \ No newline at end of file diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL index 1ec16d0093..77c75a7024 100644 --- a/ports/folly/CONTROL +++ b/ports/folly/CONTROL @@ -4,6 +4,7 @@ Homepage: https://github.com/facebook/folly Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr Default-Features: zlib +Supports: x64 Feature: zlib Build-Depends: zlib diff --git a/ports/forge/CONTROL b/ports/forge/CONTROL index d791f8ad63..3aa7608d0c 100644 --- a/ports/forge/CONTROL +++ b/ports/forge/CONTROL @@ -2,3 +2,4 @@ Source: forge Version: 1.0.4-2 Description: Helps with high performance visualizations involving OpenGL-CUDA/OpenCL interop. Build-Depends: glfw3, glm, glbinding, freetype, boost-functional, freeimage, fontconfig (!windows) +Supports: x64 \ No newline at end of file diff --git a/ports/getopt-win32/CONTROL b/ports/getopt-win32/CONTROL index ba14d4909b..5de151a798 100644 --- a/ports/getopt-win32/CONTROL +++ b/ports/getopt-win32/CONTROL @@ -2,3 +2,4 @@ Source: getopt-win32 Version: 0.1 Description: An implementation of getopt. Homepage: https://github.com/libimobiledevice-win32 +Supports: windows \ No newline at end of file diff --git a/ports/getopt-win32/portfile.cmake b/ports/getopt-win32/portfile.cmake index 50ffc2b88a..780cb1c5f7 100644 --- a/ports/getopt-win32/portfile.cmake +++ b/ports/getopt-win32/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - if(VCPKG_CMAKE_SYSTEM_NAME) message(FATAL_ERROR "getopt-win32 only supports building on Windows Desktop") endif() @@ -22,3 +20,5 @@ vcpkg_install_msbuild( # Copy header file(COPY ${SOURCE_PATH}/getopt.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/) + +set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) diff --git a/ports/getopt/CONTROL b/ports/getopt/CONTROL index bae137bbd5..d2b9c2930d 100644 --- a/ports/getopt/CONTROL +++ b/ports/getopt/CONTROL @@ -2,3 +2,4 @@ Source: getopt Version: 0 Description: The getopt and getopt_long functions automate some of the chore involved in parsing typical unix command line options. Build-Depends: getopt-win32 (windows) +Supports: !uwp \ No newline at end of file diff --git a/ports/gettext/portfile.cmake b/ports/gettext/portfile.cmake index a9ab3d2e76..38ada752cd 100644 --- a/ports/gettext/portfile.cmake +++ b/ports/gettext/portfile.cmake @@ -1,16 +1,16 @@ -if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") +if(VCPKG_TARGET_IS_LINUX) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) if (NOT EXISTS "/usr/include/libintl.h") message(FATAL_ERROR "Please use command \"sudo apt-get install gettext\" to install gettext on linux.") endif() file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-gettext-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-gettext) return() +else() + set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) endif() #Based on https://github.com/winlibs/gettext -include(vcpkg_common_functions) - set(GETTEXT_VERSION 0.19) vcpkg_download_distfile(ARCHIVE diff --git a/ports/gflags/CONTROL b/ports/gflags/CONTROL index 4cd423293a..f2b9307789 100644 --- a/ports/gflags/CONTROL +++ b/ports/gflags/CONTROL @@ -2,3 +2,4 @@ Source: gflags Version: 2.2.2-1 Homepage: https://github.com/gflags/gflags Description: A C++ library that implements commandline flags processing +Supports: !uwp \ No newline at end of file diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL index cdf5441fe6..871f98d862 100644 --- a/ports/glib/CONTROL +++ b/ports/glib/CONTROL @@ -3,6 +3,7 @@ Version: 2.52.3-14-5 Homepage: https://developer.gnome.org/glib/ Description: Portable, general-purpose utility library. Build-Depends: zlib, pcre, libffi, gettext, libiconv +Supports: !uwp Feature: selinux Description: Build with selinux support. \ No newline at end of file diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL index 941735feb4..aefaf7b834 100644 --- a/ports/glibmm/CONTROL +++ b/ports/glibmm/CONTROL @@ -2,4 +2,5 @@ Source: glibmm Version: 2.52.1-11 Description: This is glibmm, a C++ API for parts of glib that are useful for C++. Homepage: https://www.gtkmm.org. -Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp \ No newline at end of file +Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp +Supports: !uwp diff --git a/ports/gmmlib/CONTROL b/ports/gmmlib/CONTROL index 4d043f8702..b17937635d 100644 --- a/ports/gmmlib/CONTROL +++ b/ports/gmmlib/CONTROL @@ -1,3 +1,4 @@ Source: gmmlib Version: 19.2.3 Description: intel's graphics memory management library +Supports: linux \ No newline at end of file diff --git a/ports/googleapis/CONTROL b/ports/googleapis/CONTROL index ac633e51b7..d89aa8cd42 100644 --- a/ports/googleapis/CONTROL +++ b/ports/googleapis/CONTROL @@ -3,3 +3,4 @@ Version: 0.1.5 Build-Depends: grpc, protobuf Description: C++ Proto Libraries for Google APIs. Homepage: https://github.com/googleapis/cpp-cmakefiles +Supports: !uwp diff --git a/ports/grpc/00008-uwp_upb_disable_C4146_error.patch b/ports/grpc/00008-uwp_upb_disable_C4146_error.patch deleted file mode 100644 index e2259e294a..0000000000 --- a/ports/grpc/00008-uwp_upb_disable_C4146_error.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/third_party/upb/upb/msg.c b/third_party/upb/upb/msg.c -index a77da5665c..399e8753ba 100644 ---- a/third_party/upb/upb/msg.c -+++ b/third_party/upb/upb/msg.c -@@ -33,17 +33,26 @@ static size_t upb_msg_sizeof(const upb_msglayout *l) { - } - - static upb_msg_internal *upb_msg_getinternal(upb_msg *msg) { -+#pragma warning(push) -+#pragma warning(disable : 4146) - return VOIDPTR_AT(msg, -sizeof(upb_msg_internal)); -+#pragma warning(pop) - } - - static const upb_msg_internal *upb_msg_getinternal_const(const upb_msg *msg) { -+#pragma warning(push) -+#pragma warning(disable : 4146) - return VOIDPTR_AT(msg, -sizeof(upb_msg_internal)); -+#pragma warning(pop) - } - - static upb_msg_internal_withext *upb_msg_getinternalwithext( - upb_msg *msg, const upb_msglayout *l) { - UPB_ASSERT(l->extendable); -+#pragma warning(push) -+#pragma warning(disable : 4146) - return VOIDPTR_AT(msg, -sizeof(upb_msg_internal_withext)); -+#pragma warning(pop) - } - - upb_msg *upb_msg_new(const upb_msglayout *l, upb_arena *a) { diff --git a/ports/grpc/00009-use-system-upb.patch b/ports/grpc/00009-use-system-upb.patch new file mode 100644 index 0000000000..515238b9a1 --- /dev/null +++ b/ports/grpc/00009-use-system-upb.patch @@ -0,0 +1,118 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b535f10..0fcb682 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1530,7 +1530,7 @@ target_link_libraries(grpc + ${_gRPC_UPB_LIBRARIES} + ${_gRPC_ALLTARGETS_LIBRARIES} + gpr +- upb ++ ${_gRPC_UPB_LIBRARIES} + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) + target_link_libraries(grpc "-framework CoreFoundation") +@@ -1941,7 +1941,7 @@ target_link_libraries(grpc_cronet + ${_gRPC_UPB_LIBRARIES} + ${_gRPC_ALLTARGETS_LIBRARIES} + gpr +- upb ++ ${_gRPC_UPB_LIBRARIES} + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) + target_link_libraries(grpc_cronet "-framework CoreFoundation") +@@ -2283,7 +2283,7 @@ target_link_libraries(grpc_test_util + ${_gRPC_ALLTARGETS_LIBRARIES} + gpr + grpc +- upb ++ ${_gRPC_UPB_LIBRARIES} + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) + target_link_libraries(grpc_test_util "-framework CoreFoundation") +@@ -2626,7 +2626,7 @@ target_link_libraries(grpc_test_util_unsecure + ${_gRPC_ALLTARGETS_LIBRARIES} + gpr + grpc_unsecure +- upb ++ ${_gRPC_UPB_LIBRARIES} + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) + target_link_libraries(grpc_test_util_unsecure "-framework CoreFoundation") +@@ -3017,7 +3017,7 @@ target_link_libraries(grpc_unsecure + ${_gRPC_UPB_LIBRARIES} + ${_gRPC_ALLTARGETS_LIBRARIES} + gpr +- upb ++ ${_gRPC_UPB_LIBRARIES} + ) + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) + target_link_libraries(grpc_unsecure "-framework CoreFoundation") +@@ -3553,7 +3553,7 @@ target_link_libraries(grpc++ + ${_gRPC_ALLTARGETS_LIBRARIES} + grpc + gpr +- upb ++ ${_gRPC_UPB_LIBRARIES} + ) + + foreach(_hdr +@@ -4817,7 +4817,7 @@ target_link_libraries(grpc++_unsecure + ${_gRPC_ALLTARGETS_LIBRARIES} + gpr + grpc_unsecure +- upb ++ ${_gRPC_UPB_LIBRARIES} + ) + + foreach(_hdr +@@ -5848,7 +5848,7 @@ if(gRPC_INSTALL) + endif() + + endif() +- ++if(0) + add_library(upb + third_party/upb/upb/decode.c + third_party/upb/upb/encode.c +@@ -5888,10 +5888,10 @@ target_include_directories(upb + target_link_libraries(upb + ${_gRPC_ALLTARGETS_LIBRARIES} + ) ++endif() + + +- +-if(gRPC_INSTALL) ++if(gRPC_INSTALL AND 0) + install(TARGETS upb EXPORT gRPCTargets + RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} + LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} +diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in +index 504d5a7..e2a3122 100644 +--- a/cmake/gRPCConfig.cmake.in ++++ b/cmake/gRPCConfig.cmake.in +@@ -3,6 +3,7 @@ + @_gRPC_FIND_PROTOBUF@ + @_gRPC_FIND_SSL@ + @_gRPC_FIND_CARES@ ++find_package(upb CONFIG) + + # Targets + include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake) +diff --git a/cmake/upb.cmake b/cmake/upb.cmake +index 2c0ab84..746e067 100644 +--- a/cmake/upb.cmake ++++ b/cmake/upb.cmake +@@ -12,9 +12,9 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + +-set(UPB_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/upb) ++find_package(upb REQUIRED) ++set(_gRPC_UPB_INCLUDE_DIR) + +-set(_gRPC_UPB_INCLUDE_DIR "${UPB_ROOT_DIR}") + set(_gRPC_UPB_GRPC_GENERATED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-generated") + +-set(_gRPC_UPB_LIBRARIES upb) ++set(_gRPC_UPB_LIBRARIES upb::upb) diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL index 4f5652a8b7..790e19e8d2 100644 --- a/ports/grpc/CONTROL +++ b/ports/grpc/CONTROL @@ -1,5 +1,5 @@ Source: grpc -Version: 1.26.0 -Build-Depends: zlib, openssl, protobuf, c-ares (!uwp) +Version: 1.26.0-1 +Build-Depends: zlib, openssl, protobuf, c-ares (!uwp), upb Homepage: https://github.com/grpc/grpc Description: An RPC library and framework diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index 9e925898c9..e156ea4d56 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -1,15 +1,7 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() -# This snippet is a workaround for users who are upgrading from an extremely old version of this -# port, which cloned directly into `src\` -if(EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git") - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO grpc/grpc @@ -23,28 +15,19 @@ vcpkg_from_github( 00004-link-gdi32-on-windows.patch 00005-fix-uwp-error.patch 00006-crypt32.patch - 00008-uwp_upb_disable_C4146_error.patch + 00009-use-system-upb.patch ) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") +if(VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(gRPC_BUILD_CODEGEN OFF) else() set(gRPC_BUILD_CODEGEN ON) endif() -if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(gRPC_MSVC_STATIC_RUNTIME ON) -else() - set(gRPC_MSVC_STATIC_RUNTIME OFF) -endif() +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" gRPC_MSVC_STATIC_RUNTIME) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" gRPC_STATIC_LINKING) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(gRPC_STATIC_LINKING ON) -else() - set(gRPC_STATIC_LINKING OFF) -endif() - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_TARGET_IS_UWP) set(cares_CARES_PROVIDER OFF) else() set(cares_CARES_PROVIDER "package") diff --git a/ports/gtkmm/CONTROL b/ports/gtkmm/CONTROL index b346cd6997..ecdab2cc38 100644 --- a/ports/gtkmm/CONTROL +++ b/ports/gtkmm/CONTROL @@ -3,3 +3,4 @@ Version: 3.22.2-2 Homepage: https://www.gtkmm.org/ Description: gtkmm is the official C++ interface for the popular GUI library GTK+. Build-Depends: glib, atk, gtk, gdk-pixbuf, pango, cairo, libepoxy, gettext, glibmm, atkmm, cairomm, pangomm +Supports: !uwp diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL index a8d27e0291..6a74b2da92 100644 --- a/ports/hdf5/CONTROL +++ b/ports/hdf5/CONTROL @@ -1,8 +1,9 @@ Source: hdf5 -Version: 1.10.5-9 +Version: 1.10.5-10 Homepage: https://www.hdfgroup.org/downloads/hdf5/ Description: HDF5 is a data model, library, and file format for storing and managing data Default-Features: szip, zlib +Supports: !uwp Feature: parallel Description: parallel support for HDF5 diff --git a/ports/hwloc/CONTROL b/ports/hwloc/CONTROL index f754a0fd84..eeb7421f35 100644 --- a/ports/hwloc/CONTROL +++ b/ports/hwloc/CONTROL @@ -3,3 +3,4 @@ Version: 1.11.7-3 Homepage: https://github.com/open-mpi/hwloc Description: Portable Hardware Locality (hwloc) The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs. +Supports: !uwp \ No newline at end of file diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL index 4fccc8622f..06d902e19b 100644 --- a/ports/icu/CONTROL +++ b/ports/icu/CONTROL @@ -2,3 +2,4 @@ Source: icu Version: 61.1-8 Homepage: http://icu-project.org/apiref/icu4c/ Description: Mature and widely used Unicode and localization library. +Supports: !uwp \ No newline at end of file diff --git a/ports/jinja2cpplight/CONTROL b/ports/jinja2cpplight/CONTROL index 57334bc42c..f918eb28f5 100644 --- a/ports/jinja2cpplight/CONTROL +++ b/ports/jinja2cpplight/CONTROL @@ -1,4 +1,5 @@ Source: jinja2cpplight Version: 2018-05-08 Homepage: https://github.com/hughperkins/Jinja2CppLight -Description: (very) lightweight version of Jinja2 for C++, Lightweight templating engine for C++, based on Jinja2. \ No newline at end of file +Description: (very) lightweight version of Jinja2 for C++, Lightweight templating engine for C++, based on Jinja2. +Supports: !uwp \ No newline at end of file diff --git a/ports/jsonnet/0003-use-upstream-nlohmann-json.patch b/ports/jsonnet/0003-use-upstream-nlohmann-json.patch new file mode 100644 index 0000000000..a2e1105b7c --- /dev/null +++ b/ports/jsonnet/0003-use-upstream-nlohmann-json.patch @@ -0,0 +1,13 @@ +diff --git a/core/vm.cpp b/core/vm.cpp +index 0cf06fa..d65a6d7 100644 +--- a/core/vm.cpp ++++ b/core/vm.cpp +@@ -23,7 +23,7 @@ limitations under the License. + + #include "desugarer.h" + #include "json.h" +-#include "json.hpp" ++#include "nlohmann/json.hpp" + #include "md5.h" + #include "parser.h" + #include "state.h" diff --git a/ports/jsonnet/002-fix-dependency-and-install.patch b/ports/jsonnet/002-fix-dependency-and-install.patch index cccdc9439c..7c7b5da776 100644 --- a/ports/jsonnet/002-fix-dependency-and-install.patch +++ b/ports/jsonnet/002-fix-dependency-and-install.patch @@ -24,7 +24,7 @@ index 82fb7c2..a94b4ff 100644 endif() + + -+install(FILES ${LIBJSONNET_HEADERS} DESTINATION include) ++install(FILES ${LIB_HEADER} DESTINATION include) \ No newline at end of file diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index bf349df..6ed1442 100644 diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL index 2f6e669efa..78542024cb 100644 --- a/ports/jsonnet/CONTROL +++ b/ports/jsonnet/CONTROL @@ -1,4 +1,5 @@ Source: jsonnet -Version: 0.14.0 +Version: 0.14.0-1 Homepage: https://github.com/google/jsonnet Description: Jsonnet - The data templating language +Build-Depends: nlohmann-json diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake index 2840f513f5..6b4a30a114 100644 --- a/ports/jsonnet/portfile.cmake +++ b/ports/jsonnet/portfile.cmake @@ -11,9 +11,10 @@ vcpkg_from_github( PATCHES 001-enable-msvc.patch 002-fix-dependency-and-install.patch + 0003-use-upstream-nlohmann-json.patch ) -if (VCPKG_TARGET_IS_WINDOWS) +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_execute_required_process( COMMAND Powershell -Command "((Get-Content -AsByteStream \"${SOURCE_PATH}/stdlib/std.jsonnet\") -join ',') + ',0' | Out-File -Encoding Ascii \"${SOURCE_PATH}/core/std.jsonnet.h\"" WORKING_DIRECTORY "${SOURCE_PATH}" @@ -27,7 +28,7 @@ else() ) endif() -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(BUILD_SHARED ON) set(BUILD_STATIC OFF) else() @@ -44,6 +45,7 @@ vcpkg_configure_cmake( -DBUILD_JSONNET=OFF -DBUILD_JSONNETFMT=OFF -DBUILD_TESTS=OFF + -DUSE_SYSTEM_JSON=ON ) vcpkg_install_cmake() diff --git a/ports/kinectsdk1/CONTROL b/ports/kinectsdk1/CONTROL index 9764fb69ab..d4cd1d2733 100644 --- a/ports/kinectsdk1/CONTROL +++ b/ports/kinectsdk1/CONTROL @@ -1,3 +1,4 @@ Source: kinectsdk1 Version: 1.8-2 Description: Kinect for Windows SDK for Kinect v1 sensor. +Supports: !arm \ No newline at end of file diff --git a/ports/kinectsdk2/CONTROL b/ports/kinectsdk2/CONTROL index 4fc290d0fa..d92784df46 100644 --- a/ports/kinectsdk2/CONTROL +++ b/ports/kinectsdk2/CONTROL @@ -1,3 +1,4 @@ Source: kinectsdk2 Version: 2.0-2 Description: Kinect for Windows SDK for Kinect v2 sensor. +Supports: !arm \ No newline at end of file diff --git a/ports/lastools/CONTROL b/ports/lastools/CONTROL index cb908a8d4e..3111303731 100644 --- a/ports/lastools/CONTROL +++ b/ports/lastools/CONTROL @@ -1,4 +1,5 @@ Source: lastools Version: 2019-07-10 Homepage: https://github.com/LAStools/LAStools -Description: LAStools: award-winning software for efficient LiDAR processing (with LASzip) \ No newline at end of file +Description: LAStools: award-winning software for efficient LiDAR processing (with LASzip) +Supports: !uwp \ No newline at end of file diff --git a/ports/leveldb/CONTROL b/ports/leveldb/CONTROL index aa0b2bc3e1..1b1302f979 100644 --- a/ports/leveldb/CONTROL +++ b/ports/leveldb/CONTROL @@ -2,3 +2,4 @@ Source: leveldb Version: 1.22-1 Homepage: https://github.com/bitcoin-core/leveldb Description: LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. +Supports: !uwp \ No newline at end of file diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL index 73760e887b..6678faaccc 100644 --- a/ports/libarchive/CONTROL +++ b/ports/libarchive/CONTROL @@ -4,6 +4,7 @@ Homepage: https://github.com/libarchive/libarchive Description: Library for reading and writing streaming archives Build-Depends: zlib Default-Features: bzip2, libxml2, lz4, lzma, lzo, openssl +Supports: !uwp Feature: bzip2 Build-Depends: bzip2 diff --git a/ports/libevent/CONTROL b/ports/libevent/CONTROL index 64067f15c6..4df532990c 100644 --- a/ports/libevent/CONTROL +++ b/ports/libevent/CONTROL @@ -1,7 +1,8 @@ Source: libevent -Version: 2.1.11-4 +Version: 2.1.11-5 Homepage: https://github.com/libevent/libevent Description: An event notification library +Supports: !uwp Default-Features: thread Feature: openssl diff --git a/ports/libexif/CONTROL b/ports/libexif/CONTROL index e37d0960e3..f3e4e41058 100644 --- a/ports/libexif/CONTROL +++ b/ports/libexif/CONTROL @@ -2,3 +2,4 @@ Source: libexif Version: 0.6.21-2 Homepage: https://libexif.github.io/ Description: a library for parsing, editing, and saving EXIF data +Supports: !uwp \ No newline at end of file diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL index 4492dbce16..2bc4a093a2 100644 --- a/ports/libffi/CONTROL +++ b/ports/libffi/CONTROL @@ -2,3 +2,4 @@ Source: libffi Version: 3.1-7 Homepage: https://github.com/libffi/libffi Description: Portable, high level programming interface to various calling conventions +Supports: !arm \ No newline at end of file diff --git a/ports/libgit2/CONTROL b/ports/libgit2/CONTROL index d4050188cd..0c320dd404 100644 --- a/ports/libgit2/CONTROL +++ b/ports/libgit2/CONTROL @@ -3,3 +3,4 @@ Version: 0.28.4 Homepage: https://github.com/libgit2/libgit2 Build-Depends: openssl (!windows&&!uwp) Description: Git linkable library +Supports: !uwp diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake index 9027e2acf8..5f184079f3 100644 --- a/ports/libiconv/portfile.cmake +++ b/ports/libiconv/portfile.cmake @@ -40,3 +40,5 @@ vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_test_cmake(PACKAGE_NAME unofficial-iconv) + +set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) diff --git a/ports/libmysql/CONTROL b/ports/libmysql/CONTROL index fb236147e2..1195fecc24 100644 --- a/ports/libmysql/CONTROL +++ b/ports/libmysql/CONTROL @@ -3,3 +3,4 @@ Version: 8.0.4-5 Homepage: https://github.com/mysql/mysql-server Build-Depends: boost-algorithm, boost-geometry, boost-optional, boost-functional, boost-graph, openssl, icu, libevent, liblzma, lz4, zlib Description: A MySQL client library for C development. +Supports: !(windows&x86)&!uwp \ No newline at end of file diff --git a/ports/libodb-sqlite/CMakeLists.txt b/ports/libodb-sqlite/CMakeLists.txt index 79f9bc2bf3..8a62ab9a87 100644 --- a/ports/libodb-sqlite/CMakeLists.txt +++ b/ports/libodb-sqlite/CMakeLists.txt @@ -2,8 +2,7 @@ cmake_minimum_required(VERSION 3.0) project(libodb-sqlite VERSION 2.4.0 LANGUAGES CXX) find_package(odb 2.4.0 REQUIRED COMPONENTS libodb) find_package(sqlite3 CONFIG) -configure_file(config.unix.h.in - ${CMAKE_CURRENT_SOURCE_DIR}/odb/sqlite/details/config.h COPYONLY) +configure_file(config.unix.h.in odb/sqlite/details/config.h COPYONLY) set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)") file(GLOB_RECURSE libodb_src LIST_DIRECTORIES False @@ -15,7 +14,7 @@ target_include_directories(libodb-sqlite PUBLIC $ $ - + $ ) target_link_libraries(libodb-sqlite PRIVATE odb::libodb sqlite3) @@ -35,14 +34,22 @@ install(TARGETS libodb-sqlite EXPORT odb_sqliteConfig RUNTIME DESTINATION bin ) if(LIBODB_INSTALL_HEADERS) -install(DIRECTORY odb DESTINATION include/ + install( + DIRECTORY odb + DESTINATION include/ COMPONENT sqlite FILES_MATCHING PATTERN "*.h" PATTERN "*.hxx" PATTERN "*.ixx" PATTERN "*.txx" -) + ) + install( + FILES config.unix.h.in + DESTINATION include/odb/sqlite/detail + COMPONENT sqlite + RENAME config.h + ) endif() install(EXPORT odb_sqliteConfig NAMESPACE odb:: COMPONENT sqlite DESTINATION share/odb) export(TARGETS libodb-sqlite NAMESPACE odb:: FILE odb_sqliteConfig.cmake) \ No newline at end of file diff --git a/ports/libodb-sqlite/CONTROL b/ports/libodb-sqlite/CONTROL index 0c87a6fc8f..e7afd76e0e 100644 --- a/ports/libodb-sqlite/CONTROL +++ b/ports/libodb-sqlite/CONTROL @@ -1,5 +1,5 @@ Source: libodb-sqlite -Version: 2.4.0-5 +Version: 2.4.0-6 Homepage: https://www.codesynthesis.com/products/odb/ Description: Sqlite support for the ODB ORM library Build-Depends: libodb, sqlite3 diff --git a/ports/libodb/portfile.cmake b/ports/libodb/portfile.cmake index 18dc60f737..d616f1b354 100644 --- a/ports/libodb/portfile.cmake +++ b/ports/libodb/portfile.cmake @@ -20,6 +20,7 @@ file(COPY vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE OPTIONS_DEBUG -DLIBODB_INSTALL_HEADERS=OFF ) diff --git a/ports/libopenmpt/CONTROL b/ports/libopenmpt/CONTROL index 32fa988d13..be431f49e5 100644 --- a/ports/libopenmpt/CONTROL +++ b/ports/libopenmpt/CONTROL @@ -3,3 +3,4 @@ Version: 2017-01-28-cf2390140 Homepage: https://github.com/OpenMPT/openmpt Description: a library to render tracker music Build-Depends: zlib, mpg123, libogg, libvorbis, portaudio, libflac +Supports: !uwp \ No newline at end of file diff --git a/ports/libopusenc/CONTROL b/ports/libopusenc/CONTROL index 844b22d499..7e52b1353a 100644 --- a/ports/libopusenc/CONTROL +++ b/ports/libopusenc/CONTROL @@ -3,3 +3,4 @@ Version: 0.2.1 Homepage: https://github.com/xiph/libopusenc Description: Library for encoding .opus audio files and live streams. Build-Depends: opus +Supports: !uwp \ No newline at end of file diff --git a/ports/libosip2/CONTROL b/ports/libosip2/CONTROL index 693a9d73e5..2fe1f8b169 100644 --- a/ports/libosip2/CONTROL +++ b/ports/libosip2/CONTROL @@ -1,4 +1,5 @@ Source: libosip2 Version: 5.1.0-3 Homepage: https://www.gnu.org/software/osip/ -Description: oSIP is an LGPL implementation of SIP. It's stable, portable, flexible and compliant! -may be more-! It is used mostly with eXosip2 stack (GPL) which provides simpler API for User-Agent implementation. \ No newline at end of file +Description: oSIP is an LGPL implementation of SIP. It's stable, portable, flexible and compliant! -may be more-! It is used mostly with eXosip2 stack (GPL) which provides simpler API for User-Agent implementation. +Supports: !(windows|uwp) \ No newline at end of file diff --git a/ports/libp7-baical/CONTROL b/ports/libp7-baical/CONTROL index 698334f58b..80037450b0 100644 --- a/ports/libp7-baical/CONTROL +++ b/ports/libp7-baical/CONTROL @@ -2,3 +2,4 @@ Source: libp7-baical Version: 4.4-4 Homepage: https://baical.net/ Description: P7 is a library for high-speed sending telemetry & trace data from application +Supports: !(arm|uwp) \ No newline at end of file diff --git a/ports/libp7client/CONTROL b/ports/libp7client/CONTROL index 0069877d4f..f7020b6f13 100644 --- a/ports/libp7client/CONTROL +++ b/ports/libp7client/CONTROL @@ -1,3 +1,4 @@ Source: libp7client Version: 5.2-1 Description: Open source, cross-platform, fastest library for sending logs, telemetry & trace data from your application. +Supports: x86|x64 \ No newline at end of file diff --git a/ports/libpq/CONTROL b/ports/libpq/CONTROL index 724d9acd8f..359481816a 100644 --- a/ports/libpq/CONTROL +++ b/ports/libpq/CONTROL @@ -1,6 +1,7 @@ Source: libpq Version: 12.0 Build-Depends: libpq[bonjour] (osx) +Supports: !uwp Homepage: https://www.postgresql.org/ Description: The official database access API of postgresql Default-Features: zlib, openssl @@ -79,4 +80,4 @@ Build-Depends: libxslt Description: Build with libxslt (--with-libxslt) Feature: client -Description: Build all client tools and libraries. \ No newline at end of file +Description: Build all client tools and libraries. diff --git a/ports/libpqxx/CMakeLists.txt b/ports/libpqxx/CMakeLists.txt index d8b9ce4f52..a3e6ae3f48 100644 --- a/ports/libpqxx/CMakeLists.txt +++ b/ports/libpqxx/CMakeLists.txt @@ -67,6 +67,7 @@ install(DIRECTORY include/ DESTINATION include PATTERN "*.am" EXCLUDE PATTERN "*.in" EXCLUDE PATTERN "*.template" EXCLUDE + PATTERN "CMakeLists.txt" EXCLUDE ) install(DIRECTORY ${CMAKE_BINARY_DIR}/pqxx/ DESTINATION include/pqxx CONFIGURATIONS Release diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL index 1742189b93..9acdf81465 100644 --- a/ports/libpqxx/CONTROL +++ b/ports/libpqxx/CONTROL @@ -1,5 +1,5 @@ Source: libpqxx -Version: 6.4.5-1 +Version: 6.4.5-2 Homepage: https://github.com/jtv/libpqxx Description: The official C++ client API for PostgreSQL -Build-Depends: libpq +Build-Depends: libpq[core] diff --git a/ports/libpqxx/portfile.cmake b/ports/libpqxx/portfile.cmake index e9fbdbc985..85e9cedb73 100644 --- a/ports/libpqxx/portfile.cmake +++ b/ports/libpqxx/portfile.cmake @@ -6,8 +6,8 @@ vcpkg_from_github( REF a6b1d60e74c1427c8ac2324b85cd4a0dc2068332 SHA512 990083f738322283dc9c98b138a676e5ba04ab77794d5a51d672557e0562d2366b5085ad5571dd91af8ba4dea56baa94e8c1e4e6fe571341c95e92eb28d2b15a HEAD_REF master - PATCHES - fix-deprecated-bug.patch + PATCHES + fix-deprecated-bug.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/libressl/CONTROL b/ports/libressl/CONTROL index 2cb09fb6c3..a5dfd10c70 100644 --- a/ports/libressl/CONTROL +++ b/ports/libressl/CONTROL @@ -1,6 +1,7 @@ Source: libressl Version: 2.9.1-2 Description: LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes. +Supports: !(uwp|arm) Feature: tools Description: Build openssl and ocspcheck executables diff --git a/ports/libsoundio/CONTROL b/ports/libsoundio/CONTROL index 52ab4845f2..d8abcf0703 100644 --- a/ports/libsoundio/CONTROL +++ b/ports/libsoundio/CONTROL @@ -1,4 +1,5 @@ Source: libsoundio -Version: 2.0.0-1 +Version: 2.0.0-3 Description: libsoundio is C library providing cross-platform audio input and output. Homepage: http://libsound.io/ +Supports: !uwp \ No newline at end of file diff --git a/ports/libsoundio/fix_cmakelists.patch b/ports/libsoundio/fix_cmakelists.patch index 225c4cff36..ffe00adff2 100644 --- a/ports/libsoundio/fix_cmakelists.patch +++ b/ports/libsoundio/fix_cmakelists.patch @@ -1,184 +1,49 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6541f1b..058bf3b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,4 @@ - cmake_minimum_required(VERSION 2.8.5) --project(libsoundio C) --set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) - - if(CMAKE_VERSION VERSION_LESS 3.0.0) - set(CMAKE_INSTALL_LIBDIR "lib" CACHE PATH "library install dir (lib)") -@@ -11,6 +9,11 @@ else() - cmake_policy(SET CMP0046 NEW) - include(GNUInstallDirs) - endif() -+cmake_policy(SET CMP0022 NEW) -+ -+project(libsoundio C) -+set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) -+set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON) - - if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE "Debug" CACHE STRING -@@ -27,8 +30,7 @@ if(NOT SOUNDIO_STATIC_LIBNAME) - set(SOUNDIO_STATIC_LIBNAME soundio) - endif() - --option(BUILD_STATIC_LIBS "Build static libraries" ON) --option(BUILD_DYNAMIC_LIBS "Build dynamic libraries" ON) -+option(BUILD_SHARED_LIBS "Build dynamic libraries" ON) - option(BUILD_EXAMPLE_PROGRAMS "Build example programs" ON) - option(BUILD_TESTS "Build tests" ON) - option(ENABLE_JACK "Enable JACK backend" ON) -@@ -203,7 +205,7 @@ if(MSVC) - set(EXAMPLE_CFLAGS "/W4") - set(TEST_CFLAGS "${LIB_CFLAGS}") - set(TEST_LDFLAGS " ") -- set(LIBM " ") -+ set(LIBM "") - else() - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror -pedantic") - set(LIB_CFLAGS "-std=c11 -fvisibility=hidden -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L -Wno-missing-braces") -@@ -223,32 +225,33 @@ configure_file( - ${DOXYGEN_CONF_FILE} - ) - --if(BUILD_DYNAMIC_LIBS) -- add_library(libsoundio_shared SHARED ${LIBSOUNDIO_SOURCES}) -- set_target_properties(libsoundio_shared PROPERTIES -+if(BUILD_SHARED_LIBS) -+ add_library(libsoundio SHARED ${LIBSOUNDIO_SOURCES}) -+ set_target_properties(libsoundio PROPERTIES PUBLIC_HEADER "${LIBSOUNDIO_HEADERS}") -+ set_target_properties(libsoundio PROPERTIES - OUTPUT_NAME soundio - SOVERSION ${LIBSOUNDIO_VERSION_MAJOR} - VERSION ${LIBSOUNDIO_VERSION} - COMPILE_FLAGS ${LIB_CFLAGS} - LINKER_LANGUAGE C - ) -- target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS}) -- install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR}) --endif() -- --if(BUILD_STATIC_LIBS) -- add_library(libsoundio_static STATIC ${LIBSOUNDIO_SOURCES}) -- set_target_properties(libsoundio_static PROPERTIES -- OUTPUT_NAME ${SOUNDIO_STATIC_LIBNAME} -+ target_link_libraries(libsoundio LINK_PUBLIC ${LIBSOUNDIO_LIBS}) -+ install(TARGETS libsoundio EXPORT libsoundio-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -+else() -+ add_library(libsoundio STATIC ${LIBSOUNDIO_SOURCES}) -+ set_target_properties(libsoundio PROPERTIES PUBLIC_HEADER "${LIBSOUNDIO_HEADERS}") -+ set_target_properties(libsoundio PROPERTIES -+ OUTPUT_NAME soundio - COMPILE_FLAGS ${LIB_CFLAGS} - LINKER_LANGUAGE C - ) -- install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ target_link_libraries(libsoundio LINK_PUBLIC ${LIBSOUNDIO_LIBS}) -+ target_compile_definitions(libsoundio PUBLIC SOUNDIO_STATIC_LIBRARY) -+ install(TARGETS libsoundio EXPORT libsoundio-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - endif() - --install(FILES -- ${LIBSOUNDIO_HEADERS} -- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundio") -+add_library(libsoundio::libsoundio ALIAS libsoundio) -+install(EXPORT libsoundio-export FILE libsoundio-config.cmake DESTINATION share/libsoundio/ NAMESPACE ${PROJECT_NAME}:: EXPORT_LINK_INTERFACE_LIBRARIES) - - # Example Programs - -@@ -257,44 +260,28 @@ if(BUILD_EXAMPLE_PROGRAMS) - set_target_properties(sio_sine PROPERTIES - LINKER_LANGUAGE C - COMPILE_FLAGS ${EXAMPLE_CFLAGS}) -- if(BUILD_DYNAMIC_LIBS) -- target_link_libraries(sio_sine libsoundio_shared ${LIBM}) -- else() -- target_link_libraries(sio_sine libsoundio_static ${LIBSOUNDIO_LIBS} ${LIBM}) -- endif() -+ target_link_libraries(sio_sine libsoundio::libsoundio ${LIBM}) - install(TARGETS sio_sine DESTINATION ${CMAKE_INSTALL_BINDIR}) - - add_executable(sio_list_devices example/sio_list_devices.c) - set_target_properties(sio_list_devices PROPERTIES - LINKER_LANGUAGE C - COMPILE_FLAGS ${EXAMPLE_CFLAGS}) -- if(BUILD_DYNAMIC_LIBS) -- target_link_libraries(sio_list_devices libsoundio_shared) -- else() -- target_link_libraries(sio_list_devices libsoundio_static ${LIBSOUNDIO_LIBS}) -- endif() -+ target_link_libraries(sio_list_devices libsoundio::libsoundio) - install(TARGETS sio_list_devices DESTINATION ${CMAKE_INSTALL_BINDIR}) - - add_executable(sio_microphone example/sio_microphone.c) - set_target_properties(sio_microphone PROPERTIES - LINKER_LANGUAGE C - COMPILE_FLAGS ${EXAMPLE_CFLAGS}) -- if(BUILD_DYNAMIC_LIBS) -- target_link_libraries(sio_microphone libsoundio_shared) -- else() -- target_link_libraries(sio_microphone libsoundio_static ${LIBSOUNDIO_LIBS}) -- endif() -+ target_link_libraries(sio_microphone libsoundio::libsoundio) - install(TARGETS sio_microphone DESTINATION ${CMAKE_INSTALL_BINDIR}) - - add_executable(sio_record example/sio_record.c) - set_target_properties(sio_record PROPERTIES - LINKER_LANGUAGE C - COMPILE_FLAGS ${EXAMPLE_CFLAGS}) -- if(BUILD_DYNAMIC_LIBS) -- target_link_libraries(sio_record libsoundio_shared) -- else() -- target_link_libraries(sio_record libsoundio_static ${LIBSOUNDIO_LIBS}) -- endif() -+ target_link_libraries(sio_record libsoundio::libsoundio) - install(TARGETS sio_record DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - -@@ -308,7 +295,7 @@ if(BUILD_TESTS) - ) - - add_executable(latency "${libsoundio_SOURCE_DIR}/test/latency.c" ${LIBSOUNDIO_SOURCES}) -- target_link_libraries(latency LINK_PUBLIC ${LIBSOUNDIO_LIBS} ${LIBM}) -+ target_link_libraries(latency LINK_PUBLIC libsoundio::libsoundio ${LIBM}) - set_target_properties(latency PROPERTIES - LINKER_LANGUAGE C - COMPILE_FLAGS ${LIB_CFLAGS} -@@ -318,31 +305,19 @@ if(BUILD_TESTS) - set_target_properties(underflow PROPERTIES - LINKER_LANGUAGE C - COMPILE_FLAGS ${EXAMPLE_CFLAGS}) -- if(BUILD_DYNAMIC_LIBS) -- target_link_libraries(underflow libsoundio_shared ${LIBM}) -- else() -- target_link_libraries(underflow libsoundio_static ${LIBSOUNDIO_LIBS} ${LIBM}) -- endif() -+ target_link_libraries(underflow libsoundio::libsoundio ${LIBM}) - - add_executable(backend_disconnect_recover test/backend_disconnect_recover.c) - set_target_properties(backend_disconnect_recover PROPERTIES - LINKER_LANGUAGE C - COMPILE_FLAGS ${EXAMPLE_CFLAGS}) -- if(BUILD_DYNAMIC_LIBS) -- target_link_libraries(backend_disconnect_recover libsoundio_shared) -- else() -- target_link_libraries(backend_disconnect_recover libsoundio_static ${LIBSOUNDIO_LIBS}) -- endif() -+ target_link_libraries(backend_disconnect_recover libsoundio::libsoundio) - - add_executable(overflow test/overflow.c) - set_target_properties(overflow PROPERTIES - LINKER_LANGUAGE C - COMPILE_FLAGS ${EXAMPLE_CFLAGS}) -- if(BUILD_DYNAMIC_LIBS) -- target_link_libraries(overflow libsoundio_shared) -- else() -- target_link_libraries(overflow libsoundio_static ${LIBSOUNDIO_LIBS}) -- endif() -+ target_link_libraries(overflow libsoundio::libsoundio) - - - +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6541f1b..e81bdce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,5 @@ +-cmake_minimum_required(VERSION 2.8.5) ++cmake_minimum_required(VERSION 3.14) ++cmake_policy(SET CMP0022 NEW) + project(libsoundio C) + set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) + +@@ -233,7 +234,8 @@ if(BUILD_DYNAMIC_LIBS) + LINKER_LANGUAGE C + ) + target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS}) +- install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ target_include_directories(libsoundio_shared PUBLIC $) ++ install(TARGETS libsoundio_shared EXPORT libsoundio-export) + endif() + + if(BUILD_STATIC_LIBS) +@@ -243,9 +245,26 @@ if(BUILD_STATIC_LIBS) + COMPILE_FLAGS ${LIB_CFLAGS} + LINKER_LANGUAGE C + ) +- install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ target_link_libraries(libsoundio_static PUBLIC ${LIBSOUNDIO_LIBS}) ++ target_include_directories(libsoundio_static PUBLIC $) ++ install(TARGETS libsoundio_static EXPORT libsoundio-export) + endif() + ++add_library(libsoundio INTERFACE) ++if(BUILD_DYNAMIC_LIBS) ++ target_link_libraries(libsoundio INTERFACE libsoundio_shared) ++else() ++ target_link_libraries(libsoundio INTERFACE libsoundio_static) ++endif() ++install(TARGETS libsoundio EXPORT libsoundio-export) ++install( ++ EXPORT libsoundio-export ++ FILE libsoundio-config.cmake ++ DESTINATION share/libsoundio/ ++ NAMESPACE ${PROJECT_NAME}:: ++ EXPORT_LINK_INTERFACE_LIBRARIES ++) ++ + install(FILES + ${LIBSOUNDIO_HEADERS} + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundio") diff --git a/ports/libsoundio/portfile.cmake b/ports/libsoundio/portfile.cmake index 0e1b7f561b..e28aa40c62 100644 --- a/ports/libsoundio/portfile.cmake +++ b/ports/libsoundio/portfile.cmake @@ -1,8 +1,5 @@ -include(vcpkg_common_functions) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "WindowsStore not supported") -endif() +vcpkg_fail_port_install(ON_TARGET "UWP") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -14,15 +11,22 @@ vcpkg_from_github( fix_cmakelists.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DYNAMIC_LIBS) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DBUILD_DYNAMIC_LIBS=${BUILD_DYNAMIC_LIBS} + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} -DBUILD_EXAMPLE_PROGRAMS=OFF -DBUILD_TESTS=OFF + -DENABLE_JACK=OFF + -DENABLE_PULSEAUDIO=OFF + -DENABLE_ALSA=OFF + -DENABLE_COREAUDIO=${VCPKG_TARGET_IS_OSX} + -DENABLE_WASAPI=${VCPKG_TARGET_IS_WINDOWS} ) vcpkg_install_cmake() diff --git a/ports/libssh/CONTROL b/ports/libssh/CONTROL index c12fb8f8f4..4439406538 100644 --- a/ports/libssh/CONTROL +++ b/ports/libssh/CONTROL @@ -3,6 +3,7 @@ Version: 0.9.0 Homepage: https://www.libssh.org/ Description: libssh is a multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side Build-Depends: openssl +Supports: !uwp Feature: zlib Description: libssh with zlib diff --git a/ports/libusb-win32/CONTROL b/ports/libusb-win32/CONTROL index 6904f70667..bea5b90929 100644 --- a/ports/libusb-win32/CONTROL +++ b/ports/libusb-win32/CONTROL @@ -2,3 +2,4 @@ Source: libusb-win32 Version: 1.2.6.0-3 Homepage: https://sourceforge.net/projects/libusb-win32 Description: Allows user space applications to access many USB device on Windows. +Supports: windows \ No newline at end of file diff --git a/ports/libuuid/CONTROL b/ports/libuuid/CONTROL index e5dc0c0b4e..2d46a83076 100644 --- a/ports/libuuid/CONTROL +++ b/ports/libuuid/CONTROL @@ -1,3 +1,4 @@ Source: libuuid Version: 1.0.3-3 Description: Universally unique id library +Supports: linux|osx \ No newline at end of file diff --git a/ports/llgl/CONTROL b/ports/llgl/CONTROL index 476ccd8c25..fcba2d2d42 100644 --- a/ports/llgl/CONTROL +++ b/ports/llgl/CONTROL @@ -2,6 +2,7 @@ Source: llgl Version: 2019-08-15 Homepage: https://github.com/LukasBanana/LLGL Description: Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal. +Supports: !uwp Feature: opengl Description: Support for opengl diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL index e1569bdee9..2eb184a84d 100644 --- a/ports/llvm/CONTROL +++ b/ports/llvm/CONTROL @@ -3,6 +3,7 @@ Version: 8.0.0-3 Homepage: https://llvm.org/ Description: The LLVM Compiler Infrastructure Build-Depends: atlmfc (windows) +Supports: !uwp Default-Features: tools, utils Feature: tools @@ -15,4 +16,4 @@ Feature: example Description: Generate build targets for the LLVM examples Feature: test -Description: Generate build targets for the LLVM unit tests. \ No newline at end of file +Description: Generate build targets for the LLVM unit tests. diff --git a/ports/log4cpp/CONTROL b/ports/log4cpp/CONTROL index 11c37843b2..ec84f40653 100644 --- a/ports/log4cpp/CONTROL +++ b/ports/log4cpp/CONTROL @@ -2,4 +2,4 @@ Source: log4cpp Version: 2.9.1-2 Homepage: https://github.com/orocos-toolchain/log4cpp Description: Log4cpp is library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. It is modeled after the Log4j Java library, staying as close to their API as is reasonable. - +Supports: !uwp diff --git a/ports/luajit/CONTROL b/ports/luajit/CONTROL index 03b778e9a8..f37d4dcbeb 100644 --- a/ports/luajit/CONTROL +++ b/ports/luajit/CONTROL @@ -2,3 +2,4 @@ Source: luajit Version: 2.0.5-3 Homepage: https://github.com/LuaJIT/LuaJIT Description: LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language. +Supports: !uwp \ No newline at end of file diff --git a/ports/lzfse/CONTROL b/ports/lzfse/CONTROL index f79063ad98..cc46699741 100644 --- a/ports/lzfse/CONTROL +++ b/ports/lzfse/CONTROL @@ -2,3 +2,4 @@ Source: lzfse Version: 1.0-2 Homepage: https://github.com/lzfse/lzfse Description: Lempel-Ziv style data compressor using Finite State Entropy coding. +Supports: !arm \ No newline at end of file diff --git a/ports/marl/CONTROL b/ports/marl/CONTROL index f3a24fdcd6..16f464135d 100644 --- a/ports/marl/CONTROL +++ b/ports/marl/CONTROL @@ -2,3 +2,4 @@ Source: marl Version: 2019-09-13 Description: A hybrid thread/fiber task scheduler written in C++ 11 Homepage: https://github.com/google/marl +Supports: !uwp \ No newline at end of file diff --git a/ports/matroska/CONTROL b/ports/matroska/CONTROL index 29cef7e80e..1a5235db7f 100644 --- a/ports/matroska/CONTROL +++ b/ports/matroska/CONTROL @@ -3,3 +3,4 @@ Version: 1.5.2 Homepage: https://github.com/Matroska-Org/libmatroska Description: a C++ libary to parse Matroska files (.mkv and .mka) Build-Depends: ebml +Supports: !uwp \ No newline at end of file diff --git a/ports/mcpp/CONTROL b/ports/mcpp/CONTROL index e766344404..cc756ae9a0 100644 --- a/ports/mcpp/CONTROL +++ b/ports/mcpp/CONTROL @@ -1,4 +1,4 @@ Source: mcpp -Version: 2.7.2.14 +Version: 2.7.2.14-1 Homepage: https://github.com/zeroc-ice/mcpp Description: Fork of mcpp, a C/C++ preprocessor diff --git a/ports/mcpp/portfile.cmake b/ports/mcpp/portfile.cmake index 9394d00c37..11e268f99b 100644 --- a/ports/mcpp/portfile.cmake +++ b/ports/mcpp/portfile.cmake @@ -15,7 +15,6 @@ vcpkg_install_cmake() file( INSTALL - ${SOURCE_PATH}/config.h ${SOURCE_PATH}/mcpp_lib.h ${SOURCE_PATH}/mcpp_out.h DESTINATION diff --git a/ports/mdnsresponder/CONTROL b/ports/mdnsresponder/CONTROL index 66c039dbc6..9f97716e8a 100644 --- a/ports/mdnsresponder/CONTROL +++ b/ports/mdnsresponder/CONTROL @@ -2,3 +2,4 @@ Source: mdnsresponder Version: 765.30.11-2 Description: The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative. Homepage: https://developer.apple.com/bonjour/ +Supports: !arm \ No newline at end of file diff --git a/ports/mecab/CONTROL b/ports/mecab/CONTROL index b5b9c8f107..9bf6cec343 100644 --- a/ports/mecab/CONTROL +++ b/ports/mecab/CONTROL @@ -1,3 +1,4 @@ Source: mecab Version: 1.0 Description: A morphological analysis engine based on CRF +Supports: !(uwp|arm|arm64) \ No newline at end of file diff --git a/ports/minhook/CONTROL b/ports/minhook/CONTROL index 95209891ba..0daab0e4c9 100644 --- a/ports/minhook/CONTROL +++ b/ports/minhook/CONTROL @@ -1,3 +1,4 @@ Source: minhook Version: 1.3.3 -Description: The Minimalistic x86/x64 API Hooking Library for Windows. \ No newline at end of file +Description: The Minimalistic x86/x64 API Hooking Library for Windows. +Supports: !uwp \ No newline at end of file diff --git a/ports/minifb/CONTROL b/ports/minifb/CONTROL index cff3a97c04..5a86f9bbe9 100644 --- a/ports/minifb/CONTROL +++ b/ports/minifb/CONTROL @@ -2,3 +2,4 @@ Source: minifb Version: 2019-08-20-1 Homepage: https://github.com/emoon/minifb Description: MiniFB (Mini FrameBuffer) is a small cross platform library that makes it easy to render (32-bit) pixels in a window. +Supports: !uwp \ No newline at end of file diff --git a/ports/minizip/CONTROL b/ports/minizip/CONTROL index 22ea0c9f30..415a3a82ca 100644 --- a/ports/minizip/CONTROL +++ b/ports/minizip/CONTROL @@ -3,6 +3,7 @@ Version: 1.2.11-6 Build-Depends: zlib Homepage: https://github.com/madler/zlib Description: Zip compression library +Supports: !uwp Feature: bzip2 Build-Depends: bzip2 diff --git a/ports/mongoose/CONTROL b/ports/mongoose/CONTROL index c307982cf1..a6c7f8663a 100644 --- a/ports/mongoose/CONTROL +++ b/ports/mongoose/CONTROL @@ -2,7 +2,8 @@ Source: mongoose Version: 6.15-2 Description: Embedded web server / embedded networking library Homepage: https://cesanta.com/ +Supports: !uwp Feature: ssl Build-Depends: openssl -Description: Build with openssl \ No newline at end of file +Description: Build with openssl diff --git a/ports/monkeys-audio/CONTROL b/ports/monkeys-audio/CONTROL index d265f22d91..abe072f256 100644 --- a/ports/monkeys-audio/CONTROL +++ b/ports/monkeys-audio/CONTROL @@ -1,8 +1,9 @@ Source: monkeys-audio -Version: 5.14 +Version: 5.14-1 Homepage: https://monkeysaudio.com Description: Monkey's Audio is an excellent audio compression tool which has multiple advantages over traditional methods. Audio files compressed with it ends with .ape extension. +Supports: !uwp Feature: tools -Description: Build monkeys-audio tools \ No newline at end of file +Description: Build monkeys-audio tools diff --git a/ports/mpir/CONTROL b/ports/mpir/CONTROL index 12f9d38ea2..79238cbb55 100644 --- a/ports/mpir/CONTROL +++ b/ports/mpir/CONTROL @@ -2,3 +2,4 @@ Source: mpir Version: 3.0.0-7 Homepage: https://github.com/wbhart/mpir Description: Multiple Precision Integers and Rationals. +Supports: !uwp \ No newline at end of file diff --git a/ports/mqtt-cpp/CONTROL b/ports/mqtt-cpp/CONTROL index 73303edd29..eae0c7dd4b 100644 --- a/ports/mqtt-cpp/CONTROL +++ b/ports/mqtt-cpp/CONTROL @@ -1,5 +1,5 @@ Source: mqtt-cpp -Version: 7.0.1 +Version: 7.0.1-1 Description: Header-only MQTT client/server for C++14 based on Boost.Asio. Homepage: https://github.com/redboltz/mqtt_cpp -Build-Depends: boost-asio, boost-timer +Build-Depends: boost-asio, boost-timer, boost-system, boost-date-time diff --git a/ports/mqtt-cpp/portfile.cmake b/ports/mqtt-cpp/portfile.cmake index 13e5e2077e..d1b930826f 100644 --- a/ports/mqtt-cpp/portfile.cmake +++ b/ports/mqtt-cpp/portfile.cmake @@ -1,5 +1,3 @@ -# header-only library - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO redboltz/mqtt_cpp @@ -14,7 +12,10 @@ vcpkg_configure_cmake( OPTIONS -DMQTT_BUILD_EXAMPLES=OFF -DMQTT_BUILD_TESTS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON ) -file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/ms-angle/CONTROL b/ports/ms-angle/CONTROL index 4fadc59943..4ba0950508 100644 --- a/ports/ms-angle/CONTROL +++ b/ports/ms-angle/CONTROL @@ -2,3 +2,4 @@ Source: ms-angle Version: 2018-04-18-2 Description: The UWP version of a conformant OpenGL ES implementation for Windows, Mac and Linux. The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support. +Supports: windows|uwp \ No newline at end of file diff --git a/ports/msmpi/CONTROL b/ports/msmpi/CONTROL index d21b80c37d..baa44b8fe8 100644 --- a/ports/msmpi/CONTROL +++ b/ports/msmpi/CONTROL @@ -1,3 +1,4 @@ Source: msmpi Version: 10.0-2 Description: Microsoft MPI +Supports: windows \ No newline at end of file diff --git a/ports/nano-signal-slot/CONTROL b/ports/nano-signal-slot/CONTROL index 9594e575ba..99cee9fec4 100644 --- a/ports/nano-signal-slot/CONTROL +++ b/ports/nano-signal-slot/CONTROL @@ -2,3 +2,4 @@ Source: nano-signal-slot Version: 2.0.1 Homepage: https://github.com/NoAvailableAlias/nano-signal-slot Description: Pure C++17 Signals and Slots +Supports: !uwp \ No newline at end of file diff --git a/ports/nativefiledialog/CONTROL b/ports/nativefiledialog/CONTROL index 60aca3c45e..afe2835778 100644 --- a/ports/nativefiledialog/CONTROL +++ b/ports/nativefiledialog/CONTROL @@ -2,6 +2,7 @@ Source: nativefiledialog Version: 2019-08-28 Description: A tiny, neat C library that portably invokes native file open and save dialogs Homepage: https://github.com/mlabbe/nativefiledialog +Supports: !uwp Feature: zenity Description: Using Zenity backend on Linux diff --git a/ports/networkdirect-sdk/CONTROL b/ports/networkdirect-sdk/CONTROL index 3cc939c8e5..158183800d 100644 --- a/ports/networkdirect-sdk/CONTROL +++ b/ports/networkdirect-sdk/CONTROL @@ -1,4 +1,5 @@ Source: networkdirect-sdk Version: 2.0.1 Description: The Network Direct architecture allows hardware vendors to expose the advanced capabilities of their networking devices. -Homepage: https://www.nuget.org/packages/NetworkDirect \ No newline at end of file +Homepage: https://www.nuget.org/packages/NetworkDirect +Supports: windows&(x64|x86) \ No newline at end of file diff --git a/ports/openal-soft/CONTROL b/ports/openal-soft/CONTROL index b52d568cd1..0833c52c09 100644 --- a/ports/openal-soft/CONTROL +++ b/ports/openal-soft/CONTROL @@ -2,3 +2,4 @@ Source: openal-soft Version: 1.20.0 Homepage: https://github.com/kcat/openal-soft Description: OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API. +Supports: !uwp \ No newline at end of file diff --git a/ports/openexr/CONTROL b/ports/openexr/CONTROL index 7d8759237f..ddf7b0fbd2 100644 --- a/ports/openexr/CONTROL +++ b/ports/openexr/CONTROL @@ -3,3 +3,4 @@ Version: 2.3.0-5 Homepage: https://www.openexr.com/ Description: OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications Build-Depends: zlib +Supports: !uwp \ No newline at end of file diff --git a/ports/openmpi/CONTROL b/ports/openmpi/CONTROL index 6ea5a17c12..86af5ffd5c 100644 --- a/ports/openmpi/CONTROL +++ b/ports/openmpi/CONTROL @@ -2,3 +2,4 @@ Source: openmpi Version: 4.0.1 Homepage: https://www.open-mpi.org/ Description: The Open MPI Project is an open source Message Passing Interface implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers. +Supports: !(windows|uwp) \ No newline at end of file diff --git a/ports/openni2/CONTROL b/ports/openni2/CONTROL index a8fa4a2ac9..c1b869a57b 100644 --- a/ports/openni2/CONTROL +++ b/ports/openni2/CONTROL @@ -3,3 +3,4 @@ Version: 2.2.0.33-11 Build-Depends: kinectsdk1 Homepage: https://github.com/OpenNI/OpenNI2 Description: OpenNI is open source library for access to Natural Interaction (NI) devices such as RGB-D camera. +Supports: !uwp \ No newline at end of file diff --git a/ports/openssl-unix/CONTROL b/ports/openssl-unix/CONTROL index b2a55c187d..c56c95dad4 100644 --- a/ports/openssl-unix/CONTROL +++ b/ports/openssl-unix/CONTROL @@ -1,3 +1,4 @@ Source: openssl-unix Version: 1.1.1d-1 Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. +Supports: !(windows|uwp) \ No newline at end of file diff --git a/ports/openssl-uwp/CONTROL b/ports/openssl-uwp/CONTROL index a4a8e681a8..7e7650fc22 100644 --- a/ports/openssl-uwp/CONTROL +++ b/ports/openssl-uwp/CONTROL @@ -1,3 +1,4 @@ Source: openssl-uwp Version: 1.1.1d-1 Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. +Supports: uwp \ No newline at end of file diff --git a/ports/openssl-windows/CONTROL b/ports/openssl-windows/CONTROL index 9d80476f84..561977fe0f 100644 --- a/ports/openssl-windows/CONTROL +++ b/ports/openssl-windows/CONTROL @@ -1,3 +1,4 @@ Source: openssl-windows Version: 1.1.1d-1 Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. +Supports: windows \ No newline at end of file diff --git a/ports/opentracing/CONTROL b/ports/opentracing/CONTROL index 62f6dd3036..8a5e0625f5 100644 --- a/ports/opentracing/CONTROL +++ b/ports/opentracing/CONTROL @@ -2,3 +2,4 @@ Source: opentracing Version: 1.5.1-1 Description: C++ implementation of the OpenTracing API Homepage: https://opentracing.io +Supports: !uwp \ No newline at end of file diff --git a/ports/openxr-loader/CONTROL b/ports/openxr-loader/CONTROL index 0088df713c..632fadab74 100644 --- a/ports/openxr-loader/CONTROL +++ b/ports/openxr-loader/CONTROL @@ -1,6 +1,7 @@ Source: openxr-loader Version: 1.0.3.0 Description: Khronos API for abstracting VR/MR/AR hardware +Supports: !(arm|uwp) Feature: vulkan Description: Vulkan functionality for OpenXR diff --git a/ports/opusfile/CONTROL b/ports/opusfile/CONTROL index 0ba3167a67..80ca95f96b 100644 --- a/ports/opusfile/CONTROL +++ b/ports/opusfile/CONTROL @@ -3,6 +3,7 @@ Version: 0.11-3 Homepage: https://github.com/xiph/opusfile Description: Stand-alone decoder library for .opus streams Build-Depends: libogg, opus +Supports: !uwp Feature: opusurl Description: Support decoding of http(s) streams diff --git a/ports/osg/CONTROL b/ports/osg/CONTROL index f677e0284b..8df250d7ce 100644 --- a/ports/osg/CONTROL +++ b/ports/osg/CONTROL @@ -1,8 +1,8 @@ Source: osg -Version: 3.6.4 +Version: 3.6.4-1 Homepage: https://github.com/openscenegraph/OpenSceneGraph Description: The OpenSceneGraph is an open source high performance 3D graphics toolkit. -Build-Depends: freetype, jasper, openexr, zlib, gdal, giflib, libjpeg-turbo, libpng, tiff, fontconfig +Build-Depends: freetype, jasper, openexr, zlib, gdal, giflib, libjpeg-turbo, libpng, tiff, fontconfig, sdl2, boost-asio (!windows), libxml2 (windows), giflib (windows), freeglut (windows) Feature: collada Description: Support for Collada (.dae) files diff --git a/ports/osg/portfile.cmake b/ports/osg/portfile.cmake index 8c6b5f299b..03520aa9b6 100644 --- a/ports/osg/portfile.cmake +++ b/ports/osg/portfile.cmake @@ -18,6 +18,18 @@ else() set(OSG_DYNAMIC ON) endif() file(REMOVE ${SOURCE_PATH}/CMakeModules/FindSDL2.cmake) + +set(OPTIONS) +if(NOT "collada" IN_LIST FEATURES) + list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_COLLADA=ON) +endif() +list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_FFmpeg=ON) +list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_DCMTK=ON) +list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GStreamer=ON) +list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GLIB=ON) +list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_SDL=ON) +list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_LIBLAS=ON) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS diff --git a/ports/pbc/CONTROL b/ports/pbc/CONTROL index b717ac1e52..1577832fd6 100644 --- a/ports/pbc/CONTROL +++ b/ports/pbc/CONTROL @@ -3,3 +3,4 @@ Version: 0.5.14-2 Build-Depends: mpir (windows) Homepage: https://crypto.stanford.edu/pbc Description: Pairing-Based Crypto library provides low-level routines for pairing-based cryptosystems. +Supports: !uwp \ No newline at end of file diff --git a/ports/physx/CONTROL b/ports/physx/CONTROL index 49150dc292..c744a2ae36 100644 --- a/ports/physx/CONTROL +++ b/ports/physx/CONTROL @@ -1,3 +1,4 @@ -Source: physx -Version: 4.1.1-3 -Description: The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs +Source: physx +Version: 4.1.1-3 +Description: The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs +Supports: !uwp diff --git a/ports/pistache/CONTROL b/ports/pistache/CONTROL index c1b4408cf5..307fe01916 100644 --- a/ports/pistache/CONTROL +++ b/ports/pistache/CONTROL @@ -1,4 +1,5 @@ Source: pistache Version: 2019-08-05 Homepage: https://github.com/oktal/pistache -Description: Pistache is a modern and elegant HTTP and REST framework for C++. It is entirely written in pure-C++11 and provides a clear and pleasant API. \ No newline at end of file +Description: Pistache is a modern and elegant HTTP and REST framework for C++. It is entirely written in pure-C++11 and provides a clear and pleasant API. +Supports: linux \ No newline at end of file diff --git a/ports/pmdk/CONTROL b/ports/pmdk/CONTROL index c2e5bed303..4b4cac6b2f 100644 --- a/ports/pmdk/CONTROL +++ b/ports/pmdk/CONTROL @@ -2,3 +2,4 @@ Source: pmdk Version: 1.7-1 Homepage: https://github.com/pmem/pmdk Description: Persistent Memory Development Kit +Supports: !(arm|x86) \ No newline at end of file diff --git a/ports/portmidi/CONTROL b/ports/portmidi/CONTROL index 07ba19c0c7..1a9917935a 100644 --- a/ports/portmidi/CONTROL +++ b/ports/portmidi/CONTROL @@ -2,3 +2,4 @@ Source: portmidi Version: 0.217.1-1 Homepage: https://sourceforge.net/projects/portmedia/ Description: Free, cross-platform, open-source I/O library for MIDI +Supports: !uwp \ No newline at end of file diff --git a/ports/ptex/CONTROL b/ports/ptex/CONTROL index 823988f856..501913cf5b 100644 --- a/ports/ptex/CONTROL +++ b/ports/ptex/CONTROL @@ -3,3 +3,4 @@ Version: 2.3.2-1 Homepage: https://github.com/wdas/ptex Description: Per-Face Texture Mapping for Production Rendering. Build-Depends: zlib +Supports: !uwp \ No newline at end of file diff --git a/ports/pthreads/CONTROL b/ports/pthreads/CONTROL index 43c38ffdbe..19e2bd0ac8 100644 --- a/ports/pthreads/CONTROL +++ b/ports/pthreads/CONTROL @@ -2,3 +2,4 @@ Source: pthreads Version: 3.0.0-4 Homepage: https://sourceware.org/pub/pthreads-win32/ Description: pthreads for windows +Supports: !(uwp|arm|arm64) \ No newline at end of file diff --git a/ports/pthreads/portfile.cmake b/ports/pthreads/portfile.cmake index 393fefddc7..3abb2d5911 100644 --- a/ports/pthreads/portfile.cmake +++ b/ports/pthreads/portfile.cmake @@ -1,14 +1,12 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - message(FATAL_ERROR "${PORT} does not currently support UWP platform nor ARM architectures") -endif() - if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(VCPKG_POLICY_EMPTY_PACKAGE enabled) return() endif() +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + message(FATAL_ERROR "${PORT} does not currently support UWP platform nor ARM architectures") +endif() + set(PTHREADS4W_VERSION "3.0.0") vcpkg_download_distfile(ARCHIVE @@ -98,3 +96,5 @@ file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pt file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/pthread) file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/pthreads) file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/pthreads_windows) + +set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) diff --git a/ports/qt5-activeqt/CONTROL b/ports/qt5-activeqt/CONTROL index 4ec2594b35..e4aa3b5c16 100644 --- a/ports/qt5-activeqt/CONTROL +++ b/ports/qt5-activeqt/CONTROL @@ -2,3 +2,4 @@ Source: qt5-activeqt Version: 5.12.5 Description: Qt5 ActiveQt Module - ActiveX components Build-Depends: qt5-base +Supports: windows \ No newline at end of file diff --git a/ports/qt5-connectivity/CONTROL b/ports/qt5-connectivity/CONTROL index 0bec2a8b4c..245cfa1b19 100644 --- a/ports/qt5-connectivity/CONTROL +++ b/ports/qt5-connectivity/CONTROL @@ -1,4 +1,4 @@ Source: qt5-connectivity Version: 5.12.5-1 Description: Qt5 Connectivity module - Provides access to Bluetooth and NFC hardware -Build-Depends: qt5-base, qt5-androidextras (android) +Build-Depends: qt5-base diff --git a/ports/qt5-macextras/CONTROL b/ports/qt5-macextras/CONTROL index 21b0ad5fa7..6bd46f216c 100644 --- a/ports/qt5-macextras/CONTROL +++ b/ports/qt5-macextras/CONTROL @@ -2,3 +2,4 @@ Source: qt5-macextras Version: 5.12.5 Description: Qt5 Mac Extras Module. Provides platform-specific APIs for mac. Build-Depends: qt5-base +Supports: osx \ No newline at end of file diff --git a/ports/qt5-purchasing/CONTROL b/ports/qt5-purchasing/CONTROL index f970ba418c..f83c480537 100644 --- a/ports/qt5-purchasing/CONTROL +++ b/ports/qt5-purchasing/CONTROL @@ -1,4 +1,4 @@ Source: qt5-purchasing Version: 5.12.5-1 Description: Qt5 Purchasing Module - Enables in-app purchase of products in Qt applications. -Build-Depends: qt5-base, qt5-declarative, qt5-androidextras (android) +Build-Depends: qt5-base, qt5-declarative diff --git a/ports/qt5-winextras/CONTROL b/ports/qt5-winextras/CONTROL index 5d948ee5ce..3f65220bf3 100644 --- a/ports/qt5-winextras/CONTROL +++ b/ports/qt5-winextras/CONTROL @@ -2,3 +2,4 @@ Source: qt5-winextras Version: 5.12.5-1 Description: Qt5 Windows Extras Module. Provides platform-specific APIs for Windows. Build-Depends: qt5-base, atlmfc (windows), qt5-declarative, qt5-multimedia +Supports: windows \ No newline at end of file diff --git a/ports/rabit/CONTROL b/ports/rabit/CONTROL index 7b07cba7b5..64dd8ea8d8 100644 --- a/ports/rabit/CONTROL +++ b/ports/rabit/CONTROL @@ -3,4 +3,4 @@ Version: 0.1-2 Homepage: https://github.com/dmlc/rabit Description: rabit is a light weight library that provides a fault tolerant interface of Allreduce and Broadcast. It is designed to support easy implementations of distributed machine learning programs, many of which fall naturally under the Allreduce abstraction. Build-Depends: dmlc - +Supports: !uwp diff --git a/ports/raylib/CONTROL b/ports/raylib/CONTROL index 8d50803e64..2113f5760d 100644 --- a/ports/raylib/CONTROL +++ b/ports/raylib/CONTROL @@ -1,6 +1,7 @@ Source: raylib Version: 2.5.0 Description: A simple and easy-to-use library to enjoy videogames programming +Supports: !(arm|uwp) #Build-Depends: glfw3 Feature: non-audio diff --git a/ports/readline/CONTROL b/ports/readline/CONTROL index 4fdb10939f..c487f389b5 100644 --- a/ports/readline/CONTROL +++ b/ports/readline/CONTROL @@ -2,3 +2,4 @@ Source: readline Version: 0 Description: GNU readline and history libraries Build-Depends: readline-win32 (windows) +Supports: !uwp \ No newline at end of file diff --git a/ports/rhash/CONTROL b/ports/rhash/CONTROL index a2bb52c2f2..8b838cc39a 100644 --- a/ports/rhash/CONTROL +++ b/ports/rhash/CONTROL @@ -2,3 +2,4 @@ Source: rhash Version: 1.3.8 Homepage: https://github.com/rhash/RHash Description: C library for computing a wide variety of hash sums +Supports: !uwp diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL index 10beb200a1..b835b87e11 100644 --- a/ports/sciter/CONTROL +++ b/ports/sciter/CONTROL @@ -2,3 +2,4 @@ Source: sciter Version: 4.2.6.9-2 Homepage: https://github.com/c-smile/sciter-sdk Description: Sciter is an embeddable HTML/CSS/scripting engine. +Supports: !uwp \ No newline at end of file diff --git a/ports/septag-sx/CONTROL b/ports/septag-sx/CONTROL index ee9917e667..a41e214af5 100644 --- a/ports/septag-sx/CONTROL +++ b/ports/septag-sx/CONTROL @@ -1,3 +1,4 @@ Source: septag-sx Version: 2019-05-07-2 Description: Portable base library for C programmers, designed for performance and simplicity. +Supports: !(uwp|arm) \ No newline at end of file diff --git a/ports/simdjson/CONTROL b/ports/simdjson/CONTROL index 14f70df1c2..fe34d9af31 100644 --- a/ports/simdjson/CONTROL +++ b/ports/simdjson/CONTROL @@ -2,3 +2,4 @@ Source: simdjson Version: 2019-12-27 Description: A extremely fast JSON library that can parse gigabytes of JSON per second Homepage: https://github.com/lemire/simdjson +Supports: !(x86|arm|arm64) \ No newline at end of file diff --git a/ports/soundtouch/CONTROL b/ports/soundtouch/CONTROL index 7ce1c2ba65..28b6ac87c3 100644 --- a/ports/soundtouch/CONTROL +++ b/ports/soundtouch/CONTROL @@ -3,3 +3,4 @@ Version: 2.0.0-4 Homepage: https://www.surina.net/soundtouch Description: SoundTouch is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or audio files. Build-Depends: atlmfc (windows) +Supports: !uwp \ No newline at end of file diff --git a/ports/spdk-dpdk/CONTROL b/ports/spdk-dpdk/CONTROL index 02647149a1..61d1415cdd 100644 --- a/ports/spdk-dpdk/CONTROL +++ b/ports/spdk-dpdk/CONTROL @@ -1,4 +1,4 @@ Source: spdk-dpdk Version: 20181124 Description: SPDK mirror of DPDK. A set of libraries and drivers for fast packet processing - +Supports: linux diff --git a/ports/spdk-ipsec/CONTROL b/ports/spdk-ipsec/CONTROL index 3f8e1a0344..7adb9c4c99 100644 --- a/ports/spdk-ipsec/CONTROL +++ b/ports/spdk-ipsec/CONTROL @@ -1,4 +1,4 @@ Source: spdk-ipsec Version: 20180711 Description: SPDK mirror of ipsec. Intel(R) Multi-Buffer Crypto for IPsec Library - +Supports: x64 diff --git a/ports/spdk-isal/CONTROL b/ports/spdk-isal/CONTROL index abfbe3de01..1a134ae14e 100644 --- a/ports/spdk-isal/CONTROL +++ b/ports/spdk-isal/CONTROL @@ -1,4 +1,4 @@ Source: spdk-isal Version: 20181006 Description: SPDK mirror of isa-l. Intel(R) Intelligent Storage Acceleration Library - +Supports: x64 diff --git a/ports/spdk/CONTROL b/ports/spdk/CONTROL index 5e2cf3ca2c..0233395c11 100644 --- a/ports/spdk/CONTROL +++ b/ports/spdk/CONTROL @@ -1,4 +1,5 @@ Source: spdk Version: 19.01.1 Description: Storage Performance Development Kit -Build-Depends: spdk-dpdk, spdk-ipsec, spdk-isal \ No newline at end of file +Build-Depends: spdk-dpdk, spdk-ipsec, spdk-isal +Supports: linux \ No newline at end of file diff --git a/ports/teemo/CONTROL b/ports/teemo/CONTROL index 2ee045a353..4d96fe5af2 100644 --- a/ports/teemo/CONTROL +++ b/ports/teemo/CONTROL @@ -1,5 +1,5 @@ Source: teemo -Version: 1.2 +Version: 1.2-1 Build-Depends: curl[non-http], cpprestsdk Description: C++ File Download Library, support Multithreading, Breakpoint Transmission, Speed Limit, Real-time Speed. Homepage: https://github.com/winsoft666/teemo \ No newline at end of file diff --git a/ports/teemo/adjust-install-dir.patch b/ports/teemo/adjust-install-dir.patch new file mode 100644 index 0000000000..3ca1dcf56d --- /dev/null +++ b/ports/teemo/adjust-install-dir.patch @@ -0,0 +1,22 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 20de97c..0009c8a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -108,7 +108,7 @@ set_target_properties(${LIB_NAME} + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" ) + + target_include_directories(${LIB_NAME} INTERFACE +- $) ++ $) + + install(TARGETS ${LIB_NAME} + EXPORT ${LIB_NAME}-target +@@ -117,7 +117,7 @@ install(TARGETS ${LIB_NAME} + ARCHIVE DESTINATION lib) + + +-install(FILES ${HEADER_FILES} DESTINATION include) ++install(FILES ${HEADER_FILES} DESTINATION include/teemo) + + + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../CMake/teemo-config.cmake diff --git a/ports/teemo/portfile.cmake b/ports/teemo/portfile.cmake index df79626c0b..07b5d5a534 100644 --- a/ports/teemo/portfile.cmake +++ b/ports/teemo/portfile.cmake @@ -6,6 +6,9 @@ vcpkg_from_github( REF 15edb1705d18ee78b32516a8ae52d6b10507af62 SHA512 7dbe917d48b1e8c4b004bad33d8a82524e501d8bec6cdeca4e89ebbe8ed79fa484028c3afd365347e31fa83f64a6f0f5a42ea0063baa7c0985824fb3dffcc8f2 HEAD_REF master + PATCHES + # Installing "slice.h" to the root include directory causes build issues in many other libraries + adjust-install-dir.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" TEEMO_STATIC) @@ -26,13 +29,13 @@ elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/teemo) vcpkg_fixup_cmake_targets(CONFIG_PATH share/teemo) endif() -file(READ ${CURRENT_PACKAGES_DIR}/include/teemo.h TEEMO_H) +file(READ ${CURRENT_PACKAGES_DIR}/include/teemo/teemo.h TEEMO_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") string(REPLACE "#ifdef TEEMO_STATIC" "#if 1" TEEMO_H "${TEEMO_H}") else() string(REPLACE "#ifdef TEEMO_STATIC" "#if 0" TEEMO_H "${TEEMO_H}") endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/teemo.h "${TEEMO_H}") +file(WRITE ${CURRENT_PACKAGES_DIR}/include/teemo/teemo.h "${TEEMO_H}") file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/telnetpp/CONTROL b/ports/telnetpp/CONTROL index 53dd8657aa..ffb5ef01a3 100644 --- a/ports/telnetpp/CONTROL +++ b/ports/telnetpp/CONTROL @@ -4,6 +4,7 @@ Homepage: https://github.com/KazDragon/telnetpp Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14 Build-Depends: boost-container, boost-signals2, boost-variant, gsl-lite, boost-exception Default-Features: zlib +Supports: !uwp Feature: zlib Description: Zlib support diff --git a/ports/tensorflow-cc/CONTROL b/ports/tensorflow-cc/CONTROL index 29f15a376c..8bcc1cc359 100644 --- a/ports/tensorflow-cc/CONTROL +++ b/ports/tensorflow-cc/CONTROL @@ -2,3 +2,4 @@ Source: tensorflow-cc Version: 1.14-1 Description: Library for computation using data flow graphs for scalable machine learning Build-Depends: c-ares +Supports: !x86 \ No newline at end of file diff --git a/ports/tgui/portfile.cmake b/ports/tgui/portfile.cmake index 33e3dd9bf3..736946af93 100644 --- a/ports/tgui/portfile.cmake +++ b/ports/tgui/portfile.cmake @@ -11,7 +11,7 @@ set(TGUI_TOOLS_PATH ${CURRENT_PACKAGES_DIR}/tools/tgui) # Enable static build file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindSFML.cmake") -string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" TGUI_SHARED_LIBS) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" TGUI_SHARED_LIBS) # gui-builder set(BUILD_GUI_BUILDER OFF) @@ -21,6 +21,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE PREFER_NINJA OPTIONS -DTGUI_BUILD_GUI_BUILDER=${BUILD_GUI_BUILDER} diff --git a/ports/tinkerforge/CONTROL b/ports/tinkerforge/CONTROL index 5eb67e96b2..da38ec368d 100644 --- a/ports/tinkerforge/CONTROL +++ b/ports/tinkerforge/CONTROL @@ -1,3 +1,4 @@ Source: tinkerforge Version: 2.1.25 Description: Tinkerforge C API bindings for bricks and bricklets +Supports: !uwp \ No newline at end of file diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL index 74d5814879..6dbc5f1233 100644 --- a/ports/unicorn/CONTROL +++ b/ports/unicorn/CONTROL @@ -2,3 +2,4 @@ Source: unicorn Version: 2019-07-11 Homepage: https://github.com/unicorn-engine/unicorn Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework +Supports: !uwp diff --git a/ports/upb/CONTROL b/ports/upb/CONTROL index d42b9e367c..cb9b6041d0 100644 --- a/ports/upb/CONTROL +++ b/ports/upb/CONTROL @@ -1,13 +1,4 @@ Source: upb -Version: 2019-10-21 +Version: 2019-10-21-1 Homepage: https://github.com/protocolbuffers/upb/ Description: μpb (often written 'upb') is a small protobuf implementation written in C. - -Feature: asan -Description: build with asan support - -Feature: ubsan -Description: build with ubsan support - -Feature: tests -Description: build tests \ No newline at end of file diff --git a/ports/upb/add-cmake-install.patch b/ports/upb/add-cmake-install.patch new file mode 100644 index 0000000000..ece6b8db43 --- /dev/null +++ b/ports/upb/add-cmake-install.patch @@ -0,0 +1,60 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 836c5ff..6eb8bb5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -8,7 +8,7 @@ else() + cmake_policy(VERSION 3.12) + endif() + +-cmake_minimum_required (VERSION 3.0) ++cmake_minimum_required (VERSION 3.14) + cmake_policy(SET CMP0048 NEW) + + project(upb) +@@ -59,7 +59,7 @@ elseif(UNIX) + endif() + + enable_testing() +- ++add_library(descriptor_upbproto INTERFACE) + add_library(upb + upb/decode.c + upb/encode.c +@@ -136,12 +136,35 @@ target_link_libraries(upb_cc_bindings INTERFACE + descriptor_upbproto + handlers + upb) +-add_library(upb_test ++if(ENABLE_TESTING) ++add_executable(upb_test + tests/testmain.cc + tests/test_util.h + tests/upb_test.h) + target_link_libraries(upb_test + handlers + upb) ++endif() + +- ++install( ++ DIRECTORY upb ++ DESTINATION include ++ FILES_MATCHING ++ PATTERN "*.h" ++ PATTERN "*.inc" ++ PATTERN "*.int.h" EXCLUDE ++) ++target_include_directories(upb PUBLIC $) ++install(TARGETS ++ upb ++ upb_cc_bindings ++ upb_json ++ upb_pb ++ table ++ descriptor_upbproto ++ handlers ++ legacy_msg_reflection ++ reflection ++ EXPORT upb-config ++) ++install(EXPORT upb-config NAMESPACE upb:: DESTINATION share/upb) diff --git a/ports/upb/fix-cmakelists.patch b/ports/upb/fix-cmakelists.patch deleted file mode 100644 index 4c7ab1413b..0000000000 --- a/ports/upb/fix-cmakelists.patch +++ /dev/null @@ -1,184 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 836c5ff..6ee66a7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -58,90 +58,148 @@ elseif(UNIX) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--build-id") - endif() - --enable_testing() -+if (ENABLE_TEST) -+ enable_testing() -+endif() - -+set(UPB_HDRS -+ ${CMAKE_CURRENT_LIST_DIR}/upb/generated_util.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/msg.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/table.int.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/port_def.inc -+ ${CMAKE_CURRENT_LIST_DIR}/upb/port_undef.inc -+ ${CMAKE_CURRENT_LIST_DIR}/upb/decode.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/encode.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/upb.h -+) -+ -+set(UBP_PROJECTS upb) - add_library(upb - upb/decode.c - upb/encode.c -- upb/generated_util.h - upb/msg.c -- upb/msg.h - upb/port.c -- upb/port_def.inc -- upb/port_undef.inc - upb/table.c -- upb/table.int.h - upb/upb.c -- upb/decode.h -- upb/encode.h -- upb/upb.h) -+ upb/upb.h -+ ${UPB_HDRS}) -+ -+ -+set(UBP_PROJECTS ${UBP_PROJECTS} generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me) - add_library(generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me INTERFACE) - target_link_libraries(generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me INTERFACE - upb) -+ -+set(REFLECTION_HDRS -+ ${CMAKE_CURRENT_LIST_DIR}/upb/def.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/msgfactory.h -+) -+ -+set(UBP_PROJECTS ${UBP_PROJECTS} reflection) - add_library(reflection - upb/def.c - upb/msgfactory.c -- upb/def.h -- upb/msgfactory.h) -+ ${REFLECTION_HDRS}) - target_link_libraries(reflection - descriptor_upbproto - table - upb) -+ -+set(UBP_PROJECTS ${UBP_PROJECTS} table) - add_library(table INTERFACE) - target_link_libraries(table INTERFACE - upb) -+ -+set(LEGACY_MSG_HDRS ${CMAKE_CURRENT_LIST_DIR}/upb/legacy_msg_reflection.h) -+ -+set(UBP_PROJECTS ${UBP_PROJECTS} legacy_msg_reflection) - add_library(legacy_msg_reflection - upb/legacy_msg_reflection.c -- upb/legacy_msg_reflection.h) -+ ${LEGACY_MSG_HDRS}) - target_link_libraries(legacy_msg_reflection - table - upb) -+ -+set(HANDLERS_HDRS -+ ${CMAKE_CURRENT_LIST_DIR}/upb/handlers-inl.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/handlers.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/sink.h -+) -+ -+set(UBP_PROJECTS ${UBP_PROJECTS} handlers) - add_library(handlers - upb/handlers.c -- upb/handlers-inl.h - upb/sink.c -- upb/handlers.h -- upb/sink.h) -+ ${HANDLERS_HDRS}) - target_link_libraries(handlers - reflection - table - upb) -+ -+set(UPB_PB_HDRS -+ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/decoder.int.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/varint.int.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/decoder.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/encoder.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/textprinter.h -+) -+ -+set(UBP_PROJECTS ${UBP_PROJECTS} upb_pb) - add_library(upb_pb - upb/pb/compile_decoder.c - upb/pb/decoder.c -- upb/pb/decoder.int.h - upb/pb/encoder.c - upb/pb/textprinter.c - upb/pb/varint.c -- upb/pb/varint.int.h -- upb/pb/decoder.h -- upb/pb/encoder.h -- upb/pb/textprinter.h) -+ ${UPB_PB_HDRS}) - target_link_libraries(upb_pb - descriptor_upbproto - handlers - reflection - table - upb) -+ -+set(UPB_JSON_HDRS -+ ${CMAKE_CURRENT_LIST_DIR}/upb/json/parser.h -+ ${CMAKE_CURRENT_LIST_DIR}/upb/json/printer.h -+) -+ -+set(UBP_PROJECTS ${UBP_PROJECTS} upb_json) - add_library(upb_json - generated_for_cmake/upb/json/parser.c - upb/json/printer.c -- upb/json/parser.h -- upb/json/printer.h) -+ ${UPB_JSON_HDRS}) - target_link_libraries(upb_json - upb - upb_pb) -+ -+set(UBP_PROJECTS ${UBP_PROJECTS} upb_cc_bindings) - add_library(upb_cc_bindings INTERFACE) - target_link_libraries(upb_cc_bindings INTERFACE - descriptor_upbproto - handlers - upb) --add_library(upb_test -- tests/testmain.cc -- tests/test_util.h -- tests/upb_test.h) --target_link_libraries(upb_test -- handlers -- upb) -- - -+if (ENABLE_TEST) -+ set(UBP_PROJECTS ${UBP_PROJECTS} upb_test) -+ add_library(upb_test -+ tests/testmain.cc -+ tests/test_util.h -+ tests/upb_test.h) -+ target_link_libraries(upb_test -+ handlers -+ upb) -+endif() -+ -+install(FILES ${UPB_HDRS} ${REFLECTION_HDRS} ${LEGACY_MSG_HDRS} ${HANDLERS_HDRS} DESTINATION include/upb) -+install(FILES ${UPB_PB_HDRS} DESTINATION include/upb/pb) -+install(FILES ${UPB_JSON_HDRS} DESTINATION include/upb/json) -+ -+foreach(PROJ ${UBP_PROJECTS}) -+ install( -+ TARGETS ${PROJ} -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+ ) -+endforeach() -\ No newline at end of file diff --git a/ports/upb/portfile.cmake b/ports/upb/portfile.cmake index 303587cea0..b5a46253cd 100644 --- a/ports/upb/portfile.cmake +++ b/ports/upb/portfile.cmake @@ -1,29 +1,27 @@ -vcpkg_fail_port_install(ON_TARGET "Windows") +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO protocolbuffers/upb - REF 9effcbcb27f0a665f9f345030188c0b291e32482 - SHA512 416ff26ec21181d53be23e94203205072152ab3a8e4b3b28d16263a601995fd2d2f8afe5d8cfbecdac8543249482287b9fe6129314f7c9a7880660f5508bb85e + OUT_SOURCE_PATH SOURCE_PATH + REPO protocolbuffers/upb + REF 9effcbcb27f0a665f9f345030188c0b291e32482 + SHA512 416ff26ec21181d53be23e94203205072152ab3a8e4b3b28d16263a601995fd2d2f8afe5d8cfbecdac8543249482287b9fe6129314f7c9a7880660f5508bb85e HEAD_REF master - PATCHES fix-cmakelists.patch -) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - asan UPB_ENABLE_ASAN - ubsan UPB_ENABLE_UBSAN - tests ENABLE_TEST + PATCHES add-cmake-install.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + # empty folder + ${CURRENT_PACKAGES_DIR}/include/upb/bindings/lua/upb +) file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/uvatlas/CONTROL b/ports/uvatlas/CONTROL index 0c0cb84b30..e1621c5b5b 100644 --- a/ports/uvatlas/CONTROL +++ b/ports/uvatlas/CONTROL @@ -1,4 +1,5 @@ Source: uvatlas Version: dec2019 Homepage: https://github.com/Microsoft/UVAtlas -Description: UVAtlas isochart texture atlas \ No newline at end of file +Description: UVAtlas isochart texture atlas +Supports: windows \ No newline at end of file diff --git a/ports/vectorclass/CONTROL b/ports/vectorclass/CONTROL index cc34713589..a5110d95c8 100644 --- a/ports/vectorclass/CONTROL +++ b/ports/vectorclass/CONTROL @@ -2,3 +2,4 @@ Source: vectorclass Version: 2.00.01 Homepage: https://github.com/vectorclass/version2 Description: C++ class library for using the Single Instruction Multiple Data (SIMD) instructions in modern Microprocessors +Supports: !(arm|arm64) \ No newline at end of file diff --git a/ports/winreg/CONTROL b/ports/winreg/CONTROL index 6b798d4d0d..0e2cc71886 100644 --- a/ports/winreg/CONTROL +++ b/ports/winreg/CONTROL @@ -1,4 +1,5 @@ Source: winreg Version: 1.2.1-1 Homepage: https://github.com/GiovanniDicanio/WinReg -Description: High-level C++ wrapper around the Windows Registry C API. \ No newline at end of file +Description: High-level C++ wrapper around the Windows Registry C API. +Supports: windows || uwp \ No newline at end of file diff --git a/ports/wintoast/CONTROL b/ports/wintoast/CONTROL index d9d410796d..033a5abdf2 100644 --- a/ports/wintoast/CONTROL +++ b/ports/wintoast/CONTROL @@ -1,3 +1,4 @@ Source: wintoast Version: 1.2.0 -Description: WinToast is a lightly library written in C++ which brings a complete integration of the modern toast notifications of Windows 8 & Windows 10. \ No newline at end of file +Description: WinToast is a lightly library written in C++ which brings a complete integration of the modern toast notifications of Windows 8 & Windows 10. +Supports: !uwp \ No newline at end of file diff --git a/ports/x-plane/CONTROL b/ports/x-plane/CONTROL index c151e87196..de1217a60f 100644 --- a/ports/x-plane/CONTROL +++ b/ports/x-plane/CONTROL @@ -1,3 +1,4 @@ Source: x-plane Version: 3.0.1-1 Description: The X-Plane Plugin SDK. +Supports: !x86 \ No newline at end of file diff --git a/ports/x265/CONTROL b/ports/x265/CONTROL index 0ed00a54dd..c94ba68012 100644 --- a/ports/x265/CONTROL +++ b/ports/x265/CONTROL @@ -1,4 +1,4 @@ Source: x265 -Version: 3.2-1 +Version: 3.2-3 Homepage: https://bitbucket.org/multicoreware/x265 Description: x265 is a H.265 / HEVC video encoder application library, designed to encode video or images into an H.265 / HEVC encoded bitstream. diff --git a/ports/yasm/CONTROL b/ports/yasm/CONTROL index 5cb3492708..bdcaaea9f4 100644 --- a/ports/yasm/CONTROL +++ b/ports/yasm/CONTROL @@ -2,3 +2,4 @@ Source: yasm Version: 1.3.0 Homepage: https://github.com/yasm/yasm Description: Yasm is a complete rewrite of the NASM assembler under the “new” BSD License. +Supports: windows & !uwp & !arm \ No newline at end of file diff --git a/ports/yoga/CONTROL b/ports/yoga/CONTROL index 52e8498a3c..5a0c6d2608 100644 --- a/ports/yoga/CONTROL +++ b/ports/yoga/CONTROL @@ -2,3 +2,4 @@ Source: yoga Version: 1.16.0-1 Homepage: https://github.com/facebook/yoga Description: Yoga is a cross-platform layout engine which implements Flexbox +Supports: !uwp diff --git a/ports/z3/CONTROL b/ports/z3/CONTROL index be11a9d7c4..866f2cf5f4 100644 --- a/ports/z3/CONTROL +++ b/ports/z3/CONTROL @@ -1,4 +1,5 @@ Source: z3 Version: 4.8.6 Homepage: https://github.com/Z3Prover/z3 -Description: Z3 is a theorem prover from Microsoft Research. \ No newline at end of file +Description: Z3 is a theorem prover from Microsoft Research. +Supports: !arm64 && !uwp diff --git a/ports/zfp/CONTROL b/ports/zfp/CONTROL index eb9505fa46..164bade9d5 100644 --- a/ports/zfp/CONTROL +++ b/ports/zfp/CONTROL @@ -1,5 +1,5 @@ Source: zfp -Version: 0.5.5-1 +Version: 0.5.5-2 Homepage: https://github.com/LLNL/zfp Description: Zfp is an open source C/C++ library for compressed numerical arrays that support high throughput read and write random access. zfp also supports streaming compression of integer and floating-point data, e.g., for applications that read and write large data sets to and from disk. zfp is primarily written in C and C++ but also includes Python and Fortran bindings. diff --git a/ports/zfp/portfile.cmake b/ports/zfp/portfile.cmake index 7c9af25476..d189762b7b 100644 --- a/ports/zfp/portfile.cmake +++ b/ports/zfp/portfile.cmake @@ -31,12 +31,16 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +# Rename problematic root include "bitstream.h"; conflicts with x265's private headers +file(RENAME ${CURRENT_PACKAGES_DIR}/include/bitstream.h ${CURRENT_PACKAGES_DIR}/include/zfp/bitstream.h) +vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/zfp.h "\"bitstream.h\"" "\"zfp/bitstream.h\"") + vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index e13f9870f9..b658bcea37 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -224,6 +224,9 @@ chakracore:x64-linux=fail chakracore:x64-osx=fail chakracore:x64-uwp=fail chakracore:x64-windows-static=fail +# DCMTK currently has a vendored copy of libcharls.a, which causes conflicts with charls (TODO: use charls' copy) +charls:x64-linux=skip +charls:x64-osx=skip chartdir:arm64-windows=fail chartdir:arm-uwp=fail chartdir:x64-uwp=fail @@ -654,7 +657,6 @@ jemalloc:x64-uwp=fail jemalloc:x64-windows-static=fail jinja2cpplight:arm-uwp=fail jinja2cpplight:x64-uwp=fail -jsonnet:x64-osx=fail kd-soap:x64-linux=fail kd-soap:x64-osx=fail kd-soap:x64-windows-static=fail @@ -785,12 +787,15 @@ libmariadb:x64-uwp = skip libmariadb:x64-windows = skip libmariadb:x64-windows-static = skip libmariadb:x86-windows = skip -libmesh:arm64-windows=fail -libmesh:arm-uwp=fail -libmesh:x64-uwp=fail -libmesh:x64-windows=fail -libmesh:x64-windows-static=fail -libmesh:x86-windows=fail +# libmesh installs tons of problematic files that conflict with other ports (boost, eigen, etc) +libmesh:arm64-windows=skip +libmesh:arm-uwp=skip +libmesh:x64-uwp=skip +libmesh:x64-windows=skip +libmesh:x64-windows-static=skip +libmesh:x86-windows=skip +libmesh:x64-osx=skip +libmesh:x64-linux=skip libmicrohttpd:arm64-windows=fail libmicrohttpd:arm-uwp=fail libmicrohttpd:x64-linux=fail @@ -1057,11 +1062,18 @@ minizip:x64-uwp=fail mlpack:x64-linux=ignore mman:x64-linux=fail mman:x64-osx=fail -mmx:x64-windows=ignore -mmx:x64-windows-static=ignore -mmx:x86-windows=ignore +# mmx installs many problematic headers, such as `json.h` and `sched.h` +mmx:x64-windows=skip +mmx:x64-windows-static=skip +mmx:x86-windows=skip +mmx:x64-linux=skip +mmx:x64-osx=skip +mmx:arm-uwp=skip +mmx:x64-uwp=skip +mmx:arm64-windows=skip mongo-c-driver:arm64-windows=fail -mongo-c-driver:x64-osx=fail +# Flaky strange linker error +mongo-c-driver:x64-osx=skip mongoose:arm-uwp=fail mongoose:x64-uwp=fail monkeys-audio:arm64-windows=fail @@ -1722,12 +1734,8 @@ unrar:x64-linux=fail unrar:x64-osx=fail unrar:x64-uwp=fail unrar:x64-windows-static=fail -upb:arm64-windows=fail upb:arm-uwp=fail upb:x64-uwp=fail -upb:x64-windows=fail -upb:x64-windows-static=fail -upb:x86-windows=fail urdfdom:x64-windows-static=fail usd:x64-linux=ignore usd:x86-windows=fail diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake index a042d9124c..d72381be5f 100644 --- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake +++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake @@ -30,7 +30,6 @@ function(vcpkg_fixup_cmake_targets) set(_vfct_TARGET_PATH share/${PORT}) endif() - if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(EXECUTABLE_SUFFIX "\\.exe") else() @@ -49,7 +48,6 @@ function(vcpkg_fixup_cmake_targets) set(DEBUG_CONFIG ${CURRENT_PACKAGES_DIR}/debug/${_vfct_CONFIG_PATH}) set(RELEASE_CONFIG ${CURRENT_PACKAGES_DIR}/${_vfct_CONFIG_PATH}) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") if(NOT EXISTS ${DEBUG_CONFIG}) message(FATAL_ERROR "'${DEBUG_CONFIG}' does not exist.") diff --git a/scripts/get_triplet_environment.cmake b/scripts/get_triplet_environment.cmake deleted file mode 100644 index 3b0b9fbefa..0000000000 --- a/scripts/get_triplet_environment.cmake +++ /dev/null @@ -1,16 +0,0 @@ -include(${CMAKE_TRIPLET_FILE}) -if (DEFINED VCPKG_ENV_OVERRIDES_FILE) - include(${VCPKG_ENV_OVERRIDES_FILE}) -endif() - -# GUID used as a flag - "cut here line" -message("c35112b6-d1ba-415b-aa5d-81de856ef8eb") -message("VCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}") -message("VCPKG_CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}") -message("VCPKG_CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}") -message("VCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET}") -message("VCPKG_VISUAL_STUDIO_PATH=${VCPKG_VISUAL_STUDIO_PATH}") -message("VCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") -message("VCPKG_BUILD_TYPE=${VCPKG_BUILD_TYPE}") -message("VCPKG_ENV_PASSTHROUGH=${VCPKG_ENV_PASSTHROUGH}") -message("VCPKG_PUBLIC_ABI_OVERRIDE=${VCPKG_PUBLIC_ABI_OVERRIDE}") diff --git a/scripts/ports.cmake b/scripts/ports.cmake index 1aea1ffa37..20e59a1847 100644 --- a/scripts/ports.cmake +++ b/scripts/ports.cmake @@ -78,13 +78,9 @@ if(CMD MATCHES "^BUILD$") include(${CMAKE_TRIPLET_FILE}) - if (DEFINED VCPKG_ENV_OVERRIDES_FILE) - include(${VCPKG_ENV_OVERRIDES_FILE}) - endif() - - if (DEFINED VCPKG_PORT_TOOLCHAINS) - foreach(VCPKG_PORT_TOOLCHAIN ${VCPKG_PORT_TOOLCHAINS}) - include(${VCPKG_PORT_TOOLCHAIN}) + if (DEFINED VCPKG_PORT_CONFIGS) + foreach(VCPKG_PORT_CONFIG ${VCPKG_PORT_CONFIGS}) + include(${VCPKG_PORT_CONFIG}) endforeach() endif() @@ -115,6 +111,9 @@ if(CMD MATCHES "^BUILD$") if (DEFINED VCPKG_POLICY_EMPTY_INCLUDE_FOLDER) file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyEmptyIncludeFolder: ${VCPKG_POLICY_EMPTY_INCLUDE_FOLDER}\n") endif() + if (DEFINED VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS) + file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyAllowRestrictedHeaders: ${VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS}\n") + endif() if (DEFINED VCPKG_HEAD_VERSION) file(APPEND ${BUILD_INFO_FILE_PATH} "Version: ${VCPKG_HEAD_VERSION}\n") endif() diff --git a/scripts/vcpkg_get_dep_info.cmake b/scripts/vcpkg_get_dep_info.cmake new file mode 100644 index 0000000000..92212b82d0 --- /dev/null +++ b/scripts/vcpkg_get_dep_info.cmake @@ -0,0 +1,19 @@ +function(vcpkg_get_dep_info PORT VCPKG_TRIPLET_ID) + message("d8187afd-ea4a-4fc3-9aa4-a6782e1ed9af") + vcpkg_triplet_file(${VCPKG_TRIPLET_ID}) + + # GUID used as a flag - "cut here line" + message("c35112b6-d1ba-415b-aa5d-81de856ef8eb +VCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE} +VCPKG_CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME} +VCPKG_CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION} +VCPKG_LIBRARY_LINKAGE=${VCPKG_LIBRARY_LINKAGE} +VCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE} +VCPKG_DEP_INFO_OVERRIDE_VARS=${VCPKG_DEP_INFO_OVERRIDE_VARS} +CMAKE_HOST_SYSTEM_NAME=${CMAKE_HOST_SYSTEM_NAME} +CMAKE_HOST_SYSTEM_PROCESSOR=${CMAKE_HOST_SYSTEM_PROCESSOR} +CMAKE_HOST_SYSTEM_VERSION=${CMAKE_HOST_SYSTEM_VERSION} +CMAKE_HOST_SYSTEM=${CMAKE_HOST_SYSTEM} +e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f +8c504940-be29-4cba-9f8f-6cd83e9d87b7") +endfunction() diff --git a/scripts/vcpkg_get_tags.cmake b/scripts/vcpkg_get_tags.cmake new file mode 100644 index 0000000000..ccdc4fea62 --- /dev/null +++ b/scripts/vcpkg_get_tags.cmake @@ -0,0 +1,28 @@ +function(vcpkg_get_tags PORT FEATURES VCPKG_TRIPLET_ID VCPKG_ABI_SETTINGS_FILE) + message("d8187afd-ea4a-4fc3-9aa4-a6782e1ed9af") + vcpkg_triplet_file(${VCPKG_TRIPLET_ID}) + + # GUID used as a flag - "cut here line" + message("c35112b6-d1ba-415b-aa5d-81de856ef8eb +VCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE} +VCPKG_CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME} +VCPKG_CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION} +VCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET} +VCPKG_VISUAL_STUDIO_PATH=${VCPKG_VISUAL_STUDIO_PATH} +VCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE} +VCPKG_BUILD_TYPE=${VCPKG_BUILD_TYPE} +e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f") + + # Just to enforce the user didn't set it in the triplet file + if (DEFINED VCPKG_PUBLIC_ABI_OVERRIDE) + set(VCPKG_PUBLIC_ABI_OVERRIDE) + message(WARNING "VCPKG_PUBLIC_ABI_OVERRIDE set in the triplet will be ignored.") + endif() + include("${VCPKG_ABI_SETTINGS_FILE}" OPTIONAL) + + message("c35112b6-d1ba-415b-aa5d-81de856ef8eb +VCPKG_PUBLIC_ABI_OVERRIDE=${VCPKG_PUBLIC_ABI_OVERRIDE} +VCPKG_ENV_PASSTHROUGH=${VCPKG_ENV_PASSTHROUGH} +e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f +8c504940-be29-4cba-9f8f-6cd83e9d87b7") +endfunction() diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt index 80548a8198..f9cb2e7e9e 100644 --- a/toolsrc/VERSION.txt +++ b/toolsrc/VERSION.txt @@ -1 +1 @@ -"2020.01.17" +"2020.01.18" diff --git a/toolsrc/include/vcpkg-test/mockcmakevarprovider.h b/toolsrc/include/vcpkg-test/mockcmakevarprovider.h new file mode 100644 index 0000000000..03defdcddb --- /dev/null +++ b/toolsrc/include/vcpkg-test/mockcmakevarprovider.h @@ -0,0 +1,38 @@ +#pragma once + +#include + +namespace vcpkg::Test +{ + struct MockCMakeVarProvider : CMakeVars::CMakeVarProvider + { + void load_generic_triplet_vars(const Triplet& triplet) const override { generic_triplet_vars[triplet] = {}; } + + void load_dep_info_vars(Span specs) const override + { + for (auto&& spec : specs) + dep_info_vars[spec] = {}; + } + + void load_tag_vars(Span specs, + const PortFileProvider::PortFileProvider& port_provider) const override + { + for (auto&& spec : specs) + tag_vars[spec.package_spec] = {}; + Util::unused(port_provider); + } + + Optional&> get_generic_triplet_vars( + const Triplet& triplet) const override; + + Optional&> get_dep_info_vars( + const PackageSpec& spec) const override; + + Optional&> get_tag_vars( + const PackageSpec& spec) const override; + + mutable std::unordered_map> dep_info_vars; + mutable std::unordered_map> tag_vars; + mutable std::unordered_map> generic_triplet_vars; + }; +} diff --git a/toolsrc/include/vcpkg-test/util.h b/toolsrc/include/vcpkg-test/util.h index 259b0ba7eb..088a39b7d5 100644 --- a/toolsrc/include/vcpkg-test/util.h +++ b/toolsrc/include/vcpkg-test/util.h @@ -17,6 +17,12 @@ namespace vcpkg::Test { + std::unique_ptr make_control_file( + const char* name, + const char* depends, + const std::vector>& features = {}, + const std::vector& default_features = {}); + std::unique_ptr make_status_pgh(const char* name, const char* depends = "", const char* default_features = "", @@ -27,6 +33,23 @@ namespace vcpkg::Test const char* depends = "", const char* triplet = "x86-windows"); + /// + /// Map of source control files by their package name. + /// + struct PackageSpecMap + { + std::unordered_map map; + Triplet triplet; + PackageSpecMap(const Triplet& t = Triplet::X86_WINDOWS) noexcept : triplet(t) {} + + PackageSpec emplace(const char* name, + const char* depends = "", + const std::vector>& features = {}, + const std::vector& default_features = {}); + + PackageSpec emplace(vcpkg::SourceControlFileLocation&& scfl); + }; + vcpkg::PackageSpec unsafe_pspec(std::string name, vcpkg::Triplet t = vcpkg::Triplet::X86_WINDOWS); template diff --git a/toolsrc/include/vcpkg/base/graphs.h b/toolsrc/include/vcpkg/base/graphs.h index 683735b1c1..f368a872d7 100644 --- a/toolsrc/include/vcpkg/base/graphs.h +++ b/toolsrc/include/vcpkg/base/graphs.h @@ -1,11 +1,10 @@ #pragma once +#include #include -#include -#include +#include #include -#include #include namespace vcpkg::Graphs @@ -95,10 +94,8 @@ namespace vcpkg::Graphs } } - template - std::vector topological_sort(VertexContainer starting_vertices, - const AdjacencyProvider& f, - Randomizer* randomizer) + template + std::vector topological_sort(Range starting_vertices, const AdjacencyProvider& f, Randomizer* randomizer) { std::vector sorted; std::unordered_map exploration_status; @@ -112,40 +109,4 @@ namespace vcpkg::Graphs return sorted; } - - template - struct Graph final : AdjacencyProvider - { - public: - void add_vertex(const V& v) { this->m_edges[v]; } - - void add_edge(const V& u, const V& v) - { - this->m_edges[v]; - this->m_edges[u].insert(v); - } - - std::vector vertex_list() const - { - std::vector vertex_list; - for (auto&& vertex : this->m_edges) - vertex_list.emplace_back(vertex.first); - return vertex_list; - } - - std::vector adjacency_list(const V& vertex) const override - { - const std::unordered_set& as_set = this->m_edges.at(vertex); - return std::vector(as_set.cbegin(), as_set.cend()); // TODO: Avoid redundant copy - } - - V load_vertex_data(const V& vertex) const override { return vertex; } - - // Note: this function indicates how tied this template is to the exact type it will be templated upon. - // Possible fix: This type shouldn't implement to_string() and should instead be derived from? - std::string to_string(const V& spec) const override { return spec->spec.to_string(); } - - private: - std::unordered_map> m_edges; - }; } diff --git a/toolsrc/include/vcpkg/base/span.h b/toolsrc/include/vcpkg/base/span.h index 4c805e2b47..a5ba884aff 100644 --- a/toolsrc/include/vcpkg/base/span.h +++ b/toolsrc/include/vcpkg/base/span.h @@ -23,14 +23,13 @@ namespace vcpkg constexpr Span(std::nullptr_t) noexcept : m_ptr(nullptr), m_count(0) {} constexpr Span(pointer ptr, size_t count) noexcept : m_ptr(ptr), m_count(count) {} constexpr Span(pointer ptr_begin, pointer ptr_end) noexcept : m_ptr(ptr_begin), m_count(ptr_end - ptr_begin) {} - constexpr Span(std::initializer_list l) noexcept : m_ptr(l.begin()), m_count(l.size()) {} template constexpr Span(T (&arr)[N]) noexcept : m_ptr(arr), m_count(N) { } - template + template>> constexpr Span(std::remove_const_t (&arr)[N]) noexcept : m_ptr(arr), m_count(N) { } diff --git a/toolsrc/include/vcpkg/base/util.h b/toolsrc/include/vcpkg/base/util.h index ad628e0710..849781b95d 100644 --- a/toolsrc/include/vcpkg/base/util.h +++ b/toolsrc/include/vcpkg/base/util.h @@ -18,7 +18,7 @@ namespace vcpkg::Util namespace Vectors { template> - void concatenate(std::vector* augend, const Container& addend) + void append(std::vector* augend, const Container& addend) { augend->insert(augend->end(), addend.begin(), addend.end()); } @@ -122,6 +122,12 @@ namespace vcpkg::Util std::sort(begin(cont), end(cont), comp); } + template + bool any_of(Range&& rng, Pred pred) + { + return std::any_of(rng.begin(), rng.end(), std::move(pred)); + } + template Range&& sort_unique_erase(Range&& cont) { @@ -220,4 +226,10 @@ namespace vcpkg::Util void unused(const Ts&...) { } + + template + T copy(const T& t) + { + return t; + } } diff --git a/toolsrc/include/vcpkg/binaryparagraph.h b/toolsrc/include/vcpkg/binaryparagraph.h index 4572053841..223a1fb86d 100644 --- a/toolsrc/include/vcpkg/binaryparagraph.h +++ b/toolsrc/include/vcpkg/binaryparagraph.h @@ -13,8 +13,14 @@ namespace vcpkg { BinaryParagraph(); explicit BinaryParagraph(Parse::RawParagraph fields); - BinaryParagraph(const SourceParagraph& spgh, const Triplet& triplet, const std::string& abi_tag); - BinaryParagraph(const SourceParagraph& spgh, const FeatureParagraph& fpgh, const Triplet& triplet); + BinaryParagraph(const SourceParagraph& spgh, + const Triplet& triplet, + const std::string& abi_tag, + const std::vector& deps); + BinaryParagraph(const SourceParagraph& spgh, + const FeatureParagraph& fpgh, + const Triplet& triplet, + const std::vector& deps); std::string displayname() const; @@ -30,6 +36,7 @@ namespace vcpkg std::vector default_features; std::vector depends; std::string abi; + Type type; }; struct BinaryControlFile diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h index be54242967..57663ebe59 100644 --- a/toolsrc/include/vcpkg/build.h +++ b/toolsrc/include/vcpkg/build.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -21,6 +22,7 @@ namespace vcpkg::Build { void perform_and_exit_ex(const FullPackageSpec& full_spec, const SourceControlFileLocation& scfl, + const PortFileProvider::PathsPortFileProvider& provider, const ParsedArguments& options, const VcpkgPaths& paths); @@ -88,6 +90,12 @@ namespace vcpkg::Build YES }; + enum class PurgeDecompressFailure + { + NO = 0, + YES + }; + struct BuildPackageOptions { UseHeadVersion use_head_version; @@ -99,6 +107,7 @@ namespace vcpkg::Build DownloadTool download_tool; BinaryCaching binary_caching; FailOnTombstone fail_on_tombstone; + PurgeDecompressFailure purge_decompress_failure; }; enum class BuildResult @@ -130,12 +139,9 @@ namespace vcpkg::Build /// struct PreBuildInfo { - /// - /// Runs the triplet file in a "capture" mode to create a PreBuildInfo - /// - static PreBuildInfo from_triplet_file(const VcpkgPaths& paths, - const Triplet& triplet, - Optional port = nullopt); + PreBuildInfo(const VcpkgPaths& paths, + const Triplet& triplet, + const std::unordered_map& cmakevars); std::string triplet_abi_tag; std::string target_architecture; @@ -193,12 +199,18 @@ namespace vcpkg::Build BuildPackageConfig(const SourceControlFileLocation& scfl, const Triplet& triplet, const BuildPackageOptions& build_package_options, - const std::set& feature_list) + const CMakeVars::CMakeVarProvider& var_provider, + const std::unordered_map>& feature_dependencies, + const std::vector& package_dependencies, + const std::vector& feature_list) : scfl(scfl) , scf(*scfl.source_control_file) , triplet(triplet) , port_dir(scfl.source_location) , build_package_options(build_package_options) + , var_provider(var_provider) + , feature_dependencies(feature_dependencies) + , package_dependencies(package_dependencies) , feature_list(feature_list) { } @@ -206,9 +218,13 @@ namespace vcpkg::Build const SourceControlFileLocation& scfl; const SourceControlFile& scf; const Triplet& triplet; - fs::path port_dir; + const fs::path& port_dir; const BuildPackageOptions& build_package_options; - const std::set& feature_list; + const CMakeVars::CMakeVarProvider& var_provider; + + const std::unordered_map>& feature_dependencies; + const std::vector& package_dependencies; + const std::vector& feature_list; }; ExtendedBuildResult build_package(const VcpkgPaths& paths, @@ -223,6 +239,7 @@ namespace vcpkg::Build ONLY_RELEASE_CRT, EMPTY_INCLUDE_FOLDER, ALLOW_OBSOLETE_MSVCRT, + ALLOW_RESTRICTED_HEADERS, // Must be last COUNT, }; @@ -234,6 +251,7 @@ namespace vcpkg::Build BuildPolicy::ONLY_RELEASE_CRT, BuildPolicy::EMPTY_INCLUDE_FOLDER, BuildPolicy::ALLOW_OBSOLETE_MSVCRT, + BuildPolicy::ALLOW_RESTRICTED_HEADERS, }; const std::string& to_string(BuildPolicy policy); diff --git a/toolsrc/include/vcpkg/cmakevars.h b/toolsrc/include/vcpkg/cmakevars.h new file mode 100644 index 0000000000..c634866d05 --- /dev/null +++ b/toolsrc/include/vcpkg/cmakevars.h @@ -0,0 +1,69 @@ +#pragma once + +#include +#include + +#include +#include + +namespace vcpkg::CMakeVars +{ + struct CMakeVarProvider + { + virtual Optional&> get_generic_triplet_vars( + const Triplet& triplet) const = 0; + + virtual Optional&> get_dep_info_vars( + const PackageSpec& spec) const = 0; + + virtual Optional&> get_tag_vars( + const PackageSpec& spec) const = 0; + + virtual void load_generic_triplet_vars(const Triplet& triplet) const = 0; + + virtual void load_dep_info_vars(Span specs) const = 0; + + virtual void load_tag_vars(Span specs, + const PortFileProvider::PortFileProvider& port_provider) const = 0; + }; + + struct TripletCMakeVarProvider : Util::ResourceBase, CMakeVarProvider + { + private: + fs::path create_tag_extraction_file( + const Span>& spec_abi_settings) const; + + fs::path create_dep_info_extraction_file(const Span specs) const; + + void launch_and_split(const fs::path& script_path, + std::vector>>& vars) const; + + public: + explicit TripletCMakeVarProvider(const vcpkg::VcpkgPaths& paths) : paths(paths) {} + + void load_generic_triplet_vars(const Triplet& triplet) const override; + + void load_dep_info_vars(Span specs) const override; + + void load_tag_vars(Span specs, + const PortFileProvider::PortFileProvider& port_provider) const override; + + Optional&> get_generic_triplet_vars( + const Triplet& triplet) const override; + + Optional&> get_dep_info_vars( + const PackageSpec& spec) const override; + + Optional&> get_tag_vars( + const PackageSpec& spec) const override; + + private: + const VcpkgPaths& paths; + const fs::path& cmake_exe_path = paths.get_tool_exe(Tools::CMAKE); + const fs::path get_tags_path = paths.scripts / "vcpkg_get_tags.cmake"; + const fs::path get_dep_info_path = paths.scripts / "vcpkg_get_dep_info.cmake"; + mutable std::unordered_map> dep_resolution_vars; + mutable std::unordered_map> tag_vars; + mutable std::unordered_map> generic_triplet_vars; + }; +} diff --git a/toolsrc/include/vcpkg/dependencies.h b/toolsrc/include/vcpkg/dependencies.h index e9018b1b89..eb9d42b6da 100644 --- a/toolsrc/include/vcpkg/dependencies.h +++ b/toolsrc/include/vcpkg/dependencies.h @@ -3,7 +3,9 @@ #include #include #include +#include #include +#include #include #include @@ -43,15 +45,12 @@ namespace vcpkg::Dependencies InstallPlanAction() noexcept; - InstallPlanAction(InstalledPackageView&& spghs, - const std::set& features, - const RequestType& request_type); + InstallPlanAction(InstalledPackageView&& spghs, const RequestType& request_type); InstallPlanAction(const PackageSpec& spec, const SourceControlFileLocation& scfl, - const std::set& features, const RequestType& request_type, - std::vector&& dependencies); + std::unordered_map>&& dependencies); std::string displayname() const; @@ -63,9 +62,11 @@ namespace vcpkg::Dependencies InstallPlanType plan_type; RequestType request_type; Build::BuildPackageOptions build_options; - std::set feature_list; - std::vector computed_dependencies; + std::unordered_map> feature_dependencies; + std::vector package_dependencies; + + std::vector feature_list; }; enum class RemovePlanType @@ -87,15 +88,14 @@ namespace vcpkg::Dependencies RequestType request_type; }; - struct AnyAction + struct ActionPlan { - AnyAction(InstallPlanAction&& iplan) : install_action(std::move(iplan)) {} - AnyAction(RemovePlanAction&& rplan) : remove_action(std::move(rplan)) {} + bool empty() const { return remove_actions.empty() && already_installed.empty() && install_actions.empty(); } + size_t size() const { return remove_actions.size() + already_installed.size() + install_actions.size(); } - Optional install_action; - Optional remove_action; - - const PackageSpec& spec() const; + std::vector remove_actions; + std::vector already_installed; + std::vector install_actions; }; enum class ExportPlanType @@ -127,80 +127,36 @@ namespace vcpkg::Dependencies Optional m_installed_package; }; - struct PortFileProvider - { - virtual Optional get_control_file(const std::string& src_name) const = 0; - virtual std::vector load_all_control_files() const = 0; - }; - - struct MapPortFileProvider : Util::ResourceBase, PortFileProvider - { - explicit MapPortFileProvider(const std::unordered_map& map); - Optional get_control_file(const std::string& src_name) const override; - std::vector load_all_control_files() const override; - - private: - const std::unordered_map& ports; - }; - - struct PathsPortFileProvider : Util::ResourceBase, PortFileProvider - { - explicit PathsPortFileProvider(const vcpkg::VcpkgPaths& paths, - const std::vector* ports_dirs_paths); - Optional get_control_file(const std::string& src_name) const override; - std::vector load_all_control_files() const override; - - private: - Files::Filesystem& filesystem; - std::vector ports_dirs; - mutable std::unordered_map cache; - }; - struct ClusterGraph; - struct GraphPlan; struct CreateInstallPlanOptions { Graphs::Randomizer* randomizer = nullptr; }; - struct PackageGraph - { - PackageGraph(const PortFileProvider& provider, const StatusParagraphs& status_db); - ~PackageGraph(); - - void install(const FeatureSpec& spec, - const std::unordered_set& prevent_default_features = {}) const; - void upgrade(const PackageSpec& spec) const; - - std::vector serialize(const CreateInstallPlanOptions& options = {}) const; - - private: - std::unique_ptr m_graph_plan; - std::unique_ptr m_graph; - }; - std::vector create_remove_plan(const std::vector& specs, const StatusParagraphs& status_db); std::vector create_export_plan(const std::vector& specs, const StatusParagraphs& status_db); - std::vector create_feature_install_plan( - const std::unordered_map& map, - const std::vector& specs, - const StatusParagraphs& status_db); - /// Figure out which actions are required to install features specifications in `specs`. /// Contains the ports of the current environment. /// Feature specifications to resolve dependencies for. /// Status of installed packages in the current environment. - std::vector create_feature_install_plan(const PortFileProvider& provider, - const std::vector& specs, - const StatusParagraphs& status_db, - const CreateInstallPlanOptions& options = {}); + ActionPlan create_feature_install_plan(const PortFileProvider::PortFileProvider& provider, + const CMakeVars::CMakeVarProvider& var_provider, + const std::vector& specs, + const StatusParagraphs& status_db, + const CreateInstallPlanOptions& options = {}); - void print_plan(const std::vector& action_plan, + ActionPlan create_upgrade_plan(const PortFileProvider::PortFileProvider& provider, + const CMakeVars::CMakeVarProvider& var_provider, + const std::vector& specs, + const StatusParagraphs& status_db, + const CreateInstallPlanOptions& options = {}); + + void print_plan(const ActionPlan& action_plan, const bool is_recursive = true, const fs::path& default_ports_dir = ""); } diff --git a/toolsrc/include/vcpkg/install.h b/toolsrc/include/vcpkg/install.h index 2e92764dc5..e020c86533 100644 --- a/toolsrc/include/vcpkg/install.h +++ b/toolsrc/include/vcpkg/install.h @@ -20,7 +20,7 @@ namespace vcpkg::Install struct SpecSummary { - SpecSummary(const PackageSpec& spec, const Dependencies::AnyAction* action); + SpecSummary(const PackageSpec& spec, const Dependencies::InstallPlanAction* action); const BinaryParagraph* get_binary_paragraph() const; @@ -28,7 +28,7 @@ namespace vcpkg::Install Build::ExtendedBuildResult build_result; vcpkg::Chrono::ElapsedTime timing; - const Dependencies::AnyAction* action; + const Dependencies::InstallPlanAction* action; }; struct InstallSummary @@ -58,8 +58,9 @@ namespace vcpkg::Install }; Build::ExtendedBuildResult perform_install_plan_action(const VcpkgPaths& paths, - const Dependencies::InstallPlanAction& action, - StatusParagraphs& status_db); + Dependencies::InstallPlanAction& action, + StatusParagraphs& status_db, + const CMakeVars::CMakeVarProvider& var_provider); enum class InstallResult { @@ -74,10 +75,11 @@ namespace vcpkg::Install const BinaryControlFile& binary_paragraph, StatusParagraphs* status_db); - InstallSummary perform(const std::vector& action_plan, + InstallSummary perform(Dependencies::ActionPlan& action_plan, const KeepGoing keep_going, const VcpkgPaths& paths, - StatusParagraphs& status_db); + StatusParagraphs& status_db, + const CMakeVars::CMakeVarProvider& var_provider); extern const CommandStructure COMMAND_STRUCTURE; diff --git a/toolsrc/include/vcpkg/logicexpression.h b/toolsrc/include/vcpkg/logicexpression.h index 8795971b9d..3a3d0debe8 100644 --- a/toolsrc/include/vcpkg/logicexpression.h +++ b/toolsrc/include/vcpkg/logicexpression.h @@ -1,10 +1,24 @@ #pragma once #include +#include +#include namespace vcpkg { + struct ExpressionContext + { + // map of cmake variables and their values. + const std::unordered_map& cmake_context; + + // The legacy context is a string (typically the name of the triplet). + // An identifier was considered 'true' if it is a substring of this. + // It is now used for backwards compatability diagnostic messages and + // will be eventually removed. + const std::string& legacy_context; + }; + // Evaluate simple vcpkg logic expressions. An identifier in the expression is considered 'true' // if it is a substring of the evaluation_context (typically the name of the triplet) - bool evaluate_expression(const std::string& expression, const std::string& evaluation_context); + ExpectedT evaluate_expression(const std::string& expression, const ExpressionContext& context); } \ No newline at end of file diff --git a/toolsrc/include/vcpkg/packagespec.h b/toolsrc/include/vcpkg/packagespec.h index c87c6a2c62..628352cdb6 100644 --- a/toolsrc/include/vcpkg/packagespec.h +++ b/toolsrc/include/vcpkg/packagespec.h @@ -23,6 +23,9 @@ namespace vcpkg /// struct PackageSpec { + PackageSpec() noexcept = default; + PackageSpec(std::string name, Triplet triplet) : m_name(std::move(name)), m_triplet(triplet) {} + static ExpectedT from_name_and_triplet(const std::string& name, const Triplet& triplet); @@ -103,7 +106,14 @@ namespace vcpkg PackageSpec package_spec; std::vector features; - static std::vector to_feature_specs(const std::vector& specs); + FullPackageSpec() noexcept = default; + explicit FullPackageSpec(PackageSpec spec, std::vector features = {}) + : package_spec(std::move(spec)), features(std::move(features)) + { + } + + std::vector to_feature_specs(const std::vector& default_features, + const std::vector& all_features) const; static ExpectedT from_string(const std::string& spec_as_string, const Triplet& default_triplet); @@ -145,4 +155,21 @@ namespace std { bool operator()(const vcpkg::PackageSpec& left, const vcpkg::PackageSpec& right) const { return left == right; } }; + + template<> + struct hash + { + size_t operator()(const vcpkg::FeatureSpec& value) const + { + size_t hash = std::hash()(value.spec()); + hash = hash * 31 + std::hash()(value.feature()); + return hash; + } + }; + + template<> + struct equal_to + { + bool operator()(const vcpkg::FeatureSpec& left, const vcpkg::FeatureSpec& right) const { return left == right; } + }; } diff --git a/toolsrc/include/vcpkg/portfileprovider.h b/toolsrc/include/vcpkg/portfileprovider.h new file mode 100644 index 0000000000..79f69d9ae2 --- /dev/null +++ b/toolsrc/include/vcpkg/portfileprovider.h @@ -0,0 +1,38 @@ +#pragma once + +#include +#include +#include +#include + +namespace vcpkg::PortFileProvider +{ + struct PortFileProvider + { + virtual Optional get_control_file(const std::string& src_name) const = 0; + virtual std::vector load_all_control_files() const = 0; + }; + + struct MapPortFileProvider : Util::ResourceBase, PortFileProvider + { + explicit MapPortFileProvider(const std::unordered_map& map); + Optional get_control_file(const std::string& src_name) const override; + std::vector load_all_control_files() const override; + + private: + const std::unordered_map& ports; + }; + + struct PathsPortFileProvider : Util::ResourceBase, PortFileProvider + { + explicit PathsPortFileProvider(const vcpkg::VcpkgPaths& paths, + const std::vector* ports_dirs_paths); + Optional get_control_file(const std::string& src_name) const override; + std::vector load_all_control_files() const override; + + private: + Files::Filesystem& filesystem; + std::vector ports_dirs; + mutable std::unordered_map cache; + }; +} diff --git a/toolsrc/include/vcpkg/sourceparagraph.h b/toolsrc/include/vcpkg/sourceparagraph.h index 95347770aa..0574afe748 100644 --- a/toolsrc/include/vcpkg/sourceparagraph.h +++ b/toolsrc/include/vcpkg/sourceparagraph.h @@ -7,6 +7,8 @@ #include #include +#include + #include #include @@ -21,15 +23,28 @@ namespace vcpkg static Dependency parse_dependency(std::string name, std::string qualifier); }; - std::vector filter_dependencies(const std::vector& deps, const Triplet& t); - std::vector filter_dependencies_to_specs(const std::vector& deps, const Triplet& t); - std::vector filter_dependencies_to_features(const std::vector& deps, const Triplet& t); + std::vector filter_dependencies(const std::vector& deps, + const Triplet& t, + const std::unordered_map& cmake_vars); // zlib[uwp] becomes Dependency{"zlib", "uwp"} std::vector expand_qualified_dependencies(const std::vector& depends); std::string to_string(const Dependency& dep); + struct Type + { + enum + { + UNKNOWN, + PORT, + ALIAS, + } type; + + static std::string to_string(const Type&); + static Type from_string(const std::string&); + }; + /// /// Port metadata of additional feature in a package (part of CONTROL file) /// @@ -50,9 +65,10 @@ namespace vcpkg std::string description; std::string maintainer; std::string homepage; - std::vector supports; std::vector depends; std::vector default_features; + Type type; + std::string supports_expression; }; /// @@ -60,21 +76,48 @@ namespace vcpkg /// struct SourceControlFile { + SourceControlFile() = default; + SourceControlFile(const SourceControlFile& scf) + : core_paragraph(std::make_unique(*scf.core_paragraph)) + { + for (const auto& feat_ptr : scf.feature_paragraphs) + { + feature_paragraphs.emplace_back(std::make_unique(*feat_ptr)); + } + } + static Parse::ParseExpected parse_control_file( - std::vector&& control_paragraphs); + const fs::path& path_to_control, std::vector&& control_paragraphs); std::unique_ptr core_paragraph; std::vector> feature_paragraphs; Optional find_feature(const std::string& featurename) const; + Optional&> find_dependencies_for_feature(const std::string& featurename) const; }; /// - /// Full metadata of a package: core and other features. As well as the location the SourceControlFile was loaded - /// from. + /// Full metadata of a package: core and other features. As well as the location the SourceControlFile was + /// loaded from. /// struct SourceControlFileLocation { + SourceControlFileLocation(const SourceControlFileLocation& scfl) + : source_control_file(std::make_unique(*scfl.source_control_file)) + , source_location(scfl.source_location) + { + } + + SourceControlFileLocation(std::unique_ptr&& scf, fs::path&& source) + : source_control_file(std::move(scf)), source_location(std::move(source)) + { + } + + SourceControlFileLocation(std::unique_ptr&& scf, const fs::path& source) + : source_control_file(std::move(scf)), source_location(source) + { + } + std::unique_ptr source_control_file; fs::path source_location; }; @@ -84,35 +127,4 @@ namespace vcpkg { return print_error_message({&error_info_list, 1}); } - - struct Supports - { - static ExpectedT> parse(const std::vector& strs); - - using Architecture = System::CPUArchitecture; - - enum class Platform - { - WINDOWS, - UWP, - }; - enum class Linkage - { - DYNAMIC, - STATIC, - }; - enum class ToolsetVersion - { - V140, - V141, - }; - - bool is_supported(Architecture arch, Platform plat, Linkage crt, ToolsetVersion tools); - - private: - std::vector architectures; - std::vector platforms; - std::vector crt_linkages; - std::vector toolsets; - }; } diff --git a/toolsrc/include/vcpkg/statusparagraph.h b/toolsrc/include/vcpkg/statusparagraph.h index 6e832fe2f4..ec850607d4 100644 --- a/toolsrc/include/vcpkg/statusparagraph.h +++ b/toolsrc/include/vcpkg/statusparagraph.h @@ -56,6 +56,7 @@ namespace vcpkg const PackageSpec& spec() const { return core->package.spec; } std::vector dependencies() const; + std::unordered_map> feature_dependencies() const; const StatusParagraph* core; std::vector features; diff --git a/toolsrc/include/vcpkg/update.h b/toolsrc/include/vcpkg/update.h index b85f7b2b31..6091da7783 100644 --- a/toolsrc/include/vcpkg/update.h +++ b/toolsrc/include/vcpkg/update.h @@ -17,7 +17,7 @@ namespace vcpkg::Update VersionDiff version_diff; }; - std::vector find_outdated_packages(const Dependencies::PortFileProvider& provider, + std::vector find_outdated_packages(const PortFileProvider::PortFileProvider& provider, const StatusParagraphs& status_db); void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths); diff --git a/toolsrc/src/vcpkg-test/dependencies.cpp b/toolsrc/src/vcpkg-test/dependencies.cpp index 2344bb990d..63e7cfee75 100644 --- a/toolsrc/src/vcpkg-test/dependencies.cpp +++ b/toolsrc/src/vcpkg-test/dependencies.cpp @@ -1,5 +1,7 @@ #include - +#include +#include +#include #include using namespace vcpkg; @@ -7,22 +9,69 @@ using Parse::parse_comma_list; TEST_CASE ("parse depends", "[dependencies]") { - auto v = expand_qualified_dependencies(parse_comma_list("libA (windows)")); + auto v = expand_qualified_dependencies(parse_comma_list("liba (windows)")); REQUIRE(v.size() == 1); - REQUIRE(v.at(0).depend.name == "libA"); + REQUIRE(v.at(0).depend.name == "liba"); REQUIRE(v.at(0).qualifier == "windows"); } TEST_CASE ("filter depends", "[dependencies]") { - auto deps = expand_qualified_dependencies(parse_comma_list("libA (windows), libB, libC (uwp)")); - auto v = filter_dependencies(deps, Triplet::X64_WINDOWS); - REQUIRE(v.size() == 2); - REQUIRE(v.at(0) == "libA"); - REQUIRE(v.at(1) == "libB"); + const std::unordered_map x64_win_cmake_vars{{"VCPKG_TARGET_ARCHITECTURE", "x64"}, + {"VCPKG_CMAKE_SYSTEM_NAME", ""}}; - auto v2 = filter_dependencies(deps, Triplet::ARM_UWP); + const std::unordered_map arm_uwp_cmake_vars{{"VCPKG_TARGET_ARCHITECTURE", "arm"}, + {"VCPKG_CMAKE_SYSTEM_NAME", "WindowsStore"}}; + + auto deps = expand_qualified_dependencies(parse_comma_list("liba (windows), libb, libc (uwp)")); + auto v = filter_dependencies(deps, Triplet::X64_WINDOWS, x64_win_cmake_vars); REQUIRE(v.size() == 2); - REQUIRE(v2.at(0) == "libB"); - REQUIRE(v2.at(1) == "libC"); + REQUIRE(v.at(0).package_spec.name() == "liba"); + REQUIRE(v.at(1).package_spec.name() == "libb"); + + auto v2 = filter_dependencies(deps, Triplet::ARM_UWP, arm_uwp_cmake_vars); + REQUIRE(v.size() == 2); + REQUIRE(v2.at(0).package_spec.name() == "libb"); + REQUIRE(v2.at(1).package_spec.name() == "libc"); +} + +TEST_CASE ("parse feature depends", "[dependencies]") +{ + auto u = parse_comma_list("libwebp[anim, gif2webp, img2webp, info, mux, nearlossless, " + "simd, cwebp, dwebp], libwebp[vwebp_sdl, extras] (!osx)"); + REQUIRE(u.at(1) == "libwebp[vwebp_sdl, extras] (!osx)"); + auto v = expand_qualified_dependencies(u); + REQUIRE(v.size() == 2); + auto&& a0 = v.at(0); + REQUIRE(a0.depend.name == "libwebp"); + REQUIRE(a0.depend.features.size() == 9); + REQUIRE(a0.qualifier.empty()); + + auto&& a1 = v.at(1); + REQUIRE(a1.depend.name == "libwebp"); + REQUIRE(a1.depend.features.size() == 2); + REQUIRE(a1.qualifier == "!osx"); +} + +TEST_CASE ("qualified dependency", "[dependencies]") +{ + using namespace Test; + PackageSpecMap spec_map; + auto spec_a = FullPackageSpec{spec_map.emplace("a", "b, b[b1] (linux)"), {}}; + auto spec_b = FullPackageSpec{spec_map.emplace("b", "", {{"b1", ""}}), {}}; + + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto plan = vcpkg::Dependencies::create_feature_install_plan(map_port, var_provider, {spec_a}, {}); + REQUIRE(plan.install_actions.size() == 2); + REQUIRE(plan.install_actions.at(0).feature_list == std::vector{"core"}); + + FullPackageSpec linspec_a{PackageSpec::from_name_and_triplet("a", Triplet::from_canonical_name("x64-linux")) + .value_or_exit(VCPKG_LINE_INFO), + {}}; + var_provider.dep_info_vars[linspec_a.package_spec].emplace("VCPKG_CMAKE_SYSTEM_NAME", "Linux"); + auto plan2 = vcpkg::Dependencies::create_feature_install_plan(map_port, var_provider, {linspec_a}, {}); + REQUIRE(plan2.install_actions.size() == 2); + REQUIRE(plan2.install_actions.at(0).feature_list == std::vector{"b1", "core"}); } diff --git a/toolsrc/src/vcpkg-test/mockcmakevarsprovider.cpp b/toolsrc/src/vcpkg-test/mockcmakevarsprovider.cpp new file mode 100644 index 0000000000..eda1a7a643 --- /dev/null +++ b/toolsrc/src/vcpkg-test/mockcmakevarsprovider.cpp @@ -0,0 +1,28 @@ +#include + +namespace vcpkg::Test +{ + Optional&> MockCMakeVarProvider::get_generic_triplet_vars( + const Triplet& triplet) const + { + auto it = generic_triplet_vars.find(triplet); + if (it == generic_triplet_vars.end()) return nullopt; + return it->second; + } + + Optional&> MockCMakeVarProvider::get_dep_info_vars( + const PackageSpec& spec) const + { + auto it = dep_info_vars.find(spec); + if (it == dep_info_vars.end()) return nullopt; + return it->second; + } + + Optional&> MockCMakeVarProvider::get_tag_vars( + const PackageSpec& spec) const + { + auto it = tag_vars.find(spec); + if (it == tag_vars.end()) return nullopt; + return it->second; + } +} \ No newline at end of file diff --git a/toolsrc/src/vcpkg-test/paragraph.cpp b/toolsrc/src/vcpkg-test/paragraph.cpp index 85c37851d2..2ee4efe2f4 100644 --- a/toolsrc/src/vcpkg-test/paragraph.cpp +++ b/toolsrc/src/vcpkg-test/paragraph.cpp @@ -10,10 +10,11 @@ namespace Strings = vcpkg::Strings; TEST_CASE ("SourceParagraph construct minimum", "[paragraph]") { auto m_pgh = - vcpkg::SourceControlFile::parse_control_file(std::vector>{{ - {"Source", "zlib"}, - {"Version", "1.2.8"}, - }}); + vcpkg::SourceControlFile::parse_control_file("", + std::vector>{{ + {"Source", "zlib"}, + {"Version", "1.2.8"}, + }}); REQUIRE(m_pgh.has_value()); auto& pgh = **m_pgh.get(); @@ -28,15 +29,15 @@ TEST_CASE ("SourceParagraph construct minimum", "[paragraph]") TEST_CASE ("SourceParagraph construct maximum", "[paragraph]") { auto m_pgh = - vcpkg::SourceControlFile::parse_control_file(std::vector>{{ - {"Source", "s"}, - {"Version", "v"}, - {"Maintainer", "m"}, - {"Description", "d"}, - {"Build-Depends", "bd"}, - {"Default-Features", "df"}, - {"Supports", "x64"}, - }}); + vcpkg::SourceControlFile::parse_control_file("", + std::vector>{{ + {"Source", "s"}, + {"Version", "v"}, + {"Maintainer", "m"}, + {"Description", "d"}, + {"Build-Depends", "bd"}, + {"Default-Features", "df"}, + }}); REQUIRE(m_pgh.has_value()); auto& pgh = **m_pgh.get(); @@ -48,18 +49,17 @@ TEST_CASE ("SourceParagraph construct maximum", "[paragraph]") REQUIRE(pgh.core_paragraph->depends[0].name() == "bd"); REQUIRE(pgh.core_paragraph->default_features.size() == 1); REQUIRE(pgh.core_paragraph->default_features[0] == "df"); - REQUIRE(pgh.core_paragraph->supports.size() == 1); - REQUIRE(pgh.core_paragraph->supports[0] == "x64"); } TEST_CASE ("SourceParagraph two depends", "[paragraph]") { auto m_pgh = - vcpkg::SourceControlFile::parse_control_file(std::vector>{{ - {"Source", "zlib"}, - {"Version", "1.2.8"}, - {"Build-Depends", "z, openssl"}, - }}); + vcpkg::SourceControlFile::parse_control_file("", + std::vector>{{ + {"Source", "zlib"}, + {"Version", "1.2.8"}, + {"Build-Depends", "z, openssl"}, + }}); REQUIRE(m_pgh.has_value()); auto& pgh = **m_pgh.get(); @@ -71,11 +71,12 @@ TEST_CASE ("SourceParagraph two depends", "[paragraph]") TEST_CASE ("SourceParagraph three depends", "[paragraph]") { auto m_pgh = - vcpkg::SourceControlFile::parse_control_file(std::vector>{{ - {"Source", "zlib"}, - {"Version", "1.2.8"}, - {"Build-Depends", "z, openssl, xyz"}, - }}); + vcpkg::SourceControlFile::parse_control_file("", + std::vector>{{ + {"Source", "zlib"}, + {"Version", "1.2.8"}, + {"Build-Depends", "z, openssl, xyz"}, + }}); REQUIRE(m_pgh.has_value()); auto& pgh = **m_pgh.get(); @@ -85,31 +86,15 @@ TEST_CASE ("SourceParagraph three depends", "[paragraph]") REQUIRE(pgh.core_paragraph->depends[2].name() == "xyz"); } -TEST_CASE ("SourceParagraph three supports", "[paragraph]") -{ - auto m_pgh = - vcpkg::SourceControlFile::parse_control_file(std::vector>{{ - {"Source", "zlib"}, - {"Version", "1.2.8"}, - {"Supports", "x64, windows, uwp"}, - }}); - REQUIRE(m_pgh.has_value()); - auto& pgh = **m_pgh.get(); - - REQUIRE(pgh.core_paragraph->supports.size() == 3); - REQUIRE(pgh.core_paragraph->supports[0] == "x64"); - REQUIRE(pgh.core_paragraph->supports[1] == "windows"); - REQUIRE(pgh.core_paragraph->supports[2] == "uwp"); -} - TEST_CASE ("SourceParagraph construct qualified depends", "[paragraph]") { auto m_pgh = - vcpkg::SourceControlFile::parse_control_file(std::vector>{{ - {"Source", "zlib"}, - {"Version", "1.2.8"}, - {"Build-Depends", "libA (windows), libB (uwp)"}, - }}); + vcpkg::SourceControlFile::parse_control_file("", + std::vector>{{ + {"Source", "zlib"}, + {"Version", "1.2.8"}, + {"Build-Depends", "libA (windows), libB (uwp)"}, + }}); REQUIRE(m_pgh.has_value()); auto& pgh = **m_pgh.get(); @@ -127,11 +112,12 @@ TEST_CASE ("SourceParagraph construct qualified depends", "[paragraph]") TEST_CASE ("SourceParagraph default features", "[paragraph]") { auto m_pgh = - vcpkg::SourceControlFile::parse_control_file(std::vector>{{ - {"Source", "a"}, - {"Version", "1.0"}, - {"Default-Features", "a1"}, - }}); + vcpkg::SourceControlFile::parse_control_file("", + std::vector>{{ + {"Source", "a"}, + {"Version", "1.0"}, + {"Default-Features", "a1"}, + }}); REQUIRE(m_pgh.has_value()); auto& pgh = **m_pgh.get(); @@ -380,11 +366,12 @@ TEST_CASE ("BinaryParagraph serialize min", "[paragraph]") auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss).value_or_exit(VCPKG_LINE_INFO); REQUIRE(pghs.size() == 1); - REQUIRE(pghs[0].size() == 4); + REQUIRE(pghs[0].size() == 5); REQUIRE(pghs[0]["Package"] == "zlib"); REQUIRE(pghs[0]["Version"] == "1.2.8"); REQUIRE(pghs[0]["Architecture"] == "x86-windows"); REQUIRE(pghs[0]["Multi-Arch"] == "same"); + REQUIRE(pghs[0]["Type"] == "Port"); } TEST_CASE ("BinaryParagraph serialize max", "[paragraph]") @@ -402,13 +389,14 @@ TEST_CASE ("BinaryParagraph serialize max", "[paragraph]") auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss).value_or_exit(VCPKG_LINE_INFO); REQUIRE(pghs.size() == 1); - REQUIRE(pghs[0].size() == 7); + REQUIRE(pghs[0].size() == 8); REQUIRE(pghs[0]["Package"] == "zlib"); REQUIRE(pghs[0]["Version"] == "1.2.8"); REQUIRE(pghs[0]["Architecture"] == "x86-windows"); REQUIRE(pghs[0]["Multi-Arch"] == "same"); REQUIRE(pghs[0]["Description"] == "first line\n second line"); REQUIRE(pghs[0]["Depends"] == "dep"); + REQUIRE(pghs[0]["Type"] == "Port"); } TEST_CASE ("BinaryParagraph serialize multiple deps", "[paragraph]") diff --git a/toolsrc/src/vcpkg-test/plan.cpp b/toolsrc/src/vcpkg-test/plan.cpp index e354b75515..594c9783b9 100644 --- a/toolsrc/src/vcpkg-test/plan.cpp +++ b/toolsrc/src/vcpkg-test/plan.cpp @@ -1,7 +1,10 @@ #include +#include #include +#include #include +#include #include #include @@ -11,54 +14,28 @@ using namespace vcpkg; +using Test::make_control_file; using Test::make_status_feature_pgh; using Test::make_status_pgh; +using Test::MockCMakeVarProvider; +using Test::PackageSpecMap; using Test::unsafe_pspec; -static std::unique_ptr make_control_file( - const char* name, - const char* depends, - const std::vector>& features = {}, - const std::vector& default_features = {}) -{ - using Pgh = std::unordered_map; - std::vector scf_pghs; - scf_pghs.push_back(Pgh{{"Source", name}, - {"Version", "0"}, - {"Build-Depends", depends}, - {"Default-Features", Strings::join(", ", default_features)}}); - for (auto&& feature : features) - { - scf_pghs.push_back(Pgh{ - {"Feature", feature.first}, - {"Description", "feature"}, - {"Build-Depends", feature.second}, - }); - } - auto m_pgh = vcpkg::SourceControlFile::parse_control_file(std::move(scf_pghs)); - REQUIRE(m_pgh.has_value()); - return std::move(*m_pgh.get()); -} - /// /// Assert that the given action an install of given features from given package. /// -static void features_check(Dependencies::AnyAction& install_action, +static void features_check(Dependencies::InstallPlanAction& plan, std::string pkg_name, - std::vector vec, + std::vector expected_features, const Triplet& triplet = Triplet::X86_WINDOWS) { - REQUIRE(install_action.install_action.has_value()); - const auto& plan = install_action.install_action.value_or_exit(VCPKG_LINE_INFO); const auto& feature_list = plan.feature_list; REQUIRE(plan.spec.triplet().to_string() == triplet.to_string()); + REQUIRE(pkg_name == plan.spec.name()); + REQUIRE(feature_list.size() == expected_features.size()); - auto& scfl = *plan.source_control_file_location.get(); - REQUIRE(pkg_name == scfl.source_control_file->core_paragraph->name); - REQUIRE(feature_list.size() == vec.size()); - - for (auto&& feature_name : vec) + for (auto&& feature_name : expected_features) { // TODO: see if this can be simplified if (feature_name == "core" || feature_name == "") @@ -74,42 +51,14 @@ static void features_check(Dependencies::AnyAction& install_action, /// /// Assert that the given action is a remove of given package. /// -static void remove_plan_check(Dependencies::AnyAction& remove_action, +static void remove_plan_check(Dependencies::RemovePlanAction& plan, std::string pkg_name, const Triplet& triplet = Triplet::X86_WINDOWS) { - const auto& plan = remove_action.remove_action.value_or_exit(VCPKG_LINE_INFO); REQUIRE(plan.spec.triplet().to_string() == triplet.to_string()); REQUIRE(pkg_name == plan.spec.name()); } -/// -/// Map of source control files by their package name. -/// -struct PackageSpecMap -{ - std::unordered_map map; - Triplet triplet; - PackageSpecMap(const Triplet& t = Triplet::X86_WINDOWS) noexcept { triplet = t; } - - PackageSpec emplace(const char* name, - const char* depends = "", - const std::vector>& features = {}, - const std::vector& default_features = {}) - { - auto scfl = SourceControlFileLocation{make_control_file(name, depends, features, default_features), ""}; - return emplace(std::move(scfl)); - } - - PackageSpec emplace(vcpkg::SourceControlFileLocation&& scfl) - { - auto spec = PackageSpec::from_name_and_triplet(scfl.source_control_file->core_paragraph->name, triplet); - REQUIRE(spec.has_value()); - map.emplace(scfl.source_control_file->core_paragraph->name, std::move(scfl)); - return PackageSpec{*spec.get()}; - } -}; - TEST_CASE ("basic install scheme", "[plan]") { std::vector> status_paragraphs; @@ -119,14 +68,16 @@ TEST_CASE ("basic install scheme", "[plan]") auto spec_b = spec_map.emplace("b", "c"); auto spec_c = spec_map.emplace("c"); - Dependencies::MapPortFileProvider map_port(spec_map.map); + PortFileProvider::MapPortFileProvider map_port(spec_map.map); + MockCMakeVarProvider var_provider; + auto install_plan = Dependencies::create_feature_install_plan( - map_port, {FeatureSpec{spec_a, ""}}, StatusParagraphs(std::move(status_paragraphs))); + map_port, var_provider, {FullPackageSpec{spec_a, {}}}, StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 3); - REQUIRE(install_plan.at(0).spec().name() == "c"); - REQUIRE(install_plan.at(1).spec().name() == "b"); - REQUIRE(install_plan.at(2).spec().name() == "a"); + REQUIRE(install_plan.install_actions.at(0).spec.name() == "c"); + REQUIRE(install_plan.install_actions.at(1).spec.name() == "b"); + REQUIRE(install_plan.install_actions.at(2).spec.name() == "a"); } TEST_CASE ("multiple install scheme", "[plan]") @@ -143,17 +94,21 @@ TEST_CASE ("multiple install scheme", "[plan]") auto spec_g = spec_map.emplace("g"); auto spec_h = spec_map.emplace("h"); - Dependencies::MapPortFileProvider map_port(spec_map.map); + PortFileProvider::MapPortFileProvider map_port(spec_map.map); + MockCMakeVarProvider var_provider; + auto install_plan = Dependencies::create_feature_install_plan( map_port, - {FeatureSpec{spec_a, ""}, FeatureSpec{spec_b, ""}, FeatureSpec{spec_c, ""}}, + var_provider, + {FullPackageSpec{spec_a}, FullPackageSpec{spec_b}, FullPackageSpec{spec_c}}, StatusParagraphs(std::move(status_paragraphs))); auto iterator_pos = [&](const PackageSpec& spec) { - auto it = - std::find_if(install_plan.begin(), install_plan.end(), [&](auto& action) { return action.spec() == spec; }); - REQUIRE(it != install_plan.end()); - return it - install_plan.begin(); + auto it = std::find_if(install_plan.install_actions.begin(), + install_plan.install_actions.end(), + [&](auto& action) { return action.spec == spec; }); + REQUIRE(it != install_plan.install_actions.end()); + return it - install_plan.install_actions.begin(); }; const auto a_pos = iterator_pos(spec_a); @@ -184,12 +139,14 @@ TEST_CASE ("existing package scheme", "[plan]") PackageSpecMap spec_map; auto spec_a = FullPackageSpec{spec_map.emplace("a")}; + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, FullPackageSpec::to_feature_specs({spec_a}), StatusParagraphs(std::move(status_paragraphs))); + map_port, var_provider, {spec_a}, StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 1); - const auto p = install_plan.at(0).install_action.get(); - REQUIRE(p); + const auto p = &install_plan.already_installed.at(0); REQUIRE(p->spec.name() == "a"); REQUIRE(p->plan_type == Dependencies::InstallPlanType::ALREADY_INSTALLED); REQUIRE(p->request_type == Dependencies::RequestType::USER_REQUESTED); @@ -203,18 +160,19 @@ TEST_CASE ("user requested package scheme", "[plan]") const auto spec_a = FullPackageSpec{spec_map.emplace("a", "b")}; const auto spec_b = FullPackageSpec{spec_map.emplace("b")}; + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + const auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, FullPackageSpec::to_feature_specs({spec_a}), StatusParagraphs(std::move(status_paragraphs))); + map_port, var_provider, {spec_a}, StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 2); - const auto p = install_plan.at(0).install_action.get(); - REQUIRE(p); + const auto p = &install_plan.install_actions.at(0); REQUIRE(p->spec.name() == "b"); REQUIRE(p->plan_type == Dependencies::InstallPlanType::BUILD_AND_INSTALL); REQUIRE(p->request_type == Dependencies::RequestType::AUTO_SELECTED); - const auto p2 = install_plan.at(1).install_action.get(); - REQUIRE(p2); + const auto p2 = &install_plan.install_actions.at(1); REQUIRE(p2->spec.name() == "a"); REQUIRE(p2->plan_type == Dependencies::InstallPlanType::BUILD_AND_INSTALL); REQUIRE(p2->request_type == Dependencies::RequestType::USER_REQUESTED); @@ -239,19 +197,21 @@ TEST_CASE ("long install scheme", "[plan]") auto spec_j = spec_map.emplace("j", "k"); auto spec_k = spec_map.emplace("k"); - Dependencies::MapPortFileProvider map_port(spec_map.map); - auto install_plan = Dependencies::create_feature_install_plan( - map_port, {FeatureSpec{spec_a, ""}}, StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_feature_install_plan( + map_port, var_provider, {FullPackageSpec{spec_a}}, StatusParagraphs(std::move(status_paragraphs))); + auto& install_plan = plan.install_actions; REQUIRE(install_plan.size() == 8); - REQUIRE(install_plan.at(0).spec().name() == "h"); - REQUIRE(install_plan.at(1).spec().name() == "g"); - REQUIRE(install_plan.at(2).spec().name() == "f"); - REQUIRE(install_plan.at(3).spec().name() == "e"); - REQUIRE(install_plan.at(4).spec().name() == "d"); - REQUIRE(install_plan.at(5).spec().name() == "c"); - REQUIRE(install_plan.at(6).spec().name() == "b"); - REQUIRE(install_plan.at(7).spec().name() == "a"); + REQUIRE(install_plan.at(0).spec.name() == "h"); + REQUIRE(install_plan.at(1).spec.name() == "g"); + REQUIRE(install_plan.at(2).spec.name() == "f"); + REQUIRE(install_plan.at(3).spec.name() == "e"); + REQUIRE(install_plan.at(4).spec.name() == "d"); + REQUIRE(install_plan.at(5).spec.name() == "c"); + REQUIRE(install_plan.at(6).spec.name() == "b"); + REQUIRE(install_plan.at(7).spec.name() == "a"); } TEST_CASE ("basic feature test 1", "[plan]") @@ -265,14 +225,17 @@ TEST_CASE ("basic feature test 1", "[plan]") auto spec_a = FullPackageSpec{spec_map.emplace("a", "b, b[b1]", {{"a1", "b[b2]"}}), {"a1"}}; auto spec_b = FullPackageSpec{spec_map.emplace("b", "", {{"b1", ""}, {"b2", ""}, {"b3", ""}})}; - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, FullPackageSpec::to_feature_specs({spec_a}), StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; - REQUIRE(install_plan.size() == 4); - remove_plan_check(install_plan.at(0), "a"); - remove_plan_check(install_plan.at(1), "b"); - features_check(install_plan.at(2), "b", {"b1", "core", "b1"}); - features_check(install_plan.at(3), "a", {"a1", "core"}); + auto plan = Dependencies::create_feature_install_plan( + map_port, var_provider, {spec_a}, StatusParagraphs(std::move(status_paragraphs))); + + REQUIRE(plan.size() == 4); + remove_plan_check(plan.remove_actions.at(0), "a"); + remove_plan_check(plan.remove_actions.at(1), "b"); + features_check(plan.install_actions.at(0), "b", {"b1", "core", "b1"}); + features_check(plan.install_actions.at(1), "a", {"a1", "core"}); } TEST_CASE ("basic feature test 2", "[plan]") @@ -284,9 +247,13 @@ TEST_CASE ("basic feature test 2", "[plan]") auto spec_a = FullPackageSpec{spec_map.emplace("a", "b[b1]", {{"a1", "b[b2]"}}), {"a1"}}; auto spec_b = FullPackageSpec{spec_map.emplace("b", "", {{"b1", ""}, {"b2", ""}, {"b3", ""}})}; - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, FullPackageSpec::to_feature_specs({spec_a}), StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_feature_install_plan( + map_port, var_provider, {spec_a}, StatusParagraphs(std::move(status_paragraphs))); + + auto& install_plan = plan.install_actions; REQUIRE(install_plan.size() == 2); features_check(install_plan.at(0), "b", {"b1", "b2", "core"}); features_check(install_plan.at(1), "a", {"a1", "core"}); @@ -303,15 +270,18 @@ TEST_CASE ("basic feature test 3", "[plan]") auto spec_b = FullPackageSpec{spec_map.emplace("b")}; auto spec_c = FullPackageSpec{spec_map.emplace("c", "a[a1]"), {"core"}}; - auto install_plan = Dependencies::create_feature_install_plan(spec_map.map, - FullPackageSpec::to_feature_specs({spec_c, spec_a}), - StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; - REQUIRE(install_plan.size() == 4); - remove_plan_check(install_plan.at(0), "a"); - features_check(install_plan.at(1), "b", {"core"}); - features_check(install_plan.at(2), "a", {"a1", "core"}); - features_check(install_plan.at(3), "c", {"core"}); + auto plan = Dependencies::create_feature_install_plan( + map_port, var_provider, {spec_c, spec_a}, StatusParagraphs(std::move(status_paragraphs))); + + REQUIRE(plan.size() == 4); + remove_plan_check(plan.remove_actions.at(0), "a"); + auto& install_plan = plan.install_actions; + features_check(install_plan.at(0), "b", {"core"}); + features_check(install_plan.at(1), "a", {"a1", "core"}); + features_check(install_plan.at(2), "c", {"core"}); } TEST_CASE ("basic feature test 4", "[plan]") @@ -326,11 +296,14 @@ TEST_CASE ("basic feature test 4", "[plan]") auto spec_b = FullPackageSpec{spec_map.emplace("b")}; auto spec_c = FullPackageSpec{spec_map.emplace("c", "a[a1]"), {"core"}}; + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, FullPackageSpec::to_feature_specs({spec_c}), StatusParagraphs(std::move(status_paragraphs))); + map_port, var_provider, {spec_c}, StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 1); - features_check(install_plan.at(0), "c", {"core"}); + features_check(install_plan.install_actions.at(0), "c", {"core"}); } TEST_CASE ("basic feature test 5", "[plan]") @@ -343,12 +316,15 @@ TEST_CASE ("basic feature test 5", "[plan]") FullPackageSpec{spec_map.emplace("a", "", {{"a1", "b[b1]"}, {"a2", "b[b2]"}, {"a3", "a[a2]"}}), {"a3"}}; auto spec_b = FullPackageSpec{spec_map.emplace("b", "", {{"b1", ""}, {"b2", ""}})}; + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, FullPackageSpec::to_feature_specs({spec_a}), StatusParagraphs(std::move(status_paragraphs))); + map_port, var_provider, {spec_a}, StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 2); - features_check(install_plan.at(0), "b", {"core", "b2"}); - features_check(install_plan.at(1), "a", {"core", "a3", "a2"}); + features_check(install_plan.install_actions.at(0), "b", {"core", "b2"}); + features_check(install_plan.install_actions.at(1), "a", {"core", "a3", "a2"}); } TEST_CASE ("basic feature test 6", "[plan]") @@ -360,14 +336,16 @@ TEST_CASE ("basic feature test 6", "[plan]") auto spec_a = FullPackageSpec{spec_map.emplace("a", "b[core]"), {"core"}}; auto spec_b = FullPackageSpec{spec_map.emplace("b", "", {{"b1", ""}}), {"b1"}}; - auto install_plan = Dependencies::create_feature_install_plan(spec_map.map, - FullPackageSpec::to_feature_specs({spec_a, spec_b}), - StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; - REQUIRE(install_plan.size() == 3); - remove_plan_check(install_plan.at(0), "b"); - features_check(install_plan.at(1), "b", {"core", "b1"}); - features_check(install_plan.at(2), "a", {"core"}); + auto plan = Dependencies::create_feature_install_plan( + map_port, var_provider, {spec_a, spec_b}, StatusParagraphs(std::move(status_paragraphs))); + + REQUIRE(plan.size() == 3); + remove_plan_check(plan.remove_actions.at(0), "b"); + features_check(plan.install_actions.at(0), "b", {"core", "b1"}); + features_check(plan.install_actions.at(1), "a", {"core"}); } TEST_CASE ("basic feature test 7", "[plan]") @@ -382,20 +360,23 @@ TEST_CASE ("basic feature test 7", "[plan]") auto spec_x = FullPackageSpec{spec_map.emplace("x", "a"), {"core"}}; auto spec_b = FullPackageSpec{spec_map.emplace("b", "", {{"b1", ""}}), {"b1"}}; - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, FullPackageSpec::to_feature_specs({spec_b}), StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; - REQUIRE(install_plan.size() == 5); - remove_plan_check(install_plan.at(0), "x"); - remove_plan_check(install_plan.at(1), "b"); + auto plan = Dependencies::create_feature_install_plan( + map_port, var_provider, {spec_b}, StatusParagraphs(std::move(status_paragraphs))); + + REQUIRE(plan.size() == 5); + remove_plan_check(plan.remove_actions.at(0), "x"); + remove_plan_check(plan.remove_actions.at(1), "b"); // TODO: order here may change but A < X, and B anywhere - features_check(install_plan.at(2), "b", {"core", "b1"}); - features_check(install_plan.at(3), "a", {"core"}); - features_check(install_plan.at(4), "x", {"core"}); + features_check(plan.install_actions.at(0), "b", {"core", "b1"}); + features_check(plan.install_actions.at(1), "a", {"core"}); + features_check(plan.install_actions.at(2), "x", {"core"}); } -TEST_CASE ("basic feature test 8", "[plan][!mayfail]") +TEST_CASE ("basic feature test 8", "[plan]") { std::vector> status_paragraphs; status_paragraphs.push_back(make_status_pgh("a")); @@ -413,19 +394,23 @@ TEST_CASE ("basic feature test 8", "[plan][!mayfail]") auto spec_b_86 = FullPackageSpec{spec_map.emplace("b")}; auto spec_c_86 = FullPackageSpec{spec_map.emplace("c", "a[a1]"), {"core"}}; - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({spec_c_64, spec_a_86, spec_a_64, spec_c_86}), - StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; - remove_plan_check(install_plan.at(0), "a", Triplet::X64_WINDOWS); - remove_plan_check(install_plan.at(1), "a"); - features_check(install_plan.at(2), "b", {"core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(3), "a", {"a1", "core"}, Triplet::X64_WINDOWS); + auto plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {spec_c_64, spec_a_86, spec_a_64, spec_c_86}, + StatusParagraphs(std::move(status_paragraphs))); + + remove_plan_check(plan.remove_actions.at(0), "a", Triplet::X64_WINDOWS); + remove_plan_check(plan.remove_actions.at(1), "a"); + auto& install_plan = plan.install_actions; + features_check(install_plan.at(0), "b", {"core"}, Triplet::X64_WINDOWS); + features_check(install_plan.at(1), "a", {"a1", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.at(2), "b", {"core"}); + features_check(install_plan.at(3), "a", {"a1", "core"}); features_check(install_plan.at(4), "c", {"core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(5), "b", {"core"}); - features_check(install_plan.at(6), "a", {"a1", "core"}); - features_check(install_plan.at(7), "c", {"core"}); + features_check(install_plan.at(5), "c", {"core"}); } TEST_CASE ("install all features test", "[plan]") @@ -438,13 +423,17 @@ TEST_CASE ("install all features test", "[plan]") auto install_specs = FullPackageSpec::from_string("a[*]", Triplet::X64_WINDOWS); REQUIRE(install_specs.has_value()); if (!install_specs.has_value()) return; - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 1); - features_check(install_plan.at(0), "a", {"0", "1", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "a", {"0", "1", "core"}, Triplet::X64_WINDOWS); } TEST_CASE ("install default features test 1", "[plan]") @@ -457,14 +446,18 @@ TEST_CASE ("install default features test 1", "[plan]") // Install "a" (without explicit feature specification) auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS); - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); // Expect the default feature "1" to be installed, but not "0" REQUIRE(install_plan.size() == 1); - features_check(install_plan.at(0), "a", {"1", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "a", {"1", "core"}, Triplet::X64_WINDOWS); } TEST_CASE ("install default features test 2", "[plan]") @@ -482,16 +475,20 @@ TEST_CASE ("install default features test 2", "[plan]") // Install "a" (without explicit feature specification) auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS); - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); // Expect "a" to get removed for rebuild and then installed with default // features. REQUIRE(install_plan.size() == 2); - remove_plan_check(install_plan.at(0), "a", Triplet::X64_WINDOWS); - features_check(install_plan.at(1), "a", {"a1", "core"}, Triplet::X64_WINDOWS); + remove_plan_check(install_plan.remove_actions.at(0), "a", Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "a", {"a1", "core"}, Triplet::X64_WINDOWS); } TEST_CASE ("install default features test 3", "[plan]") @@ -504,14 +501,18 @@ TEST_CASE ("install default features test 3", "[plan]") // Explicitly install "a" without default features auto install_specs = FullPackageSpec::from_string("a[core]", Triplet::X64_WINDOWS); - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); // Expect the default feature not to get installed. REQUIRE(install_plan.size() == 1); - features_check(install_plan.at(0), "a", {"core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "a", {"core"}, Triplet::X64_WINDOWS); } TEST_CASE ("install default features of dependency test 1", "[plan]") @@ -526,16 +527,76 @@ TEST_CASE ("install default features of dependency test 1", "[plan]") // Install "a" (without explicit feature specification) auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); + + // Expect "a" to get installed and defaults of "b" through the dependency, + // as no explicit features of "b" are installed by the user. + REQUIRE(install_plan.size() == 2); + features_check(install_plan.install_actions.at(0), "b", {"b1", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(1), "a", {"core"}, Triplet::X64_WINDOWS); +} + +TEST_CASE ("do not install default features of dependency test 1", "[plan]") +{ + std::vector> status_paragraphs; + + // Add a port "a" which depends on the core of "b" + PackageSpecMap spec_map(Triplet::X64_WINDOWS); + spec_map.emplace("a", "b[core]"); + // "b" has two features, of which "b1" is default. + spec_map.emplace("b", "", {{"b0", ""}, {"b1", ""}}, {"b1"}); + + // Install "a" (without explicit feature specification) + auto spec_a = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS); + auto spec_b = FullPackageSpec::from_string("b[core]", Triplet::X64_WINDOWS); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), + map_port, + var_provider, + {spec_a.value_or_exit(VCPKG_LINE_INFO), spec_b.value_or_exit(VCPKG_LINE_INFO)}, StatusParagraphs(std::move(status_paragraphs))); // Expect "a" to get installed and defaults of "b" through the dependency, // as no explicit features of "b" are installed by the user. REQUIRE(install_plan.size() == 2); - features_check(install_plan.at(0), "b", {"b1", "core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(1), "a", {"core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "b", {"core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(1), "a", {"core"}, Triplet::X64_WINDOWS); +} + +TEST_CASE ("install default features of dependency test 2", "[plan]") +{ + std::vector> status_paragraphs; + + // Add a port "a" which depends on the default features of "b" + PackageSpecMap spec_map(Triplet::X64_WINDOWS); + spec_map.emplace("a", "b"); + // "b" has two features, of which "b1" is default. + spec_map.emplace("b", "", {{"b0", ""}, {"b1", ""}}, {"b1"}); + + // Install "a" (without explicit feature specification) + auto spec_a = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS); + auto spec_b = FullPackageSpec::from_string("b[core]", Triplet::X64_WINDOWS); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan( + map_port, + var_provider, + {spec_a.value_or_exit(VCPKG_LINE_INFO), spec_b.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); + + // Expect "a" to get installed and defaults of "b" through the dependency + REQUIRE(install_plan.size() == 2); + features_check(install_plan.install_actions.at(0), "b", {"b1", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(1), "a", {"core"}, Triplet::X64_WINDOWS); } TEST_CASE ("do not install default features of existing dependency", "[plan]") @@ -554,17 +615,20 @@ TEST_CASE ("do not install default features of existing dependency", "[plan]") // Install "a" (without explicit feature specification) auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS); - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); // Expect "a" to get installed, but not require rebuilding "b" REQUIRE(install_plan.size() == 1); - features_check(install_plan.at(0), "a", {"core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "a", {"core"}, Triplet::X64_WINDOWS); } -TEST_CASE ("install default features of dependency test 2", "[plan]") +TEST_CASE ("install default features of dependency test 3", "[plan]") { std::vector> status_paragraphs; status_paragraphs.push_back(make_status_pgh("b")); @@ -580,15 +644,18 @@ TEST_CASE ("install default features of dependency test 2", "[plan]") // Install "a" (without explicit feature specification) auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS); - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); // Expect "a" to get installed, not the defaults of "b", as the required // dependencies are already there, installed explicitly by the user. REQUIRE(install_plan.size() == 1); - features_check(install_plan.at(0), "a", {"core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "a", {"core"}, Triplet::X64_WINDOWS); } TEST_CASE ("install plan action dependencies", "[plan]") @@ -604,19 +671,23 @@ TEST_CASE ("install plan action dependencies", "[plan]") // Install "a" (without explicit feature specification) auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS); - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 3); - features_check(install_plan.at(0), "c", {"core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "c", {"core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(1), "b", {"core"}, Triplet::X64_WINDOWS); - REQUIRE(install_plan.at(1).install_action.get()->computed_dependencies == std::vector{spec_c}); + // TODO: Figure out what to do with these tests + features_check(install_plan.install_actions.at(1), "b", {"core"}, Triplet::X64_WINDOWS); + // REQUIRE(install_plan.at(1).install_action.get()->computed_dependencies == std::vector{spec_c}); - features_check(install_plan.at(2), "a", {"core"}, Triplet::X64_WINDOWS); - REQUIRE(install_plan.at(2).install_action.get()->computed_dependencies == std::vector{spec_b}); + features_check(install_plan.install_actions.at(2), "a", {"core"}, Triplet::X64_WINDOWS); + // REQUIRE(install_plan.at(2).install_action.get()->computed_dependencies == std::vector{spec_b}); } TEST_CASE ("install plan action dependencies 2", "[plan]") @@ -632,19 +703,23 @@ TEST_CASE ("install plan action dependencies 2", "[plan]") // Install "a" (without explicit feature specification) auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS); - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 3); - features_check(install_plan.at(0), "c", {"core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "c", {"core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(1), "b", {"core"}, Triplet::X64_WINDOWS); - REQUIRE(install_plan.at(1).install_action.get()->computed_dependencies == std::vector{spec_c}); + features_check(install_plan.install_actions.at(1), "b", {"core"}, Triplet::X64_WINDOWS); + // REQUIRE(install_plan.at(1).install_action.get()->computed_dependencies == std::vector{spec_c}); - features_check(install_plan.at(2), "a", {"core"}, Triplet::X64_WINDOWS); - REQUIRE(install_plan.at(2).install_action.get()->computed_dependencies == std::vector{spec_b, spec_c}); + features_check(install_plan.install_actions.at(2), "a", {"core"}, Triplet::X64_WINDOWS); + // REQUIRE(install_plan.at(2).install_action.get()->computed_dependencies == std::vector{spec_b, + // spec_c}); } TEST_CASE ("install plan action dependencies 3", "[plan]") @@ -658,14 +733,17 @@ TEST_CASE ("install plan action dependencies 3", "[plan]") // Install "a" (without explicit feature specification) auto install_specs = FullPackageSpec::from_string("a", Triplet::X64_WINDOWS); - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + + auto install_plan = Dependencies::create_feature_install_plan(map_port, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 1); - features_check(install_plan.at(0), "a", {"1", "0", "core"}, Triplet::X64_WINDOWS); - REQUIRE(install_plan.at(0).install_action.get()->computed_dependencies == std::vector{}); + features_check(install_plan.install_actions.at(0), "a", {"1", "0", "core"}, Triplet::X64_WINDOWS); + // REQUIRE(install_plan.at(0).install_action.get()->computed_dependencies == std::vector{}); } TEST_CASE ("install with default features", "[plan]") @@ -678,14 +756,20 @@ TEST_CASE ("install with default features", "[plan]") auto b_spec = spec_map.emplace("b", "", {{"0", ""}}, {"0"}); auto a_spec = spec_map.emplace("a", "b[core]", {{"0", ""}}); - // Install "a" and indicate that "b" should not install default features - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, {FeatureSpec{a_spec, "0"}, FeatureSpec{b_spec, "core"}}, status_db); + PortFileProvider::MapPortFileProvider map_port{spec_map.map}; + MockCMakeVarProvider var_provider; + auto install_plan = + Dependencies::create_feature_install_plan(map_port, + var_provider, + {FullPackageSpec{a_spec, {"0"}}, FullPackageSpec{b_spec, {"core"}}}, + StatusParagraphs(std::move(status_db))); + + // Install "a" and indicate that "b" should not install default features REQUIRE(install_plan.size() == 3); - remove_plan_check(install_plan.at(0), "a"); - features_check(install_plan.at(1), "b", {"core"}); - features_check(install_plan.at(2), "a", {"0", "core"}); + remove_plan_check(install_plan.remove_actions.at(0), "a"); + features_check(install_plan.install_actions.at(0), "b", {"core"}); + features_check(install_plan.install_actions.at(1), "a", {"0", "core"}); } TEST_CASE ("upgrade with default features 1", "[plan]") @@ -699,18 +783,15 @@ TEST_CASE ("upgrade with default features 1", "[plan]") PackageSpecMap spec_map; auto spec_a = spec_map.emplace("a", "", {{"0", ""}, {"1", ""}}, {"1"}); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a}, status_db); // The upgrade should not install the default feature REQUIRE(plan.size() == 2); - REQUIRE(plan.at(0).spec().name() == "a"); - remove_plan_check(plan.at(0), "a"); - features_check(plan.at(1), "a", {"core", "0"}); + remove_plan_check(plan.remove_actions.at(0), "a"); + features_check(plan.install_actions.at(0), "a", {"core", "0"}); } TEST_CASE ("upgrade with default features 2", "[plan]") @@ -726,19 +807,16 @@ TEST_CASE ("upgrade with default features 2", "[plan]") auto spec_a = spec_map.emplace("a", "b[core]"); auto spec_b = spec_map.emplace("b", "", {{"b0", ""}, {"b1", ""}}, {"b0", "b1"}); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - graph.upgrade(spec_b); - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a, spec_b}, status_db); // The upgrade should install the new default feature b1 but not b0 REQUIRE(plan.size() == 4); - remove_plan_check(plan.at(0), "a", Triplet::X64_WINDOWS); - remove_plan_check(plan.at(1), "b", Triplet::X64_WINDOWS); - features_check(plan.at(2), "b", {"core", "b1"}, Triplet::X64_WINDOWS); - features_check(plan.at(3), "a", {"core"}, Triplet::X64_WINDOWS); + remove_plan_check(plan.remove_actions.at(0), "a", Triplet::X64_WINDOWS); + remove_plan_check(plan.remove_actions.at(1), "b", Triplet::X64_WINDOWS); + features_check(plan.install_actions.at(0), "b", {"core", "b1"}, Triplet::X64_WINDOWS); + features_check(plan.install_actions.at(1), "a", {"core"}, Triplet::X64_WINDOWS); } TEST_CASE ("upgrade with default features 3", "[plan]") @@ -754,17 +832,15 @@ TEST_CASE ("upgrade with default features 3", "[plan]") auto spec_a = spec_map.emplace("a", "b[core]"); spec_map.emplace("b", "", {{"b0", ""}, {"b1", ""}}, {"b0"}); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a}, status_db); // The upgrade should install the default feature REQUIRE(plan.size() == 3); - remove_plan_check(plan.at(0), "a", Triplet::X64_WINDOWS); - features_check(plan.at(1), "b", {"b0", "core"}, Triplet::X64_WINDOWS); - features_check(plan.at(2), "a", {"core"}, Triplet::X64_WINDOWS); + remove_plan_check(plan.remove_actions.at(0), "a", Triplet::X64_WINDOWS); + features_check(plan.install_actions.at(0), "b", {"b0", "core"}, Triplet::X64_WINDOWS); + features_check(plan.install_actions.at(1), "a", {"core"}, Triplet::X64_WINDOWS); } TEST_CASE ("upgrade with new default feature", "[plan]") @@ -777,16 +853,14 @@ TEST_CASE ("upgrade with new default feature", "[plan]") PackageSpecMap spec_map; auto spec_a = spec_map.emplace("a", "", {{"0", ""}, {"1", ""}, {"2", ""}}, {"0", "1"}); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a}, status_db); // The upgrade should install the new default feature but not the old default feature 0 REQUIRE(plan.size() == 2); - remove_plan_check(plan.at(0), "a", Triplet::X86_WINDOWS); - features_check(plan.at(1), "a", {"core", "1"}, Triplet::X86_WINDOWS); + remove_plan_check(plan.remove_actions.at(0), "a", Triplet::X86_WINDOWS); + features_check(plan.install_actions.at(0), "a", {"core", "1"}, Triplet::X86_WINDOWS); } TEST_CASE ("transitive features test", "[plan]") @@ -801,15 +875,18 @@ TEST_CASE ("transitive features test", "[plan]") auto install_specs = FullPackageSpec::from_string("a[*]", Triplet::X64_WINDOWS); REQUIRE(install_specs.has_value()); if (!install_specs.has_value()) return; - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto install_plan = Dependencies::create_feature_install_plan(provider, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 3); - features_check(install_plan.at(0), "c", {"0", "core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(1), "b", {"0", "core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(2), "a", {"0", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "c", {"0", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(1), "b", {"0", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(2), "a", {"0", "core"}, Triplet::X64_WINDOWS); } TEST_CASE ("no transitive features test", "[plan]") @@ -824,15 +901,17 @@ TEST_CASE ("no transitive features test", "[plan]") auto install_specs = FullPackageSpec::from_string("a[*]", Triplet::X64_WINDOWS); REQUIRE(install_specs.has_value()); if (!install_specs.has_value()) return; - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto install_plan = Dependencies::create_feature_install_plan(provider, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 3); - features_check(install_plan.at(0), "c", {"core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(1), "b", {"core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(2), "a", {"0", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "c", {"core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(1), "b", {"core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(2), "a", {"0", "core"}, Triplet::X64_WINDOWS); } TEST_CASE ("only transitive features test", "[plan]") @@ -847,15 +926,17 @@ TEST_CASE ("only transitive features test", "[plan]") auto install_specs = FullPackageSpec::from_string("a[*]", Triplet::X64_WINDOWS); REQUIRE(install_specs.has_value()); if (!install_specs.has_value()) return; - auto install_plan = Dependencies::create_feature_install_plan( - spec_map.map, - FullPackageSpec::to_feature_specs({install_specs.value_or_exit(VCPKG_LINE_INFO)}), - StatusParagraphs(std::move(status_paragraphs))); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto install_plan = Dependencies::create_feature_install_plan(provider, + var_provider, + {install_specs.value_or_exit(VCPKG_LINE_INFO)}, + StatusParagraphs(std::move(status_paragraphs))); REQUIRE(install_plan.size() == 3); - features_check(install_plan.at(0), "c", {"0", "core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(1), "b", {"0", "core"}, Triplet::X64_WINDOWS); - features_check(install_plan.at(2), "a", {"0", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(0), "c", {"0", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(1), "b", {"0", "core"}, Triplet::X64_WINDOWS); + features_check(install_plan.install_actions.at(2), "a", {"0", "core"}, Triplet::X64_WINDOWS); } TEST_CASE ("basic remove scheme", "[plan]") @@ -973,18 +1054,13 @@ TEST_CASE ("basic upgrade scheme", "[plan]") PackageSpecMap spec_map; auto spec_a = spec_map.emplace("a"); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a}, status_db); REQUIRE(plan.size() == 2); - REQUIRE(plan.at(0).spec().name() == "a"); - REQUIRE(plan.at(0).remove_action.has_value()); - REQUIRE(plan.at(1).spec().name() == "a"); - REQUIRE(plan.at(1).install_action.has_value()); + remove_plan_check(plan.remove_actions.at(0), "a"); + features_check(plan.install_actions.at(0), "a", {"core"}); } TEST_CASE ("basic upgrade scheme with recurse", "[plan]") @@ -998,25 +1074,15 @@ TEST_CASE ("basic upgrade scheme with recurse", "[plan]") auto spec_a = spec_map.emplace("a"); spec_map.emplace("b", "a"); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a}, status_db); REQUIRE(plan.size() == 4); - REQUIRE(plan.at(0).spec().name() == "b"); - REQUIRE(plan.at(0).remove_action.has_value()); - - REQUIRE(plan.at(1).spec().name() == "a"); - REQUIRE(plan.at(1).remove_action.has_value()); - - REQUIRE(plan.at(2).spec().name() == "a"); - REQUIRE(plan.at(2).install_action.has_value()); - - REQUIRE(plan.at(3).spec().name() == "b"); - REQUIRE(plan.at(3).install_action.has_value()); + remove_plan_check(plan.remove_actions.at(0), "b"); + remove_plan_check(plan.remove_actions.at(1), "a"); + features_check(plan.install_actions.at(0), "a", {"core"}); + features_check(plan.install_actions.at(1), "b", {"core"}); } TEST_CASE ("basic upgrade scheme with bystander", "[plan]") @@ -1030,18 +1096,13 @@ TEST_CASE ("basic upgrade scheme with bystander", "[plan]") auto spec_a = spec_map.emplace("a"); spec_map.emplace("b", "a"); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a}, status_db); REQUIRE(plan.size() == 2); - REQUIRE(plan.at(0).spec().name() == "a"); - REQUIRE(plan.at(0).remove_action.has_value()); - REQUIRE(plan.at(1).spec().name() == "a"); - REQUIRE(plan.at(1).install_action.has_value()); + remove_plan_check(plan.remove_actions.at(0), "a"); + features_check(plan.install_actions.at(0), "a", {"core"}); } TEST_CASE ("basic upgrade scheme with new dep", "[plan]") @@ -1054,20 +1115,14 @@ TEST_CASE ("basic upgrade scheme with new dep", "[plan]") auto spec_a = spec_map.emplace("a", "b"); spec_map.emplace("b"); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a}, status_db); REQUIRE(plan.size() == 3); - REQUIRE(plan.at(0).spec().name() == "a"); - REQUIRE(plan.at(0).remove_action.has_value()); - REQUIRE(plan.at(1).spec().name() == "b"); - REQUIRE(plan.at(1).install_action.has_value()); - REQUIRE(plan.at(2).spec().name() == "a"); - REQUIRE(plan.at(2).install_action.has_value()); + remove_plan_check(plan.remove_actions.at(0), "a"); + features_check(plan.install_actions.at(0), "b", {"core"}); + features_check(plan.install_actions.at(1), "a", {"core"}); } TEST_CASE ("basic upgrade scheme with features", "[plan]") @@ -1080,19 +1135,13 @@ TEST_CASE ("basic upgrade scheme with features", "[plan]") PackageSpecMap spec_map; auto spec_a = spec_map.emplace("a", "", {{"a1", ""}}); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a}, status_db); REQUIRE(plan.size() == 2); - - REQUIRE(plan.at(0).spec().name() == "a"); - REQUIRE(plan.at(0).remove_action.has_value()); - - features_check(plan.at(1), "a", {"core", "a1"}); + remove_plan_check(plan.remove_actions.at(0), "a"); + features_check(plan.install_actions.at(0), "a", {"core", "a1"}); } TEST_CASE ("basic upgrade scheme with new default feature", "[plan]") @@ -1106,19 +1155,13 @@ TEST_CASE ("basic upgrade scheme with new default feature", "[plan]") PackageSpecMap spec_map; auto spec_a = spec_map.emplace("a", "", {{"a1", ""}}, {"a1"}); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a}, status_db); REQUIRE(plan.size() == 2); - - REQUIRE(plan.at(0).spec().name() == "a"); - REQUIRE(plan.at(0).remove_action.has_value()); - - features_check(plan.at(1), "a", {"core", "a1"}); + remove_plan_check(plan.remove_actions.at(0), "a"); + features_check(plan.install_actions.at(0), "a", {"core", "a1"}); } TEST_CASE ("basic upgrade scheme with self features", "[plan]") @@ -1132,21 +1175,13 @@ TEST_CASE ("basic upgrade scheme with self features", "[plan]") PackageSpecMap spec_map; auto spec_a = spec_map.emplace("a", "", {{"a1", ""}, {"a2", "a[a1]"}}); - Dependencies::MapPortFileProvider provider(spec_map.map); - Dependencies::PackageGraph graph(provider, status_db); - - graph.upgrade(spec_a); - - auto plan = graph.serialize(); + PortFileProvider::MapPortFileProvider provider(spec_map.map); + MockCMakeVarProvider var_provider; + auto plan = Dependencies::create_upgrade_plan(provider, var_provider, {spec_a}, status_db); REQUIRE(plan.size() == 2); - - REQUIRE(plan.at(0).spec().name() == "a"); - REQUIRE(plan.at(0).remove_action.has_value()); - - REQUIRE(plan.at(1).spec().name() == "a"); - REQUIRE(plan.at(1).install_action.has_value()); - REQUIRE(plan.at(1).install_action.get()->feature_list == std::set{"core", "a1", "a2"}); + remove_plan_check(plan.remove_actions.at(0), "a"); + features_check(plan.install_actions.at(0), "a", {"a1", "a2", "core"}); } TEST_CASE ("basic export scheme", "[plan]") diff --git a/toolsrc/src/vcpkg-test/specifier.cpp b/toolsrc/src/vcpkg-test/specifier.cpp index 33df8ba83d..a0a3725e8b 100644 --- a/toolsrc/src/vcpkg-test/specifier.cpp +++ b/toolsrc/src/vcpkg-test/specifier.cpp @@ -1,5 +1,6 @@ #include +#include #include #include @@ -14,11 +15,13 @@ TEST_CASE ("specifier conversion", "[specifier]") auto a_spec = PackageSpec::from_name_and_triplet("a", Triplet::X64_WINDOWS).value_or_exit(VCPKG_LINE_INFO); auto b_spec = PackageSpec::from_name_and_triplet("b", Triplet::X64_WINDOWS).value_or_exit(VCPKG_LINE_INFO); - auto fspecs = FullPackageSpec::to_feature_specs({{a_spec, {"0", "1"}}, {b_spec, {"2", "3"}}}); - + auto fspecs = FullPackageSpec{a_spec, {"0", "1"}}.to_feature_specs({}, {}); + auto fspecs2 = FullPackageSpec{b_spec, {"2", "3"}}.to_feature_specs({}, {}); + Util::Vectors::append(&fspecs, fspecs2); + Util::sort(fspecs); REQUIRE(fspecs.size() == SPEC_SIZE); - std::array features = {"", "0", "1", "", "2", "3"}; + std::array features = {"0", "1", "core", "2", "3", "core"}; std::array specs = {&a_spec, &a_spec, &a_spec, &b_spec, &b_spec, &b_spec}; for (std::size_t i = 0; i < SPEC_SIZE; ++i) @@ -101,19 +104,20 @@ TEST_CASE ("specifier parsing", "[specifier]") auto zlib = vcpkg::FullPackageSpec::from_string("zlib[0,1]", Triplet::X86_UWP).value_or_exit(VCPKG_LINE_INFO); auto openssl = vcpkg::FullPackageSpec::from_string("openssl[*]", Triplet::X86_UWP).value_or_exit(VCPKG_LINE_INFO); - auto specs = FullPackageSpec::to_feature_specs({zlib, openssl}); + auto specs = zlib.to_feature_specs({}, {}); + auto specs2 = openssl.to_feature_specs({}, {}); + Util::Vectors::append(&specs, specs2); Util::sort(specs); + auto spectargets = FeatureSpec::from_strings_and_triplet( { "openssl", "zlib", - "openssl[*]", "zlib[0]", "zlib[1]", }, Triplet::X86_UWP); Util::sort(spectargets); - REQUIRE(specs.size() == spectargets.size()); REQUIRE(Util::all_equal(specs, spectargets)); } diff --git a/toolsrc/src/vcpkg-test/supports.cpp b/toolsrc/src/vcpkg-test/supports.cpp deleted file mode 100644 index f4d8dc65ae..0000000000 --- a/toolsrc/src/vcpkg-test/supports.cpp +++ /dev/null @@ -1,79 +0,0 @@ -#include - -#include - -using namespace vcpkg; -using Parse::parse_comma_list; - -TEST_CASE ("parse supports all", "[supports]") -{ - auto v = Supports::parse({ - "x64", - "x86", - "arm", - "windows", - "uwp", - "v140", - "v141", - "crt-static", - "crt-dynamic", - }); - - REQUIRE(v.has_value()); - - REQUIRE(v.get()->is_supported(System::CPUArchitecture::X64, - Supports::Platform::UWP, - Supports::Linkage::DYNAMIC, - Supports::ToolsetVersion::V140)); - REQUIRE(v.get()->is_supported(System::CPUArchitecture::ARM, - Supports::Platform::WINDOWS, - Supports::Linkage::STATIC, - Supports::ToolsetVersion::V141)); -} - -TEST_CASE ("parse supports invalid", "[supports]") -{ - auto v = Supports::parse({"arm64"}); - - REQUIRE_FALSE(v.has_value()); - - REQUIRE(v.error().size() == 1); - REQUIRE(v.error().at(0) == "arm64"); -} - -TEST_CASE ("parse supports case sensitive", "[supports]") -{ - auto v = Supports::parse({"Windows"}); - - REQUIRE_FALSE(v.has_value()); - REQUIRE(v.error().size() == 1); - REQUIRE(v.error().at(0) == "Windows"); -} - -TEST_CASE ("parse supports some", "[supports]") -{ - auto v = Supports::parse({ - "x64", - "x86", - "windows", - }); - - REQUIRE(v.has_value()); - - REQUIRE(v.get()->is_supported(System::CPUArchitecture::X64, - Supports::Platform::WINDOWS, - Supports::Linkage::DYNAMIC, - Supports::ToolsetVersion::V140)); - REQUIRE_FALSE(v.get()->is_supported(System::CPUArchitecture::ARM, - Supports::Platform::WINDOWS, - Supports::Linkage::DYNAMIC, - Supports::ToolsetVersion::V140)); - REQUIRE_FALSE(v.get()->is_supported(System::CPUArchitecture::X64, - Supports::Platform::UWP, - Supports::Linkage::DYNAMIC, - Supports::ToolsetVersion::V140)); - REQUIRE(v.get()->is_supported(System::CPUArchitecture::X64, - Supports::Platform::WINDOWS, - Supports::Linkage::STATIC, - Supports::ToolsetVersion::V141)); -} diff --git a/toolsrc/src/vcpkg-test/update.cpp b/toolsrc/src/vcpkg-test/update.cpp index 6f1a87d239..a362df720e 100644 --- a/toolsrc/src/vcpkg-test/update.cpp +++ b/toolsrc/src/vcpkg-test/update.cpp @@ -20,9 +20,9 @@ TEST_CASE ("find outdated packages basic", "[update]") StatusParagraphs status_db(std::move(status_paragraphs)); std::unordered_map map; - auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "0"}}})); + auto scf = unwrap(SourceControlFile::parse_control_file("", Pgh{{{"Source", "a"}, {"Version", "0"}}})); map.emplace("a", SourceControlFileLocation{std::move(scf), ""}); - Dependencies::MapPortFileProvider provider(map); + PortFileProvider::MapPortFileProvider provider(map); auto pkgs = SortedVector(Update::find_outdated_packages(provider, status_db), &OutdatedPackage::compare_by_name); @@ -44,9 +44,9 @@ TEST_CASE ("find outdated packages features", "[update]") StatusParagraphs status_db(std::move(status_paragraphs)); std::unordered_map map; - auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "0"}}})); + auto scf = unwrap(SourceControlFile::parse_control_file("", Pgh{{{"Source", "a"}, {"Version", "0"}}})); map.emplace("a", SourceControlFileLocation{std::move(scf), ""}); - Dependencies::MapPortFileProvider provider(map); + PortFileProvider::MapPortFileProvider provider(map); auto pkgs = SortedVector(Update::find_outdated_packages(provider, status_db), &OutdatedPackage::compare_by_name); @@ -70,9 +70,9 @@ TEST_CASE ("find outdated packages features 2", "[update]") StatusParagraphs status_db(std::move(status_paragraphs)); std::unordered_map map; - auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "0"}}})); + auto scf = unwrap(SourceControlFile::parse_control_file("", Pgh{{{"Source", "a"}, {"Version", "0"}}})); map.emplace("a", SourceControlFileLocation{std::move(scf), ""}); - Dependencies::MapPortFileProvider provider(map); + PortFileProvider::MapPortFileProvider provider(map); auto pkgs = SortedVector(Update::find_outdated_packages(provider, status_db), &OutdatedPackage::compare_by_name); @@ -91,9 +91,9 @@ TEST_CASE ("find outdated packages none", "[update]") StatusParagraphs status_db(std::move(status_paragraphs)); std::unordered_map map; - auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "2"}}})); + auto scf = unwrap(SourceControlFile::parse_control_file("", Pgh{{{"Source", "a"}, {"Version", "2"}}})); map.emplace("a", SourceControlFileLocation{std::move(scf), ""}); - Dependencies::MapPortFileProvider provider(map); + PortFileProvider::MapPortFileProvider provider(map); auto pkgs = SortedVector(Update::find_outdated_packages(provider, status_db), &OutdatedPackage::compare_by_name); diff --git a/toolsrc/src/vcpkg-test/util.cpp b/toolsrc/src/vcpkg-test/util.cpp index daa21567d0..db310f7a0e 100644 --- a/toolsrc/src/vcpkg-test/util.cpp +++ b/toolsrc/src/vcpkg-test/util.cpp @@ -38,6 +38,31 @@ namespace vcpkg::Test { + std::unique_ptr make_control_file( + const char* name, + const char* depends, + const std::vector>& features, + const std::vector& default_features) + { + using Pgh = std::unordered_map; + std::vector scf_pghs; + scf_pghs.push_back(Pgh{{"Source", name}, + {"Version", "0"}, + {"Build-Depends", depends}, + {"Default-Features", Strings::join(", ", default_features)}}); + for (auto&& feature : features) + { + scf_pghs.push_back(Pgh{ + {"Feature", feature.first}, + {"Description", "feature"}, + {"Build-Depends", feature.second}, + }); + } + auto m_pgh = vcpkg::SourceControlFile::parse_control_file("", std::move(scf_pghs)); + REQUIRE(m_pgh.has_value()); + return std::move(*m_pgh.get()); + } + std::unique_ptr make_status_pgh(const char* name, const char* depends, const char* default_features, @@ -68,6 +93,23 @@ namespace vcpkg::Test {"Status", "install ok installed"}}); } + PackageSpec PackageSpecMap::emplace(const char* name, + const char* depends, + const std::vector>& features, + const std::vector& default_features) + { + auto scfl = SourceControlFileLocation{make_control_file(name, depends, features, default_features), ""}; + return emplace(std::move(scfl)); + } + + PackageSpec PackageSpecMap::emplace(vcpkg::SourceControlFileLocation&& scfl) + { + auto spec = PackageSpec::from_name_and_triplet(scfl.source_control_file->core_paragraph->name, triplet); + REQUIRE(spec.has_value()); + map.emplace(scfl.source_control_file->core_paragraph->name, std::move(scfl)); + return PackageSpec{*spec.get()}; + } + PackageSpec unsafe_pspec(std::string name, Triplet t) { auto m_ret = PackageSpec::from_name_and_triplet(name, t); diff --git a/toolsrc/src/vcpkg/base/machinetype.cpp b/toolsrc/src/vcpkg/base/machinetype.cpp index 2b7bd5e3a5..237e1eb8bf 100644 --- a/toolsrc/src/vcpkg/base/machinetype.cpp +++ b/toolsrc/src/vcpkg/base/machinetype.cpp @@ -35,7 +35,7 @@ namespace vcpkg case MachineType::SH5: case MachineType::THUMB: case MachineType::WCEMIPSV2: return t; - default: Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown machine type code 0x%x", value); + default: Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown machine type code 0x%hx", value); } } } diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index 5a446a3303..b71ab7c444 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -444,7 +444,7 @@ namespace vcpkg Debug::print("_wpopen(", actual_cmd_line, ")\n"); std::wstring output; - wchar_t buf[1024]; + auto buf = std::make_unique(1024 * 32); g_ctrl_c_state.transition_to_spawn_process(); // Flush stdout before launching external process fflush(stdout); @@ -454,9 +454,9 @@ namespace vcpkg g_ctrl_c_state.transition_from_spawn_process(); return {1, Strings::to_utf8(output.c_str())}; } - while (fgetws(buf, 1024, pipe)) + while (fgetws(buf.get(), 1024 * 32, pipe)) { - output.append(buf); + output.append(buf.get()); } if (!feof(pipe)) { diff --git a/toolsrc/src/vcpkg/binaryparagraph.cpp b/toolsrc/src/vcpkg/binaryparagraph.cpp index 8b18860980..3404a6a48a 100644 --- a/toolsrc/src/vcpkg/binaryparagraph.cpp +++ b/toolsrc/src/vcpkg/binaryparagraph.cpp @@ -2,6 +2,8 @@ #include #include +#include + #include #include @@ -23,6 +25,7 @@ namespace vcpkg static const std::string MAINTAINER = "Maintainer"; static const std::string DEPENDS = "Depends"; static const std::string DEFAULTFEATURES = "Default-Features"; + static const std::string TYPE = "Type"; } BinaryParagraph::BinaryParagraph() = default; @@ -60,6 +63,8 @@ namespace vcpkg this->default_features = parse_comma_list(parser.optional_field(Fields::DEFAULTFEATURES)); } + this->type = Type::from_string(parser.optional_field(Fields::TYPE)); + if (const auto err = parser.error_info(this->spec.to_string())) { System::print2(System::Color::error, "Error: while parsing the Binary Paragraph for ", this->spec, '\n'); @@ -71,18 +76,30 @@ namespace vcpkg Checks::check_exit(VCPKG_LINE_INFO, multi_arch == "same", "Multi-Arch must be 'same' but was %s", multi_arch); } - BinaryParagraph::BinaryParagraph(const SourceParagraph& spgh, const Triplet& triplet, const std::string& abi_tag) - : version(spgh.version), description(spgh.description), maintainer(spgh.maintainer), abi(abi_tag) + BinaryParagraph::BinaryParagraph(const SourceParagraph& spgh, + const Triplet& triplet, + const std::string& abi_tag, + const std::vector& deps) + : version(spgh.version) + , description(spgh.description) + , maintainer(spgh.maintainer) + , abi(abi_tag) + , type(spgh.type) { this->spec = PackageSpec::from_name_and_triplet(spgh.name, triplet).value_or_exit(VCPKG_LINE_INFO); - this->depends = filter_dependencies(spgh.depends, triplet); + this->depends = Util::fmap(deps, [](const FeatureSpec& spec) { return spec.to_string(); }); + Util::sort_unique_erase(this->depends); } - BinaryParagraph::BinaryParagraph(const SourceParagraph& spgh, const FeatureParagraph& fpgh, const Triplet& triplet) - : version(), description(fpgh.description), maintainer(), feature(fpgh.name) + BinaryParagraph::BinaryParagraph(const SourceParagraph& spgh, + const FeatureParagraph& fpgh, + const Triplet& triplet, + const std ::vector& deps) + : version(), description(fpgh.description), maintainer(), feature(fpgh.name), type(spgh.type) { this->spec = PackageSpec::from_name_and_triplet(spgh.name, triplet).value_or_exit(VCPKG_LINE_INFO); - this->depends = filter_dependencies(fpgh.depends, triplet); + this->depends = Util::fmap(deps, [](const FeatureSpec& spec) { return spec.to_string(); }); + Util::sort_unique_erase(this->depends); } std::string BinaryParagraph::displayname() const @@ -119,5 +136,7 @@ namespace vcpkg if (!pgh.maintainer.empty()) out_str.append("Maintainer: ").append(pgh.maintainer).push_back('\n'); if (!pgh.abi.empty()) out_str.append("Abi: ").append(pgh.abi).push_back('\n'); if (!pgh.description.empty()) out_str.append("Description: ").append(pgh.description).push_back('\n'); + + out_str.append("Type: ").append(Type::to_string(pgh.type)).push_back('\n'); } } diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 654142696a..bcacb331a6 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -23,10 +23,11 @@ #include #include +using namespace vcpkg; using vcpkg::Build::BuildResult; -using vcpkg::Dependencies::PathsPortFileProvider; using vcpkg::Parse::ParseControlErrorInfo; using vcpkg::Parse::ParseExpected; +using vcpkg::PortFileProvider::PathsPortFileProvider; namespace vcpkg::Build::Command { @@ -35,12 +36,21 @@ namespace vcpkg::Build::Command void perform_and_exit_ex(const FullPackageSpec& full_spec, const SourceControlFileLocation& scfl, + const PathsPortFileProvider& provider, const ParsedArguments& options, const VcpkgPaths& paths) { vcpkg::Util::unused(options); - const StatusParagraphs status_db = database_load_check(paths); + CMakeVars::TripletCMakeVarProvider var_provider(paths); + var_provider.load_dep_info_vars(std::array{full_spec.package_spec}); + var_provider.load_tag_vars(std::array{full_spec}, provider); + + StatusParagraphs status_db = database_load_check(paths); + + auto action_plan = Dependencies::create_feature_install_plan( + provider, var_provider, std::vector{full_spec}, status_db); + const PackageSpec& spec = full_spec.package_spec; const SourceControlFile& scf = *scfl.source_control_file; @@ -62,10 +72,39 @@ namespace vcpkg::Build::Command Build::FailOnTombstone::NO, }; - std::set features_as_set(full_spec.features.begin(), full_spec.features.end()); - features_as_set.emplace("core"); + std::unordered_map>* feature_dependencies = nullptr; + std::vector* package_dependencies = nullptr; + std::vector* feature_list = nullptr; + for (auto& install_action : action_plan.already_installed) + { + if (install_action.spec == full_spec.package_spec) + { + feature_dependencies = &install_action.feature_dependencies; + package_dependencies = &install_action.package_dependencies; + feature_list = &install_action.feature_list; + } + } + for (auto& install_action : action_plan.install_actions) + { + if (install_action.spec == full_spec.package_spec) + { + feature_dependencies = &install_action.feature_dependencies; + package_dependencies = &install_action.package_dependencies; + feature_list = &install_action.feature_list; + } + } - const Build::BuildPackageConfig build_config{scfl, spec.triplet(), build_package_options, features_as_set}; + Checks::check_exit(VCPKG_LINE_INFO, feature_dependencies != nullptr); + Checks::check_exit(VCPKG_LINE_INFO, package_dependencies != nullptr); + Checks::check_exit(VCPKG_LINE_INFO, feature_list != nullptr); + + const Build::BuildPackageConfig build_config{scfl, + spec.triplet(), + build_package_options, + var_provider, + *feature_dependencies, + *package_dependencies, + *feature_list}; const auto build_timer = Chrono::ElapsedTimer::create_started(); const auto result = Build::build_package(paths, build_config, status_db); @@ -121,7 +160,7 @@ namespace vcpkg::Build::Command Checks::check_exit(VCPKG_LINE_INFO, scfl != nullptr, "Error: Couldn't find port '%s'", port_name); - perform_and_exit_ex(spec, *scfl, options, paths); + perform_and_exit_ex(spec, *scfl, provider, options, paths); } } @@ -133,6 +172,7 @@ namespace vcpkg::Build static const std::string NAME_ONLY_RELEASE_CRT = "PolicyOnlyReleaseCRT"; static const std::string NAME_EMPTY_INCLUDE_FOLDER = "PolicyEmptyIncludeFolder"; static const std::string NAME_ALLOW_OBSOLETE_MSVCRT = "PolicyAllowObsoleteMsvcrt"; + static const std::string NAME_ALLOW_RESTRICTED_HEADERS = "PolicyAllowRestrictedHeaders"; const std::string& to_string(BuildPolicy policy) { @@ -144,6 +184,7 @@ namespace vcpkg::Build case BuildPolicy::ONLY_RELEASE_CRT: return NAME_ONLY_RELEASE_CRT; case BuildPolicy::EMPTY_INCLUDE_FOLDER: return NAME_EMPTY_INCLUDE_FOLDER; case BuildPolicy::ALLOW_OBSOLETE_MSVCRT: return NAME_ALLOW_OBSOLETE_MSVCRT; + case BuildPolicy::ALLOW_RESTRICTED_HEADERS: return NAME_ALLOW_RESTRICTED_HEADERS; default: Checks::unreachable(VCPKG_LINE_INFO); } } @@ -158,6 +199,7 @@ namespace vcpkg::Build case BuildPolicy::ONLY_RELEASE_CRT: return "VCPKG_POLICY_ONLY_RELEASE_CRT"; case BuildPolicy::EMPTY_INCLUDE_FOLDER: return "VCPKG_POLICY_EMPTY_INCLUDE_FOLDER"; case BuildPolicy::ALLOW_OBSOLETE_MSVCRT: return "VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT"; + case BuildPolicy::ALLOW_RESTRICTED_HEADERS: return "VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS"; default: Checks::unreachable(VCPKG_LINE_INFO); } } @@ -260,20 +302,15 @@ namespace vcpkg::Build tonull); } - static BinaryParagraph create_binary_feature_control_file(const SourceParagraph& source_paragraph, - const FeatureParagraph& feature_paragraph, - const Triplet& triplet) - { - return BinaryParagraph(source_paragraph, feature_paragraph, triplet); - } - - static std::unique_ptr create_binary_control_file(const SourceParagraph& source_paragraph, - const Triplet& triplet, - const BuildInfo& build_info, - const std::string& abi_tag) + static std::unique_ptr create_binary_control_file( + const SourceParagraph& source_paragraph, + const Triplet& triplet, + const BuildInfo& build_info, + const std::string& abi_tag, + const std::vector& core_dependencies) { auto bcf = std::make_unique(); - BinaryParagraph bpgh(source_paragraph, triplet, abi_tag); + BinaryParagraph bpgh(source_paragraph, triplet, abi_tag, core_dependencies); if (const auto p_ver = build_info.version.get()) { bpgh.version = *p_ver; @@ -294,71 +331,6 @@ namespace vcpkg::Build paths.get_filesystem().write_contents(binary_control_file, start, VCPKG_LINE_INFO); } - static std::vector get_dependencies(const SourceControlFile& scf, - const std::set& feature_list, - const Triplet& triplet) - { - return Util::fmap_flatten(feature_list, [&](std::string const& feature) -> std::vector { - if (feature == "core") - { - return filter_dependencies_to_features(scf.core_paragraph->depends, triplet); - } - - auto maybe_feature = scf.find_feature(feature); - Checks::check_exit(VCPKG_LINE_INFO, maybe_feature.has_value()); - - return filter_dependencies_to_features(maybe_feature.get()->depends, triplet); - }); - } - - static std::vector get_dependency_names(const SourceControlFile& scf, - const std::set& feature_list, - const Triplet& triplet) - { - return Util::sort_unique_erase( - Util::fmap(get_dependencies(scf, feature_list, triplet), [&](const Features& feat) { return feat.name; })); - } - - static std::vector compute_required_feature_specs(const BuildPackageConfig& config, - const StatusParagraphs& status_db) - { - const Triplet& triplet = config.triplet; - - const std::vector dep_strings = get_dependency_names(config.scf, config.feature_list, triplet); - - auto dep_fspecs = FeatureSpec::from_strings_and_triplet(dep_strings, triplet); - Util::sort_unique_erase(dep_fspecs); - - // expand defaults - std::vector ret; - for (auto&& fspec : dep_fspecs) - { - if (fspec.feature().empty()) - { - // reference to default features - const auto it = status_db.find_installed(fspec.spec()); - if (it == status_db.end()) - { - // not currently installed, so just leave the default reference so it will fail later - ret.push_back(fspec); - } - else - { - ret.emplace_back(fspec.spec(), "core"); - for (auto&& default_feature : it->get()->package.default_features) - ret.emplace_back(fspec.spec(), default_feature); - } - } - else - { - ret.push_back(fspec); - } - } - Util::sort_unique_erase(ret); - - return ret; - } - static int get_concurrency() { static int concurrency = [] { @@ -423,30 +395,22 @@ namespace vcpkg::Build } const Files::Filesystem& fs = paths.get_filesystem(); - if (fs.is_regular_file(config.port_dir / "environment-overrides.cmake")) + + std::vector port_configs; + for (const PackageSpec& dependency : config.package_dependencies) { - variables.emplace_back("VCPKG_ENV_OVERRIDES_FILE", config.port_dir / "environment-overrides.cmake"); - } + const fs::path port_config_path = paths.installed / dependency.triplet().canonical_name() / "share" / + dependency.name() / "vcpkg-port-config.cmake"; - std::vector dependencies = - filter_dependencies_to_specs(config.scfl.source_control_file->core_paragraph->depends, triplet); - - std::vector port_toolchains; - for (const FeatureSpec& dependency : dependencies) - { - const fs::path port_toolchain_path = paths.installed / dependency.triplet().canonical_name() / "share" / - dependency.spec().name() / "port-toolchain.cmake"; - - if (fs.is_regular_file(port_toolchain_path)) + if (fs.is_regular_file(port_config_path)) { - System::print2(port_toolchain_path.u8string()); - port_toolchains.emplace_back(port_toolchain_path.u8string()); + port_configs.emplace_back(port_config_path.u8string()); } } - if (!port_toolchains.empty()) + if (!port_configs.empty()) { - variables.emplace_back("VCPKG_PORT_TOOLCHAINS", Strings::join(";", port_toolchains)); + variables.emplace_back("VCPKG_PORT_CONFIGS", Strings::join(";", port_configs)); } return variables; @@ -554,7 +518,9 @@ namespace vcpkg::Build if (Strings::case_insensitive_ascii_starts_with(triplet_file_path, paths.community_triplets.u8string())) { - System::printf(vcpkg::System::Color::warning, "-- Using community triplet %s. This triplet configuration is not guaranteed to succeed.\n", triplet.canonical_name()); + System::printf(vcpkg::System::Color::warning, + "-- Using community triplet %s. This triplet configuration is not guaranteed to succeed.\n", + triplet.canonical_name()); System::printf("-- [COMMUNITY] Loading triplet configuration from: %s\n", triplet_file_path); } else if (!Strings::case_insensitive_ascii_starts_with(triplet_file_path, paths.triplets.u8string())) @@ -613,8 +579,11 @@ namespace vcpkg::Build const size_t error_count = PostBuildLint::perform_all_checks(spec, paths, pre_build_info, build_info, config.port_dir); - std::unique_ptr bcf = - create_binary_control_file(*config.scf.core_paragraph, triplet, build_info, abi_tag); + auto find_itr = config.feature_dependencies.find("core"); + Checks::check_exit(VCPKG_LINE_INFO, find_itr != config.feature_dependencies.end()); + + std::unique_ptr bcf = create_binary_control_file( + *config.scf.core_paragraph, triplet, build_info, abi_tag, std::move(find_itr->second)); if (error_count != 0) { @@ -625,8 +594,13 @@ namespace vcpkg::Build for (auto&& f_pgh : config.scf.feature_paragraphs) { if (f_pgh->name == feature) - bcf->features.push_back( - create_binary_feature_control_file(*config.scf.core_paragraph, *f_pgh, triplet)); + { + find_itr = config.feature_dependencies.find(feature); + Checks::check_exit(VCPKG_LINE_INFO, find_itr != config.feature_dependencies.end()); + + bcf->features.emplace_back( + *config.scf.core_paragraph, *f_pgh, triplet, std::move(find_itr->second)); + } } } @@ -721,8 +695,11 @@ namespace vcpkg::Build paths.scripts / "cmake" / "vcpkg_fixup_cmake_targets.cmake", Hash::Algorithm::Sha1)); + abi_tag_entries.emplace_back("post_build_checks", "2"); abi_tag_entries.emplace_back("triplet", pre_build_info.triplet_abi_tag); - abi_tag_entries.emplace_back("features", Strings::join(";", config.feature_list)); + std::vector sorted_feature_list(std::begin(config.feature_list), std::end(config.feature_list)); + Util::sort(sorted_feature_list); + abi_tag_entries.emplace_back("features", Strings::join(";", sorted_feature_list)); if (pre_build_info.public_abi_override) { @@ -732,6 +709,14 @@ namespace vcpkg::Build Hash::Algorithm::Sha1)); } + // No need to sort, the variables are stored in the same order they are written down in the abi-settings file + for (const auto& env_var : pre_build_info.passthrough_env_vars) + { + abi_tag_entries.emplace_back( + "ENV:" + env_var, + Hash::get_string_hash(System::get_environment_variable(env_var).value_or(""), Hash::Algorithm::Sha1)); + } + if (config.build_package_options.use_head_version == UseHeadVersion::YES) abi_tag_entries.emplace_back("head", ""); @@ -740,12 +725,13 @@ namespace vcpkg::Build if (Debug::g_debugging) { - System::print2("[DEBUG] \n"); + std::string message = "[DEBUG] \n"; for (auto&& entry : abi_tag_entries) { - System::print2("[DEBUG] ", entry.key, "|", entry.value, "\n"); + Strings::append(message, "[DEBUG] ", entry.key, "|", entry.value, "\n"); } - System::print2("[DEBUG] \n"); + Strings::append(message, "[DEBUG] \n"); + System::print2(message); } auto abi_tag_entries_missing = abi_tag_entries; @@ -827,33 +813,27 @@ namespace vcpkg::Build const Triplet& triplet = config.triplet; const std::string& name = config.scf.core_paragraph->name; - std::vector required_fspecs = compute_required_feature_specs(config, status_db); - - // extract out the actual package ids - auto dep_pspecs = Util::fmap(required_fspecs, [](FeatureSpec const& fspec) { return fspec.spec(); }); - Util::sort_unique_erase(dep_pspecs); - - // Find all features that aren't installed. This mutates required_fspecs. - // Skip this validation when running in Download Mode. - if (config.build_package_options.only_downloads != Build::OnlyDownloads::YES) + std::vector missing_fspecs; + for (const auto& kv : config.feature_dependencies) { - Util::erase_remove_if(required_fspecs, [&](FeatureSpec const& fspec) { - return status_db.is_installed(fspec) || fspec.name() == name; - }); - - if (!required_fspecs.empty()) + for (const FeatureSpec& spec : kv.second) { - return {BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES, std::move(required_fspecs)}; + if (!(status_db.is_installed(spec) || spec.name() == name)) + { + missing_fspecs.emplace_back(spec); + } } } - const PackageSpec spec = - PackageSpec::from_name_and_triplet(config.scf.core_paragraph->name, triplet).value_or_exit(VCPKG_LINE_INFO); + if (!missing_fspecs.empty()) + { + return {BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES, std::move(missing_fspecs)}; + } + + const PackageSpec spec = PackageSpec::from_name_and_triplet(name, triplet).value_or_exit(VCPKG_LINE_INFO); std::vector dependency_abis; - - // dep_pspecs was not destroyed - for (auto&& pspec : dep_pspecs) + for (auto&& pspec : config.package_dependencies) { if (pspec == spec || Util::Enum::to_bool(config.build_package_options.only_downloads)) { @@ -865,7 +845,9 @@ namespace vcpkg::Build AbiEntry{status_it->get()->package.spec.name(), status_it->get()->package.abi}); } - const auto pre_build_info = PreBuildInfo::from_triplet_file(paths, triplet, config.scfl); + const std::unordered_map& cmake_vars = + config.var_provider.get_tag_vars(spec).value_or_exit(VCPKG_LINE_INFO); + const PreBuildInfo pre_build_info(paths, triplet, cmake_vars); auto maybe_abi_tag_and_file = compute_abi_tag(paths, config, pre_build_info, dependency_abis); if (!maybe_abi_tag_and_file) @@ -895,12 +877,22 @@ namespace vcpkg::Build if (archive_result != 0) { System::print2("Failed to decompress archive package\n"); - return BuildResult::BUILD_FAILED; + if (config.build_package_options.purge_decompress_failure == PurgeDecompressFailure::NO) + { + return BuildResult::BUILD_FAILED; + } + else + { + System::print2("Purging bad archive\n"); + fs.remove(archive_path, ec); + } + } + else + { + auto maybe_bcf = Paragraphs::try_load_cached_package(paths, spec); + auto bcf = std::make_unique(std::move(maybe_bcf).value_or_exit(VCPKG_LINE_INFO)); + return {BuildResult::SUCCEEDED, std::move(bcf)}; } - - auto maybe_bcf = Paragraphs::try_load_cached_package(paths, spec); - auto bcf = std::make_unique(std::move(maybe_bcf).value_or_exit(VCPKG_LINE_INFO)); - return {BuildResult::SUCCEEDED, std::move(bcf)}; } if (fs.exists(archive_tombstone_path)) @@ -1085,110 +1077,55 @@ namespace vcpkg::Build return inner_create_buildinfo(*pghs.get()); } - PreBuildInfo PreBuildInfo::from_triplet_file(const VcpkgPaths& paths, - const Triplet& triplet, - Optional port) + PreBuildInfo::PreBuildInfo(const VcpkgPaths& paths, + const Triplet& triplet, + const std::unordered_map& cmakevars) { - static constexpr CStringView FLAG_GUID = "c35112b6-d1ba-415b-aa5d-81de856ef8eb"; - - const fs::path& cmake_exe_path = paths.get_tool_exe(Tools::CMAKE); - const fs::path ports_cmake_script_path = paths.scripts / "get_triplet_environment.cmake"; - const fs::path triplet_file_path = paths.get_triplet_file_path(triplet); - - std::vector args{{"CMAKE_TRIPLET_FILE", triplet_file_path}}; - - if (port) + for (auto&& kv : VCPKG_OPTIONS) { - const SourceControlFileLocation& scfl = port.value_or_exit(VCPKG_LINE_INFO); - - if (paths.get_filesystem().is_regular_file(scfl.source_location / "environment-overrides.cmake")) + auto find_itr = cmakevars.find(kv.first); + if (find_itr == cmakevars.end()) { - args.emplace_back("VCPKG_ENV_OVERRIDES_FILE", scfl.source_location / "environment-overrides.cmake"); + continue; + } + + const std::string& variable_value = find_itr->second; + + switch (kv.second) + { + case VcpkgTripletVar::TARGET_ARCHITECTURE: target_architecture = variable_value; break; + case VcpkgTripletVar::CMAKE_SYSTEM_NAME: cmake_system_name = variable_value; break; + case VcpkgTripletVar::CMAKE_SYSTEM_VERSION: cmake_system_version = variable_value; break; + case VcpkgTripletVar::PLATFORM_TOOLSET: + platform_toolset = variable_value.empty() ? nullopt : Optional{variable_value}; + break; + case VcpkgTripletVar::VISUAL_STUDIO_PATH: + visual_studio_path = variable_value.empty() ? nullopt : Optional{variable_value}; + break; + case VcpkgTripletVar::CHAINLOAD_TOOLCHAIN_FILE: + external_toolchain_file = variable_value.empty() ? nullopt : Optional{variable_value}; + break; + case VcpkgTripletVar::BUILD_TYPE: + if (variable_value.empty()) + build_type = nullopt; + else if (Strings::case_insensitive_ascii_equals(variable_value, "debug")) + build_type = ConfigurationType::DEBUG; + else if (Strings::case_insensitive_ascii_equals(variable_value, "release")) + build_type = ConfigurationType::RELEASE; + else + Checks::exit_with_message( + VCPKG_LINE_INFO, "Unknown setting for VCPKG_BUILD_TYPE: %s", variable_value); + break; + case VcpkgTripletVar::ENV_PASSTHROUGH: + passthrough_env_vars = Strings::split(variable_value, ";"); + break; + case VcpkgTripletVar::PUBLIC_ABI_OVERRIDE: + public_abi_override = variable_value.empty() ? nullopt : Optional{variable_value}; + break; } } - const auto cmd_launch_cmake = System::make_cmake_cmd(cmake_exe_path, ports_cmake_script_path, args); - - const auto ec_data = System::cmd_execute_and_capture_output(cmd_launch_cmake); - Checks::check_exit(VCPKG_LINE_INFO, ec_data.exit_code == 0, ec_data.output); - - const std::vector lines = Strings::split(ec_data.output, "\n"); - - PreBuildInfo pre_build_info; - - pre_build_info.port = port; - - const auto e = lines.cend(); - auto cur = std::find(lines.cbegin(), e, FLAG_GUID); - if (cur != e) ++cur; - - for (; cur != e; ++cur) - { - auto&& line = *cur; - - const std::vector s = Strings::split(line, "="); - Checks::check_exit(VCPKG_LINE_INFO, - s.size() == 1 || s.size() == 2, - "Expected format is [VARIABLE_NAME=VARIABLE_VALUE], but was [%s]", - line); - - const bool variable_with_no_value = s.size() == 1; - const std::string variable_name = s.at(0); - const std::string variable_value = variable_with_no_value ? "" : s.at(1); - - auto maybe_option = VCPKG_OPTIONS.find(variable_name); - if (maybe_option != VCPKG_OPTIONS.end()) - { - switch (maybe_option->second) - { - case VcpkgTripletVar::TARGET_ARCHITECTURE: - pre_build_info.target_architecture = variable_value; - break; - case VcpkgTripletVar::CMAKE_SYSTEM_NAME: pre_build_info.cmake_system_name = variable_value; break; - case VcpkgTripletVar::CMAKE_SYSTEM_VERSION: - pre_build_info.cmake_system_version = variable_value; - break; - case VcpkgTripletVar::PLATFORM_TOOLSET: - pre_build_info.platform_toolset = - variable_value.empty() ? nullopt : Optional{variable_value}; - break; - case VcpkgTripletVar::VISUAL_STUDIO_PATH: - pre_build_info.visual_studio_path = - variable_value.empty() ? nullopt : Optional{variable_value}; - break; - case VcpkgTripletVar::CHAINLOAD_TOOLCHAIN_FILE: - pre_build_info.external_toolchain_file = - variable_value.empty() ? nullopt : Optional{variable_value}; - break; - case VcpkgTripletVar::BUILD_TYPE: - if (variable_value.empty()) - pre_build_info.build_type = nullopt; - else if (Strings::case_insensitive_ascii_equals(variable_value, "debug")) - pre_build_info.build_type = ConfigurationType::DEBUG; - else if (Strings::case_insensitive_ascii_equals(variable_value, "release")) - pre_build_info.build_type = ConfigurationType::RELEASE; - else - Checks::exit_with_message( - VCPKG_LINE_INFO, "Unknown setting for VCPKG_BUILD_TYPE: %s", variable_value); - break; - case VcpkgTripletVar::ENV_PASSTHROUGH: - pre_build_info.passthrough_env_vars = Strings::split(variable_value, ";"); - break; - case VcpkgTripletVar::PUBLIC_ABI_OVERRIDE: - pre_build_info.public_abi_override = - variable_value.empty() ? nullopt : Optional{variable_value}; - break; - } - } - else - { - Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown variable name %s", line); - } - } - - pre_build_info.triplet_abi_tag = get_triplet_abi(paths, pre_build_info, triplet); - - return pre_build_info; + triplet_abi_tag = get_triplet_abi(paths, *this, triplet); } ExtendedBuildResult::ExtendedBuildResult(BuildResult code) : code(code) {} diff --git a/toolsrc/src/vcpkg/cmakevars.cpp b/toolsrc/src/vcpkg/cmakevars.cpp new file mode 100644 index 0000000000..6a9d26ec8a --- /dev/null +++ b/toolsrc/src/vcpkg/cmakevars.cpp @@ -0,0 +1,259 @@ +#include "pch.h" + +#include +#include +#include + +#include + +using namespace vcpkg; +using vcpkg::Optional; +using vcpkg::CMakeVars::TripletCMakeVarProvider; + +namespace vcpkg::CMakeVars +{ + fs::path TripletCMakeVarProvider::create_tag_extraction_file( + const Span>& spec_abi_settings) const + { + Files::Filesystem& fs = paths.get_filesystem(); + static int tag_extract_id = 0; + + std::string extraction_file("include(" + get_tags_path.generic_u8string() + ")\n\n"); + + std::map emitted_triplets; + int emitted_triplet_id = 0; + for (const auto& spec_abi_setting : spec_abi_settings) + { + emitted_triplets[spec_abi_setting.first->package_spec.triplet()] = emitted_triplet_id++; + } + Strings::append(extraction_file, "macro(vcpkg_triplet_file VCPKG_TRIPLET_ID)\n"); + for (auto& p : emitted_triplets) + { + Strings::append(extraction_file, + "if(VCPKG_TRIPLET_ID EQUAL ", + p.second, + ")\n", + fs.read_contents(paths.get_triplet_file_path(p.first), VCPKG_LINE_INFO), + "\nendif()\n"); + } + Strings::append(extraction_file, "endmacro()\n"); + for (const auto& spec_abi_setting : spec_abi_settings) + { + const FullPackageSpec& spec = *spec_abi_setting.first; + + Strings::append(extraction_file, + "vcpkg_get_tags(\"", + spec.package_spec.name(), + "\" \"", + Strings::join(";", spec.features), + "\" \"", + emitted_triplets[spec.package_spec.triplet()], + "\" \"", + spec_abi_setting.second, + "\")\n"); + } + + fs::path path = paths.buildtrees / Strings::concat(tag_extract_id++, ".vcpkg_tags.cmake"); + + std::error_code ec; + fs.create_directories(paths.buildtrees, ec); + fs.write_contents(path, extraction_file, VCPKG_LINE_INFO); + + return path; + } + + fs::path TripletCMakeVarProvider::create_dep_info_extraction_file(const Span specs) const + { + static int dep_info_id = 0; + Files::Filesystem& fs = paths.get_filesystem(); + + std::string extraction_file("include(" + get_dep_info_path.generic_u8string() + ")\n\n"); + + std::map emitted_triplets; + int emitted_triplet_id = 0; + for (const auto& spec : specs) + { + emitted_triplets[spec.triplet()] = emitted_triplet_id++; + } + Strings::append(extraction_file, "macro(vcpkg_triplet_file VCPKG_TRIPLET_ID)\n"); + for (auto& p : emitted_triplets) + { + Strings::append(extraction_file, + "if(VCPKG_TRIPLET_ID EQUAL ", + p.second, + ")\n", + fs.read_contents(paths.get_triplet_file_path(p.first), VCPKG_LINE_INFO), + "\nendif()\n"); + } + Strings::append(extraction_file, "endmacro()\n"); + + for (const PackageSpec& spec : specs) + { + Strings::append( + extraction_file, "vcpkg_get_dep_info(", spec.name(), " ", emitted_triplets[spec.triplet()], ")\n"); + } + + fs::path path = paths.buildtrees / Strings::concat(dep_info_id++, ".vcpkg_dep_info.cmake"); + + std::error_code ec; + fs.create_directories(paths.buildtrees, ec); + fs.write_contents(path, extraction_file, VCPKG_LINE_INFO); + + return path; + } + + void TripletCMakeVarProvider::launch_and_split( + const fs::path& script_path, std::vector>>& vars) const + { + static constexpr CStringView PORT_START_GUID = "d8187afd-ea4a-4fc3-9aa4-a6782e1ed9af"; + static constexpr CStringView PORT_END_GUID = "8c504940-be29-4cba-9f8f-6cd83e9d87b7"; + static constexpr CStringView BLOCK_START_GUID = "c35112b6-d1ba-415b-aa5d-81de856ef8eb"; + static constexpr CStringView BLOCK_END_GUID = "e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f"; + + const auto cmd_launch_cmake = System::make_cmake_cmd(cmake_exe_path, script_path, {}); + const auto ec_data = System::cmd_execute_and_capture_output(cmd_launch_cmake); + Checks::check_exit(VCPKG_LINE_INFO, ec_data.exit_code == 0, ec_data.output); + + const std::vector lines = Strings::split(ec_data.output, "\n"); + + const auto end = lines.cend(); + + auto port_start = std::find(lines.cbegin(), end, PORT_START_GUID); + auto port_end = std::find(port_start, end, PORT_END_GUID); + + for (auto var_itr = vars.begin(); port_start != end && var_itr != vars.end(); ++var_itr) + { + auto block_start = std::find(port_start, port_end, BLOCK_START_GUID); + auto block_end = std::find(++block_start, port_end, BLOCK_END_GUID); + + while (block_start != port_end) + { + while (block_start != block_end) + { + const std::string& line = *block_start; + + std::vector s = Strings::split(line, "="); + Checks::check_exit(VCPKG_LINE_INFO, + s.size() == 1 || s.size() == 2, + "Expected format is [VARIABLE_NAME=VARIABLE_VALUE], but was [%s]", + line); + + var_itr->emplace_back(std::move(s[0]), s.size() == 1 ? "" : std::move(s[1])); + + ++block_start; + } + + block_start = std::find(block_end, port_end, BLOCK_START_GUID); + block_end = std::find(block_start, port_end, BLOCK_END_GUID); + } + + port_start = std::find(port_end, end, PORT_START_GUID); + port_end = std::find(port_start, end, PORT_END_GUID); + } + } + + void TripletCMakeVarProvider::load_generic_triplet_vars(const Triplet& triplet) const + { + std::vector>> vars(1); + FullPackageSpec full_spec = FullPackageSpec::from_string("", triplet).value_or_exit(VCPKG_LINE_INFO); + const fs::path file_path = + create_tag_extraction_file(std::array, 1>{ + std::pair{&full_spec, ""}}); + launch_and_split(file_path, vars); + paths.get_filesystem().remove(file_path, VCPKG_LINE_INFO); + + generic_triplet_vars[triplet].insert(std::make_move_iterator(vars.front().begin()), + std::make_move_iterator(vars.front().end())); + } + + void TripletCMakeVarProvider::load_dep_info_vars(Span specs) const + { + if (specs.size() == 0) return; + std::vector>> vars(specs.size()); + const fs::path file_path = create_dep_info_extraction_file(specs); + if (specs.size() > 100) + { + System::print2("Loading dependency information for ", specs.size(), " packages...\n"); + } + launch_and_split(file_path, vars); + paths.get_filesystem().remove(file_path, VCPKG_LINE_INFO); + + auto var_list_itr = vars.begin(); + for (const PackageSpec& spec : specs) + { + dep_resolution_vars.emplace(std::piecewise_construct, + std::forward_as_tuple(spec), + std::forward_as_tuple(std::make_move_iterator(var_list_itr->begin()), + std::make_move_iterator(var_list_itr->end()))); + ++var_list_itr; + } + } + + void TripletCMakeVarProvider::load_tag_vars(Span specs, + const PortFileProvider::PortFileProvider& port_provider) const + { + if (specs.size() == 0) return; + std::vector> spec_abi_settings; + spec_abi_settings.reserve(specs.size()); + + for (const FullPackageSpec& spec : specs) + { + auto& scfl = port_provider.get_control_file(spec.package_spec.name()).value_or_exit(VCPKG_LINE_INFO); + const fs::path override_path = scfl.source_location / "vcpkg-abi-settings.cmake"; + spec_abi_settings.emplace_back(&spec, override_path.generic_u8string()); + } + + std::vector>> vars(spec_abi_settings.size()); + const fs::path file_path = create_tag_extraction_file(spec_abi_settings); + launch_and_split(file_path, vars); + paths.get_filesystem().remove(file_path, VCPKG_LINE_INFO); + + auto var_list_itr = vars.begin(); + for (const auto& spec_abi_setting : spec_abi_settings) + { + const FullPackageSpec& spec = *spec_abi_setting.first; + + tag_vars.emplace(std::piecewise_construct, + std::forward_as_tuple(spec.package_spec), + std::forward_as_tuple(std::make_move_iterator(var_list_itr->begin()), + std::make_move_iterator(var_list_itr->end()))); + ++var_list_itr; + } + } + + Optional&> TripletCMakeVarProvider::get_generic_triplet_vars( + const Triplet& triplet) const + { + auto find_itr = generic_triplet_vars.find(triplet); + if (find_itr != generic_triplet_vars.end()) + { + return find_itr->second; + } + + return nullopt; + } + + Optional&> TripletCMakeVarProvider::get_dep_info_vars( + const PackageSpec& spec) const + { + auto find_itr = dep_resolution_vars.find(spec); + if (find_itr != dep_resolution_vars.end()) + { + return find_itr->second; + } + + return nullopt; + } + + Optional&> TripletCMakeVarProvider::get_tag_vars( + const PackageSpec& spec) const + { + auto find_itr = tag_vars.find(spec); + if (find_itr != tag_vars.end()) + { + return find_itr->second; + } + + return nullopt; + } +} diff --git a/toolsrc/src/vcpkg/commands.autocomplete.cpp b/toolsrc/src/vcpkg/commands.autocomplete.cpp index d4149ae6dc..2857988ba5 100644 --- a/toolsrc/src/vcpkg/commands.autocomplete.cpp +++ b/toolsrc/src/vcpkg/commands.autocomplete.cpp @@ -159,7 +159,7 @@ namespace vcpkg::Commands::Autocomplete { const auto port_at_each_triplet = combine_port_with_triplets(results[0], paths.get_available_triplets_names()); - Util::Vectors::concatenate(&results, port_at_each_triplet); + Util::Vectors::append(&results, port_at_each_triplet); } output_sorted_results_and_exit(VCPKG_LINE_INFO, std::move(results)); diff --git a/toolsrc/src/vcpkg/commands.buildexternal.cpp b/toolsrc/src/vcpkg/commands.buildexternal.cpp index 1c3c511c27..135ef132b4 100644 --- a/toolsrc/src/vcpkg/commands.buildexternal.cpp +++ b/toolsrc/src/vcpkg/commands.buildexternal.cpp @@ -1,6 +1,7 @@ #include "pch.h" #include +#include #include #include #include @@ -25,10 +26,13 @@ namespace vcpkg::Commands::BuildExternal auto overlays = args.overlay_ports ? *args.overlay_ports : std::vector(); overlays.insert(overlays.begin(), args.command_arguments.at(1)); - Dependencies::PathsPortFileProvider provider(paths, &overlays); + + PortFileProvider::PathsPortFileProvider provider(paths, &overlays); auto maybe_scfl = provider.get_control_file(spec.package_spec.name()); + Checks::check_exit( VCPKG_LINE_INFO, maybe_scfl.has_value(), "could not load control file for %s", spec.package_spec.name()); - Build::Command::perform_and_exit_ex(spec, maybe_scfl.value_or_exit(VCPKG_LINE_INFO), options, paths); + + Build::Command::perform_and_exit_ex(spec, maybe_scfl.value_or_exit(VCPKG_LINE_INFO), provider, options, paths); } } diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index 419d65f037..b8ac97563a 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -13,8 +13,12 @@ #include #include #include +#include +#include #include +using namespace vcpkg; + namespace vcpkg::Commands::CI { using Build::BuildResult; @@ -178,7 +182,7 @@ namespace vcpkg::Commands::CI std::string feature_list; for (const auto& feature : test.features) { - if (!feature_list.empty()) + if (!feature_list.empty()) { feature_list += ", "; } @@ -215,14 +219,44 @@ namespace vcpkg::Commands::CI std::vector unknown; std::map known; std::map> features; + std::unordered_map default_feature_provider; std::map abi_tag_map; }; + static bool supported_for_triplet(const CMakeVars::TripletCMakeVarProvider& var_provider, + + const InstallPlanAction* install_plan) + { + const std::string& supports_expression = + install_plan->source_control_file_location.value_or_exit(VCPKG_LINE_INFO) + .source_control_file->core_paragraph->supports_expression; + if (supports_expression.empty()) + { + return true; // default to 'supported' + } + + ExpressionContext context = {var_provider.get_tag_vars(install_plan->spec).value_or_exit(VCPKG_LINE_INFO), + install_plan->spec.triplet().canonical_name()}; + auto maybe_result = evaluate_expression(supports_expression, context); + if (auto b = maybe_result.get()) + return *b; + else + { + System::print2(System::Color::error, + "Error: while processing ", + install_plan->spec.to_string(), + "\n", + maybe_result.error()); + Checks::exit_fail(VCPKG_LINE_INFO); + } + } + static std::unique_ptr find_unknown_ports_for_ci( const VcpkgPaths& paths, const std::set& exclusions, - const Dependencies::PortFileProvider& provider, - const std::vector& fspecs, + const PortFileProvider::PortFileProvider& provider, + const CMakeVars::TripletCMakeVarProvider& var_provider, + const std::vector& specs, const bool purge_tombstones) { auto ret = std::make_unique(); @@ -243,101 +277,149 @@ namespace vcpkg::Commands::CI Build::FailOnTombstone::YES, }; - vcpkg::Cache pre_build_info_cache; + std::vector packages_with_qualified_deps; + auto has_qualifier = [](Dependency const& dep) { return !dep.qualifier.empty(); }; + for (auto&& spec : specs) + { + auto&& scfl = provider.get_control_file(spec.package_spec.name()).value_or_exit(VCPKG_LINE_INFO); + if (Util::any_of(scfl.source_control_file->core_paragraph->depends, has_qualifier) || + Util::any_of(scfl.source_control_file->feature_paragraphs, + [&](auto&& pgh) { return Util::any_of(pgh->depends, has_qualifier); })) + { + packages_with_qualified_deps.push_back(spec.package_spec); + } + } - auto action_plan = Dependencies::create_feature_install_plan(provider, fspecs, {}, {}); + var_provider.load_dep_info_vars(packages_with_qualified_deps); + auto action_plan = Dependencies::create_feature_install_plan(provider, var_provider, specs, {}, {}); + + std::vector install_specs; + for (auto&& install_action : action_plan.install_actions) + { + install_specs.emplace_back(FullPackageSpec{ + install_action.spec, + std::vector{install_action.feature_list.begin(), install_action.feature_list.end()}}); + } + + var_provider.load_tag_vars(install_specs, provider); auto timer = Chrono::ElapsedTimer::create_started(); - for (auto&& action : action_plan) + Checks::check_exit(VCPKG_LINE_INFO, + action_plan.already_installed.empty(), + "Cannot use CI command with packages already installed."); + std::string stdout_buffer; + for (auto&& action : action_plan.install_actions) { - if (auto p = action.install_action.get()) + auto p = &action; + // determine abi tag + std::string abi; + if (auto scfl = p->source_control_file_location.get()) { - // determine abi tag - std::string abi; - if (auto scfl = p->source_control_file_location.get()) + auto emp = ret->default_feature_provider.emplace(p->spec.name(), *scfl); + emp.first->second.source_control_file->core_paragraph->default_features = p->feature_list; + + auto triplet = p->spec.triplet(); + + const Build::BuildPackageConfig build_config{*scfl, + triplet, + build_options, + var_provider, + p->feature_dependencies, + p->package_dependencies, + p->feature_list}; + + auto dependency_abis = + Util::fmap(build_config.package_dependencies, [&](const PackageSpec& spec) -> Build::AbiEntry { + auto it = ret->abi_tag_map.find(spec); + + if (it == ret->abi_tag_map.end()) + return {spec.name(), ""}; + else + return {spec.name(), it->second}; + }); + + const auto pre_build_info = Build::PreBuildInfo( + paths, triplet, var_provider.get_tag_vars(p->spec).value_or_exit(VCPKG_LINE_INFO)); + + auto maybe_tag_and_file = Build::compute_abi_tag(paths, build_config, pre_build_info, dependency_abis); + if (auto tag_and_file = maybe_tag_and_file.get()) { - auto triplet = p->spec.triplet(); - - const Build::BuildPackageConfig build_config{*scfl, triplet, build_options, p->feature_list}; - - auto dependency_abis = - Util::fmap(p->computed_dependencies, [&](const PackageSpec& spec) -> Build::AbiEntry { - auto it = ret->abi_tag_map.find(spec); - - if (it == ret->abi_tag_map.end()) - return {spec.name(), ""}; - else - return {spec.name(), it->second}; - }); - const auto& pre_build_info = pre_build_info_cache.get_lazy( - triplet, [&]() { return Build::PreBuildInfo::from_triplet_file(paths, triplet, *scfl); }); - - auto maybe_tag_and_file = - Build::compute_abi_tag(paths, build_config, pre_build_info, dependency_abis); - if (auto tag_and_file = maybe_tag_and_file.get()) - { - abi = tag_and_file->tag; - ret->abi_tag_map.emplace(p->spec, abi); - } - } - else if (auto ipv = p->installed_package.get()) - { - abi = ipv->core->package.abi; - if (!abi.empty()) ret->abi_tag_map.emplace(p->spec, abi); + abi = tag_and_file->tag; + ret->abi_tag_map.emplace(p->spec, abi); } + } + else if (auto ipv = p->installed_package.get()) + { + abi = ipv->core->package.abi; + if (!abi.empty()) ret->abi_tag_map.emplace(p->spec, abi); + } - std::string state; + auto archives_root_dir = paths.root / "archives"; + auto archive_name = abi + ".zip"; + auto archive_subpath = fs::u8path(abi.substr(0, 2)) / archive_name; + auto archive_path = archives_root_dir / archive_subpath; + auto archive_tombstone_path = archives_root_dir / "fail" / archive_subpath; - auto archives_root_dir = paths.root / "archives"; - auto archive_name = abi + ".zip"; - auto archive_subpath = fs::u8path(abi.substr(0, 2)) / archive_name; - auto archive_path = archives_root_dir / archive_subpath; - auto archive_tombstone_path = archives_root_dir / "fail" / archive_subpath; + if (purge_tombstones) + { + std::error_code ec; + fs.remove(archive_tombstone_path, ec); // Ignore error + } - if (purge_tombstones) - { - std::error_code ec; - fs.remove(archive_tombstone_path, ec); // Ignore error - } + bool b_will_build = false; - bool b_will_build = false; + std::string state; - ret->features.emplace(p->spec, - std::vector{p->feature_list.begin(), p->feature_list.end()}); + if (Util::Sets::contains(exclusions, p->spec.name())) + { + state = "skip"; + ret->known.emplace(p->spec, BuildResult::EXCLUDED); + will_fail.emplace(p->spec); + } + else if (!supported_for_triplet(var_provider, p)) + { + // This treats unsupported ports as if they are excluded + // which means the ports dependent on it will be cascaded due to missing dependencies + // Should this be changed so instead it is a failure to depend on a unsupported port? + state = "n/a"; + ret->known.emplace(p->spec, BuildResult::EXCLUDED); + will_fail.emplace(p->spec); + } + else if (Util::any_of(p->package_dependencies, + [&](const PackageSpec& spec) { return Util::Sets::contains(will_fail, spec); })) + { + state = "cascade"; + ret->known.emplace(p->spec, BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES); + will_fail.emplace(p->spec); + } + else if (fs.exists(archive_path)) + { + state = "pass"; + ret->known.emplace(p->spec, BuildResult::SUCCEEDED); + } + else if (fs.exists(archive_tombstone_path)) + { + state = "fail"; + ret->known.emplace(p->spec, BuildResult::BUILD_FAILED); + will_fail.emplace(p->spec); + } + else + { + ret->unknown.push_back(FullPackageSpec{p->spec, {p->feature_list.begin(), p->feature_list.end()}}); + b_will_build = true; + } - if (Util::Sets::contains(exclusions, p->spec.name())) - { - ret->known.emplace(p->spec, BuildResult::EXCLUDED); - will_fail.emplace(p->spec); - } - else if (std::any_of(p->computed_dependencies.begin(), - p->computed_dependencies.end(), - [&](const PackageSpec& spec) { return Util::Sets::contains(will_fail, spec); })) - { - ret->known.emplace(p->spec, BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES); - will_fail.emplace(p->spec); - } - else if (fs.exists(archive_path)) - { - state += "pass"; - ret->known.emplace(p->spec, BuildResult::SUCCEEDED); - } - else if (fs.exists(archive_tombstone_path)) - { - state += "fail"; - ret->known.emplace(p->spec, BuildResult::BUILD_FAILED); - will_fail.emplace(p->spec); - } - else - { - ret->unknown.push_back({p->spec, {p->feature_list.begin(), p->feature_list.end()}}); - b_will_build = true; - } - - System::printf("%40s: %1s %8s: %s\n", p->spec, (b_will_build ? "*" : " "), state, abi); + Strings::append(stdout_buffer, + Strings::format("%40s: %1s %8s: %s\n", p->spec, (b_will_build ? "*" : " "), state, abi)); + if (stdout_buffer.size() > 2048) + { + System::print2(stdout_buffer); + stdout_buffer.clear(); } } + System::print2(stdout_buffer); + stdout_buffer.clear(); System::printf("Time to determine pass/fail: %s\n", timer.elapsed()); @@ -374,7 +456,8 @@ namespace vcpkg::Commands::CI StatusParagraphs status_db = database_load_check(paths); - Dependencies::PathsPortFileProvider provider(paths, args.overlay_ports.get()); + PortFileProvider::PathsPortFileProvider provider(paths, args.overlay_ports.get()); + CMakeVars::TripletCMakeVarProvider var_provider(paths); const Build::BuildPackageOptions install_plan_options = { Build::UseHeadVersion::NO, @@ -386,6 +469,7 @@ namespace vcpkg::Commands::CI Build::DownloadTool::BUILT_IN, GlobalState::g_binary_caching ? Build::BinaryCaching::YES : Build::BinaryCaching::NO, Build::FailOnTombstone::YES, + Build::PurgeDecompressFailure::YES, }; std::vector> all_known_results; @@ -394,7 +478,7 @@ namespace vcpkg::Commands::CI XunitTestResults xunitTestResults; std::vector all_ports = - Util::fmap(provider.load_all_control_files(), [](auto&& scfl) -> std::string { + Util::fmap(provider.load_all_control_files(), [](const SourceControlFileLocation*& scfl) -> std::string { return scfl->source_control_file.get()->core_paragraph->name; }); std::vector results; @@ -405,17 +489,18 @@ namespace vcpkg::Commands::CI xunitTestResults.push_collection(triplet.canonical_name()); - Dependencies::PackageGraph pgraph(provider, status_db); - std::vector specs = PackageSpec::to_package_specs(all_ports, triplet); // Install the default features for every package - auto all_feature_specs = Util::fmap(specs, [](auto& spec) { return FeatureSpec(spec, ""); }); - auto split_specs = - find_unknown_ports_for_ci(paths, exclusions_set, provider, all_feature_specs, purge_tombstones); - auto feature_specs = FullPackageSpec::to_feature_specs(split_specs->unknown); + auto all_default_full_specs = Util::fmap(specs, [&](auto& spec) { + std::vector default_features = + provider.get_control_file(spec.name()).get()->source_control_file->core_paragraph->default_features; + default_features.emplace_back("core"); + return FullPackageSpec{spec, std::move(default_features)}; + }); - for (auto&& fspec : feature_specs) - pgraph.install(fspec); + auto split_specs = find_unknown_ports_for_ci( + paths, exclusions_set, provider, var_provider, all_default_full_specs, purge_tombstones); + PortFileProvider::MapPortFileProvider new_default_provider(split_specs->default_feature_provider); Dependencies::CreateInstallPlanOptions serialize_options; @@ -436,36 +521,20 @@ namespace vcpkg::Commands::CI serialize_options.randomizer = &randomizer_instance; } - auto action_plan = [&]() { - int iterations = 0; - do + auto action_plan = Dependencies::create_feature_install_plan( + new_default_provider, var_provider, split_specs->unknown, status_db, serialize_options); + + for (auto&& action : action_plan.install_actions) + { + if (Util::Sets::contains(exclusions_set, action.spec.name())) { - bool inconsistent = false; - auto action_plan = pgraph.serialize(serialize_options); - - for (auto&& action : action_plan) - { - if (auto p = action.install_action.get()) - { - p->build_options = install_plan_options; - if (Util::Sets::contains(exclusions_set, p->spec.name())) - { - p->plan_type = InstallPlanType::EXCLUDED; - } - - for (auto&& feature : split_specs->features[p->spec]) - if (p->feature_list.find(feature) == p->feature_list.end()) - { - pgraph.install({p->spec, feature}); - inconsistent = true; - } - } - } - - if (!inconsistent) return action_plan; - Checks::check_exit(VCPKG_LINE_INFO, ++iterations < 100); - } while (true); - }(); + action.plan_type = InstallPlanType::EXCLUDED; + } + else + { + action.build_options = install_plan_options; + } + } if (is_dry_run) { @@ -474,7 +543,7 @@ namespace vcpkg::Commands::CI else { auto collection_timer = Chrono::ElapsedTimer::create_started(); - auto summary = Install::perform(action_plan, Install::KeepGoing::YES, paths, status_db); + auto summary = Install::perform(action_plan, Install::KeepGoing::YES, paths, status_db, var_provider); auto collection_time_elapsed = collection_timer.elapsed(); // Adding results for ports that were built or pulled from an archive diff --git a/toolsrc/src/vcpkg/commands.dependinfo.cpp b/toolsrc/src/vcpkg/commands.dependinfo.cpp index 79cbba590d..eecc45634b 100644 --- a/toolsrc/src/vcpkg/commands.dependinfo.cpp +++ b/toolsrc/src/vcpkg/commands.dependinfo.cpp @@ -11,10 +11,9 @@ #include #include -using vcpkg::Dependencies::AnyAction; -using vcpkg::Dependencies::create_feature_install_plan; +using vcpkg::Dependencies::ActionPlan; using vcpkg::Dependencies::InstallPlanAction; -using vcpkg::Dependencies::PathsPortFileProvider; +using vcpkg::PortFileProvider::PathsPortFileProvider; namespace vcpkg::Commands::DependInfo { @@ -44,7 +43,7 @@ namespace vcpkg::Commands::DependInfo { std::string package; int depth; - std::set features; + std::unordered_set features; std::vector dependencies; }; @@ -205,9 +204,10 @@ namespace vcpkg::Commands::DependInfo const InstallPlanAction& install_action = *pia; const std::vector dependencies = Util::fmap( - install_action.computed_dependencies, [](const PackageSpec& spec) { return spec.name(); }); + install_action.package_dependencies, [](const PackageSpec& spec) { return spec.name(); }); - std::set features{install_action.feature_list}; + std::unordered_set features{install_action.feature_list.begin(), + install_action.feature_list.end()}; features.erase("core"); std::string port_name = install_action.spec.name(); @@ -252,19 +252,18 @@ namespace vcpkg::Commands::DependInfo } PathsPortFileProvider provider(paths, args.overlay_ports.get()); + CMakeVars::TripletCMakeVarProvider var_provider(paths); // By passing an empty status_db, we should get a plan containing all dependencies. // All actions in the plan should be install actions, as there's no installed packages to remove. StatusParagraphs status_db; - std::vector action_plan = - create_feature_install_plan(provider, FullPackageSpec::to_feature_specs(specs), status_db); - std::vector install_actions = Util::fmap(action_plan, [&](const AnyAction& action) { - if (auto install_action = action.install_action.get()) - { - return install_action; - } - Checks::exit_with_message(VCPKG_LINE_INFO, "Only install actions should exist in the plan"); - }); + auto action_plan = Dependencies::create_feature_install_plan(provider, var_provider, specs, status_db); + Checks::check_exit( + VCPKG_LINE_INFO, action_plan.remove_actions.empty(), "Only install actions should exist in the plan"); + std::vector install_actions = + Util::fmap(action_plan.already_installed, [&](const auto& action) { return &action; }); + for (auto&& action : action_plan.install_actions) + install_actions.push_back(&action); std::vector depend_info = extract_depend_info(install_actions, max_depth); diff --git a/toolsrc/src/vcpkg/commands.env.cpp b/toolsrc/src/vcpkg/commands.env.cpp index b81aeae551..c54f73e76d 100644 --- a/toolsrc/src/vcpkg/commands.env.cpp +++ b/toolsrc/src/vcpkg/commands.env.cpp @@ -2,7 +2,9 @@ #include #include + #include +#include #include #include @@ -30,13 +32,20 @@ namespace vcpkg::Commands::Env nullptr, }; + // This command should probably optionally take a port void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& triplet) { const auto& fs = paths.get_filesystem(); const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE); - const auto pre_build_info = Build::PreBuildInfo::from_triplet_file(paths, triplet); + PortFileProvider::PathsPortFileProvider provider(paths, args.overlay_ports.get()); + CMakeVars::TripletCMakeVarProvider var_provider(paths); + + var_provider.load_generic_triplet_vars(triplet); + + const Build::PreBuildInfo pre_build_info( + paths, triplet, var_provider.get_generic_triplet_vars(triplet).value_or_exit(VCPKG_LINE_INFO)); const Toolset& toolset = paths.get_toolset(pre_build_info); auto env_cmd = Build::make_build_env_cmd(pre_build_info, toolset); diff --git a/toolsrc/src/vcpkg/commands.search.cpp b/toolsrc/src/vcpkg/commands.search.cpp index 943233502c..372c394fa2 100644 --- a/toolsrc/src/vcpkg/commands.search.cpp +++ b/toolsrc/src/vcpkg/commands.search.cpp @@ -9,7 +9,7 @@ #include #include -using vcpkg::Dependencies::PathsPortFileProvider; +using vcpkg::PortFileProvider::PathsPortFileProvider; namespace vcpkg::Commands::Search { diff --git a/toolsrc/src/vcpkg/commands.upgrade.cpp b/toolsrc/src/vcpkg/commands.upgrade.cpp index b1dbf6194d..e8afabed55 100644 --- a/toolsrc/src/vcpkg/commands.upgrade.cpp +++ b/toolsrc/src/vcpkg/commands.upgrade.cpp @@ -44,8 +44,8 @@ namespace vcpkg::Commands::Upgrade StatusParagraphs status_db = database_load_check(paths); // Load ports from ports dirs - Dependencies::PathsPortFileProvider provider(paths, args.overlay_ports.get()); - Dependencies::PackageGraph graph(provider, status_db); + PortFileProvider::PathsPortFileProvider provider(paths, args.overlay_ports.get()); + CMakeVars::TripletCMakeVarProvider var_provider(paths); // input sanitization const std::vector specs = Util::fmap(args.command_arguments, [&](auto&& arg) { @@ -57,6 +57,7 @@ namespace vcpkg::Commands::Upgrade Input::check_triplet(spec.triplet(), paths); } + Dependencies::ActionPlan action_plan; if (specs.empty()) { // If no packages specified, upgrade all outdated packages. @@ -68,8 +69,11 @@ namespace vcpkg::Commands::Upgrade Checks::exit_success(VCPKG_LINE_INFO); } - for (auto&& outdated_package : outdated_packages) - graph.upgrade(outdated_package.spec); + action_plan = Dependencies::create_upgrade_plan( + provider, + var_provider, + Util::fmap(outdated_packages, [](const Update::OutdatedPackage& package) { return package.spec; }), + status_db); } else { @@ -143,13 +147,10 @@ namespace vcpkg::Commands::Upgrade if (to_upgrade.empty()) Checks::exit_success(VCPKG_LINE_INFO); - for (auto&& spec : to_upgrade) - graph.upgrade(spec); + action_plan = Dependencies::create_upgrade_plan(provider, var_provider, to_upgrade, status_db); } - auto plan = graph.serialize(); - - Checks::check_exit(VCPKG_LINE_INFO, !plan.empty()); + Checks::check_exit(VCPKG_LINE_INFO, !action_plan.empty()); const Build::BuildPackageOptions install_plan_options = { Build::UseHeadVersion::NO, @@ -164,15 +165,12 @@ namespace vcpkg::Commands::Upgrade }; // Set build settings for all install actions - for (auto&& action : plan) + for (auto&& action : action_plan.install_actions) { - if (auto p_install = action.install_action.get()) - { - p_install->build_options = install_plan_options; - } + action.build_options = install_plan_options; } - Dependencies::print_plan(plan, true, paths.ports); + Dependencies::print_plan(action_plan, true, paths.ports); if (!no_dry_run) { @@ -182,7 +180,8 @@ namespace vcpkg::Commands::Upgrade Checks::exit_fail(VCPKG_LINE_INFO); } - const Install::InstallSummary summary = Install::perform(plan, keep_going, paths, status_db); + const Install::InstallSummary summary = + Install::perform(action_plan, keep_going, paths, status_db, var_provider); System::print2("\nTotal elapsed time: ", summary.total_elapsed_time, "\n\n"); diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index 7c3f2df4c8..a395b167f7 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -7,25 +7,40 @@ #include #include #include +#include #include #include #include +using namespace vcpkg; + namespace vcpkg::Dependencies { namespace { struct ClusterInstalled { + ClusterInstalled(const InstalledPackageView& ipv) : ipv(ipv) + { + original_features.emplace("core"); + for (auto&& feature : ipv.features) + { + original_features.emplace(feature->package.feature); + } + } + InstalledPackageView ipv; - std::set remove_edges; - std::set original_features; + std::unordered_set remove_edges; + std::unordered_set original_features; + + // Tracks whether an incoming request has asked for the default features -- on reinstall, add them + bool defaults_requested = false; }; - struct ClusterSource + struct ClusterInstallInfo { - const SourceControlFileLocation* scfl = nullptr; std::unordered_map> build_edges; + bool defaults_requested = false; }; /// @@ -33,56 +48,189 @@ namespace vcpkg::Dependencies /// struct Cluster : Util::MoveOnlyBase { - PackageSpec spec; + Cluster(const InstalledPackageView& ipv, const SourceControlFileLocation& scfl) + : m_spec(ipv.spec()), m_scfl(scfl), m_installed(ipv) + { + } - Optional installed; - Optional source; + Cluster(const PackageSpec& spec, const SourceControlFileLocation& scfl) : m_spec(spec), m_scfl(scfl) {} + + bool has_feature_installed(const std::string& feature) const + { + if (const ClusterInstalled* inst = m_installed.get()) + { + return inst->original_features.find(feature) != inst->original_features.end(); + } + return false; + } + + bool has_defaults_installed() const + { + if (const ClusterInstalled* inst = m_installed.get()) + { + return std::all_of(inst->ipv.core->package.default_features.begin(), + inst->ipv.core->package.default_features.end(), + [&](const std::string& feature) { + return inst->original_features.find(feature) != + inst->original_features.end(); + }); + } + return false; + } + + // Returns dependencies which were added as a result of this call. + // Precondition: must have called "mark_for_reinstall()" or "create_install_info()" on this cluster + void add_feature(const std::string& feature, + const CMakeVars::CMakeVarProvider& var_provider, + std::vector& out_new_dependencies) + { + ClusterInstallInfo& info = m_install_info.value_or_exit(VCPKG_LINE_INFO); + if (feature == "default") + { + if (!info.defaults_requested) + { + info.defaults_requested = true; + for (auto&& f : m_scfl.source_control_file->core_paragraph->default_features) + out_new_dependencies.emplace_back(m_spec, f); + } + return; + } + + if (Util::Sets::contains(info.build_edges, feature)) + { + // This feature has already been completely handled + return; + } + auto maybe_vars = var_provider.get_dep_info_vars(m_spec); + const std::vector* qualified_deps = + &m_scfl.source_control_file->find_dependencies_for_feature(feature).value_or_exit(VCPKG_LINE_INFO); + + std::vector dep_list; + if (maybe_vars) + { + // Qualified dependency resolution is available + auto fullspec_list = filter_dependencies( + *qualified_deps, m_spec.triplet(), maybe_vars.value_or_exit(VCPKG_LINE_INFO)); + + for (auto&& fspec : fullspec_list) + { + // TODO: this is incorrect and does not handle default features nor "*" + Util::Vectors::append(&dep_list, fspec.to_feature_specs({"default"}, {})); + } + + Util::sort_unique_erase(dep_list); + info.build_edges.emplace(feature, dep_list); + } + else + { + bool requires_qualified_resolution = false; + for (const Dependency& dep : *qualified_deps) + { + if (dep.qualifier.empty()) + { + Util::Vectors::append( + &dep_list, + FullPackageSpec(PackageSpec::from_name_and_triplet(dep.depend.name, m_spec.triplet()) + .value_or_exit(VCPKG_LINE_INFO), + dep.depend.features) + .to_feature_specs({"default"}, {})); + } + else + { + requires_qualified_resolution = true; + } + } + Util::sort_unique_erase(dep_list); + if (!requires_qualified_resolution) + { + info.build_edges.emplace(feature, dep_list); + } + } + Util::Vectors::append(&out_new_dependencies, dep_list); + } + + void create_install_info(std::vector& out_reinstall_requirements) + { + bool defaults_requested = false; + if (const ClusterInstalled* inst = m_installed.get()) + { + for (const std::string& installed_feature : inst->original_features) + { + out_reinstall_requirements.emplace_back(m_spec, installed_feature); + } + defaults_requested = inst->defaults_requested; + } + + Checks::check_exit(VCPKG_LINE_INFO, !m_install_info.has_value()); + m_install_info = make_optional(ClusterInstallInfo{}); + + if (defaults_requested) + { + for (auto&& def_feature : m_scfl.source_control_file->core_paragraph->default_features) + out_reinstall_requirements.emplace_back(m_spec, def_feature); + } + else if (request_type != RequestType::USER_REQUESTED) + { + // If the user did not explicitly request this installation, we need to add all new default features + auto&& new_defaults = m_scfl.source_control_file->core_paragraph->default_features; + std::set defaults_set{new_defaults.begin(), new_defaults.end()}; + + // Install only features that were not previously available + if (auto p_inst = m_installed.get()) + { + for (auto&& prev_default : p_inst->ipv.core->package.default_features) + { + defaults_set.erase(prev_default); + } + } + + for (const std::string& feature : defaults_set) + { + // Instead of dealing with adding default features to each of our dependencies right + // away we just defer to the next pass of the loop. + out_reinstall_requirements.emplace_back(m_spec, feature); + } + } + } + + PackageSpec m_spec; + const SourceControlFileLocation& m_scfl; + + Optional m_installed; + Optional m_install_info; - // Note: this map can contain "special" strings such as "" and "*" - std::unordered_map plus; - std::set to_install_features; - bool minus = false; - bool transient_uninstalled = true; RequestType request_type = RequestType::AUTO_SELECTED; }; - struct ClusterPtr + struct PackageGraph { - Cluster* ptr; + PackageGraph(const PortFileProvider::PortFileProvider& provider, + const CMakeVars::CMakeVarProvider& var_provider, + const StatusParagraphs& status_db); + ~PackageGraph(); - Cluster* operator->() const { return ptr; } + void install(Span specs); + void upgrade(Span specs); + void mark_user_requested(const PackageSpec& spec); + + ActionPlan serialize(const CreateInstallPlanOptions& options = {}) const; + + void mark_for_reinstall(const PackageSpec& spec, std::vector& out_reinstall_requirements); + const CMakeVars::CMakeVarProvider& m_var_provider; + + std::unique_ptr m_graph; }; - bool operator==(const ClusterPtr& l, const ClusterPtr& r) { return l.ptr == r.ptr; } } -} - -namespace std -{ - template<> - struct hash - { - size_t operator()(const vcpkg::Dependencies::ClusterPtr& value) const - { - return std::hash()(value.ptr->spec); - } - }; -} - -namespace vcpkg::Dependencies -{ - struct GraphPlan - { - Graphs::Graph remove_graph; - Graphs::Graph install_graph; - }; /// /// Directional graph representing a collection of packages with their features connected by their dependencies. /// struct ClusterGraph : Util::MoveOnlyBase { - explicit ClusterGraph(const PortFileProvider& provider) : m_provider(provider) {} + explicit ClusterGraph(const PortFileProvider::PortFileProvider& port_provider) : m_port_provider(port_provider) + { + } /// /// Find the cluster associated with spec or if not found, create it from the PortFileProvider. @@ -94,35 +242,64 @@ namespace vcpkg::Dependencies auto it = m_graph.find(spec); if (it == m_graph.end()) { - // Load on-demand from m_provider - auto maybe_scfl = m_provider.get_control_file(spec.name()); - auto& clust = m_graph[spec]; - clust.spec = spec; - if (auto p_scfl = maybe_scfl.get()) - { - clust.source = cluster_from_scf(*p_scfl, clust.spec.triplet()); - } - return clust; + const SourceControlFileLocation* scfl = m_port_provider.get_control_file(spec.name()).get(); + + Checks::check_exit( + VCPKG_LINE_INFO, scfl, "Error: Cannot find definition for package `%s`.", spec.name()); + + return m_graph + .emplace(std::piecewise_construct, std::forward_as_tuple(spec), std::forward_as_tuple(spec, *scfl)) + .first->second; } + return it->second; } - private: - static ClusterSource cluster_from_scf(const SourceControlFileLocation& scfl, Triplet t) + Cluster& get(const InstalledPackageView& ipv) { - ClusterSource ret; - ret.build_edges.emplace("core", - filter_dependencies_to_specs(scfl.source_control_file->core_paragraph->depends, t)); + auto it = m_graph.find(ipv.spec()); - for (const auto& feature : scfl.source_control_file->feature_paragraphs) - ret.build_edges.emplace(feature->name, filter_dependencies_to_specs(feature->depends, t)); + if (it == m_graph.end()) + { + Optional maybe_scfl = + m_port_provider.get_control_file(ipv.spec().name()); - ret.scfl = &scfl; - return ret; + if (!maybe_scfl) + Checks::exit_with_message(VCPKG_LINE_INFO, + "We could not find a CONTROL file for ", + ipv.spec().to_string(), + ". Please run \"vcpkg remove ", + ipv.spec().to_string(), + "\" and re-attempt."); + + return m_graph + .emplace(std::piecewise_construct, + std::forward_as_tuple(ipv.spec()), + std::forward_as_tuple(ipv, *maybe_scfl.get())) + .first->second; + } + + if (!it->second.m_installed) + { + it->second.m_installed = {ipv}; + } + + return it->second; } + const Cluster& find_or_exit(const PackageSpec& spec, LineInfo linfo) const + { + auto it = m_graph.find(spec); + Checks::check_exit(linfo, it != m_graph.end(), "Failed to locate spec in graph"); + return it->second; + } + + auto begin() const { return m_graph.begin(); } + auto end() const { return m_graph.end(); } + + private: std::unordered_map m_graph; - const PortFileProvider& m_provider; + const PortFileProvider::PortFileProvider& m_port_provider; }; static std::string to_output_string(RequestType request_type, @@ -178,30 +355,44 @@ namespace vcpkg::Dependencies InstallPlanAction::InstallPlanAction(const PackageSpec& spec, const SourceControlFileLocation& scfl, - const std::set& features, const RequestType& request_type, - std::vector&& dependencies) + std::unordered_map>&& dependencies) : spec(spec) , source_control_file_location(scfl) , plan_type(InstallPlanType::BUILD_AND_INSTALL) , request_type(request_type) , build_options{} - , feature_list(features) - , computed_dependencies(std::move(dependencies)) + , feature_dependencies(std::move(dependencies)) { + for (const auto& kv : feature_dependencies) + { + feature_list.emplace_back(kv.first); + for (const FeatureSpec& fspec : kv.second) + { + if (spec != fspec.spec()) + { + package_dependencies.emplace_back(fspec.spec()); + } + } + } + + Util::sort_unique_erase(package_dependencies); + Util::sort_unique_erase(feature_list); } - InstallPlanAction::InstallPlanAction(InstalledPackageView&& ipv, - const std::set& features, - const RequestType& request_type) + InstallPlanAction::InstallPlanAction(InstalledPackageView&& ipv, const RequestType& request_type) : spec(ipv.spec()) , installed_package(std::move(ipv)) , plan_type(InstallPlanType::ALREADY_INSTALLED) , request_type(request_type) , build_options{} - , feature_list(features) - , computed_dependencies(installed_package.get()->dependencies()) + , feature_dependencies(installed_package.get()->feature_dependencies()) + , package_dependencies(installed_package.get()->dependencies()) { + for (const auto& kv : feature_dependencies) + { + feature_list.emplace_back(kv.first); + } } std::string InstallPlanAction::displayname() const @@ -211,7 +402,7 @@ namespace vcpkg::Dependencies return this->spec.to_string(); } - const std::string features = Strings::join(",", this->feature_list); + const std::string features = Strings::join(",", feature_list); return Strings::format("%s[%s]:%s", this->spec.name(), features, this->spec.triplet()); } @@ -232,21 +423,6 @@ namespace vcpkg::Dependencies { } - const PackageSpec& AnyAction::spec() const - { - if (const auto p = install_action.get()) - { - return p->spec; - } - - if (const auto p = remove_action.get()) - { - return p->spec; - } - - Checks::exit_with_message(VCPKG_LINE_INFO, "Null action"); - } - bool ExportPlanAction::compare_by_name(const ExportPlanAction* left, const ExportPlanAction* right) { return left->spec.name() < right->spec.name(); @@ -294,145 +470,6 @@ namespace vcpkg::Dependencies return left->spec.name() < right->spec.name(); } - MapPortFileProvider::MapPortFileProvider(const std::unordered_map& map) - : ports(map) - { - } - - Optional MapPortFileProvider::get_control_file(const std::string& spec) const - { - auto scf = ports.find(spec); - if (scf == ports.end()) return nullopt; - return scf->second; - } - - std::vector MapPortFileProvider::load_all_control_files() const - { - return Util::fmap(ports, [](auto&& kvpair) -> const SourceControlFileLocation* { return &kvpair.second; }); - } - - PathsPortFileProvider::PathsPortFileProvider(const vcpkg::VcpkgPaths& paths, - const std::vector* ports_dirs_paths) - : filesystem(paths.get_filesystem()) - { - auto& fs = Files::get_real_filesystem(); - if (ports_dirs_paths) - { - for (auto&& overlay_path : *ports_dirs_paths) - { - if (!overlay_path.empty()) - { - auto overlay = fs::stdfs::canonical(fs::u8path(overlay_path)); - - Checks::check_exit(VCPKG_LINE_INFO, - filesystem.exists(overlay), - "Error: Path \"%s\" does not exist", - overlay.string()); - - Checks::check_exit(VCPKG_LINE_INFO, - fs::is_directory(fs.status(VCPKG_LINE_INFO, overlay)), - "Error: Path \"%s\" must be a directory", - overlay.string()); - - ports_dirs.emplace_back(overlay); - } - } - } - ports_dirs.emplace_back(paths.ports); - } - - Optional PathsPortFileProvider::get_control_file(const std::string& spec) const - { - auto cache_it = cache.find(spec); - if (cache_it != cache.end()) - { - return cache_it->second; - } - - for (auto&& ports_dir : ports_dirs) - { - // Try loading individual port - if (filesystem.exists(ports_dir / "CONTROL")) - { - auto maybe_scf = Paragraphs::try_load_port(filesystem, ports_dir); - if (auto scf = maybe_scf.get()) - { - if (scf->get()->core_paragraph->name == spec) - { - SourceControlFileLocation scfl{std::move(*scf), ports_dir}; - auto it = cache.emplace(spec, std::move(scfl)); - return it.first->second; - } - } - else - { - vcpkg::print_error_message(maybe_scf.error()); - Checks::exit_with_message( - VCPKG_LINE_INFO, "Error: Failed to load port from %s", spec, ports_dir.u8string()); - } - } - - auto found_scf = Paragraphs::try_load_port(filesystem, ports_dir / spec); - if (auto scf = found_scf.get()) - { - if (scf->get()->core_paragraph->name == spec) - { - SourceControlFileLocation scfl{std::move(*scf), ports_dir / spec}; - auto it = cache.emplace(spec, std::move(scfl)); - return it.first->second; - } - } - } - - return nullopt; - } - - std::vector PathsPortFileProvider::load_all_control_files() const - { - // Reload cache with ports contained in all ports_dirs - cache.clear(); - std::vector ret; - for (auto&& ports_dir : ports_dirs) - { - // Try loading individual port - if (filesystem.exists(ports_dir / "CONTROL")) - { - auto maybe_scf = Paragraphs::try_load_port(filesystem, ports_dir); - if (auto scf = maybe_scf.get()) - { - auto port_name = scf->get()->core_paragraph->name; - if (cache.find(port_name) == cache.end()) - { - SourceControlFileLocation scfl{std::move(*scf), ports_dir}; - auto it = cache.emplace(port_name, std::move(scfl)); - ret.emplace_back(&it.first->second); - } - } - else - { - vcpkg::print_error_message(maybe_scf.error()); - Checks::exit_with_message( - VCPKG_LINE_INFO, "Error: Failed to load port from %s", ports_dir.u8string()); - } - continue; - } - - // Try loading all ports inside ports_dir - auto found_scf = Paragraphs::load_all_ports(filesystem, ports_dir); - for (auto&& scf : found_scf) - { - auto port_name = scf->core_paragraph->name; - if (cache.find(port_name) == cache.end()) - { - SourceControlFileLocation scfl{std::move(scf), ports_dir / port_name}; - auto it = cache.emplace(port_name, std::move(scfl)); - ret.emplace_back(&it.first->second); - } - } - } - return ret; - } - std::vector create_remove_plan(const std::vector& specs, const StatusParagraphs& status_db) { @@ -488,7 +525,8 @@ namespace vcpkg::Dependencies auto installed_ports = get_installed_ports(status_db); const std::unordered_set specs_as_set(specs.cbegin(), specs.cend()); - return Graphs::topological_sort(specs, RemoveAdjacencyProvider{status_db, installed_ports, specs_as_set}, {}); + return Graphs::topological_sort( + std::move(specs), RemoveAdjacencyProvider{status_db, installed_ports, specs_as_set}, {}); } std::vector create_export_plan(const std::vector& specs, @@ -534,362 +572,333 @@ namespace vcpkg::Dependencies return toposort; } - enum class MarkPlusResult + void PackageGraph::mark_user_requested(const PackageSpec& spec) { - FEATURE_NOT_FOUND, - SUCCESS, - }; - - static MarkPlusResult mark_plus(const std::string& feature, - Cluster& cluster, - ClusterGraph& graph, - GraphPlan& graph_plan, - const std::unordered_set& prevent_default_features); - - static void mark_minus(Cluster& cluster, - ClusterGraph& graph, - GraphPlan& graph_plan, - const std::unordered_set& prevent_default_features); - - static MarkPlusResult follow_plus_dependencies(const std::string& feature, - Cluster& cluster, - ClusterGraph& graph, - GraphPlan& graph_plan, - const std::unordered_set& prevent_default_features) - { - if (auto p_source = cluster.source.get()) - { - auto it_build_edges = p_source->build_edges.find(feature); - if (it_build_edges != p_source->build_edges.end()) - { - // mark this package for rebuilding if needed - mark_minus(cluster, graph, graph_plan, prevent_default_features); - - graph_plan.install_graph.add_vertex({&cluster}); - cluster.to_install_features.insert(feature); - - if (feature != "core") - { - // All features implicitly depend on core - auto res = mark_plus("core", cluster, graph, graph_plan, prevent_default_features); - - // Should be impossible for "core" to not exist - Checks::check_exit(VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS); - } - - if (!cluster.installed.get() && !Util::Sets::contains(prevent_default_features, cluster.spec.name())) - { - // Add the default features of this package if it was not previously installed and it isn't being - // suppressed. - auto res = mark_plus("", cluster, graph, graph_plan, prevent_default_features); - - Checks::check_exit(VCPKG_LINE_INFO, - res == MarkPlusResult::SUCCESS, - "Error: Unable to satisfy default dependencies of %s", - cluster.spec); - } - - for (auto&& depend : it_build_edges->second) - { - auto& depend_cluster = graph.get(depend.spec()); - auto res = mark_plus(depend.feature(), depend_cluster, graph, graph_plan, prevent_default_features); - - Checks::check_exit(VCPKG_LINE_INFO, - res == MarkPlusResult::SUCCESS, - "Error: Unable to satisfy dependency %s of %s", - depend, - FeatureSpec(cluster.spec, feature)); - - if (&depend_cluster == &cluster) continue; - graph_plan.install_graph.add_edge({&cluster}, {&depend_cluster}); - } - - return MarkPlusResult::SUCCESS; - } - } - - // The feature was not available in the installed package nor the source paragraph. - return MarkPlusResult::FEATURE_NOT_FOUND; + m_graph->get(spec).request_type = RequestType::USER_REQUESTED; } - MarkPlusResult mark_plus(const std::string& feature, - Cluster& cluster, - ClusterGraph& graph, - GraphPlan& graph_plan, - const std::unordered_set& prevent_default_features) + ActionPlan create_feature_install_plan(const PortFileProvider::PortFileProvider& port_provider, + const CMakeVars::CMakeVarProvider& var_provider, + const std::vector& specs, + const StatusParagraphs& status_db, + const CreateInstallPlanOptions& options) { - auto& plus = cluster.plus[feature]; - if (plus) return MarkPlusResult::SUCCESS; - plus = true; + PackageGraph pgraph(port_provider, var_provider, status_db); - const auto p_source = cluster.source.get(); - if (p_source == nullptr) + std::vector feature_specs; + for (const FullPackageSpec& spec : specs) { - Checks::exit_with_message( - VCPKG_LINE_INFO, "Error: Cannot find definition for package `%s`.", cluster.spec.name()); - } + const SourceControlFileLocation* scfl = port_provider.get_control_file(spec.package_spec.name()).get(); - auto&& control_file = *p_source->scfl->source_control_file.get(); - if (feature.empty()) + Checks::check_exit( + VCPKG_LINE_INFO, scfl, "Error: Cannot find definition for package `%s`.", spec.package_spec.name()); + + const std::vector all_features = + Util::fmap(scfl->source_control_file->feature_paragraphs, + [](auto&& feature_paragraph) { return feature_paragraph->name; }); + + auto fspecs = + spec.to_feature_specs(scfl->source_control_file->core_paragraph->default_features, all_features); + feature_specs.insert( + feature_specs.end(), std::make_move_iterator(fspecs.begin()), std::make_move_iterator(fspecs.end())); + } + Util::sort_unique_erase(feature_specs); + + for (const FeatureSpec& spec : feature_specs) { - // Add default features for this package. This is an exact reference, so ignore prevent_default_features. - for (auto&& default_feature : control_file.core_paragraph.get()->default_features) - { - auto res = mark_plus(default_feature, cluster, graph, graph_plan, prevent_default_features); - if (res != MarkPlusResult::SUCCESS) - { - return res; - } - } - - // "core" is always required. - return mark_plus("core", cluster, graph, graph_plan, prevent_default_features); - } - - if (feature == "*") - { - for (auto&& fpgh : control_file.feature_paragraphs) - { - auto res = mark_plus(fpgh->name, cluster, graph, graph_plan, prevent_default_features); - - Checks::check_exit(VCPKG_LINE_INFO, - res == MarkPlusResult::SUCCESS, - "Error: Internal error while installing feature %s in %s", - fpgh->name, - cluster.spec); - } - - auto res = mark_plus("core", cluster, graph, graph_plan, prevent_default_features); - - Checks::check_exit(VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS); - return MarkPlusResult::SUCCESS; - } - - if (auto p_installed = cluster.installed.get()) - { - if (p_installed->original_features.find(feature) != p_installed->original_features.end()) - { - return MarkPlusResult::SUCCESS; - } - } - - // The feature was not previously installed. Mark the cluster - // (aka the entire port) to be removed before re-adding it. - mark_minus(cluster, graph, graph_plan, prevent_default_features); - - return follow_plus_dependencies(feature, cluster, graph, graph_plan, prevent_default_features); - } - - void mark_minus(Cluster& cluster, - ClusterGraph& graph, - GraphPlan& graph_plan, - const std::unordered_set& prevent_default_features) - { - if (cluster.minus) return; - cluster.minus = true; - cluster.transient_uninstalled = true; - - auto p_installed = cluster.installed.get(); - auto p_source = cluster.source.get(); - - Checks::check_exit( - VCPKG_LINE_INFO, - p_source, - "Error: cannot locate new portfile for %s. Please explicitly remove this package with `vcpkg remove %s`.", - cluster.spec, - cluster.spec); - - if (p_installed) - { - graph_plan.remove_graph.add_vertex({&cluster}); - for (auto&& edge : p_installed->remove_edges) - { - auto& depend_cluster = graph.get(edge); - Checks::check_exit(VCPKG_LINE_INFO, &cluster != &depend_cluster); - graph_plan.remove_graph.add_edge({&cluster}, {&depend_cluster}); - mark_minus(depend_cluster, graph, graph_plan, prevent_default_features); - } - - // Reinstall all original features. Don't use mark_plus because it will ignore them since they are - // "already installed". - for (auto&& f : p_installed->original_features) - { - auto res = follow_plus_dependencies(f, cluster, graph, graph_plan, prevent_default_features); - if (res != MarkPlusResult::SUCCESS) - { - System::print2(System::Color::warning, - "Warning: could not reinstall feature ", - FeatureSpec{cluster.spec, f}, - "\n"); - } - } - - // Check if any default features have been added - auto& previous_df = p_installed->ipv.core->package.default_features; - auto&& control_file = *p_source->scfl->source_control_file.get(); - for (auto&& default_feature : control_file.core_paragraph->default_features) - { - if (std::find(previous_df.begin(), previous_df.end(), default_feature) == previous_df.end()) - { - // This is a new default feature, mark it for installation - auto res = mark_plus(default_feature, cluster, graph, graph_plan, prevent_default_features); - if (res != MarkPlusResult::SUCCESS) - { - System::print2(System::Color::warning, - "Warning: could not install new default feature ", - FeatureSpec{cluster.spec, default_feature}, - "\n"); - } - } - } - } - } - - std::vector create_feature_install_plan(const PortFileProvider& provider, - const std::vector& specs, - const StatusParagraphs& status_db, - const CreateInstallPlanOptions& options) - { - std::unordered_set prevent_default_features; - for (auto&& spec : specs) - { - // When "core" is explicitly listed, default features should not be installed. - if (spec.feature() == "core") prevent_default_features.insert(spec.name()); - } - - PackageGraph pgraph(provider, status_db); - for (auto&& spec : specs) - { - // If preventing default features, ignore the automatically generated "" references - if (spec.feature().empty() && Util::Sets::contains(prevent_default_features, spec.name())) continue; - pgraph.install(spec, prevent_default_features); + pgraph.mark_user_requested(spec.spec()); } + pgraph.install(feature_specs); return pgraph.serialize(options); } - /// Figure out which actions are required to install features specifications in `specs`. - /// Map of all source control files in the current environment. - /// Feature specifications to resolve dependencies for. - /// Status of installed packages in the current environment. - std::vector create_feature_install_plan( - const std::unordered_map& map, - const std::vector& specs, - const StatusParagraphs& status_db) + void PackageGraph::mark_for_reinstall(const PackageSpec& first_remove_spec, + std::vector& out_reinstall_requirements) { - MapPortFileProvider provider(map); - return create_feature_install_plan(provider, specs, status_db); + std::set removed; + std::vector to_remove{first_remove_spec}; + + while (!to_remove.empty()) + { + PackageSpec remove_spec = std::move(to_remove.back()); + to_remove.pop_back(); + + if (!removed.insert(remove_spec).second) continue; + + Cluster& clust = m_graph->get(remove_spec); + ClusterInstalled& info = clust.m_installed.value_or_exit(VCPKG_LINE_INFO); + + if (!clust.m_install_info) + { + clust.create_install_info(out_reinstall_requirements); + } + + to_remove.insert(to_remove.end(), info.remove_edges.begin(), info.remove_edges.end()); + } } - /// - /// List of package names for which default features should not be installed instead of the core package (e.g. if - /// the user is currently installing specific features of that package). - /// - void PackageGraph::install(const FeatureSpec& spec, - const std::unordered_set& prevent_default_features) const + /// The list of specs to install should already have default features expanded + void PackageGraph::install(Span specs) { - Cluster& spec_cluster = m_graph->get(spec.spec()); - spec_cluster.request_type = RequestType::USER_REQUESTED; + // We batch resolving qualified dependencies, because it's an invocation of CMake which + // takes ~150ms per call. + std::vector qualified_dependencies; + std::vector next_dependencies{specs.begin(), specs.end()}; - auto res = mark_plus(spec.feature(), spec_cluster, *m_graph, *m_graph_plan, prevent_default_features); + // Keep running while there is any chance of finding more dependencies + while (!next_dependencies.empty()) + { + // Keep running until the only dependencies left are qualified + while (!next_dependencies.empty()) + { + // Extract the top of the stack + FeatureSpec spec = std::move(next_dependencies.back()); + next_dependencies.pop_back(); - Checks::check_exit(VCPKG_LINE_INFO, - res == MarkPlusResult::SUCCESS, - "Error: `%s` is not a feature of package `%s`", - spec.feature(), - spec.name()); + // Get the cluster for the PackageSpec of the FeatureSpec we are adding to the install graph + Cluster& clust = m_graph->get(spec.spec()); - m_graph_plan->install_graph.add_vertex(ClusterPtr{&spec_cluster}); + // If this spec hasn't already had its qualified dependencies resolved + if (!m_var_provider.get_dep_info_vars(spec.spec()).has_value()) + { + // TODO: There's always the chance that we don't find the feature we're looking for (probably a + // malformed CONTROL file somewhere). We should probably output a better error. + const std::vector* paragraph_depends = nullptr; + if (spec.feature() == "core") + { + paragraph_depends = &clust.m_scfl.source_control_file->core_paragraph->depends; + } + else if (spec.feature() == "default") + { + } + else + { + auto maybe_paragraph = clust.m_scfl.source_control_file->find_feature(spec.feature()); + Checks::check_exit(VCPKG_LINE_INFO, + maybe_paragraph.has_value(), + "Package %s does not have a %s feature", + spec.name(), + spec.feature()); + paragraph_depends = &maybe_paragraph.value_or_exit(VCPKG_LINE_INFO).depends; + } + + // And it has at least one qualified dependency + if (paragraph_depends && Util::any_of(*paragraph_depends, + [](auto&& dep) { return !dep.qualifier.empty(); })) + { + // Add it to the next batch run + qualified_dependencies.emplace_back(spec); + } + } + + if (clust.m_install_info.has_value()) + { + clust.add_feature(spec.feature(), m_var_provider, next_dependencies); + } + else + { + if (!clust.m_installed.has_value()) + { + clust.create_install_info(next_dependencies); + clust.add_feature(spec.feature(), m_var_provider, next_dependencies); + } + else + { + if (spec.feature() == "default") + { + if (!clust.m_installed.get()->defaults_requested) + { + clust.m_installed.get()->defaults_requested = true; + if (!clust.has_defaults_installed()) + { + mark_for_reinstall(spec.spec(), next_dependencies); + } + } + } + else if (!clust.has_feature_installed(spec.feature())) + { + // If install_info is not present and it is already installed, we have never added a feature + // which hasn't already been installed to this cluster. In this case, we need to reinstall + // the port if the feature isn't already present. + mark_for_reinstall(spec.spec(), next_dependencies); + clust.add_feature(spec.feature(), m_var_provider, next_dependencies); + } + } + } + } + + if (!qualified_dependencies.empty()) + { + Util::sort_unique_erase(qualified_dependencies); + + // Extract the package specs we need to get dependency info from. We don't run the triplet on a per + // feature basis. We run it once for the whole port. + auto qualified_package_specs = + Util::fmap(qualified_dependencies, [](const FeatureSpec& fspec) { return fspec.spec(); }); + Util::sort_unique_erase(qualified_package_specs); + m_var_provider.load_dep_info_vars(qualified_package_specs); + + // Put all the FeatureSpecs for which we had qualified dependencies back on the dependencies stack. + // We need to recheck if evaluating the triplet revealed any new dependencies. + next_dependencies.insert(next_dependencies.end(), + std::make_move_iterator(qualified_dependencies.begin()), + std::make_move_iterator(qualified_dependencies.end())); + qualified_dependencies.clear(); + } + } } - void PackageGraph::upgrade(const PackageSpec& spec) const + void PackageGraph::upgrade(Span specs) { - Cluster& spec_cluster = m_graph->get(spec); - spec_cluster.request_type = RequestType::USER_REQUESTED; + std::vector reinstall_reqs; - mark_minus(spec_cluster, *m_graph, *m_graph_plan, {}); + for (const PackageSpec& spec : specs) + mark_for_reinstall(spec, reinstall_reqs); + + Util::sort_unique_erase(reinstall_reqs); + + install(reinstall_reqs); } - std::vector PackageGraph::serialize(const CreateInstallPlanOptions& options) const + ActionPlan create_upgrade_plan(const PortFileProvider::PortFileProvider& port_provider, + const CMakeVars::CMakeVarProvider& var_provider, + const std::vector& specs, + const StatusParagraphs& status_db, + const CreateInstallPlanOptions& options) { - auto remove_vertex_list = m_graph_plan->remove_graph.vertex_list(); - auto remove_toposort = - Graphs::topological_sort(remove_vertex_list, m_graph_plan->remove_graph, options.randomizer); + PackageGraph pgraph(port_provider, var_provider, status_db); - auto insert_vertex_list = m_graph_plan->install_graph.vertex_list(); - auto insert_toposort = - Graphs::topological_sort(insert_vertex_list, m_graph_plan->install_graph, options.randomizer); + pgraph.upgrade(specs); - std::vector plan; + return pgraph.serialize(options); + } + + ActionPlan PackageGraph::serialize(const CreateInstallPlanOptions& options) const + { + struct BaseEdgeProvider : Graphs::AdjacencyProvider + { + BaseEdgeProvider(const ClusterGraph& parent) : m_parent(parent) {} + + std::string to_string(const PackageSpec& spec) const override { return spec.to_string(); } + const Cluster* load_vertex_data(const PackageSpec& spec) const override + { + return &m_parent.find_or_exit(spec, VCPKG_LINE_INFO); + } + + const ClusterGraph& m_parent; + }; + + struct RemoveEdgeProvider final : BaseEdgeProvider + { + using BaseEdgeProvider::BaseEdgeProvider; + + std::vector adjacency_list(const Cluster* const& vertex) const override + { + auto&& set = vertex->m_installed.value_or_exit(VCPKG_LINE_INFO).remove_edges; + return {set.begin(), set.end()}; + } + } removeedgeprovider(*m_graph); + + struct InstallEdgeProvider final : BaseEdgeProvider + { + using BaseEdgeProvider::BaseEdgeProvider; + + std::vector adjacency_list(const Cluster* const& vertex) const override + { + if (!vertex->m_install_info.has_value()) return {}; + + auto& info = vertex->m_install_info.value_or_exit(VCPKG_LINE_INFO); + std::vector deps; + for (auto&& kv : info.build_edges) + for (auto&& e : kv.second) + { + auto spec = e.spec(); + if (spec != vertex->m_spec) deps.push_back(std::move(spec)); + } + Util::sort_unique_erase(deps); + return deps; + } + } installedgeprovider(*m_graph); + + std::vector removed_vertices; + std::vector installed_vertices; + for (auto&& kv : *m_graph) + { + if (kv.second.m_install_info.has_value() && kv.second.m_installed.has_value()) + { + removed_vertices.push_back(kv.first); + } + if (kv.second.m_install_info.has_value() || kv.second.request_type == RequestType::USER_REQUESTED) + { + installed_vertices.push_back(kv.first); + } + } + auto remove_toposort = Graphs::topological_sort(removed_vertices, removeedgeprovider, options.randomizer); + auto insert_toposort = Graphs::topological_sort(installed_vertices, installedgeprovider, options.randomizer); + + ActionPlan plan; for (auto&& p_cluster : remove_toposort) { - plan.emplace_back(RemovePlanAction{ - std::move(p_cluster->spec), - RemovePlanType::REMOVE, - p_cluster->request_type, - }); + plan.remove_actions.emplace_back(p_cluster->m_spec, RemovePlanType::REMOVE, p_cluster->request_type); } for (auto&& p_cluster : insert_toposort) { - if (p_cluster->transient_uninstalled) + // Every cluster that has an install_info needs to be built + // If a cluster only has an installed object and is marked as user requested we should still report it. + if (auto info_ptr = p_cluster->m_install_info.get()) { - // If it will be transiently uninstalled, we need to issue a full installation command - auto* pscfl = p_cluster->source.value_or_exit(VCPKG_LINE_INFO).scfl; - Checks::check_exit( - VCPKG_LINE_INFO, pscfl != nullptr, "Error: Expected a SourceControlFileLocation to exist"); - auto&& scfl = *pscfl; + auto&& scfl = p_cluster->m_scfl; - auto dep_specs = Util::fmap(m_graph_plan->install_graph.adjacency_list(p_cluster), - [](ClusterPtr const& p) { return p->spec; }); - Util::sort_unique_erase(dep_specs); + std::unordered_map> computed_edges; + for (auto&& kv : info_ptr->build_edges) + { + std::set fspecs; + for (auto&& fspec : kv.second) + { + if (fspec.feature() != "default") + { + fspecs.insert(fspec); + continue; + } + auto&& dep_clust = m_graph->get(fspec.spec()); + const auto& default_features = + [&]{ + if (dep_clust.m_install_info.has_value()) return dep_clust.m_scfl.source_control_file->core_paragraph->default_features; + if (auto p = dep_clust.m_installed.get()) return p->ipv.core->package.default_features; + Checks::unreachable(VCPKG_LINE_INFO); + }(); + for (auto&& default_feature : default_features) + fspecs.emplace(fspec.spec(), default_feature); + } + computed_edges[kv.first].assign(fspecs.begin(), fspecs.end()); + } - plan.emplace_back(InstallPlanAction{ - p_cluster->spec, - scfl, - p_cluster->to_install_features, - p_cluster->request_type, - std::move(dep_specs), - }); + plan.install_actions.emplace_back( + p_cluster->m_spec, scfl, p_cluster->request_type, std::move(computed_edges)); } - else + else if (p_cluster->request_type == RequestType::USER_REQUESTED && p_cluster->m_installed.has_value()) { - // If the package isn't transitively installed, still include it if the user explicitly requested it - if (p_cluster->request_type != RequestType::USER_REQUESTED) continue; - auto&& installed = p_cluster->installed.value_or_exit(VCPKG_LINE_INFO); - plan.emplace_back(InstallPlanAction{ - InstalledPackageView{installed.ipv}, - installed.original_features, - p_cluster->request_type, - }); + auto&& installed = p_cluster->m_installed.value_or_exit(VCPKG_LINE_INFO); + plan.already_installed.emplace_back(Util::copy(installed.ipv), p_cluster->request_type); } } return plan; } - static std::unique_ptr create_feature_install_graph(const PortFileProvider& map, - const StatusParagraphs& status_db) + static std::unique_ptr create_feature_install_graph( + const PortFileProvider::PortFileProvider& port_provider, const StatusParagraphs& status_db) { - std::unique_ptr graph = std::make_unique(map); + std::unique_ptr graph = std::make_unique(port_provider); auto installed_ports = get_installed_ports(status_db); for (auto&& ipv : installed_ports) { - Cluster& cluster = graph->get(ipv.spec()); - - cluster.transient_uninstalled = false; - - cluster.installed = [](const InstalledPackageView& ipv) -> ClusterInstalled { - ClusterInstalled ret; - ret.ipv = ipv; - ret.original_features.emplace("core"); - for (auto&& feature : ipv.features) - ret.original_features.emplace(feature->package.feature); - return ret; - }(ipv); + graph->get(ipv); } // Populate the graph with "remove edges", which are the reverse of the Build-Depends edges. @@ -899,7 +908,7 @@ namespace vcpkg::Dependencies for (auto&& dep : deps) { - auto p_installed = graph->get(dep).installed.get(); + auto p_installed = graph->get(dep).m_installed.get(); Checks::check_exit(VCPKG_LINE_INFO, p_installed, "Error: database corrupted. Package %s is installed but dependency %s is not.", @@ -911,16 +920,16 @@ namespace vcpkg::Dependencies return graph; } - PackageGraph::PackageGraph(const PortFileProvider& provider, const StatusParagraphs& status_db) - : m_graph_plan(std::make_unique()), m_graph(create_feature_install_graph(provider, status_db)) + PackageGraph::PackageGraph(const PortFileProvider::PortFileProvider& port_provider, + const CMakeVars::CMakeVarProvider& var_provider, + const StatusParagraphs& status_db) + : m_var_provider(var_provider), m_graph(create_feature_install_graph(port_provider, status_db)) { } PackageGraph::~PackageGraph() = default; - void print_plan(const std::vector& action_plan, - const bool is_recursive, - const fs::path& default_ports_dir) + void print_plan(const ActionPlan& action_plan, const bool is_recursive, const fs::path& default_ports_dir) { std::vector remove_plans; std::vector rebuilt_plans; @@ -929,44 +938,38 @@ namespace vcpkg::Dependencies std::vector already_installed_plans; std::vector excluded; - const bool has_non_user_requested_packages = Util::find_if(action_plan, [](const AnyAction& package) -> bool { - if (auto iplan = package.install_action.get()) - return iplan->request_type != RequestType::USER_REQUESTED; - else - return false; - }) != action_plan.cend(); + const bool has_non_user_requested_packages = + Util::find_if(action_plan.install_actions, [](const InstallPlanAction& action) -> bool { + return action.request_type != RequestType::USER_REQUESTED; + }) != action_plan.install_actions.cend(); - for (auto&& action : action_plan) + for (auto&& remove_action : action_plan.remove_actions) { - if (auto install_action = action.install_action.get()) + remove_plans.emplace_back(&remove_action); + } + for (auto&& install_action : action_plan.install_actions) + { + // remove plans are guaranteed to come before install plans, so we know the plan will be contained + // if at all. + auto it = Util::find_if(remove_plans, + [&](const RemovePlanAction* plan) { return plan->spec == install_action.spec; }); + if (it != remove_plans.end()) { - // remove plans are guaranteed to come before install plans, so we know the plan will be contained if at - // all. - auto it = Util::find_if( - remove_plans, [&](const RemovePlanAction* plan) { return plan->spec == install_action->spec; }); - if (it != remove_plans.end()) - { - rebuilt_plans.emplace_back(install_action); - } - else - { - switch (install_action->plan_type) - { - case InstallPlanType::ALREADY_INSTALLED: - if (install_action->request_type == RequestType::USER_REQUESTED) - already_installed_plans.emplace_back(install_action); - break; - case InstallPlanType::BUILD_AND_INSTALL: new_plans.emplace_back(install_action); break; - case InstallPlanType::EXCLUDED: excluded.emplace_back(install_action); break; - default: Checks::unreachable(VCPKG_LINE_INFO); - } - } + rebuilt_plans.push_back(&install_action); } - else if (auto remove_action = action.remove_action.get()) + else { - remove_plans.emplace_back(remove_action); + if (install_action.plan_type == InstallPlanType::EXCLUDED) + excluded.push_back(&install_action); + else + new_plans.push_back(&install_action); } } + for (auto&& action : action_plan.already_installed) + { + if (action.request_type == RequestType::USER_REQUESTED) already_installed_plans.emplace_back(&action); + } + already_installed_plans = Util::fmap(action_plan.already_installed, [](auto&& action) { return &action; }); std::sort(remove_plans.begin(), remove_plans.end(), &RemovePlanAction::compare_by_name); std::sort(rebuilt_plans.begin(), rebuilt_plans.end(), &InstallPlanAction::compare_by_name); diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp index 34f9053ea4..0094b712c9 100644 --- a/toolsrc/src/vcpkg/export.cpp +++ b/toolsrc/src/vcpkg/export.cpp @@ -2,9 +2,9 @@ #include #include +#include #include #include -#include #include #include #include @@ -307,8 +307,10 @@ namespace vcpkg::Export {OPTION_IFW_REPOSITORY_DIR_PATH, "Specify the directory path for the exported repository"}, {OPTION_IFW_CONFIG_FILE_PATH, "Specify the temporary file path for the installer configuration"}, {OPTION_IFW_INSTALLER_FILE_PATH, "Specify the file path for the exported installer"}, - {OPTION_CHOCOLATEY_MAINTAINER, "Specify the maintainer for the exported Chocolatey package (experimental feature)"}, - {OPTION_CHOCOLATEY_VERSION_SUFFIX, "Specify the version suffix to add for the exported Chocolatey package (experimental feature)"}, + {OPTION_CHOCOLATEY_MAINTAINER, + "Specify the maintainer for the exported Chocolatey package (experimental feature)"}, + {OPTION_CHOCOLATEY_VERSION_SUFFIX, + "Specify the version suffix to add for the exported Chocolatey package (experimental feature)"}, }}; const CommandStructure COMMAND_STRUCTURE = { @@ -521,7 +523,7 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console const StatusParagraphs status_db = database_load_check(paths); // Load ports from ports dirs - Dependencies::PathsPortFileProvider provider(paths, args.overlay_ports.get()); + PortFileProvider::PathsPortFileProvider provider(paths, args.overlay_ports.get()); std::vector export_plan = Dependencies::create_export_plan(opts.specs, status_db); Checks::check_exit(VCPKG_LINE_INFO, !export_plan.empty(), "Export plan cannot be empty"); diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp index a082f1b952..0af9a33a1f 100644 --- a/toolsrc/src/vcpkg/install.cpp +++ b/toolsrc/src/vcpkg/install.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -18,6 +19,7 @@ namespace vcpkg::Install { + using namespace vcpkg; using namespace Dependencies; using file_pack = std::pair; @@ -295,8 +297,9 @@ namespace vcpkg::Install using Build::ExtendedBuildResult; ExtendedBuildResult perform_install_plan_action(const VcpkgPaths& paths, - const InstallPlanAction& action, - StatusParagraphs& status_db) + InstallPlanAction& action, + StatusParagraphs& status_db, + const CMakeVars::CMakeVarProvider& var_provider) { const InstallPlanType& plan_type = action.plan_type; const std::string display_name = action.spec.to_string(); @@ -338,8 +341,13 @@ namespace vcpkg::Install auto result = [&]() -> Build::ExtendedBuildResult { const auto& scfl = action.source_control_file_location.value_or_exit(VCPKG_LINE_INFO); - const Build::BuildPackageConfig build_config{ - scfl, action.spec.triplet(), action.build_options, action.feature_list}; + const Build::BuildPackageConfig build_config{scfl, + action.spec.triplet(), + action.build_options, + var_provider, + std::move(action.feature_dependencies), + std::move(action.package_dependencies), + std::move(action.feature_list)}; return Build::build_package(paths, build_config, status_db); }(); @@ -422,53 +430,60 @@ namespace vcpkg::Install } } - InstallSummary perform(const std::vector& action_plan, + InstallSummary perform(ActionPlan& action_plan, const KeepGoing keep_going, const VcpkgPaths& paths, - StatusParagraphs& status_db) + StatusParagraphs& status_db, + const CMakeVars::CMakeVarProvider& var_provider) { std::vector results; const auto timer = Chrono::ElapsedTimer::create_started(); size_t counter = 0; - const size_t package_count = action_plan.size(); + const size_t package_count = action_plan.remove_actions.size() + action_plan.install_actions.size(); - for (const auto& action : action_plan) - { + auto with_tracking = [&](const PackageSpec& spec, auto f) { const auto build_timer = Chrono::ElapsedTimer::create_started(); counter++; - const PackageSpec& spec = action.spec(); const std::string display_name = spec.to_string(); System::printf("Starting package %zd/%zd: %s\n", counter, package_count, display_name); - results.emplace_back(spec, &action); + results.emplace_back(spec, nullptr); - if (const auto install_action = action.install_action.get()) - { - auto result = perform_install_plan_action(paths, *install_action, status_db); - - if (result.code != BuildResult::SUCCEEDED && keep_going == KeepGoing::NO) - { - System::print2(Build::create_user_troubleshooting_message(install_action->spec), '\n'); - Checks::exit_fail(VCPKG_LINE_INFO); - } - - results.back().build_result = std::move(result); - } - else if (const auto remove_action = action.remove_action.get()) - { - Remove::perform_remove_plan_action(paths, *remove_action, Remove::Purge::YES, &status_db); - } - else - { - Checks::unreachable(VCPKG_LINE_INFO); - } + f(); results.back().timing = build_timer.elapsed(); System::printf("Elapsed time for package %s: %s\n", display_name, results.back().timing); + }; + + for (auto&& action : action_plan.remove_actions) + { + with_tracking(action.spec, + [&]() { Remove::perform_remove_plan_action(paths, action, Remove::Purge::YES, &status_db); }); } + for (auto&& action : action_plan.already_installed) + { + results.emplace_back(action.spec, &action); + results.back().build_result = perform_install_plan_action(paths, action, status_db, var_provider); + } + + for (auto&& action : action_plan.install_actions) + { + with_tracking(action.spec, [&]() { + auto result = perform_install_plan_action(paths, action, status_db, var_provider); + + if (result.code != BuildResult::SUCCEEDED && keep_going == KeepGoing::NO) + { + System::print2(Build::create_user_troubleshooting_message(action.spec), '\n'); + Checks::exit_fail(VCPKG_LINE_INFO); + } + + results.back().action = &action; + results.back().build_result = std::move(result); + }); + } return InstallSummary{std::move(results), timer.to_string()}; } @@ -514,7 +529,8 @@ namespace vcpkg::Install static void print_cmake_information(const BinaryParagraph& bpgh, const VcpkgPaths& paths) { - static const std::regex cmake_library_regex(R"(\badd_library\(([^\s\)]+)\s)", std::regex_constants::ECMAScript); + static const std::regex cmake_library_regex(R"(\badd_library\(([^\$\s\)]+)\s)", + std::regex_constants::ECMAScript); auto& fs = paths.get_filesystem(); @@ -651,6 +667,7 @@ namespace vcpkg::Install auto& fs = paths.get_filesystem(); // create the plan + System::print2("Computing installation plan...\n"); StatusParagraphs status_db = database_load_check(paths); Build::DownloadTool download_tool = Build::DownloadTool::BUILT_IN; @@ -669,33 +686,39 @@ namespace vcpkg::Install }; //// Load ports from ports dirs - PathsPortFileProvider provider(paths, args.overlay_ports.get()); + PortFileProvider::PathsPortFileProvider provider(paths, args.overlay_ports.get()); + CMakeVars::TripletCMakeVarProvider var_provider(paths); // Note: action_plan will hold raw pointers to SourceControlFileLocations from this map - std::vector action_plan = - create_feature_install_plan(provider, FullPackageSpec::to_feature_specs(specs), status_db); + auto action_plan = Dependencies::create_feature_install_plan(provider, var_provider, specs, status_db); - for (auto&& action : action_plan) + std::vector install_package_specs; + for (auto&& action : action_plan.install_actions) { - if (auto p_install = action.install_action.get()) - { - p_install->build_options = install_plan_options; - if (p_install->request_type != RequestType::USER_REQUESTED) - p_install->build_options.use_head_version = Build::UseHeadVersion::NO; - } + action.build_options = install_plan_options; + if (action.request_type != RequestType::USER_REQUESTED) + action.build_options.use_head_version = Build::UseHeadVersion::NO; + + install_package_specs.emplace_back(FullPackageSpec{action.spec, action.feature_list}); } + var_provider.load_tag_vars(install_package_specs, provider); + // install plan will be empty if it is already installed - need to change this at status paragraph part Checks::check_exit(VCPKG_LINE_INFO, !action_plan.empty(), "Install plan cannot be empty"); // log the plan - const std::string specs_string = Strings::join(",", action_plan, [](const AnyAction& action) { - if (auto iaction = action.install_action.get()) - return Hash::get_string_hash(iaction->spec.to_string(), Hash::Algorithm::Sha256); - else if (auto raction = action.remove_action.get()) - return "R$" + Hash::get_string_hash(raction->spec.to_string(), Hash::Algorithm::Sha256); - Checks::unreachable(VCPKG_LINE_INFO); - }); + std::string specs_string; + for (auto&& remove_action : action_plan.remove_actions) + { + if (!specs_string.empty()) specs_string += ","; + specs_string += "R$" + Hash::get_string_hash(remove_action.spec.to_string(), Hash::Algorithm::Sha256); + } + for (auto&& install_action : action_plan.install_actions) + { + if (!specs_string.empty()) specs_string += ","; + specs_string += Hash::get_string_hash(install_action.spec.to_string(), Hash::Algorithm::Sha256); + } Metrics::g_metrics.lock()->track_property("installplan_1", specs_string); @@ -706,7 +729,7 @@ namespace vcpkg::Install Checks::exit_success(VCPKG_LINE_INFO); } - const InstallSummary summary = perform(action_plan, keep_going, paths, status_db); + const InstallSummary summary = perform(action_plan, keep_going, paths, status_db, var_provider); System::print2("\nTotal elapsed time: ", summary.total_elapsed_time, "\n\n"); @@ -729,19 +752,16 @@ namespace vcpkg::Install for (auto&& result : summary.results) { if (!result.action) continue; - if (auto p_install_action = result.action->install_action.get()) - { - if (p_install_action->request_type != RequestType::USER_REQUESTED) continue; - auto bpgh = result.get_binary_paragraph(); - if (!bpgh) continue; - print_cmake_information(*bpgh, paths); - } + if (result.action->request_type != RequestType::USER_REQUESTED) continue; + auto bpgh = result.get_binary_paragraph(); + if (!bpgh) continue; + print_cmake_information(*bpgh, paths); } Checks::exit_success(VCPKG_LINE_INFO); } - SpecSummary::SpecSummary(const PackageSpec& spec, const Dependencies::AnyAction* action) + SpecSummary::SpecSummary(const PackageSpec& spec, const Dependencies::InstallPlanAction* action) : spec(spec), build_result{BuildResult::NULLVALUE, nullptr}, action(action) { } @@ -750,12 +770,9 @@ namespace vcpkg::Install { if (build_result.binary_control_file) return &build_result.binary_control_file->core_paragraph; if (action) - if (auto p_install_plan = action->install_action.get()) + if (auto p_status = action->installed_package.get()) { - if (auto p_status = p_install_plan->installed_package.get()) - { - return &p_status->core->package; - } + return &p_status->core->package; } return nullptr; } diff --git a/toolsrc/src/vcpkg/logicexpression.cpp b/toolsrc/src/vcpkg/logicexpression.cpp index ccb8b00c4f..2f646e80aa 100644 --- a/toolsrc/src/vcpkg/logicexpression.cpp +++ b/toolsrc/src/vcpkg/logicexpression.cpp @@ -1,7 +1,6 @@ - #include "pch.h" -#include +#include #include #include @@ -18,22 +17,37 @@ namespace vcpkg const std::string line; const std::string message; - void print_error() const + std::string format_error() const { - System::print2(System::Color::error, - "Error: ", - message, - "\n" - " on expression: \"", - line, - "\"\n", - " ", - std::string(column, ' '), - "^\n"); - Checks::exit_fail(VCPKG_LINE_INFO); + return Strings::concat("Error: ", + message, + "\n" + " on expression: \"", + line, + "\"\n", + " ", + std::string(column, ' '), + "^\n"); } }; + enum class Identifier + { + invalid, // not a recognized identifier + x64, + x86, + arm, + arm64, + + windows, + linux, + osx, + uwp, + android, + + static_link, + }; + // logic expression supports the following : // primary-expression: // ( logic-expression ) @@ -53,12 +67,33 @@ namespace vcpkg class ExpressionParser { public: - ExpressionParser(const std::string& str, const std::string& evaluation_context) + ExpressionParser(const std::string& str, const ExpressionContext& context) : raw_text(str) - , evaluation_context(evaluation_context) + , evaluation_context(context) , current_iter(raw_text.begin()) , current_char(get_current_char()) { + { + auto override_vars = evaluation_context.cmake_context.find("VCPKG_DEP_INFO_OVERRIDE_VARS"); + if (override_vars != evaluation_context.cmake_context.end()) + { + auto cmake_list = Strings::split(override_vars->second, ";"); + for (auto& override_id : cmake_list) + { + if (!override_id.empty()) + { + if (override_id[0] == '!') + { + context_override.insert({override_id.substr(1), false}); + } + else + { + context_override.insert({override_id, true}); + } + } + } + } + } skip_whitespace(); final_result = logic_expression(); @@ -67,21 +102,18 @@ namespace vcpkg { add_error("Invalid logic expression"); } - - if (err) - { - err->print_error(); - final_result = false; - } } bool get_result() const { return final_result; } - bool has_error() const { return err == nullptr; } + const ParseError* get_error() const { return err.get(); } private: const std::string& raw_text; - const std::string& evaluation_context; + + const ExpressionContext& evaluation_context; + std::map context_override; + std::string::const_iterator current_iter; char current_char; @@ -143,9 +175,106 @@ namespace vcpkg return (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || (ch == '-'); } - bool evaluate_identifier(const std::string name) const + // Legacy evaluation only searches for substrings. Use this only for diagnostic purposes. + bool evaluate_identifier_legacy(const std::string name) const { - return evaluation_context.find(name) != std::string::npos; + return evaluation_context.legacy_context.find(name) != std::string::npos; + } + + static Identifier string2identifier(const std::string& name) + { + static const std::map id_map = { + {"x64", Identifier::x64}, + {"x86", Identifier::x86}, + {"arm", Identifier::arm}, + {"arm64", Identifier::arm64}, + {"windows", Identifier::windows}, + {"linux", Identifier::linux}, + {"osx", Identifier::osx}, + {"uwp", Identifier::uwp}, + {"android", Identifier::android}, + {"static", Identifier::static_link}, + }; + + auto id_pair = id_map.find(name); + + if (id_pair == id_map.end()) + { + return Identifier::invalid; + } + + return id_pair->second; + } + + bool true_if_exists_and_equal(const std::string& variable_name, const std::string& value) + { + auto iter = evaluation_context.cmake_context.find(variable_name); + if (iter == evaluation_context.cmake_context.end()) + { + return false; + } + return iter->second == value; + } + + // If an identifier is on the explicit override list, return the override value + // Otherwise fall back to the built in logic to evaluate + // All unrecognized identifiers are an error + bool evaluate_identifier_cmake(const std::string name, int column) + { + auto id = string2identifier(name); + + switch (id) + { + case Identifier::invalid: + // Point out in the diagnostic that they should add to the override list because that is what + // most users should do, however it is also valid to update the built in identifiers to recognize + // the name. + add_error("Unrecognized identifer name. Add to override list in triplet file.", column); + break; + + case Identifier::x64: return true_if_exists_and_equal("VCPKG_TARGET_ARCHITECTURE", "x64"); + case Identifier::x86: return true_if_exists_and_equal("VCPKG_TARGET_ARCHITECTURE", "x86"); + case Identifier::arm: + // For backwards compatability arm is also true for arm64. + // This is because it previously was only checking for a substring. + return true_if_exists_and_equal("VCPKG_TARGET_ARCHITECTURE", "arm") || + true_if_exists_and_equal("VCPKG_TARGET_ARCHITECTURE", "arm64"); + case Identifier::arm64: return true_if_exists_and_equal("VCPKG_TARGET_ARCHITECTURE", "arm64"); + case Identifier::windows: return true_if_exists_and_equal("VCPKG_CMAKE_SYSTEM_NAME", "") || true_if_exists_and_equal("VCPKG_CMAKE_SYSTEM_NAME", "WindowsStore"); + case Identifier::linux: return true_if_exists_and_equal("VCPKG_CMAKE_SYSTEM_NAME", "Linux"); + case Identifier::osx: return true_if_exists_and_equal("VCPKG_CMAKE_SYSTEM_NAME", "Darwin"); + case Identifier::uwp: return true_if_exists_and_equal("VCPKG_CMAKE_SYSTEM_NAME", "WindowsStore"); + case Identifier::android: return true_if_exists_and_equal("VCPKG_CMAKE_SYSTEM_NAME", "Android"); + case Identifier::static_link: return true_if_exists_and_equal("VCPKG_LIBRARY_LINKAGE", "static"); + } + + return evaluation_context.legacy_context.find(name) != std::string::npos; + } + + bool evaluate_identifier(const std::string name, int column) + { + if (!context_override.empty()) + { + auto override_id = context_override.find(name); + if (override_id != context_override.end()) + { + return override_id->second; + } + // Fall through to use the cmake logic if the id does not have an override + } + + bool legacy = evaluate_identifier_legacy(name); + bool cmake = evaluate_identifier_cmake(name, column); + if (legacy != cmake) + { + // Legacy evaluation only used the name of the triplet, now we use the actual + // cmake variables. This has the potential to break custom triplets. + // For now just print a message, this will need to change once we start introducing + // new variables that did not exist previously (such as host-*) + System::print2( + "Warning: Identifier logic evaluation does not match legacy evaluation:\n ", name, '\n'); + } + return cmake; } // identifier: @@ -154,6 +283,7 @@ namespace vcpkg { auto curr = current(); std::string name; + auto starting_column = current_column(); for (curr = current(); is_alphanum(curr); curr = next()) { @@ -166,7 +296,7 @@ namespace vcpkg return false; } - bool result = evaluate_identifier(name); + bool result = evaluate_identifier(name, starting_column); skip_whitespace(); return result; } @@ -194,6 +324,7 @@ namespace vcpkg while (next() == oper) { }; + skip_whitespace(); seed = operation(not_expression(), seed); } while (current() == oper); @@ -242,7 +373,7 @@ namespace vcpkg bool result = logic_expression(); if (current() != ')') { - add_error("Error: missing closing )"); + add_error("missing closing )"); return result; } next_skip_whitespace(); @@ -253,9 +384,14 @@ namespace vcpkg } }; - bool evaluate_expression(const std::string& expression, const std::string& evaluation_context) + ExpectedT evaluate_expression(const std::string& expression, const ExpressionContext& context) { - ExpressionParser parser(expression, evaluation_context); + ExpressionParser parser(expression, context); + + if (auto err = parser.get_error()) + { + return err->format_error(); + } return parser.get_result(); } diff --git a/toolsrc/src/vcpkg/packagespec.cpp b/toolsrc/src/vcpkg/packagespec.cpp index 52edf4b6f6..ea25f57e18 100644 --- a/toolsrc/src/vcpkg/packagespec.cpp +++ b/toolsrc/src/vcpkg/packagespec.cpp @@ -46,7 +46,7 @@ namespace vcpkg for (auto&& feature : spec->features) f_specs.push_back(FeatureSpec{pspec, feature}); - if (spec->features.empty()) f_specs.push_back(FeatureSpec{pspec, ""}); + if (spec->features.empty()) f_specs.push_back(FeatureSpec{pspec, "core"}); } else { @@ -59,16 +59,44 @@ namespace vcpkg return f_specs; } - std::vector FullPackageSpec::to_feature_specs(const std::vector& specs) + std::vector FullPackageSpec::to_feature_specs(const std::vector& default_features, + const std::vector& all_features) const { - std::vector ret; - for (auto&& spec : specs) + std::vector feature_specs; + + if (Util::find(features, "*") != features.end()) { - ret.emplace_back(spec.package_spec, ""); - for (auto&& feature : spec.features) - ret.emplace_back(spec.package_spec, feature); + feature_specs.emplace_back(package_spec, "core"); + for (const std::string& feature : all_features) + { + feature_specs.emplace_back(package_spec, feature); + } } - return ret; + else + { + bool core = false; + for (const std::string& feature : features) + { + feature_specs.emplace_back(package_spec, feature); + + if (!core) + { + core = feature == "core"; + } + } + + if (!core) + { + feature_specs.emplace_back(package_spec, "core"); + + for (const std::string& def : default_features) + { + feature_specs.emplace_back(package_spec, def); + } + } + } + + return feature_specs; } ExpectedT FullPackageSpec::from_string(const std::string& spec_as_string, diff --git a/toolsrc/src/vcpkg/paragraphs.cpp b/toolsrc/src/vcpkg/paragraphs.cpp index 9cb7caff12..797d681cd2 100644 --- a/toolsrc/src/vcpkg/paragraphs.cpp +++ b/toolsrc/src/vcpkg/paragraphs.cpp @@ -205,10 +205,11 @@ namespace vcpkg::Paragraphs ParseExpected try_load_port(const Files::Filesystem& fs, const fs::path& path) { - Expected> pghs = get_paragraphs(fs, path / "CONTROL"); + const auto path_to_control = path / "CONTROL"; + Expected> pghs = get_paragraphs(fs, path_to_control); if (auto vector_pghs = pghs.get()) { - return SourceControlFile::parse_control_file(std::move(*vector_pghs)); + return SourceControlFile::parse_control_file(path_to_control, std::move(*vector_pghs)); } auto error_info = std::make_unique(); error_info->name = path.filename().generic_u8string(); diff --git a/toolsrc/src/vcpkg/portfileprovider.cpp b/toolsrc/src/vcpkg/portfileprovider.cpp new file mode 100644 index 0000000000..6540f29498 --- /dev/null +++ b/toolsrc/src/vcpkg/portfileprovider.cpp @@ -0,0 +1,151 @@ +#include + +#include +#include +#include + +namespace vcpkg::PortFileProvider +{ + MapPortFileProvider::MapPortFileProvider(const std::unordered_map& map) + : ports(map) + { + } + + Optional MapPortFileProvider::get_control_file(const std::string& spec) const + { + auto scf = ports.find(spec); + if (scf == ports.end()) return nullopt; + return scf->second; + } + + std::vector MapPortFileProvider::load_all_control_files() const + { + return Util::fmap(ports, [](auto&& kvpair) -> const SourceControlFileLocation* { return &kvpair.second; }); + } + + PathsPortFileProvider::PathsPortFileProvider(const vcpkg::VcpkgPaths& paths, + const std::vector* ports_dirs_paths) + : filesystem(paths.get_filesystem()) + { + auto& fs = Files::get_real_filesystem(); + if (ports_dirs_paths) + { + for (auto&& overlay_path : *ports_dirs_paths) + { + if (!overlay_path.empty()) + { + auto overlay = fs::stdfs::canonical(fs::u8path(overlay_path)); + + Checks::check_exit(VCPKG_LINE_INFO, + filesystem.exists(overlay), + "Error: Path \"%s\" does not exist", + overlay.string()); + + Checks::check_exit(VCPKG_LINE_INFO, + fs::is_directory(fs.status(VCPKG_LINE_INFO, overlay)), + "Error: Path \"%s\" must be a directory", + overlay.string()); + + ports_dirs.emplace_back(overlay); + } + } + } + ports_dirs.emplace_back(paths.ports); + } + + Optional PathsPortFileProvider::get_control_file(const std::string& spec) const + { + auto cache_it = cache.find(spec); + if (cache_it != cache.end()) + { + return cache_it->second; + } + + for (auto&& ports_dir : ports_dirs) + { + // Try loading individual port + if (filesystem.exists(ports_dir / "CONTROL")) + { + auto maybe_scf = Paragraphs::try_load_port(filesystem, ports_dir); + if (auto scf = maybe_scf.get()) + { + if (scf->get()->core_paragraph->name == spec) + { + auto it = cache.emplace(std::piecewise_construct, + std::forward_as_tuple(spec), + std::forward_as_tuple(std::move(*scf), ports_dir)); + return it.first->second; + } + } + else + { + vcpkg::print_error_message(maybe_scf.error()); + Checks::exit_with_message( + VCPKG_LINE_INFO, "Error: Failed to load port from %s", spec, ports_dir.u8string()); + } + } + + auto found_scf = Paragraphs::try_load_port(filesystem, ports_dir / spec); + if (auto scf = found_scf.get()) + { + if (scf->get()->core_paragraph->name == spec) + { + auto it = cache.emplace(std::piecewise_construct, + std::forward_as_tuple(spec), + std::forward_as_tuple(std::move(*scf), ports_dir / spec)); + return it.first->second; + } + } + } + + return nullopt; + } + + std::vector PathsPortFileProvider::load_all_control_files() const + { + // Reload cache with ports contained in all ports_dirs + cache.clear(); + std::vector ret; + for (auto&& ports_dir : ports_dirs) + { + // Try loading individual port + if (filesystem.exists(ports_dir / "CONTROL")) + { + auto maybe_scf = Paragraphs::try_load_port(filesystem, ports_dir); + if (auto scf = maybe_scf.get()) + { + auto port_name = scf->get()->core_paragraph->name; + if (cache.find(port_name) == cache.end()) + { + auto it = cache.emplace(std::piecewise_construct, + std::forward_as_tuple(port_name), + std::forward_as_tuple(std::move(*scf), ports_dir)); + ret.emplace_back(&it.first->second); + } + } + else + { + vcpkg::print_error_message(maybe_scf.error()); + Checks::exit_with_message( + VCPKG_LINE_INFO, "Error: Failed to load port from %s", ports_dir.u8string()); + } + continue; + } + + // Try loading all ports inside ports_dir + auto found_scf = Paragraphs::load_all_ports(filesystem, ports_dir); + for (auto&& scf : found_scf) + { + auto port_name = scf->core_paragraph->name; + if (cache.find(port_name) == cache.end()) + { + auto it = cache.emplace(std::piecewise_construct, + std::forward_as_tuple(port_name), + std::forward_as_tuple(std::move(scf), ports_dir / port_name)); + ret.emplace_back(&it.first->second); + } + } + } + return ret; + } +} diff --git a/toolsrc/src/vcpkg/postbuildlint.cpp b/toolsrc/src/vcpkg/postbuildlint.cpp index 2a13d27860..b346e1721b 100644 --- a/toolsrc/src/vcpkg/postbuildlint.cpp +++ b/toolsrc/src/vcpkg/postbuildlint.cpp @@ -98,6 +98,93 @@ namespace vcpkg::PostBuildLint return LintStatus::SUCCESS; } + static LintStatus check_for_restricted_include_files(const Files::Filesystem& fs, + const Build::BuildPolicies& policies, + const fs::path& package_dir) + { + if (policies.is_enabled(BuildPolicy::ALLOW_RESTRICTED_HEADERS)) + { + return LintStatus::SUCCESS; + } + + // These files are taken from the libc6-dev package on Ubuntu inside /usr/include/x86_64-linux-gnu/sys/ + static constexpr StringLiteral restricted_sys_filenames[] = { + "acct.h", "auxv.h", "bitypes.h", "cdefs.h", "debugreg.h", "dir.h", "elf.h", + "epoll.h", "errno.h", "eventfd.h", "fanotify.h", "fcntl.h", "file.h", "fsuid.h", + "gmon.h", "gmon_out.h", "inotify.h", "io.h", "ioctl.h", "ipc.h", "kd.h", + "klog.h", "mman.h", "mount.h", "msg.h", "mtio.h", "param.h", "pci.h", + "perm.h", "personality.h", "poll.h", "prctl.h", "procfs.h", "profil.h", "ptrace.h", + "queue.h", "quota.h", "random.h", "raw.h", "reboot.h", "reg.h", "resource.h", + "select.h", "sem.h", "sendfile.h", "shm.h", "signal.h", "signalfd.h", "socket.h", + "socketvar.h", "soundcard.h", "stat.h", "statfs.h", "statvfs.h", "stropts.h", "swap.h", + "syscall.h", "sysctl.h", "sysinfo.h", "syslog.h", "sysmacros.h", "termios.h", "time.h", + "timeb.h", "timerfd.h", "times.h", "timex.h", "ttychars.h", "ttydefaults.h", "types.h", + "ucontext.h", "uio.h", "un.h", "unistd.h", "user.h", "ustat.h", "utsname.h", + "vfs.h", "vlimit.h", "vm86.h", "vt.h", "vtimes.h", "wait.h", "xattr.h", + }; + // These files are taken from the libc6-dev package on Ubuntu inside the /usr/include/ folder + static constexpr StringLiteral restricted_crt_filenames[] = { + "_G_config.h", "aio.h", "aliases.h", "alloca.h", "ar.h", "argp.h", + "argz.h", "assert.h", "byteswap.h", "complex.h", "cpio.h", "crypt.h", + "ctype.h", "dirent.h", "dlfcn.h", "elf.h", "endian.h", "envz.h", + "err.h", "errno.h", "error.h", "execinfo.h", "fcntl.h", "features.h", + "fenv.h", "fmtmsg.h", "fnmatch.h", "fstab.h", "fts.h", "ftw.h", + "gconv.h", "getopt.h", "glob.h", "gnu-versions.h", "grp.h", "gshadow.h", + "iconv.h", "ifaddrs.h", "inttypes.h", "langinfo.h", "lastlog.h", "libgen.h", + "libintl.h", "libio.h", "limits.h", "link.h", "locale.h", "malloc.h", + "math.h", "mcheck.h", "memory.h", "mntent.h", "monetary.h", "mqueue.h", + "netash", "netdb.h", "nl_types.h", "nss.h", "obstack.h", "paths.h", + "poll.h", "printf.h", "proc_service.h", "pthread.h", "pty.h", "pwd.h", + "re_comp.h", "regex.h", "regexp.h", "resolv.h", "sched.h", "search.h", + "semaphore.h", "setjmp.h", "sgtty.h", "shadow.h", "signal.h", "spawn.h", + "stab.h", "stdc-predef.h", "stdint.h", "stdio.h", "stdio_ext.h", "stdlib.h", + "string.h", "strings.h", "stropts.h", "syscall.h", "sysexits.h", "syslog.h", + "tar.h", "termio.h", "termios.h", "tgmath.h", "thread_db.h", "time.h", + "ttyent.h", "uchar.h", "ucontext.h", "ulimit.h", "unistd.h", "ustat.h", + "utime.h", "utmp.h", "utmpx.h", "values.h", "wait.h", "wchar.h", + "wctype.h", "wordexp.h", + }; + // These files are general names that have shown to be problematic in the past + static constexpr StringLiteral restricted_general_filenames[] = { + "json.h", + "parser.h", + "lexer.h", + "config.h", + "local.h", + "slice.h", + }; + static constexpr Span restricted_lists[] = { + restricted_sys_filenames, restricted_crt_filenames, restricted_general_filenames}; + const fs::path include_dir = package_dir / "include"; + auto files = fs.get_files_non_recursive(include_dir); + auto filenames_v = Util::fmap(files, [](const auto& file) { return file.filename().u8string(); }); + std::set filenames_s(filenames_v.begin(), filenames_v.end()); + + std::vector violations; + for (auto&& flist : restricted_lists) + for (auto&& f : flist) + { + if (Util::Sets::contains(filenames_s, f)) + { + violations.push_back(fs::u8path("include") / fs::u8path(f.c_str())); + } + } + + if (!violations.empty()) + { + System::print2(System::Color::warning, + "Restricted headers paths are present. These files can prevent the core C++ runtime and " + "other packages from compiling correctly:\n"); + Files::print_paths(violations); + System::print2("In exceptional circumstances, this policy can be disabled via ", + Build::to_cmake_variable(BuildPolicy::ALLOW_RESTRICTED_HEADERS), + "\n"); + return LintStatus::ERROR_DETECTED; + } + + return LintStatus::SUCCESS; + } + static LintStatus check_for_files_in_debug_include_directory(const Files::Filesystem& fs, const fs::path& package_dir) { @@ -142,10 +229,10 @@ namespace vcpkg::PostBuildLint const fs::path lib_cmake = package_dir / "lib" / "cmake"; if (fs.exists(lib_cmake)) { - System::printf( - System::Color::warning, - "The /lib/cmake folder should be merged with /debug/lib/cmake and moved to /share/%s/cmake.\n", - spec.name()); + System::printf(System::Color::warning, + "The /lib/cmake folder should be merged with /debug/lib/cmake and moved to " + "/share/%s/cmake.\nPlease use the helper function `vcpkg_fixup_cmake_targets()`\n", + spec.name()); return LintStatus::ERROR_DETECTED; } @@ -295,10 +382,12 @@ namespace vcpkg::PostBuildLint return LintStatus::SUCCESS; } - static LintStatus check_exports_of_dlls(const Build::BuildPolicies& policies, const std::vector& dlls, const fs::path& dumpbin_exe) + static LintStatus check_exports_of_dlls(const Build::BuildPolicies& policies, + const std::vector& dlls, + const fs::path& dumpbin_exe) { if (policies.is_enabled(BuildPolicy::DLLS_WITHOUT_EXPORTS)) return LintStatus::SUCCESS; - + std::vector dlls_with_no_exports; for (const fs::path& dll : dlls) { @@ -571,7 +660,7 @@ namespace vcpkg::PostBuildLint R"(If the creation of bin\ and/or debug\bin\ cannot be disabled, use this in the portfile to remove them)" "\n" "\n" - R"###( if(VCPKG_LIBRARY_LINKAGE STREQUAL static))###" + R"###( if(VCPKG_LIBRARY_LINKAGE STREQUAL "static"))###" "\n" R"###( file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin))###" "\n" @@ -760,6 +849,7 @@ namespace vcpkg::PostBuildLint } error_count += check_for_files_in_include_directory(fs, build_info.policies, package_dir); + error_count += check_for_restricted_include_files(fs, build_info.policies, package_dir); error_count += check_for_files_in_debug_include_directory(fs, package_dir); error_count += check_for_files_in_debug_share_directory(fs, package_dir); error_count += check_folder_lib_cmake(fs, package_dir, spec); diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp index 65e00668af..1bcfe58a0e 100644 --- a/toolsrc/src/vcpkg/remove.cpp +++ b/toolsrc/src/vcpkg/remove.cpp @@ -229,7 +229,7 @@ namespace vcpkg::Remove } // Load ports from ports dirs - Dependencies::PathsPortFileProvider provider(paths, args.overlay_ports.get()); + PortFileProvider::PathsPortFileProvider provider(paths, args.overlay_ports.get()); specs = Util::fmap(Update::find_outdated_packages(provider, status_db), [](auto&& outdated) { return outdated.spec; }); diff --git a/toolsrc/src/vcpkg/sourceparagraph.cpp b/toolsrc/src/vcpkg/sourceparagraph.cpp index ebb9cd4f46..26681e107a 100644 --- a/toolsrc/src/vcpkg/sourceparagraph.cpp +++ b/toolsrc/src/vcpkg/sourceparagraph.cpp @@ -23,10 +23,10 @@ namespace vcpkg static const std::string FEATURE = "Feature"; static const std::string MAINTAINER = "Maintainer"; static const std::string SOURCE = "Source"; - static const std::string SUPPORTS = "Supports"; static const std::string VERSION = "Version"; static const std::string HOMEPAGE = "Homepage"; static const std::string TYPE = "Type"; + static const std::string SUPPORTS = "Supports"; } static Span get_list_of_valid_fields() @@ -39,6 +39,7 @@ namespace vcpkg SourceParagraphFields::BUILD_DEPENDS, SourceParagraphFields::HOMEPAGE, SourceParagraphFields::TYPE, + SourceParagraphFields::SUPPORTS, }; return valid_fields; @@ -101,7 +102,24 @@ namespace vcpkg } } - static ParseExpected parse_source_paragraph(RawParagraph&& fields) + std::string Type::to_string(const Type& t) + { + switch (t.type) + { + case Type::ALIAS: return "Alias"; + case Type::PORT: return "Port"; + default: return "Unknown"; + } + } + + Type Type::from_string(const std::string& t) + { + if (t == "Alias") return Type{Type::ALIAS}; + if (t == "Port" || t == "") return Type{Type::PORT}; + return Type{Type::UNKNOWN}; + } + + static ParseExpected parse_source_paragraph(const fs::path& path_to_control, RawParagraph&& fields) { ParagraphParser parser(std::move(fields)); @@ -115,17 +133,18 @@ namespace vcpkg spgh->homepage = parser.optional_field(SourceParagraphFields::HOMEPAGE); spgh->depends = expand_qualified_dependencies( parse_comma_list(parser.optional_field(SourceParagraphFields::BUILD_DEPENDS))); - spgh->supports = parse_comma_list(parser.optional_field(SourceParagraphFields::SUPPORTS)); spgh->default_features = parse_comma_list(parser.optional_field(SourceParagraphFields::DEFAULTFEATURES)); - - auto err = parser.error_info(spgh->name); + spgh->supports_expression = parser.optional_field(SourceParagraphFields::SUPPORTS); + spgh->type = Type::from_string(parser.optional_field(SourceParagraphFields::TYPE)); + auto err = parser.error_info(spgh->name.empty() ? path_to_control.u8string() : spgh->name); if (err) - return std::move(err); + return err; else - return std::move(spgh); + return spgh; } - static ParseExpected parse_feature_paragraph(RawParagraph&& fields) + static ParseExpected parse_feature_paragraph(const fs::path& path_to_control, + RawParagraph&& fields) { ParagraphParser parser(std::move(fields)); @@ -137,24 +156,26 @@ namespace vcpkg fpgh->depends = expand_qualified_dependencies( parse_comma_list(parser.optional_field(SourceParagraphFields::BUILD_DEPENDS))); - auto err = parser.error_info(fpgh->name); + auto err = parser.error_info(fpgh->name.empty() ? path_to_control.u8string() : fpgh->name); if (err) - return std::move(err); + return err; else - return std::move(fpgh); + return fpgh; } ParseExpected SourceControlFile::parse_control_file( - std::vector&& control_paragraphs) + const fs::path& path_to_control, std::vector&& control_paragraphs) { if (control_paragraphs.size() == 0) { - return std::make_unique(); + auto ret = std::make_unique(); + ret->name = path_to_control.u8string(); + return ret; } auto control_file = std::make_unique(); - auto maybe_source = parse_source_paragraph(std::move(control_paragraphs.front())); + auto maybe_source = parse_source_paragraph(path_to_control, std::move(control_paragraphs.front())); if (const auto source = maybe_source.get()) control_file->core_paragraph = std::move(*source); else @@ -164,14 +185,14 @@ namespace vcpkg for (auto&& feature_pgh : control_paragraphs) { - auto maybe_feature = parse_feature_paragraph(std::move(feature_pgh)); + auto maybe_feature = parse_feature_paragraph(path_to_control, std::move(feature_pgh)); if (const auto feature = maybe_feature.get()) control_file->feature_paragraphs.emplace_back(std::move(*feature)); else return std::move(maybe_feature).error(); } - return std::move(control_file); + return control_file; } Optional SourceControlFile::find_feature(const std::string& featurename) const @@ -183,6 +204,18 @@ namespace vcpkg else return nullopt; } + Optional&> SourceControlFile::find_dependencies_for_feature( + const std::string& featurename) const + { + if (featurename == "core") + { + return core_paragraph->depends; + } + else if (auto p_feature = find_feature(featurename).get()) + return p_feature->depends; + else + return nullopt; + } Dependency Dependency::parse_dependency(std::string name, std::string qualifier) { @@ -207,96 +240,62 @@ namespace vcpkg std::vector expand_qualified_dependencies(const std::vector& depends) { return Util::fmap(depends, [&](const std::string& depend_string) -> Dependency { - auto pos = depend_string.find(' '); - if (pos == std::string::npos) return Dependency::parse_dependency(depend_string, ""); - // expect of the form "\w+ \[\w+\]" - if (depend_string.c_str()[pos + 1] != '(' || depend_string[depend_string.size() - 1] != ')') + // First, try to find beginning and end of features list + auto end_of_features = depend_string.find(']'); + if (end_of_features != std::string::npos) { - // Error, but for now just slurp the entire string. - return Dependency::parse_dependency(depend_string, ""); + ++end_of_features; + } + else + { + end_of_features = depend_string.find(' '); + if (end_of_features == std::string::npos) end_of_features = depend_string.size(); + } + + auto begin_of_qualifier = depend_string.find('(', end_of_features); + if (begin_of_qualifier == std::string::npos) + { + return Dependency::parse_dependency(depend_string.substr(0, end_of_features), ""); + } + else + { + int depth = 1; + auto i = begin_of_qualifier + 1; + for (; i != depend_string.size(); ++i) + { + auto ch = depend_string[i]; + if (ch == '(') + ++depth; + else if (ch == ')') + --depth; + + if (depth == 0) break; + } + return Dependency::parse_dependency( + depend_string.substr(0, end_of_features), + depend_string.substr(begin_of_qualifier + 1, i - begin_of_qualifier - 1)); } - return Dependency::parse_dependency(depend_string.substr(0, pos), - depend_string.substr(pos + 2, depend_string.size() - pos - 3)); }); } - std::vector filter_dependencies(const std::vector& deps, const Triplet& t) + std::vector filter_dependencies(const std::vector& deps, + const Triplet& t, + const std::unordered_map& cmake_vars) { - std::vector ret; + std::vector ret; for (auto&& dep : deps) { const auto& qualifier = dep.qualifier; - if (qualifier.empty() || evaluate_expression(qualifier, t.canonical_name())) + if (qualifier.empty() || + evaluate_expression(qualifier, {cmake_vars, t.canonical_name()}).value_or_exit(VCPKG_LINE_INFO)) { - ret.emplace_back(dep.name()); + ret.emplace_back(FullPackageSpec( + PackageSpec::from_name_and_triplet(dep.depend.name, t).value_or_exit(VCPKG_LINE_INFO), + dep.depend.features)); } } return ret; } - std::vector filter_dependencies_to_features(const std::vector& deps, const Triplet& t) - { - std::vector ret; - for (auto&& dep : deps) - { - const auto& qualifier = dep.qualifier; - if (qualifier.empty() || evaluate_expression(qualifier, t.canonical_name())) - { - ret.emplace_back(dep.depend); - } - } - return ret; - } - - std::vector filter_dependencies_to_specs(const std::vector& deps, const Triplet& t) - { - return FeatureSpec::from_strings_and_triplet(filter_dependencies(deps, t), t); - } - std::string to_string(const Dependency& dep) { return dep.name(); } - - ExpectedT> Supports::parse(const std::vector& strs) - { - Supports ret; - std::vector unrecognized; - - for (auto&& str : strs) - { - if (str == "x64") - ret.architectures.push_back(Architecture::X64); - else if (str == "x86") - ret.architectures.push_back(Architecture::X86); - else if (str == "arm") - ret.architectures.push_back(Architecture::ARM); - else if (str == "windows") - ret.platforms.push_back(Platform::WINDOWS); - else if (str == "uwp") - ret.platforms.push_back(Platform::UWP); - else if (str == "v140") - ret.toolsets.push_back(ToolsetVersion::V140); - else if (str == "v141") - ret.toolsets.push_back(ToolsetVersion::V141); - else if (str == "crt-static") - ret.crt_linkages.push_back(Linkage::STATIC); - else if (str == "crt-dynamic") - ret.crt_linkages.push_back(Linkage::DYNAMIC); - else - unrecognized.push_back(str); - } - - if (unrecognized.empty()) - return std::move(ret); - else - return std::move(unrecognized); - } - - bool Supports::is_supported(Architecture arch, Platform plat, Linkage crt, ToolsetVersion tools) - { - const auto is_in_or_empty = [](auto v, auto&& c) -> bool { return c.empty() || c.end() != Util::find(c, v); }; - if (!is_in_or_empty(arch, architectures)) return false; - if (!is_in_or_empty(plat, platforms)) return false; - if (!is_in_or_empty(crt, crt_linkages)) return false; - if (!is_in_or_empty(tools, toolsets)) return false; - return true; - } } diff --git a/toolsrc/src/vcpkg/statusparagraph.cpp b/toolsrc/src/vcpkg/statusparagraph.cpp index f7e00f21cb..c0ecca3a0d 100644 --- a/toolsrc/src/vcpkg/statusparagraph.cpp +++ b/toolsrc/src/vcpkg/statusparagraph.cpp @@ -85,6 +85,34 @@ namespace vcpkg default: return "error"; } } + + std::unordered_map> InstalledPackageView::feature_dependencies() const + { + auto extract_deps = [&](const std::string& dep) { + FullPackageSpec dependency = + FullPackageSpec::from_string(dep, spec().triplet()).value_or_exit(VCPKG_LINE_INFO); + std::vector fspecs; + + for (std::string& feature : dependency.features) + { + fspecs.emplace_back(dependency.package_spec, std::move(feature)); + } + + return fspecs; + }; + + std::unordered_map> deps; + + for (const StatusParagraph* const& feature : features) + { + deps.emplace(feature->package.feature, Util::fmap_flatten(feature->package.depends, extract_deps)); + } + + deps.emplace("core", Util::fmap_flatten(core->package.depends, extract_deps)); + + return deps; + } + std::vector InstalledPackageView::dependencies() const { // accumulate all features in installed dependencies diff --git a/toolsrc/src/vcpkg/statusparagraphs.cpp b/toolsrc/src/vcpkg/statusparagraphs.cpp index 3c81728bbd..2fa9df7df9 100644 --- a/toolsrc/src/vcpkg/statusparagraphs.cpp +++ b/toolsrc/src/vcpkg/statusparagraphs.cpp @@ -46,7 +46,7 @@ namespace vcpkg } } if (ipv.core != nullptr) - return std::move(ipv); + return ipv; else return nullopt; } diff --git a/toolsrc/src/vcpkg/update.cpp b/toolsrc/src/vcpkg/update.cpp index 6320bae5b7..8cb2ac5574 100644 --- a/toolsrc/src/vcpkg/update.cpp +++ b/toolsrc/src/vcpkg/update.cpp @@ -14,7 +14,7 @@ namespace vcpkg::Update return left.spec.name() < right.spec.name(); } - std::vector find_outdated_packages(const Dependencies::PortFileProvider& provider, + std::vector find_outdated_packages(const PortFileProvider::PortFileProvider& provider, const StatusParagraphs& status_db) { auto installed_packages = get_installed_ports(status_db); @@ -57,7 +57,7 @@ namespace vcpkg::Update const StatusParagraphs status_db = database_load_check(paths); - Dependencies::PathsPortFileProvider provider(paths, args.overlay_ports.get()); + PortFileProvider::PathsPortFileProvider provider(paths, args.overlay_ports.get()); const auto outdated_packages = SortedVector(find_outdated_packages(provider, status_db), &OutdatedPackage::compare_by_name); diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj b/toolsrc/vcpkglib/vcpkglib.vcxproj index 92f115a70f..5119c5833e 100644 --- a/toolsrc/vcpkglib/vcpkglib.vcxproj +++ b/toolsrc/vcpkglib/vcpkglib.vcxproj @@ -223,6 +223,7 @@ + @@ -258,6 +259,7 @@ + @@ -277,4 +279,4 @@ - + \ No newline at end of file diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters index 54366e7a6d..043a9a22f1 100644 --- a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters +++ b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters @@ -225,6 +225,12 @@ Source Files\vcpkg + + Source Files + + + Source Files + diff --git a/toolsrc/vcpkgtest/vcpkgtest.vcxproj b/toolsrc/vcpkgtest/vcpkgtest.vcxproj index d656de7478..24bb7b29b0 100644 --- a/toolsrc/vcpkgtest/vcpkgtest.vcxproj +++ b/toolsrc/vcpkgtest/vcpkgtest.vcxproj @@ -24,12 +24,12 @@ + - @@ -39,7 +39,8 @@ - + + @@ -51,13 +52,13 @@ - DynamicLibrary + Application true Unicode false - DynamicLibrary + Application false true Unicode @@ -70,7 +71,7 @@ false - DynamicLibrary + Application false true Unicode @@ -151,6 +152,7 @@ true /std:c++latest %(AdditionalOptions) true + false Console @@ -171,6 +173,7 @@ true /std:c++latest %(AdditionalOptions) true + false Console @@ -183,4 +186,4 @@ - + \ No newline at end of file diff --git a/toolsrc/vcpkgtest/vcpkgtest.vcxproj.filters b/toolsrc/vcpkgtest/vcpkgtest.vcxproj.filters index 74a746af10..481fe3b6e7 100644 --- a/toolsrc/vcpkgtest/vcpkgtest.vcxproj.filters +++ b/toolsrc/vcpkgtest/vcpkgtest.vcxproj.filters @@ -39,9 +39,6 @@ Source Files - - Source Files - Source Files @@ -54,13 +51,19 @@ Source Files + + Source Files + - + Header Files - + + Header Files + + Header Files - + \ No newline at end of file From 85bf9d9d792e379e973d66c8af9f39d65d1d6d42 Mon Sep 17 00:00:00 2001 From: past-due <30942300+past-due@users.noreply.github.com> Date: Mon, 3 Feb 2020 18:14:03 -0500 Subject: [PATCH 102/111] [gettext] Fix Unicode path support on Windows (#9855) --- .../gettext/0003-Fix-win-unicode-paths.patch | 60 +++++++++++++++++++ ports/gettext/CMakeLists.txt | 2 +- ports/gettext/CONTROL | 2 +- ports/gettext/portfile.cmake | 1 + 4 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 ports/gettext/0003-Fix-win-unicode-paths.patch diff --git a/ports/gettext/0003-Fix-win-unicode-paths.patch b/ports/gettext/0003-Fix-win-unicode-paths.patch new file mode 100644 index 0000000000..f86c52c86d --- /dev/null +++ b/ports/gettext/0003-Fix-win-unicode-paths.patch @@ -0,0 +1,60 @@ +diff --git "a/gettext-runtime/intl/loadmsgcat.c" "b/gettext-runtime/intl/loadmsgcat.c" +index 63351523..c078de3f 100644 +--- a/gettext-runtime/intl/loadmsgcat.c ++++ b/gettext-runtime/intl/loadmsgcat.c +@@ -477,6 +477,55 @@ char *alloca (); + # define munmap(addr, len) __munmap (addr, len) + #endif + ++#ifdef _WIN32 ++/* Provide wrapper of "open" for Windows that supports UTF-8 filenames. */ ++# ifndef WIN32_LEAN_AND_MEAN ++# define WIN32_LEAN_AND_MEAN ++# endif ++# ifndef WIN32_EXTRA_LEAN ++# define WIN32_EXTRA_LEAN ++# endif ++# undef NOMINMAX ++# define NOMINMAX ++# include // For: MultiByteToWideChar ++# include ++# include ++ ++int _open_utf8_windows_wrapper( ++ const char *filename, ++ int flags ++) ++{ ++ int wstr_len = -1; ++ wchar_t* pUtf16FileName = NULL; ++ int fh = -1; ++ ++ // on Windows, convert the filename from UTF-8 to UTF-16 ++ wstr_len = MultiByteToWideChar(CP_UTF8, 0, filename, -1, NULL, 0); ++ if (wstr_len <= 0) ++ { ++ // MultiByteToWideChar failed ++ errno = ENOENT; ++ return -1; ++ } ++ pUtf16FileName = malloc(wstr_len * sizeof(wchar_t)); ++ if (MultiByteToWideChar(CP_UTF8, 0, filename, -1, pUtf16FileName, wstr_len) == 0) ++ { ++ // MultiByteToWideChar failed ++ free(pUtf16FileName); ++ errno = ENOENT; ++ return -1; ++ } ++ ++ // and call _wopen ++ fh = _wopen(pUtf16FileName, flags); ++ ++ free(pUtf16FileName); ++ return fh; ++} ++# define open(name, flags) _open_utf8_windows_wrapper(name, flags) ++#endif // #ifdef _WIN32 ++ + /* For those losing systems which don't have `alloca' we have to add + some additional code emulating it. */ + #ifdef HAVE_ALLOCA diff --git a/ports/gettext/CMakeLists.txt b/ports/gettext/CMakeLists.txt index 1bc2087b75..57d5a14e52 100644 --- a/ports/gettext/CMakeLists.txt +++ b/ports/gettext/CMakeLists.txt @@ -120,7 +120,7 @@ if(NOT WIN32) target_link_libraries(libintl PRIVATE Threads::Threads) endif() if (WIN32) - target_link_libraries(libintl PRIVATE Advapi32.lib) + target_link_libraries(libintl PRIVATE kernel32.lib Advapi32.lib) endif() install(TARGETS libintl diff --git a/ports/gettext/CONTROL b/ports/gettext/CONTROL index bb4b113f15..5cfa7b0d73 100644 --- a/ports/gettext/CONTROL +++ b/ports/gettext/CONTROL @@ -1,5 +1,5 @@ Source: gettext -Version: 0.19-13 +Version: 0.19-14 Homepage: https://www.gnu.org/software/gettext/ Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages. Provides libintl. Build-Depends: libiconv diff --git a/ports/gettext/portfile.cmake b/ports/gettext/portfile.cmake index 38ada752cd..988c2f439c 100644 --- a/ports/gettext/portfile.cmake +++ b/ports/gettext/portfile.cmake @@ -25,6 +25,7 @@ vcpkg_extract_source_archive_ex( PATCHES 0001-Fix-macro-definitions.patch 0002-Fix-uwp-build.patch + 0003-Fix-win-unicode-paths.patch ) file(COPY From fa022fb0fb85c627c8b55c574668b36cade71ac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 5 Feb 2020 03:32:03 +0800 Subject: [PATCH 103/111] [tools] Add python64 bit. (#7964) * [tools]Add python64 bit. * [pybind11/shiva]Add version number. * [duktape]Fix build error using python64 bit. * [duktape]Fix python2 path. * [duktape]Fix duketape build: using python2 tools. * Change subdirs and archive names for PYTHON2 and PYTHON3 * [duktape] Update version info * [shiva] Add homepage * update baseline * update baseline Co-authored-by: Victor Romero --- ports/duktape/CMakeLists.txt | 2 +- ports/duktape/CONTROL | 8 ++--- ports/duktape/portfile.cmake | 14 +++++---- ports/shiva/CONTROL | 3 +- ports/shiva/portfile.cmake | 2 -- scripts/ci.baseline.txt | 2 +- .../cmake/vcpkg_find_acquire_program.cmake | 30 ++++++++++++++----- 7 files changed, 39 insertions(+), 22 deletions(-) diff --git a/ports/duktape/CMakeLists.txt b/ports/duktape/CMakeLists.txt index ebf2f32d8c..56303d3d96 100644 --- a/ports/duktape/CMakeLists.txt +++ b/ports/duktape/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.14) +cmake_minimum_required(VERSION 3.13) set(duktape_MAJOR_VERSION 2) diff --git a/ports/duktape/CONTROL b/ports/duktape/CONTROL index 8311a60a06..64dcff2b2f 100644 --- a/ports/duktape/CONTROL +++ b/ports/duktape/CONTROL @@ -1,4 +1,4 @@ -Source: duktape -Version: 2.4.0-6 -Homepage: https://github.com/svaarala/duktape -Description: Embeddable Javascript engine with a focus on portability and compact footprint. +Source: duktape +Version: 2.4.0-7 +Homepage: https://github.com/svaarala/duktape +Description: Embeddable Javascript engine with a focus on portability and compact footprint. diff --git a/ports/duktape/portfile.cmake b/ports/duktape/portfile.cmake index 477c76c35c..7647d0fc45 100644 --- a/ports/duktape/portfile.cmake +++ b/ports/duktape/portfile.cmake @@ -1,6 +1,4 @@ -include(vcpkg_common_functions) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +if(VCPKG_TARGET_IS_LINUX) message("${PORT} currently requires the following tools from the system package manager:\n python-yaml\n\nThis can be installed on Ubuntu systems via apt-get install python-yaml PYTHON2-yaml (depending on your current python default interpreter)") endif() @@ -16,7 +14,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/duktapeConfig.cmake.in DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -if(VCPKG_TARGET_IS_WINDOWS) +if (VCPKG_TARGET_IS_WINDOWS) set(EXECUTABLE_SUFFIX ".exe") set(PYTHON_OPTION "") else() @@ -27,6 +25,7 @@ endif() vcpkg_find_acquire_program(PYTHON2) get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) vcpkg_add_to_path("${PYTHON2_DIR}") + if(NOT EXISTS ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX}) if(NOT EXISTS ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX}) vcpkg_from_github( @@ -43,7 +42,11 @@ else() execute_process(COMMAND ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX} pyyaml) endif() -execute_process(COMMAND ${PYTHON2} ${SOURCE_PATH}/tools/configure.py --source-directory ${SOURCE_PATH}/src-input --output-directory ${SOURCE_PATH}/src --config-metadata ${SOURCE_PATH}/config -DDUK_USE_FASTINT) +vcpkg_execute_required_process( + COMMAND ${PYTHON2} tools/configure.py --source-directory src-input --output-directory src --config-metadata config -DDUK_USE_FASTINT + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME pre-configure +) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(DUK_CONFIG_H_PATH "${SOURCE_PATH}/src/duk_config.h") @@ -63,6 +66,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/shiva/CONTROL b/ports/shiva/CONTROL index 0ce81203de..2c235fd632 100644 --- a/ports/shiva/CONTROL +++ b/ports/shiva/CONTROL @@ -1,4 +1,5 @@ Source: shiva -Version: 1.0-2 +Version: 1.0-3 +Homepage: https://github.com/Milerius/shiva Description: Modern C++ Game Engine Build-Depends: boost-stacktrace, boost-filesystem, boost-dll, entt, lua, luafilesystem (windows), sol2, pybind11, spdlog, nlohmann-json diff --git a/ports/shiva/portfile.cmake b/ports/shiva/portfile.cmake index 372c318e00..72beec0e05 100644 --- a/ports/shiva/portfile.cmake +++ b/ports/shiva/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_find_acquire_program(PYTHON2) vcpkg_from_github( diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index b658bcea37..99f9bceb08 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1564,11 +1564,11 @@ sfgui:x64-linux=ignore sfml:arm64-windows=fail shapelib:arm-uwp=fail shapelib:x64-uwp=fail -shiva:x64-windows=fail shiva:x64-windows-static=fail shiva-sfml:x64-linux=fail shiva-sfml:x64-osx=fail shiva-sfml:x86-windows=fail +shiva-sfml:x64-windows=fail shogun:arm64-windows = skip shogun:arm-uwp = skip shogun:x64-osx=fail diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index cb17ece21b..a525dbc117 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -93,11 +93,18 @@ function(vcpkg_find_acquire_program VAR) elseif(VAR MATCHES "PYTHON3") if(CMAKE_HOST_WIN32) set(PROGNAME python) - set(SUBDIR "python-3.7.3") + if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + set(SUBDIR "python-3.7.3-x86") + set(URL "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-win32.zip") + set(ARCHIVE "python-3.7.3-embed-win32.zip") + set(HASH 2c1b1f0a29d40a91771ae21a5f733eedc10984cd182cb10c2793bbd24191a89f20612a3f23c34047f37fb06369016bfd4a52915ed1b4a56f8bd2b4ca6994eb31) + else() + set(SUBDIR "python-3.7.3-x64") + set(URL "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-amd64.zip") + set(ARCHIVE "python-3.7.3-embed-amd64.zip") + set(HASH 4b3e0067b5e8d00b1cac5d556ab4fbd71df2a1852afb3354ee62363aabc8801aca84da09dbd26125527ae54b50488f808c1d82abf18969c23a51dcd57576885f) + endif() set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) - set(URL "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-win32.zip") - set(ARCHIVE "python-3.7.3-embed-win32.zip") - set(HASH 2c1b1f0a29d40a91771ae21a5f733eedc10984cd182cb10c2793bbd24191a89f20612a3f23c34047f37fb06369016bfd4a52915ed1b4a56f8bd2b4ca6994eb31) set(POST_INSTALL_COMMAND ${CMAKE_COMMAND} -E remove python37._pth) else() set(PROGNAME python3) @@ -107,11 +114,18 @@ function(vcpkg_find_acquire_program VAR) elseif(VAR MATCHES "PYTHON2") if(CMAKE_HOST_WIN32) set(PROGNAME python) - set(SUBDIR "python2") + if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + set(SUBDIR "python-2.7.16-x86") + set(URL "https://www.python.org/ftp/python/2.7.16/python-2.7.16.msi") + set(ARCHIVE "python-2.7.16.msi") + set(HASH c34a6fa2438682104dccb53650a2bdb79eac7996deff075201a0f71bb835d60d3ed866652a1931f15a29510fe8e1009ac04e423b285122d2e5747fefc4c10254) + else() + set(SUBDIR "python-2.7.16-x64") + set(URL "https://www.python.org/ftp/python/2.7.16/python-2.7.16.amd64.msi") + set(ARCHIVE "python-2.7.16.amd64.msi") + set(HASH 47c1518d1da939e3ba6722c54747778b93a44c525bcb358b253c23b2510374a49a43739c8d0454cedade858f54efa6319763ba33316fdc721305bc457efe4ffb) + endif() set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) - set(URL "https://www.python.org/ftp/python/2.7.16/python-2.7.16.msi") - set(ARCHIVE "python-2.7.16.msi") - set(HASH c34a6fa2438682104dccb53650a2bdb79eac7996deff075201a0f71bb835d60d3ed866652a1931f15a29510fe8e1009ac04e423b285122d2e5747fefc4c10254) else() set(PROGNAME python2) set(BREW_PACKAGE_NAME "python2") From 0591528cbfde14ccfd3900c3fb19aba382c05349 Mon Sep 17 00:00:00 2001 From: Lily <47812810+LilyWangL@users.noreply.github.com> Date: Wed, 5 Feb 2020 05:32:09 +0800 Subject: [PATCH 104/111] [halide] Fix can't be found by cmake. (#8803) * [halide] Fix can't be found by cmake. * Remove include(vcpkg_common_functions) --- ports/halide/CONTROL | 2 +- ports/halide/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/halide/CONTROL b/ports/halide/CONTROL index 68360baf8d..7ad30fb6d9 100644 --- a/ports/halide/CONTROL +++ b/ports/halide/CONTROL @@ -1,5 +1,5 @@ Source: halide -Version: release_2019_08_27 +Version: release_2019_08_27-1 Homepage: https://github.com/halide/Halide Description: Halide is a programming language designed to make it easier to write high-performance image processing code on modern machines. Build-Depends: llvm, openblas diff --git a/ports/halide/portfile.cmake b/ports/halide/portfile.cmake index be59c06af6..058610ad50 100644 --- a/ports/halide/portfile.cmake +++ b/ports/halide/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO halide/Halide @@ -69,5 +67,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share/halide) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/halide_config.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/halide-config.cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/halide_config.make ${CURRENT_PACKAGES_DIR}/share/${PORT}/halide-config.make) file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From ed863b163c1909bdc33587174f6bb8e9cb170310 Mon Sep 17 00:00:00 2001 From: Oliver John Hitchcock Date: Tue, 4 Feb 2020 22:10:03 +0000 Subject: [PATCH 105/111] [EAThread][EASTL] Added EAThread and modified EASTL (#8861) * [EAThread][EASTL] Added EAThread and modified EASTL EABase has now also been seperated from EASTL. EASTL now copies CommonCppFlags.cmake as it is used by EAThread. * Fix EABase * Fix EABASE include for EASTL * Improve EASTL Still need to fix The /debug/lib/cmake folder should be merged with /lib/cmake into /share/eastl Found 3 error(s). Please correct the portfile: E:\vcpkg\ports\eastl\portfile.cmake -- Performing post-build validation done Error: Building package eastl:x64-windows-static failed with: POST_BUILD_CHECKS_FAILED Please ensure you're using the latest portfiles with `.\vcpkg update`, then submit an issue at https://github.com/Microsoft/vcpkg/issues including: Package: eastl:x64-windows-static Vcpkg version: 2019.09.12-nohash * Base pass one Thread * Fix config errors and add `vcpkg_fixup_cmake_targets` * Add required changes for fails * x86-windows should also fail * Revert adding `vcpkg_fail_port_install(ON_TARGET "Windows" ...)` * Remove `eastl:arm64-windows=fail` from ci.baseline.txt * Merge CONTROL descriptions into one line --- ports/eabase/CONTROL | 4 ++ ports/eabase/EABaseConfig.cmake.in | 6 +++ ports/eabase/fix_cmake_install.patch | 75 ++++++++++++++++++++++++++ ports/eabase/portfile.cmake | 30 +++++++++++ ports/eastl/CONTROL | 6 +-- ports/eastl/EASTLConfig.cmake.in | 6 +++ ports/eastl/fix_cmake_install.patch | 70 ++++++++++++++++++++---- ports/eastl/fix_uwp.patch | 13 ----- ports/eastl/portfile.cmake | 29 ++++------ ports/eathread/CONTROL | 5 ++ ports/eathread/EAThreadConfig.cmake.in | 6 +++ ports/eathread/fix_cmake_install.patch | 75 ++++++++++++++++++++++++++ ports/eathread/portfile.cmake | 33 ++++++++++++ scripts/ci.baseline.txt | 5 +- 14 files changed, 318 insertions(+), 45 deletions(-) create mode 100644 ports/eabase/CONTROL create mode 100644 ports/eabase/EABaseConfig.cmake.in create mode 100644 ports/eabase/fix_cmake_install.patch create mode 100644 ports/eabase/portfile.cmake create mode 100644 ports/eastl/EASTLConfig.cmake.in delete mode 100644 ports/eastl/fix_uwp.patch create mode 100644 ports/eathread/CONTROL create mode 100644 ports/eathread/EAThreadConfig.cmake.in create mode 100644 ports/eathread/fix_cmake_install.patch create mode 100644 ports/eathread/portfile.cmake diff --git a/ports/eabase/CONTROL b/ports/eabase/CONTROL new file mode 100644 index 0000000000..95c76477ed --- /dev/null +++ b/ports/eabase/CONTROL @@ -0,0 +1,4 @@ +Source: eabase +Version: 2.09.10 +Homepage: https://github.com/electronicarts/EABase +Description: Electronic Arts Base. EABase is a small set of header files that define platform-independent data types and macros. diff --git a/ports/eabase/EABaseConfig.cmake.in b/ports/eabase/EABaseConfig.cmake.in new file mode 100644 index 0000000000..afc9b104a0 --- /dev/null +++ b/ports/eabase/EABaseConfig.cmake.in @@ -0,0 +1,6 @@ +@PACKAGE_INIT@ + +# Provide path for scripts +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") + +include(${CMAKE_CURRENT_LIST_DIR}/EABaseTargets.cmake) \ No newline at end of file diff --git a/ports/eabase/fix_cmake_install.patch b/ports/eabase/fix_cmake_install.patch new file mode 100644 index 0000000000..2cd22690b4 --- /dev/null +++ b/ports/eabase/fix_cmake_install.patch @@ -0,0 +1,75 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 89c6703..ab8e553 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,6 +4,9 @@ + cmake_minimum_required(VERSION 3.1) + project(EABase CXX) + ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) ++ + #------------------------------------------------------------------------------------------- + # Options + #------------------------------------------------------------------------------------------- +@@ -22,13 +25,51 @@ endif() + add_definitions(-D_CHAR16T) + + if (NOT EABASE_BUILD_TESTS) +- #------------------------------------------------------------------------------------------- +- # Header only library +- #------------------------------------------------------------------------------------------- +- add_library(EABase INTERFACE) +- +- #------------------------------------------------------------------------------------------- +- # Include dirs +- #------------------------------------------------------------------------------------------- +- target_include_directories(EABase INTERFACE include/Common) ++ #------------------------------------------------------------------------------------------- ++ # Header only library ++ #------------------------------------------------------------------------------------------- ++ add_library(EABase INTERFACE) ++ add_library(EABase::EABase ALIAS EABase) ++ ++ #------------------------------------------------------------------------------------------- ++ # Include dirs ++ #------------------------------------------------------------------------------------------- ++ target_include_directories(EABase INTERFACE ++ $ ++ $ ++ ) ++ ++ # create and install an export set for eabase target as EABase::EABase ++ set(EABase_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EABase") ++ ++ configure_package_config_file( ++ EABaseConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/EABaseConfig.cmake ++ INSTALL_DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION} ++ ) ++ ++ # create and install an export set for Terra target as Terra ++ install( ++ TARGETS EABase EXPORT EABaseTargets ++ DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++ ++ ++ install(EXPORT EABaseTargets DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION}) ++ ++ write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfigVersion.cmake" ++ VERSION 2.09.10 ++ COMPATIBILITY SameMajorVersion ++ ) ++ ++ install(TARGETS EABase LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++ install(DIRECTORY "include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++ ++ install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/EABaseConfigVersion.cmake" ++ DESTINATION ${EABase_CMAKE_CONFIG_DESTINATION} ++ ) + endif() diff --git a/ports/eabase/portfile.cmake b/ports/eabase/portfile.cmake new file mode 100644 index 0000000000..1a70ad267f --- /dev/null +++ b/ports/eabase/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO electronicarts/EABase + REF edbafca82e4c4e73302e0b5144c5d1f4710db9fa + SHA512 fb9bd07602fb308864506737813212e47385a164708cd9064fdd4d1893294b228718a2964a0b16d04483f4f4c8a156f7199b60f227e4fc9ac88352f7dcd59672 + HEAD_REF master + PATCHES + fix_cmake_install.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/EABaseConfig.cmake.in DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DEABASE_BUILD_TESTS:BOOL=OFF +) +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EABase) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) + +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/eastl/CONTROL b/ports/eastl/CONTROL index 9a0c698db3..2cb7f00098 100644 --- a/ports/eastl/CONTROL +++ b/ports/eastl/CONTROL @@ -1,5 +1,5 @@ Source: eastl -Version: 3.14.01 +Version: 3.16.01 Homepage: https://github.com/electronicarts/EASTL -Description: Electronic Arts Standard Template Library. - It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations. +Description: Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations. +Build-Depends: eabase diff --git a/ports/eastl/EASTLConfig.cmake.in b/ports/eastl/EASTLConfig.cmake.in new file mode 100644 index 0000000000..6e1a8ea90d --- /dev/null +++ b/ports/eastl/EASTLConfig.cmake.in @@ -0,0 +1,6 @@ +@PACKAGE_INIT@ + +# Provide path for scripts +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") + +include(${CMAKE_CURRENT_LIST_DIR}/EASTLTargets.cmake) \ No newline at end of file diff --git a/ports/eastl/fix_cmake_install.patch b/ports/eastl/fix_cmake_install.patch index b67e26f128..3340adb1c3 100644 --- a/ports/eastl/fix_cmake_install.patch +++ b/ports/eastl/fix_cmake_install.patch @@ -1,19 +1,71 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index b8171cd..c771e77 100644 +index b8171cd..44120cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -41,6 +41,7 @@ add_definitions(-DEASTL_OPENSOURCE=1) +@@ -4,12 +4,17 @@ + cmake_minimum_required(VERSION 3.1) + project(EASTL CXX) + ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) ++ + #------------------------------------------------------------------------------------------- + # Options + #------------------------------------------------------------------------------------------- + option(EASTL_BUILD_BENCHMARK "Enable generation of build files for benchmark" OFF) + option(EASTL_BUILD_TESTS "Enable generation of build files for tests" OFF) + ++find_package(EABase CONFIG REQUIRED) ++ + #------------------------------------------------------------------------------------------- + # Compiler Flags + #------------------------------------------------------------------------------------------- +@@ -41,10 +46,46 @@ add_definitions(-DEASTL_OPENSOURCE=1) #------------------------------------------------------------------------------------------- # Include dirs #------------------------------------------------------------------------------------------- -+include_directories(APPEND test/packages) - target_include_directories(EASTL PUBLIC include) +-target_include_directories(EASTL PUBLIC include) ++target_include_directories(EASTL PUBLIC ++ $ ++ $ ++ ) #------------------------------------------------------------------------------------------- -@@ -48,3 +49,6 @@ target_include_directories(EASTL PUBLIC include) + # Dependencies #------------------------------------------------------------------------------------------- - target_link_libraries(EASTL EABase) +-target_link_libraries(EASTL EABase) ++target_link_libraries(EASTL PUBLIC EABase) ++ ++# create and install an export set for eabase target as EABase::EABase ++set(EASTL_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EASTL") ++ ++configure_package_config_file( ++ EASTLConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake ++ INSTALL_DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION} ++) ++ ++# create and install an export set for Terra target as Terra ++install( ++ TARGETS EASTL EXPORT EASTLTargets ++ DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) ++ ++ ++install(EXPORT EASTLTargets DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION}) ++ ++write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake" ++ VERSION 3.16.01 ++ COMPATIBILITY SameMajorVersion ++) ++ ++install(TARGETS EASTL LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++install(DIRECTORY "include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") -+install(TARGETS EASTL DESTINATION lib) -+install(DIRECTORY include/EASTL DESTINATION include) -+install(DIRECTORY test/packages/EABase DESTINATION include) ++install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake" ++ DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION} ++) diff --git a/ports/eastl/fix_uwp.patch b/ports/eastl/fix_uwp.patch deleted file mode 100644 index 4fd144a130..0000000000 --- a/ports/eastl/fix_uwp.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/Common/EABase/config/eaplatform.h b/include/Common/EABase/config/eaplatform.h -index 8b16146..54079ab 100644 ---- a/include/Common/EABase/config/eaplatform.h -+++ b/include/Common/EABase/config/eaplatform.h -@@ -125,7 +125,7 @@ - #endif - - --#elif defined(EA_PLATFORM_XBOXONE) || defined(_DURANGO) || defined(EA_PLATFORM_CAPILANO) || (defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES || WINAPI_FAMILY == WINAPI_FAMILY_TV_TITLE)) -+#elif defined(EA_PLATFORM_XBOXONE) || defined(_DURANGO) || defined(EA_PLATFORM_CAPILANO) || (defined(WINAPI_FAMILY) && WINAPI_FAMILY && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES || WINAPI_FAMILY == WINAPI_FAMILY_TV_TITLE)) - // XBox One - // Durango was Microsoft's code-name for the platform, which is now obsolete. - // Microsoft uses _DURANGO instead of some variation of _XBOX, though it's not natively defined by the compiler. diff --git a/ports/eastl/portfile.cmake b/ports/eastl/portfile.cmake index fcbe02f7e1..922fa2118b 100644 --- a/ports/eastl/portfile.cmake +++ b/ports/eastl/portfile.cmake @@ -1,30 +1,16 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO electronicarts/EABase - REF 6f27a2f7aa21f2d71ae8c6bc1d889d0119677a56 - SHA512 9176fb2d508cf023c3c16c61a511196a2f6af36172145544bba44062a00ca7591e54e4fc16ac13562ef0e2d629b626f398bff3669b4cdb7ba0068548d6a53883 - HEAD_REF master - PATCHES - fix_uwp.patch -) - -set(EABASE_PATH ${SOURCE_PATH}) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO electronicarts/EASTL - REF 3.14.01 - SHA512 efc03bdd4b6371b3fb4b75cac31ce3081290e9177453914a4fbb601d1ba44d65a86f2e98b7b27efbd985f37bd59a80169cf58beb3a32e5b3672ea2a2d6dd78d1 + REF 3.16.01 + SHA512 c5c4b6637da5257e6dbbccd293a07691d509bf1310a67aa8b85777a1163f0034874e0638728a54deaa0839320fd919b67a8c9e22461fee6612a76637bb3086bc HEAD_REF master PATCHES fix_cmake_install.patch ) -file(COPY ${EABASE_PATH}/include/Common/EABase/ DESTINATION ${SOURCE_PATH}/test/packages/EABase) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/EASTLConfig.cmake.in DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -36,10 +22,15 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EASTL) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/eastl RENAME copyright) -file(INSTALL ${SOURCE_PATH}/3RDPARTYLICENSES.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/eastl) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL ${SOURCE_PATH}/3RDPARTYLICENSES.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) + +# CommonCppFlags used by EAThread +file(INSTALL ${SOURCE_PATH}/scripts/CMake/CommonCppFlags.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/eathread/CONTROL b/ports/eathread/CONTROL new file mode 100644 index 0000000000..a0eb50176e --- /dev/null +++ b/ports/eathread/CONTROL @@ -0,0 +1,5 @@ +Source: eathread +Version: 1.32.09 +Homepage: https://github.com/electronicarts/EAThread +Description: Electronic Arts Thread Library. EAThread implements a unified cross-platform interface for multithreaded programming on various platforms. +Build-Depends: eabase, eastl diff --git a/ports/eathread/EAThreadConfig.cmake.in b/ports/eathread/EAThreadConfig.cmake.in new file mode 100644 index 0000000000..9ab444e5bb --- /dev/null +++ b/ports/eathread/EAThreadConfig.cmake.in @@ -0,0 +1,6 @@ +@PACKAGE_INIT@ + +# Provide path for scripts +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") + +include(${CMAKE_CURRENT_LIST_DIR}/EAThreadTargets.cmake) \ No newline at end of file diff --git a/ports/eathread/fix_cmake_install.patch b/ports/eathread/fix_cmake_install.patch new file mode 100644 index 0000000000..bc33279519 --- /dev/null +++ b/ports/eathread/fix_cmake_install.patch @@ -0,0 +1,75 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 34fc37a..60d201a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,15 +4,21 @@ + cmake_minimum_required(VERSION 3.1) + project(EAThread CXX) + ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) ++ + #------------------------------------------------------------------------------------------- + # Options + #------------------------------------------------------------------------------------------- + option(EATHREAD_BUILD_TESTS "Enable generation of build files for tests" OFF) + ++find_package(EABase CONFIG REQUIRED) ++find_package(EASTL CONFIG REQUIRED) ++ + #------------------------------------------------------------------------------------------- + # Compiler Flags + #------------------------------------------------------------------------------------------- +-set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/test/packages/EASTL/scripts/CMake") ++set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${_VCPKG_ROOT_DIR}/installed/${VCPKG_TARGET_TRIPLET}/share/eastl") + include(CommonCppFlags) + + #------------------------------------------------------------------------------------------- +@@ -34,10 +40,45 @@ add_definitions(-D_CRT_SECURE_NO_WARNINGS) + #------------------------------------------------------------------------------------------- + # Export Include Directories + #------------------------------------------------------------------------------------------- +-target_include_directories(EAThread PUBLIC include) ++target_include_directories(EAThread PUBLIC ++ $ ++ $ ++ ) + + #------------------------------------------------------------------------------------------- + # Package Dependencies + #------------------------------------------------------------------------------------------- +-target_link_libraries(EAThread EABase) ++target_link_libraries(EAThread PUBLIC EABase) ++ ++# create and install an export set for eabase target as EABase::EABase ++set(EAThread_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EAThread") ++ ++configure_package_config_file( ++ EAThreadConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/EAThreadConfig.cmake ++ INSTALL_DESTINATION ${EAThread_CMAKE_CONFIG_DESTINATION} ++) ++ ++# create and install an export set for Terra target as Terra ++install( ++ TARGETS EAThread EXPORT EAThreadTargets ++ DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) ++ ++install(EXPORT EAThreadTargets DESTINATION ${EAThread_CMAKE_CONFIG_DESTINATION}) ++ ++write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/EAThreadConfigVersion.cmake" ++ VERSION 3.16.01 ++ COMPATIBILITY SameMajorVersion ++) ++ ++install(TARGETS EAThread LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++install(DIRECTORY "include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + ++install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/EAThreadConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/EAThreadConfigVersion.cmake" ++ DESTINATION ${EAThread_CMAKE_CONFIG_DESTINATION} ++) diff --git a/ports/eathread/portfile.cmake b/ports/eathread/portfile.cmake new file mode 100644 index 0000000000..5c567140d6 --- /dev/null +++ b/ports/eathread/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm" "arm64") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO electronicarts/EAThread + REF e4367a36f2e55d10b2b994bfbae8edf21f15bafd + SHA512 cd5a2aa6cdfe6fa538067919aa49e5ecd901898e12929dc852068ce66efe386032eb1fe667ea7d9b7a3d73a7bef1d90a683c0b90b6fb0d6d9a27950b05c4ab6a + HEAD_REF master + PATCHES + fix_cmake_install.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/EAThreadConfig.cmake.in DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DEATHREAD_BUILD_TESTS=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EAThread) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/eathread RENAME copyright) +file(INSTALL ${SOURCE_PATH}/3RDPARTYLICENSES.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/eathread) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 99f9bceb08..640808d709 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -380,7 +380,6 @@ dxut:arm-uwp=fail dxut:x64-linux=fail dxut:x64-osx=fail dxut:x64-windows-static=fail -eastl:arm64-windows=fail eastl:arm-uwp=fail easyhook:arm64-windows=fail easyhook:arm-uwp=fail @@ -390,6 +389,10 @@ easyhook:x64-uwp=fail easyhook:x64-windows-static=fail easyloggingpp:arm-uwp=fail easyloggingpp:x64-uwp=fail +eathread:arm64-windows=fail +eathread:arm-uwp=fail +eathread:x64-uwp=fail +eathread:x86-windows=fail ebml:arm-uwp=fail ebml:x64-uwp=fail ecm:arm64-windows = skip From 09b6a74b43030ef8163079d0b2ae44bf7f3b26d1 Mon Sep 17 00:00:00 2001 From: Lily <47812810+LilyWangL@users.noreply.github.com> Date: Wed, 5 Feb 2020 06:11:19 +0800 Subject: [PATCH 106/111] [clblas] Fix build error (#8919) * [clblas] Fix build error * [clblas] Fix build error * Remove include(vcpkg_common_functions) --- ports/clblas/CONTROL | 2 +- ports/clblas/Fix-BuildDLL.patch | 16 ++++++++++++++++ ports/clblas/portfile.cmake | 6 +----- 3 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 ports/clblas/Fix-BuildDLL.patch diff --git a/ports/clblas/CONTROL b/ports/clblas/CONTROL index 3e8543409e..bd4d8a5527 100644 --- a/ports/clblas/CONTROL +++ b/ports/clblas/CONTROL @@ -1,4 +1,4 @@ Source: clblas -Version: 2.12-3 +Version: 2.12-4 Build-Depends: opencl Description: clBLAS is an OpenCL 1.2 accelerated BLAS (Basic Linear Algebra Subsystem) library. diff --git a/ports/clblas/Fix-BuildDLL.patch b/ports/clblas/Fix-BuildDLL.patch new file mode 100644 index 0000000000..f717c28dc4 --- /dev/null +++ b/ports/clblas/Fix-BuildDLL.patch @@ -0,0 +1,16 @@ +diff --git a/src/library/CMakeLists.txt b/src/library/CMakeLists.txt +index f2d5a88..8f84133 100644 +--- a/src/library/CMakeLists.txt ++++ b/src/library/CMakeLists.txt +@@ -910,11 +910,6 @@ endif( ) + + include( InstallRequiredSystemLibraries ) + +-# Install necessary runtime files for debug builds +-install( PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} +- CONFIGURATIONS Debug +- DESTINATION ${CLBLAS_RUNTIME_DESTINATION} ) +- + # Install all *.pdb files for debug builds + install( DIRECTORY ${PROJECT_BINARY_DIR}/staging/ + DESTINATION ${CLBLAS_RUNTIME_DESTINATION} diff --git a/ports/clblas/portfile.cmake b/ports/clblas/portfile.cmake index 97bd7c9367..eeeb71c3f7 100644 --- a/ports/clblas/portfile.cmake +++ b/ports/clblas/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO clMathLibraries/clBLAS @@ -8,6 +6,7 @@ vcpkg_from_github( HEAD_REF master PATCHES cmake.patch + Fix-BuildDLL.patch ) # v2.12 has a very old FindOpenCL.cmake using OPENCL_ vs. OpenCL_ var names @@ -37,9 +36,6 @@ if(VCPKG_TARGET_IS_WINDOWS) ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.exe ${CURRENT_PACKAGES_DIR}/bin/clBLAS-tune.exe - ${CURRENT_PACKAGES_DIR}/debug/bin/concrt140d.dll - ${CURRENT_PACKAGES_DIR}/debug/bin/msvcp140d.dll - ${CURRENT_PACKAGES_DIR}/debug/bin/vcruntime140d.dll ) endif() From f53110de25b8deb914fee654173456ff7bcb93b4 Mon Sep 17 00:00:00 2001 From: Hongxu Xu Date: Wed, 5 Feb 2020 06:14:45 +0800 Subject: [PATCH 107/111] [ICU] Upgrade ICU to 65.1 (#9122) * [ICU] Upgrade ICU to 65.1 * Fix wrong diff format. * Removed deprecated vcpkg_common_functions --- ports/icu/CONTROL | 2 +- ports/icu/fix-extra.patch | 13 ++++++++ ports/icu/fix_parallel_build_on_windows.patch | 32 +++++++++++++------ ports/icu/portfile.cmake | 15 +++++---- ports/icu/remove-MD-from-configure.patch | 8 ++--- 5 files changed, 48 insertions(+), 22 deletions(-) create mode 100644 ports/icu/fix-extra.patch diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL index 06d902e19b..cdbe80a394 100644 --- a/ports/icu/CONTROL +++ b/ports/icu/CONTROL @@ -1,5 +1,5 @@ Source: icu -Version: 61.1-8 +Version: 65.1-1 Homepage: http://icu-project.org/apiref/icu4c/ Description: Mature and widely used Unicode and localization library. Supports: !uwp \ No newline at end of file diff --git a/ports/icu/fix-extra.patch b/ports/icu/fix-extra.patch new file mode 100644 index 0000000000..935dfd7759 --- /dev/null +++ b/ports/icu/fix-extra.patch @@ -0,0 +1,13 @@ +diff --urN a/source/extra/Makefile.in b/source/extra/Makefile.in +--- a/source/extra/Makefile.in ++++ b/source/extra/Makefile.in +@@ -23,7 +23,7 @@ + ## Files to remove for 'make clean' + CLEANFILES = *~ + +-SUBDIRS = scrptrun uconv ++SUBDIRS = uconv + + ## List of phony targets + .PHONY : all all-local all-recursive install install-local \ + diff --git a/ports/icu/fix_parallel_build_on_windows.patch b/ports/icu/fix_parallel_build_on_windows.patch index b0ea7556c8..b3b42b4230 100644 --- a/ports/icu/fix_parallel_build_on_windows.patch +++ b/ports/icu/fix_parallel_build_on_windows.patch @@ -1,13 +1,25 @@ -diff --git a/source/data/Makefile.in b/source/data/Makefile.in -index 1140b69..936ef81 100644 +diff --urN a/source/data/Makefile.in b/source/data/Makefile.in --- a/source/data/Makefile.in +++ b/source/data/Makefile.in -@@ -514,7 +514,7 @@ build-dir: - # The | is an order-only prerequisite. This helps when the -j option is used, - # and we don't want the files to be built before the directories are built. - ifneq ($(filter order-only,$(.FEATURES)),) --$(ALL_FILES) $(ALL_INDEX_SRC_FILES): | build-dir -+$(ALL_FILES) $(ALL_INDEX_SRC_FILES) $(SO_VERSION_DATA): | build-dir +@@ -221,11 +221,12 @@ + ## Include the main build rules for data files + include $(top_builddir)/$(subdir)/rules.mk + ++PKGDATA_LIST = $(TMP_DIR)/icudata.lst + + ifeq ($(ENABLE_SO_VERSION_DATA),1) + ifeq ($(PKGDATA_MODE),dll) + SO_VERSION_DATA = $(OUTTMPDIR)/icudata.res +-$(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc ++$(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc $(PKGDATA_LIST) + ifeq ($(MSYS_RC_MODE),1) + rc.exe -i$(srcdir)/../common -i$(top_builddir)/common -fo$@ $(CPPFLAGS) $< + else +@@ -234,7 +235,6 @@ endif - - # Now, sections for building each kind of data. + endif + +-PKGDATA_LIST = $(TMP_DIR)/icudata.lst + + + ##################################################### diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake index 97c1d086be..ca205fbaec 100644 --- a/ports/icu/portfile.cmake +++ b/ports/icu/portfile.cmake @@ -2,17 +2,17 @@ if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() -include(vcpkg_common_functions) - -set(VERSION 61.1) -set(VERSION2 61_1) -set(ICU_VERSION_MAJOR 61) +set(ICU_VERSION_MAJOR 65) +set(ICU_VERSION_MINOR 1) +set(VERSION "${ICU_VERSION_MAJOR}.${ICU_VERSION_MINOR}") +set(VERSION2 "${ICU_VERSION_MAJOR}_${ICU_VERSION_MINOR}") +set(VERSION3 "${ICU_VERSION_MAJOR}-${ICU_VERSION_MINOR}") vcpkg_download_distfile( ARCHIVE - URLS "http://download.icu-project.org/files/icu4c/${VERSION}/icu4c-${VERSION2}-src.tgz" + URLS "https://github.com/unicode-org/icu/releases/download/release-${VERSION3}/icu4c-${VERSION2}-src.tgz" FILENAME "icu4c-${VERSION2}-src.tgz" - SHA512 4c37691246db802e4bae0c8c5f6ac1dac64c5753b607e539c5c1c36e361fcd9dd81bd1d3b5416c2960153b83700ccdb356412847d0506ab7782ae626ac0ffb94 + SHA512 8f1ef33e1f4abc9a8ee870331c59f01b473d6da1251a19ce403f822f3e3871096f0791855d39c8f20c612fc49cda2c62c06864aa32ddab2dbd186d2b21ce9139 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH @@ -21,6 +21,7 @@ vcpkg_extract_source_archive_ex( ${CMAKE_CURRENT_LIST_DIR}/disable-escapestr-tool.patch ${CMAKE_CURRENT_LIST_DIR}/remove-MD-from-configure.patch ${CMAKE_CURRENT_LIST_DIR}/fix_parallel_build_on_windows.patch + ${CMAKE_CURRENT_LIST_DIR}/fix-extra.patch ) set(CONFIGURE_OPTIONS "--disable-samples --disable-tests") diff --git a/ports/icu/remove-MD-from-configure.patch b/ports/icu/remove-MD-from-configure.patch index d35205ebf1..fe4782b344 100644 --- a/ports/icu/remove-MD-from-configure.patch +++ b/ports/icu/remove-MD-from-configure.patch @@ -7,12 +7,12 @@ diff -urN a/source/runConfigureICU b/source/runConfigureICU CXX=cl; export CXX - RELEASE_CFLAGS='-Gy -MD' - RELEASE_CXXFLAGS='-Gy -MD' -- DEBUG_CFLAGS='-Zi -MDd' -- DEBUG_CXXFLAGS='-Zi -MDd' +- DEBUG_CFLAGS='-FS -Zi -MDd' +- DEBUG_CXXFLAGS='-FS -Zi -MDd' + RELEASE_CFLAGS='-Gy' + RELEASE_CXXFLAGS='-Gy' -+ DEBUG_CFLAGS='-Zi' -+ DEBUG_CXXFLAGS='-Zi' ++ DEBUG_CFLAGS='-FS -Zi' ++ DEBUG_CXXFLAGS='-FS -Zi' DEBUG_LDFLAGS='-DEBUG' ;; *BSD) From d4c6627acd395878f10ad5459a0d0993bddf5993 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 5 Feb 2020 06:40:19 +0800 Subject: [PATCH 108/111] [curl] Set non-http as default feature (#9613) * [curl] Set non-http as default feature * [curl] rebuild code * [curl] Add error info, disable uwp build when selecting feature winssl,sspi,tool * [curl] Remove deprecated function * [curl] Fix openssl dependency check in config.cmake --- ports/curl/0008_fix_tools_path.patch | 13 ++ ports/curl/0009_fix_openssl_config.patch | 12 ++ ports/curl/CONTROL | 4 +- ports/curl/portfile.cmake | 171 +++++------------------ 4 files changed, 65 insertions(+), 135 deletions(-) create mode 100644 ports/curl/0008_fix_tools_path.patch create mode 100644 ports/curl/0009_fix_openssl_config.patch diff --git a/ports/curl/0008_fix_tools_path.patch b/ports/curl/0008_fix_tools_path.patch new file mode 100644 index 0000000000..cac2688647 --- /dev/null +++ b/ports/curl/0008_fix_tools_path.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 0e567e7..697dfea 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -71,7 +71,7 @@ target_link_libraries(${EXE_NAME} libcurl ${CURL_LIBS} ZLIB::ZLIB) + + #INCLUDE(ModuleInstall OPTIONAL) + +-install(TARGETS ${EXE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(TARGETS ${EXE_NAME} DESTINATION tools) + #export(TARGETS ${EXE_NAME} + # APPEND FILE ${PROJECT_BINARY_DIR}/curl-target.cmake + # NAMESPACE CURL:: diff --git a/ports/curl/0009_fix_openssl_config.patch b/ports/curl/0009_fix_openssl_config.patch new file mode 100644 index 0000000000..0e89ba178c --- /dev/null +++ b/ports/curl/0009_fix_openssl_config.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 42e490a..ec9e4d1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -348,6 +348,7 @@ if(CMAKE_USE_SECTRANSP) + list(APPEND CURL_LIBS "${COREFOUNDATION_FRAMEWORK}" "${SECURITY_FRAMEWORK}") + endif() + ++set(USE_OPENSSL OFF) + if(CMAKE_USE_OPENSSL) + find_package(OpenSSL REQUIRED) + set(SSL_ENABLED ON) diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 90e91c95a3..6a6060bbae 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,9 +1,9 @@ Source: curl -Version: 7.68.0 +Version: 7.68.0-1 Build-Depends: zlib Homepage: https://github.com/curl/curl Description: A library for transferring data with URLs -Default-Features: ssl +Default-Features: ssl, non-http Feature: tool Description: Builds curl executable diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 17e6817b12..3aa78a5cd0 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -1,5 +1,3 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO curl/curl @@ -14,88 +12,47 @@ vcpkg_from_github( 0005_remove_imp_suffix.patch 0006_fix_tool_depends.patch 0007_disable_tool_export_curl_target.patch + 0008_fix_tools_path.patch + 0009_fix_openssl_config.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CURL_STATICLIB) -# Support HTTP2 TLS Download https://curl.haxx.se/ca/cacert.pem rename to curl-ca-bundle.crt, copy it to libcurl.dll location. -set(HTTP2_OPTIONS) -if("http2" IN_LIST FEATURES) - set(HTTP2_OPTIONS -DUSE_NGHTTP2=ON) +# winssl will enable sspi, but sspi do not support uwp +if(("winssl" IN_LIST FEATURES OR "sspi" IN_LIST FEATURES OR "tool" IN_LIST FEATURES) AND (NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)) + message(FATAL_ERROR "winssl,sspi,tool are not supported on non-Windows and uwp platforms") endif() -# SSL -set(USE_OPENSSL OFF) -if("openssl" IN_LIST FEATURES) - set(USE_OPENSSL ON) +if("sectransp" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_OSX) + message(FATAL_ERROR "sectransp is not supported on non-Apple platforms") endif() -set(USE_WINSSL OFF) -if("winssl" IN_LIST FEATURES) - if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "winssl is not supported on non-Windows platforms") - endif() - set(USE_WINSSL ON) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + # Support HTTP2 TLS Download https://curl.haxx.se/ca/cacert.pem rename to curl-ca-bundle.crt, copy it to libcurl.dll location. + http2 USE_NGHTTP2 + openssl CMAKE_USE_OPENSSL + mbedtls CMAKE_USE_MBEDTLS + ssh CMAKE_USE_LIBSSH2 + tool BUILD_CURL_EXE + c-ares ENABLE_ARES + sspi CURL_WINDOWS_SSPI + brotli CURL_BROTLI + winssl CMAKE_USE_WINSSL + sectransp CMAKE_USE_SECTRANSP + + INVERTED_FEATURES + non-http HTTP_ONLY +) -set(USE_MBEDTLS OFF) -if("mbedtls" IN_LIST FEATURES) - set(USE_MBEDTLS ON) -endif() - -set(USE_SECTRANSP OFF) set(SECTRANSP_OPTIONS) if("sectransp" IN_LIST FEATURES) - if(NOT VCPKG_CMAKE_SYSTEM_NAME OR (VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")) - message(FATAL_ERROR "sectransp is not supported on non-Apple platforms") - endif() - set(USE_SECTRANSP ON) - set(SECTRANSP_OPTIONS - -DCURL_CA_PATH=none - ) -endif() - - -# SSH -set(USE_LIBSSH2 OFF) -if("ssh" IN_LIST FEATURES) - set(USE_LIBSSH2 ON) -endif() - -# HTTP/HTTPS only -# Note that `HTTP_ONLY` curl option disables everything including HTTPS, which is not an option. -set(USE_HTTP_ONLY ON) -if("non-http" IN_LIST FEATURES) - set(USE_HTTP_ONLY OFF) -endif() - -# curl exe -set(BUILD_CURL_EXE OFF) -if("tool" IN_LIST FEATURES) - set(BUILD_CURL_EXE ON) -endif() - -# c-ares -set(USE_ARES OFF) -if("c-ares" IN_LIST FEATURES) - set(USE_ARES ON) -endif() - -# SSPI -set(USE_WINDOWS_SSPI OFF) -if("sspi" IN_LIST FEATURES) - set(USE_WINDOWS_SSPI ON) -endif() - -# brotli -set(HAVE_BROTLI OFF) -if("brotli" IN_LIST FEATURES) - set(HAVE_BROTLI ON) + set(SECTRANSP_OPTIONS -DCURL_CA_PATH=none) endif() # UWP targets set(UWP_OPTIONS) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_TARGET_IS_UWP) set(UWP_OPTIONS -DUSE_WIN32_LDAP=OFF -DCURL_DISABLE_TELNET=ON @@ -107,86 +64,37 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS ${FEATURE_OPTIONS} ${UWP_OPTIONS} ${SECTRANSP_OPTIONS} - ${HTTP2_OPTIONS} -DBUILD_TESTING=OFF - -DBUILD_CURL_EXE=${BUILD_CURL_EXE} -DENABLE_MANUAL=OFF -DCURL_STATICLIB=${CURL_STATICLIB} - -DCMAKE_USE_OPENSSL=${USE_OPENSSL} - -DCMAKE_USE_WINSSL=${USE_WINSSL} - -DCMAKE_USE_MBEDTLS=${USE_MBEDTLS} - -DCMAKE_USE_SECTRANSP=${USE_SECTRANSP} - -DCMAKE_USE_LIBSSH2=${USE_LIBSSH2} - -DHTTP_ONLY=${USE_HTTP_ONLY} - -DENABLE_ARES=${USE_ARES} - -DCURL_WINDOWS_SSPI=${USE_WINDOWS_SSPI} - -DCURL_BROTLI=${HAVE_BROTLI} -DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON - OPTIONS_RELEASE - -DBUILD_CURL_EXE=${BUILD_CURL_EXE} - OPTIONS_DEBUG - -DBUILD_CURL_EXE=OFF -DENABLE_DEBUG=ON ) vcpkg_install_cmake() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/CURL) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/CURL) -elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/curl) - vcpkg_fixup_cmake_targets() -else() - message(FATAL_ERROR "Could not locate the curl config files") -endif() +vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/curl RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# the native CMAKE_EXECUTABLE_SUFFIX does not work in portfiles, so emulate it -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # Windows - set(EXECUTABLE_SUFFIX ".exe") -else() - set(EXECUTABLE_SUFFIX "") -endif() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/curl${EXECUTABLE_SUFFIX}") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/curl") - file(RENAME "${CURRENT_PACKAGES_DIR}/bin/curl${EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/curl/curl${EXECUTABLE_SUFFIX}") +if ("tool" IN_LIST FEATURES) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/curl) - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(READ "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" RELEASE_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/bin/curl${EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/curl/curl${EXECUTABLE_SUFFIX}" RELEASE_MODULE "${RELEASE_MODULE}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" "${RELEASE_MODULE}") - endif() endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libcurl_imp.lib OR EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d_imp.lib) - # Because vcpkg only ever installs one or the other, there is no need to have the libraries be different names. - # Using the same name improves compatibility, because downstream projects can always rely on "libcurl.lib" - message(FATAL_ERROR "Curl's import library name should be consistent with the static library name.") -endif() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/CURL) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) else() + file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/curl-config DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/curl-config ${CURRENT_PACKAGES_DIR}/debug/bin/curl-config) - - file(GLOB FILES LIST_DIRECTORIES TRUE ${CURRENT_PACKAGES_DIR}/bin/*) - if (FILES STREQUAL "") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - endif() - - file(GLOB FILES LIST_DIRECTORIES TRUE ${CURRENT_PACKAGES_DIR}/debug/bin/*) - if (FILES STREQUAL "") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) - endif() + #Fix install path + file(READ ${CURRENT_PACKAGES_DIR}/share/${PORT}/curl-config CURL_CONFIG) + string(REPLACE "${CURRENT_PACKAGES_DIR}" "${CURRENT_INSTALLED_DIR}" CURL_CONFIG "${CURL_CONFIG}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/curl-config "${CURL_CONFIG}") endif() file(READ ${CURRENT_PACKAGES_DIR}/include/curl/curl.h CURL_H) @@ -197,8 +105,5 @@ else() endif() file(WRITE ${CURRENT_PACKAGES_DIR}/include/curl/curl.h "${CURL_H}") -file(INSTALL ${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/curl) - -vcpkg_copy_pdbs() - -vcpkg_test_cmake(PACKAGE_NAME CURL) +file(INSTALL ${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From d09f4faf526b33a8d938e653589ec1d726ef146f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 5 Feb 2020 06:46:24 +0800 Subject: [PATCH 109/111] [cppmicroservices] Fix find dependency gtest (#9886) * [cppmicroservices] Fix find dependency gtest * update baseline --- ports/cppmicroservices/CONTROL | 4 ++-- .../fix-dependency-gtest.patch | 24 +++++++++++++++++++ ports/cppmicroservices/portfile.cmake | 13 ++++++---- scripts/ci.baseline.txt | 2 -- 4 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 ports/cppmicroservices/fix-dependency-gtest.patch diff --git a/ports/cppmicroservices/CONTROL b/ports/cppmicroservices/CONTROL index 4ca4793f00..91748199f6 100644 --- a/ports/cppmicroservices/CONTROL +++ b/ports/cppmicroservices/CONTROL @@ -1,5 +1,5 @@ Source: cppmicroservices -Version: v3.4.0 +Version: 3.4.0-1 Homepage: https://github.com/CppMicroServices/CppMicroServices Description: An OSGi-like C++ dynamic module system and service registry - +Build-Depends: gtest \ No newline at end of file diff --git a/ports/cppmicroservices/fix-dependency-gtest.patch b/ports/cppmicroservices/fix-dependency-gtest.patch new file mode 100644 index 0000000000..9eb9459f10 --- /dev/null +++ b/ports/cppmicroservices/fix-dependency-gtest.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 136edff..9d29522 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -288,6 +288,10 @@ if(US_COMPILER_APPLE_CLANG OR US_COMPILER_CLANG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + endif() + ++# Dependency ++find_package(GTest CONFIG REQUIRED) ++link_libraries(GTest::gtest GTest::gmock) ++ + #----------------------------------------------------------------------------- + # Testing configuration + #----------------------------------------------------------------------------- +@@ -338,7 +342,7 @@ if(US_BUILD_TESTING) + endif() + + if(US_USE_SYSTEM_GTEST) +- find_package(GTest REQUIRED) ++ find_package(GTest CONFIG REQUIRED) + else() + # This keeps GTest CMake variables hidden from users unless they explicitly want to view/modify them. + us_cache_var(BUILD_GMOCK ON BOOL "Build GMock" ADVANCED FORCE) diff --git a/ports/cppmicroservices/portfile.cmake b/ports/cppmicroservices/portfile.cmake index c15e2eb8b1..47df1e14e6 100644 --- a/ports/cppmicroservices/portfile.cmake +++ b/ports/cppmicroservices/portfile.cmake @@ -4,7 +4,9 @@ vcpkg_from_github( REF b4d3d404df01d67dfd7fc36111bc5de50e1b89d6 # v3.4.0 SHA512 b4a55f7c86cae25e936a237108b82824458b123fa1c14d4e0218c72c444a6d7f0db8900409af321225ec818f5691894b01fd311c606463386e7ce8e81e3656c8 HEAD_REF development - PATCHES werror.patch + PATCHES + werror.patch + fix-dependency-gtest.patch ) vcpkg_configure_cmake( @@ -13,21 +15,22 @@ vcpkg_configure_cmake( OPTIONS -DTOOLS_INSTALL_DIR:STRING=tools/cppmicroservices -DAUXILIARY_INSTALL_DIR:STRING=share/cppmicroservices + -DUS_USE_SYSTEM_GTEST=TRUE ) vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppmicroservices RENAME copyright) vcpkg_fixup_cmake_targets() +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + # CppMicroServices uses a custom resource compiler to compile resources # the zipped resources are then appended to the target which cause the linker to crash # when compiling a static library if(NOT BUILD_SHARED_LIBS) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -endif() - +endif() \ No newline at end of file diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 640808d709..e23b384815 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -282,8 +282,6 @@ cppfs:x64-uwp=fail cppgraphqlgen:arm-uwp=fail cppgraphqlgen:x64-uwp=ignore cppkafka:x64-linux=ignore -cppmicroservices:x86-windows=fail -cppmicroservices:x64-windows=fail cppmicroservices:arm64-windows=fail cppmicroservices:arm-uwp=fail cppmicroservices:x64-uwp=fail From e9b976af70cb51e6510d76994e548de6c83c9de0 Mon Sep 17 00:00:00 2001 From: Stephen Kyne Date: Tue, 4 Feb 2020 23:47:15 +0100 Subject: [PATCH 110/111] [Portaudio] Disable debug logging by default (#9877) * Disable debug logging * Update version of port * Added in debug logging to debug builds only. Still removed from release * Simplified portfile --- ports/portaudio/CONTROL | 2 +- ports/portaudio/portfile.cmake | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ports/portaudio/CONTROL b/ports/portaudio/CONTROL index c6a562625c..e93f1a6c35 100644 --- a/ports/portaudio/CONTROL +++ b/ports/portaudio/CONTROL @@ -1,4 +1,4 @@ Source: portaudio -Version: 2019-11-5 +Version: 2020-02-02 Homepage: https://app.assembla.com/spaces/portaudio/wiki Description: PortAudio Portable Cross-platform Audio I/O API PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. Many applications use PortAudio for Audio I/O. \ No newline at end of file diff --git a/ports/portaudio/portfile.cmake b/ports/portaudio/portfile.cmake index 329e75b119..38c2bdabaa 100644 --- a/ports/portaudio/portfile.cmake +++ b/ports/portaudio/portfile.cmake @@ -13,12 +13,13 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DPA_USE_DS=ON + -DPA_USE_DS=ON -DPA_USE_WASAPI=ON -DPA_USE_WDMKS=ON -DPA_USE_WMME=ON - -DPA_ENABLE_DEBUG_OUTPUT:BOOL=ON -DPA_LIBNAME_ADD_SUFFIX=OFF + OPTIONS_DEBUG + -DPA_ENABLE_DEBUG_OUTPUT:BOOL=ON ) vcpkg_install_cmake() From d808514c9df44bb97d6eccff952bfe8ec4e156f7 Mon Sep 17 00:00:00 2001 From: angelmixu Date: Tue, 4 Feb 2020 23:49:41 +0100 Subject: [PATCH 111/111] [poco] bin and debug/bin directories should also be removed on macOS (#9798) * [poco] bin and debug/bin directories should also be removed on macOS * white space for rebuild * updated platform comparison --- ports/poco/CONTROL | 2 +- ports/poco/portfile.cmake | 2 +- ports/qt5-winextras/portfile.cmake | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/poco/CONTROL b/ports/poco/CONTROL index 9ea94f4961..be032c6de7 100644 --- a/ports/poco/CONTROL +++ b/ports/poco/CONTROL @@ -1,5 +1,5 @@ Source: poco -Version: 1.9.2-1 +Version: 1.9.2-2 Build-Depends: expat, libpq, pcre, sqlite3, zlib, libpng Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems. Homepage: https://github.com/pocoproject/poco diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake index 4e7995a49f..27eddc9825 100644 --- a/ports/poco/portfile.cmake +++ b/ports/poco/portfile.cmake @@ -121,7 +121,7 @@ endif() # -if (VCPKG_LIBRARY_LINKAGE STREQUAL static OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +if (VCPKG_LIBRARY_LINKAGE STREQUAL static OR VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) diff --git a/ports/qt5-winextras/portfile.cmake b/ports/qt5-winextras/portfile.cmake index 54153bed71..69c3adbb2e 100644 --- a/ports/qt5-winextras/portfile.cmake +++ b/ports/qt5-winextras/portfile.cmake @@ -2,4 +2,4 @@ if (NOT VCPKG_TARGET_IS_WINDOWS) message(FATAL_ERROR "qt5-winextras only support Windows.") endif() include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation() \ No newline at end of file +qt_submodule_installation()