diff options
87 files changed, 733 insertions, 171 deletions
diff --git a/ports/abseil/CMakeLists.txt b/ports/abseil/CMakeLists.txt index d98914e60..7235b95e2 100644 --- a/ports/abseil/CMakeLists.txt +++ b/ports/abseil/CMakeLists.txt @@ -60,7 +60,7 @@ endfunction() add_sublibrary(algorithm) add_sublibrary(base) -add_sublibrary(container) +add_sublibrary(container STATIC) add_sublibrary(debugging) add_sublibrary(hash) add_sublibrary(memory) @@ -74,7 +74,7 @@ add_sublibrary(types) add_sublibrary(utility) target_link_public_libraries(algorithm base meta) -target_link_public_libraries(container algorithm base memory) +target_link_public_libraries(container algorithm base memory time) target_link_public_libraries(debugging base) target_link_public_libraries(hash base) target_link_public_libraries(memory meta) diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL index e6a265d6b..c1cb755b4 100644 --- a/ports/abseil/CONTROL +++ b/ports/abseil/CONTROL @@ -1,5 +1,5 @@ Source: abseil
-Version: 2018-12-14
+Version: 2019-01-09-1
Description: an open-source collection designed to augment the C++ standard library.
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.
diff --git a/ports/abseil/portfile.cmake b/ports/abseil/portfile.cmake index 2e2488845..bd2e6a0d4 100644 --- a/ports/abseil/portfile.cmake +++ b/ports/abseil/portfile.cmake @@ -7,8 +7,8 @@ endif() vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO abseil/abseil-cpp
- REF 389ec3f906f018661a5308458d623d01f96d7b23 - SHA512 20d2cc8d23eb729607692d861049dccbd6b4af56fc4ed7733492348e3fe879d7acc6316f0d6e1c683f98188f028d460a40cab35667856cf334aa5f00fc830911
+ REF 018b4db1d73ec8238e6dc4b17fd9e1fd7468d0ed + SHA512 55cd4bc801a405c9197d4d9bdd906a3742f9f7ef04a70f6f8a41aa8d2f7f6b9c38501265a4a096a12840b2e48ac0bf93d348b6ba8dea05e0801ed4013941f5dd
HEAD_REF master
)
diff --git a/ports/angle/CMakeLists.txt b/ports/angle/CMakeLists.txt index d553c9dbb..2616b4d48 100644 --- a/ports/angle/CMakeLists.txt +++ b/ports/angle/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8)
-project(angle CXX)
+project(angle)
if(WIN32 AND NOT WINDOWS_STORE)
set(WINDOWS_DESKTOP 1)
@@ -45,13 +45,22 @@ include_directories(include src ${CMAKE_CURRENT_BINARY_DIR}/include) ##########
# angle::common
if(WINDOWS_ANY)
- set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac")
+ set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_mac|_posix")
elseif(LINUX)
set(ANGLE_COMMON_PLATFORM_FILTER "_win|_mac")
elseif(APPLE)
set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_win")
endif()
-file(GLOB ANGLE_COMMON_SOURCES "src/common/*.h" "src/common/*.inl" "src/common/*.cpp" "src/common/third_party/base/*.h")
+file(GLOB ANGLE_COMMON_SOURCES
+ "src/common/*.h"
+ "src/common/*.inl"
+ "src/common/*.cpp"
+ "src/common/third_party/smhasher/src/*.h"
+ "src/common/third_party/smhasher/src/*.cpp"
+ "src/common/third_party/xxhash/*.h"
+ "src/common/third_party/xxhash/*.c"
+ "src/common/third_party/base/anglebase/*.h"
+ "src/common/third_party/base/anglebase/*.cc")
list(FILTER ANGLE_COMMON_SOURCES EXCLUDE REGEX "_unittest|event_tracer|${ANGLE_COMMON_PLATFORM_FILTER}")
add_library(angle_common STATIC ${ANGLE_COMMON_SOURCES})
target_include_directories(angle_common PUBLIC src/common/third_party/base)
@@ -71,6 +80,10 @@ file(GLOB TRANSLATOR_SOURCES "src/compiler/translator/glslang.y"
"src/compiler/translator/*.h"
"src/compiler/translator/*.cpp"
+ "src/compiler/translator/tree_util/*.h"
+ "src/compiler/translator/tree_util/*.cpp"
+ "src/compiler/translator/tree_ops/*.h"
+ "src/compiler/translator/tree_ops/*.cpp"
"src/third_party/compiler/ArrayBoundsClamper.cpp"
)
add_library(angle_translator STATIC ${TRANSLATOR_SOURCES})
@@ -221,6 +234,7 @@ elseif(WINDOWS_DESKTOP) angle::renderer::d3d
angle::renderer::win32
angle::renderer::opengl
+ gdi32
)
else()
set(LIBANGLE_RENDERER_PLATFORM )
@@ -260,6 +274,7 @@ target_compile_definitions(libGLESv2 PRIVATE -DLIBGLESV2_IMPLEMENTATION
PUBLIC
-DGL_GLEXT_PROTOTYPES
+ -DGL_API=
-DGL_APICALL=
-DEGLAPI=
)
diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL index 46e3407e8..dc348c48d 100644 --- a/ports/angle/CONTROL +++ b/ports/angle/CONTROL @@ -1,5 +1,5 @@ Source: angle
-Version: 2017-06-14-8d471f-5
+Version: 2019-01-14-c2ee2cc
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.
Build-Depends: egl-registry
diff --git a/ports/angle/portfile.cmake b/ports/angle/portfile.cmake index e21aa83bc..16179fee7 100644 --- a/ports/angle/portfile.cmake +++ b/ports/angle/portfile.cmake @@ -1,5 +1,15 @@ include(vcpkg_common_functions)
+if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(ANGLE_CPU_BITNESS ANGLE_IS_32_BIT_CPU)
+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)
+else()
+ message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}")
+endif()
+
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
message(STATUS "ANGLE currently only supports being built as a dynamic library")
set(VCPKG_LIBRARY_LINKAGE dynamic)
@@ -12,9 +22,8 @@ endif() vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/angle
- REF 8d471f907d8d4ec1d46bc9366493bd76c11c1870
- SHA512 b4670caeeaa5d662bc82702eb5f620123812ea6b5d82f57a65df54ae25cdaa5c9ff0fdb592448b07569d9c09af3d3c51b0b2f135c5800d1845b425009656bf18
- HEAD_REF master
+ REF chromium/3672
+ SHA512 dd6a05f0f1f4544b8646c41ffcb4d5e3b41f5261771ada47889345a24d4e55e6370df55a26c354a7073efcde307644cec6c6064ea6fe498ed6b52c3017249f81
)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
@@ -28,6 +37,8 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1
+ OPTIONS
+ -D${ANGLE_CPU_BITNESS}=1
)
vcpkg_install_cmake()
diff --git a/ports/autobahn/CONTROL b/ports/autobahn/CONTROL new file mode 100644 index 000000000..7a08d9f96 --- /dev/null +++ b/ports/autobahn/CONTROL @@ -0,0 +1,4 @@ +Source: autobahn +Version: 18.4.1 +Build-Depends: websocketpp, msgpack, boost-asio, boost-thread +Description: WAMP for C++ in Boost/Asio https://crossbar.io/autobahn diff --git a/ports/autobahn/portfile.cmake b/ports/autobahn/portfile.cmake new file mode 100644 index 000000000..ea7094187 --- /dev/null +++ b/ports/autobahn/portfile.cmake @@ -0,0 +1,30 @@ +#header-only library +include(vcpkg_common_functions) + +set(USE_UPSTREAM OFF) +if("upstream" IN_LIST FEATURES) + set(USE_UPSTREAM ON) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO crossbario/autobahn-cpp + REF v18.4.1 + SHA512 a3325e06731698a2c5d8c233581f275a9b653e98b74e7382f83fc62111dec9d66bbd5803cc71e8b5125ecee6d380d3cf1c6e83926e06912888201c2aa4ab7a15 + HEAD_REF master +) + +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/autobahn) + +# Copy the header files +file(COPY "${SOURCE_PATH}/autobahn" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.hpp") +file(COPY "${SOURCE_PATH}/autobahn" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.ipp") + +set(PACKAGE_INSTALL_INCLUDE_DIR "\${CMAKE_CURRENT_LIST_DIR}/../../include") +set(PACKAGE_INIT " +macro(set_and_check) + set(\${ARGV}) +endmacro() +") + +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/autobahn/copyright COPYONLY) diff --git a/ports/azure-c-shared-utility/CONTROL b/ports/azure-c-shared-utility/CONTROL index 51efe3f6f..2ca540258 100644 --- a/ports/azure-c-shared-utility/CONTROL +++ b/ports/azure-c-shared-utility/CONTROL @@ -2,3 +2,6 @@ Source: azure-c-shared-utility Version: 1.1.11-3 Description: Azure C SDKs common code Build-Depends: curl (linux), openssl (linux) + +Feature: public-preview +Description: Azure C SDKs common code (public preview) diff --git a/ports/azure-c-shared-utility/portfile.cmake b/ports/azure-c-shared-utility/portfile.cmake index cc4514dfe..408c996db 100644 --- a/ports/azure-c-shared-utility/portfile.cmake +++ b/ports/azure-c-shared-utility/portfile.cmake @@ -2,14 +2,25 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-c-shared-utility - REF 1d622902d7842f94193fc394987f2b4e978bb700 - SHA512 e7b3671955aeefe8e748bc68dd9f914fbb86c9cf325606691efc332cffa0d80b61f87d5f5c1026676c35fd1c5e88f22ca60f2e811c351aeba659f810fdc52e84 - HEAD_REF master - PATCHES no-double-expand-cmake.patch -) +if("public-preview" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-c-shared-utility + REF e885482ce32f1f77d29e85f7b8d35d74ffc69c74 + SHA512 329101cb2ff499aa16e1df736285e2fdd8c34549d4790eaafa1df763950c2b4a5927f52e93dbf22192b240fe0445050ad99133df0405227ffe9857ff2b25014d + HEAD_REF public-preview + PATCHES no-double-expand-cmake.patch + ) +else() + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-c-shared-utility + REF 1d622902d7842f94193fc394987f2b4e978bb700 + SHA512 e7b3671955aeefe8e748bc68dd9f914fbb86c9cf325606691efc332cffa0d80b61f87d5f5c1026676c35fd1c5e88f22ca60f2e811c351aeba659f810fdc52e84 + HEAD_REF master + PATCHES no-double-expand-cmake.patch + ) +endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/azure-iot-sdk-c/CONTROL b/ports/azure-iot-sdk-c/CONTROL index 0164d44a0..139e72eb1 100644 --- a/ports/azure-iot-sdk-c/CONTROL +++ b/ports/azure-iot-sdk-c/CONTROL @@ -2,3 +2,7 @@ Source: azure-iot-sdk-c Version: 1.2.12-1 Build-Depends: azure-uamqp-c, azure-umqtt-c, azure-c-shared-utility, parson Description: A C99 SDK for connecting devices to Microsoft Azure IoT services + +Feature: public-preview +Description: A version of the azure-iot-sdk-c containing public-preview features. +Build-Depends: azure-uamqp-c[public-preview], azure-umqtt-c[public-preview], azure-c-shared-utility[public-preview] diff --git a/ports/azure-iot-sdk-c/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake index 2b1ef492c..6008b0e71 100644 --- a/ports/azure-iot-sdk-c/portfile.cmake +++ b/ports/azure-iot-sdk-c/portfile.cmake @@ -2,14 +2,25 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-iot-sdk-c - REF 350b51f5abaedc975dae5419ad1fa4add7635fd2 - SHA512 7559768f7d1c67f6b28d16871c3c783e9f88d9dc4f9051a7a3c0329311d39821301edf64fcbde15a8e904c6d5a6326feee25be8e46cb657c21455ae920b266eb - HEAD_REF master - PATCHES improve-external-deps.patch -) +if("public-preview" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-iot-sdk-c + REF 74b03316ec90f1602c20ebeab67a3b4a61065d8e + SHA512 78ab8d7cd6e25886e41f98500cb8cd9609ca677426a882ed0364a908e5267ec6191bb15fd65fb2c420a108df41f52a8ba6d5e6d626874bbfae4f56e8af5ca428 + HEAD_REF public-preview + PATCHES improve-external-deps.patch + ) +else() + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-iot-sdk-c + REF 350b51f5abaedc975dae5419ad1fa4add7635fd2 + SHA512 7559768f7d1c67f6b28d16871c3c783e9f88d9dc4f9051a7a3c0329311d39821301edf64fcbde15a8e904c6d5a6326feee25be8e46cb657c21455ae920b266eb + HEAD_REF master + PATCHES improve-external-deps.patch + ) +endif() file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/) diff --git a/ports/azure-uamqp-c/CONTROL b/ports/azure-uamqp-c/CONTROL index 062c02bef..a903752ac 100644 --- a/ports/azure-uamqp-c/CONTROL +++ b/ports/azure-uamqp-c/CONTROL @@ -2,3 +2,7 @@ Source: azure-uamqp-c Version: 1.2.11-2 Build-Depends: azure-c-shared-utility Description: AMQP library for C + +Feature: public-preview +Description: AMQP library for C (public preview) +Build-Depends: azure-c-shared-utility[public-preview] diff --git a/ports/azure-uamqp-c/portfile.cmake b/ports/azure-uamqp-c/portfile.cmake index b7ee41625..4f4d33ee9 100644 --- a/ports/azure-uamqp-c/portfile.cmake +++ b/ports/azure-uamqp-c/portfile.cmake @@ -2,13 +2,23 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-uamqp-c - REF f29401ab5eb3853390d5f573d8fb37c0c96dba16 - SHA512 8fdee32e2a85218257ee91754873f9f8ae5e16cd2b7b10c88ab6d4115fe4378a2b08f211d8307346b0bd7688c4c896c25a4de34e9231c2506819a97bbf46dd73 - HEAD_REF master -) +if("public-preview" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-uamqp-c + REF bd7b85d0830634e3157da2411a6d060bf28f266e + SHA512 cbc2aa2765242ebe1a5e194e126f419cbd26edda5c1f72ffe9219a6c38b80aa91ef823a4fd8f78ac5d7ae0d9d471b50e5b8c4684e77c71b31e7cf35802e0cc17 + HEAD_REF public-preview + ) +else() + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-uamqp-c + REF f29401ab5eb3853390d5f573d8fb37c0c96dba16 + SHA512 8fdee32e2a85218257ee91754873f9f8ae5e16cd2b7b10c88ab6d4115fe4378a2b08f211d8307346b0bd7688c4c896c25a4de34e9231c2506819a97bbf46dd73 + HEAD_REF master + ) +endif() file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/) diff --git a/ports/azure-uhttp-c/CONTROL b/ports/azure-uhttp-c/CONTROL index e41543687..8a6857c3e 100644 --- a/ports/azure-uhttp-c/CONTROL +++ b/ports/azure-uhttp-c/CONTROL @@ -2,3 +2,7 @@ Source: azure-uhttp-c Version: 1.1.11-2 Build-Depends: azure-c-shared-utility Description: Azure HTTP Library written in C + +Feature: public-preview +Description: Azure HTTP Library written in C (public preview) +Build-Depends: azure-c-shared-utility[public-preview] diff --git a/ports/azure-uhttp-c/portfile.cmake b/ports/azure-uhttp-c/portfile.cmake index 64834510d..0ef272a12 100644 --- a/ports/azure-uhttp-c/portfile.cmake +++ b/ports/azure-uhttp-c/portfile.cmake @@ -2,13 +2,23 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-uhttp-c - REF 647ec7cc75961cd7ff7cbb7eca30e1de819802ed - SHA512 1768ea978ab7fa328b74444573c3d1eb2a5fae1e36dbe1dcc186df3e2ab2a0a3b1ba8a434934462184582525b3a1850fc04ca2927f95f0df0ae483f8a1673e30 - HEAD_REF master -) +if("public-preview" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-uhttp-c + REF e459385a811ce075f42aa7202db96ba1d1f55ac1 + SHA512 b96382184893b49f30ad75d4c19eeb48f7a7823e9d48f2896ee4760be20f2f5b5ee3e78e39f10ae26363165360e5871c3ba82aa9edf3943b9f0ef9c0e3036ea6 + HEAD_REF public-preview + ) +else() + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-uhttp-c + REF 647ec7cc75961cd7ff7cbb7eca30e1de819802ed + SHA512 1768ea978ab7fa328b74444573c3d1eb2a5fae1e36dbe1dcc186df3e2ab2a0a3b1ba8a434934462184582525b3a1850fc04ca2927f95f0df0ae483f8a1673e30 + HEAD_REF master + ) +endif() file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/c-utility/configs/) diff --git a/ports/azure-umqtt-c/CONTROL b/ports/azure-umqtt-c/CONTROL index 407844601..84359ff0c 100644 --- a/ports/azure-umqtt-c/CONTROL +++ b/ports/azure-umqtt-c/CONTROL @@ -2,3 +2,7 @@ Source: azure-umqtt-c Version: 1.1.11-2 Build-Depends: azure-c-shared-utility Description: General purpose library for communication over the mqtt protocol + +Feature: public-preview +Description: General purpose library for communication over the mqtt protocol (public preview) +Build-Depends: azure-c-shared-utility[public-preview] diff --git a/ports/azure-umqtt-c/portfile.cmake b/ports/azure-umqtt-c/portfile.cmake index 6bfb77f89..d03c24527 100644 --- a/ports/azure-umqtt-c/portfile.cmake +++ b/ports/azure-umqtt-c/portfile.cmake @@ -2,13 +2,23 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-umqtt-c - REF 3205eb26401e9c6639100934e8fb75b75275760d - SHA512 002c0d4f0373faeb7171465afce268f18b52d80ec057af36c81dd807de8ccf2bf1a46ef00c7f8e8fcdbef8d7f5c36616a304007c98ea5700c5f662b4c8868c2c - HEAD_REF master -) +if("public-preview" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-umqtt-c + REF 1b3a25f4f7f0edbe068e261e8a808d7bc394a358 + SHA512 00ff90eccfbb4febded7e819baa6303e97d3e7d6f6f8f1a28ebf353d7ad7ac5ec7f479e66456f395c7ece7fd6d612f3948ac656420bc0bc75566bdbb65fb88c3 + HEAD_REF public-preview + ) +else() + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-umqtt-c + REF 3205eb26401e9c6639100934e8fb75b75275760d + SHA512 002c0d4f0373faeb7171465afce268f18b52d80ec057af36c81dd807de8ccf2bf1a46ef00c7f8e8fcdbef8d7f5c36616a304007c98ea5700c5f662b4c8868c2c + HEAD_REF master + ) +endif() file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/c-utility/configs/) diff --git a/ports/chakracore/CONTROL b/ports/chakracore/CONTROL index 7277d6832..932988fe8 100644 --- a/ports/chakracore/CONTROL +++ b/ports/chakracore/CONTROL @@ -1,3 +1,3 @@ Source: chakracore -Version: 1.11.4 +Version: 1.11.5 Description: Core part of the Chakra Javascript engine diff --git a/ports/chakracore/portfile.cmake b/ports/chakracore/portfile.cmake index aff3cb1ca..c9cb48ac5 100644 --- a/ports/chakracore/portfile.cmake +++ b/ports/chakracore/portfile.cmake @@ -9,8 +9,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/ChakraCore - REF v1.11.4 - SHA512 903336fae63573991c539fd1652dd2a61c580845aca21253bce76efd884fb7d575c8bb1d91818112a6ba7c69cdcb1847175d9f09080cdc599c0afb3d36f474e2 + REF v1.11.5 + SHA512 502cf6a4370719c60648d1af370f9da54858df746fb851cb0d67588fef334757e89f8dbf7c097762b0b341d72fe6b511355fe84a2d37c22a114f58f4290d19ee HEAD_REF master ) diff --git a/ports/cimg/CONTROL b/ports/cimg/CONTROL index 8a04a83bf..5bd3ed7d7 100644 --- a/ports/cimg/CONTROL +++ b/ports/cimg/CONTROL @@ -1,3 +1,3 @@ Source: cimg -Version: 2.4.2 +Version: 2.4.4 Description: The CImg Library is a small, open-source, and modern C++ toolkit for image processing diff --git a/ports/cimg/portfile.cmake b/ports/cimg/portfile.cmake index 3baed452d..752f36b9f 100644 --- a/ports/cimg/portfile.cmake +++ b/ports/cimg/portfile.cmake @@ -2,9 +2,9 @@ include(vcpkg_common_functions) vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO "dtschump/CImg" - REF v.2.4.2 + REF v.2.4.4 HEAD_REF master - SHA512 dc27e7c0b06cd619c4270a91d830dbd3e0dfea851e04d7aab46fe9f2131e4b3717f73ac53bc4d70497ff2efe3bee1ae693e621d993cd63735d00368a362833f3) + SHA512 16106e6b225fa53f4d825a1c91a05fca27b7b9219126b4328aa74fc2bdead9f145445524f456d230cef18ea2e2fe39f9f725cdf78ed4556270af728be3aa80e8) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/cnl/CONTROL b/ports/cnl/CONTROL new file mode 100644 index 000000000..7aa93f60e --- /dev/null +++ b/ports/cnl/CONTROL @@ -0,0 +1,3 @@ +Source: cnl
+Version: 2019-01-09
+Description: A Compositional Numeric Library for C++
diff --git a/ports/cnl/portfile.cmake b/ports/cnl/portfile.cmake new file mode 100644 index 000000000..0eb23e1c9 --- /dev/null +++ b/ports/cnl/portfile.cmake @@ -0,0 +1,28 @@ +# header-only library
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO johnmcfarlane/cnl
+ REF 9f632898a4738b9e41de90e66d4f6ddb84bda08b
+ SHA512 ffde0b5aa58e79b5a03eee588c0e43d17ab2ddb2ffb12508f9d1b0e05aa54bb6c653986f183ce339e73c562efd749af6bd3907d816c9f79bf48f1e84ded3ac13
+ HEAD_REF develop
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME ${PORT})
diff --git a/ports/cppgraphqlgen/CONTROL b/ports/cppgraphqlgen/CONTROL index 5e51572cc..fcdc0fcaa 100644 --- a/ports/cppgraphqlgen/CONTROL +++ b/ports/cppgraphqlgen/CONTROL @@ -1,4 +1,4 @@ Source: cppgraphqlgen
-Version: 1.0.0
+Version: 1.0.3
Build-Depends: pegtl, rapidjson
Description: C++ GraphQL schema service generator
diff --git a/ports/cppgraphqlgen/portfile.cmake b/ports/cppgraphqlgen/portfile.cmake index 926a4ecd2..c6cad7d99 100644 --- a/ports/cppgraphqlgen/portfile.cmake +++ b/ports/cppgraphqlgen/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/cppgraphqlgen
- REF v1.0.0
- SHA512 3756c31063dc86d1c37d3cb709221b2b6e7dda5f3405d7586e4f395fd4915b1088c0305b116164c615846413042857fd688e61ef36c5c2aab218cfab8f16370c
+ REF v1.0.3
+ SHA512 136f17460d6a7ed3bd20e2be5f9326d2a4a039bc1a7a212155a31a5e165e0f1fd061638c3f77f22d6c3d4230e9a57563585ad29ef59eea355e1521b374ce1ce4
HEAD_REF master
)
diff --git a/ports/eastl/CONTROL b/ports/eastl/CONTROL index cb7704c8a..5159f18fc 100644 --- a/ports/eastl/CONTROL +++ b/ports/eastl/CONTROL @@ -1,4 +1,4 @@ Source: eastl
-Version: 3.12.07 +Version: 3.12.08 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.
diff --git a/ports/eastl/portfile.cmake b/ports/eastl/portfile.cmake index 4d61ff01f..b447f1d94 100644 --- a/ports/eastl/portfile.cmake +++ b/ports/eastl/portfile.cmake @@ -8,8 +8,8 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/eastl) vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO electronicarts/EASTL
- REF 3.12.07 - SHA512 d7ae29661ef8dbf13f9b8d195c5088992f23d3ca4751249385e8068f034dd687e178b2aac0f228b354e9019f0ea69f377a7b20aacb5d2b23a98b8032437f9f25
+ REF 3.12.08 + SHA512 8135831a16dcc662de04d8053560a40d2ca8e6b44c5b5b6ccabd7b30241ce299b90fc22ad001cefb8e2c81a6b59847157c6e488ce797ee96314a931df468f16a
HEAD_REF master
)
diff --git a/ports/exprtk/CONTROL b/ports/exprtk/CONTROL index 2ba795fa7..995b9165a 100644 --- a/ports/exprtk/CONTROL +++ b/ports/exprtk/CONTROL @@ -1,3 +1,3 @@ Source: exprtk -Version: 2018-12-14 +Version: 2019-01-09 Description: Simple to use, easy to integrate and extremely efficient run-time C++ mathematical expression parser and evaluation engine. diff --git a/ports/exprtk/portfile.cmake b/ports/exprtk/portfile.cmake index dea82b4d5..56cc29941 100644 --- a/ports/exprtk/portfile.cmake +++ b/ports/exprtk/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArashPartow/exprtk - REF d89d2f5f46fbd33372c81e8ad4b997fa84569fae - SHA512 bad42b83a0f1d8142ceafac862ec62dafc040fa8293bfbca29e49afdc8dca1000fc43537a5cf28d1dae00f5e86516899bd37f996975fbbccdd6a8298d1adb359 + REF e0e880c3797ea363d24782ba63fe362f7d94f89c + SHA512 bd367a07b5dc266f5e335204b256572f682595532be396c7617c7c72f370a49702ee8c073a93614463a3742efe65df9f3f509d6c16efe31a63a1e7b08f9c0b1a ) file(COPY ${SOURCE_PATH}/exprtk.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/fizz/CONTROL b/ports/fizz/CONTROL index 1267b81b9..9456fdb71 100644 --- a/ports/fizz/CONTROL +++ b/ports/fizz/CONTROL @@ -1,4 +1,4 @@ Source: fizz
-Version: 2018.10.15.00
-Build-Depends: folly, openssl, libsodium
+Version: 2019.01.14.00
+Build-Depends: folly, openssl, libsodium, zlib
Description: a TLS 1.3 implementation by Facebook
diff --git a/ports/fizz/depend-zlib.patch b/ports/fizz/depend-zlib.patch new file mode 100644 index 000000000..6e574b62e --- /dev/null +++ b/ports/fizz/depend-zlib.patch @@ -0,0 +1,20 @@ +diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt
+index ab3b48f..c84890e 100644
+--- a/fizz/CMakeLists.txt
++++ b/fizz/CMakeLists.txt
+@@ -35,6 +35,7 @@ endif()
+
+ find_package(Boost REQUIRED COMPONENTS system thread filesystem regex context)
+ find_package(OpenSSL REQUIRED)
++find_package(ZLIB REQUIRED)
+ find_package(Glog REQUIRED)
+ find_package(Gflags REQUIRED)
+ find_package(Libevent REQUIRED)
+@@ -169,6 +170,7 @@ target_link_libraries(fizz
+ ${FOLLY_LIBRARIES}
+ ${Boost_LIBRARIES}
+ ${OPENSSL_LIBRARIES}
++ ${ZLIB_LIBRARIES}
+ # Don't use the sodium target here because it will break clients that
+ # consume fizz's exported targets (fizz-targets.cmake) since the sodium
+ # target is not exported.
diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake index f1c140afa..add950fe3 100644 --- a/ports/fizz/portfile.cmake +++ b/ports/fizz/portfile.cmake @@ -5,9 +5,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebookincubator/fizz
- REF v2018.10.15.00
- SHA512 bf16050eebb8fa131927064a2467ee8cc20ba9a214cf232f38067afa9cb71414fa19ab1c65d7f2fb3e6dff651065aadeed02724fb4660fedb0c44da9073222c0
+ REF v2019.01.14.00
+ SHA512 9182e5e6eb795842fdc536adaae9aeae7ddd17a34776bda303015dbac95c95a1ceb42ea77c3b69c1018a9ea33bbd469fd23955ac7efcc2bfcc84e899c89b5981
HEAD_REF master
+ PATCHES depend-zlib.patch
)
# Prefer installed config files
diff --git a/ports/flatbuffers/CONTROL b/ports/flatbuffers/CONTROL index 9dc3a871f..f9f318630 100644 --- a/ports/flatbuffers/CONTROL +++ b/ports/flatbuffers/CONTROL @@ -1,4 +1,4 @@ Source: flatbuffers -Version: 1.9.0-3 +Version: 1.10.0 Description: Memory Efficient Serialization Library http://google.github.io/flatbuffers/ FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility. diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake index d98d5ce48..fe7704d8c 100644 --- a/ports/flatbuffers/portfile.cmake +++ b/ports/flatbuffers/portfile.cmake @@ -7,8 +7,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/flatbuffers - REF v1.9.0 - SHA512 0ba07dbe5b2fde1d0a6e14ee26ee2816062541d934eda204b846a30c019362f2626761b628c900293928b9b546dba8ca477c13182e022c3e0e0a142fd67f0696 + REF v1.10.0 + SHA512 b8382c8e9a45d6aca83270e93704b9ef2938e4ef9bb5165edbd8f286329e86353037ad6e54a99fd3d70b0c893d06cfd8766e00f05497e69be4b9e6c0506133d2 HEAD_REF master PATCHES ${CMAKE_CURRENT_LIST_DIR}/ignore_use_of_cmake_toolchain_file.patch diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL index 89862610c..eeffbb2a1 100644 --- a/ports/folly/CONTROL +++ b/ports/folly/CONTROL @@ -1,5 +1,5 @@ Source: folly -Version: 2018.12.10.00 +Version: 2019.01.07.00 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 Default-Features: zlib diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake index aab53792b..1303eca30 100644 --- a/ports/folly/portfile.cmake +++ b/ports/folly/portfile.cmake @@ -17,8 +17,8 @@ vcpkg_add_to_path("${PYTHON3_DIR}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/folly - REF v2018.12.10.00 - SHA512 d571c08f764a7670b8313336d52c02190d001085385ce92073823887fe435945a821f623b8009e846435e3461bed2dbc58427bd3960a90469461d38386bb76b9 + REF v2019.01.07.00 + SHA512 9f5d39947818315b9a951ec261fef3a69f52a380a29f74555b16a11a276cda168effb4026fc38a2dde31117485074e3aa496a7abb8d317ca7f3c667a54d4851e HEAD_REF master PATCHES find-gflags.patch diff --git a/ports/freetype/0004-Fix-macOS-defines.patch b/ports/freetype/0004-Fix-macOS-defines.patch new file mode 100644 index 000000000..92e676b52 --- /dev/null +++ b/ports/freetype/0004-Fix-macOS-defines.patch @@ -0,0 +1,23 @@ +--- a/CMakeLists.txt 2018-11-16 10:49:22.000000000 +0100 ++++ b/CMakeLists.txt 2018-11-16 10:50:26.000000000 +0100 +@@ -200,17 +200,17 @@ + FTCONFIG_H) + if (HAVE_UNISTD_H) + string(REGEX REPLACE +- "#undef +(HAVE_UNISTD_H)" "#define \\1" ++ "#undef +(HAVE_UNISTD_H)" "#define \\1 1" + FTCONFIG_H "${FTCONFIG_H}") + endif () + if (HAVE_FCNTL_H) + string(REGEX REPLACE +- "#undef +(HAVE_FCNTL_H)" "#define \\1" ++ "#undef +(HAVE_FCNTL_H)" "#define \\1 1" + FTCONFIG_H "${FTCONFIG_H}") + endif () + if (HAVE_STDINT_H) + string(REGEX REPLACE +- "#undef +(HAVE_STDINT_H)" "#define \\1" ++ "#undef +(HAVE_STDINT_H)" "#define \\1 1" + FTCONFIG_H "${FTCONFIG_H}") + endif () + string(REPLACE "/undef " "#undef " diff --git a/ports/freetype/CONTROL b/ports/freetype/CONTROL index 567cf9020..1052412b4 100644 --- a/ports/freetype/CONTROL +++ b/ports/freetype/CONTROL @@ -1,4 +1,4 @@ Source: freetype -Version: 2.8.1-3 +Version: 2.8.1-4 Build-Depends: zlib, bzip2, libpng Description: A library to render fonts. diff --git a/ports/freetype/portfile.cmake b/ports/freetype/portfile.cmake index d74c53220..e60f9ecb3 100644 --- a/ports/freetype/portfile.cmake +++ b/ports/freetype/portfile.cmake @@ -1,18 +1,20 @@ include(vcpkg_common_functions) + set(FT_VERSION 2.8.1) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/freetype-${FT_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://download-mirror.savannah.gnu.org/releases/freetype/freetype-${FT_VERSION}.tar.bz2" FILENAME "freetype-${FT_VERSION}.tar.bz2" SHA512 ca59e47f0fceeeb9b8032be2671072604d0c79094675df24187829c05e99757d0a48a0f8062d4d688e056f783aa8f6090d732ad116562e94784fccf1339eb823 ) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Support-Windows-DLLs-via-CMAKE_WINDOWS_EXPORT_ALL_SY.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-Add-CONFIG_INSTALL_PATH-option.patch - ${CMAKE_CURRENT_LIST_DIR}/0003-Fix-UWP.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${FT_VERSION} + PATCHES + 0001-Support-Windows-DLLs-via-CMAKE_WINDOWS_EXPORT_ALL_SY.patch + 0002-Add-CONFIG_INSTALL_PATH-option.patch + 0003-Fix-UWP.patch + 0004-Fix-macOS-defines.patch ) vcpkg_configure_cmake( diff --git a/ports/hpx/CONTROL b/ports/hpx/CONTROL index ff6801a42..253b3aaae 100644 --- a/ports/hpx/CONTROL +++ b/ports/hpx/CONTROL @@ -1,5 +1,5 @@ Source: hpx
-Version: 1.1.0-1
-Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-atomic, boost-bimap, boost-chrono, boost-config, boost-context, boost-date-time, boost-dynamic-bitset, boost-exception, boost-filesystem, boost-format, boost-iostreams, boost-lockfree, boost-parameter, boost-program-options, boost-range, boost-regex, boost-signals2, boost-smart-ptr, boost-spirit, boost-system, boost-thread, boost-throw-exception, boost-variant, boost-winapi
+Version: 1.2.0
+Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-atomic, 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-regex, boost-signals2, boost-smart-ptr, boost-spirit, boost-system, boost-throw-exception, boost-variant, boost-winapi
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 c200a6278..704d944fc 100644 --- a/ports/hpx/portfile.cmake +++ b/ports/hpx/portfile.cmake @@ -8,8 +8,8 @@ endif() vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO STEllAR-GROUP/hpx
- REF 1.1.0
- SHA512 435250143ddbd2608995fe3dc5c229a096312d7ac930925ae56d0abd2d5689886126f6e81bc7e37b84ca9bc99f951ef1f39580168a359c48788ac8d008bc7078
+ REF 1.2.0
+ SHA512 caf2650381856db6a96fd4b120975d94d68d9bb19ada1d6cd076abe2d4aa1418e410167f774a881d95eacd0d46bbd5f90f16a4c77b4a2cf00e5b24ea17bfe670
HEAD_REF master
)
@@ -20,7 +20,6 @@ vcpkg_configure_cmake( "-DBOOST_ROOT=${CURRENT_INSTALLED_DIR}/share/boost"
"-DHWLOC_ROOT=${CURRENT_INSTALLED_DIR}/share/hwloc"
-DHPX_WITH_VCPKG=ON
- -DHPX_WITH_HWLOC=ON
-DHPX_WITH_TESTS=OFF
-DHPX_WITH_EXAMPLES=OFF
-DHPX_WITH_TOOLS=OFF
@@ -30,9 +29,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake()
# post build cleanup
-file(GLOB SHARE_DIR ${CURRENT_PACKAGES_DIR}/share/hpx-*)
-file(RENAME ${SHARE_DIR} ${CURRENT_PACKAGES_DIR}/share/hpx)
-
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/HPX)
file(GLOB_RECURSE CMAKE_FILES "${CURRENT_PACKAGES_DIR}/share/hpx/*.cmake")
@@ -44,7 +40,7 @@ foreach(CMAKE_FILE IN LISTS CMAKE_FILES) _contents "${_contents}")
string(REGEX REPLACE
"lib/hpx/([A-Za-z0-9_.-]+\\.dll)"
- "bin/\\1"
+ "bin/hpx/\\1"
_contents "${_contents}")
file(WRITE ${CMAKE_FILE} "${_contents}")
endforeach()
@@ -65,7 +61,7 @@ endif() file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/lib/hpx/*.dll)
if(DLLS)
- file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin/hpx)
file(REMOVE ${DLLS})
endif()
@@ -77,7 +73,7 @@ endif() file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/hpx/*.dll)
if(DLLS)
- file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/hpx)
file(REMOVE ${DLLS})
endif()
diff --git a/ports/libgeotiff/CONTROL b/ports/libgeotiff/CONTROL index dea361457..edfa7f0cb 100644 --- a/ports/libgeotiff/CONTROL +++ b/ports/libgeotiff/CONTROL @@ -1,4 +1,4 @@ Source: libgeotiff -Version: 1.4.2-6 +Version: 1.4.2-7 Description: Libgeotiff is an open source library normally hosted on top of ​libtiff for reading, and writing GeoTIFF information tags. Build-Depends: tiff, proj4, zlib, libjpeg-turbo diff --git a/ports/libgeotiff/portfile.cmake b/ports/libgeotiff/portfile.cmake index afd203b03..fc79fe15d 100644 --- a/ports/libgeotiff/portfile.cmake +++ b/ports/libgeotiff/portfile.cmake @@ -21,6 +21,9 @@ vcpkg_extract_source_archive_ex( 0006-Fix-utility-link-error.patch ) +# Delete FindPROJ4.cmake +file(REMOVE ${SOURCE_PATH}/cmake/FindPROJ4.cmake) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/libsodium/CONTROL b/ports/libsodium/CONTROL index b670f39ff..643ba68f4 100644 --- a/ports/libsodium/CONTROL +++ b/ports/libsodium/CONTROL @@ -1,3 +1,3 @@ Source: libsodium -Version: 1.0.16-1 +Version: 1.0.17 Description: A modern and easy-to-use crypto library diff --git a/ports/libsodium/portfile.cmake b/ports/libsodium/portfile.cmake index 29e6d1f9d..42e9150bd 100644 --- a/ports/libsodium/portfile.cmake +++ b/ports/libsodium/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jedisct1/libsodium - REF 1.0.16 - SHA512 a9b5c4484f08f3ec1703a6c3af0acfa233214d0d38f32c1fc26305fc01cd2d9c8d469d52d98e6329729c08c15ee0494494037d5ad1472864d3cbdb55a751afec + REF 1.0.17 + SHA512 faf6ab57d113b6b1614b51390823a646f059018327b6f493e9e918a908652d0932a75a1a6683032b7a3869f516f387d67acdf944568387feddff7b2f5b6e77d6 HEAD_REF master ) diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL index 7a8a79098..1106a3285 100644 --- a/ports/libuv/CONTROL +++ b/ports/libuv/CONTROL @@ -1,3 +1,3 @@ Source: libuv -Version: 1.24.0-1 +Version: 1.24.1 Description: libuv is a multi-platform support library with a focus on asynchronous I/O. diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake index 76077fc3d..6b15dba59 100644 --- a/ports/libuv/portfile.cmake +++ b/ports/libuv/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libuv/libuv - REF v1.24.0 - SHA512 b75dac19e99497b059b9b8ce646266c4fa10f1259f5fd74554f7f614f7b70f4b62b9c756316d9a3eed6cf6b9d61f5acde9f6eedb88d30431f6a5c87169487ec6 + REF v1.24.1 + SHA512 19cb03a7a62ad2a1f392e1de3e4fdb622e3ac5afe890bfb819c30118f4745f81ecc343d5b633eebb8471fdfb4025652bbface245fd616c55346aae82376f6836 HEAD_REF v1.x ) diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL index c782ee097..b17888fd3 100644 --- a/ports/ms-gsl/CONTROL +++ b/ports/ms-gsl/CONTROL @@ -1,3 +1,3 @@ Source: ms-gsl -Version: 2018-12-14 -Description: Microsoft implementation of the Guidelines Support Library
\ No newline at end of file +Version: 2019-01-15 +Description: Microsoft implementation of the Guidelines Support Library diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake index 1b0711977..a1359d206 100644 --- a/ports/ms-gsl/portfile.cmake +++ b/ports/ms-gsl/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/GSL - REF 0f68d133fa6fd2973951b8aaab481e34bbfd2cf4 - SHA512 1aa8116a75dd6ffd3a879dcf52f804e1d67e03bac3788559441ddebe2db6fd43a362bfa5ddac36954848555ba1e7fccb2d26b6060a9e171a04497ea551402b42 + REF 6418b5f4de2204cd5a335b00d2f8754301b8b382 + SHA512 d585ce18ff190e681f55c53978bd8d84dd0f8ebf0f572a49a38be07c44bd97b6d99c46b9f5fff2455dbd934e242be4a2d6d3ca2ba193358cafa14272d7a6fba8 HEAD_REF master ) diff --git a/ports/pdal-c/CONTROL b/ports/pdal-c/CONTROL new file mode 100644 index 000000000..2a52378b5 --- /dev/null +++ b/ports/pdal-c/CONTROL @@ -0,0 +1,4 @@ +Source: pdal-c +Version: 1.8-1 +Description: C API for the Point Data Abstraction Library (PDAL) +Build-Depends: pdal diff --git a/ports/pdal-c/fix-docs-version.patch b/ports/pdal-c/fix-docs-version.patch new file mode 100644 index 000000000..d44b50b61 --- /dev/null +++ b/ports/pdal-c/fix-docs-version.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1fbc4a4..c8a325a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,7 +23,8 @@ set(CMAKE_RELWITHDEBINFO_POSTFIX "" CACHE STRING "CMake RelWithDebInfo suffix") + set(PDALC_ENABLE_CODE_COVERAGE ON CACHE BOOL "Enable code coverage calculation") + set(PDALC_GCC_PARAM_GGC_MIN_HEAPSIZE "131072" CACHE STRING "GCC garbage collection minimum heap size") + +-include(ObtainProjectVersion) ++set(${PROJECT_NAME}_VERSION "1.8") ++set(BUILD_ID "vcpkg build") + include_directories("${CMAKE_SOURCE_DIR}/source") + + if(CMAKE_COMPILER_IS_GNUCXX) diff --git a/ports/pdal-c/portfile.cmake b/ports/pdal-c/portfile.cmake new file mode 100644 index 000000000..8a478c547 --- /dev/null +++ b/ports/pdal-c/portfile.cmake @@ -0,0 +1,38 @@ +# vcpkg portfile.cmake for pdal-c, the C API for PDAL + +include(vcpkg_common_functions) +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + message(STATUS "Warning: Static building will not support load data through plugins.") + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO PDAL/CAPI + REF 1.8 + SHA512 6a5f4cb3d36b419f3cd195028c3e6dc17abf3cdb7495aa3df638bc1f842ba98243c73e051e9cfcd3afe22787309cb871374b152ded92e6e06f404cd7b1ae50bf + HEAD_REF master + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/fix-docs-version.patch + ${CMAKE_CURRENT_LIST_DIR}/preserve-install-dir.patch + ${CMAKE_CURRENT_LIST_DIR}/remove-tests.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DPDALC_ENABLE_CODE_COVERAGE:BOOL=OFF +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +# Remove headers from debug +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Install copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.md + DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdal-c + RENAME copyright +) diff --git a/ports/pdal-c/preserve-install-dir.patch b/ports/pdal-c/preserve-install-dir.patch new file mode 100644 index 000000000..87377ab2f --- /dev/null +++ b/ports/pdal-c/preserve-install-dir.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1fbc4a4..075c86c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,8 +13,6 @@ set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + +-# Install to the build directory +-set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}" CACHE STRING "CMake install prefix" FORCE) + + # Use "d" suffix for debug builds + # Do not use a suffix for RelWithDebInfo diff --git a/ports/pdal-c/remove-tests.patch b/ports/pdal-c/remove-tests.patch new file mode 100644 index 000000000..c50914e57 --- /dev/null +++ b/ports/pdal-c/remove-tests.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1fbc4a4..e31e552 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,7 +44,3 @@ endif() + + add_subdirectory("source/pdal") + add_subdirectory("doc") +- +-include(CTest) +-add_subdirectory("tests/data") +-add_subdirectory("tests/pdal") diff --git a/ports/podofo/CONTROL b/ports/podofo/CONTROL index e5485c493..9b6abdb17 100644 --- a/ports/podofo/CONTROL +++ b/ports/podofo/CONTROL @@ -1,5 +1,5 @@ Source: podofo -Version: 0.9.6-1 +Version: 0.9.6-3 Description: PoDoFo is a library to work with the PDF file format Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl (!windows&!uwp), freetype diff --git a/ports/podofo/portfile.cmake b/ports/podofo/portfile.cmake index 0897576d0..a0b27a7a7 100644 --- a/ports/podofo/portfile.cmake +++ b/ports/podofo/portfile.cmake @@ -10,6 +10,7 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} REF ${PODOFO_VERSION} + PATCHES unique_ptr.patch ) set(PODOFO_NO_FONTMANAGER ON) diff --git a/ports/podofo/unique_ptr.patch b/ports/podofo/unique_ptr.patch new file mode 100644 index 000000000..5c70e8471 --- /dev/null +++ b/ports/podofo/unique_ptr.patch @@ -0,0 +1,198 @@ +diff -ruNp a/src/base/PdfFilter.cpp b/src/base/PdfFilter.cpp +--- a/src/base/PdfFilter.cpp 2016-11-18 20:08:56.000000000 +0100 ++++ b/src/base/PdfFilter.cpp 2019-01-16 10:25:22.934430500 +0100 +@@ -131,7 +131,7 @@ class PdfFilteredEncodeStream : public P + + private: + PdfOutputStream* m_pOutputStream; +- std::auto_ptr<PdfFilter> m_filter; ++ std::unique_ptr<PdfFilter> m_filter; + }; + + /** Create a filter that is a PdfOutputStream. +@@ -206,7 +206,7 @@ class PdfFilteredDecodeStream : public P + + private: + PdfOutputStream* m_pOutputStream; +- std::auto_ptr<PdfFilter> m_filter; ++ std::unique_ptr<PdfFilter> m_filter; + bool m_bFilterFailed; + }; + +@@ -264,7 +264,7 @@ PdfFilterFactory::PdfFilterFactory() + { + } + +-std::auto_ptr<PdfFilter> PdfFilterFactory::Create( const EPdfFilter eFilter ) ++std::unique_ptr<PdfFilter> PdfFilterFactory::Create( const EPdfFilter eFilter ) + { + PdfFilter* pFilter = NULL; + switch( eFilter ) +@@ -316,7 +316,7 @@ std::auto_ptr<PdfFilter> PdfFilterFactor + break; + } + +- return std::auto_ptr<PdfFilter>(pFilter); ++ return std::unique_ptr<PdfFilter>(pFilter); + } + + PdfOutputStream* PdfFilterFactory::CreateEncodeStream( const TVecFilters & filters, PdfOutputStream* pStream ) +diff -ruNp a/src/base/PdfFilter.h b/src/base/PdfFilter.h +--- a/src/base/PdfFilter.h 2016-11-18 20:08:56.000000000 +0100 ++++ b/src/base/PdfFilter.h 2019-01-16 10:25:22.981323900 +0100 +@@ -454,7 +454,7 @@ class PODOFO_API PdfFilterFactory { + public: + /** Create a filter from an enum. + * +- * Ownership is transferred to the caller, who should let the auto_ptr ++ * Ownership is transferred to the caller, who should let the unique_ptr + * the filter is returned in take care of freeing it when they're done + * with it. + * +@@ -463,7 +463,7 @@ class PODOFO_API PdfFilterFactory { + * \returns a new PdfFilter allocated using new, or NULL if no + * filter is available for this type. + */ +- static std::auto_ptr<PdfFilter> Create( const EPdfFilter eFilter ); ++ static std::unique_ptr<PdfFilter> Create( const EPdfFilter eFilter ); + + /** Create a PdfOutputStream that applies a list of filters + * on all data written to it. +diff -ruNp a/src/base/PdfMemStream.cpp b/src/base/PdfMemStream.cpp +--- a/src/base/PdfMemStream.cpp 2016-11-18 20:08:56.000000000 +0100 ++++ b/src/base/PdfMemStream.cpp 2019-01-16 10:25:23.479681200 +0100 +@@ -245,7 +245,7 @@ void PdfMemStream::FlateCompressStreamDa + if( !m_lLength ) + return; + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_FlateDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_FlateDecode ); + if( pFilter.get() ) + { + pFilter->Encode( m_buffer.GetBuffer(), m_buffer.GetSize(), &pBuffer, &lLen ); +diff -ruNp a/src/base/PdfStream.cpp b/src/base/PdfStream.cpp +--- a/src/base/PdfStream.cpp 2016-11-18 20:08:56.000000000 +0100 ++++ b/src/base/PdfStream.cpp 2019-01-16 10:25:24.387075400 +0100 +@@ -91,9 +91,9 @@ void PdfStream::GetFilteredCopy( char** + PdfMemoryOutputStream stream; + if( vecFilters.size() ) + { +- // Use std::auto_ptr so that pDecodeStream is deleted ++ // Use std::unique_ptr so that pDecodeStream is deleted + // even in the case of an exception +- std::auto_ptr<PdfOutputStream> pDecodeStream( PdfFilterFactory::CreateDecodeStream( vecFilters, &stream, ++ std::unique_ptr<PdfOutputStream> pDecodeStream( PdfFilterFactory::CreateDecodeStream( vecFilters, &stream, + m_pParent ? + &(m_pParent->GetDictionary()) : NULL ) ); + +diff -ruNp a/src/base/PdfString.cpp b/src/base/PdfString.cpp +--- a/src/base/PdfString.cpp 2018-03-10 17:30:53.000000000 +0100 ++++ b/src/base/PdfString.cpp 2019-01-16 10:25:24.480799400 +0100 +@@ -673,7 +673,7 @@ PdfString PdfString::HexEncode() const + return *this; + else + { +- std::auto_ptr<PdfFilter> pFilter; ++ std::unique_ptr<PdfFilter> pFilter; + + pdf_long lLen = (m_buffer.GetSize() - 1) << 1; + PdfString str; +@@ -702,7 +702,7 @@ PdfString PdfString::HexDecode() const + return *this; + else + { +- std::auto_ptr<PdfFilter> pFilter; ++ std::unique_ptr<PdfFilter> pFilter; + + pdf_long lLen = m_buffer.GetSize() >> 1; + PdfString str; +diff -ruNp a/src/doc/PdfFont.cpp b/src/doc/PdfFont.cpp +--- a/src/doc/PdfFont.cpp 2016-05-13 16:04:34.000000000 +0200 ++++ b/src/doc/PdfFont.cpp 2019-01-16 10:25:26.372048300 +0100 +@@ -145,7 +145,7 @@ void PdfFont::WriteStringToStream( const + pdf_long lLen = 0; + char* pBuffer = NULL; + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + pFilter->Encode( buffer.GetBuffer(), buffer.GetSize(), &pBuffer, &lLen ); + + pStream->Append( "<", 1 ); +diff -ruNp a/src/doc/PdfPainter.cpp b/src/doc/PdfPainter.cpp +--- a/src/doc/PdfPainter.cpp 2018-03-06 15:04:03.000000000 +0100 ++++ b/src/doc/PdfPainter.cpp 2019-01-16 10:25:28.512159900 +0100 +@@ -829,7 +829,7 @@ void PdfPainter::DrawText( double dX, do + + /* + char* pBuffer; +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + pFilter->Encode( sString.GetString(), sString.GetLength(), &pBuffer, &lLen ); + + m_pCanvas->Append( pBuffer, lLen ); +diff -ruNp a/test/CreationTest/CreationTest.cpp b/test/CreationTest/CreationTest.cpp +--- a/test/CreationTest/CreationTest.cpp 2018-02-25 12:48:38.000000000 +0100 ++++ b/test/CreationTest/CreationTest.cpp 2019-01-16 10:25:29.605315700 +0100 +@@ -37,7 +37,7 @@ void WriteStringToStream( const PdfStrin + pdf_long lLen = 0; + char* pBuffer = NULL; + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + pFilter->Encode( buffer.GetBuffer(), buffer.GetSize(), &pBuffer, &lLen ); + + oss << "<"; +diff -ruNp a/test/FilterTest/FilterTest.cpp b/test/FilterTest/FilterTest.cpp +--- a/test/FilterTest/FilterTest.cpp 2018-03-10 15:06:27.000000000 +0100 ++++ b/test/FilterTest/FilterTest.cpp 2019-01-16 10:25:29.777214800 +0100 +@@ -57,7 +57,7 @@ void test_filter( EPdfFilter eFilter, co + pdf_long lEncoded; + pdf_long lDecoded; + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); + if( !pFilter.get() ) + { + printf("!!! Filter %i not implemented.\n", eFilter); +@@ -256,7 +256,7 @@ int main() + char* pLargeBuffer2 = static_cast<char*>(malloc( strlen(pszInputAscii85Lzw) * 6 )); + + try { +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCII85Decode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCII85Decode ); + pFilter->Decode( pszInputAscii85Lzw, strlen(pszInputAscii85Lzw), + &pLargeBuffer1, &lLargeBufer1 ); + pFilter->Encode( pLargeBuffer1, lLargeBufer1, +diff -ruNp a/test/VariantTest/VariantTest.cpp b/test/VariantTest/VariantTest.cpp +--- a/test/VariantTest/VariantTest.cpp 2010-10-21 19:09:00.000000000 +0200 ++++ b/test/VariantTest/VariantTest.cpp 2019-01-16 10:25:32.418465600 +0100 +@@ -124,7 +124,7 @@ int main() + printf("This test tests the PdfVariant class.\n"); + printf("---\n"); + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); + + // testing strings + TEST_SAFE_OP( Test( "(Hallo Welt!)", ePdfDataType_String ) ); +diff -ruNp a/test/unit/FilterTest.cpp b/test/unit/FilterTest.cpp +--- a/test/unit/FilterTest.cpp 2016-05-12 22:25:45.000000000 +0200 ++++ b/test/unit/FilterTest.cpp 2019-01-16 10:25:31.464162600 +0100 +@@ -59,7 +59,7 @@ void FilterTest::TestFilter( EPdfFilter + pdf_long lEncoded; + pdf_long lDecoded; + +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( eFilter ); + if( !pFilter.get() ) + { + printf("!!! Filter %i not implemented.\n", eFilter); +@@ -123,7 +123,7 @@ void FilterTest::testFilters() + + void FilterTest::testCCITT() + { +- std::auto_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_CCITTFaxDecode ); ++ std::unique_ptr<PdfFilter> pFilter = PdfFilterFactory::Create( ePdfFilter_CCITTFaxDecode ); + if( !pFilter.get() ) + { + printf("!!! ePdfFilter_CCITTFaxDecode not implemented skipping test!\n"); diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL index 4a92b4835..46bab0028 100644 --- a/ports/re2/CONTROL +++ b/ports/re2/CONTROL @@ -1,3 +1,3 @@ Source: re2 -Version: 2018-12-14 +Version: 2019-01-09 Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
\ No newline at end of file diff --git a/ports/re2/portfile.cmake b/ports/re2/portfile.cmake index b1ecb3f0e..95816db3d 100644 --- a/ports/re2/portfile.cmake +++ b/ports/re2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/re2
- REF e7c832772ec55f495927bfa4526d2fc17f0381be - SHA512 d79b5f5a5b97cc1f305abcf3799b00e335ba74c7c73b347b231e4796f45821398f952336dc94011fd8347de8c0e5af78b6cfa61387df002c1ba5e34954ec64c9
+ REF 90970542fe952602f42150c6e71d086f5afebcb3 + SHA512 910e8ec958d559e2d71bcc701bdb2ac52e319025470a6690cdf86c10ec385789b81392f61f3d5586f4bc4b686714c05ebe67e5596978c0c6c2e5b4b3694cf8d9
HEAD_REF master
)
diff --git a/ports/rs-core-lib/CONTROL b/ports/rs-core-lib/CONTROL index 34eaa31db..0dbf976ce 100644 --- a/ports/rs-core-lib/CONTROL +++ b/ports/rs-core-lib/CONTROL @@ -1,4 +1,4 @@ Source: rs-core-lib -Version: 2018-12-14 +Version: 2019-01-09 Description: Minimal common utilities by Ross Smith diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake index 13f0b9ed2..a7eb6a76d 100644 --- a/ports/rs-core-lib/portfile.cmake +++ b/ports/rs-core-lib/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CaptainCrowbar/rs-core-lib - REF 23ed1ddc676c74f19c333ebbe5dafe68ad3118f3 - SHA512 2b1b0ddb13ba258ce82cb659ca989cb96e9a72ba242df01de7963de50671d6ac6ab93b0e8bb05fa030970e7efb7b894fa4daa7778d77ebb930cba96da3a55317 + REF fa2144ec238def8d5e08d8489fda6ccfe19a8db1 + SHA512 c6c6405a15e197cc7f335e26193b46f00d3293606c042d7d6a2c50e79aa93c9c2ed14537a71b6dad30c271f80138cb7d294bf85bf0e67cbec6c0709e9f0f624f HEAD_REF master ) diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL index 33dee9141..a0e398e31 100644 --- a/ports/sobjectizer/CONTROL +++ b/ports/sobjectizer/CONTROL @@ -1,3 +1,3 @@ Source: sobjectizer -Version: 5.5.24 +Version: 5.5.24.1 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 c79f5adfa..bf8174bf5 100644 --- a/ports/sobjectizer/portfile.cmake +++ b/ports/sobjectizer/portfile.cmake @@ -1,12 +1,12 @@ include(vcpkg_common_functions) -set(VERSION 5.5.24) +set(VERSION 5.5.24.1) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/so-${VERSION}/dev) vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/sobjectizer/files/sobjectizer/SObjectizer%20Core%20v.5.5/so-${VERSION}.zip" FILENAME "so-${VERSION}.zip" - SHA512 d33b5660fb6d7b1182d68069bb86782dd7632071723762875d88dd6d67353f6913b25e0574d87e06b86f472608631f59c3e26dc9c67cda9f8223454ae758b524 + SHA512 a7b8b57626e99588f79e14594dea1cdfe7fea455f01fe4fde9c397b3086c0a9f0c3cb75b531cc8c40a3f38729729ec6764d450ed7fc626ae79e2f2de7cd2a98e ) vcpkg_extract_source_archive(${ARCHIVE}) diff --git a/ports/sqlite-orm/CONTROL b/ports/sqlite-orm/CONTROL index 5de84f58e..622e7b9c8 100644 --- a/ports/sqlite-orm/CONTROL +++ b/ports/sqlite-orm/CONTROL @@ -1,4 +1,4 @@ Source: sqlite-orm -Version: 1.2 +Version: 1.3 Build-Depends: sqlite3 Description: SQLite ORM light header only library for modern C++ diff --git a/ports/sqlite-orm/portfile.cmake b/ports/sqlite-orm/portfile.cmake index 2e6686bfc..c7fcec417 100644 --- a/ports/sqlite-orm/portfile.cmake +++ b/ports/sqlite-orm/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fnc12/sqlite_orm - REF v1.2 - SHA512 b2c87bb643337b5f59d96f8a22e2c6ae040116f51bd86b75e1085d0c06618af131a36d312040d0cf49533269fa840f4e575812b017c7b80b121e1f27825723b5 + REF 1.3 + SHA512 9d61d65a8987f875aacca9dd262d5b1e4dca273aef938fc5c292469b215b244edc63fb6428199e16ed6d254f752e1a9574306b15ebb099a4bf4f744510975da3 HEAD_REF master ) diff --git a/ports/strtk/CONTROL b/ports/strtk/CONTROL index 613ee7db1..861e148a7 100644 --- a/ports/strtk/CONTROL +++ b/ports/strtk/CONTROL @@ -1,4 +1,4 @@ Source: strtk -Version: 2018.09.30-b887974 +Version: 2019-01-09 Description: robust, optimized and portable string processing algorithms for the C++ language Build-Depends: boost diff --git a/ports/strtk/portfile.cmake b/ports/strtk/portfile.cmake index 1fed1a4a6..6790325bf 100644 --- a/ports/strtk/portfile.cmake +++ b/ports/strtk/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArashPartow/strtk - REF b88797408e614ff5a127df12cc520bf41769ada6 - SHA512 3bb5bfc5f12f46180bc7751b865c5ef9120b3c8764ccc86ca2b4b344d6b9d1744e7bd45e9a9202fe4349f8ce75fbb0c37e807cb1e072f5aef28e790ec94646ca + REF c6168dda1deed942b2fbfde9d80f53049fa79f20 + SHA512 7595f412838e86d4b7cf0ca3da4dc8aebe40011fb29058e1ee42e23923fbbadeb9a2d0fceac3362b2d0a228ff86c111457f9204b533edb8e0379f3022976906e ) file(COPY ${SOURCE_PATH}/strtk.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL index 076c7dbfa..f00c0c0e2 100644 --- a/ports/thrift/CONTROL +++ b/ports/thrift/CONTROL @@ -1,4 +1,4 @@ Source: thrift -Version: 2018-12-14 +Version: 2019-01-09 Build-Depends: zlib, libevent, openssl, boost-range, boost-smart-ptr, boost-date-time, boost-locale, boost-scope-exit Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010. diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake index 1635579b8..41b2189d7 100644 --- a/ports/thrift/portfile.cmake +++ b/ports/thrift/portfile.cmake @@ -15,8 +15,8 @@ vcpkg_find_acquire_program(BISON) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/thrift - REF 2b7365c54f823013cc6a4760798051b22743c103 - SHA512 439d4860f029e083c2f9da5b87f3b6119f34da085fb8000020b4bb17195838f6ea029157ce8537176024a9dec6c163ba5495b59e66eefc344fbbb4b323d2f334 + REF a5df39032ca206e2e6a9ec975147e81746d9a255 + SHA512 765227283477dc0c0d0e94da34f1d11e90ccdfc61752662e9da7c9e4793d655de2a6c42e8e44c488e264b8b1f071c5a1324bb63111d471718c6e85b39b812ddd HEAD_REF master ) diff --git a/ports/tinyobjloader/CONTROL b/ports/tinyobjloader/CONTROL index 16668c167..7967039a7 100644 --- a/ports/tinyobjloader/CONTROL +++ b/ports/tinyobjloader/CONTROL @@ -1,3 +1,3 @@ Source: tinyobjloader
-Version: 1.2.0-1
+Version: 1.4.1
Description: Tiny but powerful single file wavefront obj loader
diff --git a/ports/tinyobjloader/portfile.cmake b/ports/tinyobjloader/portfile.cmake index bc70373a6..fd2dbf8a4 100644 --- a/ports/tinyobjloader/portfile.cmake +++ b/ports/tinyobjloader/portfile.cmake @@ -4,26 +4,25 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND (NOT VCPKG_CMAKE_SYSTEM_NAME OR endif()
include(vcpkg_common_functions)
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO syoyo/tinyobjloader
- REF 8fd9f6e57bf8c70d5ae47cf0f0d1bf1ccae2dfc2
- SHA512 5b6a2822989c5a28eabee0a33724c045b5d07cf0ccfd4288c7c3a5a2cc5b0c3f6ee8aca45e8e22c941278fbbfabd8f909f5010cd34b9d905c4d84102d151c73b
+ REF v1.4.1
+ SHA512 5b18fed89435a95fb3fc89829ea6904b4cc4508b0907642b39194e3e3c55678ddc1c07687e4b7ea171f270f7188ca593ed53b828c022667e54a889c36c60373e
HEAD_REF master
)
-string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" TINYOBJLOADER_COMPILATION_SHARED)
-
vcpkg_configure_cmake(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
- -DTINYOBJLOADER_COMPILATION_SHARED=${TINYOBJLOADER_COMPILATION_SHARED}
-DCMAKE_INSTALL_DOCDIR:STRING=share/tinyobjloader
)
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/tinyobjloader/cmake)
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/tinyobjloader/cmake")
file(
REMOVE_RECURSE
diff --git a/ports/unicorn-lib/CONTROL b/ports/unicorn-lib/CONTROL index c6ecb0a3f..11845151a 100644 --- a/ports/unicorn-lib/CONTROL +++ b/ports/unicorn-lib/CONTROL @@ -1,4 +1,4 @@ Source: unicorn-lib -Version: 2018-12-14 +Version: 2019-01-09 Description: Unicode library for C++ by Ross Smith Build-Depends: rs-core-lib, pcre2, zlib, libiconv diff --git a/ports/unicorn-lib/portfile.cmake b/ports/unicorn-lib/portfile.cmake index 76e9ccb9b..a982e1a24 100644 --- a/ports/unicorn-lib/portfile.cmake +++ b/ports/unicorn-lib/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CaptainCrowbar/unicorn-lib - REF a4015d502f462ad5ba1003a51edcbd07400c14d2 - SHA512 bfdfe4062c17a5d0d1971f1482ddbc28f4d041c7bcc173350e5b2210ad466c2e5496d3a548e31fa1e1f83c12bd8d646e766cf3b8388d13d3782af50a189fb47d + REF a1e3df0dd62004c244d00825867aea30c83d678e + SHA512 febc79ba30ba023f24a8b5ae01465bf353457d37cfccbdaebeabde16f7a4758a8acd8f9c6ddd9f453fc0918b6c02631a45107f322297ea0e32ac46c548d9e7b3 HEAD_REF master ) diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL index ab167b4da..f01523040 100644 --- a/ports/unicorn/CONTROL +++ b/ports/unicorn/CONTROL @@ -1,3 +1,3 @@ Source: unicorn -Version: 2018-12-14 +Version: 2019-01-09 Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework diff --git a/ports/unicorn/portfile.cmake b/ports/unicorn/portfile.cmake index f734e1386..93c4d8f34 100644 --- a/ports/unicorn/portfile.cmake +++ b/ports/unicorn/portfile.cmake @@ -14,8 +14,8 @@ set(VCPKG_CRT_LINKAGE "static") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO unicorn-engine/unicorn - REF 536c4e77c4350fac3e5c2b9b57d8c16f69b934d3 - SHA512 295a88381fbb765d3ffb6a8e58a85c9385a978e49957ad35db828952c0144e392abab77f529ea12aa62b7e495e75df8f02b032f8fd8b87502517d7e46b889e3c + REF ac0cd2144df92a487acd98a43b1d7880a3044835 + SHA512 68bd31beabdad80e80e049159a9345cd7a6830a01f63f813612a14802fe1d8bcf2f7089e120b2cd0ebd432fe0b17adc2cd9177485c694c7d963beae10580446b HEAD_REF master ) diff --git a/ports/wangle/CONTROL b/ports/wangle/CONTROL index b7d4dcd17..498eeb6cb 100644 --- a/ports/wangle/CONTROL +++ b/ports/wangle/CONTROL @@ -1,4 +1,4 @@ Source: wangle
-Version: 2018.11.05.00 +Version: 2019.01.07.00 Build-Depends: fizz, folly, openssl, gtest, glog, libevent, double-conversion
Description: Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.
diff --git a/ports/wangle/portfile.cmake b/ports/wangle/portfile.cmake index 5f17212c9..6d1aac9f8 100644 --- a/ports/wangle/portfile.cmake +++ b/ports/wangle/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/wangle
- REF v2018.11.05.00 - SHA512 287fd19e352f04666d2d925eb6322aa5b74b1b8808142d37c1089b34df650bc56f0489ff4746b1ddfbec7544d99df71f9583d47ef5abef600e9bc5d434dceab6
+ REF v2019.01.07.00 + SHA512 1b4771d92b45fd5e9622985321cfd608510ea13d2f4cb03a4842c52d7253a1b460f825746a315ef0df3b2e37e56abddb5b493b80d383ba327fdbf7294bae193e
HEAD_REF master
PATCHES
build.patch
diff --git a/ports/x265/CONTROL b/ports/x265/CONTROL index 537556763..f2185d2f0 100644 --- a/ports/x265/CONTROL +++ b/ports/x265/CONTROL @@ -1,3 +1,3 @@ Source: x265 -Version: 2.9-1 +Version: 2.9-2 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/x265/portfile.cmake b/ports/x265/portfile.cmake index 090a2db22..87f11c4f4 100644 --- a/ports/x265/portfile.cmake +++ b/ports/x265/portfile.cmake @@ -29,7 +29,12 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/x265) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/x265.exe ${CURRENT_PACKAGES_DIR}/tools/x265/x265.exe) + +if(UNIX) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/x265 ${CURRENT_PACKAGES_DIR}/tools/x265/x265) +elseif(WIN32) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/x265.exe ${CURRENT_PACKAGES_DIR}/tools/x265/x265.exe) +endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) diff --git a/ports/zeromq/CONTROL b/ports/zeromq/CONTROL index ae33c6f68..2fe693a12 100644 --- a/ports/zeromq/CONTROL +++ b/ports/zeromq/CONTROL @@ -1,3 +1,3 @@ Source: zeromq -Version: 2018-12-14 +Version: 2019-01-09 Description: The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products diff --git a/ports/zeromq/portfile.cmake b/ports/zeromq/portfile.cmake index 2ae912e07..929df2718 100644 --- a/ports/zeromq/portfile.cmake +++ b/ports/zeromq/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeromq/libzmq - REF ed8ed727c6f532f1a7d7bdf14b72aa83e2a4f0e9 - SHA512 32034fac0bc9f2d0c40e0d9e999200af43146b015ea3663da2d1f58e47da38f292fc03284e39e6c3e30311cd80f4787492e7d993e4d36fa1031e62a8d3dd3c35 + REF 3154f3eab7fee360991e244c2d710f274e0ad4d9 + SHA512 c964add0fb93965bc26f6e981908dd2c8c321ed9857621a4f8a35145a4cd0f087298db0eddf659f4e91e0c4c1641edbba00a3771e520771bfdcbe8fb925cfb05 HEAD_REF master ) diff --git a/toolsrc/.clang-format b/toolsrc/.clang-format index 4700062c7..c14765672 100644 --- a/toolsrc/.clang-format +++ b/toolsrc/.clang-format @@ -29,4 +29,5 @@ IndentCaseLabels: true KeepEmptyLinesAtTheStartOfBlocks: false NamespaceIndentation: All PenaltyReturnTypeOnItsOwnLine: 1000 -SpaceAfterTemplateKeyword: false
\ No newline at end of file +SpaceAfterTemplateKeyword: false +SpaceBeforeCpp11BracedList: false diff --git a/toolsrc/include/vcpkg/base/graphs.h b/toolsrc/include/vcpkg/base/graphs.h index 1b0fa61c7..6cff75ad3 100644 --- a/toolsrc/include/vcpkg/base/graphs.h +++ b/toolsrc/include/vcpkg/base/graphs.h @@ -29,13 +29,36 @@ namespace vcpkg::Graphs virtual U load_vertex_data(const V& vertex) const = 0; }; + struct Randomizer + { + virtual int random(int max_exclusive) = 0; + + protected: + ~Randomizer() {} + }; + namespace details { + template<class Container> + void shuffle(Container& c, Randomizer* r) + { + if (!r) return; + for (int i = static_cast<int>(c.size()); i > 1; --i) + { + auto j = r->random(i); + if (j != i - 1) + { + std::swap(c[i - 1], c[j]); + } + } + } + template<class V, class U> void topological_sort_internal(const V& vertex, const AdjacencyProvider<V, U>& f, std::unordered_map<V, ExplorationStatus>& exploration_status, - std::vector<U>& sorted) + std::vector<U>& sorted, + Randomizer* randomizer) { ExplorationStatus& status = exploration_status[vertex]; switch (status) @@ -43,7 +66,7 @@ namespace vcpkg::Graphs case ExplorationStatus::FULLY_EXPLORED: return; case ExplorationStatus::PARTIALLY_EXPLORED: { - System::println("Cycle detected within graph:"); + System::println("Cycle detected within graph at %s:", f.to_string(vertex)); for (auto&& node : exploration_status) { if (node.second == ExplorationStatus::PARTIALLY_EXPLORED) @@ -57,8 +80,10 @@ namespace vcpkg::Graphs { status = ExplorationStatus::PARTIALLY_EXPLORED; U vertex_data = f.load_vertex_data(vertex); - for (const V& neighbour : f.adjacency_list(vertex_data)) - topological_sort_internal(neighbour, f, exploration_status, sorted); + auto neighbours = f.adjacency_list(vertex_data); + details::shuffle(neighbours, randomizer); + for (const V& neighbour : neighbours) + topological_sort_internal(neighbour, f, exploration_status, sorted, randomizer); sorted.push_back(std::move(vertex_data)); status = ExplorationStatus::FULLY_EXPLORED; @@ -69,15 +94,19 @@ namespace vcpkg::Graphs } } - template<class VertexRange, class V, class U> - std::vector<U> topological_sort(const VertexRange& starting_vertices, const AdjacencyProvider<V, U>& f) + template<class VertexContainer, class V, class U> + std::vector<U> topological_sort(VertexContainer starting_vertices, + const AdjacencyProvider<V, U>& f, + Randomizer* randomizer) { std::vector<U> sorted; std::unordered_map<V, ExplorationStatus> exploration_status; + details::shuffle(starting_vertices, randomizer); + for (auto&& vertex : starting_vertices) { - details::topological_sort_internal(vertex, f, exploration_status, sorted); + details::topological_sort_internal(vertex, f, exploration_status, sorted, randomizer); } return sorted; diff --git a/toolsrc/include/vcpkg/dependencies.h b/toolsrc/include/vcpkg/dependencies.h index 3c3b8f267..16fdb3f73 100644 --- a/toolsrc/include/vcpkg/dependencies.h +++ b/toolsrc/include/vcpkg/dependencies.h @@ -7,8 +7,14 @@ #include <vcpkg/statusparagraphs.h> #include <vcpkg/vcpkgpaths.h> +#include <functional> #include <vector> +namespace vcpkg::Graphs +{ + struct Randomizer; +} + namespace vcpkg::Dependencies { enum class RequestType @@ -148,6 +154,11 @@ namespace vcpkg::Dependencies struct ClusterGraph; struct GraphPlan; + struct CreateInstallPlanOptions + { + Graphs::Randomizer* randomizer = nullptr; + }; + struct PackageGraph { PackageGraph(const PortFileProvider& provider, const StatusParagraphs& status_db); @@ -157,7 +168,7 @@ namespace vcpkg::Dependencies const std::unordered_set<std::string>& prevent_default_features = {}) const; void upgrade(const PackageSpec& spec) const; - std::vector<AnyAction> serialize() const; + std::vector<AnyAction> serialize(const CreateInstallPlanOptions& options = {}) const; private: std::unique_ptr<GraphPlan> m_graph_plan; @@ -174,9 +185,14 @@ namespace vcpkg::Dependencies const std::vector<FeatureSpec>& specs, const StatusParagraphs& status_db); + /// <summary>Figure out which actions are required to install features specifications in `specs`.</summary> + /// <param name="provider">Contains the ports of the current environment.</param> + /// <param name="specs">Feature specifications to resolve dependencies for.</param> + /// <param name="status_db">Status of installed packages in the current environment.</param> std::vector<AnyAction> create_feature_install_plan(const PortFileProvider& provider, const std::vector<FeatureSpec>& specs, - const StatusParagraphs& status_db); + const StatusParagraphs& status_db, + const CreateInstallPlanOptions& options = {}); void print_plan(const std::vector<AnyAction>& action_plan, const bool is_recursive = true); } diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index 551eee27b..5ca962744 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -2,6 +2,7 @@ #include <vcpkg/base/cache.h> #include <vcpkg/base/files.h> +#include <vcpkg/base/graphs.h> #include <vcpkg/base/stringliteral.h> #include <vcpkg/base/system.h> #include <vcpkg/base/util.h> @@ -30,14 +31,16 @@ namespace vcpkg::Commands::CI static constexpr StringLiteral OPTION_EXCLUDE = "--exclude"; static constexpr StringLiteral OPTION_PURGE_TOMBSTONES = "--purge-tombstones"; static constexpr StringLiteral OPTION_XUNIT = "--x-xunit"; + static constexpr StringLiteral OPTION_RANDOMIZE = "--x-randomize"; static constexpr std::array<CommandSetting, 2> CI_SETTINGS = {{ {OPTION_EXCLUDE, "Comma separated list of ports to skip"}, {OPTION_XUNIT, "File to output results in XUnit format (internal)"}, }}; - static constexpr std::array<CommandSwitch, 2> CI_SWITCHES = {{ + static constexpr std::array<CommandSwitch, 3> CI_SWITCHES = {{ {OPTION_DRY_RUN, "Print out plan without execution"}, + {OPTION_RANDOMIZE, "Randomize the install order"}, {OPTION_PURGE_TOMBSTONES, "Purge failure tombstones and retry building the ports"}, }}; @@ -69,7 +72,7 @@ namespace vcpkg::Commands::CI std::map<PackageSpec, std::string> abi_tag_map; std::set<PackageSpec> will_fail; - const Build::BuildPackageOptions install_plan_options = { + const Build::BuildPackageOptions build_options = { Build::UseHeadVersion::NO, Build::AllowDownloads::YES, Build::CleanBuildtrees::YES, @@ -81,7 +84,9 @@ namespace vcpkg::Commands::CI vcpkg::Cache<Triplet, Build::PreBuildInfo> pre_build_info_cache; - auto action_plan = Dependencies::create_feature_install_plan(provider, fspecs, StatusParagraphs {}); + auto action_plan = Dependencies::create_feature_install_plan(provider, fspecs, {}, {}); + + auto timer = Chrono::ElapsedTimer::create_started(); for (auto&& action : action_plan) { @@ -94,7 +99,7 @@ namespace vcpkg::Commands::CI auto triplet = p->spec.triplet(); const Build::BuildPackageConfig build_config { - *scf, triplet, paths.port_dir(p->spec), install_plan_options, p->feature_list}; + *scf, triplet, paths.port_dir(p->spec), build_options, p->feature_list}; auto dependency_abis = Util::fmap(p->computed_dependencies, [&](const PackageSpec& spec) -> Build::AbiEntry { @@ -174,6 +179,8 @@ namespace vcpkg::Commands::CI } } + System::print("Time to determine pass/fail: %s\n", timer.elapsed().to_string()); + return ret; } @@ -241,12 +248,31 @@ namespace vcpkg::Commands::CI for (auto&& fspec : fspecs) pgraph.install(fspec); + Dependencies::CreateInstallPlanOptions serialize_options; + + struct RandomizerInstance : Graphs::Randomizer + { + virtual int random(int i) override + { + if (i <= 1) return 0; + std::uniform_int_distribution<int> d(0, i - 1); + return d(e); + } + + std::random_device e; + } randomizer_instance; + + if (Util::Sets::contains(options.switches, OPTION_RANDOMIZE)) + { + serialize_options.randomizer = &randomizer_instance; + } + auto action_plan = [&]() { int iterations = 0; do { bool inconsistent = false; - auto action_plan = pgraph.serialize(); + auto action_plan = pgraph.serialize(serialize_options); for (auto&& action : action_plan) { diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index 60c43e4a8..19d8e7ae8 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -354,7 +354,7 @@ namespace vcpkg::Dependencies auto installed_ports = get_installed_ports(status_db); const std::unordered_set<PackageSpec> specs_as_set(specs.cbegin(), specs.cend()); - return Graphs::topological_sort(specs, RemoveAdjacencyProvider{status_db, installed_ports, specs_as_set}); + return Graphs::topological_sort(specs, RemoveAdjacencyProvider{status_db, installed_ports, specs_as_set}, {}); } std::vector<ExportPlanAction> create_export_plan(const std::vector<PackageSpec>& specs, @@ -396,7 +396,7 @@ namespace vcpkg::Dependencies const std::unordered_set<PackageSpec> specs_as_set(specs.cbegin(), specs.cend()); std::vector<ExportPlanAction> toposort = - Graphs::topological_sort(specs, ExportAdjacencyProvider{status_db, specs_as_set}); + Graphs::topological_sort(specs, ExportAdjacencyProvider{status_db, specs_as_set}, {}); return toposort; } @@ -605,13 +605,10 @@ namespace vcpkg::Dependencies } } - /// <summary>Figure out which actions are required to install features specifications in `specs`.</summary> - /// <param name="provider">Contains the ports of the current environment.</param> - /// <param name="specs">Feature specifications to resolve dependencies for.</param> - /// <param name="status_db">Status of installed packages in the current environment.</param> std::vector<AnyAction> create_feature_install_plan(const PortFileProvider& provider, const std::vector<FeatureSpec>& specs, - const StatusParagraphs& status_db) + const StatusParagraphs& status_db, + const CreateInstallPlanOptions& options) { std::unordered_set<std::string> prevent_default_features; for (auto&& spec : specs) @@ -628,7 +625,7 @@ namespace vcpkg::Dependencies pgraph.install(spec, prevent_default_features); } - return pgraph.serialize(); + return pgraph.serialize(options); } /// <summary>Figure out which actions are required to install features specifications in `specs`.</summary> @@ -672,13 +669,15 @@ namespace vcpkg::Dependencies mark_minus(spec_cluster, *m_graph, *m_graph_plan, {}); } - std::vector<AnyAction> PackageGraph::serialize() const + std::vector<AnyAction> PackageGraph::serialize(const CreateInstallPlanOptions& options) const { 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); + auto remove_toposort = + Graphs::topological_sort(remove_vertex_list, m_graph_plan->remove_graph, options.randomizer); 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); + auto insert_toposort = + Graphs::topological_sort(insert_vertex_list, m_graph_plan->install_graph, options.randomizer); std::vector<AnyAction> plan; |
