From 672632cf5bc5bddb7b35fb59ee8e39823b0a381b Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Wed, 1 Aug 2018 11:14:10 +0200 Subject: [PATCH 001/129] Upgrade to intermediate liblzma version --- ports/liblzma/portfile.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/liblzma/portfile.cmake b/ports/liblzma/portfile.cmake index 81c43a0f8..3b5fd8eb9 100644 --- a/ports/liblzma/portfile.cmake +++ b/ports/liblzma/portfile.cmake @@ -7,8 +7,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xz-mirror/xz - REF v5.2.3 - SHA512 d126666e58c6536aa7ae6aa6aac480f421e25aa61c4b5e7adb3de7b99423275a94d583ceaf0b15d559eaf9bc9be18f381cd46e49b1f8cb238c1d715876731063 + REF 06eebd4543196ded36fa9b8b9544195b38b24ef2 + SHA512 978f49412bb8edaf3ca9b3db958f2f558cceb674a8b1dc641e8030249e48a08a14ed4a637140a922ac2a873fc66a610e4bb87bcb8812f80a072caa29403fdc8c HEAD_REF master ) From 8f20694eb56e040c8a0a983cca23d8066da3adab Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Wed, 1 Aug 2018 11:20:18 +0200 Subject: [PATCH 002/129] Update liblzma to version 5.2.4 --- ports/liblzma/CMakeLists.txt | 2 +- ports/liblzma/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/liblzma/CMakeLists.txt b/ports/liblzma/CMakeLists.txt index 2c809a5aa..6b84c004a 100644 --- a/ports/liblzma/CMakeLists.txt +++ b/ports/liblzma/CMakeLists.txt @@ -12,7 +12,7 @@ if(NOT MSVC) endif() if(WIN32) - include_directories(windows) + include_directories(windows/vs2017) else() include_directories(${CMAKE_CURRENT_BINARY_DIR}) file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/config.h diff --git a/ports/liblzma/portfile.cmake b/ports/liblzma/portfile.cmake index 3b5fd8eb9..d146628bb 100644 --- a/ports/liblzma/portfile.cmake +++ b/ports/liblzma/portfile.cmake @@ -7,8 +7,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xz-mirror/xz - REF 06eebd4543196ded36fa9b8b9544195b38b24ef2 - SHA512 978f49412bb8edaf3ca9b3db958f2f558cceb674a8b1dc641e8030249e48a08a14ed4a637140a922ac2a873fc66a610e4bb87bcb8812f80a072caa29403fdc8c + REF v5.2.4 + SHA512 fce7dc65e77a9b89dbdd6192cb37efc39e3f2cf343f79b54d2dfcd845025dab0e1d5b0f59c264eab04e5cbaf914eeb4818d14cdaac3ae0c1c5de24418656a4b7 HEAD_REF master ) From f6998add292fa5ed66abfe87d2d8abc63866ea87 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Mon, 6 Aug 2018 01:34:10 -0700 Subject: [PATCH 003/129] [liblzma] Bump CONTROL version --- ports/liblzma/CONTROL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/liblzma/CONTROL b/ports/liblzma/CONTROL index c29002b9c..20c26f980 100644 --- a/ports/liblzma/CONTROL +++ b/ports/liblzma/CONTROL @@ -1,3 +1,3 @@ Source: liblzma -Version: 5.2.3-2 +Version: 5.2.4 Description: Compression library with an API similar to that of zlib. From 7dc3b44c3eca836de86ff80dad24adc3534a1eab Mon Sep 17 00:00:00 2001 From: Seo Sanghyeon Date: Mon, 20 Aug 2018 16:36:16 +0900 Subject: [PATCH 004/129] [uriparser] Update to 0.8.6 --- ports/uriparser/CONTROL | 2 +- ports/uriparser/portfile.cmake | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/ports/uriparser/CONTROL b/ports/uriparser/CONTROL index 553d44de9..4a2789309 100644 --- a/ports/uriparser/CONTROL +++ b/ports/uriparser/CONTROL @@ -1,3 +1,3 @@ Source: uriparser -Version: 0.8.5 +Version: 0.8.6 Description: uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C. uriparser is cross-platform, fast, supports Unicode diff --git a/ports/uriparser/portfile.cmake b/ports/uriparser/portfile.cmake index cb8f1b14a..262c43592 100644 --- a/ports/uriparser/portfile.cmake +++ b/ports/uriparser/portfile.cmake @@ -1,11 +1,10 @@ - include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uriparser/uriparser - REF uriparser-0.8.5 - SHA512 b5a4eb316b96bdd5b87cac9fdd30b8988c158914e71030a45aafabd04df67a94bba9696782d98e9fa2169baf351e95ab1479bc76d8afe37968a941bc27a3ffb6 + REF uriparser-0.8.6 + SHA512 281063a3cde215142305815b6469f96fe670d3693ae1add36683368c8b7e8fb04624bfb9a57770f0c5b8b5586419cb713a6d98aa29c34b9b2382682a71bff084 HEAD_REF master ) From c217e602311fd9f0d919a8ec45a9f2040f9f5561 Mon Sep 17 00:00:00 2001 From: atkawa7 Date: Thu, 30 Aug 2018 22:12:11 +0200 Subject: [PATCH 005/129] darts clone init --- ports/darts-clone/CMakeLists.txt | 29 +++++++++++++++++++++++++++++ ports/darts-clone/CONTROL | 3 +++ ports/darts-clone/portfile.cmake | 26 ++++++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 ports/darts-clone/CMakeLists.txt create mode 100644 ports/darts-clone/CONTROL create mode 100644 ports/darts-clone/portfile.cmake diff --git a/ports/darts-clone/CMakeLists.txt b/ports/darts-clone/CMakeLists.txt new file mode 100644 index 000000000..024cd2f74 --- /dev/null +++ b/ports/darts-clone/CMakeLists.txt @@ -0,0 +1,29 @@ +cmake_minimum_required(VERSION 3.8) +project(darts) + +if(MSVC) + add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) +endif() + +add_library(darts src/darts.cc) + +target_include_directories(darts + PUBLIC + $ + $ + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src +) + +install( + TARGETS darts + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +if(NOT DISABLE_INSTALL_HEADERS) + install( + DIRECTORY include/ DESTINATION include/ + ) +endif() diff --git a/ports/darts-clone/CONTROL b/ports/darts-clone/CONTROL new file mode 100644 index 000000000..2d34f86c7 --- /dev/null +++ b/ports/darts-clone/CONTROL @@ -0,0 +1,3 @@ +Source: darts-clone +Version: 1767ab87cffe +Description: A static double-array trie structure diff --git a/ports/darts-clone/portfile.cmake b/ports/darts-clone/portfile.cmake new file mode 100644 index 000000000..2979e83b5 --- /dev/null +++ b/ports/darts-clone/portfile.cmake @@ -0,0 +1,26 @@ +include(vcpkg_common_functions) +vcpkg_check_linkage( + ONLY_STATIC_LIBRARY +) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO s-yata/darts-clone + REF 1767ab87cffe7302856d1bb41e1c21b1df93f19e + SHA512 63112a4d8d6302d2602a8f161bf5fe5ec1b5b3b3097de9b28331f5261d76c06efb48601c08df26f242ddc881b917928baf54f24ccebac65da29e94380b6db0f5 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/COPYING.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/darts-clone RENAME copyright) From e5da089bb9f9c15ebad750ee737f6adbbf9956f8 Mon Sep 17 00:00:00 2001 From: atkawa7 Date: Thu, 30 Aug 2018 22:29:16 +0200 Subject: [PATCH 006/129] esaxx init --- ports/esaxx/CONTROL | 3 +++ ports/esaxx/portfile.cmake | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 ports/esaxx/CONTROL create mode 100644 ports/esaxx/portfile.cmake diff --git a/ports/esaxx/CONTROL b/ports/esaxx/CONTROL new file mode 100644 index 000000000..48b7eebec --- /dev/null +++ b/ports/esaxx/CONTROL @@ -0,0 +1,3 @@ +Source: esaxx +Version: ca7cb332011ec37 +Description: This library provides the implementation of enhanced suffix array. diff --git a/ports/esaxx/portfile.cmake b/ports/esaxx/portfile.cmake new file mode 100644 index 000000000..93e24ff36 --- /dev/null +++ b/ports/esaxx/portfile.cmake @@ -0,0 +1,17 @@ +#header-only library +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO hillbig/esaxx + REF ca7cb332011ec37a8436487f210f396b84bd8273 + SHA512 8346fc93498f7979fd422db527d0e2db73080b2c372263a72a887ddc8328a29391bce6def5845f4500a180f5c2e641105d0ce108092e6eac9020c6bd67fb46df +) + +file(INSTALL + ${SOURCE_PATH}/esa.hxx + DESTINATION ${CURRENT_PACKAGES_DIR}/include +) + +# Handle copyright/readme/package files +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/esaxx RENAME copyright) From c4ed0f743bbdfaa346e74309c26fed1c20dc6277 Mon Sep 17 00:00:00 2001 From: atkawa7 Date: Thu, 30 Aug 2018 23:01:52 +0200 Subject: [PATCH 007/129] woff2 init --- ports/woff2/CONTROL | 4 ++++ ports/woff2/portfile.cmake | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 ports/woff2/CONTROL create mode 100644 ports/woff2/portfile.cmake diff --git a/ports/woff2/CONTROL b/ports/woff2/CONTROL new file mode 100644 index 000000000..e4e6511ca --- /dev/null +++ b/ports/woff2/CONTROL @@ -0,0 +1,4 @@ +Source: woff2 +Version: 1.0.2 +Build-Depends: brotli +Description: font compression reference code diff --git a/ports/woff2/portfile.cmake b/ports/woff2/portfile.cmake new file mode 100644 index 000000000..41efbba0a --- /dev/null +++ b/ports/woff2/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage( + ONLY_STATIC_LIBRARY +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/woff2 + REF v1.0.2 + SHA512 c788bba1530aec463e755e901f9342f4b599e3a07f54645fef1dc388ab5d5c30625535e5dd38e9e792e04a640574baa50eeefb6b7338ab403755f4a4e0c3044d + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(COPY ${CURRENT_PACKAGES_DIR}/bin/ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/woff2) +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/bin + ${CURRENT_PACKAGES_DIR}/debug/bin + ${CURRENT_PACKAGES_DIR}/debug/include +) + +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/woff2) +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/woff2 RENAME copyright) From fce90776f95c2192d31f9b60429a37fc8db7d6a5 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Fri, 31 Aug 2018 18:18:10 +0800 Subject: [PATCH 008/129] [nng] Add mbedtls feature --- ports/nng/CONTROL | 4 ++++ ports/nng/portfile.cmake | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/ports/nng/CONTROL b/ports/nng/CONTROL index 9db656338..b70aaa5b0 100644 --- a/ports/nng/CONTROL +++ b/ports/nng/CONTROL @@ -1,3 +1,7 @@ Source: nng Version: 1.0.1 Description: NNG, like its predecessors nanomsg (and to some extent ZeroMQ), is a lightweight, broker-less library, offering a simple API to solve common recurring messaging problems, such as publish/subscribe, RPC-style request/reply, or service discovery. + +Feature: mbedtls +Description: nng built with TLS support(needs mbedTLS) +Build-Depends: mbedtls diff --git a/ports/nng/portfile.cmake b/ports/nng/portfile.cmake index f0da2d5d2..d7465170a 100644 --- a/ports/nng/portfile.cmake +++ b/ports/nng/portfile.cmake @@ -11,6 +11,12 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" NNG_STATIC_LIB) +if("mbedtls" IN_LIST FEATURES) + set(NNG_ENABLE_TLS ON) +else() + set(NNG_ENABLE_TLS OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -19,6 +25,7 @@ vcpkg_configure_cmake( -DNNG_STATIC_LIB=${NNG_STATIC_LIB} -DNNG_TESTS=OFF -DNNG_ENABLE_NNGCAT=OFF + -DNNG_ENABLE_TLS=${NNG_ENABLE_TLS} ) vcpkg_install_cmake() From d290e8a29fe475203653dd50e86840ec0afd6680 Mon Sep 17 00:00:00 2001 From: atkawa7 Date: Fri, 31 Aug 2018 15:53:58 +0200 Subject: [PATCH 009/129] modp-base64 init --- ports/modp-base64/CMakeLists.txt | 32 ++ ports/modp-base64/CONTROL | 3 + ports/modp-base64/config.h.cmake | 4 + ports/modp-base64/libmodpbase64.def | 4 + ports/modp-base64/modp_b64_data.h | 480 ++++++++++++++++++++++++++++ ports/modp-base64/portfile.cmake | 33 ++ 6 files changed, 556 insertions(+) create mode 100644 ports/modp-base64/CMakeLists.txt create mode 100644 ports/modp-base64/CONTROL create mode 100644 ports/modp-base64/config.h.cmake create mode 100644 ports/modp-base64/libmodpbase64.def create mode 100644 ports/modp-base64/modp_b64_data.h create mode 100644 ports/modp-base64/portfile.cmake diff --git a/ports/modp-base64/CMakeLists.txt b/ports/modp-base64/CMakeLists.txt new file mode 100644 index 000000000..d470ccc20 --- /dev/null +++ b/ports/modp-base64/CMakeLists.txt @@ -0,0 +1,32 @@ +cmake_minimum_required(VERSION 3.8) +project(libmodpbase64 C) + +if(MSVC) + add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) +endif() + + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake" +"${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY) + + +include_directories(src ${CMAKE_CURRENT_BINARY_DIR}) + + +add_library(libmodpbase64 src/modp_b64.c libmodpbase64.def) + + +install( + TARGETS libmodpbase64 + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + + +if(NOT DISABLE_INSTALL_HEADERS) + install( + FILES src/modp_b64.h + DESTINATION include + ) +endif() diff --git a/ports/modp-base64/CONTROL b/ports/modp-base64/CONTROL new file mode 100644 index 000000000..3f277871a --- /dev/null +++ b/ports/modp-base64/CONTROL @@ -0,0 +1,3 @@ +Source: modp-base64 +Version: +Description: diff --git a/ports/modp-base64/config.h.cmake b/ports/modp-base64/config.h.cmake new file mode 100644 index 000000000..da32c2481 --- /dev/null +++ b/ports/modp-base64/config.h.cmake @@ -0,0 +1,4 @@ +#ifndef MODP_CONFIG_H +#define MODP_CONFIG_H + +#endif diff --git a/ports/modp-base64/libmodpbase64.def b/ports/modp-base64/libmodpbase64.def new file mode 100644 index 000000000..defd83b15 --- /dev/null +++ b/ports/modp-base64/libmodpbase64.def @@ -0,0 +1,4 @@ +LIBRARY libmodpbase64 +EXPORTS + modp_b64_encode @1 + modp_b64_decode @2 diff --git a/ports/modp-base64/modp_b64_data.h b/ports/modp-base64/modp_b64_data.h new file mode 100644 index 000000000..e3c54b4bc --- /dev/null +++ b/ports/modp-base64/modp_b64_data.h @@ -0,0 +1,480 @@ +#include +#define CHAR62 '+' +#define CHAR63 '/' +#define CHARPAD '=' +static const char e0[256] = { + 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', + 'C', 'C', 'D', 'D', 'D', 'D', 'E', 'E', 'E', 'E', + 'F', 'F', 'F', 'F', 'G', 'G', 'G', 'G', 'H', 'H', + 'H', 'H', 'I', 'I', 'I', 'I', 'J', 'J', 'J', 'J', + 'K', 'K', 'K', 'K', 'L', 'L', 'L', 'L', 'M', 'M', + 'M', 'M', 'N', 'N', 'N', 'N', 'O', 'O', 'O', 'O', + 'P', 'P', 'P', 'P', 'Q', 'Q', 'Q', 'Q', 'R', 'R', + 'R', 'R', 'S', 'S', 'S', 'S', 'T', 'T', 'T', 'T', + 'U', 'U', 'U', 'U', 'V', 'V', 'V', 'V', 'W', 'W', + 'W', 'W', 'X', 'X', 'X', 'X', 'Y', 'Y', 'Y', 'Y', + 'Z', 'Z', 'Z', 'Z', 'a', 'a', 'a', 'a', 'b', 'b', + 'b', 'b', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd', + 'e', 'e', 'e', 'e', 'f', 'f', 'f', 'f', 'g', 'g', + 'g', 'g', 'h', 'h', 'h', 'h', 'i', 'i', 'i', 'i', + 'j', 'j', 'j', 'j', 'k', 'k', 'k', 'k', 'l', 'l', + 'l', 'l', 'm', 'm', 'm', 'm', 'n', 'n', 'n', 'n', + 'o', 'o', 'o', 'o', 'p', 'p', 'p', 'p', 'q', 'q', + 'q', 'q', 'r', 'r', 'r', 'r', 's', 's', 's', 's', + 't', 't', 't', 't', 'u', 'u', 'u', 'u', 'v', 'v', + 'v', 'v', 'w', 'w', 'w', 'w', 'x', 'x', 'x', 'x', + 'y', 'y', 'y', 'y', 'z', 'z', 'z', 'z', '0', '0', + '0', '0', '1', '1', '1', '1', '2', '2', '2', '2', + '3', '3', '3', '3', '4', '4', '4', '4', '5', '5', + '5', '5', '6', '6', '6', '6', '7', '7', '7', '7', + '8', '8', '8', '8', '9', '9', '9', '9', '+', '+', + '+', '+', '/', '/', '/', '/' +}; + +static const char e1[256] = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', + 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', + 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', + 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', + 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', + 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', '+', '/', 'A', 'B', 'C', 'D', 'E', 'F', + 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', + 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', + 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', + 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', + '4', '5', '6', '7', '8', '9', '+', '/', 'A', 'B', + 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', + 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', + 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + '+', '/', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', + 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', + 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', + 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', + 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', + 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', + '6', '7', '8', '9', '+', '/' +}; + +static const char e2[256] = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', + 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', + 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', + 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', + 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', + 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', '+', '/', 'A', 'B', 'C', 'D', 'E', 'F', + 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', + 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', + 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', + 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', + '4', '5', '6', '7', '8', '9', '+', '/', 'A', 'B', + 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', + 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', + 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + '+', '/', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', + 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', + 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', + 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', + 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', + 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', + '6', '7', '8', '9', '+', '/' +}; + + + +#ifdef WORDS_BIGENDIAN + + +/* SPECIAL DECODE TABLES FOR BIG ENDIAN (IBM/MOTOROLA/SUN) CPUS */ + +static const uint32_t d0[256] = { +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x00f80000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00fc0000, +0x00d00000, 0x00d40000, 0x00d80000, 0x00dc0000, 0x00e00000, 0x00e40000, +0x00e80000, 0x00ec0000, 0x00f00000, 0x00f40000, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000000, +0x00040000, 0x00080000, 0x000c0000, 0x00100000, 0x00140000, 0x00180000, +0x001c0000, 0x00200000, 0x00240000, 0x00280000, 0x002c0000, 0x00300000, +0x00340000, 0x00380000, 0x003c0000, 0x00400000, 0x00440000, 0x00480000, +0x004c0000, 0x00500000, 0x00540000, 0x00580000, 0x005c0000, 0x00600000, +0x00640000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x00680000, 0x006c0000, 0x00700000, 0x00740000, 0x00780000, +0x007c0000, 0x00800000, 0x00840000, 0x00880000, 0x008c0000, 0x00900000, +0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x00a40000, 0x00a80000, +0x00ac0000, 0x00b00000, 0x00b40000, 0x00b80000, 0x00bc0000, 0x00c00000, +0x00c40000, 0x00c80000, 0x00cc0000, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff +}; + + +static const uint32_t d1[256] = { +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x0003e000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0003f000, +0x00034000, 0x00035000, 0x00036000, 0x00037000, 0x00038000, 0x00039000, +0x0003a000, 0x0003b000, 0x0003c000, 0x0003d000, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000000, +0x00001000, 0x00002000, 0x00003000, 0x00004000, 0x00005000, 0x00006000, +0x00007000, 0x00008000, 0x00009000, 0x0000a000, 0x0000b000, 0x0000c000, +0x0000d000, 0x0000e000, 0x0000f000, 0x00010000, 0x00011000, 0x00012000, +0x00013000, 0x00014000, 0x00015000, 0x00016000, 0x00017000, 0x00018000, +0x00019000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x0001a000, 0x0001b000, 0x0001c000, 0x0001d000, 0x0001e000, +0x0001f000, 0x00020000, 0x00021000, 0x00022000, 0x00023000, 0x00024000, +0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x00029000, 0x0002a000, +0x0002b000, 0x0002c000, 0x0002d000, 0x0002e000, 0x0002f000, 0x00030000, +0x00031000, 0x00032000, 0x00033000, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff +}; + + +static const uint32_t d2[256] = { +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x00000f80, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000fc0, +0x00000d00, 0x00000d40, 0x00000d80, 0x00000dc0, 0x00000e00, 0x00000e40, +0x00000e80, 0x00000ec0, 0x00000f00, 0x00000f40, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000000, +0x00000040, 0x00000080, 0x000000c0, 0x00000100, 0x00000140, 0x00000180, +0x000001c0, 0x00000200, 0x00000240, 0x00000280, 0x000002c0, 0x00000300, +0x00000340, 0x00000380, 0x000003c0, 0x00000400, 0x00000440, 0x00000480, +0x000004c0, 0x00000500, 0x00000540, 0x00000580, 0x000005c0, 0x00000600, +0x00000640, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x00000680, 0x000006c0, 0x00000700, 0x00000740, 0x00000780, +0x000007c0, 0x00000800, 0x00000840, 0x00000880, 0x000008c0, 0x00000900, +0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x00000a40, 0x00000a80, +0x00000ac0, 0x00000b00, 0x00000b40, 0x00000b80, 0x00000bc0, 0x00000c00, +0x00000c40, 0x00000c80, 0x00000cc0, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff +}; + + +static const uint32_t d3[256] = { +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x0000003e, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000003f, +0x00000034, 0x00000035, 0x00000036, 0x00000037, 0x00000038, 0x00000039, +0x0000003a, 0x0000003b, 0x0000003c, 0x0000003d, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000000, +0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, +0x00000007, 0x00000008, 0x00000009, 0x0000000a, 0x0000000b, 0x0000000c, +0x0000000d, 0x0000000e, 0x0000000f, 0x00000010, 0x00000011, 0x00000012, +0x00000013, 0x00000014, 0x00000015, 0x00000016, 0x00000017, 0x00000018, +0x00000019, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x0000001a, 0x0000001b, 0x0000001c, 0x0000001d, 0x0000001e, +0x0000001f, 0x00000020, 0x00000021, 0x00000022, 0x00000023, 0x00000024, +0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, 0x0000002a, +0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, 0x00000030, +0x00000031, 0x00000032, 0x00000033, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff +}; + + +#else + + +/* SPECIAL DECODE TABLES FOR LITTLE ENDIAN (INTEL) CPUS */ + +static const uint32_t d0[256] = { +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x000000f8, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x000000fc, +0x000000d0, 0x000000d4, 0x000000d8, 0x000000dc, 0x000000e0, 0x000000e4, +0x000000e8, 0x000000ec, 0x000000f0, 0x000000f4, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000000, +0x00000004, 0x00000008, 0x0000000c, 0x00000010, 0x00000014, 0x00000018, +0x0000001c, 0x00000020, 0x00000024, 0x00000028, 0x0000002c, 0x00000030, +0x00000034, 0x00000038, 0x0000003c, 0x00000040, 0x00000044, 0x00000048, +0x0000004c, 0x00000050, 0x00000054, 0x00000058, 0x0000005c, 0x00000060, +0x00000064, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x00000068, 0x0000006c, 0x00000070, 0x00000074, 0x00000078, +0x0000007c, 0x00000080, 0x00000084, 0x00000088, 0x0000008c, 0x00000090, +0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x000000a4, 0x000000a8, +0x000000ac, 0x000000b0, 0x000000b4, 0x000000b8, 0x000000bc, 0x000000c0, +0x000000c4, 0x000000c8, 0x000000cc, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff +}; + + +static const uint32_t d1[256] = { +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x0000e003, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000f003, +0x00004003, 0x00005003, 0x00006003, 0x00007003, 0x00008003, 0x00009003, +0x0000a003, 0x0000b003, 0x0000c003, 0x0000d003, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000000, +0x00001000, 0x00002000, 0x00003000, 0x00004000, 0x00005000, 0x00006000, +0x00007000, 0x00008000, 0x00009000, 0x0000a000, 0x0000b000, 0x0000c000, +0x0000d000, 0x0000e000, 0x0000f000, 0x00000001, 0x00001001, 0x00002001, +0x00003001, 0x00004001, 0x00005001, 0x00006001, 0x00007001, 0x00008001, +0x00009001, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x0000a001, 0x0000b001, 0x0000c001, 0x0000d001, 0x0000e001, +0x0000f001, 0x00000002, 0x00001002, 0x00002002, 0x00003002, 0x00004002, +0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x00009002, 0x0000a002, +0x0000b002, 0x0000c002, 0x0000d002, 0x0000e002, 0x0000f002, 0x00000003, +0x00001003, 0x00002003, 0x00003003, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff +}; + + +static const uint32_t d2[256] = { +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x00800f00, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00c00f00, +0x00000d00, 0x00400d00, 0x00800d00, 0x00c00d00, 0x00000e00, 0x00400e00, +0x00800e00, 0x00c00e00, 0x00000f00, 0x00400f00, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000000, +0x00400000, 0x00800000, 0x00c00000, 0x00000100, 0x00400100, 0x00800100, +0x00c00100, 0x00000200, 0x00400200, 0x00800200, 0x00c00200, 0x00000300, +0x00400300, 0x00800300, 0x00c00300, 0x00000400, 0x00400400, 0x00800400, +0x00c00400, 0x00000500, 0x00400500, 0x00800500, 0x00c00500, 0x00000600, +0x00400600, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x00800600, 0x00c00600, 0x00000700, 0x00400700, 0x00800700, +0x00c00700, 0x00000800, 0x00400800, 0x00800800, 0x00c00800, 0x00000900, +0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x00400a00, 0x00800a00, +0x00c00a00, 0x00000b00, 0x00400b00, 0x00800b00, 0x00c00b00, 0x00000c00, +0x00400c00, 0x00800c00, 0x00c00c00, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff +}; + + +static const uint32_t d3[256] = { +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x003e0000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x003f0000, +0x00340000, 0x00350000, 0x00360000, 0x00370000, 0x00380000, 0x00390000, +0x003a0000, 0x003b0000, 0x003c0000, 0x003d0000, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000000, +0x00010000, 0x00020000, 0x00030000, 0x00040000, 0x00050000, 0x00060000, +0x00070000, 0x00080000, 0x00090000, 0x000a0000, 0x000b0000, 0x000c0000, +0x000d0000, 0x000e0000, 0x000f0000, 0x00100000, 0x00110000, 0x00120000, +0x00130000, 0x00140000, 0x00150000, 0x00160000, 0x00170000, 0x00180000, +0x00190000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x001a0000, 0x001b0000, 0x001c0000, 0x001d0000, 0x001e0000, +0x001f0000, 0x00200000, 0x00210000, 0x00220000, 0x00230000, 0x00240000, +0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x00290000, 0x002a0000, +0x002b0000, 0x002c0000, 0x002d0000, 0x002e0000, 0x002f0000, 0x00300000, +0x00310000, 0x00320000, 0x00330000, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, +0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff +}; + + +#endif diff --git a/ports/modp-base64/portfile.cmake b/ports/modp-base64/portfile.cmake new file mode 100644 index 000000000..3ff058474 --- /dev/null +++ b/ports/modp-base64/portfile.cmake @@ -0,0 +1,33 @@ +include(vcpkg_common_functions) + +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/modp-base64-v2.0.0) +vcpkg_download_distfile(ARCHIVE + URLS "https://web.archive.org/web/20060620024518/http://modp.com:80/release/base64/modp-base64-v2.0.0.tar.bz2" + FILENAME "modp-base64-v2.0.0.tar.bz2" + SHA512 474e20cbbc47f31af5e981a6a9028fcec57e3ae9bb5ba979aa5c5c4cab6f301208fe6f441a0106df4c223d89fb6f18b19ab8812cf9f3c9900e54524e35b45720 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt + ${CMAKE_CURRENT_LIST_DIR}/config.h.cmake + ${CMAKE_CURRENT_LIST_DIR}/libmodpbase64.def + DESTINATION ${SOURCE_PATH} +) +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/modp_b64_data.h + DESTINATION ${SOURCE_PATH}/src +) + + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_install_cmake() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/modp-base64 RENAME copyright) From 807e40d342470d9cf784e346c1bd5f9084f0270f Mon Sep 17 00:00:00 2001 From: atkawa7 Date: Fri, 31 Aug 2018 16:47:50 +0200 Subject: [PATCH 010/129] fastfeat init --- ports/fastfeat/CMakeLists.txt | 24 ++++++++++++++++++++++++ ports/fastfeat/CONTROL | 3 +++ ports/fastfeat/fastfeat.def | 19 +++++++++++++++++++ ports/fastfeat/portfile.cmake | 28 ++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+) create mode 100644 ports/fastfeat/CMakeLists.txt create mode 100644 ports/fastfeat/CONTROL create mode 100644 ports/fastfeat/fastfeat.def create mode 100644 ports/fastfeat/portfile.cmake diff --git a/ports/fastfeat/CMakeLists.txt b/ports/fastfeat/CMakeLists.txt new file mode 100644 index 000000000..89f1dc226 --- /dev/null +++ b/ports/fastfeat/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 3.8) +project(fastfeat) + +if(MSVC) + add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) +endif() + +include_directories(.) +file( GLOB SRCS *.c *.def) +add_library(fastfeat ${SRCS}) + + +install( + TARGETS fastfeat + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +if(NOT DISABLE_INSTALL_HEADERS) + install( + FILES fast.h DESTINATION include + ) +endif() diff --git a/ports/fastfeat/CONTROL b/ports/fastfeat/CONTROL new file mode 100644 index 000000000..ff76128fc --- /dev/null +++ b/ports/fastfeat/CONTROL @@ -0,0 +1,3 @@ +Source: fastfeat +Version: 391d5e9 +Description: FAST feature detectors in C diff --git a/ports/fastfeat/fastfeat.def b/ports/fastfeat/fastfeat.def new file mode 100644 index 000000000..21e048362 --- /dev/null +++ b/ports/fastfeat/fastfeat.def @@ -0,0 +1,19 @@ +LIBRARY fastfeat +EXPORTS + fast9_detect_nonmax @1 + fast10_detect_nonmax @2 + fast9_corner_score @3 + fast10_corner_score @4 + fast11_corner_score @5 + fast12_corner_score @6 + fast9_detect @7 + fast10_detect @8 + fast11_detect @9 + fast12_detect @10 + fast9_score @11 + fast10_score @12 + fast11_score @13 + fast12_score @14 + fast11_detect_nonmax @15 + fast12_detect_nonmax @16 + nonmax_suppression @17 diff --git a/ports/fastfeat/portfile.cmake b/ports/fastfeat/portfile.cmake new file mode 100644 index 000000000..95d178ea4 --- /dev/null +++ b/ports/fastfeat/portfile.cmake @@ -0,0 +1,28 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO edrosten/fast-C-src + REF 391d5e939eb1545d24c10533d7de424db8d9c191 + SHA512 d6f401e2f80193c4f1f99e1ef59af7107d674c515574cf513c5977c4c95c49c0520d2a6e6787f617b42d9e3bd93c78b8fa7f1d8dc8901351820590078e62130e + HEAD_REF master +) + + +file(COPY +${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt + ${CMAKE_CURRENT_LIST_DIR}/fastfeat.def +DESTINATION ${SOURCE_PATH} +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fastfeat RENAME copyright) From 606d14359dfa78cf476e1b2b9090f463ec51680a Mon Sep 17 00:00:00 2001 From: atkawa7 Date: Fri, 31 Aug 2018 19:49:21 +0200 Subject: [PATCH 011/129] linenoise init --- ports/linenoise-ng/CONTROL | 3 +++ ports/linenoise-ng/portfile.cmake | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 ports/linenoise-ng/CONTROL create mode 100644 ports/linenoise-ng/portfile.cmake diff --git a/ports/linenoise-ng/CONTROL b/ports/linenoise-ng/CONTROL new file mode 100644 index 000000000..8023c7f7d --- /dev/null +++ b/ports/linenoise-ng/CONTROL @@ -0,0 +1,3 @@ +Source: linenoise-ng +Version: 4754bee2d8eb3 +Description: A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. \ No newline at end of file diff --git a/ports/linenoise-ng/portfile.cmake b/ports/linenoise-ng/portfile.cmake new file mode 100644 index 000000000..c5e448e86 --- /dev/null +++ b/ports/linenoise-ng/portfile.cmake @@ -0,0 +1,22 @@ +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO arangodb/linenoise-ng + REF 4754bee2d8eb3c4511e6ac87cac62255b2011e2f + SHA512 080c6b4cde911a162885a2e6fc95143ab481b4dcc0f8b871a55a071ccb4ab868b19201ec17475a3c3ceef1b82325d757913383b3c46da6946ddc8bfc0d82d9ca + HEAD_REF master +) + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/linenoise-ng RENAME copyright) From 8e973d56983355dfd0c39e474359a024aabbe351 Mon Sep 17 00:00:00 2001 From: atkawa7 Date: Fri, 31 Aug 2018 23:34:58 +0200 Subject: [PATCH 012/129] usrsctp init --- ports/usrsctp/CONTROL | 3 +++ ports/usrsctp/portfile.cmake | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 ports/usrsctp/CONTROL create mode 100644 ports/usrsctp/portfile.cmake diff --git a/ports/usrsctp/CONTROL b/ports/usrsctp/CONTROL new file mode 100644 index 000000000..5e5f172ba --- /dev/null +++ b/ports/usrsctp/CONTROL @@ -0,0 +1,3 @@ +Source: usrsctp +Version: 35c1d97020a +Description: This is a userland SCTP stack supporting FreeBSD, Linux, Mac OS X and Windows. diff --git a/ports/usrsctp/portfile.cmake b/ports/usrsctp/portfile.cmake new file mode 100644 index 000000000..863b3f75c --- /dev/null +++ b/ports/usrsctp/portfile.cmake @@ -0,0 +1,36 @@ +include(vcpkg_common_functions) +vcpkg_check_linkage( + ONLY_STATIC_LIBRARY +) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sctplab/usrsctp + REF 35c1d97020a20014b989bba4f20225fd9429c4f4 + SHA512 18786825ec2c8c8aeb6b0bcab97deeac40420f7a9bdb427c891b26633ff759266409381ae2545c5572a740322ae1a56f80da1a784d71e50fce97177c343d27ce + HEAD_REF master +) + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(GLOB_RECURSE release_dlls ${CURRENT_PACKAGES_DIR}/lib/*.dll) +file(GLOB_RECURSE debug_dlls ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) + +if(release_dlls) + file(REMOVE ${release_dlls}) +endif() +if(debug_dlls) + file(REMOVE ${debug_dlls}) +endif() + + +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/usrsctp RENAME copyright) From 88bc18918c91b6bccc95b41b5d4333a482102730 Mon Sep 17 00:00:00 2001 From: the-j0k3r <31389848+the-j0k3r@users.noreply.github.com> Date: Sun, 2 Sep 2018 10:28:10 +0100 Subject: [PATCH 013/129] [openssl] bump to 1.0.2p CVE-2018-0732 (#4130) * [openssl] bump to 1.0.2p CVE-2018-0732 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-0732 https://www.openssl.org/news/vulnerabilities.html * [openssl-unix][openssl-windows] Update control files for 1.0.2p * [openssl-windows][openssl-uwp] Update hashes * [libusbmuxd][libplist] Disable LTCG to enable compiler upgrades * [libirecovery] Add missing getopt dependency --- ports/libirecovery/CONTROL | 4 ++-- ports/libplist/CONTROL | 2 +- ports/libplist/portfile.cmake | 3 +++ ports/libusbmuxd/CONTROL | 2 +- ports/libusbmuxd/portfile.cmake | 3 +++ ports/openssl-unix/CONTROL | 2 +- ports/openssl-unix/portfile.cmake | 4 ++-- ports/openssl-windows/CONTROL | 2 +- ports/openssl-windows/portfile.cmake | 4 ++-- 9 files changed, 16 insertions(+), 10 deletions(-) diff --git a/ports/libirecovery/CONTROL b/ports/libirecovery/CONTROL index 0916cd698..c3f423b93 100644 --- a/ports/libirecovery/CONTROL +++ b/ports/libirecovery/CONTROL @@ -1,4 +1,4 @@ Source: libirecovery -Version: 1.0.25-1 +Version: 1.0.25-2 Description: Library and utility to talk to iBoot/iBSS via USB on Mac OS X, Windows, and Linux -Build-Depends: libusbmuxd, readline \ No newline at end of file +Build-Depends: libusbmuxd, readline, getopt \ No newline at end of file diff --git a/ports/libplist/CONTROL b/ports/libplist/CONTROL index 22e209d14..bb7db384c 100644 --- a/ports/libplist/CONTROL +++ b/ports/libplist/CONTROL @@ -1,3 +1,3 @@ Source: libplist -Version: 2.0.1.197-1 +Version: 2.0.1.197-2 Description: A library to handle Apple Property List format in binary or XML diff --git a/ports/libplist/portfile.cmake b/ports/libplist/portfile.cmake index e7761884d..51549e4ca 100644 --- a/ports/libplist/portfile.cmake +++ b/ports/libplist/portfile.cmake @@ -11,6 +11,9 @@ vcpkg_from_github( PATCHES dllexport.patch ) +set(ENV{_CL_} "$ENV{_CL_} /GL-") +set(ENV{_LINK_} "$ENV{_LINK_} /LTCG:OFF") + vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} PROJECT_SUBPATH libplist.sln diff --git a/ports/libusbmuxd/CONTROL b/ports/libusbmuxd/CONTROL index b93c9d379..3773d17f9 100644 --- a/ports/libusbmuxd/CONTROL +++ b/ports/libusbmuxd/CONTROL @@ -1,4 +1,4 @@ Source: libusbmuxd -Version: 1.0.107-1 +Version: 1.0.107-2 Description: A client library to multiplex connections from and to iOS devices Build-Depends: libplist diff --git a/ports/libusbmuxd/portfile.cmake b/ports/libusbmuxd/portfile.cmake index 36414f68d..c4d338b19 100644 --- a/ports/libusbmuxd/portfile.cmake +++ b/ports/libusbmuxd/portfile.cmake @@ -11,6 +11,9 @@ vcpkg_from_github( PATCHES dllexport.patch ) +set(ENV{_CL_} "$ENV{_CL_} /GL-") +set(ENV{_LINK_} "$ENV{_LINK_} /LTCG:OFF") + vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} PROJECT_SUBPATH libusbmuxd.sln diff --git a/ports/openssl-unix/CONTROL b/ports/openssl-unix/CONTROL index db47c018b..6413eb371 100644 --- a/ports/openssl-unix/CONTROL +++ b/ports/openssl-unix/CONTROL @@ -1,3 +1,3 @@ Source: openssl-unix -Version: 1.0.2o-1 +Version: 1.0.2p 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-unix/portfile.cmake b/ports/openssl-unix/portfile.cmake index 7bfbb06e5..1484fc66c 100644 --- a/ports/openssl-unix/portfile.cmake +++ b/ports/openssl-unix/portfile.cmake @@ -3,7 +3,7 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAM endif() include(vcpkg_common_functions) -set(OPENSSL_VERSION 1.0.2o) +set(OPENSSL_VERSION 1.0.2p) set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION}) vcpkg_find_acquire_program(PERL) @@ -11,7 +11,7 @@ vcpkg_find_acquire_program(PERL) vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 8a2c93657c85143e76785bb32ee836908c31a6f5f8db993fa9777acba6079e630cdddd03edbad65d1587199fc13a1507789eacf038b56eb99139c2091d9df7fd + SHA512 958c5a7c3324bbdc8f07dfb13e11329d9a1b4452c07cf41fbd2d42b5fe29c95679332a3476d24c2dc2b88be16e4a24744aba675a05a388c0905756c77a8a2f16 ) vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE}) diff --git a/ports/openssl-windows/CONTROL b/ports/openssl-windows/CONTROL index a9c10c583..f2e196982 100644 --- a/ports/openssl-windows/CONTROL +++ b/ports/openssl-windows/CONTROL @@ -1,3 +1,3 @@ Source: openssl-windows -Version: 1.0.2o +Version: 1.0.2p 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 7c93a5bce..b57d38996 100644 --- a/ports/openssl-windows/portfile.cmake +++ b/ports/openssl-windows/portfile.cmake @@ -3,7 +3,7 @@ if(VCPKG_CMAKE_SYSTEM_NAME) endif() include(vcpkg_common_functions) -set(OPENSSL_VERSION 1.0.2o) +set(OPENSSL_VERSION 1.0.2p) set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION}) vcpkg_find_acquire_program(PERL) @@ -14,7 +14,7 @@ set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}") vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 8a2c93657c85143e76785bb32ee836908c31a6f5f8db993fa9777acba6079e630cdddd03edbad65d1587199fc13a1507789eacf038b56eb99139c2091d9df7fd + SHA512 958c5a7c3324bbdc8f07dfb13e11329d9a1b4452c07cf41fbd2d42b5fe29c95679332a3476d24c2dc2b88be16e4a24744aba675a05a388c0905756c77a8a2f16 ) vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE}) From 60820a02eb8b35792a2568c3679d647bbcad1db6 Mon Sep 17 00:00:00 2001 From: tbeu Date: Sun, 2 Sep 2018 20:56:19 +0200 Subject: [PATCH 014/129] Update zlib version --- docs/examples/packaging-zlib.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/examples/packaging-zlib.md b/docs/examples/packaging-zlib.md index 508947f1a..1d61cfee1 100644 --- a/docs/examples/packaging-zlib.md +++ b/docs/examples/packaging-zlib.md @@ -3,7 +3,7 @@ ### Bootstrap with `create` First, locate a globally accessible archive of the library's sources. Zip, gzip, and bzip are all supported. Strongly prefer official sources or mirrors over unofficial mirrors. -*Looking at zlib's website, the URL http://zlib.net/zlib128.zip looks appropriate.* +*Looking at zlib's website, the URL http://zlib.net/zlib1211.zip looks appropriate.* Second, determine a suitable package name. This should be ASCII, lowercase, and recognizable to someone who knows the library's "human name". If the library is already packaged in another package manager, prefer that name. @@ -11,7 +11,7 @@ Second, determine a suitable package name. This should be ASCII, lowercase, and Finally, if the server's name for the archive is not very descriptive (such as downloading a zipped commit or branch from GitHub), choose a nice archive name of the form `-.zip`. -*`zlib128.zip` is a fine name, so no change needed.* +*`zlib1211.zip` is a fine name, so no change needed.* All this information can then be passed into the `create` command, which will download the sources and bootstrap the packaging process inside `ports\`. @@ -26,7 +26,7 @@ In addition to the generated `ports\\portfile.cmake`, we also need a `p *For zlib2, we'll create the file `ports\zlib2\CONTROL` with the following contents:* ```no-highlight Source: zlib2 -Version: 1.2.8 +Version: 1.2.11 Description: A Massively Spiffy Yet Delicately Unobtrusive Compression Library ``` From e3956a98d079097eedaab2ed1ab5033136334248 Mon Sep 17 00:00:00 2001 From: Cheney Wang <38240633+Cheney-W@users.noreply.github.com> Date: Tue, 4 Sep 2018 01:51:58 -0700 Subject: [PATCH 015/129] [nanodbc]Update to new URLS (#4221) --- ports/nanodbc/CONTROL | 2 +- ports/nanodbc/portfile.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/nanodbc/CONTROL b/ports/nanodbc/CONTROL index 0343119a0..ef676937e 100644 --- a/ports/nanodbc/CONTROL +++ b/ports/nanodbc/CONTROL @@ -1,3 +1,3 @@ Source: nanodbc -Version: 2.12.4-1 +Version: 2.12.4-2 Description: A small C++ wrapper for the native C ODBC API. diff --git a/ports/nanodbc/portfile.cmake b/ports/nanodbc/portfile.cmake index fc735f03f..7019852ea 100644 --- a/ports/nanodbc/portfile.cmake +++ b/ports/nanodbc/portfile.cmake @@ -6,7 +6,7 @@ include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/nanodbc-2.12.4) vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/lexicalunit/nanodbc/archive/v2.12.4.tar.gz" + URLS "https://github.com/nanodbc/nanodbc/archive/v2.12.4.tar.gz" FILENAME "nanodbc-2.12.4.tar.gz" SHA512 b9a924516b2a777e5f1497774997672320548722ed53413b0a7ad5d503e2f8ca1099f5059a912b7aae410928f4c4edcdfd02e4cfbf415976cd222697b354b4e6 ) From 3a964dca81aad84b2e400bada574dc8210b7a1e1 Mon Sep 17 00:00:00 2001 From: Ruurd Adema Date: Tue, 4 Sep 2018 15:49:13 +0200 Subject: [PATCH 016/129] Fix poco build on osx and linux --- ports/poco/portfile.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake index 271e223f8..1f8cd5599 100644 --- a/ports/poco/portfile.cmake +++ b/ports/poco/portfile.cmake @@ -46,8 +46,13 @@ vcpkg_configure_cmake( vcpkg_install_cmake() file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) +if (WIN32) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/cpspc.exe ${CURRENT_PACKAGES_DIR}/tools/cpspc.exe) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/f2cpsp.exe ${CURRENT_PACKAGES_DIR}/tools/f2cpsp.exe) +else() +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/cpspc ${CURRENT_PACKAGES_DIR}/tools/cpspc) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/f2cpsp ${CURRENT_PACKAGES_DIR}/tools/f2cpsp) +endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE From 522d8d1061aa6989fe0896a8a9b75534153c4d9a Mon Sep 17 00:00:00 2001 From: Ruurd Adema Date: Tue, 4 Sep 2018 17:04:34 +0200 Subject: [PATCH 017/129] Change poco to Poco as linux seems to be case-sensitive in this case --- ports/poco/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake index 1f8cd5599..8f8a86869 100644 --- a/ports/poco/portfile.cmake +++ b/ports/poco/portfile.cmake @@ -69,7 +69,7 @@ else() endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/poco) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Poco) # copy license file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/poco) From 6af7c99555a03235994bc6dfe495ad07369088c6 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 28 Aug 2018 23:19:08 -0700 Subject: [PATCH 018/129] [tbb] Add support for Linux and OSX [tbb] Fix installed cmake file. Add vcpkg_test_cmake() [tbb] Fix static non-windows builds [tbb] Fix find_package() on Windows --- ports/tbb/CMakeLists.txt | 18 ++++++ ports/tbb/CONTROL | 2 +- ports/tbb/portfile.cmake | 135 +++++++++++++++++++-------------------- ports/tbb/usage | 4 ++ 4 files changed, 88 insertions(+), 71 deletions(-) create mode 100644 ports/tbb/CMakeLists.txt create mode 100644 ports/tbb/usage diff --git a/ports/tbb/CMakeLists.txt b/ports/tbb/CMakeLists.txt new file mode 100644 index 000000000..cc1dd3933 --- /dev/null +++ b/ports/tbb/CMakeLists.txt @@ -0,0 +1,18 @@ +project(tbb CXX) + +file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*) +file(COPY ${SOURCES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/src) + +include(${CMAKE_CURRENT_BINARY_DIR}/src/cmake/TBBBuild.cmake REQUIRED) +tbb_build(TBB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/src MAKE_ARGS extra_inc=big_iron.inc) + +set(SUBDIR ${CMAKE_CURRENT_BINARY_DIR}/tbb_cmake_build/tbb_cmake_build_subdir) +if(CMAKE_BUILD_TYPE STREQUAL "Release") + set(SUBDIR "${SUBDIR}_release") +else() + set(SUBDIR "${SUBDIR}_debug") +endif() + +file(GLOB OUTPUTS ${SUBDIR}/*.so.* ${SUBDIR}/*.so ${SUBDIR}/*.a ${SUBDIR}/*.dylib ${SUBDIR}/*.dylib.*) + +install(FILES ${OUTPUTS} DESTINATION lib) diff --git a/ports/tbb/CONTROL b/ports/tbb/CONTROL index e70178a80..e87106dc3 100644 --- a/ports/tbb/CONTROL +++ b/ports/tbb/CONTROL @@ -1,3 +1,3 @@ Source: tbb -Version: 2018_U5 +Version: 2018_U5-4 Description: Intel's Threading Building Blocks. diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake index 8a66fe2e3..ac47360f8 100644 --- a/ports/tbb/portfile.cmake +++ b/ports/tbb/portfile.cmake @@ -1,91 +1,86 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Static building not supported yet. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() -if (VCPKG_CRT_LINKAGE STREQUAL static) - message(FATAL_ERROR "TBB does not currently support static crt linkage") +include(vcpkg_common_functions) + +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) endif() -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO 01org/tbb REF 2018_U5 SHA512 3e8d20276ccb1b50099f96b6cf968e3d0ada53caea1fa836ecb8652f1dca236fbbbf2c783e64ea2f761f7f21725064d19b72d176e35e4dc29706b8a30965153b - HEAD_REF tbb_2018) + HEAD_REF tbb_2018 +) -if(TRIPLET_SYSTEM_ARCH STREQUAL x86) - set(BUILD_ARCH Win32) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + ) + + vcpkg_install_cmake() + + # Settings for TBBConfigForSource.cmake.in + set(TBB_LIB_EXT a) + set(TBB_LIB_PREFIX lib) else() - set(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH}) + if (VCPKG_CRT_LINKAGE STREQUAL static) + set(RELEASE_CONFIGURATION Release-MT) + set(DEBUG_CONFIGURATION Debug-MT) + else() + set(RELEASE_CONFIGURATION Release) + set(DEBUG_CONFIGURATION Debug) + endif() + + vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH build/vs2013/makefile.sln + RELEASE_CONFIGURATION ${RELEASE_CONFIGURATION} + DEBUG_CONFIGURATION ${DEBUG_CONFIGURATION} + ) + # Settings for TBBConfigForSource.cmake.in + set(TBB_LIB_EXT lib) + set(TBB_LIB_PREFIX) endif() -set(TBB_MSBUILD_PROJECT_DIR ${SOURCE_PATH}/build/vs2013) - -vcpkg_build_msbuild(PROJECT_PATH ${TBB_MSBUILD_PROJECT_DIR}/makefile.sln PLATFORM ${BUILD_ARCH}) - -# Installation -message(STATUS "Installing") file(COPY ${SOURCE_PATH}/include/tbb ${SOURCE_PATH}/include/serial DESTINATION ${CURRENT_PACKAGES_DIR}/include) -set(DEBUG_OUTPUT_PATH ${TBB_MSBUILD_PROJECT_DIR}/${BUILD_ARCH}/Debug) -set(RELEASE_OUTPUT_PATH ${TBB_MSBUILD_PROJECT_DIR}/${BUILD_ARCH}/Release) +# Settings for TBBConfigForSource.cmake.in +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(TBB_DEFAULT_COMPONENTS tbb tbbmalloc) +else() + set(TBB_DEFAULT_COMPONENTS tbb tbbmalloc tbbmalloc_proxy) +endif() +file(READ "${SOURCE_PATH}/include/tbb/tbb_stddef.h" _tbb_stddef) +string(REGEX REPLACE ".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1" _tbb_ver_major "${_tbb_stddef}") +string(REGEX REPLACE ".*#define TBB_VERSION_MINOR ([0-9]+).*" "\\1" _tbb_ver_minor "${_tbb_stddef}") +string(REGEX REPLACE ".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1" TBB_INTERFACE_VERSION "${_tbb_stddef}") +set(TBB_VERSION "${_tbb_ver_major}.${_tbb_ver_minor}") +set(TBB_RELEASE_DIR "\${_tbb_root}/lib") +set(TBB_DEBUG_DIR "\${_tbb_root}/debug/lib") -file(COPY - ${RELEASE_OUTPUT_PATH}/tbb.lib - ${RELEASE_OUTPUT_PATH}/tbbmalloc.lib - ${RELEASE_OUTPUT_PATH}/tbbmalloc_proxy.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(COPY - ${DEBUG_OUTPUT_PATH}/tbb_debug.lib - ${DEBUG_OUTPUT_PATH}/tbbmalloc_debug.lib - ${DEBUG_OUTPUT_PATH}/tbbmalloc_proxy_debug.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - -file(COPY - ${RELEASE_OUTPUT_PATH}/tbb.dll - ${RELEASE_OUTPUT_PATH}/tbbmalloc.dll - ${RELEASE_OUTPUT_PATH}/tbbmalloc_proxy.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/bin) -file(COPY - ${DEBUG_OUTPUT_PATH}/tbb_debug.dll - ${DEBUG_OUTPUT_PATH}/tbbmalloc_debug.dll - ${DEBUG_OUTPUT_PATH}/tbbmalloc_proxy_debug.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - -vcpkg_copy_pdbs() - -include(${SOURCE_PATH}/cmake/TBBMakeConfig.cmake) -tbb_make_config(TBB_ROOT ${CURRENT_PACKAGES_DIR} - CONFIG_DIR TBB_CONFIG_DIR # is set to ${CURRENT_PACKAGES_DIR}/cmake - SYSTEM_NAME "Windows" - CONFIG_FOR_SOURCE - TBB_RELEASE_DIR "\${_tbb_root}/bin" - TBB_DEBUG_DIR "\${_tbb_root}/debug/bin") - -file(COPY ${TBB_CONFIG_DIR}/TBBConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/tbb) -file(COPY ${TBB_CONFIG_DIR}/TBBConfigVersion.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/tbb) -file(REMOVE_RECURSE ${TBB_CONFIG_DIR}) - -# make it work with our installation layout -file(READ ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake TBB_CONFIG_CMAKE) +configure_file( + ${SOURCE_PATH}/cmake/templates/TBBConfigForSource.cmake.in + ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake + @ONLY +) +file(READ ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake _contents) string(REPLACE -"get_filename_component(_tbb_root \"\${_tbb_root}\" PATH)" -"get_filename_component(_tbb_root \"\${_tbb_root}\" PATH) -get_filename_component(_tbb_root \"\${_tbb_root}\" PATH)" TBB_CONFIG_CMAKE "${TBB_CONFIG_CMAKE}") -string(REPLACE -"\${_tbb_root}/bin/\${_tbb_component}.lib" -"\${_tbb_root}/lib/\${_tbb_component}.lib" TBB_CONFIG_CMAKE "${TBB_CONFIG_CMAKE}") -string(REPLACE -"\${_tbb_root}/debug/bin/\${_tbb_component}_debug.lib" -"\${_tbb_root}/debug/lib/\${_tbb_component}_debug.lib" TBB_CONFIG_CMAKE "${TBB_CONFIG_CMAKE}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake "${TBB_CONFIG_CMAKE}") - -message(STATUS "Installing done") + "get_filename_component(_tbb_root \"\${_tbb_root}\" PATH)" + "get_filename_component(_tbb_root \"\${_tbb_root}\" PATH)\nget_filename_component(_tbb_root \"\${_tbb_root}\" PATH)" + _contents + "${_contents}" +) +string(REPLACE "SHARED IMPORTED)" "UNKNOWN IMPORTED)" _contents "${_contents}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake "${_contents}") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tbb) +file(COPY ${SOURCE_PATH}/LICENSE ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/tbb) file(RENAME ${CURRENT_PACKAGES_DIR}/share/tbb/LICENSE ${CURRENT_PACKAGES_DIR}/share/tbb/copyright) + +vcpkg_test_cmake(PACKAGE_NAME TBB) diff --git a/ports/tbb/usage b/ports/tbb/usage new file mode 100644 index 000000000..ecea9834c --- /dev/null +++ b/ports/tbb/usage @@ -0,0 +1,4 @@ +The package tbb provides CMake targets: + + find_package(TBB CONFIG REQUIRED) + target_link_libraries(main PRIVATE TBB::tbb) From d68cc287f994bc6505473a8264018f5abf5a5183 Mon Sep 17 00:00:00 2001 From: David Ludwig Date: Tue, 4 Sep 2018 19:20:46 -0400 Subject: [PATCH 019/129] [GraphicsMagick] bug-fix: image files won't load (#4215) * [GraphicsMagick] bug-fix: image files won't load GM (GraphicsMagick) was failing to load image files, notably PNG or JPEG images, as it was being compiled with support for 'GraphicsMagick Modules'. These are files with names specific to GM, and of the format, 'IM_*.dll'. vcpkg's install process was not setting these up. This patch makes sure that when GM is built, it embed's GM's own image-loading code into graphicsmagick.dll. * [vcpkg_extract_source_archive_ex] Add PATCHES argument * [openmesh] Use direct download instead of gitlab * [blaze] Use PATCHES argument * [graphicsmagick] Use vcpkg_extract_source_archive_ex --- ports/blaze/portfile.cmake | 4 - .../disable_graphicsmagick_modules.patch | 11 ++ ports/graphicsmagick/portfile.cmake | 28 +++-- ports/openmesh/CONTROL | 2 +- ports/openmesh/portfile.cmake | 30 ++--- .../cmake/vcpkg_extract_source_archive.cmake | 106 ++++++++++++++---- scripts/cmake/vcpkg_from_bitbucket.cmake | 32 ++++-- scripts/cmake/vcpkg_from_github.cmake | 74 ++++-------- scripts/cmake/vcpkg_from_gitlab.cmake | 81 ++++--------- 9 files changed, 190 insertions(+), 178 deletions(-) create mode 100644 ports/graphicsmagick/disable_graphicsmagick_modules.patch diff --git a/ports/blaze/portfile.cmake b/ports/blaze/portfile.cmake index 53e845b70..a44808249 100644 --- a/ports/blaze/portfile.cmake +++ b/ports/blaze/portfile.cmake @@ -6,10 +6,6 @@ vcpkg_from_bitbucket( REF bbe39c81b68eb0d8647da703899e1ee4a82cdfd3 SHA512 84eb8226672d9d11d194d165e7aaa333a0d49ca090bb94472f19242e5f2ad0c3e08a30cdafe055cff51b210b603533f879800bd6784f3ffdb0d9eeca65d58b25 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES avoid-src-dir-generation.patch ) diff --git a/ports/graphicsmagick/disable_graphicsmagick_modules.patch b/ports/graphicsmagick/disable_graphicsmagick_modules.patch new file mode 100644 index 000000000..bfb91d0fd --- /dev/null +++ b/ports/graphicsmagick/disable_graphicsmagick_modules.patch @@ -0,0 +1,11 @@ +--- a/magick/studio.h 2018-06-23 14:13:49.191541000 -0400 ++++ b/magick/studio.h 2018-09-02 11:50:41.856753700 -0400 +@@ -414,7 +414,7 @@ + #endif + + #if defined(HasLTDL) || ( defined(MSWINDOWS) && defined(_DLL) ) +-# define SupportMagickModules ++//# define SupportMagickModules + #endif + + #if defined(_MAGICKMOD_) diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake index 0c47813f6..c097c9e97 100644 --- a/ports/graphicsmagick/portfile.cmake +++ b/ports/graphicsmagick/portfile.cmake @@ -1,27 +1,35 @@ include(vcpkg_common_functions) set(GM_VERSION 1.3.30) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/graphicsmagick-${GM_VERSION}-windows-source) vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GM_VERSION}/GraphicsMagick-${GM_VERSION}-windows-source.7z" FILENAME "GraphicsMagick-${GM_VERSION}-windows-source.7z" SHA512 9e4cfff57ae547f133e6208033213d3aa790cd8c95a061c101c63b8ae8896e7504d02f302efdd20ff24f72c07760a0a5e2b32e21fe454717ed1deb2edeef159c - ) -vcpkg_extract_source_archive(${ARCHIVE}) +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF "${GM_VERSION}" + PATCHES + # GM always requires a dynamic BZIP2. This patch makes this dependent if _DLL is defined + dynamic_bzip2.patch + + # Bake GM's own modules into the .dll itself. This fixes a bug whereby + # 'vcpkg install graphicsmagick' did not lead to a copy of GM that could + # load either PNG or JPEG files (due to missing GM Modules, with names + # matching "IM_*.DLL"). + disable_graphicsmagick_modules.patch +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/magick_types.h DESTINATION ${SOURCE_PATH}/magick) -# GM always requires a dynamic BZIP2. This patch makes this dependent if _DLL is defined -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/dynamic_bzip2.patch) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS_DEBUG -DINSTALL_HEADERS=OFF + OPTIONS_DEBUG + -DINSTALL_HEADERS=OFF ) vcpkg_install_cmake() diff --git a/ports/openmesh/CONTROL b/ports/openmesh/CONTROL index b803484eb..cf502b2a2 100644 --- a/ports/openmesh/CONTROL +++ b/ports/openmesh/CONTROL @@ -1,3 +1,3 @@ Source: openmesh -Version: 6.3 +Version: 7.0 Description: A generic and efficient polygon mesh data structure diff --git a/ports/openmesh/portfile.cmake b/ports/openmesh/portfile.cmake index 26c167adb..7bfacfe0e 100644 --- a/ports/openmesh/portfile.cmake +++ b/ports/openmesh/portfile.cmake @@ -1,24 +1,18 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -vcpkg_from_gitlab( +set(VERSION 7.0) + +# Note: upstream GitLab instance at https://graphics.rwth-aachen.de:9000 often goes down +vcpkg_download_distfile(ARCHIVE + URLS "https://www.openmesh.org/media/Releases/${VERSION}/OpenMesh-${VERSION}.tar.gz" + FILENAME "OpenMesh-${VERSION}.tar.gz" + SHA512 29280c8fe7208d39bd923c4d0444a24463e36b95402e6a75f42adc27bc1b261df9113442f69e1001dc1a8b1198488069ffb049742dcf6eac6ac1ecf4f216fad8 +) + +vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH - GITLAB_URL "https://graphics.rwth-aachen.de:9000" - REPO "OpenMesh/OpenMesh" - REF "OpenMesh-7.0" - HEAD_REF "master" - SHA512 "70e414088c094199af31a8694fb91fa5f9b574b3cc86b30b3fb64d938e6a218f9f38d857c559f958276b01ec9263ef71cd4039444e50a8cb38e820243aac7956" + ARCHIVE "${ARCHIVE}" + REF "${VERSION}" ) vcpkg_configure_cmake( diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake index 3aafd4ca4..b1e2110a7 100644 --- a/scripts/cmake/vcpkg_extract_source_archive.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive.cmake @@ -29,25 +29,19 @@ ## * [msgpack](https://github.com/Microsoft/vcpkg/blob/master/ports/msgpack/portfile.cmake) include(vcpkg_execute_required_process) -function(vcpkg_extract_source_archive_ex) - cmake_parse_arguments(_vesae "" "ARCHIVE;WORKING_DIRECTORY" "" ${ARGN}) - - if(NOT _vesae_ARCHIVE) - message(FATAL_ERROR "Must specify ARCHIVE parameter to vcpkg_extract_source_archive_ex()") - endif() - - if(DEFINED _vesae_WORKING_DIRECTORY) - set(WORKING_DIRECTORY ${_vesae_WORKING_DIRECTORY}) +function(vcpkg_extract_source_archive ARCHIVE) + if(NOT ARGC EQUAL 2) + set(WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src") else() - set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src) + set(WORKING_DIRECTORY ${ARGV1}) endif() - get_filename_component(ARCHIVE_FILENAME ${_vesae_ARCHIVE} NAME) + get_filename_component(ARCHIVE_FILENAME ${ARCHIVE} NAME) if(NOT EXISTS ${WORKING_DIRECTORY}/${ARCHIVE_FILENAME}.extracted) - message(STATUS "Extracting source ${_vesae_ARCHIVE}") + message(STATUS "Extracting source ${ARCHIVE}") file(MAKE_DIRECTORY ${WORKING_DIRECTORY}) vcpkg_execute_required_process( - COMMAND ${CMAKE_COMMAND} -E tar xjf ${_vesae_ARCHIVE} + COMMAND ${CMAKE_COMMAND} -E tar xjf ${ARCHIVE} WORKING_DIRECTORY ${WORKING_DIRECTORY} LOGNAME extract ) @@ -55,13 +49,81 @@ function(vcpkg_extract_source_archive_ex) endif() endfunction() -function(vcpkg_extract_source_archive ARCHIVE) - if(NOT ARGC EQUAL 2) - vcpkg_extract_source_archive_ex(ARCHIVE ${ARCHIVE}) - else() - vcpkg_extract_source_archive_ex( - ARCHIVE ${ARCHIVE} - WORKING_DIRECTORY ${ARGV1} - ) +function(vcpkg_extract_source_archive_ex) + cmake_parse_arguments(_vesae "NO_REMOVE_ONE_LEVEL" "OUT_SOURCE_PATH;ARCHIVE;REF;WORKING_DIRECTORY" "PATCHES" ${ARGN}) + + if(NOT _vesae_ARCHIVE) + message(FATAL_ERROR "Must specify ARCHIVE parameter to vcpkg_extract_source_archive_ex()") endif() -endfunction() \ No newline at end of file + + if(NOT DEFINED _vesae_OUT_SOURCE_PATH) + message(FATAL_ERROR "Must specify OUT_SOURCE_PATH parameter to vcpkg_extract_source_archive_ex()") + endif() + + if(NOT DEFINED _vesae_WORKING_DIRECTORY) + set(_vesae_WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src) + endif() + + if(NOT DEFINED _vesae_REF) + get_filename_component(_vesae_REF ${_vesae_ARCHIVE} NAME_WE) + endif() + + string(REPLACE "/" "-" SANITIZED_REF "${_vesae_REF}") + + # Take the last 10 chars of the REF + set(REF_MAX_LENGTH 10) + string(LENGTH ${SANITIZED_REF} REF_LENGTH) + math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH}) + if(FROM_REF LESS 0) + set(FROM_REF 0) + endif() + string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF) + + # Hash the archive hash along with the patches. Take the first 10 chars of the hash + file(SHA512 ${ARCHIVE} PATCHSET_HASH) + foreach(PATCH IN LISTS _vesae_PATCHES) + get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}") + file(SHA512 ${ABSOLUTE_PATCH} CURRENT_HASH) + string(APPEND PATCHSET_HASH ${CURRENT_HASH}) + endforeach() + + string(SHA512 PATCHSET_HASH ${PATCHSET_HASH}) + string(SUBSTRING ${PATCHSET_HASH} 0 10 PATCHSET_HASH) + set(SOURCE_PATH "${_vesae_WORKING_DIRECTORY}/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}") + + if(NOT EXISTS ${SOURCE_PATH}) + set(TEMP_DIR "${_vesae_WORKING_DIRECTORY}/TEMP") + file(REMOVE_RECURSE ${TEMP_DIR}) + vcpkg_extract_source_archive("${ARCHIVE}" "${TEMP_DIR}") + + if(_vesae_NO_REMOVE_ONE_LEVEL) + set(TEMP_SOURCE_PATH ${TEMP_DIR}) + else() + file(GLOB _ARCHIVE_FILES "${TEMP_DIR}/*") + list(LENGTH _ARCHIVE_FILES _NUM_ARCHIVE_FILES) + set(TEMP_SOURCE_PATH) + foreach(dir IN LISTS _ARCHIVE_FILES) + if (IS_DIRECTORY ${dir}) + set(TEMP_SOURCE_PATH "${dir}") + break() + endif() + endforeach() + + if(NOT _NUM_ARCHIVE_FILES EQUAL 2 OR NOT TEMP_SOURCE_PATH) + message(FATAL_ERROR "Could not unwrap top level directory from archive. Pass NO_REMOVE_ONE_LEVEL to disable this.") + endif() + endif() + + vcpkg_apply_patches( + SOURCE_PATH ${TEMP_SOURCE_PATH} + PATCHES ${_vesae_PATCHES} + ) + + file(RENAME ${TEMP_SOURCE_PATH} ${SOURCE_PATH}) + file(REMOVE_RECURSE ${TEMP_DIR}) + endif() + + set(${_vesae_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) + message(STATUS "Using source at ${SOURCE_PATH}") + return() +endfunction() diff --git a/scripts/cmake/vcpkg_from_bitbucket.cmake b/scripts/cmake/vcpkg_from_bitbucket.cmake index 7eaf550bb..5f23714ea 100644 --- a/scripts/cmake/vcpkg_from_bitbucket.cmake +++ b/scripts/cmake/vcpkg_from_bitbucket.cmake @@ -11,6 +11,7 @@ ## [REF ] ## [SHA512 <45d0d7f8cc350...>] ## [HEAD_REF ] +## [PATCHES ...] ## ) ## ``` ## @@ -40,6 +41,11 @@ ## ## For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms. ## +## ### PATCHES +## A list of patches to be applied to the extracted sources. +## +## Relative paths are based on the port directory. +## ## ## Notes: ## At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present. ## @@ -50,7 +56,7 @@ ## * [blaze](https://github.com/Microsoft/vcpkg/blob/master/ports/blaze/portfile.cmake) function(vcpkg_from_bitbucket) set(oneValueArgs OUT_SOURCE_PATH REPO REF SHA512 HEAD_REF) - set(multipleValuesArgs) + set(multipleValuesArgs PATCHES) cmake_parse_arguments(_vdud "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN}) if(NOT _vdud_OUT_SOURCE_PATH) @@ -123,8 +129,14 @@ function(vcpkg_from_bitbucket) SHA512 "${_vdud_SHA512}" FILENAME "${ORG_NAME}-${REPO_NAME}-${_vdud_REF}.tar.gz" ) - vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}") - set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src ${_version}) + + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE "${ARCHIVE}" + REF "${_vdud_REF}" + PATCHES ${_vdud_PATCHES} + ) + set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) return() endif() @@ -164,11 +176,6 @@ function(vcpkg_from_bitbucket) ) endif() - vcpkg_extract_source_archive_ex( - ARCHIVE "${ARCHIVE}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/head" - ) - # Parse the github refs response with regex. # TODO: use some JSON swiss-army-knife utility instead. file(READ "${ARCHIVE_VERSION}" _contents) @@ -179,5 +186,12 @@ function(vcpkg_from_bitbucket) # exports VCPKG_HEAD_VERSION to the caller. This will get picked up by ports.cmake after the build. set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE) - set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${_vdud_HEAD_REF}) + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE "${downloaded_file_path}" + REF "${_vdud_HEAD_REF}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/head" + PATCHES ${_vdud_PATCHES} + ) + set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) endfunction() diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake index 33de8354d..48bfd828a 100644 --- a/scripts/cmake/vcpkg_from_github.cmake +++ b/scripts/cmake/vcpkg_from_github.cmake @@ -80,16 +80,16 @@ function(vcpkg_from_github) string(REGEX REPLACE "/.*" "" ORG_NAME ${_vdud_REPO}) macro(set_TEMP_SOURCE_PATH BASE BASEREF) - set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${BASEREF}") - if(NOT EXISTS ${TEMP_SOURCE_PATH}) - # Sometimes GitHub strips a leading 'v' off the REF. - string(REGEX REPLACE "^v" "" REF ${BASEREF}) - string(REPLACE "/" "-" REF ${REF}) - set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${REF}") + set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${BASEREF}") if(NOT EXISTS ${TEMP_SOURCE_PATH}) - message(FATAL_ERROR "Could not determine source path: '${BASE}/${REPO_NAME}-${BASEREF}' does not exist") + # Sometimes GitHub strips a leading 'v' off the REF. + string(REGEX REPLACE "^v" "" REF ${BASEREF}) + string(REPLACE "/" "-" REF ${REF}) + set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${REF}") + if(NOT EXISTS ${TEMP_SOURCE_PATH}) + message(FATAL_ERROR "Could not determine source path: '${BASE}/${REPO_NAME}-${BASEREF}' does not exist") + endif() endif() - endif() endmacro() if(VCPKG_USE_HEAD_VERSION AND NOT DEFINED _vdud_HEAD_REF) @@ -111,44 +111,14 @@ function(vcpkg_from_github) FILENAME "${ORG_NAME}-${REPO_NAME}-${SANITIZED_REF}.tar.gz" ) - # Take the last 10 chars of the REF - set(REF_MAX_LENGTH 10) - string(LENGTH ${SANITIZED_REF} REF_LENGTH) - math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH}) - if(FROM_REF LESS 0) - set(FROM_REF 0) - endif() - string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF) - - # Hash the archive hash along with the patches. Take the first 10 chars of the hash - set(PATCHSET_HASH "${_vdud_SHA512}") - foreach(PATCH IN LISTS _vdud_PATCHES) - get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}") - file(SHA512 ${ABSOLUTE_PATCH} CURRENT_HASH) - string(APPEND PATCHSET_HASH ${CURRENT_HASH}) - endforeach() - - string(SHA512 PATCHSET_HASH ${PATCHSET_HASH}) - string(SUBSTRING ${PATCHSET_HASH} 0 10 PATCHSET_HASH) - set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}") - - if(NOT EXISTS ${SOURCE_PATH}) - set(TEMP_DIR "${CURRENT_BUILDTREES_DIR}/src/TEMP") - file(REMOVE_RECURSE ${TEMP_DIR}) - vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}" WORKING_DIRECTORY ${TEMP_DIR}) - set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/TEMP ${SANITIZED_REF}) - - vcpkg_apply_patches( - SOURCE_PATH ${TEMP_SOURCE_PATH} - PATCHES ${_vdud_PATCHES} - ) - - file(RENAME ${TEMP_SOURCE_PATH} ${SOURCE_PATH}) - file(REMOVE_RECURSE ${TEMP_DIR}) - endif() + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE "${ARCHIVE}" + REF "${SANITIZED_REF}" + PATCHES ${_vdud_PATCHES} + ) set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) - message(STATUS "Using source at ${SOURCE_PATH}") return() endif() @@ -189,11 +159,6 @@ function(vcpkg_from_github) ) endif() - vcpkg_extract_source_archive_ex( - ARCHIVE "${ARCHIVE}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/head" - ) - # Parse the github refs response with regex. # TODO: use some JSON swiss-army-knife utility instead. file(READ "${ARCHIVE_VERSION}" _contents) @@ -206,11 +171,12 @@ function(vcpkg_from_github) set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE) endif() - set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${SANITIZED_HEAD_REF}) - vcpkg_apply_patches( - SOURCE_PATH ${TEMP_SOURCE_PATH} + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE "${downloaded_file_path}" + REF "${SANITIZED_HEAD_REF}" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src/head PATCHES ${_vdud_PATCHES} ) - set(${_vdud_OUT_SOURCE_PATH} "${TEMP_SOURCE_PATH}" PARENT_SCOPE) - message(STATUS "Using source at ${TEMP_SOURCE_PATH}") + set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) endfunction() diff --git a/scripts/cmake/vcpkg_from_gitlab.cmake b/scripts/cmake/vcpkg_from_gitlab.cmake index 2f2198fd6..f13bc054c 100644 --- a/scripts/cmake/vcpkg_from_gitlab.cmake +++ b/scripts/cmake/vcpkg_from_gitlab.cmake @@ -11,6 +11,7 @@ ## [REF ] ## [SHA512 <45d0d7f8cc350...>] ## [HEAD_REF ] +## [PATCHES ...] ## ) ## ``` ## @@ -45,6 +46,11 @@ ## ## For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms. ## +## ### PATCHES +## A list of patches to be applied to the extracted sources. +## +## Relative paths are based on the port directory. +## ## ## Notes: ## At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present. ## @@ -76,28 +82,14 @@ function(vcpkg_from_gitlab) message(FATAL_ERROR "At least one of REF and HEAD_REF must be specified.") endif() - string(REGEX REPLACE ".*/" "" REPO_NAME ${_vdud_REPO}) - string(REGEX REPLACE "/.*" "" ORG_NAME ${_vdud_REPO}) - - macro(set_TEMP_SOURCE_PATH BASE) - file(GLOB _ARCHIVE_FILES "${BASE}/${REPO_NAME}*") - foreach(dir ${_ARCHIVE_FILES}) - if (IS_DIRECTORY ${dir}) - list(APPEND _ARCHIVE_DIRS "${dir}") - endif() - endforeach() - list(LENGTH _ARCHIVE_DIRS _NUM_ARCHIVE_DIRS) - if(NOT 1 EQUAL ${_NUM_ARCHIVE_DIRS}) - message(FATAL_ERROR "Could not determine source path: There were ${_NUM_ARCHIVE_DIRS} directories extracted from the archive that start with the repo name.") - endif() - list(GET _ARCHIVE_DIRS 0 TEMP_SOURCE_PATH) - endmacro() - if(VCPKG_USE_HEAD_VERSION AND NOT DEFINED _vdud_HEAD_REF) message(STATUS "Package does not specify HEAD_REF. Falling back to non-HEAD version.") set(VCPKG_USE_HEAD_VERSION OFF) endif() + string(REGEX REPLACE ".*/" "" REPO_NAME ${_vdud_REPO}) + string(REGEX REPLACE "/.*" "" ORG_NAME ${_vdud_REPO}) + # Handle --no-head scenarios if(NOT VCPKG_USE_HEAD_VERSION) if(NOT _vdud_REF) @@ -112,43 +104,14 @@ function(vcpkg_from_gitlab) FILENAME "${ORG_NAME}-${REPO_NAME}-${SANITIZED_REF}.tar.gz" ) - # Take the last 10 chars of the REF - set(REF_MAX_LENGTH 10) - string(LENGTH ${SANITIZED_REF} REF_LENGTH) - math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH}) - if(FROM_REF LESS 0) - set(FROM_REF 0) - endif() - string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF) - - # Hash the archive hash along with the patches. Take the first 10 chars of the hash - set(PATCHSET_HASH "${_vdud_SHA512}") - foreach(PATCH IN LISTS _vdud_PATCHES) - file(SHA512 ${PATCH} CURRENT_HASH) - string(APPEND PATCHSET_HASH ${CURRENT_HASH}) - endforeach() - - string(SHA512 PATCHSET_HASH ${PATCHSET_HASH}) - string(SUBSTRING ${PATCHSET_HASH} 0 10 PATCHSET_HASH) - set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}") - - if(NOT EXISTS ${SOURCE_PATH}) - set(TEMP_DIR "${CURRENT_BUILDTREES_DIR}/src/TEMP") - file(REMOVE_RECURSE ${TEMP_DIR}) - vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}" WORKING_DIRECTORY ${TEMP_DIR}) - set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/TEMP ${SANITIZED_REF}) - - vcpkg_apply_patches( - SOURCE_PATH ${TEMP_SOURCE_PATH} - PATCHES ${_vdud_PATCHES} - ) - - file(RENAME ${TEMP_SOURCE_PATH} ${SOURCE_PATH}) - file(REMOVE_RECURSE ${TEMP_DIR}) - endif() + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE "${ARCHIVE}" + REF "${SANITIZED_REF}" + PATCHES ${_vdud_PATCHES} + ) set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) - return() endif() @@ -182,10 +145,6 @@ function(vcpkg_from_gitlab) ) endif() - vcpkg_extract_source_archive_ex( - ARCHIVE "${ARCHIVE}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/head" - ) # There are issues with the Gitlab API project paths being URL-escaped, so we use git here to get the head revision execute_process(COMMAND ${GIT} ls-remote "${_vdud_GITLAB_URL}/${ORG_NAME}/${REPO_NAME}.git" "${_vdud_HEAD_REF}" @@ -199,10 +158,12 @@ function(vcpkg_from_gitlab) set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE) endif() - set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${SANITIZED_HEAD_REF}) - vcpkg_apply_patches( - SOURCE_PATH ${TEMP_SOURCE_PATH} + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE "${downloaded_file_path}" + REF "${SANITIZED_HEAD_REF}" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src/head PATCHES ${_vdud_PATCHES} ) - set(${_vdud_OUT_SOURCE_PATH} "${TEMP_SOURCE_PATH}" PARENT_SCOPE) + set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) endfunction() From 3d73e3fac3b883e8c0568fab5c0d49596f38d085 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 4 Sep 2018 15:42:06 -0700 Subject: [PATCH 020/129] [cpprestsdk] Update to 2.10.6 --- ports/cpprestsdk/CONTROL | 2 +- ports/cpprestsdk/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL index f3053c7be..8a7d2aa06 100644 --- a/ports/cpprestsdk/CONTROL +++ b/ports/cpprestsdk/CONTROL @@ -1,5 +1,5 @@ Source: cpprestsdk -Version: 2.10.5 +Version: 2.10.6 Build-Depends: zlib, openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp), websocketpp (!uwp), boost-thread (!uwp&!windows), boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows) Description: C++11 JSON, REST, and OAuth library The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services. diff --git a/ports/cpprestsdk/portfile.cmake b/ports/cpprestsdk/portfile.cmake index b19bb8eb4..7b816fb79 100644 --- a/ports/cpprestsdk/portfile.cmake +++ b/ports/cpprestsdk/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/cpprestsdk - REF v2.10.5 - SHA512 7942185e0e1cd5080b57737887f44c12e706cfb6428e55762dcbad2fd2c557f25bd26abe25b6abd9769ab6c0cea564541e7e95dcaff53e609124dda065fa41be + REF v2.10.6 + SHA512 f0848f329df80ced68132600914f0f4ba1ed42c7c16188e0f2bd41cf0c50173c27ca42c8db72ff239ca881bc8789fa4d1e3189c492832f6c22d36d504b7ce8dd HEAD_REF master ) From 4eb219c9fd5a5d2d6414ae3976088bff93101c95 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Thu, 30 Aug 2018 23:49:44 -0700 Subject: [PATCH 021/129] [libpqxx] Fix non-Windows --- ports/libpqxx/CMakeLists.txt | 8 +++++--- ports/libpqxx/CONTROL | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ports/libpqxx/CMakeLists.txt b/ports/libpqxx/CMakeLists.txt index c33d8863f..1d0473376 100644 --- a/ports/libpqxx/CMakeLists.txt +++ b/ports/libpqxx/CMakeLists.txt @@ -1,9 +1,11 @@ cmake_minimum_required(VERSION 3.5) project(libpqxx VERSION 6.0.0 LANGUAGES CXX) -set(CMAKE_DEBUG_POSTFIX "D") -find_library(LIBPQD libpqd) -find_library(LIBPQ libpq) +set(CMAKE_DEBUG_POSTFIX "d") +set(CMAKE_CXX_STANDARD 14) + +find_library(LIBPQD NAMES libpqd pqd) +find_library(LIBPQ NAMES libpq pq) find_path(LIBPQ_FE_H libpq-fe.h) find_path(POSTGRES_EXT_H postgres_ext.h) diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL index 8860ddaf9..ce1a688e9 100644 --- a/ports/libpqxx/CONTROL +++ b/ports/libpqxx/CONTROL @@ -1,4 +1,4 @@ Source: libpqxx -Version: 6.0.0 +Version: 6.0.0-1 Description: The official C++ client API for PostgreSQL Build-Depends: libpq From 5d0b0ec82f711082f5babd29aad76a5759608cf2 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 4 Sep 2018 16:47:47 -0700 Subject: [PATCH 022/129] [vcpkg_extract_source_archive] Fix incorrect var usage in vcpkg_extract_source_archive --- scripts/cmake/vcpkg_extract_source_archive.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake index b1e2110a7..dbd17b5b6 100644 --- a/scripts/cmake/vcpkg_extract_source_archive.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive.cmake @@ -80,7 +80,7 @@ function(vcpkg_extract_source_archive_ex) string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF) # Hash the archive hash along with the patches. Take the first 10 chars of the hash - file(SHA512 ${ARCHIVE} PATCHSET_HASH) + file(SHA512 ${_vesae_ARCHIVE} PATCHSET_HASH) foreach(PATCH IN LISTS _vesae_PATCHES) get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}") file(SHA512 ${ABSOLUTE_PATCH} CURRENT_HASH) From 06e85f063c696966a677f98e742d6263f61ded66 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 4 Sep 2018 16:51:01 -0700 Subject: [PATCH 023/129] [vcpkg_extract_source_archive] Fix incorrect var usage in vcpkg_extract_source_archive --- scripts/cmake/vcpkg_extract_source_archive.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake index dbd17b5b6..da0ac611a 100644 --- a/scripts/cmake/vcpkg_extract_source_archive.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive.cmake @@ -36,7 +36,7 @@ function(vcpkg_extract_source_archive ARCHIVE) set(WORKING_DIRECTORY ${ARGV1}) endif() - get_filename_component(ARCHIVE_FILENAME ${ARCHIVE} NAME) + get_filename_component(ARCHIVE_FILENAME "${ARCHIVE}" NAME) if(NOT EXISTS ${WORKING_DIRECTORY}/${ARCHIVE_FILENAME}.extracted) message(STATUS "Extracting source ${ARCHIVE}") file(MAKE_DIRECTORY ${WORKING_DIRECTORY}) @@ -94,7 +94,7 @@ function(vcpkg_extract_source_archive_ex) if(NOT EXISTS ${SOURCE_PATH}) set(TEMP_DIR "${_vesae_WORKING_DIRECTORY}/TEMP") file(REMOVE_RECURSE ${TEMP_DIR}) - vcpkg_extract_source_archive("${ARCHIVE}" "${TEMP_DIR}") + vcpkg_extract_source_archive("${_vesae_ARCHIVE}" "${TEMP_DIR}") if(_vesae_NO_REMOVE_ONE_LEVEL) set(TEMP_SOURCE_PATH ${TEMP_DIR}) From c5d6967f5b3caaf2d14f535e10da7931ec83012d Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 4 Sep 2018 18:21:12 -0700 Subject: [PATCH 024/129] [poco] Use PATCHES argument. Avoid WIN32 because it is not defined in portfiles. --- ports/poco/CONTROL | 2 +- ports/poco/portfile.cmake | 22 +++++++++------------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/ports/poco/CONTROL b/ports/poco/CONTROL index 9656723bb..5817429fa 100644 --- a/ports/poco/CONTROL +++ b/ports/poco/CONTROL @@ -1,5 +1,5 @@ Source: poco -Version: 1.9.0 +Version: 1.9.0-1 Build-Depends: zlib, pcre, sqlite3, expat Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems. diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake index 8f8a86869..c94a09387 100644 --- a/ports/poco/portfile.cmake +++ b/ports/poco/portfile.cmake @@ -6,15 +6,11 @@ vcpkg_from_github( REF poco-1.9.0-release SHA512 de2346d62b2e89ba04abe62a83f6ede7a496e80bcbe53a880a1aa8e87a8ebd9a430dd70fdc6aada836bb1021c6df21375fd0cbcf62dbb6e29a2f65d6d90cf2b9 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/config_h.patch - ${CMAKE_CURRENT_LIST_DIR}/find_pcre.patch - ${CMAKE_CURRENT_LIST_DIR}/foundation-public-include-pcre.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-static-internal-pcre.patch + config_h.patch + find_pcre.patch + foundation-public-include-pcre.patch + fix-static-internal-pcre.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" POCO_STATIC) @@ -46,12 +42,12 @@ vcpkg_configure_cmake( vcpkg_install_cmake() file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) -if (WIN32) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/cpspc.exe ${CURRENT_PACKAGES_DIR}/tools/cpspc.exe) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/f2cpsp.exe ${CURRENT_PACKAGES_DIR}/tools/f2cpsp.exe) +if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/cpspc.exe") + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/cpspc.exe ${CURRENT_PACKAGES_DIR}/tools/cpspc.exe) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/f2cpsp.exe ${CURRENT_PACKAGES_DIR}/tools/f2cpsp.exe) else() -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/cpspc ${CURRENT_PACKAGES_DIR}/tools/cpspc) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/f2cpsp ${CURRENT_PACKAGES_DIR}/tools/f2cpsp) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/cpspc ${CURRENT_PACKAGES_DIR}/tools/cpspc) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/f2cpsp ${CURRENT_PACKAGES_DIR}/tools/f2cpsp) endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL static) From 398d9fe64e1efa6a98eb4896ac28ab94e020e956 Mon Sep 17 00:00:00 2001 From: Tank Tang Date: Wed, 5 Sep 2018 11:51:30 +0800 Subject: [PATCH 025/129] [azure-storage-cpp] Upgrade to 5.1.0 --- ports/azure-storage-cpp/CONTROL | 2 +- ports/azure-storage-cpp/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL index e3f158a95..9c4f027d2 100644 --- a/ports/azure-storage-cpp/CONTROL +++ b/ports/azure-storage-cpp/CONTROL @@ -1,5 +1,5 @@ Source: azure-storage-cpp -Version: 5.0.0 +Version: 5.1.0 Build-Depends: cpprestsdk, atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), libxml2 (!windows&!uwp), libuuid (!windows&!uwp) 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. Microsoft Azure Storage team's blog - http://blogs.msdn.com/b/windowsazurestorage/ diff --git a/ports/azure-storage-cpp/portfile.cmake b/ports/azure-storage-cpp/portfile.cmake index be9f8074c..474856e57 100644 --- a/ports/azure-storage-cpp/portfile.cmake +++ b/ports/azure-storage-cpp/portfile.cmake @@ -7,8 +7,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-storage-cpp - REF v5.0.0 - SHA512 730d082b4bf4ef73ee8aa5f8c87927149e4c2b65fc58dc9609f992ab8fcdd7e9fdbc4b77fbc46378ebd575196477dee7943db5d43724591d505aba511fe3052a + REF v5.1.0 + SHA512 a072b43482133bcc16d2da013ede2a29cb530ddeb0cdd38ed1f08d2a67fe7c6e2c7b0c5bb5c69b5c5b21de62bddfc20e12766618e6c6721d1221a00d435c1d51 HEAD_REF master PATCHES ${CMAKE_CURRENT_LIST_DIR}/pplx-do-while.patch From a91bc989a12ce8254f2315100d5615d84cbe9099 Mon Sep 17 00:00:00 2001 From: Force Charlie Date: Wed, 5 Sep 2018 18:00:37 +0800 Subject: [PATCH 026/129] [curl] update curl to 7.61.1 --- ports/curl/CONTROL | 2 +- ports/curl/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 59eaaf095..35e978146 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,5 +1,5 @@ Source: curl -Version: 7.61.0 +Version: 7.61.1 Build-Depends: zlib Description: A library for transferring data with URLs Default-Features: ssl diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index f941b11e2..c3bc0fc2e 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO curl/curl - REF curl-7_61_0 - SHA512 b6d2f57059e72139540cb93b945703857cb447920ed9b283993611453fed623432290adc5a3558181e3decc15c7cf54fff475010d922957807a37d1a1449be6c + REF curl-7_61_1 + SHA512 09fa3c87f8d516eabe3241247a5094c32ee0481961cf85bf78ecb13acdf23bb2ec82f113d2660271d22742c79e76d73fb122730fa28e34c7f5477c05a4a6534c HEAD_REF master PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001_cmake.patch From 03204d0c7016574015d47d82e0bbc92120e8ab79 Mon Sep 17 00:00:00 2001 From: Force Charlie Date: Wed, 5 Sep 2018 22:13:31 +0800 Subject: [PATCH 027/129] [ports] fix curl 001 patch, update nghttp2 to 1.33.0 --- ports/curl/0001_cmake.patch | 20 ++++++++++---------- ports/curl/0004_nghttp2_staticlib.patch | 2 +- ports/nghttp2/CONTROL | 2 +- ports/nghttp2/portfile.cmake | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ports/curl/0001_cmake.patch b/ports/curl/0001_cmake.patch index 4298321b3..7796af413 100644 --- a/ports/curl/0001_cmake.patch +++ b/ports/curl/0001_cmake.patch @@ -1,28 +1,28 @@ diff --git a/CMake/FindLibSSH2.cmake b/CMake/FindLibSSH2.cmake -index 12a7c61..9839c67 100644 +index 84822dba7..0d6219425 100644 --- a/CMake/FindLibSSH2.cmake +++ b/CMake/FindLibSSH2.cmake -@@ -12,7 +12,7 @@ endif (LIBSSH2_INCLUDE_DIR AND LIBSSH2_LIBRARY) - FIND_PATH(LIBSSH2_INCLUDE_DIR libssh2.h +@@ -12,7 +12,7 @@ endif() + find_path(LIBSSH2_INCLUDE_DIR libssh2.h ) --FIND_LIBRARY(LIBSSH2_LIBRARY NAMES ssh2 -+FIND_LIBRARY(LIBSSH2_LIBRARY NAMES ssh2 libssh2 +-find_library(LIBSSH2_LIBRARY NAMES ssh2 ++find_library(LIBSSH2_LIBRARY NAMES ssh2 libssh2 ) if(LIBSSH2_INCLUDE_DIR) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7b73b98..6c7c559 100644 +index e6dbb73f1..1e2ff138e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1132,7 +1132,9 @@ function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE) +@@ -1144,7 +1144,9 @@ function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE) endfunction() -if(WIN32 AND NOT CYGWIN) +if(MSVC) -+ set(CURL_INSTALL_CMAKE_DIR share/curl) ++ set(CURL_INSTALL_CMAKE_DIR share/curl) +elseif(WIN32 AND NOT CYGWIN) - set(CURL_INSTALL_CMAKE_DIR CMake) + set(CURL_INSTALL_CMAKE_DIR CMake) else() - set(CURL_INSTALL_CMAKE_DIR lib/cmake/curl) + set(CURL_INSTALL_CMAKE_DIR lib/cmake/curl) diff --git a/ports/curl/0004_nghttp2_staticlib.patch b/ports/curl/0004_nghttp2_staticlib.patch index c5cba9c5f..69c1854f9 100644 --- a/ports/curl/0004_nghttp2_staticlib.patch +++ b/ports/curl/0004_nghttp2_staticlib.patch @@ -6,7 +6,7 @@ index 490cc19..51c0a92 100644 find_package(NGHTTP2 REQUIRED) include_directories(${NGHTTP2_INCLUDE_DIRS}) list(APPEND CURL_LIBS ${NGHTTP2_LIBRARIES}) -+ if(CURL_STATICLIB) ++ if(NOT BUILD_SHARED_LIBS) + add_definitions(-DNGHTTP2_STATICLIB) + endif() endif() diff --git a/ports/nghttp2/CONTROL b/ports/nghttp2/CONTROL index 4b69590c0..09297c507 100644 --- a/ports/nghttp2/CONTROL +++ b/ports/nghttp2/CONTROL @@ -1,3 +1,3 @@ Source: nghttp2 -Version: 1.32.1 +Version: 1.33.0 Description: Implementation of the Hypertext Transfer Protocol version 2 in C diff --git a/ports/nghttp2/portfile.cmake b/ports/nghttp2/portfile.cmake index 354e8e9d2..96829566c 100644 --- a/ports/nghttp2/portfile.cmake +++ b/ports/nghttp2/portfile.cmake @@ -1,7 +1,7 @@ include(vcpkg_common_functions) set(LIB_NAME nghttp2) -set(LIB_VERSION 1.32.1) +set(LIB_VERSION 1.33.0) set(LIB_FILENAME ${LIB_NAME}-${LIB_VERSION}.tar.gz) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${LIB_NAME}-${LIB_VERSION}) @@ -9,7 +9,7 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${LIB_NAME}-${LIB_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://github.com/nghttp2/nghttp2/releases/download/v${LIB_VERSION}/${LIB_FILENAME}" FILENAME "${LIB_FILENAME}" - SHA512 8f138e96ad7029711d3c177267dcd35759867d711a935212b2257e20ef9a274c65d247b5d44f03d81edc8f52cb5fb1b751ae102cebcac39d102c1637ad040903 + SHA512 39c37a6579d1da6a6bcfb32c822f59943796ef4c11d82146924b8e279653c4afca496b6cc7fd65b0181f95fa5007a2dd0589038d6f4354c75d65e60d29528268 ) vcpkg_extract_source_archive(${ARCHIVE}) From 7ec7a08ea605b4073f3e2e18019090af25d526ca Mon Sep 17 00:00:00 2001 From: Daniel Marshall Date: Wed, 5 Sep 2018 18:55:53 +0100 Subject: [PATCH 028/129] Updated Catch2 to 2.4.0 --- ports/catch2/CONTROL | 2 +- ports/catch2/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/catch2/CONTROL b/ports/catch2/CONTROL index 41b534b59..10c288d42 100644 --- a/ports/catch2/CONTROL +++ b/ports/catch2/CONTROL @@ -1,4 +1,4 @@ Source: catch2 -Version: 2.3.0 +Version: 2.4.0 Description: A modern, header-only test framework for unit testing. Issues, PRs and changelogs can be found at https://github.com/catchorg/Catch2 diff --git a/ports/catch2/portfile.cmake b/ports/catch2/portfile.cmake index 763ee1987..81a0f6d0d 100644 --- a/ports/catch2/portfile.cmake +++ b/ports/catch2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO catchorg/Catch2 - REF v2.3.0 - SHA512 e9a089b504c339e87bda0fb1a4040d9d19c932a4bc7dca41bdad6edfcf8c428f4152ff1e0c898dfdf6b20bd5d901c343bed00ad89351fa5182f3c106e0fb4b03 + REF v2.4.0 + SHA512 7bd148271520dfce24f64bab084226387a6adc9f0a5439b6cb2fa6b4e44b495475ecd9bc5936c6fa4f17e45132e826d8d47410b33d6c218d7a3202f5bb0ccbf4 HEAD_REF master ) From eac4d7b1571895c41ec60be85132794b99bd811f Mon Sep 17 00:00:00 2001 From: Mark Ian Holland Date: Thu, 6 Sep 2018 14:40:22 +0100 Subject: [PATCH 029/129] Imgui updated to 1.64 --- ports/imgui/CMakeLists.txt | 1 + ports/imgui/CONTROL | 2 +- ports/imgui/portfile.cmake | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ports/imgui/CMakeLists.txt b/ports/imgui/CMakeLists.txt index 5bcf278f7..1b4fc86e5 100644 --- a/ports/imgui/CMakeLists.txt +++ b/ports/imgui/CMakeLists.txt @@ -17,6 +17,7 @@ set(IMGUI_SOURCES imgui.cpp imgui_demo.cpp imgui_draw.cpp + imgui_widgets.cpp ) add_library(${PROJECT_NAME} diff --git a/ports/imgui/CONTROL b/ports/imgui/CONTROL index 03c1e0e7c..86dc63371 100644 --- a/ports/imgui/CONTROL +++ b/ports/imgui/CONTROL @@ -1,3 +1,3 @@ Source: imgui -Version: 1.62 +Version: 1.64 Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies. diff --git a/ports/imgui/portfile.cmake b/ports/imgui/portfile.cmake index b477ba7b7..c24a17126 100644 --- a/ports/imgui/portfile.cmake +++ b/ports/imgui/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ocornut/imgui - REF v1.62 - SHA512 aa9701481d108e6b2f030cac71fdef49e299cfa930c8ec7e74847757a059b8c629f09cb7d7d1eb4cb9d3ef263404906dfa52670850c6a490d56eaff981d56049 + REF v1.64 + SHA512 22bb2c0bbb85d2bb40663046cc4907c36ecdbd9a2148c241bda0ab92ef037cc60c225efb5729f2826893ffff031f6db8f4651768bc3616810218e185eac1b456 HEAD_REF master ) From f138ef37476ea3bee03de13f2f8ac76cfd6a0faa Mon Sep 17 00:00:00 2001 From: icedream2linxi Date: Fri, 7 Sep 2018 20:24:27 +0800 Subject: [PATCH 030/129] [freeglut] Fix the internal default link name of freeglut. Fixed #4243. --- 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 8baaba1dc..c6f595c2f 100644 --- a/ports/freeglut/CONTROL +++ b/ports/freeglut/CONTROL @@ -1,3 +1,3 @@ Source: freeglut -Version: 3.0.0-4 +Version: 3.0.0-5 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 913fc90ff..3be83ed4a 100644 --- a/ports/freeglut/portfile.cmake +++ b/ports/freeglut/portfile.cmake @@ -25,6 +25,12 @@ else() set(FREEGLUT_DYNAMIC OFF) endif() +# Patch header +file(READ ${SOURCE_PATH}/include/GL/freeglut_std.h FREEGLUT_STDH) +string(REGEX REPLACE "\"freeglut[_a-z]+.lib\"" + "\"freeglut.lib\"" FREEGLUT_STDH "${FREEGLUT_STDH}") +file(WRITE ${SOURCE_PATH}/include/GL/freeglut_std.h "${FREEGLUT_STDH}") + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS @@ -36,14 +42,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# Patch header -file(READ ${CURRENT_PACKAGES_DIR}/include/GL/freeglut_std.h FREEGLUT_STDH) -string(REPLACE "pragma comment (lib, \"freeglut_staticd.lib\")" - "pragma comment (lib, \"freeglut.lib\")" FREEGLUT_STDH "${FREEGLUT_STDH}") -string(REPLACE "pragma comment (lib, \"freeglutd.lib\")" - "pragma comment (lib, \"freeglut.lib\")" FREEGLUT_STDH "${FREEGLUT_STDH}") -file(WRITE ${CURRENT_PACKAGES_DIR}/include/GL/freeglut_std.h "${FREEGLUT_STDH}") - # 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") From 8a3b7311182b3968f2d433a64d1384b94dd89403 Mon Sep 17 00:00:00 2001 From: jasjuang Date: Sun, 9 Sep 2018 23:01:27 -0700 Subject: [PATCH 031/129] [alembic] update to 1.7.9 --- ports/alembic/CONTROL | 2 +- ports/alembic/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/alembic/CONTROL b/ports/alembic/CONTROL index 9a43a7b00..a2aefabec 100644 --- a/ports/alembic/CONTROL +++ b/ports/alembic/CONTROL @@ -1,4 +1,4 @@ Source: alembic -Version: 1.7.8 +Version: 1.7.9 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. http://alembic.io/ diff --git a/ports/alembic/portfile.cmake b/ports/alembic/portfile.cmake index d9720a178..295afa34a 100644 --- a/ports/alembic/portfile.cmake +++ b/ports/alembic/portfile.cmake @@ -8,8 +8,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alembic/alembic - REF 1.7.8 - SHA512 bc36e30d1aecd67da16247365a973c462e9716309d090fefe36f625c8d2ab2d517fe8ac694a9188cd6eeb623a3217f59f461c82fcfec43d0a60a07381526983a + REF 1.7.9 + SHA512 8025c20525ffbd5bdc9dd5a33ad8238e49f063d244ab9d112e7d1ddb7ee7cf9b36ceb74cb45d658ce22d3033552c89bddf6b818cf466ea46aa1a70a41fdeddb2 HEAD_REF master ) From db835b9ef4c9055e30d35aeecdafcd4f8ff66d37 Mon Sep 17 00:00:00 2001 From: Daniel Marshall Date: Thu, 13 Sep 2018 17:16:58 +0100 Subject: [PATCH 032/129] [fmt] update to 5.2.0 --- ports/fmt/CONTROL | 2 +- ports/fmt/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/fmt/CONTROL b/ports/fmt/CONTROL index 64cdec426..88f41b36e 100644 --- a/ports/fmt/CONTROL +++ b/ports/fmt/CONTROL @@ -1,3 +1,3 @@ Source: fmt -Version: 5.1.0 +Version: 5.2.0 Description: Formatting library for C++. It can be used as a safe alternative to printf or as a fast alternative to IOStreams. diff --git a/ports/fmt/portfile.cmake b/ports/fmt/portfile.cmake index 3cd23d8fe..9389d2fbf 100644 --- a/ports/fmt/portfile.cmake +++ b/ports/fmt/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fmtlib/fmt - REF 5.1.0 - SHA512 b759a718353254fa8cd981e483bf01a45af0fc76901216404ace5e47f5d3edf43d42422184e5413c221e49832322fdf60d1860e8ec87349c674511064b31e5d6 + REF 5.2.0 + SHA512 75d53e6d8087288607f75fb891bb8812c7b9fe65e5ab7a20cdffeb5e56bd1f48e0de24c8cf1c2dd603fe3ed76f9fa067804ec5d3560f177db8f0a747c36f9d1c HEAD_REF master ) From 68a5eba2d183ffc710799e8cf1f2a927ca8e031f Mon Sep 17 00:00:00 2001 From: Denis Legashov Date: Fri, 14 Sep 2018 15:51:54 +0300 Subject: [PATCH 033/129] [leptonica] Update to 1.76.0 --- ports/leptonica/CONTROL | 2 +- ports/leptonica/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/leptonica/CONTROL b/ports/leptonica/CONTROL index e3543173f..5fd60614d 100644 --- a/ports/leptonica/CONTROL +++ b/ports/leptonica/CONTROL @@ -1,4 +1,4 @@ Source: leptonica -Version: 1.74.4-5 +Version: 1.76.0 Description: An open source library containing software that is broadly useful for image processing and image analysis applications Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib diff --git a/ports/leptonica/portfile.cmake b/ports/leptonica/portfile.cmake index 156ed3dd2..d42fa6b90 100644 --- a/ports/leptonica/portfile.cmake +++ b/ports/leptonica/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DanBloomberg/leptonica - REF 1.74.4 - SHA512 3b9d0be937883f733f72cbdf0b624ec245d9256a8b4622997f437d309efd7ad9695ad1cbe2224d543eb3ef8c44833567b3cc9a95e9a774ef9046b7acaf0ae744 + REF 1.76.0 + SHA512 0d7575dc38d1e656a228ef30412a2cbb908b9c7c8636e4e96f4a7dc0429c04709316b8ad04893285ab430c1b2063d71537fc5b989a0f9dbdbec488713e1bab1f HEAD_REF master PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch From ea08dc33c332cf6972c0196449ce077eb70615a9 Mon Sep 17 00:00:00 2001 From: Guillaume Racicot Date: Fri, 14 Sep 2018 14:54:54 -0400 Subject: [PATCH 034/129] New package: gracicot/kangaru, a library for dependency injection in C++11, C++14 and later (#4288) * New package: gracicot/kangaru, a library for dependency injection in C++11, c++14 and later * Updated description --- ports/kangaru/CONTROL | 3 +++ ports/kangaru/portfile.cmake | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 ports/kangaru/CONTROL create mode 100644 ports/kangaru/portfile.cmake diff --git a/ports/kangaru/CONTROL b/ports/kangaru/CONTROL new file mode 100644 index 000000000..42f8277fd --- /dev/null +++ b/ports/kangaru/CONTROL @@ -0,0 +1,3 @@ +Source: kangaru +Version: 4.1.2 +Description: A dependency injection container for C++11, C++14 and later diff --git a/ports/kangaru/portfile.cmake b/ports/kangaru/portfile.cmake new file mode 100644 index 000000000..6de69896b --- /dev/null +++ b/ports/kangaru/portfile.cmake @@ -0,0 +1,28 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO gracicot/kangaru + REF v4.1.2 + SHA512 44ca94da38c80aa8495bb58cc26db0591d5e1b32b52c3ff242d95598856c5e84f25d7e7184c1e15e44d9a89987856740548fb070ad393cbe51da4bb79aa216d2 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS -DKANGARU_EXPORT=Off -DKANGARU_TEST=Off +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/kangaru") + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/lib + ${CURRENT_PACKAGES_DIR}/debug +) + + +# Put the license file where vcpkg expects it +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/kangaru/) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/kangaru/LICENSE ${CURRENT_PACKAGES_DIR}/share/kangaru/copyright) From 8740f850a1117a51cbe987a74a0ce271d4bba5b9 Mon Sep 17 00:00:00 2001 From: hanseuljun Date: Sat, 15 Sep 2018 20:00:54 -0700 Subject: [PATCH 035/129] [x264] Update to 157 --- ports/x264/CONTROL | 2 +- ports/x264/portfile.cmake | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/x264/CONTROL b/ports/x264/CONTROL index 245fb8f7f..44b664142 100644 --- a/ports/x264/CONTROL +++ b/ports/x264/CONTROL @@ -1,3 +1,3 @@ Source: x264 -Version: 152-e9a5903edf8ca59-1 +Version: 157-303c484ec828ed0 Description: x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format diff --git a/ports/x264/portfile.cmake b/ports/x264/portfile.cmake index d5f85ecdd..67d7ab087 100644 --- a/ports/x264/portfile.cmake +++ b/ports/x264/portfile.cmake @@ -1,12 +1,12 @@ include(vcpkg_common_functions) -set(X264_VERSION 152) +set(X264_VERSION 157) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mirror/x264 - REF e9a5903edf8ca59ef20e6f4894c196f135af735e - SHA512 063da238264b33ab7ccf097c1f8a7d6b1bf1f0777b433ccbb6ab98090f050fa4d289eeff37b701b8fd7fb5ad460b7fa13d61b68b3f397bc78a8eaa50379e4878 + REF 303c484ec828ed0d8bfe743500e70314d026c3bd + SHA512 faf210a3f9543028ed882c8348b243dd7ae6638e7b3ef43bec1326b717f23370f57c13d0ddb5e1ae94411088a2e33031a137b68ae9f64c18f8f33f601a0da54d HEAD_REF master ) From c7f99a77a882ab5c2dce52dc5fa9005fe905773f Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Tue, 18 Sep 2018 08:48:30 +0200 Subject: [PATCH 036/129] Fix up double-conversion and harfbuzz (#4285) * [double-conversion] Bump to 3.1.0 This release also allows removing the workarounds for calling vcpkg_fixup_cmake_targets twice after renaming *LibraryDepends.cmake because upstream didn't install *Targets.cmake files. That in turn fixes using double-conversion on Linux. * [harfbuzz] Fix cmake configs When building cmake with autotools, a harfbuzz-config.cmake file gets installed that makes find_package work. However when building with cmake, that is omitted. Therefore include a patch from upstream pull request https://github.com/harfbuzz/harfbuzz/pull/1161 to fix that. * [harfbuzz] Rename targets to unofficial-harfbuzz because they are not provided by upstream --- ports/double-conversion/CONTROL | 2 +- ports/double-conversion/portfile.cmake | 33 ++-------------------- ports/harfbuzz/0001-fix-cmake-export.patch | 22 +++++++++++++++ ports/harfbuzz/CONTROL | 2 +- ports/harfbuzz/portfile.cmake | 14 ++++----- 5 files changed, 33 insertions(+), 40 deletions(-) create mode 100644 ports/harfbuzz/0001-fix-cmake-export.patch diff --git a/ports/double-conversion/CONTROL b/ports/double-conversion/CONTROL index fb0afdb9a..66cf5b1dd 100644 --- a/ports/double-conversion/CONTROL +++ b/ports/double-conversion/CONTROL @@ -1,3 +1,3 @@ Source: double-conversion -Version: 3.0.0-2 +Version: 3.1.0 Description: Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles. diff --git a/ports/double-conversion/portfile.cmake b/ports/double-conversion/portfile.cmake index 47f3fba4e..99be98024 100644 --- a/ports/double-conversion/portfile.cmake +++ b/ports/double-conversion/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/double-conversion - REF v3.0.0 - SHA512 5057af6e72f2aaace56ebdd9a0ddfa34318cbdfeabec5c361b60e6c92f160c8999c046c50f8c6f8d590eb8e97aa70bb6e97ba8148f0dc95dbc42f204fcdc1abf + REF 3.1.0 + SHA512 ba797a7203bc7eb8ba697dc758a3341578f0405b5ab42fbd5a22d9fac09d11dd8cb5ed9ff9ff369e8ae9397ec74c04c62fca29d1bc469c6d2ea1a84a6dff9188 HEAD_REF master ) @@ -26,35 +26,6 @@ vcpkg_install_cmake() if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/double-conversion) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/double-conversion) endif() -if(NOT VCPKG_USE_HEAD_VERSION) - if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/CMake/double-conversionLibraryDepends-debug.cmake - ${CURRENT_PACKAGES_DIR}/debug/CMake/double-conversionTargets-debug.cmake) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME ${CURRENT_PACKAGES_DIR}/CMake/double-conversionLibraryDepends-release.cmake - ${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets-release.cmake) - endif() - file(RENAME ${CURRENT_PACKAGES_DIR}/CMake/double-conversionLibraryDepends.cmake - ${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets.cmake) - - file(READ ${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets.cmake TARGETS_FILE) - string(REPLACE "double-conversionLibraryDepends" "double-conversionTargets" TARGETS_FILE "${TARGETS_FILE}") - file(WRITE ${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets.cmake "${TARGETS_FILE}") - - # Remove hardcoded paths from config file - file(READ ${CURRENT_PACKAGES_DIR}/CMake/double-conversionConfig.cmake CONFIG_FILE) - string(REPLACE "${CURRENT_PACKAGES_DIR}/lib/cmake/double-conversion/double-conversionLibraryDepends.cmake" - "\${double-conversion_CMAKE_DIR}/double-conversionTargets.cmake" CONFIG_FILE "${CONFIG_FILE}") - string(REPLACE "${CURRENT_PACKAGES_DIR}" - "\${double-conversion_CMAKE_DIR}/../.." CONFIG_FILE "${CONFIG_FILE}") - file(WRITE ${CURRENT_PACKAGES_DIR}/CMake/double-conversionConfig.cmake "${CONFIG_FILE}") - - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) - endif() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -endif() vcpkg_copy_pdbs() diff --git a/ports/harfbuzz/0001-fix-cmake-export.patch b/ports/harfbuzz/0001-fix-cmake-export.patch new file mode 100644 index 000000000..0efecec2d --- /dev/null +++ b/ports/harfbuzz/0001-fix-cmake-export.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e881dbd1..69496561 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -761,11 +761,17 @@ endif () + + if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) + install(TARGETS harfbuzz ++ EXPORT harfbuzzConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + FRAMEWORK DESTINATION Library/Frameworks + ) ++ install(EXPORT harfbuzzConfig ++ NAMESPACE unofficial::harfbuzz:: ++ FILE unofficial-harfbuzz-config.cmake ++ DESTINATION share/unofficial-harfbuzz ++ ) + if (HB_BUILD_UTILS) + install(TARGETS hb-view + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL index fc9ce8370..da621b58d 100644 --- a/ports/harfbuzz/CONTROL +++ b/ports/harfbuzz/CONTROL @@ -1,5 +1,5 @@ Source: harfbuzz -Version: 1.8.4 +Version: 1.8.4-1 Description: HarfBuzz OpenType text shaping engine Build-Depends: freetype, ragel Default-Features: ucdn diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index 4a1a0309b..0a92439dc 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -6,14 +6,11 @@ vcpkg_from_github( REF 1.8.4 SHA512 92742b754713d1df8975d4d8467de04765784d7fd566b7e07e7e7a261b0338e997a5fc11fa4fe282d6d5540d242db40c993812fbc4a881becd95fd3aae598c80 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - "${CMAKE_CURRENT_LIST_DIR}/0001-fix-uwp-build.patch" - "${CMAKE_CURRENT_LIST_DIR}/find-package-freetype-2.patch" - "${CMAKE_CURRENT_LIST_DIR}/glib-cmake.patch" + 0001-fix-uwp-build.patch + find-package-freetype-2.patch + glib-cmake.patch + 0001-fix-cmake-export.patch ) SET(HB_HAVE_ICU "OFF") @@ -59,8 +56,11 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-harfbuzz TARGET_PATH share/unofficial-harfbuzz) vcpkg_copy_pdbs() # Handle copyright file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/harfbuzz) file(RENAME ${CURRENT_PACKAGES_DIR}/share/harfbuzz/COPYING ${CURRENT_PACKAGES_DIR}/share/harfbuzz/copyright) + +vcpkg_test_cmake(PACKAGE_NAME unofficial-harfbuzz) From add489dd755d6b7c48e7c8031aea3619d789c37b Mon Sep 17 00:00:00 2001 From: quickiwiki Date: Tue, 18 Sep 2018 13:35:50 +0500 Subject: [PATCH 037/129] Added tinyspline library to ports (#4298) * Added tinyspline library to ports * Removed commented code * [tinyspline] Simplify patching, remove extra comments and unused directives --- ports/tinyspline/CONTROL | 3 +++ ports/tinyspline/cmake.patch | 29 +++++++++++++++++++++++++++++ ports/tinyspline/portfile.cmake | 25 +++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 ports/tinyspline/CONTROL create mode 100644 ports/tinyspline/cmake.patch create mode 100644 ports/tinyspline/portfile.cmake diff --git a/ports/tinyspline/CONTROL b/ports/tinyspline/CONTROL new file mode 100644 index 000000000..ef83e311b --- /dev/null +++ b/ports/tinyspline/CONTROL @@ -0,0 +1,3 @@ +Source: tinyspline +Version: 0.2.0-1 +Description: Library for NURBS, B-Splines, and B?zier curves, allowing you to handle splines with ease diff --git a/ports/tinyspline/cmake.patch b/ports/tinyspline/cmake.patch new file mode 100644 index 000000000..2cb6a2602 --- /dev/null +++ b/ports/tinyspline/cmake.patch @@ -0,0 +1,29 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 02dfb83..35e01f8 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -387,6 +387,9 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + # TINYSPLINE_LIBRARY_C_FLAGS + set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /Wall") + set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /WX") ++ set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /wd4820") ++ set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /wd5045") ++ set(TINYSPLINE_LIBRARY_C_FLAGS "${TINYSPLINE_LIBRARY_C_FLAGS} /wd4711") + + # TINYSPLINE_LIBRARY_CXX_FLAGS + set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /Wall") +@@ -395,6 +398,14 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4710") + set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4350") + set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4820") ++ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd5045") ++ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4571") ++ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4625") ++ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4626") ++ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd5026") ++ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd5027") ++ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4774") ++ set(TINYSPLINE_LIBRARY_CXX_FLAGS "${TINYSPLINE_LIBRARY_CXX_FLAGS} /wd4711") + + # TINYSPLINE_BINDING_CXX_FLAGS + set(TINYSPLINE_BINDING_CXX_FLAGS "${TINYSPLINE_BINDING_CXX_FLAGS} /w") diff --git a/ports/tinyspline/portfile.cmake b/ports/tinyspline/portfile.cmake new file mode 100644 index 000000000..a290cf3a7 --- /dev/null +++ b/ports/tinyspline/portfile.cmake @@ -0,0 +1,25 @@ +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO msteinbeck/tinyspline + REF 0.2.0 + SHA512 50cf4927b311eeca6de7954f1b8d585cbf71355f5e5b0aac2f92f5f4ba37986df16eb3251f94a2304d27dab27d4f6b838b410f53e30de28bab53facf194eb640 + HEAD_REF master + PATCHES + cmake.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/src + PREFER_NINJA +) + +vcpkg_install_cmake() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/tinyspline/copyright COPYONLY) From 798f9cae6cf5887eb78bde90b129a68ca05dec89 Mon Sep 17 00:00:00 2001 From: Rich Randall Date: Tue, 18 Sep 2018 02:07:27 -0700 Subject: [PATCH 038/129] Add Google Fruit to ports (#4291) * Add Google Fruit to ports * [fruit] Use vcpkg_from_github() and configure_file() --- ports/fruit/CONTROL | 4 ++++ ports/fruit/portfile.cmake | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 ports/fruit/CONTROL create mode 100644 ports/fruit/portfile.cmake diff --git a/ports/fruit/CONTROL b/ports/fruit/CONTROL new file mode 100644 index 000000000..4e7bd9f8d --- /dev/null +++ b/ports/fruit/CONTROL @@ -0,0 +1,4 @@ +Source: fruit +Version: 3.4.0-1 +Description: Fruit, a dependency injection framework for C++ by Google + diff --git a/ports/fruit/portfile.cmake b/ports/fruit/portfile.cmake new file mode 100644 index 000000000..a945e63bd --- /dev/null +++ b/ports/fruit/portfile.cmake @@ -0,0 +1,22 @@ +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/fruit + REF v3.4.0 + SHA512 d78c76432c77acc4cc6ccf3fd9627a3fb2a0aa55d1baf7346422e9f1c1e048237d136588b44cfa943b542b43adbbb62fcd524e4a1cb870e9ffe8b7cf4dadb35d + HEAD_REF master +) + +# TODO: Make boost an optional dependency? +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DFRUIT_USES_BOOST=False +) + +vcpkg_install_cmake() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/fruit/copyright COPYONLY) From 7e5bb652fba1d6ca805a73fd992ab5e7e1945b61 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 3 Aug 2018 20:40:37 -0700 Subject: [PATCH 039/129] Upgrades 2018.08.03 --- ports/abseil/CONTROL | 2 +- ports/abseil/portfile.cmake | 4 ++-- ports/aws-sdk-cpp/CONTROL | 2 +- ports/aws-sdk-cpp/portfile.cmake | 4 ++-- ports/breakpad/CONTROL | 2 +- ports/breakpad/portfile.cmake | 4 ++-- ports/entt/CONTROL | 2 +- ports/entt/portfile.cmake | 4 ++-- ports/exiv2/CONTROL | 2 +- ports/exiv2/portfile.cmake | 4 ++-- ports/ms-gsl/CONTROL | 2 +- ports/ms-gsl/portfile.cmake | 4 ++-- ports/openimageio/CONTROL | 2 +- ports/openimageio/portfile.cmake | 4 ++-- ports/parson/CONTROL | 2 +- ports/parson/portfile.cmake | 4 ++-- ports/thrift/CONTROL | 2 +- ports/thrift/portfile.cmake | 4 ++-- ports/unicorn-lib/CONTROL | 2 +- ports/unicorn-lib/portfile.cmake | 4 ++-- ports/unicorn/CONTROL | 2 +- ports/unicorn/portfile.cmake | 4 ++-- 22 files changed, 33 insertions(+), 33 deletions(-) diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL index 4f8b132a9..ac5cb17f4 100644 --- a/ports/abseil/CONTROL +++ b/ports/abseil/CONTROL @@ -1,5 +1,5 @@ Source: abseil -Version: 2018-07-30 +Version: 2018-08-03 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 a45b31b06..9a0bad50e 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 c2e00d341913bf03b4597ade5b056042e23e8c58 - SHA512 60e9f0abc4ebbc356314c144b769a6918d4c5215df9f01aafb234f94756b08b670bdaf4cf88363ea4daf3bd19cb193ba6817aba70b208275d3d5d1ed2926ce9a + REF 8f96be6ca60d967bd4b37f93d0a03bcff4145200 + SHA512 f50d0e5cdfc4798fdeacc3a8234137b01fb26797ecaaadff9c44eefe00100d5d733976ea45cdb4d4709eec03968037afb0bf6411b89b92bd90623bfe451d8314 HEAD_REF master ) diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index 611b1989b..56bac880d 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,5 +1,5 @@ Source: aws-sdk-cpp -Version: 1.5.2 +Version: 1.5.7 Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows) Default-Features: dynamodb, ec2, kms, rds, s3, sns, sqs diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index a6d2ac514..b6c05d4b5 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/aws-sdk-cpp - REF 1.5.2 - SHA512 d157e12ff836ee1ee875755ffd96312bdad7d8ad17d3cf7b5919f01f755ba62e53366eee0d32c1f41e9da7aa678fe3349cc19dd14bbaf5f2908474d6e66d6146 + REF 1.5.7 + SHA512 c392b6d08fedd9f3ecb58856c7b678193db7061fbf5771840487a0a6b993e3c3626007a4e780760ef5dc76ff237c373303c61fb0663375f1f8ca923294e3c541 HEAD_REF master ) diff --git a/ports/breakpad/CONTROL b/ports/breakpad/CONTROL index 190d48875..48164a0b7 100644 --- a/ports/breakpad/CONTROL +++ b/ports/breakpad/CONTROL @@ -1,4 +1,4 @@ Source: breakpad -Version: 2018-07-30-2 +Version: 2018-08-03-1 Build-Depends: libdisasm Description: a set of client and server components which implement a crash-reporting system. diff --git a/ports/breakpad/portfile.cmake b/ports/breakpad/portfile.cmake index b5f2959fe..e79f5293e 100644 --- a/ports/breakpad/portfile.cmake +++ b/ports/breakpad/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/breakpad - REF 9fecc95c72549452959431ddc0e4ec4e0cda8689 - SHA512 b579c4f7058cfd86df343e41496c0d4fc0fb1160bf239fab9cfecfd3d60108367f43f1788d744a9d813d585e8a05e06adf90b01d619448a262522a969d8d5054 + REF f12b6897897fb5b7e74437371fdf2b36a36f5661 + SHA512 b2322e2f043fff9f7aa9ff1aa99bc7eab2c98e0d0e2407bd35aa5eeab6e16e4a526d5a88544e3c13f0b41ee0c993f35eefce632ef8a3f183a877f98272ac7f19 HEAD_REF master ) diff --git a/ports/entt/CONTROL b/ports/entt/CONTROL index d03cf86a4..fa3a82458 100644 --- a/ports/entt/CONTROL +++ b/ports/entt/CONTROL @@ -1,3 +1,3 @@ Source: entt -Version: 2.7.1 +Version: 2.7.2 Description: Gaming meets modern C++ - a fast and reliable entity-component system and much more. diff --git a/ports/entt/portfile.cmake b/ports/entt/portfile.cmake index 96a509270..c99554c59 100644 --- a/ports/entt/portfile.cmake +++ b/ports/entt/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO skypjack/entt - REF v2.7.1 - SHA512 6db7aa43194dd30026f409ee7f1012d48c3812ec99fc525864527142e5b94bef3950759874d7afcafa264af1c7ccfd39979c550c641e942cc6871e537938d508 + REF v2.7.2 + SHA512 334b94ef142bb234204315e47c9783f55c7639c59a214b772ce76c6b7cf4008280ab6762a3cf6049f51932773f5ae62e45d9423efe0dd5043b20103b1f857167 ) file(INSTALL diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL index e96c322ec..eb3a22fb0 100644 --- a/ports/exiv2/CONTROL +++ b/ports/exiv2/CONTROL @@ -1,4 +1,4 @@ Source: exiv2 -Version: 2018-07-30 +Version: 2018-08-03 Build-Depends: zlib, expat, libiconv Description: Image metadata library and tools http://www.exiv2.org diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index 54a071f19..2efde477b 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Exiv2/exiv2 - REF e67910a6691f5238e85d5a43477af7dd13f0574e - SHA512 6f7fddf25fd7c557911678f009412986df959dd32594b66d81524ae666fc260f5ba9df461eab3ad8e7f1cad939e355be7e0801f1e6ee275e9eddfc53961ad0ab + REF 8ba9422ba3cb326092b269f2752eb5ce88836115 + SHA512 08883aeb0ff6619ba28c457e11307d1f577c6a73dc09e3bd0463d46b45a7d5391445ff40a235869d3dabda824b6667bb11089c8bb48967672867ab493093d322 HEAD_REF master PATCHES "${CMAKE_CURRENT_LIST_DIR}/iconv.patch" ) diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL index 9171c29f7..1336d92c2 100644 --- a/ports/ms-gsl/CONTROL +++ b/ports/ms-gsl/CONTROL @@ -1,3 +1,3 @@ Source: ms-gsl -Version: 2018-07-30 +Version: 2018-08-03 Description: Microsoft implementation of the Guidelines Support Library \ No newline at end of file diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake index 959c3b21b..1e76d43b1 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 5778149583e69b34ab375039ffcc5d51a4dd7b37 - SHA512 d59d73b09ca9f3a1be21f13437ae456eaed3378284557eac5305bd97525a2286b650ecefff2c9e8575ab3ac54351c7b82f8ddc6ac93d99d757d0d9811a378def + REF b6c531f7c159a685eb71ad6a93d8308793a4f61b + SHA512 aa7d6e3f25285dcfea8b2037745e960821f66644a102e06a637b2f84317165a5a11e6a677d60b378fcccf6d00b32abed51fcf3661518830cd29ce36f2ff323bd HEAD_REF master ) diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL index 0645c03a1..12bc943d7 100644 --- a/ports/openimageio/CONTROL +++ b/ports/openimageio/CONTROL @@ -1,5 +1,5 @@ Source: openimageio -Version: Release-1.8.12-1 +Version: Release-1.8.13 Description: A library for reading and writing images, and a bunch of related classes, utilities, and application Build-Depends: libjpeg-turbo, tiff, libpng, openexr, boost-thread, boost-smart-ptr, boost-foreach, boost-regex, boost-type-traits, boost-static-assert, boost-unordered, boost-config, boost-algorithm, boost-filesystem, boost-system, boost-thread, boost-asio, boost-random, robin-map diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake index 86d83aba4..c5786db64 100644 --- a/ports/openimageio/portfile.cmake +++ b/ports/openimageio/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenImageIO/oiio - REF Release-1.8.12 - SHA512 2475792ff475d34b47b6af5ca71c6cf6d9d8c60452a506b1bf740b9dbb20ea72109117dc9a531b8302095de99f6280172723f26e23dc6e038256cbb43b697145 + REF Release-1.8.13 + SHA512 578d039399846f994dd8e4b94a7b56f2bcec45571c2144705fc4e2fe6a3e1d878d79a96c0484350d54b46eef7796d46becda9f5d50f266cd730f63d97af0650e HEAD_REF master PATCHES # fix_libraw: replace 'LibRaw_r_LIBRARIES' occurences by 'LibRaw_LIBRARIES' diff --git a/ports/parson/CONTROL b/ports/parson/CONTROL index 5a6d27896..dddf27ef3 100644 --- a/ports/parson/CONTROL +++ b/ports/parson/CONTROL @@ -1,3 +1,3 @@ Source: parson -Version: 2018-05-17 +Version: 2018-08-03 Description: a lighweight json library written in C diff --git a/ports/parson/portfile.cmake b/ports/parson/portfile.cmake index 134520fbd..c90370de0 100644 --- a/ports/parson/portfile.cmake +++ b/ports/parson/portfile.cmake @@ -8,8 +8,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kgabis/parson - REF 4f3eaa6849ba62404fc5756650168bb2056d0b46 - SHA512 dd98ebdb7f39387e600d529b8c92986f20781e7ec6b2baffcdc553e834be826ada4724247750300a897cacdee8f942d3c7d540e6bb410c2854a9291a80df847f + REF b58ac757a89fe85468681dacd504190ef58d2d39 + SHA512 8cc9e7e94d3476e1d48411a9e97950008fae0e30646d929521f7202737974cb6075f54ba05399947d2524a118e01a08bbeb652aab057ce358614f4d17f14eace HEAD_REF master ) diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL index 6868dfb79..70369ce10 100644 --- a/ports/thrift/CONTROL +++ b/ports/thrift/CONTROL @@ -1,4 +1,4 @@ Source: thrift -Version: 2018-07-30 +Version: 2018-08-03 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 4322ad19a..daa697cf4 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 dabb539d64fb303a443c7962caccc9177669ca80 - SHA512 5132e1f9d6afbaff736f34f5ab18bd0febed6143fe3042b86f0bab522b22324d10ff1fd3de7cef872fd2d434864ef98126636ad3a1cb4a0aae65ffcbabe4febe + REF 0a2d4587c8cc0a54e4fa8fee9247d088d05b0d65 + SHA512 dd66b7c73b904dee9ceeb5e597203f493398da04de7204f8874718b7067c9da5603f462ca8d3183c6d0817ae070ffc16d81d6a6a9e0dbf6224c08b89a14541fa HEAD_REF master ) diff --git a/ports/unicorn-lib/CONTROL b/ports/unicorn-lib/CONTROL index 7fec5c07a..e56491658 100644 --- a/ports/unicorn-lib/CONTROL +++ b/ports/unicorn-lib/CONTROL @@ -1,4 +1,4 @@ Source: unicorn-lib -Version: 2018-07-30 +Version: 2018-08-03 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 c62fe70bc..ded178c3f 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 6d33ec8d828c3740cc6fd66ef03f395526450ad6 - SHA512 4f802b4889e0683bd156a3dcc670cff737b532169f092d99434e2877b152bd2963984000a00bf928e11ba5142e10c5af8e0986f2c92fa6b7251d53cb688bd96a + REF 9bde1537234a470699eb4d4c18bf7c9e1d179300 + SHA512 95f106c990eab53d94e03001dde69c9c6068d466a6419824f8b454b914c616006d05878a95dfcbfec83afd3530cccfb8b888ce56bd957d9d49be44eae33578f7 HEAD_REF master ) diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL index 74a6c282d..4951b2bf5 100644 --- a/ports/unicorn/CONTROL +++ b/ports/unicorn/CONTROL @@ -1,3 +1,3 @@ Source: unicorn -Version: 2018-07-30 +Version: 2018-08-03 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 272dc0bc1..9de7533c2 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 e3af0d086dc58f3a25f45da2446f99c13a63885e - SHA512 0049efa4ca7a1f40d03872bd310766f56bb4c5456544b0d50f78dcc149ac5e62f2e5ba9b1f651d92b4d8ac42780029f3b8ae5f2d7da3295d507226bfa592b8e6 + REF 84220d83601ba929c56b9e1fadd1686e02cbb93c + SHA512 36e7b54cafe94a07a975480428faab1cb627600a6e0f771de2984499760a24907be3d7fe054588687b89108706d111f55026379bdfb1ff747b00a11f4a1e836a HEAD_REF master ) From f89341566c90aaed6725659b9af90a5ad74c75c3 Mon Sep 17 00:00:00 2001 From: Kan Tang Date: Tue, 18 Sep 2018 17:33:32 +0800 Subject: [PATCH 040/129] [azure-storage-cpp] Upgrade to 5.1.1 (#4300) --- ports/azure-storage-cpp/CONTROL | 2 +- ports/azure-storage-cpp/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL index 9c4f027d2..cde95570e 100644 --- a/ports/azure-storage-cpp/CONTROL +++ b/ports/azure-storage-cpp/CONTROL @@ -1,5 +1,5 @@ Source: azure-storage-cpp -Version: 5.1.0 +Version: 5.1.1 Build-Depends: cpprestsdk, atlmfc (windows), boost-log (!windows&!uwp), boost-locale (!windows&!uwp), libxml2 (!windows&!uwp), libuuid (!windows&!uwp) 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. Microsoft Azure Storage team's blog - http://blogs.msdn.com/b/windowsazurestorage/ diff --git a/ports/azure-storage-cpp/portfile.cmake b/ports/azure-storage-cpp/portfile.cmake index 474856e57..07affc756 100644 --- a/ports/azure-storage-cpp/portfile.cmake +++ b/ports/azure-storage-cpp/portfile.cmake @@ -7,8 +7,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-storage-cpp - REF v5.1.0 - SHA512 a072b43482133bcc16d2da013ede2a29cb530ddeb0cdd38ed1f08d2a67fe7c6e2c7b0c5bb5c69b5c5b21de62bddfc20e12766618e6c6721d1221a00d435c1d51 + REF v5.1.1 + SHA512 e5983d767681cf82a68af3c983a83515a2a7a3b5bf2ffbadcd2992dbcdf213bb322f8d0c4369a4c729ac7536e3e0f52e44cde012cbe1f9464df3ad901f635b6a HEAD_REF master PATCHES ${CMAKE_CURRENT_LIST_DIR}/pplx-do-while.patch From 1f79c92eb099de356a5cb1e42234bb227e09d543 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Tue, 18 Sep 2018 20:55:35 -0700 Subject: [PATCH 041/129] Add command x-vsinstances --- toolsrc/include/vcpkg/commands.h | 6 +++ toolsrc/include/vcpkg/visualstudio.h | 2 + toolsrc/src/vcpkg/commands.cpp | 1 + toolsrc/src/vcpkg/commands.xvsinstances.cpp | 29 ++++++++++++ toolsrc/src/vcpkg/visualstudio.cpp | 49 +++++++++++++++------ toolsrc/vcpkglib/vcpkglib.vcxproj | 1 + toolsrc/vcpkglib/vcpkglib.vcxproj.filters | 3 ++ 7 files changed, 78 insertions(+), 13 deletions(-) create mode 100644 toolsrc/src/vcpkg/commands.xvsinstances.cpp diff --git a/toolsrc/include/vcpkg/commands.h b/toolsrc/include/vcpkg/commands.h index 1858a320f..fd7d832b3 100644 --- a/toolsrc/include/vcpkg/commands.h +++ b/toolsrc/include/vcpkg/commands.h @@ -119,6 +119,12 @@ namespace vcpkg::Commands void perform_and_exit(const VcpkgCmdArguments& args); } + namespace X_VSInstances + { + extern const CommandStructure COMMAND_STRUCTURE; + void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths); + } + namespace Hash { void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths); diff --git a/toolsrc/include/vcpkg/visualstudio.h b/toolsrc/include/vcpkg/visualstudio.h index b93b145d9..cd99db352 100644 --- a/toolsrc/include/vcpkg/visualstudio.h +++ b/toolsrc/include/vcpkg/visualstudio.h @@ -6,6 +6,8 @@ namespace vcpkg::VisualStudio { + std::vector get_visual_studio_instances(const VcpkgPaths& paths); + std::vector find_toolset_instances_preferred_first(const VcpkgPaths& paths); } diff --git a/toolsrc/src/vcpkg/commands.cpp b/toolsrc/src/vcpkg/commands.cpp index 7204b6e78..db265514f 100644 --- a/toolsrc/src/vcpkg/commands.cpp +++ b/toolsrc/src/vcpkg/commands.cpp @@ -46,6 +46,7 @@ namespace vcpkg::Commands {"autocomplete", &Autocomplete::perform_and_exit}, {"hash", &Hash::perform_and_exit}, {"fetch", &Fetch::perform_and_exit}, + {"x-vsinstances", &X_VSInstances::perform_and_exit}, }; return t; } diff --git a/toolsrc/src/vcpkg/commands.xvsinstances.cpp b/toolsrc/src/vcpkg/commands.xvsinstances.cpp new file mode 100644 index 000000000..3aa54f424 --- /dev/null +++ b/toolsrc/src/vcpkg/commands.xvsinstances.cpp @@ -0,0 +1,29 @@ +#include "pch.h" + +#include +#include +#include + +namespace vcpkg::Commands::X_VSInstances +{ + const CommandStructure COMMAND_STRUCTURE = { + Help::create_example_string("x-vsinstances"), + 0, + 0, + {{}, {}}, + nullptr, + }; + + void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths) + { + const ParsedArguments parsed_args = args.parse_arguments(COMMAND_STRUCTURE); + + const auto instances = vcpkg::VisualStudio::get_visual_studio_instances(paths); + for (const std::string& instance : instances) + { + System::println(instance); + } + + Checks::exit_success(VCPKG_LINE_INFO); + } +} diff --git a/toolsrc/src/vcpkg/visualstudio.cpp b/toolsrc/src/vcpkg/visualstudio.cpp index 9480a11bf..4f6b2a37b 100644 --- a/toolsrc/src/vcpkg/visualstudio.cpp +++ b/toolsrc/src/vcpkg/visualstudio.cpp @@ -22,6 +22,17 @@ namespace vcpkg::VisualStudio LEGACY }; + static std::string release_type_to_string(const ReleaseType& release_type) + { + switch (release_type) + { + case ReleaseType::STABLE: return "STABLE"; + case ReleaseType::PRERELEASE: return "PRERELEASE"; + case ReleaseType::LEGACY: return "LEGACY"; + default: Checks::unreachable(VCPKG_LINE_INFO); + } + } + static bool preferred_first_comparator(const VisualStudioInstance& left, const VisualStudioInstance& right) { const auto get_preference_weight = [](const ReleaseType& type) -> int { @@ -51,10 +62,15 @@ namespace vcpkg::VisualStudio std::string version; ReleaseType release_type; + std::string to_string() const + { + return Strings::format("%s, %s, %s", root_path.u8string(), version, release_type_to_string(release_type)); + } + std::string major_version() const { return version.substr(0, 2); } }; - static std::vector get_visual_studio_instances(const VcpkgPaths& paths) + static std::vector get_visual_studio_instances_internal(const VcpkgPaths& paths) { const auto& fs = paths.get_filesystem(); std::vector instances; @@ -114,9 +130,9 @@ namespace vcpkg::VisualStudio { // We want lexically_normal(), but it is not available // Correct root path might be 2 or 3 levels up, depending on if the path has trailing backslash. Try both. - auto common7_tools = fs::path{*path_as_string}; - append_if_has_cl(fs::path{*path_as_string}.parent_path().parent_path()); - append_if_has_cl(fs::path{*path_as_string}.parent_path().parent_path().parent_path()); + auto common7_tools = fs::path {*path_as_string}; + append_if_has_cl(fs::path {*path_as_string}.parent_path().parent_path()); + append_if_has_cl(fs::path {*path_as_string}.parent_path().parent_path().parent_path()); } // VS2015 instance from Program Files @@ -125,6 +141,13 @@ namespace vcpkg::VisualStudio return instances; } + std::vector get_visual_studio_instances(const VcpkgPaths& paths) + { + std::vector sorted {get_visual_studio_instances_internal(paths)}; + std::sort(sorted.begin(), sorted.end(), VisualStudioInstance::preferred_first_comparator); + return Util::fmap(sorted, [](const VisualStudioInstance& instance) { return instance.to_string(); }); + } + std::vector find_toolset_instances_preferred_first(const VcpkgPaths& paths) { using CPU = System::CPUArchitecture; @@ -137,8 +160,8 @@ namespace vcpkg::VisualStudio std::vector found_toolsets; std::vector excluded_toolsets; - const SortedVector sorted{get_visual_studio_instances(paths), - VisualStudioInstance::preferred_first_comparator}; + const SortedVector sorted {get_visual_studio_instances_internal(paths), + VisualStudioInstance::preferred_first_comparator}; const bool v140_is_available = Util::find_if(sorted, [&](const VisualStudioInstance& vs_instance) { return vs_instance.major_version() == "14"; @@ -194,7 +217,7 @@ namespace vcpkg::VisualStudio paths_examined.push_back(dumpbin_path); if (fs.exists(dumpbin_path)) { - const Toolset v141_toolset{ + const Toolset v141_toolset { vs_instance.root_path, dumpbin_path, vcvarsall_bat, {}, V_141, supported_architectures}; const auto english_language_pack = dumpbin_path.parent_path() / "1033"; @@ -209,12 +232,12 @@ namespace vcpkg::VisualStudio if (v140_is_available) { - const Toolset v140_toolset{vs_instance.root_path, - dumpbin_path, - vcvarsall_bat, - {"-vcvars_ver=14.0"}, - V_140, - supported_architectures}; + const Toolset v140_toolset {vs_instance.root_path, + dumpbin_path, + vcvarsall_bat, + {"-vcvars_ver=14.0"}, + V_140, + supported_architectures}; found_toolsets.push_back(v140_toolset); } diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj b/toolsrc/vcpkglib/vcpkglib.vcxproj index abfe8a242..315c48174 100644 --- a/toolsrc/vcpkglib/vcpkglib.vcxproj +++ b/toolsrc/vcpkglib/vcpkglib.vcxproj @@ -233,6 +233,7 @@ + diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters index 42493d623..3e0ccd885 100644 --- a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters +++ b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters @@ -213,6 +213,9 @@ Source Files\vcpkg\base + + Source Files\vcpkg + From a1a18eada148562d0906b103c70c9e36b6a648ce Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Tue, 18 Sep 2018 21:03:00 -0700 Subject: [PATCH 042/129] Add -all flag to vswhere.exe call --- toolsrc/src/vcpkg/visualstudio.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolsrc/src/vcpkg/visualstudio.cpp b/toolsrc/src/vcpkg/visualstudio.cpp index 4f6b2a37b..e3656a7d2 100644 --- a/toolsrc/src/vcpkg/visualstudio.cpp +++ b/toolsrc/src/vcpkg/visualstudio.cpp @@ -82,7 +82,7 @@ namespace vcpkg::VisualStudio if (fs.exists(vswhere_exe)) { const auto code_and_output = System::cmd_execute_and_capture_output( - Strings::format(R"("%s" -prerelease -legacy -products * -format xml)", vswhere_exe.u8string())); + Strings::format(R"("%s" -all -prerelease -legacy -products * -format xml)", vswhere_exe.u8string())); Checks::check_exit(VCPKG_LINE_INFO, code_and_output.exit_code == 0, "Running vswhere.exe failed with message:\n%s", From 64a7483a4a4c9d176896ec7aec08a6acef4ea8f3 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 18 Sep 2018 02:28:21 -0700 Subject: [PATCH 043/129] Upgrades 2018.09.18 --- ports/abseil/CONTROL | 2 +- ports/abseil/portfile.cmake | 4 ++-- ports/aws-sdk-cpp/CONTROL | 2 +- ports/aws-sdk-cpp/portfile.cmake | 4 ++-- ports/breakpad/CONTROL | 2 +- ports/breakpad/portfile.cmake | 4 ++-- ports/chakracore/CONTROL | 2 +- ports/chakracore/portfile.cmake | 4 ++-- ports/cimg/CONTROL | 2 +- ports/cimg/portfile.cmake | 4 ++-- ports/directxmesh/CONTROL | 2 +- ports/directxmesh/portfile.cmake | 4 ++-- ports/directxtex/CONTROL | 2 +- ports/directxtex/portfile.cmake | 4 ++-- ports/directxtk/CONTROL | 2 +- ports/directxtk/portfile.cmake | 4 ++-- ports/doctest/CONTROL | 2 +- ports/doctest/portfile.cmake | 4 ++-- ports/eastl/CONTROL | 2 +- ports/eastl/portfile.cmake | 4 ++-- ports/exiv2/CONTROL | 2 +- ports/exiv2/portfile.cmake | 4 ++-- ports/expat/CONTROL | 2 +- ports/expat/portfile.cmake | 4 ++-- ports/fmt/CONTROL | 2 +- ports/fmt/portfile.cmake | 4 ++-- ports/folly/CONTROL | 2 +- ports/folly/portfile.cmake | 4 ++-- ports/forest/CONTROL | 2 +- ports/forest/portfile.cmake | 4 ++-- ports/freetype-gl/CONTROL | 2 +- ports/freetype-gl/portfile.cmake | 10 +++------- ports/jsonnet/CONTROL | 2 +- ports/jsonnet/portfile.cmake | 4 ++-- ports/libuv/CONTROL | 2 +- ports/libuv/portfile.cmake | 4 ++-- ports/libwebsockets/CONTROL | 2 +- ports/libwebsockets/portfile.cmake | 10 +++------- ports/lodepng/CONTROL | 2 +- ports/lodepng/algorithm.patch | 12 ++++++++++++ ports/lodepng/portfile.cmake | 5 +++-- ports/luasocket/CONTROL | 2 +- ports/luasocket/portfile.cmake | 4 ++-- ports/lz4/CONTROL | 2 +- ports/lz4/portfile.cmake | 4 ++-- ports/mbedtls/CONTROL | 2 +- ports/mbedtls/portfile.cmake | 4 ++-- ports/ms-gsl/CONTROL | 2 +- ports/ms-gsl/portfile.cmake | 4 ++-- ports/nana/CONTROL | 2 +- ports/nana/portfile.cmake | 4 ++-- ports/nuklear/CONTROL | 2 +- ports/nuklear/portfile.cmake | 4 ++-- ports/openal-soft/CONTROL | 2 +- ports/openal-soft/portfile.cmake | 12 ++++-------- ports/parson/CONTROL | 2 +- ports/parson/portfile.cmake | 4 ++-- ports/pmdk/CONTROL | 2 +- ports/pmdk/portfile.cmake | 4 ++-- ports/re2/CONTROL | 2 +- ports/re2/portfile.cmake | 4 ++-- ports/rs-core-lib/CONTROL | 2 +- ports/rs-core-lib/portfile.cmake | 4 ++-- ports/thrift/CONTROL | 2 +- ports/thrift/portfile.cmake | 4 ++-- ports/tiny-dnn/CONTROL | 2 +- ports/tiny-dnn/portfile.cmake | 4 ++-- ports/unicorn-lib/CONTROL | 2 +- ports/unicorn-lib/portfile.cmake | 4 ++-- ports/unicorn/CONTROL | 2 +- ports/unicorn/portfile.cmake | 4 ++-- ports/wt/CONTROL | 2 +- ports/wt/portfile.cmake | 14 +++++--------- ports/zeromq/CONTROL | 2 +- ports/zeromq/portfile.cmake | 4 ++-- 75 files changed, 131 insertions(+), 134 deletions(-) create mode 100644 ports/lodepng/algorithm.patch diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL index ac5cb17f4..4a35f248b 100644 --- a/ports/abseil/CONTROL +++ b/ports/abseil/CONTROL @@ -1,5 +1,5 @@ Source: abseil -Version: 2018-08-03 +Version: 2018-09-18 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 9a0bad50e..7894b5654 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 8f96be6ca60d967bd4b37f93d0a03bcff4145200 - SHA512 f50d0e5cdfc4798fdeacc3a8234137b01fb26797ecaaadff9c44eefe00100d5d733976ea45cdb4d4709eec03968037afb0bf6411b89b92bd90623bfe451d8314 + REF 8ff1374008259719b54a8cb128ef951c02da164c + SHA512 c8eaef8d3a829152bbe1a9adf60fad74858d10e78d2fd1ad8409a027add2f9e24df9994e4981960550b04845838ec6f5ac83b09d6a8850d129fb078d15c4b94f HEAD_REF master ) diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index 56bac880d..23d9e16e3 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,5 +1,5 @@ Source: aws-sdk-cpp -Version: 1.5.7 +Version: 1.6.12 Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows) Default-Features: dynamodb, ec2, kms, rds, s3, sns, sqs diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index b6c05d4b5..854e24fcb 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/aws-sdk-cpp - REF 1.5.7 - SHA512 c392b6d08fedd9f3ecb58856c7b678193db7061fbf5771840487a0a6b993e3c3626007a4e780760ef5dc76ff237c373303c61fb0663375f1f8ca923294e3c541 + REF 1.6.12 + SHA512 37cd573ea354394c170a081572f63dfe604bf631d0129a53f066f121680b92c8f64b343a4d841de9a178679a322755a858a1148fbfc99c3f525a1f025fdfbd84 HEAD_REF master ) diff --git a/ports/breakpad/CONTROL b/ports/breakpad/CONTROL index 48164a0b7..55ca2a8c3 100644 --- a/ports/breakpad/CONTROL +++ b/ports/breakpad/CONTROL @@ -1,4 +1,4 @@ Source: breakpad -Version: 2018-08-03-1 +Version: 2018-09-18 Build-Depends: libdisasm Description: a set of client and server components which implement a crash-reporting system. diff --git a/ports/breakpad/portfile.cmake b/ports/breakpad/portfile.cmake index e79f5293e..18b1b8152 100644 --- a/ports/breakpad/portfile.cmake +++ b/ports/breakpad/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/breakpad - REF f12b6897897fb5b7e74437371fdf2b36a36f5661 - SHA512 b2322e2f043fff9f7aa9ff1aa99bc7eab2c98e0d0e2407bd35aa5eeab6e16e4a526d5a88544e3c13f0b41ee0c993f35eefce632ef8a3f183a877f98272ac7f19 + REF 54fa71efbe50fb2b58096d871575b59e12edba6d + SHA512 ecd1c6c5cc0e3984d05fe86ec11172e93b0e31c39ce0af9d0de08b8d03083686e2288e0cd787180c599446c277e58f48550ce4ab718019576c64fc403a592745 HEAD_REF master ) diff --git a/ports/chakracore/CONTROL b/ports/chakracore/CONTROL index 1939a4a64..727f28268 100644 --- a/ports/chakracore/CONTROL +++ b/ports/chakracore/CONTROL @@ -1,3 +1,3 @@ Source: chakracore -Version: 1.10.1-1 +Version: 1.11.1 Description: Core part of the Chakra Javascript engine diff --git a/ports/chakracore/portfile.cmake b/ports/chakracore/portfile.cmake index ad5431267..62801f00a 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.10.1 - SHA512 e3a9a9e6506b603922e5a5ed1fb900d43dfd6c8e5e091e12bf902dbe58cd12753e6b7f59a895081cea880eb78bcc55571ee561fe03c96d6312608626a5b653f2 + REF v1.11.1 + SHA512 cabec836af505504ffff99050de79320fe32e7311842bc5c715dae18ae7e006b63bb56f4d071016708ddec05a2a07143677371a76a57def68fb7f428012452d3 HEAD_REF master ) diff --git a/ports/cimg/CONTROL b/ports/cimg/CONTROL index c3acc587c..ecb4df9f9 100644 --- a/ports/cimg/CONTROL +++ b/ports/cimg/CONTROL @@ -1,3 +1,3 @@ Source: cimg -Version: 2.3.3 +Version: 2.3.6 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 8704f0f7b..edf4839d3 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.3.3 + REF v.2.3.6 HEAD_REF master - SHA512 506dd0e55ecab3a1c3b230c97050b302614f187e7ec8634d8499353b278c783cd58408211abd3815d34b4e2b748e4481ccea79d1253d1df511fd3d0723ae4568) + SHA512 b2214e6f72eee0dd4fd20739030c4082bfe67923a7f2efe74709b42e07d58552a6b7d1306f0fddf9478294e822313fe3bae0bff5c141e7dbb4453d08b3d9b05d) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL index 427998eb4..e625af354 100644 --- a/ports/directxmesh/CONTROL +++ b/ports/directxmesh/CONTROL @@ -1,3 +1,3 @@ Source: directxmesh -Version: jul2018 +Version: aug2018 Description: DirectXMesh geometry processing library \ No newline at end of file diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake index e8d48d1c8..4263b2aa8 100644 --- a/ports/directxmesh/portfile.cmake +++ b/ports/directxmesh/portfile.cmake @@ -12,8 +12,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXMesh - REF jul2018 - SHA512 080306d23153c5db6d84cf1df7700d89a25405064806ca9b8d07291ebe80d89793dfe540a98313afc137964e2fb900158d40feee6bb2a68ef9af2d872f0ebe3c + REF aug2018 + SHA512 5aaafd434024327b9ab59eab7f0247a5e0d439e5cad22929adc78edd41ac987c5da70e3ae26637beea923333651ceae3127f1ff274aad3497948508a1a8b1912 HEAD_REF master ) diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL index 9340c9f3e..3196c68b1 100644 --- a/ports/directxtex/CONTROL +++ b/ports/directxtex/CONTROL @@ -1,3 +1,3 @@ Source: directxtex -Version: jul2018 +Version: aug2018b Description: DirectXTex texture processing library \ No newline at end of file diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake index 4ea0216b0..bcdeebfbd 100644 --- a/ports/directxtex/portfile.cmake +++ b/ports/directxtex/portfile.cmake @@ -12,8 +12,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTex - REF jul2018 - SHA512 83408840bf1fedef240c808c59b94d9b77133cf6bc1803c49a4faf5a319fa4b16c26c16240748fb4dd29fb907a4366c724171c64deeb71b0a15214ee74859b4d + REF aug2018b + SHA512 51ccd4855d399db4980a0f859da25e9473cf5b4ae44f2594b13ba7813d4fd3f4c424ce750ca0b096e40999c935269522fb6bfe2b2e1910f0f8a6c6c1ea76c399 HEAD_REF master ) diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL index 254c61337..1f0637c44 100644 --- a/ports/directxtk/CONTROL +++ b/ports/directxtk/CONTROL @@ -1,3 +1,3 @@ Source: directxtk -Version: jul2018 +Version: aug2018 Description: A collection of helper classes for writing DirectX 11.x code in C++. diff --git a/ports/directxtk/portfile.cmake b/ports/directxtk/portfile.cmake index 317831c96..5ef37d1f2 100644 --- a/ports/directxtk/portfile.cmake +++ b/ports/directxtk/portfile.cmake @@ -12,8 +12,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTK - REF jul2018 - SHA512 1e962bc7f3ab730616bb7ec07d54904cbd636033ca0bba722170690dc906524968df66ad440e3423273120b9e4dc53a28ae7edb8a2568c58e5eed816d8e9a619 + REF aug2018 + SHA512 9408916864900a098bb77244144c71d1786b3fe76468c50a92fbf21f71407c7f7c6834d9e69a13b4b93161362252599ccb12f6a87b6ca7a8b23d12e6e73dd166 HEAD_REF master ) diff --git a/ports/doctest/CONTROL b/ports/doctest/CONTROL index 3de9dedb3..214950929 100644 --- a/ports/doctest/CONTROL +++ b/ports/doctest/CONTROL @@ -1,3 +1,3 @@ Source: doctest -Version: 1.2.9 +Version: 2.0.0 Description: The fastest feature-rich C++ single-header testing framework for unit tests and TDD diff --git a/ports/doctest/portfile.cmake b/ports/doctest/portfile.cmake index 433a52f53..007b3a21d 100644 --- a/ports/doctest/portfile.cmake +++ b/ports/doctest/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO onqtam/doctest - REF 1.2.9 - SHA512 9500570fb0ef7b06799fbe92b8f96eacf16eba630abe4f67a235901995192e31fafb812704f327f0a2582c8fe61c3bb458d2eaf3c4287f24c1ffbc04c46a2471 + REF 2.0.0 + SHA512 ad167201fa10890e868fab628d73588e66470fbf6d5bdf0cd4e4ce13510f0727411fa709eb748eb1b5de19307c75d2efbcd71cb678e3ef1d0632056d7af2f012 HEAD_REF master ) diff --git a/ports/eastl/CONTROL b/ports/eastl/CONTROL index 74ee1d5eb..c45a2c740 100644 --- a/ports/eastl/CONTROL +++ b/ports/eastl/CONTROL @@ -1,4 +1,4 @@ Source: eastl -Version: 3.10.00 +Version: 3.12.01 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 491ce8581..ddc5950b6 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.10.00 - SHA512 281a8d79d30a39136d9a9c6fd63ca712b450cd45019aab1ac3a219bb8704e094a5b8f461a7cd7ab8480f41beca94f1589162fe4899406869898a2e1ffc497b78 + REF 3.12.01 + SHA512 22053823299386337934abb473be5bad4766db571656ee8f93eb04f6079c1860fd598ae8b7a955ca5dcf26661370d558aaf35037c989ec5a976feae87a445aad HEAD_REF master ) diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL index eb3a22fb0..a89b87f8e 100644 --- a/ports/exiv2/CONTROL +++ b/ports/exiv2/CONTROL @@ -1,4 +1,4 @@ Source: exiv2 -Version: 2018-08-03 +Version: 2018-09-18 Build-Depends: zlib, expat, libiconv Description: Image metadata library and tools http://www.exiv2.org diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index 2efde477b..4af8fb986 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Exiv2/exiv2 - REF 8ba9422ba3cb326092b269f2752eb5ce88836115 - SHA512 08883aeb0ff6619ba28c457e11307d1f577c6a73dc09e3bd0463d46b45a7d5391445ff40a235869d3dabda824b6667bb11089c8bb48967672867ab493093d322 + REF 37b8725565f42c260f9773fe4cfb8fa39f566746 + SHA512 8be6079546099ac7267978ed3aa1c8e42215baa06b5da30c78918dac8193a725b3c38f6fb47fb50e7724580a964360163e2167b08c7e5929485fd3bd037338b0 HEAD_REF master PATCHES "${CMAKE_CURRENT_LIST_DIR}/iconv.patch" ) diff --git a/ports/expat/CONTROL b/ports/expat/CONTROL index edbcf2326..4cdb03f6e 100644 --- a/ports/expat/CONTROL +++ b/ports/expat/CONTROL @@ -1,3 +1,3 @@ Source: expat -Version: 2.2.5 +Version: 2.2.6 Description: XML parser library written in C diff --git a/ports/expat/portfile.cmake b/ports/expat/portfile.cmake index 485320a8b..b6db7b374 100644 --- a/ports/expat/portfile.cmake +++ b/ports/expat/portfile.cmake @@ -6,8 +6,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libexpat/libexpat - REF R_2_2_5 - SHA512 61ce2a479521412e0c56c352106c4adfb61a6bedb883921aba3ebccc29311ddd192646ac2c51b41572728d4de6ab4cb60a1dbc71515d742a80a8b59d89ca74d6 + REF R_2_2_6 + SHA512 727fbd24041c9af71b32353448583a6d8b38ddf93b10c97510e847939c2ad2be9b40ff6e6e27b725bff277982c2fc96c75f19c4a3ac4a246133eb62870c963d8 HEAD_REF master) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) diff --git a/ports/fmt/CONTROL b/ports/fmt/CONTROL index 64cdec426..88f41b36e 100644 --- a/ports/fmt/CONTROL +++ b/ports/fmt/CONTROL @@ -1,3 +1,3 @@ Source: fmt -Version: 5.1.0 +Version: 5.2.0 Description: Formatting library for C++. It can be used as a safe alternative to printf or as a fast alternative to IOStreams. diff --git a/ports/fmt/portfile.cmake b/ports/fmt/portfile.cmake index 3cd23d8fe..9389d2fbf 100644 --- a/ports/fmt/portfile.cmake +++ b/ports/fmt/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fmtlib/fmt - REF 5.1.0 - SHA512 b759a718353254fa8cd981e483bf01a45af0fc76901216404ace5e47f5d3edf43d42422184e5413c221e49832322fdf60d1860e8ec87349c674511064b31e5d6 + REF 5.2.0 + SHA512 75d53e6d8087288607f75fb891bb8812c7b9fe65e5ab7a20cdffeb5e56bd1f48e0de24c8cf1c2dd603fe3ed76f9fa067804ec5d3560f177db8f0a747c36f9d1c HEAD_REF master ) diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL index 9dd27d158..51a31ef8b 100644 --- a/ports/folly/CONTROL +++ b/ports/folly/CONTROL @@ -1,5 +1,5 @@ Source: folly -Version: 2018.07.30.00 +Version: 2018.09.17.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 2112c9280..e1ce597bf 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.07.30.00 - SHA512 38e7b713572d4af0a6453d001eddc32c74b4ec100158300c0a3a61a88ec546b449f1973c2b624273da4278173782aa71695d981dba3c8f423f5b76ed1375d286 + REF v2018.09.17.00 + SHA512 fe1f5ff2b55262717cb0e923ee3d8b5a82c85432823911afc924c209fc7e97ab776a3820c4b17e003a7a55150c8e0061918eaee33bdf7ca12ec1090ed7537592 HEAD_REF master PATCHES find-gflags.patch diff --git a/ports/forest/CONTROL b/ports/forest/CONTROL index f4534c115..e33353ee7 100644 --- a/ports/forest/CONTROL +++ b/ports/forest/CONTROL @@ -1,3 +1,3 @@ Source: forest -Version: 9.0.1 +Version: 9.0.5 Description: Template library of tree data structures diff --git a/ports/forest/portfile.cmake b/ports/forest/portfile.cmake index 52a891b69..3b3d5c889 100644 --- a/ports/forest/portfile.cmake +++ b/ports/forest/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xorz57/forest - REF bc6b82ce436dfbf60d6e8882252c55cf923ad99e - SHA512 e711148025c40fb73e6ae221fe5a4416bea006994d9ff958d565cd3cefa75c9ee7241087c7470ecb6530be073ac9171fe724351898ecd33db61f5752c3a950bc + REF 9.0.5 + SHA512 1dd3ae568ea2ce66cab285f392b167a08eef29387fffef3e9283c3ddaf1d461e5f6408cbce17bbaa928ba773a7890ec31f2612e5a2280cc4fe4a02824fbcd4a3 HEAD_REF master ) diff --git a/ports/freetype-gl/CONTROL b/ports/freetype-gl/CONTROL index ba4db5391..df88ab84f 100644 --- a/ports/freetype-gl/CONTROL +++ b/ports/freetype-gl/CONTROL @@ -1,4 +1,4 @@ Source: freetype-gl -Version: 2018-02-25 +Version: 2018-09-18 Description: OpenGL text using one vertex buffer, one texture and FreeType Build-Depends: glew, freetype diff --git a/ports/freetype-gl/portfile.cmake b/ports/freetype-gl/portfile.cmake index c627ad43c..2a811d714 100644 --- a/ports/freetype-gl/portfile.cmake +++ b/ports/freetype-gl/portfile.cmake @@ -8,14 +8,10 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rougier/freetype-gl - REF bcd2b5fb5d19f1ea5d384d0edbdda2f6d0590fa0 - SHA512 10bd8e874598e796c3123c8bc277ecb6f5d95c924c6d6bab1bec4700864c83e2f71bf9ac45c15eadba9e150660cbe9debe3509428b10264eb6a8ba64a80f3651 + REF 7a290ac372d2bd94137a9fed6b2f5a6ac4360ec2 + SHA512 bcdd34b7cee1ebe01ae83211e7b772742f9740aa713298f6fb72e7076f5fecdb3aea12f67a5fe04e8606d9533a0ceef7c1152368643dc51a7339b0e5dd307afa HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Use-external-Glew-and-Freetype.patch" + PATCHES 0001-Use-external-Glew-and-Freetype.patch ) # make sure that no "internal" libraries are used by removing them diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL index b8214fd9f..c89a34afc 100644 --- a/ports/jsonnet/CONTROL +++ b/ports/jsonnet/CONTROL @@ -1,3 +1,3 @@ Source: jsonnet -Version: 2018-07-30 +Version: 2018-09-18 Description: Jsonnet - The data templating language diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake index 71cc4029e..918a4de8d 100644 --- a/ports/jsonnet/portfile.cmake +++ b/ports/jsonnet/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/jsonnet - REF 467a62662cb700289cb9b2e6d841d6897a155774 - SHA512 a9b702c485bf8c9a87cfeee7612bb179bfec9153c25a1428277f07dd3b9d3f2508eb45cbd27b3533bed9a38d2b68bbabbde9702553ca7b90da0c1bd2411c83ee + REF 48df4a1007a88202495a30bf2fa65528335b35e6 + SHA512 46734d797499d51a79c1c63d653bc8e6496d385a57c7a83a45c3ab82fa4f106abdb67a57b9641d5c9e1cf286f4f0a66cfdbc5e1987bda234d614c91d7be79c94 HEAD_REF master ) diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL index 29abd6bdf..5d9f3607f 100644 --- a/ports/libuv/CONTROL +++ b/ports/libuv/CONTROL @@ -1,3 +1,3 @@ Source: libuv -Version: 1.22.0 +Version: 1.23.0 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 29640eb62..29741433c 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.22.0 - SHA512 e79cae6aa1d9cf2c8f7c0262c866fea2858d7104ece7c556e537e7d1cf884f191d5cd3e56539bfe857fa15dc50b57fdcb33019824cd585a2ca250a77d923af73 + REF v1.23.0 + SHA512 d1622ea9c03661ce2dfa18e1725fc1bfdf3b16d7e40babc552dcc5b2f86d52f4dd81cac9bf89914024b11e4ed3671264dfcfba867cfa3b1a2206b89c59c95851 HEAD_REF v1.x ) diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL index bf33021a2..fdc4e7a55 100644 --- a/ports/libwebsockets/CONTROL +++ b/ports/libwebsockets/CONTROL @@ -1,4 +1,4 @@ Source: libwebsockets -Version: 3.0.0 +Version: 3.0.1 Build-Depends: zlib, openssl 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 79903c3a4..7d95b5add 100644 --- a/ports/libwebsockets/portfile.cmake +++ b/ports/libwebsockets/portfile.cmake @@ -3,15 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO warmcat/libwebsockets - REF v3.0.0 - SHA512 626edd00cc4f7559c67fc1663cbc4679a3c4e7a1b60944a7cf6968c6676073bbc15f9b90f4f2ea629394ebbcf84856663ae032a3557bae383bd0db54838d30e8 + REF v3.0.1 + SHA512 ba96af918dc53e5fe15792985892e726154ec6cd8b0e6b71ec133e1ac53792c42276fd6ae2c48c274acf4163579d8326e403201a8090fc58be29518c9c5b4304 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-UWP.patch + 0001-Fix-UWP.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LWS_WITH_STATIC) diff --git a/ports/lodepng/CONTROL b/ports/lodepng/CONTROL index 684e658f4..e6c10c474 100644 --- a/ports/lodepng/CONTROL +++ b/ports/lodepng/CONTROL @@ -1,3 +1,3 @@ Source: lodepng -Version: 2018-07-30 +Version: 2018-09-18-1 Description: PNG encoder and decoder in C and C++ diff --git a/ports/lodepng/algorithm.patch b/ports/lodepng/algorithm.patch new file mode 100644 index 000000000..796bdfc66 --- /dev/null +++ b/ports/lodepng/algorithm.patch @@ -0,0 +1,12 @@ +diff --git a/lodepng_util.cpp b/lodepng_util.cpp +index 4b571bb..58ba81a 100644 +--- a/lodepng_util.cpp ++++ b/lodepng_util.cpp +@@ -26,6 +26,7 @@ freely, subject to the following restrictions: + #include "lodepng_util.h" + #include + #include "math.h" ++#include + + namespace lodepng + { diff --git a/ports/lodepng/portfile.cmake b/ports/lodepng/portfile.cmake index 1d85c7084..367764456 100644 --- a/ports/lodepng/portfile.cmake +++ b/ports/lodepng/portfile.cmake @@ -3,9 +3,10 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lvandeve/lodepng - REF 955a04e517c1ec266f77f28a89a51d8041a4f1a0 - SHA512 97f516df220749f6a89b4621be23c419e83a439f8e2689fe9b4719a792909399aa2cf7294ce90f3ac28a13e31f703537e6c701ea032eab1d983093305ed04a5e + REF ceb6b482b5a16d2bb3d6b3c735ca2b16322780d5 + SHA512 5293f6c629ff006410c9180cabac5f4de7643f04ec6c3d7ff46c1b09317ff9156d28ed4344a46db0b3a06937349590aa8958722ba0432178a347da58736cbf41 HEAD_REF master + PATCHES algorithm.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/luasocket/CONTROL b/ports/luasocket/CONTROL index c46c2afd3..ec478e62f 100644 --- a/ports/luasocket/CONTROL +++ b/ports/luasocket/CONTROL @@ -1,4 +1,4 @@ Source: luasocket -Version: 2018-06-12 +Version: 2018-09-18 Description: LuaSocket is a Lua extension library that is composed by two parts: a C core that provides support for the TCP and UDP transport layers, and a set of Lua modules that add support for functionality commonly needed by applications that deal with the Internet. Build-Depends: lua diff --git a/ports/luasocket/portfile.cmake b/ports/luasocket/portfile.cmake index 650e1ca2e..b7288fed1 100644 --- a/ports/luasocket/portfile.cmake +++ b/ports/luasocket/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO diegonehab/luasocket - REF 4df569e9f867432f25f0bfbfa56b0962feb3326e - SHA512 ef4aa61f12822a6004096c422ba2ea4f109bee1cc2eb3847bd2b16f6ec2dd28b20a767bfd8b1ee73e355f7b0ced3c2f7c4cf5123e8d0472e25c193920c2d34a1 + REF 288219fd6b53ce2e709745c9918aa4c4b7f715c9 + SHA512 f7b1f90437655352ab69a733bc2b2a0080d116fb8b6896fce0eb8ba6c593e2e3f64684c956d387a198d5aa48c4a9208531ab5e96805d92f0d4ca3ed46179be0b HEAD_REF master) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/lz4/CONTROL b/ports/lz4/CONTROL index bf2dd6c08..439116519 100644 --- a/ports/lz4/CONTROL +++ b/ports/lz4/CONTROL @@ -1,3 +1,3 @@ Source: lz4 -Version: 1.8.2 +Version: 1.8.3 Description: Lossless compression algorithm, providing compression speed at 400 MB/s per core. diff --git a/ports/lz4/portfile.cmake b/ports/lz4/portfile.cmake index bbeee708f..bf0d3d52e 100644 --- a/ports/lz4/portfile.cmake +++ b/ports/lz4/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lz4/lz4 - REF v1.8.2 - SHA512 5fadc79334d37739c947d6dfc24f48ce82989fc5ee4f2bb8201ccf7ee3230b9e6e7c8488beb64050a035369f4247161d258bdb539578bec224ccebfef1b8a763 + REF v1.8.3 + SHA512 5d284f75a0c4ad11ebc4abb4394d98c863436da0718d62f648ef2e2cda8e5adf47617a4b43594375f7b0b673541a9ccfaf73880a55fd240986594558214dbf9f HEAD_REF dev) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/mbedtls/CONTROL b/ports/mbedtls/CONTROL index ae9d78cc9..04cb1003c 100644 --- a/ports/mbedtls/CONTROL +++ b/ports/mbedtls/CONTROL @@ -1,3 +1,3 @@ Source: mbedtls -Version: 2.12.0 +Version: 2.13.1 Description: An open source, portable, easy to use, readable and flexible SSL library diff --git a/ports/mbedtls/portfile.cmake b/ports/mbedtls/portfile.cmake index 495dfb53c..59d067f11 100644 --- a/ports/mbedtls/portfile.cmake +++ b/ports/mbedtls/portfile.cmake @@ -5,8 +5,8 @@ set(VCPKG_LIBRARY_LINKAGE static) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ARMmbed/mbedtls - REF mbedtls-2.12.0 - SHA512 c7c2aeb1717886ad87486af2dccb05b2f051372c69fc914f30e4ace1067f5be39ba04e093ad522f904e23a576c1ff430bd772e77823d0f4720f6fc5c1b8aa98c + REF mbedtls-2.13.1 + SHA512 1a70446b533534c075de38ce0839f7947077ffdddffa57172594b8f8a3c4a3fbdfa9b06d13c198008abad33633e509f06abe5362f603f63850d9ec44734b3c0b HEAD_REF master ) diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL index 1336d92c2..37285222e 100644 --- a/ports/ms-gsl/CONTROL +++ b/ports/ms-gsl/CONTROL @@ -1,3 +1,3 @@ Source: ms-gsl -Version: 2018-08-03 +Version: 2018-09-18 Description: Microsoft implementation of the Guidelines Support Library \ No newline at end of file diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake index 1e76d43b1..22d6fc21e 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 b6c531f7c159a685eb71ad6a93d8308793a4f61b - SHA512 aa7d6e3f25285dcfea8b2037745e960821f66644a102e06a637b2f84317165a5a11e6a677d60b378fcccf6d00b32abed51fcf3661518830cd29ce36f2ff323bd + REF 1995e86d1ad70519465374fb4876c6ef7c9f8c61 + SHA512 00d512269f9f126c93882001704c2c1926556d72fd5e26f8ba223d92f09d9955194e7bf08b172483b5d649021b0b7b54eca3e3ea2337e16b4cd5a8313a85ba66 HEAD_REF master ) diff --git a/ports/nana/CONTROL b/ports/nana/CONTROL index 221a7e643..09b9cba0d 100644 --- a/ports/nana/CONTROL +++ b/ports/nana/CONTROL @@ -1,4 +1,4 @@ Source: nana -Version: 1.6.1 +Version: 1.6.2 Description: Cross-platform library for GUI programming in modern C++ style. Build-Depends: libpng, libjpeg-turbo, freetype (!uwp&&!windows), fontconfig (!uwp&&!windows) diff --git a/ports/nana/portfile.cmake b/ports/nana/portfile.cmake index 80c2d57f6..ff9f43145 100644 --- a/ports/nana/portfile.cmake +++ b/ports/nana/portfile.cmake @@ -11,8 +11,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cnjinhao/nana - REF v1.6.1 - SHA512 79a5176afe1ab88050ee0f3797615d20783acaf5b94688ae1efe61d08983865046af0cd3271969139c50ef23d927c1599bdb35e06760f717b508971d8531c882 + REF v1.6.2 + SHA512 95271764813e64126abf2941bfc13b399ffe093c570891f65f331505066ce0dcad7df4170b2616951b7e0234ea2d6d21219cdfd15b112ecf598a3afa992cceb4 HEAD_REF develop ) diff --git a/ports/nuklear/CONTROL b/ports/nuklear/CONTROL index 8132c1ce8..cfcacd03d 100644 --- a/ports/nuklear/CONTROL +++ b/ports/nuklear/CONTROL @@ -1,3 +1,3 @@ Source: nuklear -Version: 2018-07-01 +Version: 2018-09-18 Description: This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain diff --git a/ports/nuklear/portfile.cmake b/ports/nuklear/portfile.cmake index b18e67fc7..e50f291f8 100644 --- a/ports/nuklear/portfile.cmake +++ b/ports/nuklear/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vurtun/nuklear - REF aeb18269131ab2c8d579aab935e15a8f4b040e38 - SHA512 174595cb9c196af2c7648b6f88d43f66585a97fd99e3147c2ab2e371821a1b56cf60178a1aef53ee09afb9213548993cff6be615a32c5c16dca1e0858c19e162 + REF 2a379bc03879dc22ceb3a03f957fdf4870716cc6 + SHA512 5425267abcd410cf0f2e6d9e7a685eb33289f054b90fc5a9ea9630b5f9c03056c3ca92d0ee00d884806b9b1911bb2b30ebea447278d1eebcdda29347dd547d07 HEAD_REF master ) file(INSTALL ${SOURCE_PATH}/nuklear.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/openal-soft/CONTROL b/ports/openal-soft/CONTROL index cd7078c08..296608f0f 100644 --- a/ports/openal-soft/CONTROL +++ b/ports/openal-soft/CONTROL @@ -1,3 +1,3 @@ Source: openal-soft -Version: 1.18.2-2 +Version: 1.19.0 Description: OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API. diff --git a/ports/openal-soft/portfile.cmake b/ports/openal-soft/portfile.cmake index f35e81b4e..0f1abb08c 100644 --- a/ports/openal-soft/portfile.cmake +++ b/ports/openal-soft/portfile.cmake @@ -6,16 +6,12 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kcat/openal-soft - REF openal-soft-1.18.2 - SHA512 85c62d3d16d2a371c1930310eed7219031203824289d9a30d60000f8e124ffa67e1bbfb15f1ba6841ef7346e88c000b9cca51c79d32c02e5dc9870392c536723 + REF openal-soft-1.19.0 + SHA512 59623792e560c9ef8069b7b4e4c12c67c9814433fc57d5b5650951f3adad338570ec785bbac8f7e1e7596220bab433e9f29161ced7d1a37da4f5418f6a3b7581 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/dont-export-symbols-in-static-build.patch - ${CMAKE_CURRENT_LIST_DIR}/cmake-3-11.patch + dont-export-symbols-in-static-build.patch + cmake-3-11.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") diff --git a/ports/parson/CONTROL b/ports/parson/CONTROL index dddf27ef3..1210c7e2e 100644 --- a/ports/parson/CONTROL +++ b/ports/parson/CONTROL @@ -1,3 +1,3 @@ Source: parson -Version: 2018-08-03 +Version: 2018-09-18 Description: a lighweight json library written in C diff --git a/ports/parson/portfile.cmake b/ports/parson/portfile.cmake index c90370de0..cfc1d861e 100644 --- a/ports/parson/portfile.cmake +++ b/ports/parson/portfile.cmake @@ -8,8 +8,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kgabis/parson - REF b58ac757a89fe85468681dacd504190ef58d2d39 - SHA512 8cc9e7e94d3476e1d48411a9e97950008fae0e30646d929521f7202737974cb6075f54ba05399947d2524a118e01a08bbeb652aab057ce358614f4d17f14eace + REF 0a1896939faff5f69e179637fc49f678ff0128ba + SHA512 cb982ce7dbbe0b5a4d08a28a459e9dce5347f90d75b0a37c56698f5b79ad37aa0bd22fe6b6d5c8a6fda2dd83b072605486581360b8ed3591012ebaa1e1518fc6 HEAD_REF master ) diff --git a/ports/pmdk/CONTROL b/ports/pmdk/CONTROL index 16c6138cc..4c667eac0 100644 --- a/ports/pmdk/CONTROL +++ b/ports/pmdk/CONTROL @@ -1,3 +1,3 @@ Source: pmdk -Version: 1.4.1-1 +Version: 1.4.2 Description: Persistent Memory Development Kit \ No newline at end of file diff --git a/ports/pmdk/portfile.cmake b/ports/pmdk/portfile.cmake index 302ce07bf..330a8abeb 100644 --- a/ports/pmdk/portfile.cmake +++ b/ports/pmdk/portfile.cmake @@ -18,8 +18,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pmem/pmdk - REF 1.4.1 - SHA512 a4bffb393f07e5e2ffbd2a7835b906148401abf0f3cff28262cf8607691fc2d567d153358a3fb3a15197db699519c7b3a4699b67a51c15fecd707bc30795c5c7 + REF 1.4.2 + SHA512 87aa226487046aba14f3a0b51d066f4498a6021580fd203df45f0900fc0c0c5cdb192156a4c730a5a7dc5826e204d688531e5680145161750057803cb24d088d HEAD_REF master PATCHES "${CMAKE_CURRENT_LIST_DIR}/addPowerShellExecutionPolicy.patch" diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL index 8e271f5ca..e35601ab5 100644 --- a/ports/re2/CONTROL +++ b/ports/re2/CONTROL @@ -1,3 +1,3 @@ Source: re2 -Version: 2018-07-30 +Version: 2018-09-18 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 06ba4f581..48aa9e48d 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 3b4a3d57f3a0231cfb70ad649099c3aed0499555 - SHA512 3ff7ece9fafd595d5016d0ad1942dfc1747610cd93e505512179307f7abba2e16d1c830712f9b4a04278ad8bcdc182dc883bcdabad340f2d08264d34d8f08f92 + REF 4c916c947ab7f2ba2d280bb8c87540c365d30695 + SHA512 7f34073415b2afd36469a0ffedb5d6d38b0230a82d633f2b45538e66d00ff0e411ffff1e34f74747c68518b1fdf07f7a601c23d39b001a75bcf9dadfc1350f04 HEAD_REF master ) diff --git a/ports/rs-core-lib/CONTROL b/ports/rs-core-lib/CONTROL index c86bfe250..33f0a1f63 100644 --- a/ports/rs-core-lib/CONTROL +++ b/ports/rs-core-lib/CONTROL @@ -1,4 +1,4 @@ Source: rs-core-lib -Version: 2018-07-30 +Version: 2018-09-18 Description: Minimal common utilities by Ross Smith diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake index feba9947d..927f34ea6 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 989a68109c28c8a4c9352fd166809f63f2e92ce4 - SHA512 e4b0b0e20ffc67ed737fd26db9860d111f0a59e9d98b0350f5997225b0536768d9987f0fb75fdb08516b36e266ad11c1a0bd3bab7c14eb65ee18e5cd90ff03cb + REF 9ffa126a7ca1a717ffd2c055c5049a15e1507d54 + SHA512 cdb02c546ff4514b63b3467b3296b0e5353ddcce8b774fa8accfbfd6559ab4a258af4822c219a5ce005719216c0c8c8707d377d2ce3ddb7d7a45fd9501787b60 HEAD_REF master ) diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL index 70369ce10..b654f4816 100644 --- a/ports/thrift/CONTROL +++ b/ports/thrift/CONTROL @@ -1,4 +1,4 @@ Source: thrift -Version: 2018-08-03 +Version: 2018-09-18 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 daa697cf4..88c74d6e1 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 0a2d4587c8cc0a54e4fa8fee9247d088d05b0d65 - SHA512 dd66b7c73b904dee9ceeb5e597203f493398da04de7204f8874718b7067c9da5603f462ca8d3183c6d0817ae070ffc16d81d6a6a9e0dbf6224c08b89a14541fa + REF 12f8b14fff9888dbfe6f5d6c64dc462254922a31 + SHA512 e067b1e5533f323c7f3f20365388ab4dfd796bca427ec5e087e5bac2ae74412536eec1dea4f694c58e1b9e91763d16a8a07c25daa03676ec33bf8b1107913e47 HEAD_REF master ) diff --git a/ports/tiny-dnn/CONTROL b/ports/tiny-dnn/CONTROL index f7f010bc2..2ce2693ac 100644 --- a/ports/tiny-dnn/CONTROL +++ b/ports/tiny-dnn/CONTROL @@ -1,3 +1,3 @@ Source: tiny-dnn -Version: 2018-07-30 +Version: 2018-09-18 Description: A C++14 implementation of deep learning. It is suitable for deep learning on limited computational resource. diff --git a/ports/tiny-dnn/portfile.cmake b/ports/tiny-dnn/portfile.cmake index daf9457cc..56946f95f 100644 --- a/ports/tiny-dnn/portfile.cmake +++ b/ports/tiny-dnn/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tiny-dnn/tiny-dnn - REF a8de26ad40d955908c5ec4fc946c3c67dd381c6c - SHA512 4dc89f038a4dd4bd706077f1c72afdd503fa41edc3b1eb0e8c459c55c9a658d17add98e66dac48914e253df121818da3d277b1a0fac945f22efe9d76d2f9476e + REF 1aec6a1ece0ba7a5e018a070bd52e045d49d1411 + SHA512 173607504cf4e6cc5f70febbfc305dd1fe7168bc6eff82c90d202caa342c3aecf13a3c3cc7f70f4f9674b5649d3a14180fb682742025c408e3e4ea9ec6b99f8a HEAD_REF master ) diff --git a/ports/unicorn-lib/CONTROL b/ports/unicorn-lib/CONTROL index e56491658..f6a3bc9c0 100644 --- a/ports/unicorn-lib/CONTROL +++ b/ports/unicorn-lib/CONTROL @@ -1,4 +1,4 @@ Source: unicorn-lib -Version: 2018-08-03 +Version: 2018-09-18 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 ded178c3f..3b97d3c01 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 9bde1537234a470699eb4d4c18bf7c9e1d179300 - SHA512 95f106c990eab53d94e03001dde69c9c6068d466a6419824f8b454b914c616006d05878a95dfcbfec83afd3530cccfb8b888ce56bd957d9d49be44eae33578f7 + REF 6456df41b6dfeecd35ec1d50eb86657512c76c40 + SHA512 04756035039b93905713e7c7f2fac66d545f3792d39b9c2c95946c4423a9e1bdef7fe736488764800f494570a3e9a83adc84b60a750bf62b2af4508671f76afe HEAD_REF master ) diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL index 4951b2bf5..80d33202c 100644 --- a/ports/unicorn/CONTROL +++ b/ports/unicorn/CONTROL @@ -1,3 +1,3 @@ Source: unicorn -Version: 2018-08-03 +Version: 2018-09-18 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 9de7533c2..2a52c6be6 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 84220d83601ba929c56b9e1fadd1686e02cbb93c - SHA512 36e7b54cafe94a07a975480428faab1cb627600a6e0f771de2984499760a24907be3d7fe054588687b89108706d111f55026379bdfb1ff747b00a11f4a1e836a + REF 46999575fb9e82ccd925e835d0d7db47200e010d + SHA512 9a93157266f2f6b7f5b6fabefda77b4d617648f0112ff6b575be8c92eea16ea6c96b0575f040fd5a893240907492335c53c03c840fee58ca8808b39762fefc34 HEAD_REF master ) diff --git a/ports/wt/CONTROL b/ports/wt/CONTROL index de121050a..ff99b10b5 100644 --- a/ports/wt/CONTROL +++ b/ports/wt/CONTROL @@ -1,4 +1,4 @@ Source: wt -Version: 4.0.3-1 +Version: 4.0.4 Description: Wt is a C++ library for developing web applications Build-Depends: openssl, sqlite3, libpq, pango, glew, boost-date-time, boost-regex, boost-program-options, boost-signals, boost-system, boost-filesystem, boost-thread, boost-random, boost-multi-index, boost-signals2, boost-asio, boost-ublas, boost-conversion, boost-array, boost-smart-ptr, boost-tuple, boost-algorithm, boost-logic, boost-interprocess diff --git a/ports/wt/portfile.cmake b/ports/wt/portfile.cmake index b33e9110b..614480168 100644 --- a/ports/wt/portfile.cmake +++ b/ports/wt/portfile.cmake @@ -3,17 +3,13 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO emweb/wt - REF 4.0.3 - SHA512 5985f72cbd3065ac696aad4d11711f2d69e066ee17141b56fd7c2616c7f7353586ab8d13db2baa90fa8f3cb116aa7c9044ee3cc42e99e8f5c8704f886ac3b2b6 + REF 4.0.4 + SHA512 7f9fee9b1c145adb610bf9b0860867a2f09699a1c914418938955c5648b3207db361ec48b3afe9e6faa6cc0b5874bedd44481fdd8adb8fc558cfc3dc17369ee7 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-boost-1.66.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-link-glew.patch - ${CMAKE_CURRENT_LIST_DIR}/0003-disable-boost-autolink.patch + 0001-boost-1.66.patch + 0002-link-glew.patch + 0003-disable-boost-autolink.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIBS) diff --git a/ports/zeromq/CONTROL b/ports/zeromq/CONTROL index d2de1a290..ba419fb39 100644 --- a/ports/zeromq/CONTROL +++ b/ports/zeromq/CONTROL @@ -1,3 +1,3 @@ Source: zeromq -Version: 2018-07-30 +Version: 2018-09-18 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 0f6add1a9..188eb0918 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 da8024d3c9bb9ee5fa7f0f2e9d05f7e01db73cbf - SHA512 2585e784eeb9b79ec2e83eae302593f8da4542d28e53dc6975447d6e44532baedb7145569712e8c76ab3972a3d46585e017dfeb895a45954f20b979f485d9647 + REF ea517a28ff23cff24a3b2ead42e1f6a44e6fad0e + SHA512 11425b151192b39e770ece1df3139b99315a4647ec242e951b736cc232da79a0b80f635b071d87adaa7d3f6d4266ab67d31b8f95f31fe3ab278e53febc5ae796 HEAD_REF master ) From 1faf5c7d289f5b693fbcaa98af8b41833e6a5a04 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 19 Sep 2018 17:09:27 -0700 Subject: [PATCH 044/129] [vcpkg] Hotfix build break on non-windows platforms in commands.xvsinstances.cpp --- toolsrc/src/vcpkg/commands.xvsinstances.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/toolsrc/src/vcpkg/commands.xvsinstances.cpp b/toolsrc/src/vcpkg/commands.xvsinstances.cpp index 3aa54f424..d748b6b2f 100644 --- a/toolsrc/src/vcpkg/commands.xvsinstances.cpp +++ b/toolsrc/src/vcpkg/commands.xvsinstances.cpp @@ -16,6 +16,7 @@ namespace vcpkg::Commands::X_VSInstances void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths) { +#if defined(_WIN32) const ParsedArguments parsed_args = args.parse_arguments(COMMAND_STRUCTURE); const auto instances = vcpkg::VisualStudio::get_visual_studio_instances(paths); @@ -25,5 +26,8 @@ namespace vcpkg::Commands::X_VSInstances } Checks::exit_success(VCPKG_LINE_INFO); +#else + Checks::exit_with_message(VCPKG_LINE_INFO, "This command is not supported on non-windows platforms."); +#endif } } From 1c90216f2eb9563e19d9687dd8bb55ae8cc0a8fe Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Thu, 20 Sep 2018 02:20:57 +0100 Subject: [PATCH 045/129] ace 6.5.2 (#4309) --- ports/ace/CONTROL | 2 +- ports/ace/portfile.cmake | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index 80279d6ed..8323188d9 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,3 +1,3 @@ Source: ace -Version: 6.5.1 +Version: 6.5.2 Description: The ADAPTIVE Communication Environment diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index 116459c8b..98b000122 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -9,9 +9,9 @@ endif() include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ACE_wrappers/ace) vcpkg_download_distfile(ARCHIVE - URLS "http://download.dre.vanderbilt.edu/previous_versions/ACE-6.5.1.zip" - FILENAME "ACE-6.5.1.zip" - SHA512 b6444b183a356f4a9fc4af57ccc239a400121fbb00547ff9d13c51f0fc20f38b0aa87b9568531472e5f7fde82deea3d4c3d91d7504aca89799a2505ba492c73a + URLS "http://download.dre.vanderbilt.edu/previous_versions/ACE-6.5.2.zip" + FILENAME "ACE-6.5.2.zip" + SHA512 ca8a55942b50628e851cad7074a249c480d82f916979a50bb24174432248037fb7a79ca055c7e6553d96aa58f14b97e8e8bf5dbc8671b72b8712e8a65f63ac98 ) vcpkg_extract_source_archive(${ARCHIVE}) From 90e627c7e6312d5ab04060c186e55ac58edaa634 Mon Sep 17 00:00:00 2001 From: Claudio Fantacci Date: Fri, 21 Sep 2018 06:01:15 +0900 Subject: [PATCH 046/129] [qt5-base] Fix hardcoded absolute paths in DLLs (#3280) * Fix Qt5 hardcoded absolute paths within DLLs * Increase patch version number in qt5-base --- ports/qt5-base/configure_qt.cmake | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/ports/qt5-base/configure_qt.cmake b/ports/qt5-base/configure_qt.cmake index 356361a9b..b66f6d22e 100644 --- a/ports/qt5-base/configure_qt.cmake +++ b/ports/qt5-base/configure_qt.cmake @@ -30,12 +30,13 @@ function(configure_qt) vcpkg_execute_required_process( COMMAND "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}" ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG} -debug - -prefix ${CURRENT_PACKAGES_DIR}/debug - -hostbindir ${CURRENT_PACKAGES_DIR}/debug/tools/qt5 - -archdatadir ${CURRENT_PACKAGES_DIR}/share/qt5/debug - -datadir ${CURRENT_PACKAGES_DIR}/share/qt5/debug - -plugindir ${CURRENT_PACKAGES_DIR}/debug/plugins - -qmldir ${CURRENT_PACKAGES_DIR}/debug/qml + -prefix ${CURRENT_INSTALLED_DIR}/debug + -extprefix ${CURRENT_PACKAGES_DIR}/debug + -hostbindir ${CURRENT_INSTALLED_DIR}/debug/tools/qt5 + -archdatadir ${CURRENT_INSTALLED_DIR}/share/qt5/debug + -datadir ${CURRENT_INSTALLED_DIR}/share/qt5/debug + -plugindir ${CURRENT_INSTALLED_DIR}/debug/plugins + -qmldir ${CURRENT_INSTALLED_DIR}/debug/qml -headerdir ${CURRENT_PACKAGES_DIR}/include -I ${CURRENT_INSTALLED_DIR}/include -L ${CURRENT_INSTALLED_DIR}/debug/lib @@ -44,18 +45,19 @@ function(configure_qt) LOGNAME config-${TARGET_TRIPLET}-dbg ) message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") - + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) vcpkg_execute_required_process( COMMAND "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}" ${_csc_OPTIONS} ${_csc_OPTIONS_RELEASE} -release - -prefix ${CURRENT_PACKAGES_DIR} - -hostbindir ${CURRENT_PACKAGES_DIR}/tools/qt5 - -archdatadir ${CURRENT_PACKAGES_DIR}/share/qt5 - -datadir ${CURRENT_PACKAGES_DIR}/share/qt5 - -plugindir ${CURRENT_PACKAGES_DIR}/plugins - -qmldir ${CURRENT_PACKAGES_DIR}/qml + -prefix ${CURRENT_INSTALLED_DIR} + -extprefix ${CURRENT_PACKAGES_DIR} + -hostbindir ${CURRENT_INSTALLED_DIR}/tools/qt5 + -archdatadir ${CURRENT_INSTALLED_DIR}/share/qt5 + -datadir ${CURRENT_INSTALLED_DIR}/share/qt5 + -plugindir ${CURRENT_INSTALLED_DIR}/plugins + -qmldir ${CURRENT_INSTALLED_DIR}/qml -I ${CURRENT_INSTALLED_DIR}/include -L ${CURRENT_INSTALLED_DIR}/lib -platform ${_csc_PLATFORM} @@ -64,4 +66,4 @@ function(configure_qt) ) message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") -endfunction() \ No newline at end of file +endfunction() From d23c403e2d6fff183edd47d0c35e0282e4691abc Mon Sep 17 00:00:00 2001 From: jasjuang Date: Sun, 23 Sep 2018 15:02:05 -0700 Subject: [PATCH 047/129] [glm] update to 0.9.9.2 --- ports/glm/CONTROL | 2 +- ports/glm/disable_warnings_as_error.patch | 13 +++ ports/glm/ignore-warning-C4201.patch | 128 ---------------------- ports/glm/portfile.cmake | 6 +- 4 files changed, 17 insertions(+), 132 deletions(-) create mode 100644 ports/glm/disable_warnings_as_error.patch delete mode 100644 ports/glm/ignore-warning-C4201.patch diff --git a/ports/glm/CONTROL b/ports/glm/CONTROL index 7dbcec7d4..c7c099c72 100644 --- a/ports/glm/CONTROL +++ b/ports/glm/CONTROL @@ -1,3 +1,3 @@ Source: glm -Version: 0.9.9.0 +Version: 0.9.9.2 Description: OpenGL Mathematics (GLM) https://glm.g-truc.net diff --git a/ports/glm/disable_warnings_as_error.patch b/ports/glm/disable_warnings_as_error.patch new file mode 100644 index 000000000..f87616b1e --- /dev/null +++ b/ports/glm/disable_warnings_as_error.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 756673a3..5fbc8906 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -216,7 +216,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + message("GLM: Visual C++ - ${CMAKE_CXX_COMPILER_ID} compiler") + endif() + +- add_compile_options(/W4 /WX) ++ add_compile_options(/W4) + add_compile_options(/wd4309 /wd4324 /wd4389 /wd4127 /wd4267 /wd4146 /wd4201 /wd4464 /wd4514 /wd4701 /wd4820 /wd4365) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + endif() diff --git a/ports/glm/ignore-warning-C4201.patch b/ports/glm/ignore-warning-C4201.patch deleted file mode 100644 index b94b123db..000000000 --- a/ports/glm/ignore-warning-C4201.patch +++ /dev/null @@ -1,128 +0,0 @@ -diff --git a/glm/detail/type_vec1.hpp b/glm/detail/type_vec1.hpp -index f5c7f017..69c7274a 100644 ---- a/glm/detail/type_vec1.hpp -+++ b/glm/detail/type_vec1.hpp -@@ -39,6 +39,10 @@ namespace glm - # pragma clang diagnostic push - # pragma clang diagnostic ignored "-Wgnu-anonymous-struct" - # pragma clang diagnostic ignored "-Wnested-anon-types" -+# endif -+# if GLM_COMPILER & GLM_COMPILER_VC -+# pragma warning(push) -+# pragma warning(disable: 4201) - # endif - - union -@@ -60,6 +64,9 @@ namespace glm - # endif//GLM_SWIZZLE*/ - }; - -+# if GLM_COMPILER & GLM_COMPILER_VC -+# pragma warning(pop) -+# endif - # if GLM_COMPILER & GLM_COMPILER_CLANG - # pragma clang diagnostic pop - # endif -diff --git a/glm/detail/type_vec2.hpp b/glm/detail/type_vec2.hpp -index a9af32e3..b8b8f32e 100644 ---- a/glm/detail/type_vec2.hpp -+++ b/glm/detail/type_vec2.hpp -@@ -38,6 +38,10 @@ namespace glm - # pragma clang diagnostic push - # pragma clang diagnostic ignored "-Wgnu-anonymous-struct" - # pragma clang diagnostic ignored "-Wnested-anon-types" -+# endif -+# if GLM_COMPILER & GLM_COMPILER_VC -+# pragma warning(push) -+# pragma warning(disable: 4201) - # endif - - union -@@ -60,6 +64,9 @@ namespace glm - - }; - -+# if GLM_COMPILER & GLM_COMPILER_VC -+# pragma warning(pop) -+# endif - # if GLM_COMPILER & GLM_COMPILER_CLANG - # pragma clang diagnostic pop - # endif -diff --git a/glm/detail/type_vec3.hpp b/glm/detail/type_vec3.hpp -index f85f0a5c..28e6c6ed 100644 ---- a/glm/detail/type_vec3.hpp -+++ b/glm/detail/type_vec3.hpp -@@ -38,6 +38,10 @@ namespace glm - # pragma clang diagnostic push - # pragma clang diagnostic ignored "-Wgnu-anonymous-struct" - # pragma clang diagnostic ignored "-Wnested-anon-types" -+# endif -+# if GLM_COMPILER & GLM_COMPILER_VC -+# pragma warning(push) -+# pragma warning(disable: 4201) - # endif - - union -@@ -59,6 +63,9 @@ namespace glm - # endif//GLM_SWIZZLE - }; - -+# if GLM_COMPILER & GLM_COMPILER_VC -+# pragma warning(pop) -+# endif - # if GLM_COMPILER & GLM_COMPILER_CLANG - # pragma clang diagnostic pop - # endif -diff --git a/glm/detail/type_vec4.hpp b/glm/detail/type_vec4.hpp -index 5e89b744..0a16bc2c 100644 ---- a/glm/detail/type_vec4.hpp -+++ b/glm/detail/type_vec4.hpp -@@ -38,6 +38,10 @@ namespace glm - # pragma clang diagnostic push - # pragma clang diagnostic ignored "-Wgnu-anonymous-struct" - # pragma clang diagnostic ignored "-Wnested-anon-types" -+# endif -+# if GLM_COMPILER & GLM_COMPILER_VC -+# pragma warning(push) -+# pragma warning(disable: 4201) - # endif - - union -@@ -61,6 +65,9 @@ namespace glm - # endif//GLM_SWIZZLE - }; - -+# if GLM_COMPILER & GLM_COMPILER_VC -+# pragma warning(pop) -+# endif - # if GLM_COMPILER & GLM_COMPILER_CLANG - # pragma clang diagnostic pop - # endif -diff --git a/glm/gtc/quaternion.hpp b/glm/gtc/quaternion.hpp -index 8af1c8bf..ff8c4aa6 100644 ---- a/glm/gtc/quaternion.hpp -+++ b/glm/gtc/quaternion.hpp -@@ -49,6 +49,10 @@ namespace glm - # pragma clang diagnostic push - # pragma clang diagnostic ignored "-Wgnu-anonymous-struct" - # pragma clang diagnostic ignored "-Wnested-anon-types" -+# endif -+# if GLM_COMPILER & GLM_COMPILER_VC -+# pragma warning(push) -+# pragma warning(disable: 4201) - # endif - - union -@@ -57,6 +61,9 @@ namespace glm - typename detail::storage::value>::type data; - }; - -+# if GLM_COMPILER & GLM_COMPILER_VC -+# pragma warning(pop) -+# endif - # if GLM_COMPILER & GLM_COMPILER_CLANG - # pragma clang diagnostic pop - # endif --- -2.15.1.windows.2 - diff --git a/ports/glm/portfile.cmake b/ports/glm/portfile.cmake index b975cc370..90f7875fb 100644 --- a/ports/glm/portfile.cmake +++ b/ports/glm/portfile.cmake @@ -3,14 +3,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO g-truc/glm - REF 0.9.9.0 - SHA512 b7a6996cb98bc334130c33a339275b50ea28d8dfce300f3d14ac52edf0b5c38bf216d318f411e898edef428876c0b2d1f6a6e951f160f31425fe0852ad150421 + REF 0.9.9.2 + SHA512 80a5fbeaaea5f1034cd6f8ad3f4daf8b5fa8d9410ccce15ced20f37e24c0f6083332fde82b1fa7357399b3e37c1a31dd3a14f257b7847a5f1ddefa627b50351a HEAD_REF master ) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/ignore-warning-C4201.patch" + PATCHES "${CMAKE_CURRENT_LIST_DIR}/disable_warnings_as_error.patch" ) vcpkg_configure_cmake( From 50bffdbdaaf68a90fcb10a1f3659df36bc6a0a2e Mon Sep 17 00:00:00 2001 From: David Ludwig Date: Sun, 26 Aug 2018 14:00:59 -0400 Subject: [PATCH 048/129] [io2d] work-in-progress on new package (for vcpkg) (via http://io2d.org) Currently points to a branch outside of Github.com/cpp-io2d/, pending changes to either io2d, or this vcpkg integration --- ports/io2d/CONTROL | 4 +++ ports/io2d/portfile.cmake | 70 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 ports/io2d/CONTROL create mode 100644 ports/io2d/portfile.cmake diff --git a/ports/io2d/CONTROL b/ports/io2d/CONTROL new file mode 100644 index 000000000..c7c2eb56d --- /dev/null +++ b/ports/io2d/CONTROL @@ -0,0 +1,4 @@ +Source: io2d +Version: 0 +Description: a lightweight, cross platform drawing library with support for hardware and software rendering +Build-Depends: cairo, graphicsmagick diff --git a/ports/io2d/portfile.cmake b/ports/io2d/portfile.cmake new file mode 100644 index 000000000..1e53de990 --- /dev/null +++ b/ports/io2d/portfile.cmake @@ -0,0 +1,70 @@ + +# Allow use of vcpkg functions +include(vcpkg_common_functions) + +# For now, io2d is always a static library. +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +# Optionally, uncomment and modify one of the 'set(...)' calls below +# to use io2d sources from a local directory, rather than Github. +# set(SOURCE_PATH "C:\\Path\\To\\P0267_RefImpl\\") +# set(SOURCE_PATH "/Path/To/P0267_RefImpl") + +# Retrieve and validate io2d source code, as-needed +if ("${SOURCE_PATH}" STREQUAL "") + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + + ## TODO: point at cpp-io2d/(whatever), if and as needed + # REPO cpp-io2d/P0267_RefImpl + # REF a805fc8dfbbab29de171a45899b74e3af4889089 + # SHA512 99ca75d421d7375ec501a702360660e849bae4d728d08e6f93beded3c84944423a00f350d4234e71175d4e3d1426efa68dfae87c841e20eb23ccbabf9047c7b3 + # HEAD_REF master + + ## TODO: remove reference to 'DavidLudwig'-owned repo + REPO DavidLudwig/P0267_Modified + REF cc2aeef42d702a694f7dc8d27f9f6b2245b2c52d + SHA512 f0f609d147a21c188a20c7dbb71ed36989683b6fba2dea5f8c8ac92b521504d49d29ecf13990a4502a75b1b451a6f3150226ae4369446fe85d06441107fded72 + HEAD_REF vcpkg + + ) +endif() + +# Configure the library, using CMake +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DIO2D_WITHOUT_SAMPLES=1 + -DIO2D_WITHOUT_TESTS=1 +) + +# Build + install the library, using CMake +vcpkg_install_cmake() + +# Don't have duplicate header files in both include/ and debug/include/ folders +# (within /installed/io2d_*/, as installed by vcpkg_install_cmake()): +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Don't have duplicate CMake files +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + +# Make sure CMake files are installed to the correct location +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/io2d) +file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/io2d/cmake) + +# Remove separate io2d directory (dludwig@pobox.com: should this always be true? Whither +# a single 'io2d.h' file, with sub-headers within a 'io2d' directory, lest we spam someone's +# 'include' directory?) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include) + +# [Re]install io2d headers, using a (currently) flat structure +file( + GLOB IO2D_HEADERS + "${SOURCE_PATH}/P0267_RefImpl/P0267_RefImpl/*.h" + "${SOURCE_PATH}/P0267_RefImpl/P0267_RefImpl/cairo/*.h" + "${SOURCE_PATH}/P0267_RefImpl/P0267_RefImpl/cairo/win32/*.h" +) +file(INSTALL ${IO2D_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Install a copyright file, as suggested by vcpkg itself +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/io2d RENAME copyright) From f223e147f4d3df6ebbee922835456b5a95d873b0 Mon Sep 17 00:00:00 2001 From: David Ludwig Date: Thu, 6 Sep 2018 14:03:03 -0400 Subject: [PATCH 049/129] [io2d] point at io2d's main Github repo --- ports/io2d/portfile.cmake | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/ports/io2d/portfile.cmake b/ports/io2d/portfile.cmake index 1e53de990..285cab969 100644 --- a/ports/io2d/portfile.cmake +++ b/ports/io2d/portfile.cmake @@ -15,18 +15,11 @@ if ("${SOURCE_PATH}" STREQUAL "") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ## TODO: point at cpp-io2d/(whatever), if and as needed - # REPO cpp-io2d/P0267_RefImpl - # REF a805fc8dfbbab29de171a45899b74e3af4889089 - # SHA512 99ca75d421d7375ec501a702360660e849bae4d728d08e6f93beded3c84944423a00f350d4234e71175d4e3d1426efa68dfae87c841e20eb23ccbabf9047c7b3 - # HEAD_REF master - - ## TODO: remove reference to 'DavidLudwig'-owned repo - REPO DavidLudwig/P0267_Modified - REF cc2aeef42d702a694f7dc8d27f9f6b2245b2c52d - SHA512 f0f609d147a21c188a20c7dbb71ed36989683b6fba2dea5f8c8ac92b521504d49d29ecf13990a4502a75b1b451a6f3150226ae4369446fe85d06441107fded72 - HEAD_REF vcpkg - + # TODO: point at cpp-io2d/(whatever), if and as needed + REPO cpp-io2d/P0267_RefImpl + REF 21ae92c8be6916034e6e18f08aa57899a975dfb0 + SHA512 5b674f98ca7705d6901af339a4189d5ce4f2c3118bfb99430734f355159602f177bc8d1b345c3a2f17947a62547553f7b91747a1f16da063707a4da7f990391d + HEAD_REF master ) endif() From fd5fe4132c1ea2e5b4277a7ebe2f34f0bfce19fd Mon Sep 17 00:00:00 2001 From: David Ludwig Date: Thu, 6 Sep 2018 14:04:16 -0400 Subject: [PATCH 050/129] [io2d] adjusted description and version (in vcpkg CONTROL file) --- ports/io2d/CONTROL | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/io2d/CONTROL b/ports/io2d/CONTROL index c7c2eb56d..331e58551 100644 --- a/ports/io2d/CONTROL +++ b/ports/io2d/CONTROL @@ -1,4 +1,4 @@ Source: io2d -Version: 0 -Description: a lightweight, cross platform drawing library with support for hardware and software rendering +Version: 0.1 +Description: a lightweight, cross platform drawing library Build-Depends: cairo, graphicsmagick From b35f75d646e8e66ac515a0836e9a808bee54c7ba Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 11 Sep 2018 13:11:51 -0700 Subject: [PATCH 051/129] [cairo][expat][fontconfig][graphicsmagick][libjpeg-turbo][pixman][tiff] Add unofficial targets and usage information --- ports/cairo/CMakeLists.txt | 79 ++++++++++--------- ports/cairo/CONTROL | 2 +- ports/cairo/portfile.cmake | 27 +++---- ports/expat/portfile.cmake | 2 + ports/expat/usage | 4 + ports/fontconfig/CMakeLists.txt | 25 +++++- ports/fontconfig/CONTROL | 2 +- ports/fontconfig/portfile.cmake | 21 +++-- ports/graphicsmagick/CMakeLists.txt | 52 ++++++++---- ports/graphicsmagick/CONTROL | 2 +- ports/graphicsmagick/portfile.cmake | 4 + ports/io2d/CONTROL | 2 +- ports/io2d/find-package.patch | 47 +++++++++++ ports/io2d/portfile.cmake | 35 ++++---- ports/libjpeg-turbo/portfile.cmake | 23 +++--- ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake | 28 +++++++ ports/pixman/CMakeLists.txt | 12 ++- ports/pixman/CONTROL | 2 +- ports/pixman/portfile.cmake | 17 ++-- ports/tiff/portfile.cmake | 22 +++--- ports/tiff/usage | 4 + ports/tiff/vcpkg-cmake-wrapper.cmake | 9 ++- 22 files changed, 286 insertions(+), 135 deletions(-) create mode 100644 ports/expat/usage create mode 100644 ports/io2d/find-package.patch create mode 100644 ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake create mode 100644 ports/tiff/usage diff --git a/ports/cairo/CMakeLists.txt b/ports/cairo/CMakeLists.txt index 5ace57604..137dba7f3 100644 --- a/ports/cairo/CMakeLists.txt +++ b/ports/cairo/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.11) project(cairo C) # Add include directories @@ -162,14 +162,10 @@ set(CMAKE_DEBUG_POSTFIX "d") find_package(ZLIB REQUIRED) find_package(PNG REQUIRED) - -# Make the pixman library available -if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(PIXMAN_SUFFIX "d") -endif() -find_library(PIXMAN_LIBRARY NAMES pixman-1${PIXMAN_SUFFIX}) - -find_package(Freetype CONFIG REQUIRED) +find_package(Freetype REQUIRED) +find_package(unofficial-glib CONFIG REQUIRED) +find_package(unofficial-fontconfig CONFIG REQUIRED) +find_package(unofficial-pixman CONFIG REQUIRED) # Cairo needs to be told which features of FreeType are availible add_definitions( @@ -179,9 +175,6 @@ add_definitions( -DHAVE_FT_LOAD_SFNT_TABLE=1 -DHAVE_FT_GET_X11_FONT_FORMAT=1) -# Find FontConfig -find_library(FONTCONFIG_LIBRARY fontconfig) - # additional features for macOS if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") add_definitions( @@ -196,20 +189,7 @@ endif() add_library(cairo ${SOURCES}) -if(MSVC) - # cairo produces a lot of warnings which are disabled here because they otherwise fill up the log files - # NOTE: options only available to MSVC, clang in macOS doesn't understand these flags - target_compile_options(cairo PUBLIC "/wd4244" PUBLIC "/wd4146" PUBLIC "/wd4312" PUBLIC "/wd4267" - PUBLIC "/wd4996" PUBLIC "/wd4311" PUBLIC "/wd4334" PUBLIC "/wd4101") -endif() - -target_link_libraries(cairo gdi32 msimg32 user32 ZLIB::ZLIB PNG::PNG freetype ${PIXMAN_LIBRARY} ${FONTCONFIG_LIBRARY}) - -install(TARGETS cairo - RUNTIME DESTINATION bin - LIBRARY DESTINATION bin - ARCHIVE DESTINATION lib -) +target_link_libraries(cairo PRIVATE gdi32 msimg32 user32 ZLIB::ZLIB PNG::PNG Freetype::Freetype unofficial::pixman::pixman-1 unofficial::fontconfig::fontconfig) # GObject support module @@ -225,16 +205,43 @@ if(BUILD_SHARED_LIBS) PROPERTIES COMPILE_DEFINITIONS "cairo_public=__declspec(dllexport)") endif() -# Make GLib's GObject available -find_path(GLIB_INCLUDE_DIR glib.h) -find_library(GLIB_LIBRARY NAMES glib-2.0) -find_library(GOBJECT_LIBRARY NAMES gobject-2.0) -set(GLIB_LIBRARIES ${GLIB_LIBRARY} ${GOBJECT_LIBRARY}) - add_library(cairo-gobject ${CAIRO_GOBJECT_SOURCES}) -target_link_libraries(cairo-gobject cairo ${GLIB_LIBRARIES}) -target_include_directories(cairo-gobject PRIVATE ${GLIB_INCLUDE_DIR}) -install(TARGETS cairo-gobject +target_link_libraries(cairo-gobject PRIVATE cairo unofficial::glib::gobject unofficial::glib::glib) + +if(MSVC) + # cairo produces a lot of warnings which are disabled here because they otherwise fill up the log files + # NOTE: options only available to MSVC, clang in macOS doesn't understand these flags + target_compile_options(cairo PRIVATE + "/wd4244" "/wd4146" "/wd4312" "/wd4267" "/wd4996" "/wd4311" "/wd4334" "/wd4101" + ) + target_compile_options(cairo-gobject PRIVATE + "/wd4244" "/wd4146" "/wd4312" "/wd4267" "/wd4996" "/wd4311" "/wd4334" "/wd4101" + ) +endif() + +install(TARGETS cairo cairo-gobject + EXPORT cairo-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) + ARCHIVE DESTINATION lib +) + +install( + EXPORT cairo-targets + NAMESPACE unofficial::cairo:: + FILE unofficial-cairo-targets.cmake + DESTINATION share/unofficial-cairo +) + +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-cairo-config.cmake " +include(CMakeFindDependencyMacro) +find_dependency(ZLIB) +find_dependency(PNG) +find_dependency(Freetype) +find_dependency(unofficial-glib CONFIG) +find_dependency(unofficial-fontconfig CONFIG) +find_dependency(unofficial-pixman CONFIG) + +include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-cairo-targets.cmake) +") +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-cairo-config.cmake DESTINATION share/unofficial-cairo) diff --git a/ports/cairo/CONTROL b/ports/cairo/CONTROL index eb1964c8a..2f182e84b 100644 --- a/ports/cairo/CONTROL +++ b/ports/cairo/CONTROL @@ -1,4 +1,4 @@ Source: cairo -Version: 1.15.8-2 +Version: 1.15.8-3 Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB. Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig diff --git a/ports/cairo/portfile.cmake b/ports/cairo/portfile.cmake index bc74654d0..53d944b54 100644 --- a/ports/cairo/portfile.cmake +++ b/ports/cairo/portfile.cmake @@ -1,25 +1,18 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) set(CAIRO_VERSION 1.15.8) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cairo-${CAIRO_VERSION}) + vcpkg_download_distfile(ARCHIVE URLS "http://cairographics.org/snapshots/cairo-${CAIRO_VERSION}.tar.xz" FILENAME "cairo-${CAIRO_VERSION}.tar.xz" SHA512 5af1eebf432201dae0efaa5b6766b151d8273ea00dae48e104d56477005b4d423d64b5d11c512736a4cb076632fb2a572ec35becd922825a68d933bb5ff96ca1 ) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/export-only-in-shared-build.patch" - "${CMAKE_CURRENT_LIST_DIR}/0001_fix_osx_defined.patch" +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${CAIRO_VERSION} + PATCHES + export-only-in-shared-build.patch + 0001_fix_osx_defined.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src) @@ -32,6 +25,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-cairo TARGET_PATH share/unofficial-cairo) + # Copy the appropriate header files. foreach(FILE "${SOURCE_PATH}/src/cairo.h" @@ -64,3 +59,5 @@ file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/cairo file(RENAME ${CURRENT_PACKAGES_DIR}/share/cairo/COPYING ${CURRENT_PACKAGES_DIR}/share/cairo/copyright) vcpkg_copy_pdbs() + +vcpkg_test_cmake(PACKAGE_NAME unofficial-cairo) diff --git a/ports/expat/portfile.cmake b/ports/expat/portfile.cmake index b6db7b374..7e2c322db 100644 --- a/ports/expat/portfile.cmake +++ b/ports/expat/portfile.cmake @@ -43,3 +43,5 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") string(REPLACE "!defined(XML_STATIC)" "/* vcpkg static build !defined(XML_STATIC) */ 0" EXPAT_EXTERNAL_H "${EXPAT_EXTERNAL_H}") endif() file(WRITE ${CURRENT_PACKAGES_DIR}/include/expat_external.h "${EXPAT_EXTERNAL_H}") + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/expat) diff --git a/ports/expat/usage b/ports/expat/usage new file mode 100644 index 000000000..a2d35a66e --- /dev/null +++ b/ports/expat/usage @@ -0,0 +1,4 @@ +The package expat is compatible with built-in CMake targets: + + find_package(EXPAT REQUIRED) + target_link_libraries(main PRIVATE EXPAT::EXPAT) diff --git a/ports/fontconfig/CMakeLists.txt b/ports/fontconfig/CMakeLists.txt index 5fa5c547a..1c552468e 100644 --- a/ports/fontconfig/CMakeLists.txt +++ b/ports/fontconfig/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.11) project(fontconfig C) add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -DHAVE_CONFIG_H) @@ -6,8 +6,7 @@ add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -DHAVE_CONF # find dependencies find_package(unofficial-iconv CONFIG REQUIRED) find_package(Freetype REQUIRED) -find_path(EXPAT_INCLUDE_DIR expat.h) -find_library(EXPAT_LIBRARY expat) +find_package(EXPAT REQUIRED) add_library(fontconfig src/fcatomic.c @@ -49,9 +48,10 @@ else() target_include_directories(fontconfig PRIVATE ${FC_INCLUDE_DIR}/unix) endif() -target_link_libraries(fontconfig PRIVATE unofficial::iconv::libiconv Freetype::Freetype ${EXPAT_LIBRARY}) +target_link_libraries(fontconfig PRIVATE unofficial::iconv::libiconv Freetype::Freetype EXPAT::EXPAT) install(TARGETS fontconfig + EXPORT fontconfig-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) @@ -73,3 +73,20 @@ if(NOT FC_SKIP_TOOLS) install(FILES fonts.conf DESTINATION tools/fontconfig/fonts) install(DIRECTORY conf.d DESTINATION tools/fontconfig/fonts FILES_MATCHING PATTERN "*.conf") endif() + +install( + EXPORT fontconfig-targets + NAMESPACE unofficial::fontconfig:: + FILE unofficial-fontconfig-targets.cmake + DESTINATION share/unofficial-fontconfig +) + +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-fontconfig-config.cmake " +include(CMakeFindDependencyMacro) +find_dependency(unofficial-iconv CONFIG) +find_dependency(Freetype) +find_dependency(EXPAT) + +include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-fontconfig-targets.cmake) +") +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-fontconfig-config.cmake DESTINATION share/unofficial-fontconfig) diff --git a/ports/fontconfig/CONTROL b/ports/fontconfig/CONTROL index c0cf971da..536661659 100644 --- a/ports/fontconfig/CONTROL +++ b/ports/fontconfig/CONTROL @@ -1,4 +1,4 @@ Source: fontconfig -Version: 2.12.4-3 +Version: 2.12.4-7 Description: Library for configuring and customizing font access. Build-Depends: freetype, expat, libiconv, dirent diff --git a/ports/fontconfig/portfile.cmake b/ports/fontconfig/portfile.cmake index d35bbb64a..fff6eb477 100644 --- a/ports/fontconfig/portfile.cmake +++ b/ports/fontconfig/portfile.cmake @@ -1,18 +1,18 @@ include(vcpkg_common_functions) + set(FONTCONFIG_VERSION 2.12.4) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fontconfig-${FONTCONFIG_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.gz" FILENAME "fontconfig-${FONTCONFIG_VERSION}.tar.gz" - SHA512 2be3ee0e8e0e3b62571135a3cae06e456c289dd1ad40ef2a7c780406418ee5efce863a833eca5a8ef55bc737a0ea04ef562bba6fd27e174ae43e42131b52810d) + SHA512 2be3ee0e8e0e3b62571135a3cae06e456c289dd1ad40ef2a7c780406418ee5efce863a833eca5a8ef55bc737a0ea04ef562bba6fd27e174ae43e42131b52810d +) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/fcobjtypehash.patch" +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${FONTCONFIG_VERSION} + PATCHES fcobjtypehash.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -28,6 +28,9 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-fontconfig TARGET_PATH share/unofficial-fontconfig) + vcpkg_copy_pdbs() if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -40,3 +43,5 @@ endif() file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/fontconfig) file(RENAME ${CURRENT_PACKAGES_DIR}/share/fontconfig/COPYING ${CURRENT_PACKAGES_DIR}/share/fontconfig/copyright) + +vcpkg_test_cmake(PACKAGE_NAME unofficial-fontconfig) diff --git a/ports/graphicsmagick/CMakeLists.txt b/ports/graphicsmagick/CMakeLists.txt index 27f9fb109..c156b69c7 100644 --- a/ports/graphicsmagick/CMakeLists.txt +++ b/ports/graphicsmagick/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required (VERSION 3.6) project (graphicsmagick) -find_package(Zlib REQUIRED) +find_package(ZLIB REQUIRED) find_package(Bzip2 REQUIRED) find_package(JPEG REQUIRED) find_package(PNG REQUIRED) @@ -29,13 +29,6 @@ include_directories("Magick++") include_directories("Magick++/lib") include_directories("wand") -include_directories(${ZLIB_INCLUDE_DIRS}) -include_directories(${BZIP2_INCLUDE_DIR}) -include_directories(${NATIVE_JPEG_INCLUDE_PATH}) -include_directories(${PNG_INCLUDE_DIRS}) -include_directories(${TIFF_INCLUDE_DIRS}) -include_directories(${FREETYPE_INCLUDE_DIRS}) - file(READ "magick/magick_config.h.in" CONFIG_H) string(REPLACE "#undef HasBZLIB" "#define HasBZLIB" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HasJPEG" "#define HasJPEG" CONFIG_H "${CONFIG_H}") @@ -108,18 +101,49 @@ add_library(graphicsmagick coders/art.c coders/avs.c Magick++/lib/TypeMetric.cpp wand/drawing_wand.c wand/magick_compat.c wand/magick_wand.c wand/pixel_wand.c) -TARGET_LINK_LIBRARIES(graphicsmagick ${ZLIB_LIBRARIES}) -TARGET_LINK_LIBRARIES(graphicsmagick ${BZIP2_LIBRARIES}) -TARGET_LINK_LIBRARIES(graphicsmagick ${JPEG_LIBRARIES}) -TARGET_LINK_LIBRARIES(graphicsmagick ${PNG_LIBRARIES}) -TARGET_LINK_LIBRARIES(graphicsmagick ${TIFF_LIBRARIES}) -TARGET_LINK_LIBRARIES(graphicsmagick ${FREETYPE_LIBRARIES}) +TARGET_LINK_LIBRARIES(graphicsmagick PRIVATE + ZLIB::ZLIB + BZip2::BZip2 + #${JPEG_LIBRARIES} + JPEG::JPEG + PNG::PNG + TIFF::TIFF + Freetype::Freetype +) +target_include_directories(graphicsmagick INTERFACE $) install(TARGETS graphicsmagick + EXPORT graphicsmagick-targets RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) +install( + EXPORT graphicsmagick-targets + FILE unofficial-graphicsmagick-targets.cmake + NAMESPACE unofficial::graphicsmagick:: + DESTINATION share/unofficial-graphicsmagick +) +find_package(ZLIB REQUIRED) +find_package(BZip2 REQUIRED) +find_package(JPEG REQUIRED) +find_package(PNG REQUIRED) +find_package(TIFF REQUIRED) +find_package(Freetype REQUIRED) + +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-graphicsmagick-config.cmake " +include(CMakeFindDependencyMacro) +find_dependency(ZLIB) +find_dependency(BZip2) +find_dependency(JPEG) +find_dependency(PNG) +find_dependency(TIFF) +find_dependency(Freetype) + +include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-graphicsmagick-targets.cmake) +") +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-graphicsmagick-config.cmake DESTINATION share/unofficial-graphicsmagick) + option(INSTALL_HEADERS "Install development header files" ON) if (INSTALL_HEADERS) diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL index 1d6f327df..f8519040f 100644 --- a/ports/graphicsmagick/CONTROL +++ b/ports/graphicsmagick/CONTROL @@ -1,5 +1,5 @@ Source: graphicsmagick Maintainer: josuegomes@gmail.com -Version: 1.3.30 +Version: 1.3.30-1 Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff Description: Image processing library diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake index c097c9e97..b04842eb1 100644 --- a/ports/graphicsmagick/portfile.cmake +++ b/ports/graphicsmagick/portfile.cmake @@ -34,6 +34,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-graphicsmagick TARGET_PATH share/unofficial-graphicsmagick) + # copy license file(COPY ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/graphicsmagick) file(RENAME ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/Copyright.txt ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/copyright) @@ -48,3 +50,5 @@ string(REPLACE "@windows_font_dir@" "$ENV{SYSTEMROOT}/Fonts/" TYPE_MGK "${TYPE_M file(WRITE ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/config/type.mgk "${TYPE_MGK}") vcpkg_copy_pdbs() + +vcpkg_test_cmake(PACKAGE_NAME unofficial-graphicsmagick) diff --git a/ports/io2d/CONTROL b/ports/io2d/CONTROL index 331e58551..7e36cb5d9 100644 --- a/ports/io2d/CONTROL +++ b/ports/io2d/CONTROL @@ -1,4 +1,4 @@ Source: io2d -Version: 0.1 +Version: 0.1-1 Description: a lightweight, cross platform drawing library Build-Depends: cairo, graphicsmagick diff --git a/ports/io2d/find-package.patch b/ports/io2d/find-package.patch new file mode 100644 index 000000000..10d83f95b --- /dev/null +++ b/ports/io2d/find-package.patch @@ -0,0 +1,47 @@ +diff --git a/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt b/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt +index 3d4791c..1864b7a 100644 +--- a/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt ++++ b/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt +@@ -23,7 +23,15 @@ target_compile_features(io2d_cairo PUBLIC cxx_std_17) + + target_link_libraries(io2d_cairo PUBLIC io2d_core) + +-if(MSVC) ++if(DEFINED VCPKG_TARGET_TRIPLET) ++ find_package(unofficial-cairo CONFIG REQUIRED) ++ set(CAIRO_INCLUDE_DIR) ++ set(CAIRO_LIB_DEBUG "CAIRO_LIB_DEBUG-NOTFOUND") ++ set(CAIRO_LIB_RELEASE unofficial::cairo::cairo) ++ find_package(unofficial-graphicsmagick CONFIG REQUIRED) ++ set(GRAPHICSMAGICK_INCLUDE_DIR) ++ set(GRAPHICSMAGICK_LIB unofficial::graphicsmagick::graphicsmagick) ++elseif(MSVC) + find_path(CAIRO_INCLUDE_DIR cairo.h) + find_path(GRAPHICSMAGICK_INCLUDE_DIR magick/api.h) + find_library(CAIRO_LIB_DEBUG cairod) +diff --git a/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt b/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt +index abb1501..b7a6e71 100644 +--- a/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt ++++ b/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt +@@ -24,20 +24,7 @@ target_compile_features(io2d_cairo_win32 PUBLIC cxx_std_17) + target_link_libraries(io2d_cairo_win32 PUBLIC io2d_cairo) + + if(MSVC) +- target_compile_definitions(io2d_cairo_win32 PUBLIC -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_WARNINGS) +- +- find_library(PIXMAN_LIB pixman-1) +- find_library(FREETYPE_LIB freetype) +- find_library(FONTCONFIG_LIB fontconfig) +- find_library(BZ_LIB bz2) +- find_library(JPEG_LIB jpeg) +- find_library(TIFF_LIB tiff) +- find_library(EXPAT_LIB expat) +- find_library(LZMA_LIB lzma) +- find_library(ICONV_LIB libiconv) +- find_library(CHARSET_LIB libcharset) +- +- target_link_libraries(io2d_cairo_win32 PUBLIC ${PIXMAN_LIB} ${FREETYPE_LIB} ${FONTCONFIG_LIB} ${BZ_LIB} ${JPEG_LIB} ${TIFF_LIB} ${EXPAT_LIB} ${LZMA_LIB} ${ICONV_LIB} ${CHARSET_LIB}) ++ target_compile_definitions(io2d_cairo_win32 PRIVATE -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_WARNINGS) + endif() + + install( diff --git a/ports/io2d/portfile.cmake b/ports/io2d/portfile.cmake index 285cab969..c1d536d57 100644 --- a/ports/io2d/portfile.cmake +++ b/ports/io2d/portfile.cmake @@ -12,23 +12,25 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # Retrieve and validate io2d source code, as-needed if ("${SOURCE_PATH}" STREQUAL "") + # TODO: point at cpp-io2d/(whatever), if and as needed vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - - # TODO: point at cpp-io2d/(whatever), if and as needed REPO cpp-io2d/P0267_RefImpl REF 21ae92c8be6916034e6e18f08aa57899a975dfb0 SHA512 5b674f98ca7705d6901af339a4189d5ce4f2c3118bfb99430734f355159602f177bc8d1b345c3a2f17947a62547553f7b91747a1f16da063707a4da7f990391d HEAD_REF master + PATCHES find-package.patch ) endif() # Configure the library, using CMake vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DIO2D_WITHOUT_SAMPLES=1 -DIO2D_WITHOUT_TESTS=1 + -DCMAKE_INSTALL_INCLUDEDIR:STRING=include ) # Build + install the library, using CMake @@ -38,26 +40,17 @@ vcpkg_install_cmake() # (within /installed/io2d_*/, as installed by vcpkg_install_cmake()): file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Don't have duplicate CMake files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/io2d) -# Make sure CMake files are installed to the correct location -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/io2d) -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/io2d/cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake ${CURRENT_PACKAGES_DIR}/share/io2d/io2dTargets.cmake) +file(WRITE ${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake " +include(CMakeFindDependencyMacro) +find_dependency(unofficial-cairo CONFIG) +find_dependency(unofficial-graphicsmagick CONFIG) -# Remove separate io2d directory (dludwig@pobox.com: should this always be true? Whither -# a single 'io2d.h' file, with sub-headers within a 'io2d' directory, lest we spam someone's -# 'include' directory?) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include) +include(\${CMAKE_CURRENT_LIST_DIR}/io2dTargets.cmake) +") -# [Re]install io2d headers, using a (currently) flat structure -file( - GLOB IO2D_HEADERS - "${SOURCE_PATH}/P0267_RefImpl/P0267_RefImpl/*.h" - "${SOURCE_PATH}/P0267_RefImpl/P0267_RefImpl/cairo/*.h" - "${SOURCE_PATH}/P0267_RefImpl/P0267_RefImpl/cairo/win32/*.h" -) -file(INSTALL ${IO2D_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) - -# Install a copyright file, as suggested by vcpkg itself file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/io2d RENAME copyright) + +vcpkg_test_cmake(PACKAGE_NAME io2d) diff --git a/ports/libjpeg-turbo/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake index 7f6bc4973..c077fd16c 100644 --- a/ports/libjpeg-turbo/portfile.cmake +++ b/ports/libjpeg-turbo/portfile.cmake @@ -1,11 +1,4 @@ include(vcpkg_common_functions) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO libjpeg-turbo/libjpeg-turbo - REF 1.5.3 - SHA512 0e7a2cd9943b610f49b562c20a5c350a50326a87bce1d39f14fe45760ed2f89a0d2d3e3f0de9f6a7714f566aabadec6b2422b592591ebb98bbad600ea411fea7 - HEAD_REF master -) vcpkg_download_distfile(GETENV_PATCH URLS "https://github.com/libjpeg-turbo/libjpeg-turbo/commit/bd96b30b74fe166fc94218cfc64a097fafdcc05f.diff" @@ -13,10 +6,15 @@ vcpkg_download_distfile(GETENV_PATCH SHA512 4cd064521b5e4baba4adf972f9f574f6dd43a2cd3e3ad143ca2cdf0f165024406d4fd2ed094124d0c17c5370394140e82fdd892d3cdc49609acdf8f79db1758c ) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/add-options-for-exes-docs-headers.patch" - "${CMAKE_CURRENT_LIST_DIR}/linux-cmake.patch" +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libjpeg-turbo/libjpeg-turbo + REF 1.5.3 + SHA512 0e7a2cd9943b610f49b562c20a5c350a50326a87bce1d39f14fe45760ed2f89a0d2d3e3f0de9f6a7714f566aabadec6b2422b592591ebb98bbad600ea411fea7 + HEAD_REF master + PATCHES + add-options-for-exes-docs-headers.patch + linux-cmake.patch "${GETENV_PATCH}" ) @@ -67,3 +65,6 @@ file(COPY file(RENAME ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/libjpeg-turbo/copyright) vcpkg_copy_pdbs() file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jpeg) + +vcpkg_test_cmake(PACKAGE_NAME JPEG MODULE) diff --git a/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake b/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..5b0dae6c7 --- /dev/null +++ b/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,28 @@ +_find_package(${ARGS}) +if(JPEG_FOUND AND NOT TARGET JPEG::JPEG) + # Backfill JPEG::JPEG to versions of cmake before 3.12 + add_library(JPEG::JPEG UNKNOWN IMPORTED) + if(DEFINED JPEG_INCLUDE_DIRS) + set_target_properties(JPEG::JPEG PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${JPEG_INCLUDE_DIRS}") + endif() + if(EXISTS "${JPEG_LIBRARY}") + set_target_properties(JPEG::JPEG PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${JPEG_LIBRARY}") + endif() + if(EXISTS "${JPEG_LIBRARY_RELEASE}") + set_property(TARGET JPEG::JPEG APPEND PROPERTY + IMPORTED_CONFIGURATIONS RELEASE) + set_target_properties(JPEG::JPEG PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${JPEG_LIBRARY_RELEASE}") + endif() + if(EXISTS "${JPEG_LIBRARY_DEBUG}") + set_property(TARGET JPEG::JPEG APPEND PROPERTY + IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(JPEG::JPEG PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C" + IMPORTED_LOCATION_DEBUG "${JPEG_LIBRARY_DEBUG}") + endif() +endif() diff --git a/ports/pixman/CMakeLists.txt b/ports/pixman/CMakeLists.txt index 8dc9940cb..d355fe8c6 100644 --- a/ports/pixman/CMakeLists.txt +++ b/ports/pixman/CMakeLists.txt @@ -46,14 +46,14 @@ file(GLOB SOURCES ) add_library(pixman-1 ${SOURCES}) +target_include_directories(pixman-1 PUBLIC $) # pixman requires the three PACKAGE* definitions in order to compile. The USE_SSE2 definition lets it use SSE2 instructions for speed. Every target machine should have SSE2 these days. target_compile_definitions(pixman-1 - PUBLIC + PRIVATE PACKAGE="pixman-1" PACKAGE_VERSION="0.34.0" PACKAGE_BUGREPORT="" - PRIVATE USE_SSE2 ) @@ -63,7 +63,15 @@ if(MSVC) endif() install(TARGETS pixman-1 + EXPORT pixman-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) + +install( + EXPORT pixman-targets + NAMESPACE unofficial::pixman:: + FILE unofficial-pixman-config.cmake + DESTINATION share/unofficial-pixman +) diff --git a/ports/pixman/CONTROL b/ports/pixman/CONTROL index 0deb60d33..d3a5cede7 100644 --- a/ports/pixman/CONTROL +++ b/ports/pixman/CONTROL @@ -1,3 +1,3 @@ Source: pixman -Version: 0.34.0-3 +Version: 0.34.0-4 Description: Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization. diff --git a/ports/pixman/portfile.cmake b/ports/pixman/portfile.cmake index 4fb37f6d9..83daa9a51 100644 --- a/ports/pixman/portfile.cmake +++ b/ports/pixman/portfile.cmake @@ -1,13 +1,16 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pixman-0.34.0) - +set(PIXMAN_VERSION 0.34.0) vcpkg_download_distfile(ARCHIVE - URLS "https://www.cairographics.org/releases/pixman-0.34.0.tar.gz" - FILENAME "pixman-0.34.0.tar.gz" + URLS "https://www.cairographics.org/releases/pixman-${PIXMAN_VERSION}.tar.gz" + FILENAME "pixman-${PIXMAN_VERSION}.tar.gz" SHA512 81caca5b71582b53aaac473bc37145bd66ba9acebb4773fa8cdb51f4ed7fbcb6954790d8633aad85b2826dd276bcce725e26e37997a517760e9edd72e2669a6d ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${PIXMAN_VERSION} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/pixman) @@ -18,6 +21,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-pixman TARGET_PATH share/unofficial-pixman) + # Copy the appropriate header files. file(COPY "${SOURCE_PATH}/pixman/pixman.h" @@ -36,3 +41,5 @@ file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/pixma file(RENAME ${CURRENT_PACKAGES_DIR}/share/pixman/COPYING ${CURRENT_PACKAGES_DIR}/share/pixman/copyright) vcpkg_copy_pdbs() + +vcpkg_test_cmake(PACKAGE_NAME unofficial-pixman) diff --git a/ports/tiff/portfile.cmake b/ports/tiff/portfile.cmake index 5ff4baa92..7062c1ce1 100644 --- a/ports/tiff/portfile.cmake +++ b/ports/tiff/portfile.cmake @@ -1,21 +1,20 @@ include(vcpkg_common_functions) set(LIBTIFF_VERSION 4.0.9) -set(LIBTIFF_HASH 04f3d5eefccf9c1a0393659fe27f3dddd31108c401ba0dc587bca152a1c1f6bc844ba41622ff5572da8cc278593eff8c402b44e7af0a0090e91d326c2d79f6cd) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/tiff-${LIBTIFF_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "http://download.osgeo.org/libtiff/tiff-${LIBTIFF_VERSION}.tar.gz" FILENAME "tiff-${LIBTIFF_VERSION}.tar.gz" - SHA512 ${LIBTIFF_HASH} + SHA512 04f3d5eefccf9c1a0393659fe27f3dddd31108c401ba0dc587bca152a1c1f6bc844ba41622ff5572da8cc278593eff8c402b44e7af0a0090e91d326c2d79f6cd ) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-component-options.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-cxx-shared-libs.patch - ${CMAKE_CURRENT_LIST_DIR}/crt-secure-no-deprecate.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${LIBTIFF_VERSION} + PATCHES + add-component-options.patch + fix-cxx-shared-libs.patch + crt-secure-no-deprecate.patch ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") @@ -53,5 +52,8 @@ file(INSTALL DESTINATION ${CURRENT_PACKAGES_DIR}/share/tiff RENAME copyright ) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/tiff) vcpkg_copy_pdbs() + +vcpkg_test_cmake(PACKAGE_NAME TIFF MODULE) diff --git a/ports/tiff/usage b/ports/tiff/usage new file mode 100644 index 000000000..d5312603a --- /dev/null +++ b/ports/tiff/usage @@ -0,0 +1,4 @@ +The package tiff is compatible with built-in CMake targets: + + find_package(TIFF REQUIRED) + target_link_libraries(main PRIVATE TIFF::TIFF) diff --git a/ports/tiff/vcpkg-cmake-wrapper.cmake b/ports/tiff/vcpkg-cmake-wrapper.cmake index fed3875b8..8edcb5e43 100644 --- a/ports/tiff/vcpkg-cmake-wrapper.cmake +++ b/ports/tiff/vcpkg-cmake-wrapper.cmake @@ -8,15 +8,16 @@ if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") endif() find_package(JPEG) - list(APPEND TIFF_EXTRA_LIBRARIES ${JPEG_LIBRARIES}) - find_package(ZLIB) if(TARGET TIFF::TIFF) - set_property(TARGET TIFF::TIFF APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${TIFF_EXTRA_LIBRARIES} ZLIB::ZLIB) + set_property(TARGET TIFF::TIFF APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${TIFF_EXTRA_LIBRARIES} JPEG::JPEG ZLIB::ZLIB) + if(UNIX) + set_property(TARGET TIFF::TIFF APPEND PROPERTY INTERFACE_LINK_LIBRARIES m) + endif() endif() if(TIFF_LIBRARIES) - list(APPEND TIFF_LIBRARIES ${TIFF_EXTRA_LIBRARIES} ${ZLIB_LIBRARIES}) + list(APPEND TIFF_LIBRARIES ${TIFF_EXTRA_LIBRARIES} ${JPEG_LIBRARIES} ${ZLIB_LIBRARIES}) if(UNIX) list(APPEND TIFF_LIBRARIES m) endif() From 8f0f1aa85faab4f671db03729b33792a0ed60807 Mon Sep 17 00:00:00 2001 From: Denis Legashov Date: Tue, 25 Sep 2018 13:48:07 +0300 Subject: [PATCH 052/129] Updated leptonica patch in order to fix Linux builds --- ports/leptonica/fix-cmakelists.patch | 40 +++++++--------------------- 1 file changed, 9 insertions(+), 31 deletions(-) diff --git a/ports/leptonica/fix-cmakelists.patch b/ports/leptonica/fix-cmakelists.patch index 18eb8cde5..b08a971f6 100644 --- a/ports/leptonica/fix-cmakelists.patch +++ b/ports/leptonica/fix-cmakelists.patch @@ -1,34 +1,12 @@ ---- a/src/CMakeLists.txt Sun Jun 11 23:04:50 2017 -+++ b/src/CMakeLists.txt Wed Aug 16 17:29:56 2017 -@@ -27,24 +27,31 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 945100a..6daad98 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -14,7 +14,6 @@ if (MSVC) + set_source_files_properties(${src} PROPERTIES LANGUAGE CXX) endif() - if (GIF_LIBRARY) -+ target_include_directories (leptonica PUBLIC ${GIF_INCLUDE_DIR}) - target_link_libraries (leptonica ${GIF_LIBRARY}) - endif() - if (JPEG_LIBRARY) -+ target_include_directories (leptonica PUBLIC ${JPEG_INCLUDE_DIR}) - target_link_libraries (leptonica ${JPEG_LIBRARY}) - endif() - if (JP2K_FOUND) -+ target_include_directories (leptonica PUBLIC ${JP2K_INCLUDE_DIR}) - target_link_libraries (leptonica ${JP2K_LIBRARIES}) - endif() - if (PNG_LIBRARY) -+ target_include_directories (leptonica PUBLIC ${PNG_INCLUDE_DIRS}) - target_link_libraries (leptonica ${PNG_LIBRARY}) - endif() - if (TIFF_LIBRARY) -+ target_include_directories (leptonica PUBLIC ${TIFF_INCLUDE_DIR}) - target_link_libraries (leptonica ${TIFF_LIBRARY}) - endif() - if (WEBP_FOUND) -+ target_include_directories (leptonica PUBLIC ${WEBP_INCLUDE_DIR}) - target_link_libraries (leptonica ${WEBP_LIBRARIES}) - endif() - if (ZLIB_LIBRARY) -+ target_include_directories (leptonica PUBLIC ${ZLIB_INCLUDE_DIR}) - target_link_libraries (leptonica ${ZLIB_LIBRARY}) - endif() +-string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) + add_library (leptonica ${LIBRARY_TYPE} ${src} ${hdr}) + set_target_properties (leptonica PROPERTIES VERSION ${VERSION_PLAIN}) From e4fddb8dba4b55d6e0285ad8095e1a5d19642429 Mon Sep 17 00:00:00 2001 From: Mark Ian Holland Date: Tue, 25 Sep 2018 15:26:09 +0100 Subject: [PATCH 053/129] Update Imgui to 1.65 --- ports/imgui/CONTROL | 2 +- ports/imgui/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/imgui/CONTROL b/ports/imgui/CONTROL index 86dc63371..a973b215b 100644 --- a/ports/imgui/CONTROL +++ b/ports/imgui/CONTROL @@ -1,3 +1,3 @@ Source: imgui -Version: 1.64 +Version: 1.65 Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies. diff --git a/ports/imgui/portfile.cmake b/ports/imgui/portfile.cmake index c24a17126..1f427a068 100644 --- a/ports/imgui/portfile.cmake +++ b/ports/imgui/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ocornut/imgui - REF v1.64 - SHA512 22bb2c0bbb85d2bb40663046cc4907c36ecdbd9a2148c241bda0ab92ef037cc60c225efb5729f2826893ffff031f6db8f4651768bc3616810218e185eac1b456 + REF v1.65 + SHA512 f68bbf84b781ea3e409beccb02b0bf8fe78d56e1ce7d8fce785f629758310ae75c9624ed62b2b6194e50f00cc7cc17f643191f4fbbad9236aa2e82a9ea4f6aac HEAD_REF master ) From 7b82b3889653233f642c6e86cc949b08cf7ea572 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 25 Sep 2018 20:50:19 -0700 Subject: [PATCH 054/129] [aws-sdk-cpp] Change default services based on recommendations from the aws team --- ports/aws-sdk-cpp/CONTROL | 4 ++-- ports/aws-sdk-cpp/CONTROL.in | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index 23d9e16e3..7402c2e35 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,8 +1,8 @@ Source: aws-sdk-cpp -Version: 1.6.12 +Version: 1.6.12-1 Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows) -Default-Features: dynamodb, ec2, kms, rds, s3, sns, sqs +Default-Features: dynamodb, s3, kinesis # Automatically generated by generateFeatures.ps1 Feature: access-management diff --git a/ports/aws-sdk-cpp/CONTROL.in b/ports/aws-sdk-cpp/CONTROL.in index 184374de6..13b206bfa 100644 --- a/ports/aws-sdk-cpp/CONTROL.in +++ b/ports/aws-sdk-cpp/CONTROL.in @@ -2,4 +2,4 @@ Source: aws-sdk-cpp Version: 1.4.30-1 Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows) -Default-Features: dynamodb, ec2, kms, rds, s3, sns, sqs +Default-Features: dynamodb, s3, kinesis From f9122d3aa24f6b2250876a8fdee69754c640d333 Mon Sep 17 00:00:00 2001 From: Kyle Farnung Date: Mon, 1 Oct 2018 09:57:56 -0700 Subject: [PATCH 055/129] Force ChakraCore to statically link the CRT (#4371) ChakraCore can only dynamically link against MSVCRT currently. To work around this it's best just to statically link the CRT like official builds do. Refs: https://github.com/Microsoft/ChakraCore/issues/5725 --- ports/chakracore/CONTROL | 2 +- ports/chakracore/portfile.cmake | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/ports/chakracore/CONTROL b/ports/chakracore/CONTROL index 727f28268..cc29aa2d5 100644 --- a/ports/chakracore/CONTROL +++ b/ports/chakracore/CONTROL @@ -1,3 +1,3 @@ Source: chakracore -Version: 1.11.1 +Version: 1.11.1-1 Description: Core part of the Chakra Javascript engine diff --git a/ports/chakracore/portfile.cmake b/ports/chakracore/portfile.cmake index 62801f00a..3d7b2630d 100644 --- a/ports/chakracore/portfile.cmake +++ b/ports/chakracore/portfile.cmake @@ -24,10 +24,7 @@ set(BUILDTREE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) file(REMOVE_RECURSE ${BUILDTREE_PATH}) file(COPY ${SOURCE_PATH}/ DESTINATION ${BUILDTREE_PATH}) -set(CHAKRA_RUNTIME_LIB "static_library") # ChakraCore default is static CRT linkage -if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") - set(CHAKRA_RUNTIME_LIB "dynamic_library") -endif() +set(CHAKRA_RUNTIME_LIB "static_library") # ChakraCore only supports static CRT linkage vcpkg_build_msbuild( PROJECT_PATH ${BUILDTREE_PATH}/Build/Chakra.Core.sln From c63b56375285602ffee0c589169fab199ef8e6b3 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 2 Oct 2018 23:46:42 +0200 Subject: [PATCH 056/129] Rename 'Ubuntu' with 'Linux' in README.md (#4393) Let's not be biased or propagate a certain Linux distribution over others. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c2f3fc1da..054db327d 100644 --- a/README.md +++ b/README.md @@ -18,19 +18,19 @@ To get started: > cd vcpkg PS> .\bootstrap-vcpkg.bat -Ubuntu:~/$ ./bootstrap-vcpkg.sh +Linux:~/$ ./bootstrap-vcpkg.sh ``` Then, to hook up user-wide [integration](docs/users/integration.md), run (note: requires admin on first use) ``` PS> .\vcpkg integrate install -Ubuntu:~/$ ./vcpkg integrate install +Linux:~/$ ./vcpkg integrate install ``` Install any packages with ``` PS> .\vcpkg install sdl2 curl -Ubuntu:~/$ ./vcpkg install sdl2 curl +Linux:~/$ ./vcpkg install sdl2 curl ``` The best way to use installed libraries with CMake is via the toolchain file `scripts\buildsystems\vcpkg.cmake`. To use this file, you simply need to add it onto your CMake command line as `-DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake`. From 851474a2f8ab13a4fc4341d62538e60fc2af8641 Mon Sep 17 00:00:00 2001 From: Arash Partow Date: Wed, 3 Oct 2018 11:20:07 +1000 Subject: [PATCH 057/129] Update to StrTk package (#4380) --- ports/strtk/CONTROL | 2 +- ports/strtk/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/strtk/CONTROL b/ports/strtk/CONTROL index 0c9cf1720..613ee7db1 100644 --- a/ports/strtk/CONTROL +++ b/ports/strtk/CONTROL @@ -1,4 +1,4 @@ Source: strtk -Version: 2018.05.07-48c9554 +Version: 2018.09.30-b887974 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 f98f06930..1fed1a4a6 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 48c9554b3f079e34205c0af661c81c6f75f1da05 - SHA512 92a1b34808f20489d9b8c94aed384b08fcf2586967185c23a0027ee6d7170d5998e255d6aedc1fbb68327f48c0b106b8efd39f476e4041d6bcc5685c73fc1015 + REF b88797408e614ff5a127df12cc520bf41769ada6 + SHA512 3bb5bfc5f12f46180bc7751b865c5ef9120b3c8764ccc86ca2b4b344d6b9d1744e7bd45e9a9202fe4349f8ce75fbb0c37e807cb1e072f5aef28e790ec94646ca ) file(COPY ${SOURCE_PATH}/strtk.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) From 0cbb8a1626f04b3316a52e44266c3b9adf316f9b Mon Sep 17 00:00:00 2001 From: Mattias Cibien Date: Wed, 3 Oct 2018 03:22:21 +0200 Subject: [PATCH 058/129] [kde frameworks 5] Added karchive, kholidays, updated kplotting from KDE Frameworks 5 (#4302) * [kf5] Added karchive, updated kplotting * [kf5] Added KHolidays * [ecm] Bump CONTROL version --- ports/ecm/CONTROL | 2 +- ports/ecm/portfile.cmake | 4 ++-- ports/kf5archive/CONTROL | 4 ++++ ports/kf5archive/portfile.cmake | 27 +++++++++++++++++++++++++++ ports/kf5holidays/CONTROL | 4 ++++ ports/kf5holidays/portfile.cmake | 31 +++++++++++++++++++++++++++++++ ports/kf5plotting/CONTROL | 4 ++-- ports/kf5plotting/portfile.cmake | 15 ++++++++------- 8 files changed, 79 insertions(+), 12 deletions(-) create mode 100644 ports/kf5archive/CONTROL create mode 100644 ports/kf5archive/portfile.cmake create mode 100644 ports/kf5holidays/CONTROL create mode 100644 ports/kf5holidays/portfile.cmake diff --git a/ports/ecm/CONTROL b/ports/ecm/CONTROL index 147603756..6076cf714 100644 --- a/ports/ecm/CONTROL +++ b/ports/ecm/CONTROL @@ -1,3 +1,3 @@ Source: ecm -Version: 5.40.0 +Version: 5.50.0 Description: Extra CMake Modules (ECM), extra modules and scripts for CMake diff --git a/ports/ecm/portfile.cmake b/ports/ecm/portfile.cmake index 56dcdcf7d..325a6505c 100644 --- a/ports/ecm/portfile.cmake +++ b/ports/ecm/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/extra-cmake-modules - REF v5.40.0 - SHA512 1f79d797770367e79c2c6dd73c125d32fcc5fe404b350d953b69cc6544babc1c73e2986c833635daaac85a5af966977e40fe41c01ac48ccc45d46d2e1636d21f + REF v5.50.0 + SHA512 625f934b97c56cceed44d8fa0e335fb1f593806e52b8bfd2fd467561b4de2528940add756a8e903bd5502e912422cc3835e65e047cc4c205d3b8629452627abd HEAD_REF master ) diff --git a/ports/kf5archive/CONTROL b/ports/kf5archive/CONTROL new file mode 100644 index 000000000..c3e0e5dee --- /dev/null +++ b/ports/kf5archive/CONTROL @@ -0,0 +1,4 @@ +Source: kf5archive +Version: 5.50.0 +Description: File compression +Build-Depends: ecm, qt5-base, zlib, bzip2 \ No newline at end of file diff --git a/ports/kf5archive/portfile.cmake b/ports/kf5archive/portfile.cmake new file mode 100644 index 000000000..6f587a096 --- /dev/null +++ b/ports/kf5archive/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/karchive + REF v5.50.0 + SHA512 519dd69ef76c9655cdf9d8f16484244469a6d5d2185c1d588bad325a401dd11f35699e3c115dfd52e5db38aa26aea3d9b35c7e83b76a36bda926574a7d3ce50f + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DBUILD_HTML_DOCS=OFF + -DBUILD_MAN_DOCS=OFF + -DBUILD_QTHELP_DOCS=OFF + -DBUILD_TESTING=OFF +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5Archive) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) +file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/kf5archive RENAME copyright) diff --git a/ports/kf5holidays/CONTROL b/ports/kf5holidays/CONTROL new file mode 100644 index 000000000..cd1e09ccf --- /dev/null +++ b/ports/kf5holidays/CONTROL @@ -0,0 +1,4 @@ +Source: kf5holidays +Version: 5.50.0 +Description: Holiday calculation library +Build-Depends: ecm, qt5-base, qt5-declarative, qt5-tools \ No newline at end of file diff --git a/ports/kf5holidays/portfile.cmake b/ports/kf5holidays/portfile.cmake new file mode 100644 index 000000000..b56abec1a --- /dev/null +++ b/ports/kf5holidays/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kholidays + REF v5.50.0 + SHA512 01c1258213e1bbab90b9af9c41965599637b1ccd4cd285cbe9bc11579fae1363162567ae14c33001b8b1cc085bae4dfdf4ed79b7ff27f93187bce79db662b4e2 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DBUILD_HTML_DOCS=OFF + -DBUILD_MAN_DOCS=OFF + -DBUILD_QTHELP_DOCS=OFF + -DBUILD_TESTING=OFF +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5Holidays) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) + +file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/qml ${CURRENT_PACKAGES_DIR}/debug/qml ) +file(RENAME ${CURRENT_PACKAGES_DIR}/lib/qml ${CURRENT_PACKAGES_DIR}/qml ) + +file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/kf5holidays RENAME copyright) diff --git a/ports/kf5plotting/CONTROL b/ports/kf5plotting/CONTROL index a24b8e352..70439a5dc 100644 --- a/ports/kf5plotting/CONTROL +++ b/ports/kf5plotting/CONTROL @@ -1,4 +1,4 @@ Source: kf5plotting -Version: 5.37.0 +Version: 5.50.0 Description: Lightweight plotting framework -Build-Depends: ecm, qt5 +Build-Depends: ecm, qt5-base diff --git a/ports/kf5plotting/portfile.cmake b/ports/kf5plotting/portfile.cmake index 39d6e8893..36f862d13 100644 --- a/ports/kf5plotting/portfile.cmake +++ b/ports/kf5plotting/portfile.cmake @@ -1,11 +1,12 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/kplotting-5.37.0) -vcpkg_download_distfile(ARCHIVE - URLS "https://download.kde.org/stable/frameworks/5.37/kplotting-5.37.0.zip" - FILENAME "kplotting-5.37.0.zip" - SHA512 3a1b3f993123dea7141d280cd53ae1b5e49b859e9df39a188bac216758576106efd8b744e8f10f96fac158f980d79ae94d2b27f3d85a48fcd5673263ffce3c4e + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kplotting + REF v5.50.0 + SHA512 512a0f8e8a5147f06345d86fa29effa8d0a59b62f5a24b70a09c4ddf5204d626e13f421be7c42d2103c5634e863db5ac8e6763db886351597f0798e05bc97f33 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -21,4 +22,4 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5Plotting) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/KF5plotting RENAME copyright) +file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/kf5plotting RENAME copyright) From 7e714a2c93540c8369410fd36e052c3774024b85 Mon Sep 17 00:00:00 2001 From: Simon Brand Date: Wed, 3 Oct 2018 17:15:06 -0700 Subject: [PATCH 059/129] [tl-expected] Add new port (#4399) * [tl-expected] Add new port * [tl-expected] Simplification since CMake doesn't currently install targets --- ports/tl-expected/CONTROL | 3 +++ ports/tl-expected/portfile.cmake | 15 +++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 ports/tl-expected/CONTROL create mode 100644 ports/tl-expected/portfile.cmake diff --git a/ports/tl-expected/CONTROL b/ports/tl-expected/CONTROL new file mode 100644 index 000000000..440efe9fa --- /dev/null +++ b/ports/tl-expected/CONTROL @@ -0,0 +1,3 @@ +Source: tl-expected +Version: 0.3-1 +Description: C++11/14/17 std::expected implementation with functional-style extensions diff --git a/ports/tl-expected/portfile.cmake b/ports/tl-expected/portfile.cmake new file mode 100644 index 000000000..95a4861c2 --- /dev/null +++ b/ports/tl-expected/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO TartanLlama/expected + REF v0.3 + SHA512 a228399f7103020ed814f1c755b82cf831b3d8c6aaa23dbc3aedc226b3cbd39c22075952dda3af84c8cf6f74ab1131c6997a2431ee62314bd82ccafdc9ab23a3 + HEAD_REF master +) + +# Install header file +file(INSTALL ${SOURCE_PATH}/tl DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-expected RENAME copyright) From 37b17780533da7a3e369bda90e044aed714f7033 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Thu, 4 Oct 2018 02:27:53 +0200 Subject: [PATCH 060/129] Add toolsrc build dir to gitignore (#4394) This directory gets generated by `bootstrap-vcpkg.sh` on Linux, but should not be in version control. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c223e6fcf..bc83e2959 100644 --- a/.gitignore +++ b/.gitignore @@ -283,6 +283,7 @@ __pycache__/ /installed*/ /packages/ /scripts/buildsystems/tmp/ +/toolsrc/build.rel/ #ignore custom triplets /triplets/* #add vcpkg-designed triplets back in From dabfd4e0227355229eb1355b866e16d325c0cde7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=A4=E3=82=80=E3=81=8E=E3=82=93?= Date: Thu, 4 Oct 2018 13:32:36 +0900 Subject: [PATCH 061/129] [tinyutf8] Initial port for tinyutf8. (#4388) * Add tinyutf8 port. * [tinyutf8] Use vcpkg_from_github(). Simplify patch. --- ports/tinyutf8/CONTROL | 3 +++ ports/tinyutf8/fixbuild.patch | 29 +++++++++++++++++++++++++++++ ports/tinyutf8/portfile.cmake | 29 +++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 ports/tinyutf8/CONTROL create mode 100644 ports/tinyutf8/fixbuild.patch create mode 100644 ports/tinyutf8/portfile.cmake diff --git a/ports/tinyutf8/CONTROL b/ports/tinyutf8/CONTROL new file mode 100644 index 000000000..e67cee3fc --- /dev/null +++ b/ports/tinyutf8/CONTROL @@ -0,0 +1,3 @@ +Source: tinyutf8 +Version: 2.1.1-1 +Description: TINYUTF8 is a library for extremely easy integration of Unicode into an arbitrary C++11 project. diff --git a/ports/tinyutf8/fixbuild.patch b/ports/tinyutf8/fixbuild.patch new file mode 100644 index 000000000..c1798ada1 --- /dev/null +++ b/ports/tinyutf8/fixbuild.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4ec8787..cfea5b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,7 @@ + cmake_minimum_required(VERSION 3.1) + project(tinyutf8) + +-set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD 17) + + option(TINYUTF8_BUILD_STATIC "Build as static library" On) + +@@ -14,3 +14,14 @@ endif() + add_library(tinyutf8 ${LIB_BUILD_TYPE} lib/tinyutf8.cpp) + + target_include_directories(tinyutf8 PUBLIC include) ++ ++if(MSVC) ++ ADD_DEFINITIONS(-D_UNICODE) ++endif() ++ ++install(TARGETS tinyutf8 ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib) ++ ++install(FILES include/tinyutf8.h DESTINATION include) +\ No newline at end of file diff --git a/ports/tinyutf8/portfile.cmake b/ports/tinyutf8/portfile.cmake new file mode 100644 index 000000000..c768260c9 --- /dev/null +++ b/ports/tinyutf8/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DuffsDevice/tinyutf8 + REF v2.1.1 + SHA512 0be9cebe1ac962c89e0620586d4f8d4f3059b52394e13506f19723855d146c35e6a1205ae5430a53ba95a89c60216054bfad9c4e8e8f1ec047f4096585de2efc + HEAD_REF master + PATCHES fixbuild.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" TINYUTF8_BUILD_STATIC) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DTINYUTF8_BUILD_STATIC=${TINYUTF8_BUILD_STATIC} +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENCE ${CURRENT_PACKAGES_DIR}/share/tinyutf8/copyright COPYONLY) + +# remove unneeded files +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) From 0fe2068a564080e5470ffe00c455592e625a0fd1 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Wed, 3 Oct 2018 22:54:39 -0700 Subject: [PATCH 062/129] [libflac] Apply patch for flac_max and flac_min --- ports/libflac/CONTROL | 2 +- ports/libflac/portfile.cmake | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/ports/libflac/CONTROL b/ports/libflac/CONTROL index 1a16c7a6a..afdb70cbe 100644 --- a/ports/libflac/CONTROL +++ b/ports/libflac/CONTROL @@ -1,4 +1,4 @@ Source: libflac -Version: 1.3.2-5 +Version: 1.3.2-6 Description: Library for manipulating FLAC files Build-Depends: libogg diff --git a/ports/libflac/portfile.cmake b/ports/libflac/portfile.cmake index 236f51c8e..894107447 100644 --- a/ports/libflac/portfile.cmake +++ b/ports/libflac/portfile.cmake @@ -1,17 +1,20 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/flac-1.3.2) -vcpkg_download_distfile(ARCHIVE - URLS "http://downloads.xiph.org/releases/flac/flac-1.3.2.tar.xz" - FILENAME "flac-1.3.2.tar.xz" - SHA512 63910e8ebbe508316d446ffc9eb6d02efbd5f47d29d2ea7864da9371843c8e671854db6e89ba043fe08aef1845b8ece70db80f1cce853f591ca30d56ef7c3a15) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_download_distfile(FLAC_MAX_MIN_PATCH + URLS "https://github.com/xiph/flac/commit/64f47c2d71ffba5aa8cd1d2a447339fd95f362f9.patch" + FILENAME "flac-max-min.patch" + SHA512 7ce9ccf9f081b478664cccd677c10269567672a8aa3a60839ef203b3d0a626d2b2c2f34d4c7fc897c31a436d7c22fb740bca5449a465dab39d60655417fe7772) -vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/flac-1.3.2 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xiph/flac + REF 1.3.2 + SHA512 d0e177cadee371940516864bf72e1eb3d101a5f2779c854ecb8a3361a654a9b9e7efd303c83e2f308bacc7e54298d37705f677e2b955d4a9fe3470c364fa45f3 + HEAD_REF master PATCHES - "${CMAKE_CURRENT_LIST_DIR}/uwp-library-console.patch" - "${CMAKE_CURRENT_LIST_DIR}/uwp-createfile2.patch" + "${FLAC_MAX_MIN_PATCH}" + "${CMAKE_CURRENT_LIST_DIR}/uwp-library-console.patch" + "${CMAKE_CURRENT_LIST_DIR}/uwp-createfile2.patch" ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) From 008c5d8668b9a0b42dee249057bac223a3e3f896 Mon Sep 17 00:00:00 2001 From: hlysunnaram Date: Thu, 4 Oct 2018 08:09:42 +0200 Subject: [PATCH 063/129] Handle VCPKG_BUILD_TYPE (#4287) * [curl] fix build failure when VCPKG_BUILD_TYPE is set * [libmysql] fix build failure when VCPKG_BUILD_TYPE is set * [openssl-windows] use VCPKG_BUILD_TYPE to build release or debug only * [icu] use VCPKG_BUILD_TYPE to build release or debug only * [gdal] use VCPKG_BUILD_TYPE to build release or debug only * bump versions of curl, gdal, icu, libmysql and openssl-windows --- ports/curl/CONTROL | 2 +- ports/curl/portfile.cmake | 2 + ports/gdal/CONTROL | 2 +- ports/gdal/portfile.cmake | 66 +++++++---- ports/icu/CONTROL | 2 +- ports/icu/portfile.cmake | 165 +++++++++++++++------------ ports/libmysql/CONTROL | 2 +- ports/libmysql/portfile.cmake | 19 +-- ports/openssl-windows/CONTROL | 2 +- ports/openssl-windows/portfile.cmake | 120 +++++++++---------- 10 files changed, 214 insertions(+), 168 deletions(-) diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 35e978146..95040eba1 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,5 +1,5 @@ Source: curl -Version: 7.61.1 +Version: 7.61.1-1 Build-Depends: zlib Description: A library for transferring data with URLs Default-Features: ssl diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index c3bc0fc2e..0b156c4d0 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -114,6 +114,8 @@ else() file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/curl-config ${CURRENT_PACKAGES_DIR}/debug/bin/curl-config) if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/libcurl_imp.lib") file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libcurl_imp.lib ${CURRENT_PACKAGES_DIR}/lib/libcurl.lib) + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d_imp.lib") file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d_imp.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl.lib) endif() endif() diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL index be75e6693..7db6156aa 100644 --- a/ports/gdal/CONTROL +++ b/ports/gdal/CONTROL @@ -1,4 +1,4 @@ Source: gdal -Version: 2.3.0-1 +Version: 2.3.0-2 Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data. Build-Depends: proj, libpng, geos, sqlite3, curl, expat, libpq, libmysql, openjpeg, libwebp, libxml2, liblzma diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 70eea8583..ddeccfc37 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -179,29 +179,34 @@ set(NMAKE_OPTIONS_DBG LIBXML2_LIB=${XML2_LIBRARY_DBG} DEBUG=1 ) -################ -# Release build -################ -message(STATUS "Building ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + ################ + # Release build + ################ + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( COMMAND ${NMAKE} -f makefile.vc "${NMAKE_OPTIONS_REL}" WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} LOGNAME nmake-build-${TARGET_TRIPLET}-release -) -message(STATUS "Building ${TARGET_TRIPLET}-rel done") + ) + message(STATUS "Building ${TARGET_TRIPLET}-rel done") +endif() -################ -# Debug build -################ -message(STATUS "Building ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${NMAKE} /G -f makefile.vc - "${NMAKE_OPTIONS_DBG}" - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME nmake-build-${TARGET_TRIPLET}-debug -) -message(STATUS "Building ${TARGET_TRIPLET}-dbg done") +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + ################ + # Debug build + ################ + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${NMAKE} /G -f makefile.vc + "${NMAKE_OPTIONS_DBG}" + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME nmake-build-${TARGET_TRIPLET}-debug + ) + message(STATUS "Building ${TARGET_TRIPLET}-dbg done") +endif() message(STATUS "Packaging ${TARGET_TRIPLET}") file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/gdal/html) @@ -218,16 +223,27 @@ vcpkg_execute_required_process( if (VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib) - file(COPY ${SOURCE_PATH_DEBUG}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY ${SOURCE_PATH_RELEASE}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(COPY ${SOURCE_PATH_RELEASE}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(COPY ${SOURCE_PATH_DEBUG}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) + endif() else() file(GLOB EXE_FILES ${CURRENT_PACKAGES_DIR}/bin/*.exe) file(REMOVE ${EXE_FILES} ${CURRENT_PACKAGES_DIR}/lib/gdal.lib) - file(COPY ${SOURCE_PATH_DEBUG}/gdal${GDAL_VERSION_LIB}.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(COPY ${SOURCE_PATH_DEBUG}/gdal_i.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/lib/gdal.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/lib/gdal.lib) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(COPY ${SOURCE_PATH_DEBUG}/gdal${GDAL_VERSION_LIB}.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(COPY ${SOURCE_PATH_DEBUG}/gdal_i.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) + endif() endif() # Copy over PDBs diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL index 602e4341a..0cb924a2a 100644 --- a/ports/icu/CONTROL +++ b/ports/icu/CONTROL @@ -1,3 +1,3 @@ Source: icu -Version: 61.1-3 +Version: 61.1-4 Description: Mature and widely used Unicode and localization library. diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake index 9e3d9c48b..2061111e9 100644 --- a/ports/icu/portfile.cmake +++ b/ports/icu/portfile.cmake @@ -34,36 +34,38 @@ set(CONFIGURE_OPTIONS_RELASE "--disable-debug --enable-release --prefix=${CURREN set(CONFIGURE_OPTIONS_DEBUG "--enable-debug --disable-release --prefix=${CURRENT_PACKAGES_DIR}/debug") if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(BASH bash) set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -fPIC") set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + # Configure release + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + set(ENV{CFLAGS} "-O2 ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}") + set(ENV{CXXFLAGS} "-O2 ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_RELEASE}") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c + "${SOURCE_PATH}/source/runConfigureICU Linux ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_RELASE}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" + LOGNAME "configure-${TARGET_TRIPLET}-rel") + message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") + endif() - # Configure release - message(STATUS "Configuring ${TARGET_TRIPLET}-rel") - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - set(ENV{CFLAGS} "-O2 ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}") - set(ENV{CXXFLAGS} "-O2 ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_RELEASE}") - vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c - "${SOURCE_PATH}/source/runConfigureICU Linux ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_RELASE}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - LOGNAME "configure-${TARGET_TRIPLET}-rel") - message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") - - # Configure debug - message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - set(ENV{CFLAGS} "-O0 -g ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}") - set(ENV{CXXFLAGS} "-O0 -g ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_DEBUG}") - vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c - "${SOURCE_PATH}/source/runConfigureICU Linux ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_DEBUG}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" - LOGNAME "configure-${TARGET_TRIPLET}-dbg") - message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + # Configure debug + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + set(ENV{CFLAGS} "-O0 -g ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}") + set(ENV{CXXFLAGS} "-O0 -g ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_DEBUG}") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c + "${SOURCE_PATH}/source/runConfigureICU Linux ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_DEBUG}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" + LOGNAME "configure-${TARGET_TRIPLET}-dbg") + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") + endif() else() @@ -87,55 +89,62 @@ else() set(ICU_RUNTIME "-MD") endif() - # Configure release - message(STATUS "Configuring ${TARGET_TRIPLET}-rel") - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - set(ENV{CFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}") - set(ENV{CXXFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_RELEASE}") - set(ENV{LDFLAGS} "-DEBUG -INCREMENTAL:NO -OPT:REF -OPT:ICF") - vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c - "${SOURCE_PATH}/source/runConfigureICU MSYS/MSVC ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_RELASE}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - LOGNAME "configure-${TARGET_TRIPLET}-rel") - message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") - - # Configure debug - message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - set(ENV{CFLAGS} "${ICU_RUNTIME}d -Od -Zi -RTC1 ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}") - set(ENV{CXXFLAGS} "${ICU_RUNTIME}d -Od -Zi -RTC1 ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_DEBUG}") - set(ENV{LDFLAGS} "-DEBUG") - vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c - "${SOURCE_PATH}/source/runConfigureICU MSYS/MSVC ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_DEBUG}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" - LOGNAME "configure-${TARGET_TRIPLET}-dbg") - message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + # Configure release + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + set(ENV{CFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}") + set(ENV{CXXFLAGS} "${ICU_RUNTIME} -O2 -Oi -Zi ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_RELEASE}") + set(ENV{LDFLAGS} "-DEBUG -INCREMENTAL:NO -OPT:REF -OPT:ICF") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c + "${SOURCE_PATH}/source/runConfigureICU MSYS/MSVC ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_RELASE}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" + LOGNAME "configure-${TARGET_TRIPLET}-rel") + message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + # Configure debug + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + set(ENV{CFLAGS} "${ICU_RUNTIME}d -Od -Zi -RTC1 ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}") + set(ENV{CXXFLAGS} "${ICU_RUNTIME}d -Od -Zi -RTC1 ${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_DEBUG}") + set(ENV{LDFLAGS} "-DEBUG") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c + "${SOURCE_PATH}/source/runConfigureICU MSYS/MSVC ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_DEBUG}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" + LOGNAME "configure-${TARGET_TRIPLET}-dbg") + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") + endif() endif() unset(ENV{CFLAGS}) unset(ENV{CXXFLAGS}) unset(ENV{LDFLAGS}) -# Build release -message(STATUS "Package ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c "make && make install" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - LOGNAME "build-${TARGET_TRIPLET}-rel") -message(STATUS "Package ${TARGET_TRIPLET}-rel done") +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + # Build release + message(STATUS "Package ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c "make && make install" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" + LOGNAME "build-${TARGET_TRIPLET}-rel") + message(STATUS "Package ${TARGET_TRIPLET}-rel done") +endif() -# Build debug -message(STATUS "Package ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c "make && make install" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" - LOGNAME "build-${TARGET_TRIPLET}-dbg") -message(STATUS "Package ${TARGET_TRIPLET}-dbg done") +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + # Build debug + message(STATUS "Package ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c "make && make install" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" + LOGNAME "build-${TARGET_TRIPLET}-dbg") + message(STATUS "Package ${TARGET_TRIPLET}-dbg done") +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin @@ -155,17 +164,27 @@ file(REMOVE ${TEST_LIBS}) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") # copy icu dlls from lib to bin - file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/lib/icu*${ICU_VERSION_MAJOR}.dll) - file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/icu*d${ICU_VERSION_MAJOR}.dll) - file(COPY ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(COPY ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/lib/icu*${ICU_VERSION_MAJOR}.dll) + file(COPY ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/lib/icu*d${ICU_VERSION_MAJOR}.dll) + file(COPY ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() else() if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # rename static libraries to match import libs # see https://gitlab.kitware.com/cmake/cmake/issues/16617 foreach(MODULE dt in io tu uc) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/sicu${MODULE}.lib ${CURRENT_PACKAGES_DIR}/lib/icu${MODULE}.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/sicu${MODULE}d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/icu${MODULE}d.lib) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/sicu${MODULE}.lib ${CURRENT_PACKAGES_DIR}/lib/icu${MODULE}.lib) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/sicu${MODULE}d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/icu${MODULE}d.lib) + endif() endforeach() endif() diff --git a/ports/libmysql/CONTROL b/ports/libmysql/CONTROL index 6f856c607..007718af7 100644 --- a/ports/libmysql/CONTROL +++ b/ports/libmysql/CONTROL @@ -1,4 +1,4 @@ Source: libmysql -Version: 8.0.4-2 +Version: 8.0.4-3 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. diff --git a/ports/libmysql/portfile.cmake b/ports/libmysql/portfile.cmake index 0e7b69edf..dfd38c41c 100644 --- a/ports/libmysql/portfile.cmake +++ b/ports/libmysql/portfile.cmake @@ -100,13 +100,18 @@ else() ${CURRENT_PACKAGES_DIR}/lib/mysqlclient.lib ${CURRENT_PACKAGES_DIR}/debug/lib/mysqlclient.lib) - # correct the dll directory - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file (RENAME ${CURRENT_PACKAGES_DIR}/lib/libmysql.dll ${CURRENT_PACKAGES_DIR}/bin/libmysql.dll) - file (RENAME ${CURRENT_PACKAGES_DIR}/lib/libmysql.pdb ${CURRENT_PACKAGES_DIR}/bin/libmysql.pdb) - file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.dll ${CURRENT_PACKAGES_DIR}/debug/bin/libmysql.dll) - file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/libmysql.pdb) + # correct the dll directory + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file (RENAME ${CURRENT_PACKAGES_DIR}/lib/libmysql.dll ${CURRENT_PACKAGES_DIR}/bin/libmysql.dll) + file (RENAME ${CURRENT_PACKAGES_DIR}/lib/libmysql.pdb ${CURRENT_PACKAGES_DIR}/bin/libmysql.pdb) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.dll ${CURRENT_PACKAGES_DIR}/debug/bin/libmysql.dll) + file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmysql.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/libmysql.pdb) + endif() endif() file(READ ${CURRENT_PACKAGES_DIR}/include/mysql/mysql_com.h _contents) diff --git a/ports/openssl-windows/CONTROL b/ports/openssl-windows/CONTROL index f2e196982..881c311d0 100644 --- a/ports/openssl-windows/CONTROL +++ b/ports/openssl-windows/CONTROL @@ -1,3 +1,3 @@ Source: openssl-windows -Version: 1.0.2p +Version: 1.0.2p-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 b57d38996..d58d51431 100644 --- a/ports/openssl-windows/portfile.cmake +++ b/ports/openssl-windows/portfile.cmake @@ -57,72 +57,76 @@ endif() file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) -file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) -set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/openssl-${OPENSSL_VERSION}) -set(OPENSSLDIR_RELEASE ${CURRENT_PACKAGES_DIR}) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/openssl-${OPENSSL_VERSION}) + set(OPENSSLDIR_RELEASE ${CURRENT_PACKAGES_DIR}) -message(STATUS "Configure ${TARGET_TRIPLET}-rel") -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 -) -vcpkg_execute_required_process( - COMMAND ${OPENSSL_DO} - WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel -) -message(STATUS "Configure ${TARGET_TRIPLET}-rel done") + message(STATUS "Configure ${TARGET_TRIPLET}-rel") + 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 + ) + vcpkg_execute_required_process( + COMMAND ${OPENSSL_DO} + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-rel + ) + message(STATUS "Configure ${TARGET_TRIPLET}-rel done") -message(STATUS "Build ${TARGET_TRIPLET}-rel") -# Openssl's buildsystem has a race condition which will cause JOM to fail at some point. -# This is ok; we just do as much work as we can in parallel first, then follow up with a single-threaded build. -make_directory(${SOURCE_PATH_RELEASE}/inc32/openssl) -execute_process( - COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE} - WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-out.log - ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-err.log -) -vcpkg_execute_required_process( - COMMAND nmake -f ${OPENSSL_MAKEFILE} install - WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME build-${TARGET_TRIPLET}-rel-1) + message(STATUS "Build ${TARGET_TRIPLET}-rel") + # Openssl's buildsystem has a race condition which will cause JOM to fail at some point. + # This is ok; we just do as much work as we can in parallel first, then follow up with a single-threaded build. + make_directory(${SOURCE_PATH_RELEASE}/inc32/openssl) + execute_process( + COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE} + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-out.log + ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-err.log + ) + vcpkg_execute_required_process( + COMMAND nmake -f ${OPENSSL_MAKEFILE} install + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME build-${TARGET_TRIPLET}-rel-1) -message(STATUS "Build ${TARGET_TRIPLET}-rel done") + message(STATUS "Build ${TARGET_TRIPLET}-rel done") +endif() -message(STATUS "Configure ${TARGET_TRIPLET}-dbg") -file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) -set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/openssl-${OPENSSL_VERSION}) -set(OPENSSLDIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + message(STATUS "Configure ${TARGET_TRIPLET}-dbg") + file(COPY ${MASTER_COPY_SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/openssl-${OPENSSL_VERSION}) + set(OPENSSLDIR_DEBUG ${CURRENT_PACKAGES_DIR}/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 -) -vcpkg_execute_required_process( - COMMAND ${OPENSSL_DO} - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg -) -message(STATUS "Configure ${TARGET_TRIPLET}-dbg done") + 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 + ) + vcpkg_execute_required_process( + COMMAND ${OPENSSL_DO} + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME configure-do-${TARGET_TRIPLET}-${CMAKE_BUILD_TYPE}-dbg + ) + message(STATUS "Configure ${TARGET_TRIPLET}-dbg done") -message(STATUS "Build ${TARGET_TRIPLET}-dbg") -make_directory(${SOURCE_PATH_DEBUG}/inc32/openssl) -execute_process( - COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE} - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-out.log - ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-err.log -) -vcpkg_execute_required_process( - COMMAND nmake -f ${OPENSSL_MAKEFILE} install - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME build-${TARGET_TRIPLET}-dbg-1) + message(STATUS "Build ${TARGET_TRIPLET}-dbg") + make_directory(${SOURCE_PATH_DEBUG}/inc32/openssl) + execute_process( + COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE} + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-out.log + ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-err.log + ) + vcpkg_execute_required_process( + COMMAND nmake -f ${OPENSSL_MAKEFILE} install + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME build-${TARGET_TRIPLET}-dbg-1) -message(STATUS "Build ${TARGET_TRIPLET}-dbg done") + message(STATUS "Build ${TARGET_TRIPLET}-dbg done") +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) From e8e8c1499858db0bb0a450e86a0f7ace788d3788 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Thu, 4 Oct 2018 14:33:54 -0700 Subject: [PATCH 064/129] `vcpkg edit` now checks the default user-installer location for VSCode --- toolsrc/src/vcpkg/commands.edit.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/toolsrc/src/vcpkg/commands.edit.cpp b/toolsrc/src/vcpkg/commands.edit.cpp index 2569c2cea..0b1b348c2 100644 --- a/toolsrc/src/vcpkg/commands.edit.cpp +++ b/toolsrc/src/vcpkg/commands.edit.cpp @@ -92,8 +92,8 @@ namespace vcpkg::Commands::Edit void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths) { - static const fs::path VS_CODE_INSIDERS = fs::path{"Microsoft VS Code Insiders"} / "Code - Insiders.exe"; - static const fs::path VS_CODE = fs::path{"Microsoft VS Code"} / "Code.exe"; + static const fs::path VS_CODE_INSIDERS = fs::path {"Microsoft VS Code Insiders"} / "Code - Insiders.exe"; + static const fs::path VS_CODE = fs::path {"Microsoft VS Code"} / "Code.exe"; auto& fs = paths.get_filesystem(); @@ -128,6 +128,14 @@ namespace vcpkg::Commands::Edit candidate_paths.push_back(*pf / VS_CODE); } + const auto& app_data = System::get_environment_variable("APPDATA"); + if (const auto* ad = app_data.get()) + { + const fs::path default_base = fs::path {*ad}.parent_path() / "Local" / "Programs"; + candidate_paths.push_back(default_base / VS_CODE_INSIDERS); + candidate_paths.push_back(default_base / VS_CODE); + } + const std::vector from_registry = find_from_registry(); candidate_paths.insert(candidate_paths.end(), from_registry.cbegin(), from_registry.cend()); From e8371c179d1e138b4c79b24fce7b3fce154cf031 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Thu, 4 Oct 2018 16:39:57 -0700 Subject: [PATCH 065/129] [bootstrap.ps1] Prefer 64bit toolset --- scripts/bootstrap.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index 5554ddc1e..7ebbb2930 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -349,6 +349,7 @@ $arguments = ( "/p:Platform=$platform", "/p:PlatformToolset=$platformToolset", "/p:TargetPlatformVersion=$windowsSDK", +"/p:PreferredToolArchitecture=x64", "/verbosity:minimal", "/m", "/nologo", From 7bc26c173ba2eab94f88dae2a42513dc8c9824b6 Mon Sep 17 00:00:00 2001 From: Cyan/Jos Date: Fri, 5 Oct 2018 12:41:22 +0800 Subject: [PATCH 066/129] only "optional:" is in italics rather than "optional: CMake 3.10.2" --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 054db327d..23cb4e5f4 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Prerequisites: - Windows 10, 8.1, 7, Linux, or MacOS - Visual Studio 2017 or Visual Studio 2015 Update 3 (on Windows) - Git -- *Optional: CMake 3.10.2* +- *Optional:* CMake 3.10.2 To get started: ``` From 9122643930108772ef7f3ca12536330bd0316074 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Fri, 5 Oct 2018 16:01:47 -0700 Subject: [PATCH 067/129] [apr] Update to 1.6.5 --- ports/apr/CONTROL | 2 +- ports/apr/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/apr/CONTROL b/ports/apr/CONTROL index 1f771a0ed..b4ea1f213 100644 --- a/ports/apr/CONTROL +++ b/ports/apr/CONTROL @@ -1,3 +1,3 @@ Source: apr -Version: 1.6.3 +Version: 1.6.5 Description: The Apache Portable Runtime (APR) is a C library that forms a system portability layer that covers many operating systems. diff --git a/ports/apr/portfile.cmake b/ports/apr/portfile.cmake index 22bd260c8..40ced3049 100644 --- a/ports/apr/portfile.cmake +++ b/ports/apr/portfile.cmake @@ -4,13 +4,13 @@ endif() include(vcpkg_common_functions) -set(VERSION 1.6.3) +set(VERSION 1.6.5) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/apr-${VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://www.apache.org/dist/apr/apr-${VERSION}.tar.bz2" FILENAME "apr-${VERSION}.tar.bz2" - SHA512 f6b8679ae7fafff793c825c78775c84a646267c441710a50664589850e13148719b4eab48ab6e7c95b7aed085cff831115687434a7b160dcc2faa0eae63ac996 + SHA512 d3511e320457b5531f565813e626e7941f6b82864852db6aa03dd298a65dbccdcdc4bd580f5314f8be45d268388edab25efe88cf8340b7d2897a4dbe9d0a41fc ) vcpkg_extract_source_archive(${ARCHIVE}) From 790cf8d31d06303cb549fca8be4bfbfe0ab6155b Mon Sep 17 00:00:00 2001 From: Mark Ian Holland Date: Tue, 9 Oct 2018 04:18:55 +0100 Subject: [PATCH 068/129] [nlohmann-json] Update to 3.3.0 (#4412) --- ports/nlohmann-json/CONTROL | 2 +- ports/nlohmann-json/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/nlohmann-json/CONTROL b/ports/nlohmann-json/CONTROL index f6dc15495..8ee107a92 100644 --- a/ports/nlohmann-json/CONTROL +++ b/ports/nlohmann-json/CONTROL @@ -1,3 +1,3 @@ Source: nlohmann-json -Version: 3.2.0 +Version: 3.3.0 Description: JSON for Modern C++ diff --git a/ports/nlohmann-json/portfile.cmake b/ports/nlohmann-json/portfile.cmake index 9abe4152d..5cee9565e 100644 --- a/ports/nlohmann-json/portfile.cmake +++ b/ports/nlohmann-json/portfile.cmake @@ -1,11 +1,11 @@ include(vcpkg_common_functions) -set(SOURCE_VERSION 3.2.0) +set(SOURCE_VERSION 3.3.0) vcpkg_download_distfile(HEADER URLS "https://github.com/nlohmann/json/releases/download/v${SOURCE_VERSION}/json.hpp" FILENAME "nlohmann-json-${SOURCE_VERSION}.hpp" - SHA512 c9090ccb5b00812d69e9fde44826b7168ba4a68d254440f3b4ac9354899785871a9d2806aac5cdba84359035a55ac19ec024c36a32a893eee1c7740536dd0eca + SHA512 c4e4bb84d1488f87a02c4e12409491225e345cc508e6dbbee1a3542fbd4953052c256d0fe78c4d3ce02d44c3a2155fe66f0c8a93a3851ddf94fec4f9f3fd6918 ) vcpkg_download_distfile(LICENSE From b0137ff28858932ae02f85e21f2d3651dd253187 Mon Sep 17 00:00:00 2001 From: Oleg Shparber Date: Mon, 8 Oct 2018 23:30:12 -0400 Subject: [PATCH 069/129] [libarchive] Update to version 3.3.3, add feature support (#4407) * [libarchive] Update to version 3.3.3, add feature support * [libarchive] Mark features as default to mimic previous behavior. To not install them, use `libarchive[core]`. --- ports/libarchive/CONTROL | 29 ++++++++++++++++++++-- ports/libarchive/portfile.cmake | 43 ++++++++++++++++++++++++++++++--- 2 files changed, 67 insertions(+), 5 deletions(-) diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL index dfcfa66b3..af3d528b8 100644 --- a/ports/libarchive/CONTROL +++ b/ports/libarchive/CONTROL @@ -1,4 +1,29 @@ Source: libarchive -Version: 3.3.2-2 +Version: 3.3.3-2 Description: Library for reading and writing streaming archives -Build-Depends: zlib, bzip2, libxml2, lz4, liblzma, openssl +Build-Depends: zlib +Default-Features: bzip2, libxml2, lz4, lzma, lzo, openssl + +Feature: bzip2 +Build-Depends: bzip2 +Description: BZip2 support + +Feature: libxml2 +Build-Depends: libxml2 +Description: Libxml2 support + +Feature: lz4 +Build-Depends: lz4 +Description: LZ4 support + +Feature: lzma +Build-Depends: liblzma +Description: LZMA support + +Feature: lzo +Build-Depends: lzo +Description: LZO support + +Feature: openssl +Build-Depends: openssl +Description: OpenSSL support diff --git a/ports/libarchive/portfile.cmake b/ports/libarchive/portfile.cmake index 1e36af1bb..a2a35ad65 100644 --- a/ports/libarchive/portfile.cmake +++ b/ports/libarchive/portfile.cmake @@ -7,8 +7,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libarchive/libarchive - REF v3.3.2 - SHA512 7bc17d6f742080278e35f86b0233d70045df0ca1578cd427126e0acce183709bf33ecca689db65e2e67bdfaf687c04d36cae1202a926beeebc88076648aa40bc + REF v3.3.3 + SHA512 10063764b610c0c966ba0177cac0d2cb781e297a45545cc8a587741513089af26f40769670894c86e7985b73c47e9cb985253bc3bef3a12fa83fe2a6a30acb6d HEAD_REF master PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-buildsystem.patch @@ -17,11 +17,48 @@ vcpkg_from_github( ${CMAKE_CURRENT_LIST_DIR}/no-werror.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_libxml2 OFF) + +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_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DENABLE_LZO=OFF + -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} + -DENABLE_PCREPOSIX=OFF -DENABLE_NETTLE=OFF -DENABLE_EXPAT=OFF -DENABLE_LibGCC=OFF From aa7a584767bff5138623f52fb677a1ca9295541e Mon Sep 17 00:00:00 2001 From: Maxime GIMENO Date: Tue, 9 Oct 2018 05:35:15 +0200 Subject: [PATCH 070/129] [cgal] Update to 4.13. (#4390) * Update to 4.13 and minimize the qt5 dependency. * [cgal] Fix license installation for new git repo layout * [cgal] Remove vcpkg_test_cmake until x64 can be fixed --- ports/cgal/CONTROL | 4 ++-- ports/cgal/portfile.cmake | 32 ++++++++++++++++++++++++++------ 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL index 12765f391..ef39cf54e 100644 --- a/ports/cgal/CONTROL +++ b/ports/cgal/CONTROL @@ -1,8 +1,8 @@ Source: cgal -Version: 4.12 +Version: 4.13-1 Build-Depends: mpfr, mpir, zlib, boost-format, boost-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random, boost-foreach, boost-graph, boost-heap, boost-logic 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. Feature: qt -Build-Depends: qt5 +Build-Depends: qt5-base, qt5-3d, qt5-svg, qt5-xmlpatterns, qt5-script, eigen3 Description: Qt GUI support for CGAL diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake index 1d9661862..bf261f66a 100644 --- a/ports/cgal/portfile.cmake +++ b/ports/cgal/portfile.cmake @@ -3,13 +3,13 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CGAL/cgal - REF f7c3c8212b56c0d6dae63787efc99093f4383415 - SHA512 fc40483b5f0e2071c3458cbd67ee7e503f68b7f6a1bbb525b6003d1a440e662cb85c257167ce6d55a73e0cc49b27a7d2b56dcf6b5eeddc78772567fdc48ba160 + REF releases/CGAL-4.13 + SHA512 3a12d7f567487c282928a162a47737c41c22258556ca0083b9cf492fc8f0a7c334b491b14dbfd6a62e71feeeb1b4995769c13a604e0882548f21c41b996d4eaf HEAD_REF master ) set(WITH_CGAL_Qt5 OFF) -if("qt5" IN_LIST FEATURES) +if("qt" IN_LIST FEATURES) set(WITH_CGAL_Qt5 ON) endif() @@ -30,11 +30,31 @@ vcpkg_copy_pdbs() # Clean file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +else() + foreach(ROOT ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE + ${ROOT}/cgal_create_CMakeLists + ${ROOT}/cgal_create_cmake_script + ${ROOT}/cgal_make_macosx_app + ) + endforeach() +endif() file(READ ${CURRENT_PACKAGES_DIR}/share/cgal/CGALConfig.cmake _contents) string(REPLACE "CGAL_IGNORE_PRECONFIGURED_GMP" "1" _contents "${_contents}") string(REPLACE "CGAL_IGNORE_PRECONFIGURED_MPFR" "1" _contents "${_contents}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/cgal/CGALConfig.cmake "${_contents}") +file(WRITE ${CURRENT_PACKAGES_DIR}/lib/cgal/CGALConfig.cmake "${_contents}") -# Handle copyright of suitesparse and metis -file(COPY ${SOURCE_PATH}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/cgal) +file(COPY ${SOURCE_PATH}/Installation/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cgal) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/cgal/LICENSE ${CURRENT_PACKAGES_DIR}/share/cgal/copyright) + +file( + COPY + ${SOURCE_PATH}/Installation/LICENSE.BSL + ${SOURCE_PATH}/Installation/LICENSE.FREE_USE + ${SOURCE_PATH}/Installation/LICENSE.GPL + ${SOURCE_PATH}/Installation/LICENSE.LGPL + DESTINATION ${CURRENT_PACKAGES_DIR}/share/cgal +) From 3240aad3139d7fa1b85644406f37b1651a941c67 Mon Sep 17 00:00:00 2001 From: Jason Juang Date: Mon, 8 Oct 2018 20:41:25 -0700 Subject: [PATCH 071/129] [dlib] update to 19.16 (#4379) --- ports/dlib/CONTROL | 2 +- ports/dlib/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL index 4b7b820d1..4e726c662 100644 --- a/ports/dlib/CONTROL +++ b/ports/dlib/CONTROL @@ -1,5 +1,5 @@ Source: dlib -Version: 19.15 +Version: 19.16 Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas, clapack Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ diff --git a/ports/dlib/portfile.cmake b/ports/dlib/portfile.cmake index 613b5d673..f6cdf4eeb 100644 --- a/ports/dlib/portfile.cmake +++ b/ports/dlib/portfile.cmake @@ -8,8 +8,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO davisking/dlib - REF v19.15 - SHA512 e815d4cd3cf75de4bf3df25597f1b13e831129b8e780909194be05bde4c811792886e7370980edf0fe294aa1ad7a69ba9b9ca729e05713d3ee4f6aa4236baaf7 + REF v19.16 + SHA512 4e040ef88acff05e1a48e499b813c876b22ad3f989d076bdf19969d01036b62e51a0dff30b70046910ba31dfa1b1c2450a7fad41ae3142b7285ed74b8d584887 HEAD_REF master ) From c5f77be5c5815b6b4a530db24b676354e1090ae6 Mon Sep 17 00:00:00 2001 From: Jaime Soto Date: Tue, 9 Oct 2018 03:22:07 -0400 Subject: [PATCH 072/129] [yara] Remove Windows-only assumptions in CMakeLists.txt (#4431) * [yara] Remove Windows-only assumptions in CMakeLists.txt Fixes x64-linux build. Addresses GitHub vcpkg issue #4411. Defines `libyara_dependencies` and `libyara_definitions` CMake variables to simplify calls to `target_link_libraries` and `target_compile_definitions`, respectively. Replaces `USE_WINDOWS_PROC` definition with platform-specific definition (e.g., `USE_LINUX_PROC`) based on how `proc_interface` is defined in configure.ac. Currently supports only Windows, Linux, and Darwin. Replaces libyara/proc/windows.c source file with platform-specific source file from libyara/proc. Adds missing libyara/endian.c and libyara/stopwatch.c source files to `libyara_sources` variable. Addresses missing byte-swap symbols (`_yr_bswap16`, `_yr_bswap32`, and `_yr_bswap64`). Adds `find_package` call for `Threads`, setting pthread as preferred threads library in Linux. Adds `Threads::Threads` as a libyara dependency. Addresses missing thread and semaphore symbols. Adds `m` (math library) as a dependency if building with GCC to address missing `log2` symbol. * [yara] Bump control version --- ports/yara/CMakeLists.txt | 55 ++++++++++++++++++++++++++++++++------- ports/yara/CONTROL | 2 +- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/ports/yara/CMakeLists.txt b/ports/yara/CMakeLists.txt index 783d322fb..89780ce42 100644 --- a/ports/yara/CMakeLists.txt +++ b/ports/yara/CMakeLists.txt @@ -17,12 +17,28 @@ include_directories( libyara/include ) +set(PROC_PLATFORM_SOURCE "libyara/proc/none.c") +set(PROC_PLATFORM_INTERFACE "USE_NO_PROC") + +if(APPLE AND CMAKE_SYSTEM_NAME MATCHES "Darwin") + set(PROC_PLATFORM_SOURCE "libyara/proc/mach.c") + set(PROC_PLATFORM_INTERFACE "USE_MACH_PROC") +elseif(WIN32 OR MINGW OR CYGWIN) + set(PROC_PLATFORM_SOURCE "libyara/proc/windows.c") + set(PROC_PLATFORM_INTERFACE "USE_WINDOWS_PROC") +elseif(UNIX AND CMAKE_SYSTEM_NAME MATCHES "Linux") + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + set(PROC_PLATFORM_SOURCE "libyara/proc/linux.c") + set(PROC_PLATFORM_INTERFACE "USE_LINUX_PROC") +endif() + set( libyara_sources libyara/ahocorasick.c libyara/arena.c libyara/atoms.c libyara/compiler.c + libyara/endian.c libyara/exec.c libyara/exefiles.c libyara/filemap.c @@ -47,13 +63,14 @@ set( libyara/object.c libyara/parser.c libyara/proc.c - libyara/proc/windows.c + ${PROC_PLATFORM_SOURCE} libyara/re.c libyara/re_grammar.c libyara/re_lexer.c libyara/rules.c libyara/scan.c libyara/sizedstr.c + libyara/stopwatch.c libyara/stream.c libyara/strutils.c libyara/threading.c @@ -70,22 +87,40 @@ set( yarac_sources yarac.c ) -add_library(libyara ${libyara_sources}) -target_link_libraries(libyara PRIVATE OpenSSL::SSL OpenSSL::Crypto ${JANSSON_LIBRARY}) -target_compile_definitions( - libyara - PRIVATE - -DHAVE_LIBCRYPTO -DUSE_WINDOWS_PROC - -DCUCKOO_MODULE- DHASH_MODULE -DDOTNET_MODULE +find_package(Threads REQUIRED) + +set( + libyara_dependencies + OpenSSL::SSL + OpenSSL::Crypto + Threads::Threads + ${JANSSON_LIBRARY} ) +if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") + list(APPEND libyara_dependencies m) +endif() + +set( + libyara_definitions + -DHAVE_LIBCRYPTO + -D${PROC_PLATFORM_INTERFACE} + -DCUCKOO_MODULE + -DHASH_MODULE + -DDOTNET_MODULE +) + +add_library(libyara ${libyara_sources}) +target_link_libraries(libyara PRIVATE ${libyara_dependencies}) +target_compile_definitions(libyara PRIVATE ${libyara_definitions}) + add_executable(yara ${yara_sources}) add_executable(yarac ${yarac_sources}) -target_link_libraries(yarac PRIVATE libyara OpenSSL::SSL OpenSSL::Crypto ${JANSSON_LIBRARY}) -target_link_libraries(yara PRIVATE libyara OpenSSL::SSL OpenSSL::Crypto ${JANSSON_LIBRARY}) +target_link_libraries(yarac PRIVATE libyara ${libyara_dependencies}) +target_link_libraries(yara PRIVATE libyara ${libyara_dependencies}) install( TARGETS libyara diff --git a/ports/yara/CONTROL b/ports/yara/CONTROL index 8772a00c6..fb29eaad0 100644 --- a/ports/yara/CONTROL +++ b/ports/yara/CONTROL @@ -1,4 +1,4 @@ Source: yara -Version: e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9 +Version: e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9-1 Description: The pattern matching swiss knife Build-Depends: openssl, jansson From 8bb061a20cc1389b76d3c9771254f48b0c4cdf28 Mon Sep 17 00:00:00 2001 From: kjpus <35301243+kjpus@users.noreply.github.com> Date: Tue, 9 Oct 2018 03:27:45 -0400 Subject: [PATCH 073/129] Build static libgit2 with dynamic CRT on Windows (#4432) * Build static libgit2 with dynamic CRT on Windows * [vcpkg-triplets] Revert changes to built-in triplets * [libgit2] Simplify computation of STATIC_CRT --- ports/libgit2/CONTROL | 2 +- ports/libgit2/portfile.cmake | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ports/libgit2/CONTROL b/ports/libgit2/CONTROL index 9a2b518a4..f44900b72 100644 --- a/ports/libgit2/CONTROL +++ b/ports/libgit2/CONTROL @@ -1,4 +1,4 @@ Source: libgit2 -Version: 0.27.4-1 +Version: 0.27.4-2 Build-Depends: openssl (!windows&&!uwp) Description: Git linkable library diff --git a/ports/libgit2/portfile.cmake b/ports/libgit2/portfile.cmake index be3139a81..0982e5be1 100644 --- a/ports/libgit2/portfile.cmake +++ b/ports/libgit2/portfile.cmake @@ -10,13 +10,17 @@ vcpkg_from_github( REPO libgit2/libgit2 REF v0.27.4 SHA512 d27db86eb1b9f0d4057f8538ba1985ee76c3ca106e57d417fa9bff79d575f91a07ad28693112b58dc1d61d68116a82e6a145f12276158f2806b6c4964d741f61 - HEAD_REF master) + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DBUILD_CLAR=OFF + -DSTATIC_CRT=${STATIC_CRT} ) vcpkg_install_cmake() From 0e50a41922739bdede7200bc9e8103328cb3e7cc Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Tue, 9 Oct 2018 09:36:42 +0200 Subject: [PATCH 074/129] Fix build of OpenSSL on Android (#4427) When passing on CMAKE__COMPILER_TARGET and CMAKE__COMPILER_EXTERNAL_TOOLCHAIN it is important that the selection of those via CMAKE_C_COMPILE_OPTIONS_TARGET/EXTERNAL_TOOLCHAIN is done without a space inbetween. For example COMPILE_OPTIONS_TARGET is with clang a simple --target= and so the selected target must follow without a space, so that we get --target=foo-bar instead of --target= foo bar, which the compiler does not parse as intended. --- ports/openssl-unix/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/openssl-unix/CMakeLists.txt b/ports/openssl-unix/CMakeLists.txt index fd5964506..71c2646ab 100644 --- a/ports/openssl-unix/CMakeLists.txt +++ b/ports/openssl-unix/CMakeLists.txt @@ -36,10 +36,10 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") set(CFLAGS "-Wno-error=unused-command-line-argument ${CMAKE_C_FLAGS}") endif() if(CMAKE_C_COMPILER_TARGET) - set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_TARGET} ${CMAKE_C_COMPILER_TARGET}") + set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_TARGET}${CMAKE_C_COMPILER_TARGET}") endif() if(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN) - set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} ${CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN}") + set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN}") endif() if(CMAKE_SYSROOT AND CMAKE_C_COMPILE_OPTIONS_SYSROOT) set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}") From 6ca2efc631d93b2034ace02c04923b0952756757 Mon Sep 17 00:00:00 2001 From: Christophe Delacourt Date: Tue, 9 Oct 2018 09:37:32 +0200 Subject: [PATCH 075/129] spirv-cross port (#4426) * spirv-cross port * disable exceptions to assertion compilation flag * [spirv-cross] Fixup cmake targets --- ports/spirv-cross/CONTROL | 3 +++ ports/spirv-cross/portfile.cmake | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 ports/spirv-cross/CONTROL create mode 100644 ports/spirv-cross/portfile.cmake diff --git a/ports/spirv-cross/CONTROL b/ports/spirv-cross/CONTROL new file mode 100644 index 000000000..cfba267dd --- /dev/null +++ b/ports/spirv-cross/CONTROL @@ -0,0 +1,3 @@ +Source: spirv-cross +Version: 2018-08-07-1 +Description: SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages. diff --git a/ports/spirv-cross/portfile.cmake b/ports/spirv-cross/portfile.cmake new file mode 100644 index 000000000..8ed881d41 --- /dev/null +++ b/ports/spirv-cross/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/SPIRV-Cross + REF 2018-08-07 + SHA512 1ac6ee6b2864d950199d4e856ae1576f9435827501baa5d53821a973cd68aaa03ec428094bf74c570784997baac5b2e3802ddc7f02844e2ee546741fa726bf91 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DSPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS=OFF +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +foreach(COMPONENT core cpp glsl hlsl msl reflect util) + vcpkg_fixup_cmake_targets(CONFIG_PATH share/spirv_cross_${COMPONENT}/cmake TARGET_PATH share/spirv_cross_${COMPONENT}) +endforeach() + +# cleanup +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/spirv-cross/copyright COPYONLY) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) From 59f88c7b109438bf08f20d50b10f107592b14079 Mon Sep 17 00:00:00 2001 From: Kevin Hartman Date: Tue, 9 Oct 2018 03:43:02 -0400 Subject: [PATCH 076/129] [morton-nd] Add port (#4420) * [morton-nd] Add port * [morton-md] Remove 'v' from CONTROL version --- ports/morton-nd/CONTROL | 3 +++ ports/morton-nd/portfile.cmake | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 ports/morton-nd/CONTROL create mode 100644 ports/morton-nd/portfile.cmake diff --git a/ports/morton-nd/CONTROL b/ports/morton-nd/CONTROL new file mode 100644 index 000000000..40065dbee --- /dev/null +++ b/ports/morton-nd/CONTROL @@ -0,0 +1,3 @@ +Source: morton-nd +Version: 2.0.0 +Description: (C++14) header-only library for fast Morton encoding/decoding in N dimensions. diff --git a/ports/morton-nd/portfile.cmake b/ports/morton-nd/portfile.cmake new file mode 100644 index 000000000..63c8ee95f --- /dev/null +++ b/ports/morton-nd/portfile.cmake @@ -0,0 +1,16 @@ +#header-only library +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kevinhartman/morton-nd + REF v2.0.0 + SHA512 f349187a9c6094ebdc8dc10a0b028e119a82721946e2f629b3f64edade9665a97824d6a52496e470da61e5b65ae46c953346b271c2db11f5f2e3c7748de03daf + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/morton-nd) +file(COPY ${SOURCE_PATH}/NOTICE DESTINATION ${CURRENT_PACKAGES_DIR}/share/morton-nd) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/morton-nd/LICENSE ${CURRENT_PACKAGES_DIR}/share/morton-nd/copyright) + +file(GLOB HEADER_FILES ${SOURCE_PATH}/morton-nd/include/*.h) +file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/morton-nd) From 9e0a9c43474722f0d57de9ad40e699b072cf2971 Mon Sep 17 00:00:00 2001 From: Erwan BERNARD Date: Tue, 9 Oct 2018 09:44:45 +0200 Subject: [PATCH 077/129] [live555] fix linux build : invalid conversion socklen_t (#4403) --- ports/live555/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ports/live555/CMakeLists.txt b/ports/live555/CMakeLists.txt index 8be171fc2..9d126cda1 100644 --- a/ports/live555/CMakeLists.txt +++ b/ports/live555/CMakeLists.txt @@ -8,6 +8,10 @@ include_directories( UsageEnvironment/include ) +if (NOT MSVC) + add_compile_options(-DSOCKLEN_T=socklen_t) +endif() + file(GLOB BASIC_USAGE_ENVIRONMENT_SRCS BasicUsageEnvironment/*.c BasicUsageEnvironment/*.cpp) add_library(BasicUsageEnvironment ${BASIC_USAGE_ENVIRONMENT_SRCS}) From 93be327ca2230958b8d9f738dcddd8dd70276cf0 Mon Sep 17 00:00:00 2001 From: kiwixz Date: Tue, 9 Oct 2018 09:20:29 +0100 Subject: [PATCH 078/129] [tinyfiledialogs] initial release (#4416) * tinyfiledialogs * [tinyfiledialogs] Download loose files instead of tarball --- ports/tinyfiledialogs/CMakeLists.txt | 11 +++++++++ ports/tinyfiledialogs/CONTROL | 3 +++ ports/tinyfiledialogs/portfile.cmake | 37 ++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 ports/tinyfiledialogs/CMakeLists.txt create mode 100644 ports/tinyfiledialogs/CONTROL create mode 100644 ports/tinyfiledialogs/portfile.cmake diff --git a/ports/tinyfiledialogs/CMakeLists.txt b/ports/tinyfiledialogs/CMakeLists.txt new file mode 100644 index 000000000..4adabaf9a --- /dev/null +++ b/ports/tinyfiledialogs/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.4) +project(tinyfiledialogs C) + +add_library(tinyfiledialogs tinyfiledialogs.c) + +install( + TARGETS tinyfiledialogs + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) diff --git a/ports/tinyfiledialogs/CONTROL b/ports/tinyfiledialogs/CONTROL new file mode 100644 index 000000000..bb3a2ff33 --- /dev/null +++ b/ports/tinyfiledialogs/CONTROL @@ -0,0 +1,3 @@ +Source: tinyfiledialogs +Version: 3.3.7-1 +Description: Highly portable and cross-platform dialogs for native inputbox, passwordbox, colorpicker and more diff --git a/ports/tinyfiledialogs/portfile.cmake b/ports/tinyfiledialogs/portfile.cmake new file mode 100644 index 000000000..66f1735a8 --- /dev/null +++ b/ports/tinyfiledialogs/portfile.cmake @@ -0,0 +1,37 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +set(SHA 03d35a86696859128d41f8b967c1ef3e39c980ce) + +vcpkg_download_distfile(HEADERFILE + URLS "https://sourceforge.net/p/tinyfiledialogs/code/ci/${SHA}/tree/tinyfiledialogs.h?format=raw" + FILENAME "tinyfiledialogs-h-${SHA}" + SHA512 e3503165bcbb665c2f09c19591f28eba63e50b8d20fd4e65f31ec6a33742879c007aa7402cfd429ff92a2847534f0f0cc1b979954372be0c6578d49ed5f3e18d +) +vcpkg_download_distfile(SOURCEFILE + URLS "https://sourceforge.net/p/tinyfiledialogs/code/ci/${SHA}/tree/tinyfiledialogs.c?format=raw" + FILENAME "tinyfiledialogs-c-${SHA}" + SHA512 263a9fcd11af3dcfd3cd7b6cfaad216cfdd94925639e613d43e7a2dbae2b4387fe8182cd72401e19b2891a08809bc68caece341df28e91b5894cc4b9ecd157f4 +) + +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SHA}) + +configure_file(${HEADERFILE} ${SOURCE_PATH}/tinyfiledialogs.h COPYONLY) +configure_file(${SOURCEFILE} ${SOURCE_PATH}/tinyfiledialogs.c COPYONLY) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +configure_file(${HEADERFILE} ${CURRENT_PACKAGES_DIR}/include/tinyfiledialogs.h COPYONLY) + +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/tinyfiledialogs) +file(READ ${HEADERFILE} _contents) +string(SUBSTRING "${_contents}" 0 1024 _contents) +file(WRITE ${CURRENT_PACKAGES_DIR}/share/tinyfiledialogs/copyright "${_contents}") From 77fbb32e9e526f40f0d425d5faa0ffaa04aedda9 Mon Sep 17 00:00:00 2001 From: Maxime GIMENO Date: Tue, 9 Oct 2018 13:51:07 +0200 Subject: [PATCH 079/129] Add qt5-script package (#4389) --- ports/qt5-script/CONTROL | 3 +++ ports/qt5-script/portfile.cmake | 5 +++++ 2 files changed, 8 insertions(+) create mode 100755 ports/qt5-script/CONTROL create mode 100755 ports/qt5-script/portfile.cmake diff --git a/ports/qt5-script/CONTROL b/ports/qt5-script/CONTROL new file mode 100755 index 000000000..adcc055c8 --- /dev/null +++ b/ports/qt5-script/CONTROL @@ -0,0 +1,3 @@ +Source: qt5-script +Version: 5.9.2 +Description:Qt5 Script Module. diff --git a/ports/qt5-script/portfile.cmake b/ports/qt5-script/portfile.cmake new file mode 100755 index 000000000..9e6f5f338 --- /dev/null +++ b/ports/qt5-script/portfile.cmake @@ -0,0 +1,5 @@ + +include(vcpkg_common_functions) +include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) + +qt_modular_library(qtscript 3ce2e57a0a6b2382614f689edca0deed87afe944c1c41decb3b9f420449fa59f2b79e6330e78e01a950761a95903113eaa7fbf261886361114acf5015d93254c) From 33aa4b4c71f152e09937cb29acd76b81aee1c33b Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Tue, 9 Oct 2018 14:05:08 +0200 Subject: [PATCH 080/129] Fix harfbuzz targets (#4345) Since commit 6a97d0f3d377a35ea691d15ac142ce043f953e71 upstream, the target is in the harfbuzz:: namespace. --- ports/harfbuzz/0001-fix-cmake-export.patch | 6 +++--- ports/harfbuzz/CONTROL | 2 +- ports/harfbuzz/portfile.cmake | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ports/harfbuzz/0001-fix-cmake-export.patch b/ports/harfbuzz/0001-fix-cmake-export.patch index 0efecec2d..a5abffa41 100644 --- a/ports/harfbuzz/0001-fix-cmake-export.patch +++ b/ports/harfbuzz/0001-fix-cmake-export.patch @@ -13,9 +13,9 @@ index e881dbd1..69496561 100644 FRAMEWORK DESTINATION Library/Frameworks ) + install(EXPORT harfbuzzConfig -+ NAMESPACE unofficial::harfbuzz:: -+ FILE unofficial-harfbuzz-config.cmake -+ DESTINATION share/unofficial-harfbuzz ++ NAMESPACE harfbuzz:: ++ FILE harfbuzz-config.cmake ++ DESTINATION share/harfbuzz + ) if (HB_BUILD_UTILS) install(TARGETS hb-view diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL index da621b58d..f3c58ee6e 100644 --- a/ports/harfbuzz/CONTROL +++ b/ports/harfbuzz/CONTROL @@ -1,5 +1,5 @@ Source: harfbuzz -Version: 1.8.4-1 +Version: 1.8.4-2 Description: HarfBuzz OpenType text shaping engine Build-Depends: freetype, ragel Default-Features: ucdn diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index 0a92439dc..382b045e1 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -56,11 +56,11 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-harfbuzz TARGET_PATH share/unofficial-harfbuzz) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/harfbuzz TARGET_PATH share/harfbuzz) vcpkg_copy_pdbs() # Handle copyright file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/harfbuzz) file(RENAME ${CURRENT_PACKAGES_DIR}/share/harfbuzz/COPYING ${CURRENT_PACKAGES_DIR}/share/harfbuzz/copyright) -vcpkg_test_cmake(PACKAGE_NAME unofficial-harfbuzz) +vcpkg_test_cmake(PACKAGE_NAME harfbuzz) From 276da906c51d5ddccd9c282fdcb75db36944dc62 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Mon, 8 Oct 2018 17:14:28 -0700 Subject: [PATCH 081/129] Remove status_known() --- toolsrc/include/vcpkg/base/files.h | 1 - 1 file changed, 1 deletion(-) diff --git a/toolsrc/include/vcpkg/base/files.h b/toolsrc/include/vcpkg/base/files.h index eee910841..ed12ffd74 100644 --- a/toolsrc/include/vcpkg/base/files.h +++ b/toolsrc/include/vcpkg/base/files.h @@ -20,7 +20,6 @@ namespace fs inline bool is_regular_file(file_status s) { return stdfs::is_regular_file(s); } inline bool is_directory(file_status s) { return stdfs::is_directory(s); } - inline bool status_known(file_status s) { return stdfs::status_known(s); } } namespace vcpkg::Files From efffda88f0d4d6a0ba0640a96cd05bf08985c541 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Tue, 9 Oct 2018 20:14:26 -0700 Subject: [PATCH 082/129] [vcpkg ci] Remove src as well --- toolsrc/src/vcpkg/build.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 8e87fe7fe..1e931889b 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -440,7 +440,7 @@ namespace vcpkg::Build auto buildtree_files = fs.get_files_non_recursive(buildtrees_dir); for (auto&& file : buildtree_files) { - if (fs.is_directory(file) && file.filename() != "src") + if (fs.is_directory(file)) // Will only keep the logs { std::error_code ec; fs.remove_all(file, ec); From 7970ab0251c4607ef1690f397e4898dadefdb7ff Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Tue, 9 Oct 2018 20:14:38 -0700 Subject: [PATCH 083/129] clang-formatting --- toolsrc/src/vcpkg/build.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 1e931889b..f5f2b9c6c 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -63,7 +63,7 @@ namespace vcpkg::Build::Command spec.name()); const StatusParagraphs status_db = database_load_check(paths); - const Build::BuildPackageOptions build_package_options{ + const Build::BuildPackageOptions build_package_options { Build::UseHeadVersion::NO, Build::AllowDownloads::YES, Build::CleanBuildtrees::NO, @@ -76,8 +76,8 @@ namespace vcpkg::Build::Command std::set features_as_set(full_spec.features.begin(), full_spec.features.end()); features_as_set.emplace("core"); - const Build::BuildPackageConfig build_config{ - *scf, spec.triplet(), fs::path{port_dir}, build_package_options, features_as_set}; + const Build::BuildPackageConfig build_config { + *scf, spec.triplet(), fs::path {port_dir}, build_package_options, features_as_set}; const auto build_timer = Chrono::ElapsedTimer::create_started(); const auto result = Build::build_package(paths, build_config, status_db); @@ -464,22 +464,22 @@ namespace vcpkg::Build std::vector abi_tag_entries; - abi_tag_entries.emplace_back(AbiEntry{"cmake", paths.get_tool_version(Tools::CMAKE)}); + abi_tag_entries.emplace_back(AbiEntry {"cmake", paths.get_tool_version(Tools::CMAKE)}); abi_tag_entries.insert(abi_tag_entries.end(), dependency_abis.begin(), dependency_abis.end()); abi_tag_entries.emplace_back( - AbiEntry{"portfile", vcpkg::Hash::get_file_hash(fs, config.port_dir / "portfile.cmake", "SHA1")}); + AbiEntry {"portfile", vcpkg::Hash::get_file_hash(fs, config.port_dir / "portfile.cmake", "SHA1")}); abi_tag_entries.emplace_back( - AbiEntry{"control", vcpkg::Hash::get_file_hash(fs, config.port_dir / "CONTROL", "SHA1")}); + AbiEntry {"control", vcpkg::Hash::get_file_hash(fs, config.port_dir / "CONTROL", "SHA1")}); - abi_tag_entries.emplace_back(AbiEntry{"triplet", pre_build_info.triplet_abi_tag}); + abi_tag_entries.emplace_back(AbiEntry {"triplet", pre_build_info.triplet_abi_tag}); const std::string features = Strings::join(";", config.feature_list); - abi_tag_entries.emplace_back(AbiEntry{"features", features}); + abi_tag_entries.emplace_back(AbiEntry {"features", features}); if (config.build_package_options.use_head_version == UseHeadVersion::YES) - abi_tag_entries.emplace_back(AbiEntry{"head", ""}); + abi_tag_entries.emplace_back(AbiEntry {"head", ""}); Util::sort(abi_tag_entries); @@ -506,7 +506,7 @@ namespace vcpkg::Build const auto abi_file_path = paths.buildtrees / name / (triplet.canonical_name() + ".vcpkg_abi_info.txt"); fs.write_contents(abi_file_path, full_abi_info); - return AbiTagAndFile{Hash::get_file_hash(fs, abi_file_path, "SHA1"), abi_file_path}; + return AbiTagAndFile {Hash::get_file_hash(fs, abi_file_path, "SHA1"), abi_file_path}; } System::println( @@ -596,7 +596,7 @@ namespace vcpkg::Build const auto status_it = status_db.find_installed(pspec); Checks::check_exit(VCPKG_LINE_INFO, status_it != status_db.end()); dependency_abis.emplace_back( - AbiEntry{status_it->get()->package.spec.name(), status_it->get()->package.abi}); + AbiEntry {status_it->get()->package.spec.name(), status_it->get()->package.abi}); } const auto pre_build_info = PreBuildInfo::from_triplet_file(paths, triplet); @@ -642,7 +642,7 @@ namespace vcpkg::Build System::println("Could not locate cached archive: %s", archive_path.u8string()); ExtendedBuildResult result = do_build_package_and_clean_buildtrees( - paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile{}).tag, config); + paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile {}).tag, config); std::error_code ec; fs.create_directories(paths.package_dir(spec) / "share" / spec.name(), ec); @@ -679,7 +679,7 @@ namespace vcpkg::Build } return do_build_package_and_clean_buildtrees( - paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile{}).tag, config); + paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile {}).tag, config); } const std::string& to_string(const BuildResult build_result) @@ -844,21 +844,21 @@ namespace vcpkg::Build if (variable_name == "VCPKG_PLATFORM_TOOLSET") { pre_build_info.platform_toolset = - variable_value.empty() ? nullopt : Optional{variable_value}; + variable_value.empty() ? nullopt : Optional {variable_value}; continue; } if (variable_name == "VCPKG_VISUAL_STUDIO_PATH") { pre_build_info.visual_studio_path = - variable_value.empty() ? nullopt : Optional{variable_value}; + variable_value.empty() ? nullopt : Optional {variable_value}; continue; } if (variable_name == "VCPKG_CHAINLOAD_TOOLCHAIN_FILE") { pre_build_info.external_toolchain_file = - variable_value.empty() ? nullopt : Optional{variable_value}; + variable_value.empty() ? nullopt : Optional {variable_value}; continue; } From c7f30eca90ac2aea89f5a1b198878a2746c2b27c Mon Sep 17 00:00:00 2001 From: LRFLEW Date: Wed, 10 Oct 2018 06:00:05 -0600 Subject: [PATCH 084/129] Add definitions for CMAKE_SYSTEM_VERSION and CMAKE_SYSTEM_PROCESSOR to osx toolchain (#4441) --- scripts/toolchains/osx.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/toolchains/osx.cmake b/scripts/toolchains/osx.cmake index b8f261d09..9c4fdb12e 100644 --- a/scripts/toolchains/osx.cmake +++ b/scripts/toolchains/osx.cmake @@ -1,5 +1,11 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") + + set(CMAKE_SYSTEM_VERSION "${CMAKE_HOST_SYSTEM_VERSION}" CACHE STRING "") + set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}" CACHE STRING "") +else() + set(CMAKE_SYSTEM_VERSION "17.0.0" CACHE STRING "") + set(CMAKE_SYSTEM_PROCESSOR "x86_64" CACHE STRING "") endif() set(CMAKE_SYSTEM_NAME Darwin CACHE STRING "") From b357d2d0c3b828265d7d773f860807de309c4a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ken=20A=2E=20Rederg=C3=A5rd?= Date: Wed, 10 Oct 2018 14:00:33 +0200 Subject: [PATCH 085/129] Fix issue with compiling vcpkg.exe (#4149) (#4213) * Fix issue with compiling vcpkg.exe (#4149) The check for environment variable PATH match other environment variables. When environment variable VCTargetsPath used by msbuild is changed in cleanEnvironmentHelper.ps1 the path is broken. This makes the compilation of vcpkg.exe fail. This commit fix the issue by checking that environment variable PATH is exactly PATH. * [cleanEnvironmentHelper] Use -eq instead of -match --- scripts/cleanEnvironmentHelper.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cleanEnvironmentHelper.ps1 b/scripts/cleanEnvironmentHelper.ps1 index 0a133f5f8..a3792ecd3 100644 --- a/scripts/cleanEnvironmentHelper.ps1 +++ b/scripts/cleanEnvironmentHelper.ps1 @@ -17,7 +17,7 @@ foreach ($name in $nameSet) } # PATH needs to be concatenated as it has values in both machine and user environment. Any other values should be set. - if ($name -match 'path') + if ($name -eq 'path') { $pathValuePartial = @() # Machine values before user values From 29858b3cb2c8a0ec2c85b1b14d6d0a0d1dfe309e Mon Sep 17 00:00:00 2001 From: jadedrip Date: Thu, 11 Oct 2018 08:42:29 +0800 Subject: [PATCH 086/129] Add luabridge 2.1 (#4443) * Add luabridge 2.1 * [luabridge] Update to modern port practices, avoid checking in the License. --- ports/luabridge/CONTROL | 3 +++ ports/luabridge/portfile.cmake | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 ports/luabridge/CONTROL create mode 100644 ports/luabridge/portfile.cmake diff --git a/ports/luabridge/CONTROL b/ports/luabridge/CONTROL new file mode 100644 index 000000000..595e3b113 --- /dev/null +++ b/ports/luabridge/CONTROL @@ -0,0 +1,3 @@ +Source: luabridge +Version: 2.1-1 +Description: A lightweight, dependency-free library for binding Lua to C++ diff --git a/ports/luabridge/portfile.cmake b/ports/luabridge/portfile.cmake new file mode 100644 index 000000000..6ff91dd3a --- /dev/null +++ b/ports/luabridge/portfile.cmake @@ -0,0 +1,20 @@ +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vinniefalco/LuaBridge + REF 2.1 + SHA512 062efda16fe43a02bcc757aaebba839e0ec72a9a3b7bf1e5bc1427a54d664a52197c8bcd4ac584f0d04cce812c0f078e257716e8bca016bcabda82c2c332ac04 + HEAD_REF master +) + +file( + COPY ${SOURCE_PATH}/Source/LuaBridge + DESTINATION ${CURRENT_PACKAGES_DIR}/include +) + +# Handle copyright +configure_file( + ${SOURCE_PATH}/README.md + ${CURRENT_PACKAGES_DIR}/share/luabridge/copyright + COPYONLY +) From 4ff1f5022194e650e12fa5703f51f81cc3bfef6a Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Thu, 11 Oct 2018 21:10:13 -0700 Subject: [PATCH 087/129] [abseil] Remove cctz dependency. Install all headers. Fixes #4442. Fixes #4373. --- ports/abseil/CMakeLists.txt | 16 ++++++---------- ports/abseil/CONTROL | 3 +-- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/ports/abseil/CMakeLists.txt b/ports/abseil/CMakeLists.txt index 88a20935a..b4b8a646d 100644 --- a/ports/abseil/CMakeLists.txt +++ b/ports/abseil/CMakeLists.txt @@ -17,8 +17,7 @@ endif() function(add_sublibrary LIB) file(GLOB_RECURSE SOURCES "absl/${LIB}/*.cc") list(FILTER SOURCES EXCLUDE REGEX "_test(ing)?(_.+)?.cc$|_nonprod.cc$|test_util.cc$|_benchmark.cc$") - file(GLOB HEADERS "absl/${LIB}/*.h" "absl/${LIB}/*.inc") - file(GLOB INTERNAL_HEADERS "absl/${LIB}/internal/*.h") + file(GLOB_RECURSE HEADERS "absl/${LIB}/*.h" "absl/${LIB}/*.inc") if(SOURCES) if("STATIC" IN_LIST ARGN) @@ -33,7 +32,6 @@ function(add_sublibrary LIB) target_include_directories(${LIB} INTERFACE $ $) endif() - install(TARGETS ${LIB} EXPORT unofficial-abseil-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib @@ -42,10 +40,11 @@ function(add_sublibrary LIB) if(INSTALL_HEADERS) if(HEADERS) - install(FILES ${HEADERS} DESTINATION "include/absl/${LIB}") - endif() - if(INTERNAL_HEADERS) - install(FILES ${INTERNAL_HEADERS} DESTINATION "include/absl/${LIB}/internal") + foreach(file IN LISTS HEADERS) + get_filename_component(dir ${file} DIRECTORY) + file(RELATIVE_PATH rel_dir ${CMAKE_SOURCE_DIR}/absl/${LIB} ${dir}) + install(FILES ${file} DESTINATION "include/absl/${LIB}/${rel_dir}") + endforeach() endif() endif() endfunction() @@ -85,9 +84,6 @@ target_link_public_libraries(utility base meta) target_link_public_libraries(time base numeric) target_link_public_libraries(synchronization base time) -find_package(unofficial-cctz REQUIRED) -target_link_libraries(time PUBLIC unofficial::cctz) - install( EXPORT unofficial-abseil-targets FILE unofficial-abseil-config.cmake diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL index 4a35f248b..61eb0e906 100644 --- a/ports/abseil/CONTROL +++ b/ports/abseil/CONTROL @@ -1,7 +1,6 @@ Source: abseil -Version: 2018-09-18 +Version: 2018-09-18-3 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. 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. -Build-Depends: cctz From adcf87465f11421a0dc4edad5ee6befbf28c2372 Mon Sep 17 00:00:00 2001 From: Lyle Tafoya Date: Fri, 12 Oct 2018 04:12:10 +0000 Subject: [PATCH 088/129] Fixes #4422 dynamic build failure on Linux (#4423) * Fixes #4422 dynamic build failure on Linux * [libvorbis] Adapt to modern best practices. Test for files instead of using the platform. --- ports/libvorbis/CONTROL | 2 +- ports/libvorbis/portfile.cmake | 45 ++++++++++++++++------------------ 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/ports/libvorbis/CONTROL b/ports/libvorbis/CONTROL index 96b9ed8df..355d89e80 100644 --- a/ports/libvorbis/CONTROL +++ b/ports/libvorbis/CONTROL @@ -1,4 +1,4 @@ Source: libvorbis -Version: 1.3.6-112d3bd +Version: 1.3.6-112d3bd-1 Description: Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. Build-Depends: libogg diff --git a/ports/libvorbis/portfile.cmake b/ports/libvorbis/portfile.cmake index 6a862c84b..83db50e01 100644 --- a/ports/libvorbis/portfile.cmake +++ b/ports/libvorbis/portfile.cmake @@ -1,29 +1,27 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/vorbis-112d3bd0aaacad51305e1464d4b381dabad0e88b) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/xiph/vorbis/archive/112d3bd0aaacad51305e1464d4b381dabad0e88b.zip" - FILENAME "vorbis-112d3bd0aaacad51305e1464d4b381dabad0e88b.zip" - SHA512 94e773a34f3e8d1c8ed0422f0eab345b35f76a96760141af83d69d007ebf076fca2d083a77d36bfa4ea10dfefa03a8fa35201aced963655ab8a524aaa7580b11 -) - -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xiph/vorbis + REF 112d3bd0aaacad51305e1464d4b381dabad0e88b + SHA512 df20e072a5e024ca2b8fc0e2890bb8968c0c948a833149a6026d2eaf6ab57b88b6d00d0bfb3b8bfcf879c7875e7cfacb8c6bf454bfc083b41d76132c567ff7ae + HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-Dont-export-vorbisenc-functions.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-Allow-deprecated-functions.patch + 0001-Dont-export-vorbisenc-functions.patch + 0002-Allow-deprecated-functions.patch ) -file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/include" OGG_INCLUDE) -file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/lib/ogg.lib" OGG_LIB_REL) -file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/debug/lib/ogg.lib" OGG_LIB_DBG) +file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" OGG_INCLUDE) +foreach(LIBNAME ogg.lib libogg.a libogg.dylib libogg.so) + if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/${LIBNAME}" OR EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/${LIBNAME}") + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/${LIBNAME}" OGG_LIB_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/${LIBNAME}" OGG_LIB_DBG) + break() + endif() +endforeach() + +if(NOT OGG_LIB_REL) + message(FATAL_ERROR "Could not find libraries for dependency libogg!") +endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -38,7 +36,6 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libvorbis) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libvorbis/COPYING ${CURRENT_PACKAGES_DIR}/share/libvorbis/copyright) +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/libvorbis/copyright COPYONLY) vcpkg_copy_pdbs() From 1ce7ee30b7b73c7f1bde423977499a8c23d2cf98 Mon Sep 17 00:00:00 2001 From: Jens Weggemann Date: Fri, 12 Oct 2018 06:27:22 +0200 Subject: [PATCH 089/129] [shaderc] Fix for build (#4398) * [shaderc] Fix for build * [glslang] Use 'd' debug suffix on all platforms * [shaderc][spirv-tools] Restore missing cmake options --- .../0001-Fix-export-symbol-for-Windows.patch | 86 ------------------- ports/glslang/CONTROL | 2 +- ports/glslang/portfile.cmake | 7 +- ports/shaderc/CMakeLists.txt | 4 +- ports/shaderc/CMakeLists_spirv.txt | 12 +-- ports/shaderc/CONTROL | 2 +- ports/shaderc/portfile.cmake | 19 +--- ports/spirv-tools/portfile.cmake | 11 ++- 8 files changed, 19 insertions(+), 124 deletions(-) delete mode 100644 ports/glslang/0001-Fix-export-symbol-for-Windows.patch diff --git a/ports/glslang/0001-Fix-export-symbol-for-Windows.patch b/ports/glslang/0001-Fix-export-symbol-for-Windows.patch deleted file mode 100644 index 80ce58da4..000000000 --- a/ports/glslang/0001-Fix-export-symbol-for-Windows.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 1ccadd2cb6db3ce5a00635f65db21e561eb7f705 Mon Sep 17 00:00:00 2001 -From: vlj -Date: Fri, 25 Nov 2016 17:12:35 +0100 -Subject: [PATCH] Fix export symbol for Windows. - ---- - StandAlone/CMakeLists.txt | 1 + - StandAlone/ResourceLimits.cpp | 3 +++ - StandAlone/ResourceLimits.h | 10 ++++++++++ - 3 files changed, 14 insertions(+) - -diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt -index 231ba27..3aff02e 100644 ---- a/StandAlone/CMakeLists.txt -+++ b/StandAlone/CMakeLists.txt -@@ -2,6 +2,7 @@ add_library(glslang-default-resource-limits - ${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp - ) - set_property(TARGET glslang-default-resource-limits PROPERTY FOLDER glslang) -+set_property(TARGET glslang-default-resource-limits PROPERTY COMPILE_DEFINITIONS DLLEXPORT) - - target_include_directories(glslang-default-resource-limits - PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} -diff --git a/StandAlone/ResourceLimits.cpp b/StandAlone/ResourceLimits.cpp -index e22ec80..634d9c9 100644 ---- a/StandAlone/ResourceLimits.cpp -+++ b/StandAlone/ResourceLimits.cpp -@@ -41,6 +41,7 @@ - - namespace glslang { - -+DLL_EXPORT - const TBuiltInResource DefaultTBuiltInResource = { - /* .MaxLights = */ 32, - /* .MaxClipPlanes = */ 6, -@@ -137,6 +138,7 @@ const TBuiltInResource DefaultTBuiltInResource = { - /* .generalConstantMatrixVectorIndexing = */ 1, - }}; - -+DLL_EXPORT - std::string GetDefaultTBuiltInResourceString() - { - std::ostringstream ostream; -@@ -239,6 +241,7 @@ std::string GetDefaultTBuiltInResourceString() - return ostream.str(); - } - -+DLL_EXPORT - void DecodeResourceLimits(TBuiltInResource* resources, char* config) - { - static const char* delims = " \t\n\r"; -diff --git a/StandAlone/ResourceLimits.h b/StandAlone/ResourceLimits.h -index 9c3eb3e..932a59f 100644 ---- a/StandAlone/ResourceLimits.h -+++ b/StandAlone/ResourceLimits.h -@@ -39,17 +39,27 @@ - - #include "glslang/Include/ResourceLimits.h" - -+#ifdef DLLEXPORT -+#define DLL_EXPORT __declspec(dllexport) -+#else -+#define DLL_EXPORT __declspec(dllimport) -+#endif -+ - namespace glslang { - - // These are the default resources for TBuiltInResources, used for both - // - parsing this string for the case where the user didn't supply one, - // - dumping out a template for user construction of a config file. -+ -+DLL_EXPORT - extern const TBuiltInResource DefaultTBuiltInResource; - - // Returns the DefaultTBuiltInResource as a human-readable string. -+DLL_EXPORT - std::string GetDefaultTBuiltInResourceString(); - - // Decodes the resource limits from |config| to |resources|. -+DLL_EXPORT - void DecodeResourceLimits(TBuiltInResource* resources, char* config); - - } // end namespace glslang --- -2.10.2.windows.1 - diff --git a/ports/glslang/CONTROL b/ports/glslang/CONTROL index 22d5a054e..c92482843 100644 --- a/ports/glslang/CONTROL +++ b/ports/glslang/CONTROL @@ -1,3 +1,3 @@ Source: glslang -Version: 2018-03-02 +Version: 2018-03-02-1 Description: Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator diff --git a/ports/glslang/portfile.cmake b/ports/glslang/portfile.cmake index 2182d9bcd..b7cbdb98e 100644 --- a/ports/glslang/portfile.cmake +++ b/ports/glslang/portfile.cmake @@ -1,8 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Dynamic not supported. Building static") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -15,6 +13,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS -DCMAKE_DEBUG_POSTFIX=d ) vcpkg_install_cmake() diff --git a/ports/shaderc/CMakeLists.txt b/ports/shaderc/CMakeLists.txt index 580ffa1d1..7ecdd03f9 100644 --- a/ports/shaderc/CMakeLists.txt +++ b/ports/shaderc/CMakeLists.txt @@ -15,8 +15,8 @@ ENDIF() add_library(glslang STATIC IMPORTED GLOBAL) set_property(TARGET glslang PROPERTY IMPORTED_LOCATION "${GLSLANG}") -set(glslang_SOURCE_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" CACHE STRING "glslang source dir") -set_property(TARGET glslang APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") +find_path(glslang_SOURCE_DIR glslang/Include/Common) +set_property(TARGET glslang APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${glslang_SOURCE_DIR}") add_library(OSDependent STATIC IMPORTED GLOBAL) set_property(TARGET OSDependent PROPERTY IMPORTED_LOCATION "${OSDEPENDENT}") diff --git a/ports/shaderc/CMakeLists_spirv.txt b/ports/shaderc/CMakeLists_spirv.txt index 618177fa6..d9e013601 100644 --- a/ports/shaderc/CMakeLists_spirv.txt +++ b/ports/shaderc/CMakeLists_spirv.txt @@ -1,14 +1,8 @@ -option(SUFFIX_D "Add d Suffix to lib" ${SUFFIX_D}) -if(NOT SUFFIX_D) - find_library(SPIRVTOOLSOPT spirv-tools-opt) - find_library(SPIRVTOOLS spirv-tools) -ELSE() - find_library(SPIRVTOOLSOPT spirv-tools-opt) - find_library(SPIRVTOOLS spirv-tools) -ENDIF() +find_library(SPIRVTOOLSOPT SPIRV-Tools-opt) +find_library(SPIRVTOOLS SPIRV-Tools) add_library(SPIRV-Tools-opt STATIC IMPORTED GLOBAL) set_property(TARGET SPIRV-Tools-opt PROPERTY IMPORTED_LOCATION "${SPIRVTOOLSOPT}") add_library(SPIRV-Tools STATIC IMPORTED GLOBAL) -set_property(TARGET SPIRV-Tools PROPERTY IMPORTED_LOCATION "${SPIRVTOOLS}") \ No newline at end of file +set_property(TARGET SPIRV-Tools PROPERTY IMPORTED_LOCATION "${SPIRVTOOLS}") diff --git a/ports/shaderc/CONTROL b/ports/shaderc/CONTROL index 5a5c2c580..c428c0ea9 100644 --- a/ports/shaderc/CONTROL +++ b/ports/shaderc/CONTROL @@ -1,4 +1,4 @@ Source: shaderc -Version: 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da-1 +Version: 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da-2 Description: A collection of tools, libraries and tests for shader compilation. Build-Depends: glslang, spirv-tools diff --git a/ports/shaderc/portfile.cmake b/ports/shaderc/portfile.cmake index 2b925455b..d3ed5d023 100644 --- a/ports/shaderc/portfile.cmake +++ b/ports/shaderc/portfile.cmake @@ -1,11 +1,3 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) vcpkg_from_github( @@ -14,11 +6,8 @@ vcpkg_from_github( REF 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da SHA512 6fb45a0b01e6709c44a11658648b9271fe06bd94023dcc5042c47b5f2a04889c2efb0ab4c166f18728594ac9b9aa9f8b354af46d88eb7f7c39c7246f52f5a933 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Do-not-generate-build-version.inc.patch + PATCHES + 0001-Do-not-generate-build-version.inc.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/third_party/glslang) @@ -36,11 +25,11 @@ endif() # shaderc uses python to manipulate copyright information vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) -set(ENV{PATH} "${PYTHON3_EXE_PATH};$ENV{PATH}") +vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS -DSHADERC_SKIP_TESTS=true ${OPTIONS} + OPTIONS -DSHADERC_SKIP_TESTS=true ${OPTIONS} -Dglslang_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include OPTIONS_DEBUG -DSUFFIX_D=true OPTIONS_RELEASE -DSUFFIX_D=false ) diff --git a/ports/spirv-tools/portfile.cmake b/ports/spirv-tools/portfile.cmake index 5120dc4f1..11d332a39 100644 --- a/ports/spirv-tools/portfile.cmake +++ b/ports/spirv-tools/portfile.cmake @@ -1,9 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(WARNING "Dynamic not supported. Building static") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -23,12 +20,14 @@ vcpkg_from_github( vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}") +vcpkg_add_to_path("${PYTHON3_DIR}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DSPIRV-Headers_SOURCE_DIR=${SPIRV_HEADERS_PATH} + OPTIONS + -DSPIRV-Headers_SOURCE_DIR=${SPIRV_HEADERS_PATH} + -DSPIRV_WERROR=OFF ) vcpkg_install_cmake() From b030ebccabdae001efc486ad946496a43f2743bc Mon Sep 17 00:00:00 2001 From: Arash Partow Date: Fri, 12 Oct 2018 15:51:04 +1100 Subject: [PATCH 090/129] Update to ExprTk package (#4378) --- ports/exprtk/CONTROL | 2 +- ports/exprtk/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/exprtk/CONTROL b/ports/exprtk/CONTROL index 4df1a2e2b..c2e69703e 100644 --- a/ports/exprtk/CONTROL +++ b/ports/exprtk/CONTROL @@ -1,3 +1,3 @@ Source: exprtk -Version: 2018.04.30-46877b6 +Version: 2018.09.30-9836f21 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 69d9921ec..a863941af 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 46877b604cfcc0a0e592fc7a8a874cf2a9f90cf4 - SHA512 1043b5b6aa64bc3f8d989d2aac3e3a125188b1526ab92e245ad526ab1fe37e10cb275f2b77d311b4d91bd4ea32e1d81dfcd8abf8373b723a8b664842690ee1ae + REF 9836f21d07b1bf799e6877324268708f61c01f73 + SHA512 44acb6e835dc215d4338ff4c2b3444373a93475ece15b3f1bfdc0781f7c28992af7c289644bf9557d041f78c7435f5907e4ba606321aab17faee6f4a70562065 ) file(COPY ${SOURCE_PATH}/exprtk.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) From 43deeaf0c8b6086310ee753be2e93c941f7ffd75 Mon Sep 17 00:00:00 2001 From: Voskrese Date: Fri, 12 Oct 2018 12:59:19 +0800 Subject: [PATCH 091/129] connected fail (#4375) wget https://download.savannah.gnu.org/releases/freetype/freetype-2.8.1.tar.bz2 --2018-09-30 08:14:17-- https://download.savannah.gnu.org/releases/freetype/freetype-2.8.1.tar.bz2 Resolving download.savannah.gnu.org (download.savannah.gnu.org)... 208.118.235.200 Connecting to download.savannah.gnu.org (download.savannah.gnu.org)|208.118.235.200|:443... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: https://mirror.freedif.org/GNU-Sa/freetype/freetype-2.8.1.tar.bz2 [following] --2018-09-30 08:14:19-- https://mirror.freedif.org/GNU-Sa/freetype/freetype-2.8.1.tar.bz2 Resolving mirror.freedif.org (mirror.freedif.org)... 113.161.52.138 Connecting to mirror.freedif.org (mirror.freedif.org)|113.161.52.138|:443... failed: Unknown error. Retrying. --- ports/freetype/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/freetype/portfile.cmake b/ports/freetype/portfile.cmake index 9cdcd0f09..d74c53220 100644 --- a/ports/freetype/portfile.cmake +++ b/ports/freetype/portfile.cmake @@ -2,7 +2,7 @@ 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.savannah.gnu.org/releases/freetype/freetype-${FT_VERSION}.tar.bz2" + URLS "https://download-mirror.savannah.gnu.org/releases/freetype/freetype-${FT_VERSION}.tar.bz2" FILENAME "freetype-${FT_VERSION}.tar.bz2" SHA512 ca59e47f0fceeeb9b8032be2671072604d0c79094675df24187829c05e99757d0a48a0f8062d4d688e056f783aa8f6090d732ad116562e94784fccf1339eb823 ) From ed7e8631f6e89910b5834ab0036a37c3967d01dd Mon Sep 17 00:00:00 2001 From: Alien-AV Date: Fri, 12 Oct 2018 15:35:44 +0300 Subject: [PATCH 092/129] fix boost-lockfree missing dependency (#4445) * fix boost-lockfree missing dependency spsc_queue.hpp is including next_prior.hpp, which is contained in boost-iterator package. however, boost-iterator is not listed as a dependency of boost-lockfree * [boost-lockfree] Bump control version --- ports/boost-lockfree/CONTROL | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/boost-lockfree/CONTROL b/ports/boost-lockfree/CONTROL index 84f27b3fb..bc193d0ec 100644 --- a/ports/boost-lockfree/CONTROL +++ b/ports/boost-lockfree/CONTROL @@ -1,5 +1,5 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-lockfree -Version: 1.68.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 +Version: 1.68.0-1 +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-iterator, boost-vcpkg-helpers Description: Boost lockfree module From 91ceded42b1de5a4affce81622ae384b82ab1384 Mon Sep 17 00:00:00 2001 From: Mohammed Alyousef Date: Fri, 12 Oct 2018 15:45:31 +0300 Subject: [PATCH 093/129] Adding Async++ package (#4438) * Add files via upload * Update portfile.cmake * Update portfile.cmake * [asyncplusplus] Use more port helpers * [asyncplusplus] Fixup cmake targets --- ports/asyncplusplus/CONTROL | 3 +++ ports/asyncplusplus/portfile.cmake | 34 ++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 ports/asyncplusplus/CONTROL create mode 100644 ports/asyncplusplus/portfile.cmake diff --git a/ports/asyncplusplus/CONTROL b/ports/asyncplusplus/CONTROL new file mode 100644 index 000000000..eb82afe70 --- /dev/null +++ b/ports/asyncplusplus/CONTROL @@ -0,0 +1,3 @@ +Source: asyncplusplus +Version: 1.0-1 +Description: Async++ is a lightweight concurrency framework for C++11 diff --git a/ports/asyncplusplus/portfile.cmake b/ports/asyncplusplus/portfile.cmake new file mode 100644 index 000000000..d348dc83e --- /dev/null +++ b/ports/asyncplusplus/portfile.cmake @@ -0,0 +1,34 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Amanieu/asyncplusplus + REF v1.0 + SHA512 bb1fc032d2d8de49b4505e0629d48e5cfa99edfcafbf17848f160ceb320bcd993f1549095248d1a0ef8fc1ec07ecbaad6b634a770ddc1974092d373a508a5fe3 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/Async++.cmake ${CURRENT_PACKAGES_DIR}/cmake/Async++Targets.cmake) + +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/async++) + +file(RENAME ${CURRENT_PACKAGES_DIR}/share/async++/Async++Targets.cmake ${CURRENT_PACKAGES_DIR}/share/async++/Async++.cmake) + +file(READ ${CURRENT_PACKAGES_DIR}/share/async++/Async++Config.cmake _contents) +file(WRITE ${CURRENT_PACKAGES_DIR}/share/async++/Async++Config.cmake "include(CMakeFindDependencyMacro)\n${_contents}") + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/asyncplusplus) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/asyncplusplus/LICENSE ${CURRENT_PACKAGES_DIR}/share/asyncplusplus/copyright) + +vcpkg_test_cmake(PACKAGE_NAME Async++) From 59df8b1029f965ad736928ffdd430bfaba490c94 Mon Sep 17 00:00:00 2001 From: Tsukasa Sugiura Date: Fri, 12 Oct 2018 21:46:21 +0900 Subject: [PATCH 094/129] [realsense2] Update to v2.16.1 (#4436) Update realsense2 port to librealsense v2.16.1. --- ports/realsense2/CONTROL | 2 +- ports/realsense2/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL index 62f249090..959292d5c 100644 --- a/ports/realsense2/CONTROL +++ b/ports/realsense2/CONTROL @@ -1,5 +1,5 @@ Source: realsense2 -Version: 2.13.0 +Version: 2.16.1 Description: Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300). Feature: tools diff --git a/ports/realsense2/portfile.cmake b/ports/realsense2/portfile.cmake index e9edc21e2..e6073099c 100644 --- a/ports/realsense2/portfile.cmake +++ b/ports/realsense2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO IntelRealSense/librealsense - REF v2.13.0 - SHA512 5cee1371e83a0bcd24829c073c064c630347a6f69b59377603a75b5d036c6306e9b36285a7deef519bd63a42dfaf933c99709a25942407be97f1791361c4becf + REF v2.16.1 + SHA512 e030f7b1833db787b8976ead734535fb2209a19317d74d4f68bd8f8cae38abe2343d584e88131a1a66bf6f9f1c0a17bc2c64540841a74cf6300fecf3e69f9dff HEAD_REF development ) From 22fa919487c07e1898b95579b18fd102fe888fc7 Mon Sep 17 00:00:00 2001 From: hesiod Date: Fri, 12 Oct 2018 14:09:40 +0100 Subject: [PATCH 095/129] Update opusfile to v0.11 (#4404) --- ports/opusfile/CONTROL | 2 +- ports/opusfile/portfile.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/opusfile/CONTROL b/ports/opusfile/CONTROL index 5a9cf2002..82307c100 100644 --- a/ports/opusfile/CONTROL +++ b/ports/opusfile/CONTROL @@ -1,5 +1,5 @@ Source: opusfile -Version: 0.9-3 +Version: 0.11-1 Description: Stand-alone decoder library for .opus streams Build-Depends: libogg, opus diff --git a/ports/opusfile/portfile.cmake b/ports/opusfile/portfile.cmake index c538a692f..30c633ca2 100644 --- a/ports/opusfile/portfile.cmake +++ b/ports/opusfile/portfile.cmake @@ -6,8 +6,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiph/opusfile - REF v0.9 - SHA512 8bada67cf12511fd914813fe782a5bf40a5d1ecadbe77e2e8d7bf40bf09bf0e6af3dfbc9b7987496dea813d3b120897cb9117f06521eeb098105e1a795ab702b + REF v0.11 + SHA512 b67976176ffacbeecacd00815877d1b332e149430b49f68d41d6a2f95e6d291e979214903314e14b4cc3f20e07ec8975b906f12f12aef8c786f74f6160d8791d HEAD_REF master) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) From 064fe93191dc4bdc856ae3a2e2a36cac523249ce Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 12 Oct 2018 10:02:17 -0700 Subject: [PATCH 096/129] Rebase of #4290 (#4460) * Add tmx port. * [tmx] Simplify port --- ports/tmx/CONTROL | 4 ++++ ports/tmx/portfile.cmake | 29 +++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 ports/tmx/CONTROL create mode 100644 ports/tmx/portfile.cmake diff --git a/ports/tmx/CONTROL b/ports/tmx/CONTROL new file mode 100644 index 000000000..9079cb85e --- /dev/null +++ b/ports/tmx/CONTROL @@ -0,0 +1,4 @@ +Source: tmx +Version: 1.0.0 +Description: A portable C library to load tiled maps in your games. +Build-Depends: zlib, libxml2 diff --git a/ports/tmx/portfile.cmake b/ports/tmx/portfile.cmake new file mode 100644 index 000000000..b3f70f4d1 --- /dev/null +++ b/ports/tmx/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO baylej/tmx + REF tmx_1.0.0 + HEAD_REF master + SHA512 d045c45efd03f91a81dae471cb9ddc80d222b3ac52e13b729deeaf3e07d0a03b8e0956b30336ef410c72ddbbf33bea6811da5454b88d44b1db75683ef2a9383a +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/tmx/tmxExports.cmake ${CURRENT_PACKAGES_DIR}/lib/cmake/tmx/tmxTargets.cmake) +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/tmx") +file(RENAME ${CURRENT_PACKAGES_DIR}/share/tmx/tmxTargets.cmake ${CURRENT_PACKAGES_DIR}/share/tmx/tmxExports.cmake) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share +) + +# Handle copyright +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/tmx/copyright COPYONLY) From 7a3cc8db7f63236104e9742fc2c27ee1d882b0c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nagy-Egri=20M=C3=A1t=C3=A9=20Ferenc?= Date: Sat, 13 Oct 2018 00:07:30 +0200 Subject: [PATCH 097/129] [hwloc] Added utility hwloc-info (#4279) * Added version number to project() invocation * Added URL to project() invocation * added hwloc-info target and install() * Removed URL (oops), fixed hwloc-info when using shared libs * [hwloc] Bump control version. Don't package debug version of hwloc-info. --- ports/hwloc/CMakeLists.txt | 24 +++++++++++++++++++++--- ports/hwloc/CONTROL | 2 +- ports/hwloc/portfile.cmake | 2 ++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/ports/hwloc/CMakeLists.txt b/ports/hwloc/CMakeLists.txt index 7f75c558c..1b2e1c802 100644 --- a/ports/hwloc/CMakeLists.txt +++ b/ports/hwloc/CMakeLists.txt @@ -1,5 +1,7 @@ cmake_minimum_required(VERSION 3.0) -project(hwloc C) +project(hwloc + LANGUAGES C + VERSION 1.11.7) configure_file(contrib/windows/hwloc_config.h include/hwloc/autogen/config.h COPYONLY) configure_file(contrib/windows/static-components.h include/static-components.h COPYONLY) @@ -36,14 +38,30 @@ add_library(libhwloc src/dolib.c) set_target_properties(libhwloc PROPERTIES DEFINE_SYMBOL _USRDLL) -target_include_directories(libhwloc PRIVATE ./include ./src ${CMAKE_CURRENT_BINARY_DIR}/include) -target_compile_definitions(libhwloc PRIVATE _CRT_SECURE_NO_WARNINGS) + +add_executable(hwloc-info + utils/hwloc/hwloc-info.c) + +target_link_libraries(hwloc-info PRIVATE libhwloc) + +foreach(Target IN ITEMS libhwloc hwloc-info) + target_include_directories(${Target} PRIVATE ./include ./src ${CMAKE_CURRENT_BINARY_DIR}/include) + target_compile_definitions(${Target} PRIVATE _CRT_SECURE_NO_WARNINGS) +endforeach(Target) install(TARGETS libhwloc RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) +install(TARGETS hwloc-info + RUNTIME DESTINATION tools/hwloc) +if(BUILD_SHARED_LIBS) + install(TARGETS libhwloc + RUNTIME DESTINATION tools/hwloc) +endif(BUILD_SHARED_LIBS) + + if(NOT HWLOC_SKIP_INCLUDES) install(FILES include/hwloc.h DESTINATION include) install(DIRECTORY include/hwloc DESTINATION include FILES_MATCHING PATTERN "*.h") diff --git a/ports/hwloc/CONTROL b/ports/hwloc/CONTROL index ef2564050..e2c820060 100644 --- a/ports/hwloc/CONTROL +++ b/ports/hwloc/CONTROL @@ -1,4 +1,4 @@ Source: hwloc -Version: 1.11.7-2 +Version: 1.11.7-3 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. diff --git a/ports/hwloc/portfile.cmake b/ports/hwloc/portfile.cmake index a2031bdcb..64a18ddc7 100644 --- a/ports/hwloc/portfile.cmake +++ b/ports/hwloc/portfile.cmake @@ -28,6 +28,8 @@ else() endif() file(WRITE ${CURRENT_PACKAGES_DIR}/include/hwloc/autogen/config.h "${PUBLIC_CONFIG_H}") +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/tools) + # Handle copyright file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/hwloc) file(RENAME ${CURRENT_PACKAGES_DIR}/share/hwloc/COPYING ${CURRENT_PACKAGES_DIR}/share/hwloc/copyright) From 38c741f390e151ba44cac9726ffca95194440bcf Mon Sep 17 00:00:00 2001 From: hlysunnaram Date: Sat, 13 Oct 2018 00:12:15 +0200 Subject: [PATCH 098/129] [gdal] update port to 2.3.2 and mysql support as port feature (#4413) * [gdal] update port from 2.3.0 to 2.3.2 * [libmariadb] fix build failure when VCPKG_BUILD_TYPE is set * [gdal] remove libmysql dependency from port core to allow x86 build * create new port features: mysql-libmysql and mysql-libmariadb * add mysql-libmysql as default feature: to build on x86, install gdal[core] or gdal[core,mysql-libmariadb] if mysql support is needed --- ports/gdal/0001-Fix-debug-crt-flags.patch | 2 +- ports/gdal/CONTROL | 13 ++++- ports/gdal/no-my-bool.patch | 12 ----- ports/gdal/portfile.cmake | 55 ++++++++++++------- ports/libmariadb/portfile.cmake | 64 +++++++++++++++-------- 5 files changed, 89 insertions(+), 57 deletions(-) delete mode 100644 ports/gdal/no-my-bool.patch diff --git a/ports/gdal/0001-Fix-debug-crt-flags.patch b/ports/gdal/0001-Fix-debug-crt-flags.patch index 753d53131..aab3d40ca 100644 --- a/ports/gdal/0001-Fix-debug-crt-flags.patch +++ b/ports/gdal/0001-Fix-debug-crt-flags.patch @@ -1,7 +1,7 @@ diff -Nuar a/nmake.opt b/nmake.opt --- a/nmake.opt 2018-05-04 09:05:46.000000000 +0200 +++ b/nmake.opt 2018-05-11 22:58:39.387603800 +0200 -@@ -120,11 +120,21 @@ +@@ -124,11 +124,21 @@ CXX_PDB_FLAGS= !ENDIF diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL index 7db6156aa..7686d13ab 100644 --- a/ports/gdal/CONTROL +++ b/ports/gdal/CONTROL @@ -1,4 +1,13 @@ Source: gdal -Version: 2.3.0-2 +Version: 2.3.2 Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data. -Build-Depends: proj, libpng, geos, sqlite3, curl, expat, libpq, libmysql, openjpeg, libwebp, libxml2, liblzma +Build-Depends: proj, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma +Default-Features: mysql-libmysql + +Feature: mysql-libmysql +Build-Depends: libmysql +Description: Add mysql support using libmysql + +Feature: mysql-libmariadb +Build-Depends: libmariadb +Description: Add mysql support using libmariadb diff --git a/ports/gdal/no-my-bool.patch b/ports/gdal/no-my-bool.patch deleted file mode 100644 index 2589ff044..000000000 --- a/ports/gdal/no-my-bool.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nuar a/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp b/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp ---- a/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp 2018-05-04 09:09:26.000000000 +0200 -+++ b/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp 2018-05-11 23:07:44.284558300 +0200 -@@ -235,7 +235,7 @@ - // Enable automatic reconnection - // Must be called after mysql_real_connect() on MySQL < 5.0.19 - // and at any point on more recent versions. -- my_bool reconnect = 1; -+ bool reconnect = 1; - mysql_options(hConn, MYSQL_OPT_RECONNECT, &reconnect); - } - diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index ddeccfc37..1f3ca96e3 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -1,10 +1,10 @@ # vcpkg portfile.cmake for GDAL # # NOTE: update the version and checksum for new GDAL release -set(GDAL_VERSION_STR "2.3.0") -set(GDAL_VERSION_PKG "230") +set(GDAL_VERSION_STR "2.3.2") +set(GDAL_VERSION_PKG "232") set(GDAL_VERSION_LIB "203") -set(GDAL_PACKAGE_SUM "f3f790b7ecb28916d6d0628b15ddc6b396a25a8f1f374589ea5e95b5a50addc99e05e363113f907b6c96faa69870b5dc9fdf3d771f9c8937b4aa8819bd78b190") +set(GDAL_PACKAGE_SUM "9eb26be57657b1f1eaada4794859584d53bd58e0d504eb12ab97e9c60353d0a565dc894a89829ee50fc549cb7d069a75b7895c0dd4cea887e010671f63e945b8") if (TRIPLET_SYSTEM_ARCH MATCHES "arm") message(FATAL_ERROR "ARM is currently not supported.") @@ -22,21 +22,27 @@ vcpkg_download_distfile(ARCHIVE URLS "http://download.osgeo.org/gdal/${GDAL_VERSION_STR}/gdal${GDAL_VERSION_PKG}.zip" FILENAME "gdal${GDAL_VERSION_PKG}.zip" SHA512 ${GDAL_PACKAGE_SUM} - ) +) # Extract source into architecture specific directory, because GDALs' nmake based build currently does not # support out of source builds. set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-debug/gdal-${GDAL_VERSION_STR}) set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-release/gdal-${GDAL_VERSION_STR}) -foreach(BUILD_TYPE debug release) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + list(APPEND BUILD_TYPES "release") +endif() +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + list(APPEND BUILD_TYPES "debug") +endif() + +foreach(BUILD_TYPE IN LISTS BUILD_TYPES) file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}) vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}) vcpkg_apply_patches( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR} PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-debug-crt-flags.patch - ${CMAKE_CURRENT_LIST_DIR}/no-my-bool.patch ) endforeach() @@ -76,11 +82,6 @@ file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" SQLITE_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib" SQLITE_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib" SQLITE_LIBRARY_DBG) -# Setup MySQL libraries + include path -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib" MYSQL_LIBRARY_REL) -file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib" MYSQL_LIBRARY_DBG) - # Setup PostgreSQL libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PGSQL_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libpq.lib" PGSQL_LIBRARY_REL) @@ -106,7 +107,26 @@ file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" LZMA_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/lzma.lib" LZMA_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/lzma.lib" LZMA_LIBRARY_DBG) -set(NMAKE_OPTIONS +if("mysql-libmysql" IN_LIST FEATURES OR "mysql-libmariadb" IN_LIST FEATURES) + # Setup MySQL libraries + include path + if("mysql-libmysql" IN_LIST FEATURES) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib" MYSQL_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib" MYSQL_LIBRARY_DBG) + endif() + + if("mysql-libmariadb" IN_LIST FEATURES) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include/mysql" MYSQL_INCLUDE_DIR) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libmariadb.lib" MYSQL_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libmariadb.lib" MYSQL_LIBRARY_DBG) + endif() + + list(APPEND NMAKE_OPTIONS MYSQL_INC_DIR=${MYSQL_INCLUDE_DIR}) + list(APPEND NMAKE_OPTIONS_REL MYSQL_LIB=${MYSQL_LIBRARY_REL}) + list(APPEND NMAKE_OPTIONS_DBG MYSQL_LIB=${MYSQL_LIBRARY_DBG}) +endif() + +list(APPEND NMAKE_OPTIONS GDAL_HOME=${NATIVE_PACKAGES_DIR} DATADIR=${NATIVE_DATA_DIR} HTMLDIR=${NATIVE_HTML_DIR} @@ -117,7 +137,6 @@ set(NMAKE_OPTIONS EXPAT_INCLUDE=-I${EXPAT_INCLUDE_DIR} CURL_INC=-I${CURL_INCLUDE_DIR} SQLITE_INC=-I${SQLITE_INCLUDE_DIR} - MYSQL_INC_DIR=${MYSQL_INCLUDE_DIR} PG_INC_DIR=${PGSQL_INCLUDE_DIR} OPENJPEG_ENABLED=YES OPENJPEG_CFLAGS=-I${OPENJPEG_INCLUDE_DIR} @@ -147,8 +166,8 @@ else() set(LINKAGE_FLAGS "/MD") endif() -set(NMAKE_OPTIONS_REL - "${NMAKE_OPTIONS}" +list(APPEND NMAKE_OPTIONS_REL + ${NMAKE_OPTIONS} CXX_CRT_FLAGS=${LINKAGE_FLAGS} PROJ_LIBRARY=${PROJ_LIBRARY_REL} PNG_LIB=${PNG_LIBRARY_REL} @@ -156,15 +175,14 @@ set(NMAKE_OPTIONS_REL EXPAT_LIB=${EXPAT_LIBRARY_REL} "CURL_LIB=${CURL_LIBRARY_REL} wsock32.lib wldap32.lib winmm.lib" SQLITE_LIB=${SQLITE_LIBRARY_REL} - MYSQL_LIB=${MYSQL_LIBRARY_REL} PG_LIB=${PGSQL_LIBRARY_REL} OPENJPEG_LIB=${OPENJPEG_LIBRARY_REL} WEBP_LIBS=${WEBP_LIBRARY_REL} LIBXML2_LIB=${XML2_LIBRARY_REL} ) -set(NMAKE_OPTIONS_DBG - "${NMAKE_OPTIONS}" +list(APPEND NMAKE_OPTIONS_DBG + ${NMAKE_OPTIONS} CXX_CRT_FLAGS="${LINKAGE_FLAGS}d" PROJ_LIBRARY=${PROJ_LIBRARY_DBG} PNG_LIB=${PNG_LIBRARY_DBG} @@ -172,7 +190,6 @@ set(NMAKE_OPTIONS_DBG EXPAT_LIB=${EXPAT_LIBRARY_DBG} "CURL_LIB=${CURL_LIBRARY_DBG} wsock32.lib wldap32.lib winmm.lib" SQLITE_LIB=${SQLITE_LIBRARY_DBG} - MYSQL_LIB=${MYSQL_LIBRARY_DBG} PG_LIB=${PGSQL_LIBRARY_DBG} OPENJPEG_LIB=${OPENJPEG_LIBRARY_DBG} WEBP_LIBS=${WEBP_LIBRARY_DBG} diff --git a/ports/libmariadb/portfile.cmake b/ports/libmariadb/portfile.cmake index 4486564f6..e37afb22f 100644 --- a/ports/libmariadb/portfile.cmake +++ b/ports/libmariadb/portfile.cmake @@ -23,33 +23,51 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# remove debug header -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + # remove debug header + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +endif() + +if(VCPKG_BUILD_TYPE STREQUAL "debug") + # move headers + file(RENAME + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/include) +endif() # fix libmariadb lib & dll directory. if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/mariadb/mariadbclient.lib - ${CURRENT_PACKAGES_DIR}/lib/mariadbclient.lib) - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/mariadbclient.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/mariadbclient.lib) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(RENAME + ${CURRENT_PACKAGES_DIR}/lib/mariadb/mariadbclient.lib + ${CURRENT_PACKAGES_DIR}/lib/mariadbclient.lib) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(RENAME + ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/mariadbclient.lib + ${CURRENT_PACKAGES_DIR}/debug/lib/mariadbclient.lib) + endif() else() - file(MAKE_DIRECTORY - ${CURRENT_PACKAGES_DIR}/bin - ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.dll - ${CURRENT_PACKAGES_DIR}/bin/libmariadb.dll) - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.dll - ${CURRENT_PACKAGES_DIR}/debug/bin/libmariadb.dll) - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.lib - ${CURRENT_PACKAGES_DIR}/lib/libmariadb.lib) - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/libmariadb.lib) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file(RENAME + ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.dll + ${CURRENT_PACKAGES_DIR}/bin/libmariadb.dll) + file(RENAME + ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.lib + ${CURRENT_PACKAGES_DIR}/lib/libmariadb.lib) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + file(RENAME + ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.dll + ${CURRENT_PACKAGES_DIR}/debug/bin/libmariadb.dll) + file(RENAME + ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.lib + ${CURRENT_PACKAGES_DIR}/debug/lib/libmariadb.lib) + endif() endif() # remove plugin folder From 1a4db3c2647cc00bfb6bd348c41fc93a9733a3d0 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Sat, 13 Oct 2018 06:33:16 +0800 Subject: [PATCH 099/129] [simpleini] Add new port (#4323) * [simpleini] Add new port * [simpleini] Fix version number * [simpleini] Slightly simplify portfile --- ports/simpleini/CONTROL | 3 +++ ports/simpleini/portfile.cmake | 14 ++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 ports/simpleini/CONTROL create mode 100644 ports/simpleini/portfile.cmake diff --git a/ports/simpleini/CONTROL b/ports/simpleini/CONTROL new file mode 100644 index 000000000..b0c70335f --- /dev/null +++ b/ports/simpleini/CONTROL @@ -0,0 +1,3 @@ +Source: simpleini +Version: 2018-08-31-1 +Description: Cross-platform C++ library providing a simple API to read and write INI-style configuration files diff --git a/ports/simpleini/portfile.cmake b/ports/simpleini/portfile.cmake new file mode 100644 index 000000000..508043cd1 --- /dev/null +++ b/ports/simpleini/portfile.cmake @@ -0,0 +1,14 @@ +# header-only library +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO brofield/simpleini + REF fe082fa81f4a55ddceb55056622136be616b3c6f + SHA512 9ba3fc0e5d4d426a7943a6783f3e66203d3b822a9ac6bc2b261e877f70e099495ad22e03fd6ad3dd7aab422192701b2b450ace750ebd3bc6b4e6266c6d15184d + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/simpleini.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(INSTALL ${SOURCE_PATH}/LICENCE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/simpleini RENAME copyright) From 109c2cbb39e81957470cbc6d8b4f2bd7113eec67 Mon Sep 17 00:00:00 2001 From: ct-clmsn Date: Fri, 12 Oct 2018 18:59:54 -0400 Subject: [PATCH 100/129] [gmmlib] Add new port (#4325) * initial import * reformat * [gmmlib] Modernize and simplify --- ports/gmmlib/CONTROL | 3 +++ ports/gmmlib/portfile.cmake | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 ports/gmmlib/CONTROL create mode 100644 ports/gmmlib/portfile.cmake diff --git a/ports/gmmlib/CONTROL b/ports/gmmlib/CONTROL new file mode 100644 index 000000000..a06044494 --- /dev/null +++ b/ports/gmmlib/CONTROL @@ -0,0 +1,3 @@ +Source: gmmlib +Version: 18.3.pre2-1 +Description: intel's graphics memory management library diff --git a/ports/gmmlib/portfile.cmake b/ports/gmmlib/portfile.cmake new file mode 100644 index 000000000..6ed92151f --- /dev/null +++ b/ports/gmmlib/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "Intel gmmlib currently only supports Linux platforms") +endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO intel/gmmlib + REF intel-gmmlib-18.3.pre2 + SHA512 9831f6e6f001ba99d5b4860c68697dfc33535a20aa853716534a18b6e4df6c7b95039fff7ffe6f0303cfeb70db4c53ad26a6fa6a8fb6148fa4080e456bff3859 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DARCH=64 +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/gmmlib/copyright COPYONLY) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/igdgmm/GmmLib/Scripts) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/igdgmm/GmmLib/Resource) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/igdgmm/GmmLib/GlobalInfo) From 0b6e54897735e4d4e2f56e34884bce7f96e6864a Mon Sep 17 00:00:00 2001 From: Billy Robert O'Neal III Date: Fri, 12 Oct 2018 16:04:39 -0700 Subject: [PATCH 101/129] Use /etc/ssl for OpenSSL's configuration on *nix. --- ports/openssl-unix/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/openssl-unix/CMakeLists.txt b/ports/openssl-unix/CMakeLists.txt index 71c2646ab..7639d1d4e 100644 --- a/ports/openssl-unix/CMakeLists.txt +++ b/ports/openssl-unix/CMakeLists.txt @@ -106,7 +106,7 @@ add_custom_command( no-md2 ${PLATFORM} "--prefix=${CMAKE_INSTALL_PREFIX}" - "--openssldir=${CMAKE_INSTALL_PREFIX}" + "--openssldir=/etc/ssl" ${CFLAGS} COMMAND "${CMAKE_COMMAND}" "-DDIR=${BUILDDIR}" -P "${CMAKE_CURRENT_LIST_DIR}/remove-deps.cmake" VERBATIM From 0178015bf727597bc23e623c0a8be3c7506f316a Mon Sep 17 00:00:00 2001 From: mcgoo Date: Fri, 12 Oct 2018 18:30:30 -0500 Subject: [PATCH 102/129] note existence of VCPKG_CXX_FLAGS also (#4208) --- docs/users/triplets.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/users/triplets.md b/docs/users/triplets.md index d547725ea..2bb9c74b3 100644 --- a/docs/users/triplets.md +++ b/docs/users/triplets.md @@ -62,6 +62,7 @@ See also the CMake documentation for toolchain files: https://cmake.org/cmake/he Sets additional compiler flags to be used when not using `VCPKG_CHAINLOAD_TOOLCHAIN_FILE`. This option also has forms for configuration-specific and C flags: +- `VCPKG_CXX_FLAGS` - `VCPKG_CXX_FLAGS_DEBUG` - `VCPKG_CXX_FLAGS_RELEASE` - `VCPKG_C_FLAGS` From 4f3e3fcdcb9e922533120aa92e8f8faf775e0d29 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Mon, 15 Oct 2018 13:40:09 -0700 Subject: [PATCH 103/129] Add ninja for Windows to vcpkgTools.xml --- scripts/vcpkgTools.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/vcpkgTools.xml b/scripts/vcpkgTools.xml index 320e86275..c2045433d 100644 --- a/scripts/vcpkgTools.xml +++ b/scripts/vcpkgTools.xml @@ -73,6 +73,13 @@ 2456176ba3d506a07cf0cc4f61f080e1ff8cb4106426d66f354c5bb67a9a8720b5ddb26904275e61b1f623c932355f7dcde4cd17556cc895f11293c23c3a9bf3 aria2-1.33.1-win-32bit-build1.zip + + 1.8.2 + ninja.exe + https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip + 9b9ce248240665fcd6404b989f3b3c27ed9682838225e6dc9b67b551774f251e4ff8a207504f941e7c811e7a8be1945e7bcb94472a335ef15e23a0200a32e6d5 + ninja-win.zip + 1.8.2 ninja From 9bc8ed32d196a04f352ce09a7121b18ba7f8f6f9 Mon Sep 17 00:00:00 2001 From: hlysunnaram Date: Tue, 16 Oct 2018 03:56:14 +0200 Subject: [PATCH 104/129] [geos] update to 3.6.3 (fix port build) (#4433) * [geos] update to 3.6.3 * [geos] Slight modernization * [geos] Move geos-config to /share/geos/ * [geos] Make share/geos directory --- ports/geos/CONTROL | 2 +- ports/geos/portfile.cmake | 57 +++++++++++++++------------------------ 2 files changed, 23 insertions(+), 36 deletions(-) diff --git a/ports/geos/CONTROL b/ports/geos/CONTROL index 1a32a8103..0a4421eea 100644 --- a/ports/geos/CONTROL +++ b/ports/geos/CONTROL @@ -1,3 +1,3 @@ Source: geos -Version: 3.6.2-3 +Version: 3.6.3-2 Description: Geometry Engine Open Source diff --git a/ports/geos/portfile.cmake b/ports/geos/portfile.cmake index e5a404254..2f374e79d 100644 --- a/ports/geos/portfile.cmake +++ b/ports/geos/portfile.cmake @@ -1,53 +1,40 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/geos-3.6.2) + +set(GEOS_VERSION 3.6.3) vcpkg_download_distfile(ARCHIVE - URLS "http://download.osgeo.org/geos/geos-3.6.2.tar.bz2" - FILENAME "geos-3.6.2.tar.bz2" - SHA512 515d8700b8a28282678e481faee355e3a43d7b70160472a63335b8d7225d9ba10437be782378f18f31a15288118126d411a2d862f01ce35d27c96f6bc0a73016 + URLS "http://download.osgeo.org/geos/geos-${GEOS_VERSION}.tar.bz2" + FILENAME "geos-${GEOS_VERSION}.tar.bz2" + SHA512 f88adcf363433e247a51fb1a2c0b53f39b71aba8a6c01dd08aa416c2e980fe274a195e6edcb5bb5ff8ea81b889da14a1a8fb2849e04669aeba3b6d55754dc96a ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - -SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/geos_c-static-support.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${GEOS_VERSION} + PATCHES geos_c-static-support.patch ) # NOTE: GEOS provides CMake as optional build configuration, it might not be actively # maintained, so CMake build issues may happen between releases. -# Pull modules referred in the main CMakeLists.txt but missing from the released package. -# TODO: GEOS 3.6.3 or later will include the missing script in release package. -file(DOWNLOAD http://svn.osgeo.org/geos/branches/3.6/cmake/modules/GenerateSourceGroups.cmake - ${SOURCE_PATH}/cmake/modules/GenerateSourceGroups.cmake) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja + PREFER_NINJA OPTIONS - -DCMAKE_DEBUG_POSTFIX=d - -DGEOS_ENABLE_TESTS=False + -DCMAKE_DEBUG_POSTFIX=d + -DGEOS_ENABLE_TESTS=False ) vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/geos) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/geos/COPYING ${CURRENT_PACKAGES_DIR}/share/geos/copyright) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libgeos.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libgeosd.lib) -else() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/geos.lib ${CURRENT_PACKAGES_DIR}/debug/lib/geosd.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/geos_c.lib ${CURRENT_PACKAGES_DIR}/debug/lib/geos_cd.lib) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/geos-config) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/geos) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/geos-config ${CURRENT_PACKAGES_DIR}/share/geos/geos-config) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/geos-config) endif() +# Handle copyright +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/geos/copyright COPYONLY) + vcpkg_copy_pdbs() From 4568b57ad7728f30c1e2badc9735c8990cd51265 Mon Sep 17 00:00:00 2001 From: hesiod Date: Tue, 16 Oct 2018 03:02:05 +0100 Subject: [PATCH 105/129] [glbinding] Update to v3.0.2 (#4405) * Update glbinding to v3.0.2 Because glbinding introduced a new auxiliary library glbinding-aux the CMake export/config file organization had to be changed. * [glbinding] Simplify targets handling. General port cleanup. Force system-style install on all platforms. * [glbinding] Fix glbinding-config.cmake * [globjects] Pin forward to handle changes in glbinding 3.x --- ports/glbinding/CONTROL | 2 +- ports/glbinding/force-system-install.patch | 36 +++++++++++ ports/glbinding/portfile.cmake | 69 ++++------------------ ports/globjects/CONTROL | 2 +- ports/globjects/portfile.cmake | 67 ++++++--------------- ports/globjects/system-install.patch | 27 +++++++++ 6 files changed, 96 insertions(+), 107 deletions(-) create mode 100644 ports/glbinding/force-system-install.patch create mode 100644 ports/globjects/system-install.patch diff --git a/ports/glbinding/CONTROL b/ports/glbinding/CONTROL index 1fd781901..d225e60c8 100644 --- a/ports/glbinding/CONTROL +++ b/ports/glbinding/CONTROL @@ -1,3 +1,3 @@ Source: glbinding -Version: 2.1.1-3 +Version: 3.0.2-3 Description: glbinding is an MIT licensed, cross-platform C++ binding for the OpenGL API diff --git a/ports/glbinding/force-system-install.patch b/ports/glbinding/force-system-install.patch new file mode 100644 index 000000000..1674f145a --- /dev/null +++ b/ports/glbinding/force-system-install.patch @@ -0,0 +1,36 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 011577a..e52d19d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -42,11 +42,13 @@ include(cmake/GenerateTemplateExportHeader.cmake) + # + + # Get git revision ++if(NOT DEFINED GIT_REV) + get_git_head_revision(GIT_REFSPEC GIT_SHA1) + string(SUBSTRING "${GIT_SHA1}" 0 12 GIT_REV) + if(NOT GIT_SHA1) + set(GIT_REV "0") + endif() ++endif() + + # Meta information about the project + set(META_PROJECT_NAME "glbinding") +@@ -135,7 +137,7 @@ if("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr" OR "${CMAKE_INSTALL_PREFIX}" STREQU + endif() + + # Installation paths +-if(UNIX AND SYSTEM_DIR_INSTALL) ++if(1) + # Install into the system (/usr/bin or /usr/local/bin) + set(INSTALL_ROOT "share/${project}") # /usr/[local]/share/ + set(INSTALL_CMAKE "share/${project}/cmake") # /usr/[local]/share//cmake +@@ -148,7 +150,7 @@ if(UNIX AND SYSTEM_DIR_INSTALL) + set(INSTALL_DOC "share/doc/${project}") # /usr/[local]/share/doc/ + set(INSTALL_SHORTCUTS "share/applications") # /usr/[local]/share/applications + set(INSTALL_ICONS "share/pixmaps") # /usr/[local]/share/pixmaps +- set(INSTALL_INIT "/etc/init") # /etc/init (upstart init scripts) ++ set(INSTALL_INIT "etc/init") # /etc/init (upstart init scripts) + else() + # Install into local directory + set(INSTALL_ROOT ".") # ./ diff --git a/ports/glbinding/portfile.cmake b/ports/glbinding/portfile.cmake index cf3f64e5d..64063bc73 100644 --- a/ports/glbinding/portfile.cmake +++ b/ports/glbinding/portfile.cmake @@ -1,79 +1,34 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cginternals/glbinding - REF v2.1.1 - SHA512 6c7251555801272a90c87a9386324eb6993102601a036fc7d9f9b4ebed64c74d011909566e5fc5a34ef8242e24915848296023daa1420c91aaf08cf9635be397 + REF v3.0.2 + SHA512 524ad20a11af7d8ee1764f53326b43efb3b3dbd6c64d1539f4d9fa2bcb7b58a6bd6caf460d6944aed4fd7439b82536d8f28a0f0f51c14c62c2f0c73baab9afcb HEAD_REF master + PATCHES force-system-install.patch ) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DOPTION_BUILD_TESTS=OFF -DOPTION_BUILD_GPU_TESTS=OFF + -DOPTION_BUILD_TOOLS=OFF + -DGIT_REV=0 + -DCMAKE_DISABLE_FIND_PACKAGE_cpplocate=ON ) -#vcpkg_build_cmake() vcpkg_install_cmake() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) -file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/glbinding ${CURRENT_PACKAGES_DIR}/share/glbinding) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake) -file(READ ${CURRENT_PACKAGES_DIR}/debug/cmake/glbinding/glbinding-export-debug.cmake GLBINDING_DEBUG_MODULE) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" GLBINDING_DEBUG_MODULE "${GLBINDING_DEBUG_MODULE}") -string(REPLACE "glbindingd.dll" "bin/glbindingd.dll" GLBINDING_DEBUG_MODULE "${GLBINDING_DEBUG_MODULE}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/glbinding/glbinding-export-debug.cmake "${GLBINDING_DEBUG_MODULE}") -file(READ ${CURRENT_PACKAGES_DIR}/share/glbinding/glbinding-export-release.cmake RELEASE_CONF) -string(REPLACE "glbinding.dll" "bin/glbinding.dll" RELEASE_CONF "${RELEASE_CONF}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/glbinding/glbinding-export-release.cmake "${RELEASE_CONF}") -file(REMOVE ${CURRENT_PACKAGES_DIR}/glbinding-config.cmake) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/glbinding-config.cmake) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/glbinding/glbinding-export.cmake ${CURRENT_PACKAGES_DIR}/share/glbinding/glbinding-config.cmake) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/glbinding.dll ${CURRENT_PACKAGES_DIR}/bin/glbinding.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/glbindingd.dll ${CURRENT_PACKAGES_DIR}/debug/bin/glbindingd.dll) -endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/cmake) -file(RENAME ${CURRENT_PACKAGES_DIR}/data ${CURRENT_PACKAGES_DIR}/share/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/data) -file(REMOVE ${CURRENT_PACKAGES_DIR}/AUTHORS - ${CURRENT_PACKAGES_DIR}/LICENSE - ${CURRENT_PACKAGES_DIR}/README.md - ${CURRENT_PACKAGES_DIR}/VERSION - ${CURRENT_PACKAGES_DIR}/debug/AUTHORS - ${CURRENT_PACKAGES_DIR}/debug/LICENSE - ${CURRENT_PACKAGES_DIR}/debug/README.md - ${CURRENT_PACKAGES_DIR}/debug/VERSION - ) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/glbinding/cmake/glbinding TARGET_PATH share/glbinding/cmake/glbinding) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/glbinding/cmake/glbinding-aux TARGET_PATH share/glbinding/cmake/glbinding-aux) -# There are some executables that are only built if glfw is found by CMake (see source/tools/*/CMakeLists.txt). -# glfw is not listed as a dependency for glbinding, so this only happen on systems where package glfw3 is present. -# glbinding's CMake doesn't offer the choice to exlude those tools from the build process, so deleting them here: -file(REMOVE ${CURRENT_PACKAGES_DIR}/glcontexts.exe - ${CURRENT_PACKAGES_DIR}/glfunctions.exe - ${CURRENT_PACKAGES_DIR}/glmeta.exe - ${CURRENT_PACKAGES_DIR}/glqueries.exe - ${CURRENT_PACKAGES_DIR}/debug/glcontextsd.exe - ${CURRENT_PACKAGES_DIR}/debug/glfunctionsd.exe - ${CURRENT_PACKAGES_DIR}/debug/glmetad.exe - ${CURRENT_PACKAGES_DIR}/debug/glqueriesd.exe -) +file(WRITE ${CURRENT_PACKAGES_DIR}/share/glbinding/glbinding-config.cmake "include(\${CMAKE_CURRENT_LIST_DIR}/cmake/glbinding/glbinding-export.cmake)\ninclude(\${CMAKE_CURRENT_LIST_DIR}/cmake/glbinding-aux/glbinding-aux-export.cmake)\nset(glbinding_FOUND TRUE)\n") +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/glbinding) file(RENAME ${CURRENT_PACKAGES_DIR}/share/glbinding/LICENSE ${CURRENT_PACKAGES_DIR}/share/glbinding/copyright) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/globjects/CONTROL b/ports/globjects/CONTROL index df9c862dc..b75b256c6 100644 --- a/ports/globjects/CONTROL +++ b/ports/globjects/CONTROL @@ -1,5 +1,5 @@ Source: globjects Maintainer: mattias@mattiascibien.net -Version: 1.0.0-1 +Version: 1.1.0-2018-09-19 Build-Depends: glbinding, glm Description: C++ library strictly wrapping OpenGL objects. diff --git a/ports/globjects/portfile.cmake b/ports/globjects/portfile.cmake index 08fae6ec3..5019fea0d 100644 --- a/ports/globjects/portfile.cmake +++ b/ports/globjects/portfile.cmake @@ -1,66 +1,37 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/globjects-1.0.0) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/cginternals/globjects/archive/v1.0.0.zip" - FILENAME "globjects-1.0.0.zip" - SHA512 e03ae16786b11891a61f0e2f85b0d98a858d1bad3cf4c45944982d6a753dbaa8b28975dc02153360a5ac0f3be73fe86c91af130cfc0dda7459dd782f16868eeb + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cginternals/globjects + REF fe53c4a386506d3374df12ad6f1f67c4232aa389 + SHA512 62b40675671acf050bfe4836da5b6b6a757185d296a86ad1079cf79e4a149820971ed46fce7379b73707dff368919b63d52044230a7ce75601441fe368d91e63 + HEAD_REF master + PATCHES system-install.patch ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DOPTION_BUILD_TESTS=OFF -DOPTION_BUILD_GPU_TESTS=OFF + -DGIT_REV=0 ) -#vcpkg_build_cmake() + vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/globjects/cmake/globjects TARGET_PATH share/globjects/cmake/globjects) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) -file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/globjects ${CURRENT_PACKAGES_DIR}/share/globjects) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(READ ${CURRENT_PACKAGES_DIR}/debug/cmake/globjects/globjects-export-debug.cmake globjects_DEBUG_MODULE) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" globjects_DEBUG_MODULE "${globjects_DEBUG_MODULE}") -string(REPLACE "globjectsd.dll" "bin/globjectsd.dll" globjects_DEBUG_MODULE "${globjects_DEBUG_MODULE}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/globjects/globjects-export-debug.cmake "${globjects_DEBUG_MODULE}") -file(READ ${CURRENT_PACKAGES_DIR}/share/globjects/globjects-export-release.cmake RELEASE_CONF) -string(REPLACE "globjects.dll" "bin/globjects.dll" RELEASE_CONF "${RELEASE_CONF}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/globjects/globjects-export-release.cmake "${RELEASE_CONF}") -file(REMOVE ${CURRENT_PACKAGES_DIR}/globjects-config.cmake) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/globjects-config.cmake) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/globjects/globjects-export.cmake ${CURRENT_PACKAGES_DIR}/share/globjects/globjects-config.cmake) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/globjects.dll ${CURRENT_PACKAGES_DIR}/bin/globjects.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/globjectsd.dll ${CURRENT_PACKAGES_DIR}/debug/bin/globjectsd.dll) -endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/cmake) -file(RENAME ${CURRENT_PACKAGES_DIR}/data ${CURRENT_PACKAGES_DIR}/share/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/data) -file(REMOVE ${CURRENT_PACKAGES_DIR}/AUTHORS - ${CURRENT_PACKAGES_DIR}/LICENSE - ${CURRENT_PACKAGES_DIR}/README.md - ${CURRENT_PACKAGES_DIR}/VERSION - ${CURRENT_PACKAGES_DIR}/debug/AUTHORS - ${CURRENT_PACKAGES_DIR}/debug/LICENSE - ${CURRENT_PACKAGES_DIR}/debug/README.md - ${CURRENT_PACKAGES_DIR}/debug/VERSION - ) +file(WRITE ${CURRENT_PACKAGES_DIR}/share/globjects/globjects-config.cmake "include(CMakeFindDependencyMacro) +find_dependency(glm) +find_dependency(glbinding) + +include(\${CMAKE_CURRENT_LIST_DIR}/cmake/globjects/globjects-export.cmake) +") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/globjects) file(RENAME ${CURRENT_PACKAGES_DIR}/share/globjects/LICENSE ${CURRENT_PACKAGES_DIR}/share/globjects/copyright) vcpkg_copy_pdbs() diff --git a/ports/globjects/system-install.patch b/ports/globjects/system-install.patch new file mode 100644 index 000000000..10e0c5b49 --- /dev/null +++ b/ports/globjects/system-install.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6556346..48ba95d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -42,11 +42,13 @@ include(cmake/GenerateTemplateExportHeader.cmake) + # + + # Get git revision ++if(NOT DEFINED GIT_REV) + get_git_head_revision(GIT_REFSPEC GIT_SHA1) + string(SUBSTRING "${GIT_SHA1}" 0 12 GIT_REV) + if(NOT GIT_SHA1) + set(GIT_REV "0") + endif() ++endif() + + # Meta information about the project + set(META_PROJECT_NAME "globjects") +@@ -133,7 +135,7 @@ if("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr" OR "${CMAKE_INSTALL_PREFIX}" STREQU + endif() + + # Installation paths +-if(UNIX AND SYSTEM_DIR_INSTALL) ++if(1) + # Install into the system (/usr/bin or /usr/local/bin) + set(INSTALL_ROOT "share/${project}") # /usr/[local]/share/ + set(INSTALL_CMAKE "share/${project}/cmake") # /usr/[local]/share//cmake From 20a8e393a01925f977689c70b58299372b725536 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Mon, 15 Oct 2018 21:29:34 -0700 Subject: [PATCH 106/129] [vcpkg env] Add argument to run a command --- toolsrc/src/vcpkg/commands.env.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/toolsrc/src/vcpkg/commands.env.cpp b/toolsrc/src/vcpkg/commands.env.cpp index d078baedb..f56bda1ec 100644 --- a/toolsrc/src/vcpkg/commands.env.cpp +++ b/toolsrc/src/vcpkg/commands.env.cpp @@ -23,9 +23,9 @@ namespace vcpkg::Commands::Env }}; const CommandStructure COMMAND_STRUCTURE = { - Help::create_example_string("env --triplet x64-windows"), - 0, + Help::create_example_string("env --triplet x64-windows"), 0, + 1, {SWITCHES, {}}, nullptr, }; @@ -64,11 +64,12 @@ namespace vcpkg::Commands::Env if (add_python) extra_env.emplace("PYTHONPATH", (paths.installed / triplet.to_string() / "python").u8string()); if (path_vars.size() > 0) extra_env.emplace("PATH", Strings::join(";", path_vars)); - if (env_cmd.empty()) - System::cmd_execute_clean("cmd", extra_env); - else - System::cmd_execute_clean(env_cmd + " && cmd", extra_env); + std::string env_cmd_prefix = env_cmd.empty() ? "" : Strings::format("%s &&", env_cmd); + std::string env_cmd_suffix = + args.command_arguments.empty() ? "cmd" : Strings::format("cmd /c %s", args.command_arguments.at(0)); + const std::string cmd = Strings::format("%s %s", env_cmd_prefix, env_cmd_suffix); + System::cmd_execute_clean(cmd, extra_env); Checks::exit_success(VCPKG_LINE_INFO); } } From 10e7bd5772ca1a5d315200ba6c7541141e72b935 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Mon, 15 Oct 2018 17:08:27 -0700 Subject: [PATCH 107/129] Print out the error when dumpbin fails --- toolsrc/src/vcpkg/postbuildlint.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/toolsrc/src/vcpkg/postbuildlint.cpp b/toolsrc/src/vcpkg/postbuildlint.cpp index 6fe11951f..90dcb7d64 100644 --- a/toolsrc/src/vcpkg/postbuildlint.cpp +++ b/toolsrc/src/vcpkg/postbuildlint.cpp @@ -617,7 +617,11 @@ namespace vcpkg::PostBuildLint const std::string cmd_line = Strings::format(R"("%s" /directives "%s")", dumpbin_exe.u8string(), lib.u8string()); System::ExitCodeAndOutput ec_data = System::cmd_execute_and_capture_output(cmd_line); - Checks::check_exit(VCPKG_LINE_INFO, ec_data.exit_code == 0, "Running command:\n %s\n failed", cmd_line); + Checks::check_exit(VCPKG_LINE_INFO, + ec_data.exit_code == 0, + "Running command:\n %s\n failed with message:\n%s", + cmd_line, + ec_data.output); for (const BuildType& bad_build_type : bad_build_types) { From 5d0b56d7c1b30709a4fc6c7899ef01781ee155e6 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Mon, 15 Oct 2018 14:39:28 -0700 Subject: [PATCH 108/129] [cpprestsdk] Fix fixup_targets for new versions of cpprestsdk --- ports/cpprestsdk/CONTROL | 2 +- ports/cpprestsdk/portfile.cmake | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL index 8a7d2aa06..2693d2390 100644 --- a/ports/cpprestsdk/CONTROL +++ b/ports/cpprestsdk/CONTROL @@ -1,5 +1,5 @@ Source: cpprestsdk -Version: 2.10.6 +Version: 2.10.6-1 Build-Depends: zlib, openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp), websocketpp (!uwp), boost-thread (!uwp&!windows), boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows) Description: C++11 JSON, REST, and OAuth library The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services. diff --git a/ports/cpprestsdk/portfile.cmake b/ports/cpprestsdk/portfile.cmake index 7b816fb79..c84e6ff90 100644 --- a/ports/cpprestsdk/portfile.cmake +++ b/ports/cpprestsdk/portfile.cmake @@ -32,7 +32,14 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +if (EXISTS "${CURRENT_PACKAGES_DIR}/lib/share") # transition + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/share/cpprestsdk) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/share ${CURRENT_PACKAGES_DIR}/lib/share) +else() + vcpkg_fixup_cmake_targets() # v2.10.6 and below +endif() + + file(INSTALL ${SOURCE_PATH}/license.txt From 56e1d2f6961693b45f2b61b6e6985229be56e674 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 16 Oct 2018 00:35:47 -0700 Subject: [PATCH 109/129] [vcpkg] Wrap all external process spawning in a Ctrl-C catcher to avoid corrupted consoles --- toolsrc/include/vcpkg/base/system.h | 8 +++--- toolsrc/include/vcpkg/globalstate.h | 20 ++++++++++++++ toolsrc/src/vcpkg.cpp | 6 +++-- toolsrc/src/vcpkg/base/checks.cpp | 14 +++++----- toolsrc/src/vcpkg/base/system.cpp | 22 ++++++++++----- toolsrc/src/vcpkg/globalstate.cpp | 42 +++++++++++++++++++++++++++++ 6 files changed, 94 insertions(+), 18 deletions(-) diff --git a/toolsrc/include/vcpkg/base/system.h b/toolsrc/include/vcpkg/base/system.h index 3c4326ade..005e09a3f 100644 --- a/toolsrc/include/vcpkg/base/system.h +++ b/toolsrc/include/vcpkg/base/system.h @@ -32,15 +32,15 @@ namespace vcpkg::System }; int cmd_execute_clean(const CStringView cmd_line, - const std::unordered_map& extra_env = {}); + const std::unordered_map& extra_env = {}) noexcept; - int cmd_execute(const CStringView cmd_line); + int cmd_execute(const CStringView cmd_line) noexcept; #if defined(_WIN32) - void cmd_execute_no_wait(const CStringView cmd_line); + void cmd_execute_no_wait(const CStringView cmd_line) noexcept; #endif - ExitCodeAndOutput cmd_execute_and_capture_output(const CStringView cmd_line); + ExitCodeAndOutput cmd_execute_and_capture_output(const CStringView cmd_line) noexcept; enum class Color { diff --git a/toolsrc/include/vcpkg/globalstate.h b/toolsrc/include/vcpkg/globalstate.h index bc28e3ff8..2a76c8741 100644 --- a/toolsrc/include/vcpkg/globalstate.h +++ b/toolsrc/include/vcpkg/globalstate.h @@ -18,5 +18,25 @@ namespace vcpkg static std::atomic g_init_console_cp; static std::atomic g_init_console_output_cp; + static std::atomic g_init_console_initialized; + + struct CtrlCStateMachine + { + void transition_to_spawn_process() noexcept; + void transition_from_spawn_process() noexcept; + void transition_handle_ctrl_c() noexcept; + + private: + enum class CtrlCState + { + normal, + blocked_on_child, + exit_requested, + }; + + std::atomic m_state = CtrlCState::normal; + }; + + static CtrlCStateMachine g_ctrl_c_state; }; } diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index 6f10c503d..ba9710562 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -261,6 +261,7 @@ int main(const int argc, const char* const* const argv) #if defined(_WIN32) GlobalState::g_init_console_cp = GetConsoleCP(); GlobalState::g_init_console_output_cp = GetConsoleOutputCP(); + GlobalState::g_init_console_initialized = true; SetConsoleCP(CP_UTF8); SetConsoleOutputCP(CP_UTF8); @@ -275,6 +276,9 @@ int main(const int argc, const char* const* const argv) locked_metrics->track_property("cmdline", trimmed_command_line); #endif } + + Checks::register_console_ctrl_handler(); + load_config(); const auto vcpkg_feature_flags_env = System::get_environment_variable("VCPKG_FEATURE_FLAGS"); @@ -293,8 +297,6 @@ int main(const int argc, const char* const* const argv) if (const auto p = args.sendmetrics.get()) Metrics::g_metrics.lock()->set_send_metrics(*p); if (const auto p = args.debug.get()) GlobalState::debugging = *p; - Checks::register_console_ctrl_handler(); - if (GlobalState::debugging) { inner(args); diff --git a/toolsrc/src/vcpkg/base/checks.cpp b/toolsrc/src/vcpkg/base/checks.cpp index 72176e58c..cc439adfe 100644 --- a/toolsrc/src/vcpkg/base/checks.cpp +++ b/toolsrc/src/vcpkg/base/checks.cpp @@ -24,8 +24,11 @@ namespace vcpkg::Checks metrics->flush(); #if defined(_WIN32) - SetConsoleCP(GlobalState::g_init_console_cp); - SetConsoleOutputCP(GlobalState::g_init_console_output_cp); + if (GlobalState::g_init_console_initialized) + { + SetConsoleCP(GlobalState::g_init_console_cp); + SetConsoleOutputCP(GlobalState::g_init_console_output_cp); + } #endif auto elapsed_us = GlobalState::timer.lock()->microseconds(); @@ -46,12 +49,11 @@ namespace vcpkg::Checks #if defined(_WIN32) static BOOL ctrl_handler(DWORD fdw_ctrl_type) { + switch (fdw_ctrl_type) { - auto locked_metrics = Metrics::g_metrics.lock(); - locked_metrics->track_property("CtrlHandler", std::to_string(fdw_ctrl_type)); - locked_metrics->track_property("error", "CtrlHandler was fired."); + case CTRL_C_EVENT: GlobalState::g_ctrl_c_state.transition_handle_ctrl_c(); return TRUE; + default: return FALSE; } - cleanup_and_exit(EXIT_FAILURE); } void register_console_ctrl_handler() diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index d968c6dac..085471b19 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -133,7 +133,7 @@ namespace vcpkg::System static void windows_create_clean_process(const CStringView cmd_line, const std::unordered_map& extra_env, PROCESS_INFORMATION& process_info, - DWORD dwCreationFlags) + DWORD dwCreationFlags) noexcept { static const std::string SYSTEM_ROOT = get_environment_variable("SystemRoot").value_or_exit(VCPKG_LINE_INFO); static const std::string SYSTEM_32 = SYSTEM_ROOT + R"(\system32)"; @@ -242,7 +242,7 @@ namespace vcpkg::System #endif #if defined(_WIN32) - void cmd_execute_no_wait(const CStringView cmd_line) + void cmd_execute_no_wait(const CStringView cmd_line) noexcept { auto timer = Chrono::ElapsedTimer::create_started(); @@ -258,7 +258,8 @@ namespace vcpkg::System } #endif - int cmd_execute_clean(const CStringView cmd_line, const std::unordered_map& extra_env) + int cmd_execute_clean(const CStringView cmd_line, + const std::unordered_map& extra_env) noexcept { auto timer = Chrono::ElapsedTimer::create_started(); #if defined(_WIN32) @@ -266,11 +267,13 @@ namespace vcpkg::System PROCESS_INFORMATION process_info; memset(&process_info, 0, sizeof(PROCESS_INFORMATION)); + GlobalState::g_ctrl_c_state.transition_to_spawn_process(); windows_create_clean_process(cmd_line, extra_env, process_info, NULL); CloseHandle(process_info.hThread); const DWORD result = WaitForSingleObject(process_info.hProcess, INFINITE); + GlobalState::g_ctrl_c_state.transition_from_spawn_process(); Checks::check_exit(VCPKG_LINE_INFO, result != WAIT_FAILED, "WaitForSingleObject failed"); DWORD exit_code = 0; @@ -279,6 +282,7 @@ namespace vcpkg::System CloseHandle(process_info.hProcess); Debug::println("CreateProcessW() returned %lu after %d us", exit_code, static_cast(timer.microseconds())); + return static_cast(exit_code); #else Debug::println("system(%s)", cmd_line.c_str()); @@ -289,16 +293,18 @@ namespace vcpkg::System #endif } - int cmd_execute(const CStringView cmd_line) + int cmd_execute(const CStringView cmd_line) noexcept { // Flush stdout before launching external process fflush(nullptr); - // Basically we are wrapping it in quotes #if defined(_WIN32) + // We are wrap the command line in quotes to cause cmd.exe to correctly process it const std::string& actual_cmd_line = Strings::format(R"###("%s")###", cmd_line); Debug::println("_wsystem(%s)", actual_cmd_line); + GlobalState::g_ctrl_c_state.transition_to_spawn_process(); const int exit_code = _wsystem(Strings::to_utf16(actual_cmd_line).c_str()); + GlobalState::g_ctrl_c_state.transition_from_spawn_process(); Debug::println("_wsystem() returned %d", exit_code); #else Debug::println("_system(%s)", cmd_line); @@ -308,7 +314,7 @@ namespace vcpkg::System return exit_code; } - ExitCodeAndOutput cmd_execute_and_capture_output(const CStringView cmd_line) + ExitCodeAndOutput cmd_execute_and_capture_output(const CStringView cmd_line) noexcept { // Flush stdout before launching external process fflush(stdout); @@ -321,9 +327,11 @@ namespace vcpkg::System Debug::println("_wpopen(%s)", actual_cmd_line); std::wstring output; wchar_t buf[1024]; + GlobalState::g_ctrl_c_state.transition_to_spawn_process(); const auto pipe = _wpopen(Strings::to_utf16(actual_cmd_line).c_str(), L"r"); if (pipe == nullptr) { + GlobalState::g_ctrl_c_state.transition_from_spawn_process(); return {1, Strings::to_utf8(output.c_str())}; } while (fgetws(buf, 1024, pipe)) @@ -332,10 +340,12 @@ namespace vcpkg::System } if (!feof(pipe)) { + GlobalState::g_ctrl_c_state.transition_from_spawn_process(); return {1, Strings::to_utf8(output.c_str())}; } const auto ec = _pclose(pipe); + GlobalState::g_ctrl_c_state.transition_from_spawn_process(); // On Win7, output from powershell calls contain a utf-8 byte order mark in the utf-16 stream, so we strip it // out if it is present. 0xEF,0xBB,0xBF is the UTF-8 byte-order mark diff --git a/toolsrc/src/vcpkg/globalstate.cpp b/toolsrc/src/vcpkg/globalstate.cpp index a4100acf7..ee576f9ce 100644 --- a/toolsrc/src/vcpkg/globalstate.cpp +++ b/toolsrc/src/vcpkg/globalstate.cpp @@ -13,4 +13,46 @@ namespace vcpkg std::atomic GlobalState::g_init_console_cp(0); std::atomic GlobalState::g_init_console_output_cp(0); + std::atomic GlobalState::g_init_console_initialized(false); + + GlobalState::CtrlCStateMachine GlobalState::g_ctrl_c_state; + + void GlobalState::CtrlCStateMachine::transition_to_spawn_process() noexcept + { + auto expected = CtrlCState::normal; + auto transitioned = m_state.compare_exchange_strong(expected, CtrlCState::blocked_on_child); + if (!transitioned) + { + // Ctrl-C was hit and is asynchronously executing on another thread + Checks::exit_fail(VCPKG_LINE_INFO); + } + } + void GlobalState::CtrlCStateMachine::transition_from_spawn_process() noexcept + { + auto expected = CtrlCState::blocked_on_child; + auto transitioned = m_state.compare_exchange_strong(expected, CtrlCState::normal); + if (!transitioned) + { + // Ctrl-C was hit while blocked on the child process + Checks::exit_fail(VCPKG_LINE_INFO); + } + } + void GlobalState::CtrlCStateMachine::transition_handle_ctrl_c() noexcept + { + auto prev_state = m_state.exchange(CtrlCState::exit_requested); + + if (prev_state == CtrlCState::normal) + { + // Not currently blocked on a child process and Ctrl-C has not been hit. + Checks::exit_fail(VCPKG_LINE_INFO); + } + else if (prev_state == CtrlCState::exit_requested) + { + // Ctrl-C was hit previously + } + else + { + // This is the case where we are currently blocked on a child process + } + } } From faf7c2db7d154e113a65fc0efa3e4266680ed0c4 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 16 Oct 2018 01:26:04 -0700 Subject: [PATCH 110/129] [vcpkg] Improve handling of ctrl-c inside `install` or `build`. --- toolsrc/src/vcpkg/base/system.cpp | 9 +++++---- toolsrc/src/vcpkg/build.cpp | 12 +++++++++--- toolsrc/src/vcpkg/commands.env.cpp | 4 ++-- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index 085471b19..78ba28324 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -223,7 +223,7 @@ namespace vcpkg::System memset(&startup_info, 0, sizeof(STARTUPINFOW)); startup_info.cb = sizeof(STARTUPINFOW); - // Basically we are wrapping it in quotes + // Wrapping the command in a single set of quotes causes cmd.exe to correctly execute const std::string actual_cmd_line = Strings::format(R"###(cmd.exe /c "%s")###", cmd_line); Debug::println("CreateProcessW(%s)", actual_cmd_line); bool succeeded = TRUE == CreateProcessW(nullptr, @@ -316,9 +316,6 @@ namespace vcpkg::System ExitCodeAndOutput cmd_execute_and_capture_output(const CStringView cmd_line) noexcept { - // Flush stdout before launching external process - fflush(stdout); - auto timer = Chrono::ElapsedTimer::create_started(); #if defined(_WIN32) @@ -328,6 +325,8 @@ namespace vcpkg::System std::wstring output; wchar_t buf[1024]; GlobalState::g_ctrl_c_state.transition_to_spawn_process(); + // Flush stdout before launching external process + fflush(stdout); const auto pipe = _wpopen(Strings::to_utf16(actual_cmd_line).c_str(), L"r"); if (pipe == nullptr) { @@ -364,6 +363,8 @@ namespace vcpkg::System Debug::println("popen(%s)", actual_cmd_line); std::string output; char buf[1024]; + // Flush stdout before launching external process + fflush(stdout); const auto pipe = popen(actual_cmd_line.c_str(), "r"); if (pipe == nullptr) { diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index f5f2b9c6c..7569f340f 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -245,7 +245,7 @@ namespace vcpkg::Build const auto arch = to_vcvarsall_toolchain(pre_build_info.target_architecture, toolset); const auto target = to_vcvarsall_target(pre_build_info.cmake_system_name); - return Strings::format(R"("%s" %s %s %s %s 2>&1)", + return Strings::format(R"("%s" %s %s %s %s 2>&1 0) extra_env.emplace("PATH", Strings::join(";", path_vars)); - std::string env_cmd_prefix = env_cmd.empty() ? "" : Strings::format("%s &&", env_cmd); + std::string env_cmd_prefix = env_cmd.empty() ? "" : Strings::format("%s && ", env_cmd); std::string env_cmd_suffix = args.command_arguments.empty() ? "cmd" : Strings::format("cmd /c %s", args.command_arguments.at(0)); - const std::string cmd = Strings::format("%s %s", env_cmd_prefix, env_cmd_suffix); + const std::string cmd = Strings::format("%s%s", env_cmd_prefix, env_cmd_suffix); System::cmd_execute_clean(cmd, extra_env); Checks::exit_success(VCPKG_LINE_INFO); } From f451d95a39a6f5de31068e2499e30ef90430b28d Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 16 Oct 2018 01:35:11 -0700 Subject: [PATCH 111/129] [vcpkg] Fix blocking on `vcpkg edit` with VSCode --- toolsrc/src/vcpkg/commands.edit.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/toolsrc/src/vcpkg/commands.edit.cpp b/toolsrc/src/vcpkg/commands.edit.cpp index 0b1b348c2..237feebdd 100644 --- a/toolsrc/src/vcpkg/commands.edit.cpp +++ b/toolsrc/src/vcpkg/commands.edit.cpp @@ -155,6 +155,16 @@ namespace vcpkg::Commands::Edit const std::vector arguments = create_editor_arguments(paths, options, ports); const auto args_as_string = Strings::join(" ", arguments); const auto cmd_line = Strings::format(R"("%s" %s -n)", env_editor.u8string(), args_as_string); + + auto editor_exe = env_editor.filename().u8string(); + +#ifdef _WIN32 + if (editor_exe == "Code.exe" || editor_exe == "Code - Insiders.exe") + { + System::cmd_execute_no_wait(cmd_line + " Date: Tue, 16 Oct 2018 10:59:33 +0200 Subject: [PATCH 112/129] Initial restbed port (#4232) * Restbed port * [restbed] Disable tests to simplify build. Only build one flavor. --- ports/restbed/CONTROL | 4 +++ ports/restbed/cmake.patch | 59 ++++++++++++++++++++++++++++++++++++ ports/restbed/portfile.cmake | 28 +++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 ports/restbed/CONTROL create mode 100644 ports/restbed/cmake.patch create mode 100644 ports/restbed/portfile.cmake diff --git a/ports/restbed/CONTROL b/ports/restbed/CONTROL new file mode 100644 index 000000000..d0eab13ce --- /dev/null +++ b/ports/restbed/CONTROL @@ -0,0 +1,4 @@ +Source: restbed +Version: 4.16-07-28-2018 +Description: Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++11 applications. +Build-Depends: asio \ No newline at end of file diff --git a/ports/restbed/cmake.patch b/ports/restbed/cmake.patch new file mode 100644 index 000000000..5d73409f9 --- /dev/null +++ b/ports/restbed/cmake.patch @@ -0,0 +1,59 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b66143e..85c5315 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -42,7 +42,9 @@ endif ( ) + set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake" ) + + find_package( asio REQUIRED ) ++if(NOT DISABLE_TESTS) + find_package( catch REQUIRED ) ++endif() + if ( BUILD_SSL ) + find_package( openssl REQUIRED ) + endif ( ) +@@ -54,6 +56,7 @@ include_directories( ${INCLUDE_DIR} SYSTEM ${asio_INCLUDE} ${kashmir_INCLUDE} ${ + # + file( GLOB_RECURSE MANIFEST "${SOURCE_DIR}/*.cpp" ) + ++if(NOT BUILD_SHARED_LIBS) + set( STATIC_LIBRARY_NAME "${PROJECT_NAME}-static" ) + add_library( ${STATIC_LIBRARY_NAME} STATIC ${MANIFEST} ) + set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD 11 ) +@@ -64,7 +67,9 @@ if ( BUILD_SSL ) + else ( ) + target_link_libraries( ${STATIC_LIBRARY_NAME} ) + endif ( ) ++endif() + ++if(BUILD_SHARED_LIBS) + set( SHARED_LIBRARY_NAME "${PROJECT_NAME}-shared" ) + add_library( ${SHARED_LIBRARY_NAME} SHARED ${MANIFEST} ) + set_property( TARGET ${SHARED_LIBRARY_NAME} PROPERTY CXX_STANDARD 11 ) +@@ -76,12 +81,15 @@ if ( BUILD_SSL ) + else ( ) + target_link_libraries( ${SHARED_LIBRARY_NAME} ) + endif ( ) ++endif() + ++if(NOT DISABLE_TESTS) + enable_testing( ) + add_subdirectory( "${PROJECT_SOURCE_DIR}/test/unit" ) + add_subdirectory( "${PROJECT_SOURCE_DIR}/test/feature" ) + add_subdirectory( "${PROJECT_SOURCE_DIR}/test/regression" ) + add_subdirectory( "${PROJECT_SOURCE_DIR}/test/integration" ) ++endif() + + # + # Install +@@ -90,5 +98,8 @@ file( GLOB ARTIFACTS "${SOURCE_DIR}/*.hpp" ) + + install( FILES "${INCLUDE_DIR}/${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_PREFIX}/include" ) + install( FILES ${ARTIFACTS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/corvusoft/${PROJECT_NAME}" ) +-install( TARGETS ${STATIC_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) +-install( TARGETS ${SHARED_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) ++if(NOT BUILD_SHARED_LIBS) ++install( TARGETS ${STATIC_LIBRARY_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) ++else() ++install( TARGETS ${SHARED_LIBRARY_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) ++endif() diff --git a/ports/restbed/portfile.cmake b/ports/restbed/portfile.cmake new file mode 100644 index 000000000..60f1247d8 --- /dev/null +++ b/ports/restbed/portfile.cmake @@ -0,0 +1,28 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Corvusoft/restbed + REF 0f8af8d8ed183a88e208adeb22da0080d5d74d1e + SHA512 f0175a10c88f1ad4f16c8e4cff7ceea7b80c56b0724b59791c23e91f1ecf146dfdbda9e9238d31a35f21d8cdcc413b586cc633725dd0ba87de6b599a7087916f + HEAD_REF master + PATCHES cmake.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_SSL=OFF + -DDISABLE_TESTS=ON +) + +vcpkg_install_cmake() + +#Remove include debug files +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/restbed/copyright COPYONLY) From d798fd304018452c2c850e9f5aa4b54e389ca30f Mon Sep 17 00:00:00 2001 From: Erwan BERNARD Date: Tue, 16 Oct 2018 11:27:22 +0200 Subject: [PATCH 113/129] [flatbuffers] fix executable remaining in bin folder (#4294) * [flatbuffers] fix executable remaining in bin folder * [flatbuffers] clean portfile for flatc executable --- ports/flatbuffers/portfile.cmake | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake index 51212bd32..b6a0e6ba5 100644 --- a/ports/flatbuffers/portfile.cmake +++ b/ports/flatbuffers/portfile.cmake @@ -30,22 +30,22 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/flatbuffers") -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin AND NOT EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin/flatc) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/flatc.exe) +file(GLOB flatc_path ${CURRENT_PACKAGES_DIR}/bin/flatc*) +if(flatc_path) make_directory(${CURRENT_PACKAGES_DIR}/tools/flatbuffers) + get_filename_component(flatc_executable ${flatc_path} NAME) file( RENAME - ${CURRENT_PACKAGES_DIR}/bin/flatc.exe - ${CURRENT_PACKAGES_DIR}/tools/flatbuffers/flatc.exe + ${flatc_path} + ${CURRENT_PACKAGES_DIR}/tools/flatbuffers/${flatc_executable} ) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/flatbuffers) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/flatbuffers) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/flatbuffers) file(RENAME ${CURRENT_PACKAGES_DIR}/share/flatbuffers/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/flatbuffers/copyright) + From 9cf7cfeeb9c7cf393924bb2e962539f31f086ca5 Mon Sep 17 00:00:00 2001 From: Alex Dewar Date: Tue, 16 Oct 2018 11:43:36 +0100 Subject: [PATCH 114/129] Display names of environment variables correctly for non-Windows (#4471) platforms in help Currently vcpkg displays environment variable names in the help as %VARIABLENAME% on non-Windows platforms, where it should be $VARIABLENAME. This patch adds a macro to fix this. --- toolsrc/src/vcpkg/help.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp index 743619937..2b409373d 100644 --- a/toolsrc/src/vcpkg/help.cpp +++ b/toolsrc/src/vcpkg/help.cpp @@ -7,6 +7,13 @@ #include #include +// Write environment variable names as %VARIABLE% on Windows and $VARIABLE in *nix +#ifdef _WIN32 +#define ENVVAR(VARNAME) "%%" #VARNAME "%%" +#else +#define ENVVAR(VARNAME) "$" #VARNAME +#endif + namespace vcpkg::Help { struct Topic @@ -93,7 +100,7 @@ namespace vcpkg::Help "%s" // Integration help "\n" " vcpkg export ... [opt]... Exports a package\n" - " vcpkg edit Open up a port for editing (uses %%EDITOR%%, default 'code')\n" + " vcpkg edit Open up a port for editing (uses " ENVVAR(EDITOR) ", default 'code')\n" " vcpkg import Import a pre-built library\n" " vcpkg create \n" " [archivename] Create a new package\n" @@ -104,10 +111,10 @@ namespace vcpkg::Help "\n" "Options:\n" " --triplet Specify the target architecture triplet.\n" - " (default: %%VCPKG_DEFAULT_TRIPLET%%, see 'vcpkg help triplet')\n" + " (default: " ENVVAR(VCPKG_DEFAULT_TRIPLET) ", see 'vcpkg help triplet')\n" "\n" " --vcpkg-root Specify the vcpkg root directory\n" - " (default: %%VCPKG_ROOT%%)\n" + " (default: " ENVVAR(VCPKG_ROOT) ")\n" "\n" "For more help (including examples) see the accompanying README.md.", Commands::Integrate::INTEGRATE_COMMAND_HELPSTRING); From d5828e6df60362b0f05c23c0c8109ba916466a7a Mon Sep 17 00:00:00 2001 From: Tsukasa Sugiura Date: Tue, 16 Oct 2018 19:44:01 +0900 Subject: [PATCH 115/129] [pcl] Add option introduced in upstream/HEAD (#4462) Add PCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32 option introduced in upstream/HEAD. --- ports/pcl/CONTROL | 2 +- ports/pcl/portfile.cmake | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL index a9f0186fb..b1b20fe06 100644 --- a/ports/pcl/CONTROL +++ b/ports/pcl/CONTROL @@ -1,5 +1,5 @@ Source: pcl -Version: 1.8.1-11 +Version: 1.8.1-12 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 a3b65ebac..dc4619ed3 100644 --- a/ports/pcl/portfile.cmake +++ b/ports/pcl/portfile.cmake @@ -57,6 +57,7 @@ vcpkg_configure_cmake( # PCL -DPCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} -DPCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} + -DPCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} -DPCL_SHARED_LIBS=${PCL_SHARED_LIBS} # WITH -DWITH_CUDA=${WITH_CUDA} From df82d21f320285a8f4cbf16756d8e035cdc74e7c Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 16 Oct 2018 05:53:57 -0700 Subject: [PATCH 116/129] [vcpkg] Fix OSX build for old GCC versions --- toolsrc/include/vcpkg/globalstate.h | 4 +++- toolsrc/src/vcpkg/globalstate.cpp | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/toolsrc/include/vcpkg/globalstate.h b/toolsrc/include/vcpkg/globalstate.h index 2a76c8741..ae66ca355 100644 --- a/toolsrc/include/vcpkg/globalstate.h +++ b/toolsrc/include/vcpkg/globalstate.h @@ -22,6 +22,8 @@ namespace vcpkg struct CtrlCStateMachine { + CtrlCStateMachine(); + void transition_to_spawn_process() noexcept; void transition_from_spawn_process() noexcept; void transition_handle_ctrl_c() noexcept; @@ -34,7 +36,7 @@ namespace vcpkg exit_requested, }; - std::atomic m_state = CtrlCState::normal; + std::atomic m_state; }; static CtrlCStateMachine g_ctrl_c_state; diff --git a/toolsrc/src/vcpkg/globalstate.cpp b/toolsrc/src/vcpkg/globalstate.cpp index ee576f9ce..a54c596fb 100644 --- a/toolsrc/src/vcpkg/globalstate.cpp +++ b/toolsrc/src/vcpkg/globalstate.cpp @@ -17,6 +17,8 @@ namespace vcpkg GlobalState::CtrlCStateMachine GlobalState::g_ctrl_c_state; + GlobalState::CtrlCStateMachine::CtrlCStateMachine() : m_state(CtrlCState::normal) {} + void GlobalState::CtrlCStateMachine::transition_to_spawn_process() noexcept { auto expected = CtrlCState::normal; From 611b87955b0c53b9dac2fd1399ffddfb90d7bb17 Mon Sep 17 00:00:00 2001 From: Jens Weggemann Date: Tue, 16 Oct 2018 19:05:57 +0200 Subject: [PATCH 117/129] [vulkan-memory-allocator] Initial port for release 2.1.0 (#4482) * [vulkan-memory-allocator] Initial port for release 2.1.0 Port for https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator, current release 2.1.0. * [vulkan-memory-allocator] Simplification; avoid usage file if not required. Use unofficial- prefix for targets. --- ports/vulkan-memory-allocator/CONTROL | 3 +++ ports/vulkan-memory-allocator/portfile.cmake | 15 +++++++++++++++ ...nofficial-vulkan-memory-allocator-config.cmake | 8 ++++++++ 3 files changed, 26 insertions(+) create mode 100644 ports/vulkan-memory-allocator/CONTROL create mode 100644 ports/vulkan-memory-allocator/portfile.cmake create mode 100644 ports/vulkan-memory-allocator/unofficial-vulkan-memory-allocator-config.cmake diff --git a/ports/vulkan-memory-allocator/CONTROL b/ports/vulkan-memory-allocator/CONTROL new file mode 100644 index 000000000..ec6c0757a --- /dev/null +++ b/ports/vulkan-memory-allocator/CONTROL @@ -0,0 +1,3 @@ +Source: vulkan-memory-allocator +Version: 2.1.0-1 +Description: Easy to integrate Vulkan memory allocation library from GPUOpen diff --git a/ports/vulkan-memory-allocator/portfile.cmake b/ports/vulkan-memory-allocator/portfile.cmake new file mode 100644 index 000000000..c72af8935 --- /dev/null +++ b/ports/vulkan-memory-allocator/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator + REF v2.1.0 + SHA512 4d7d431d52503d4d448a8b571935678a8a04d8f4a7eceb6ad49cde4f78954e7a2a0a91e48c75382699a62d81cf00601aaa0a358d979ed8e14741a9956484b51e + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/src/vk_mem_alloc.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-vulkan-memory-allocator-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-vulkan-memory-allocator) + +configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/vulkan-memory-allocator/copyright COPYONLY) diff --git a/ports/vulkan-memory-allocator/unofficial-vulkan-memory-allocator-config.cmake b/ports/vulkan-memory-allocator/unofficial-vulkan-memory-allocator-config.cmake new file mode 100644 index 000000000..fc9f62550 --- /dev/null +++ b/ports/vulkan-memory-allocator/unofficial-vulkan-memory-allocator-config.cmake @@ -0,0 +1,8 @@ + +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) + +add_library(unofficial::vulkan-memory-allocator::vulkan-memory-allocator INTERFACE IMPORTED) +set_target_properties(unofficial::vulkan-memory-allocator::vulkan-memory-allocator PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include") +set(_IMPORT_PREFIX) From e7a37f14a82aaead89447c029f62c3427e07373c Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 17 Oct 2018 00:22:35 -0700 Subject: [PATCH 118/129] [protobuf] Disable building the lite runtime. Resolves https://github.com/protocolbuffers/protobuf/issues/4925. --- ports/protobuf/CONTROL | 2 +- ports/protobuf/disable-lite.patch | 41 +++++++++++++++++++++++++++++++ ports/protobuf/portfile.cmake | 7 +++++- 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 ports/protobuf/disable-lite.patch diff --git a/ports/protobuf/CONTROL b/ports/protobuf/CONTROL index 3c480a1e4..c2be8e0f3 100644 --- a/ports/protobuf/CONTROL +++ b/ports/protobuf/CONTROL @@ -1,5 +1,5 @@ Source: protobuf -Version: 3.6.1-2 +Version: 3.6.1-4 Description: Protocol Buffers - Google's data interchange format Feature: zlib diff --git a/ports/protobuf/disable-lite.patch b/ports/protobuf/disable-lite.patch new file mode 100644 index 000000000..ceb34671c --- /dev/null +++ b/ports/protobuf/disable-lite.patch @@ -0,0 +1,41 @@ +diff --git a/cmake/install.cmake b/cmake/install.cmake +index 82036cb..378db2d 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -15,10 +15,12 @@ foreach(_library ${_protobuf_libraries}) + PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ + $) ++ if(NOT "${_library}" STREQUAL "libprotobuf-lite") + install(TARGETS ${_library} EXPORT protobuf-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${_library} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library}) ++ endif() + endforeach() + + if (protobuf_BUILD_PROTOC_BINARIES) +@@ -26,7 +28,7 @@ if (protobuf_BUILD_PROTOC_BINARIES) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc) + endif (protobuf_BUILD_PROTOC_BINARIES) + +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc ${CMAKE_CURRENT_BINARY_DIR}/protobuf-lite.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + + file(STRINGS extract_includes.bat.in _extract_strings + REGEX "^copy") +@@ -107,12 +109,12 @@ configure_file(protobuf-options.cmake + # Allows the build directory to be used as a find directory. + + if (protobuf_BUILD_PROTOC_BINARIES) +- export(TARGETS libprotobuf-lite libprotobuf libprotoc protoc ++ export(TARGETS libprotobuf libprotoc protoc + NAMESPACE protobuf:: + FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake + ) + else (protobuf_BUILD_PROTOC_BINARIES) +- export(TARGETS libprotobuf-lite libprotobuf ++ export(TARGETS libprotobuf + NAMESPACE protobuf:: + FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake + ) diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake index 37919a820..1dc7e6cf5 100644 --- a/ports/protobuf/portfile.cmake +++ b/ports/protobuf/portfile.cmake @@ -7,7 +7,8 @@ vcpkg_from_github( SHA512 1bc175d24b49de1b1e41eaf39598194e583afffb924c86c8d2e569d935af21874be76b2cbd4d9655a1d38bac3d4cd811de88bc2c72d81bad79115e69e5b0d839 HEAD_REF master PATCHES - "${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch" + fix-uwp.patch + disable-lite.patch ) if(CMAKE_HOST_WIN32 AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x86") @@ -110,6 +111,10 @@ else() protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin) endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libprotobuf-lite.lib) + message(FATAL_ERROR "Expected to not build the lite runtime because it contains some of the same symbols as the full runtime.") +endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file(READ ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/platform_macros.h _contents) string(REPLACE "\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" "\#define PROTOBUF_USE_DLLS\n\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" _contents "${_contents}") From 3d12e5ca72d948121463beec6e48290877684471 Mon Sep 17 00:00:00 2001 From: LRFLEW Date: Wed, 17 Oct 2018 12:46:27 -0600 Subject: [PATCH 119/129] Handle symlink when installing or removing a library (#4479) --- toolsrc/include/vcpkg/base/files.h | 3 +++ toolsrc/src/vcpkg/base/files.cpp | 8 ++++++++ toolsrc/src/vcpkg/install.cpp | 19 ++++++++++++++++++- toolsrc/src/vcpkg/remove.cpp | 4 ++-- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/toolsrc/include/vcpkg/base/files.h b/toolsrc/include/vcpkg/base/files.h index ed12ffd74..b07ff25b3 100644 --- a/toolsrc/include/vcpkg/base/files.h +++ b/toolsrc/include/vcpkg/base/files.h @@ -20,6 +20,7 @@ namespace fs inline bool is_regular_file(file_status s) { return stdfs::is_regular_file(s); } inline bool is_directory(file_status s) { return stdfs::is_directory(s); } + inline bool is_symlink(file_status s) { return stdfs::is_symlink(s); } } namespace vcpkg::Files @@ -54,7 +55,9 @@ namespace vcpkg::Files const fs::path& newpath, fs::copy_options opts, std::error_code& ec) = 0; + virtual void copy_symlink(const fs::path& oldpath, const fs::path& newpath, std::error_code& ec) = 0; virtual fs::file_status status(const fs::path& path, std::error_code& ec) const = 0; + virtual fs::file_status symlink_status(const fs::path& path, std::error_code& ec) const = 0; virtual std::vector find_from_PATH(const std::string& name) const = 0; diff --git a/toolsrc/src/vcpkg/base/files.cpp b/toolsrc/src/vcpkg/base/files.cpp index 4ff0912d1..f9bce8631 100644 --- a/toolsrc/src/vcpkg/base/files.cpp +++ b/toolsrc/src/vcpkg/base/files.cpp @@ -216,11 +216,19 @@ namespace vcpkg::Files { return fs::stdfs::copy_file(oldpath, newpath, opts, ec); } + virtual void copy_symlink(const fs::path& oldpath, const fs::path& newpath, std::error_code& ec) + { + return fs::stdfs::copy_symlink(oldpath, newpath, ec); + } virtual fs::file_status status(const fs::path& path, std::error_code& ec) const override { return fs::stdfs::status(path, ec); } + virtual fs::file_status symlink_status(const fs::path& path, std::error_code& ec) const override + { + return fs::stdfs::symlink_status(path, ec); + } virtual void write_contents(const fs::path& file_path, const std::string& data, std::error_code& ec) override { ec.clear(); diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp index 4bb84831e..1cfa2bf71 100644 --- a/toolsrc/src/vcpkg/install.cpp +++ b/toolsrc/src/vcpkg/install.cpp @@ -62,7 +62,7 @@ namespace vcpkg::Install auto files = fs.get_files_recursive(source_dir); for (auto&& file : files) { - const auto status = fs.status(file, ec); + const auto status = fs.symlink_status(file, ec); if (ec) { System::println(System::Color::error, "failed: %s: %s", file.u8string(), ec.message()); @@ -111,6 +111,23 @@ namespace vcpkg::Install output.push_back(Strings::format(R"(%s/%s)", destination_subdirectory, suffix)); break; } + case fs::file_type::symlink: + { + if (fs.exists(target)) + { + System::println(System::Color::warning, + "File %s was already present and will be overwritten", + target.u8string(), + ec.message()); + } + fs.copy_symlink(file, target, ec); + if (ec) + { + System::println(System::Color::error, "failed: %s: %s", target.u8string(), ec.message()); + } + output.push_back(Strings::format(R"(%s/%s)", destination_subdirectory, suffix)); + break; + } default: System::println(System::Color::error, "failed: %s: cannot handle file type", file.u8string()); break; diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp index 13cc9325e..921a04c23 100644 --- a/toolsrc/src/vcpkg/remove.cpp +++ b/toolsrc/src/vcpkg/remove.cpp @@ -55,7 +55,7 @@ namespace vcpkg::Remove auto target = paths.installed / suffix; - const auto status = fs.status(target, ec); + const auto status = fs.symlink_status(target, ec); if (ec) { System::println(System::Color::error, "failed: status(%s): %s", target.u8string(), ec.message()); @@ -66,7 +66,7 @@ namespace vcpkg::Remove { dirs_touched.push_back(target); } - else if (fs::is_regular_file(status)) + else if (fs::is_regular_file(status) || fs::is_symlink(status)) { fs.remove(target, ec); if (ec) From 82eb85df4198ed1f608c5cc51cb962f7eab38dca Mon Sep 17 00:00:00 2001 From: Neil McNeight Date: Wed, 17 Oct 2018 13:46:46 -0500 Subject: [PATCH 120/129] [libyaml] Add new port for libyaml v0.2.1 (#4484) * [libyaml] Add new port for libyaml v0.2.1 * [libyaml] Cleanup --- ports/libyaml/0001-fix-version.patch | 15 +++++++++++++++ ports/libyaml/CONTROL | 3 +++ ports/libyaml/portfile.cmake | 23 +++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 ports/libyaml/0001-fix-version.patch create mode 100644 ports/libyaml/CONTROL create mode 100644 ports/libyaml/portfile.cmake diff --git a/ports/libyaml/0001-fix-version.patch b/ports/libyaml/0001-fix-version.patch new file mode 100644 index 000000000..c2a59d30f --- /dev/null +++ b/ports/libyaml/0001-fix-version.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1abdd77..60a6b44 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,8 +3,8 @@ cmake_minimum_required(VERSION 3.0) + project (yaml C) + + set (YAML_VERSION_MAJOR 0) +-set (YAML_VERSION_MINOR 1) +-set (YAML_VERSION_PATCH 7) ++set (YAML_VERSION_MINOR 2) ++set (YAML_VERSION_PATCH 1) + set (YAML_VERSION_STRING "${YAML_VERSION_MAJOR}.${YAML_VERSION_MINOR}.${YAML_VERSION_PATCH}") + + option(BUILD_SHARED_LIBS "Build libyaml as a shared library" OFF) diff --git a/ports/libyaml/CONTROL b/ports/libyaml/CONTROL new file mode 100644 index 000000000..1c770b2b9 --- /dev/null +++ b/ports/libyaml/CONTROL @@ -0,0 +1,3 @@ +Source: libyaml +Version: 0.2.1-1 +Description: A C library for parsing and emitting YAML. diff --git a/ports/libyaml/portfile.cmake b/ports/libyaml/portfile.cmake new file mode 100644 index 000000000..047692719 --- /dev/null +++ b/ports/libyaml/portfile.cmake @@ -0,0 +1,23 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO yaml/libyaml + REF 0.2.1 + SHA512 8b91738183a6d81c2c0381b4279cff9d8f811dac643ce5e08aa869058f5653ad8a2d9d8f9e563b26ad75b617b80b10ccb32753984a50ed684529a90bdd248bff + HEAD_REF master + PATCHES 0001-fix-version.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/config.h) + +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) + +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/libyaml/copyright COPYONLY) From 0fe909718c28d7377d07ed7130524d4a11a0c8bd Mon Sep 17 00:00:00 2001 From: Koby Kahane Date: Wed, 17 Oct 2018 21:51:09 +0300 Subject: [PATCH 121/129] [cryptopp] update to 7.0 (#4346) * [cryptopp] update to 7.0 * [cryptopp] Fix Linux builds --- ports/cryptopp/CONTROL | 2 +- ports/cryptopp/cmake.patch | 34 ++++++++++++++++++-------------- ports/cryptopp/patch.patch | 10 +++++----- ports/cryptopp/portfile.cmake | 25 ++++++++++------------- ports/cryptopp/simon-speck.patch | 13 ++++++++++++ 5 files changed, 48 insertions(+), 36 deletions(-) create mode 100644 ports/cryptopp/simon-speck.patch diff --git a/ports/cryptopp/CONTROL b/ports/cryptopp/CONTROL index 6fea020bd..89db4de57 100644 --- a/ports/cryptopp/CONTROL +++ b/ports/cryptopp/CONTROL @@ -1,3 +1,3 @@ Source: cryptopp -Version: 6.1.0-2 +Version: 7.0.0 Description: Crypto++ is a free C++ class library of cryptographic schemes. diff --git a/ports/cryptopp/cmake.patch b/ports/cryptopp/cmake.patch index fbe725eb9..699ebd564 100644 --- a/ports/cryptopp/cmake.patch +++ b/ports/cryptopp/cmake.patch @@ -1,15 +1,19 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5b6e1e6..a0adcf6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -329,6 +329,10 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FI\"winapifamily.h\"" ) - endif () - -+if(WINDOWS_STORE) -+ add_definitions(-DCRYPTOPP_DISABLE_NACL=1) -+endif() -+ - # Enable PIC for all target machines except 32-bit i386 due to register pressures. - if (NOT CRYPTOPP_I386) - SET(CMAKE_POSITION_INDEPENDENT_CODE 1) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8cf9fa2..86a756b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -336,9 +336,13 @@ if (MSVC) + if (CMAKE_SYSTEM_VERSION MATCHES "10\\.0.*") + list(APPEND CRYPTOPP_COMPILE_DEFINITIONS "_WIN32_WINNT=0x0A00") + endif () +- list(APPEND CRYPTOPP_COMPILE_OPTIONS "/FI\"winapifamily.h\"") ++ list(APPEND CRYPTOPP_COMPILE_OPTIONS "/FIwinapifamily.h") + endif () + ++if(WINDOWS_STORE) ++ add_definitions(-DCRYPTOPP_DISABLE_NACL=1) ++endif() ++ + # Enable PIC for all target machines except 32-bit i386 due to register pressures. + if (NOT CRYPTOPP_I386) + SET(CMAKE_POSITION_INDEPENDENT_CODE 1) diff --git a/ports/cryptopp/patch.patch b/ports/cryptopp/patch.patch index 5c49d2757..937738d5b 100644 --- a/ports/cryptopp/patch.patch +++ b/ports/cryptopp/patch.patch @@ -1,8 +1,8 @@ -diff --git a/config.h b/config.h -index b96b7aa..3f004ac 100644 ---- a/config.h -+++ b/config.h -@@ -795,6 +795,7 @@ NAMESPACE_END +diff --git a/config.h b/config.h +index f06992a2..be6eda31 100644 +--- a/config.h ++++ b/config.h +@@ -814,6 +814,7 @@ NAMESPACE_END #endif #ifdef CRYPTOPP_WIN32_AVAILABLE diff --git a/ports/cryptopp/portfile.cmake b/ports/cryptopp/portfile.cmake index 6b4b844c4..82893be41 100644 --- a/ports/cryptopp/portfile.cmake +++ b/ports/cryptopp/portfile.cmake @@ -1,35 +1,30 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported. Building static.") # See note below - set(VCPKG_LIBRARY_LINKAGE static) -endif() include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH CMAKE_SOURCE_PATH REPO noloader/cryptopp-cmake - REF aab149932675e4bb777a9d3d6b3f8b8182583fd7 - SHA512 748c77e936888d042bf4a72cc7ee3b7b2ecf16c003cb23296c1af413c9a0cba00cc942ecace26274fc8ac8bd4d848946beb9d7bf2253c5eab3315a4419ef5f1f + REF 2729870f277bd568a8e8183b5ba7799e0c2dbf96 + SHA512 fff9468774f66a895ab44ce76d37b320aeaa9398514b66d5116ffe84705ef7a202586622d598ea03f7c1636587893d46c6eee5e0da965c58fb74131c4b76223c HEAD_REF master + PATCHES + cmake.patch + simon-speck.patch ) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO weidai11/cryptopp - REF CRYPTOPP_6_1_0 - SHA512 4bc02fef33f1859a07434a4752c2575afd781056e9a91eed99a13cebe2c91d66cbc7173e34d362da63dad6d38f9594ff291accd27e111232996ccd536bba0f39 + REF CRYPTOPP_7_0_0 + SHA512 bc83f6adf0ae627c57ff9172d8cee69e7000d9b414ec903a50f11f9a68da08d1dd4985ddaffada86bf58e8168a2df065185efd932201d2df9db3f73025825e54 HEAD_REF master + PATCHES patch.patch ) file(COPY ${CMAKE_SOURCE_PATH}/cryptopp-config.cmake DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_SOURCE_PATH}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_apply_patches( - SOURCE_PATH "${SOURCE_PATH}" - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/patch.patch" - "${CMAKE_CURRENT_LIST_DIR}/cmake.patch" -) - # Dynamic linking should be avoided for Crypto++ to reduce the attack surface, # so generate a static lib for both dynamic and static vcpkg targets. # See also: diff --git a/ports/cryptopp/simon-speck.patch b/ports/cryptopp/simon-speck.patch new file mode 100644 index 000000000..a1d911930 --- /dev/null +++ b/ports/cryptopp/simon-speck.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7d64977..4ec3ebd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -497,6 +497,8 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU + set_source_files_properties(${SRC_DIR}/simeck-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") + set_source_files_properties(${SRC_DIR}/simon128-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") + set_source_files_properties(${SRC_DIR}/speck128-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") ++ set_source_files_properties(${SRC_DIR}/simon-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") ++ set_source_files_properties(${SRC_DIR}/speck-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") + if (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4) + set_source_files_properties(${SRC_DIR}/blake2-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1") + set_source_files_properties(${SRC_DIR}/simon64-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1") From d45c9779a7dbe1e6d9703fc4ef4523a8a8b3e874 Mon Sep 17 00:00:00 2001 From: myd7349 Date: Thu, 18 Oct 2018 02:52:23 +0800 Subject: [PATCH 122/129] [docopt] Add new port to fix #3935 (#4343) * [docopt] Add docopt.cpp to fix #3935 * [docopt] Cleanup * [docopt] Disable vcpkg_test_cmake due to misbehavior on x64 * [docopt] Install only one flavor (static/shared) --- ports/docopt/001-fix-unresolved-symbol.patch | 28 ++++++++++++ ports/docopt/002-fix-install-path.patch | 16 +++++++ ports/docopt/CONTROL | 3 ++ ports/docopt/install-one-flavor.patch | 21 +++++++++ ports/docopt/portfile.cmake | 46 ++++++++++++++++++++ 5 files changed, 114 insertions(+) create mode 100644 ports/docopt/001-fix-unresolved-symbol.patch create mode 100644 ports/docopt/002-fix-install-path.patch create mode 100644 ports/docopt/CONTROL create mode 100644 ports/docopt/install-one-flavor.patch create mode 100644 ports/docopt/portfile.cmake diff --git a/ports/docopt/001-fix-unresolved-symbol.patch b/ports/docopt/001-fix-unresolved-symbol.patch new file mode 100644 index 000000000..3078fa44c --- /dev/null +++ b/ports/docopt/001-fix-unresolved-symbol.patch @@ -0,0 +1,28 @@ +diff --git a/docopt.h b/docopt.h +index 4c40741..06a04f8 100644 +--- a/docopt.h ++++ b/docopt.h +@@ -85,6 +85,9 @@ namespace docopt { + bool help = true, + std::string const& version = {}, + bool options_first = false) noexcept; ++ ++ /// Write out the contents to the ostream ++ std::ostream DOCOPT_API & operator<<(std::ostream&, value const&); + } + + #ifdef DOCOPT_HEADER_ONLY +diff --git a/docopt_value.h b/docopt_value.h +index a923219..7f0d6d6 100644 +--- a/docopt_value.h ++++ b/docopt_value.h +@@ -102,9 +102,6 @@ namespace docopt { + Kind kind = Kind::Empty; + Variant variant {}; + }; +- +- /// Write out the contents to the ostream +- std::ostream& operator<<(std::ostream&, value const&); + } + + namespace std { diff --git a/ports/docopt/002-fix-install-path.patch b/ports/docopt/002-fix-install-path.patch new file mode 100644 index 000000000..332e6e4c2 --- /dev/null +++ b/ports/docopt/002-fix-install-path.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1aba5ae..5407e4a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,7 +113,10 @@ endif() + set(export_name "docopt-targets") + + # Runtime package +-install(TARGETS docopt EXPORT ${export_name} DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS docopt EXPORT ${export_name} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + + # Development package + install(TARGETS docopt_s EXPORT ${export_name} DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/ports/docopt/CONTROL b/ports/docopt/CONTROL new file mode 100644 index 000000000..0fc6d09c8 --- /dev/null +++ b/ports/docopt/CONTROL @@ -0,0 +1,3 @@ +Source: docopt +Version: 2018-04-16-2 +Description: Command line arguments parser that will make you smile (C++11 port). diff --git a/ports/docopt/install-one-flavor.patch b/ports/docopt/install-one-flavor.patch new file mode 100644 index 000000000..f6cda826a --- /dev/null +++ b/ports/docopt/install-one-flavor.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bff867c..cc7d706 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,13 +113,15 @@ endif() + set(export_name "docopt-targets") + + # Runtime package ++if(BUILD_SHARED_LIBS) + install(TARGETS docopt EXPORT ${export_name} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +- ++else() + # Development package + install(TARGETS docopt_s EXPORT ${export_name} DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++endif() + install(FILES ${docopt_HEADERS} DESTINATION include/docopt) + + # CMake Package diff --git a/ports/docopt/portfile.cmake b/ports/docopt/portfile.cmake new file mode 100644 index 000000000..5076bf742 --- /dev/null +++ b/ports/docopt/portfile.cmake @@ -0,0 +1,46 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO docopt/docopt.cpp + REF 4f491249e6def236937dbfac7602852e7d99aff8 + SHA512 d3a61f8d8a8c11723064f3405f03eb838a2ac9aa574f86771b1db89a2dd81996b639215fe5d4465343b893bf71502da178c7af8d883c112c1e45f43c17d473b7 + HEAD_REF master + PATCHES + 001-fix-unresolved-symbol.patch + 002-fix-install-path.patch + install-one-flavor.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DWITH_EXAMPLE=OFF + -DWITH_TESTS=OFF + -DUSE_BOOST_REGEX=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/docopt) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(READ ${CURRENT_PACKAGES_DIR}/include/docopt/docopt.h _contents) + string(REPLACE "#ifdef DOCOPT_DLL" "#if 1" _contents "${_contents}") + file(WRITE ${CURRENT_PACKAGES_DIR}/include/docopt/docopt.h "${_contents}") +endif() + +# Header-only style when DOCOPT_HEADER_ONLY is defined +file(COPY + ${SOURCE_PATH}/docopt.cpp + DESTINATION ${CURRENT_PACKAGES_DIR}/include/docopt) + +# Handle copyright +file(INSTALL + ${SOURCE_PATH}/LICENSE-MIT + DESTINATION ${CURRENT_PACKAGES_DIR}/share/docopt RENAME copyright) + +vcpkg_copy_pdbs() From cf199dba42735eac4065586dac0701fdfc6fd53d Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Tue, 16 Oct 2018 15:58:50 -0700 Subject: [PATCH 123/129] Survey prompts are now shown only for intall/remove/export/update --- toolsrc/src/vcpkg.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index ba9710562..bcce8ceb2 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -113,7 +113,7 @@ static void inner(const VcpkgCmdArguments& args) #endif Checks::check_exit(VCPKG_LINE_INFO, exit_code == 0, "Changing the working dir failed"); - if (args.command != "autocomplete") + if (args.command == "install" || args.command == "remove" || args.command == "export" || args.command == "update") { Commands::Version::warn_if_vcpkg_version_mismatch(paths); std::string surveydate = *GlobalState::g_surveydate.lock(); From f19df646a09d68856c5c4575174831f0d0a295e1 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Wed, 17 Oct 2018 19:05:24 -0700 Subject: [PATCH 124/129] Survey times. Refactor Chrono stuff. All times UTC, unless explicitly mentioned Survey is set to be every 6 months, but you also get one in the first 10 days. --- toolsrc/include/vcpkg/base/chrono.h | 8 +- toolsrc/include/vcpkg/base/system.h | 2 - toolsrc/src/vcpkg.cpp | 18 +++-- toolsrc/src/vcpkg/base/chrono.cpp | 96 ++++++++++++++++++------ toolsrc/src/vcpkg/base/system.cpp | 15 +--- toolsrc/src/vcpkg/commands.exportifw.cpp | 2 +- toolsrc/src/vcpkg/export.cpp | 10 +-- 7 files changed, 98 insertions(+), 53 deletions(-) diff --git a/toolsrc/include/vcpkg/base/chrono.h b/toolsrc/include/vcpkg/base/chrono.h index aa764a597..6f6e2b317 100644 --- a/toolsrc/include/vcpkg/base/chrono.h +++ b/toolsrc/include/vcpkg/base/chrono.h @@ -52,8 +52,10 @@ namespace vcpkg::Chrono static Optional get_current_date_time(); static Optional parse(CStringView str); - constexpr CTime() noexcept : m_tm{0} {} - explicit constexpr CTime(tm t) noexcept : m_tm{t} {} + constexpr CTime() noexcept : m_tm {0} {} + explicit constexpr CTime(tm t) noexcept : m_tm {t} {} + + CTime add_hours(const int hours) const; std::string to_string() const; @@ -62,4 +64,6 @@ namespace vcpkg::Chrono private: mutable tm m_tm; }; + + tm get_current_date_time_local(); } diff --git a/toolsrc/include/vcpkg/base/system.h b/toolsrc/include/vcpkg/base/system.h index 005e09a3f..af56e45c1 100644 --- a/toolsrc/include/vcpkg/base/system.h +++ b/toolsrc/include/vcpkg/base/system.h @@ -8,8 +8,6 @@ namespace vcpkg::System { - tm get_current_date_time(); - fs::path get_exe_path_of_current_process(); struct CMakeVariable diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index bcce8ceb2..3589881a7 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -33,6 +33,12 @@ using namespace vcpkg; +// 24 hours/day * 30 days/month * 6 months +static constexpr int SURVEY_INTERVAL_IN_HOURS = 24 * 30 * 6; + +// Initial survey appears after 10 days. Therefore, subtract 24 hours/day * 10 days +static constexpr int SURVEY_INITIAL_OFFSET_IN_HOURS = SURVEY_INTERVAL_IN_HOURS - 24 * 10; + void invalid_command(const std::string& cmd) { System::println(System::Color::error, "invalid command: %s", cmd); @@ -120,12 +126,12 @@ static void inner(const VcpkgCmdArguments& args) auto maybe_surveydate = Chrono::CTime::parse(surveydate); if (auto p_surveydate = maybe_surveydate.get()) { - auto delta = std::chrono::system_clock::now() - p_surveydate->to_time_point(); - // 24 hours/day * 30 days/month - if (std::chrono::duration_cast(delta).count() > 24 * 30) + const auto now = Chrono::CTime::get_current_date_time().value_or_exit(VCPKG_LINE_INFO); + const auto delta = now.to_time_point() - p_surveydate->to_time_point(); + if (std::chrono::duration_cast(delta).count() > SURVEY_INTERVAL_IN_HOURS) { std::default_random_engine generator( - static_cast(std::chrono::system_clock::now().time_since_epoch().count())); + static_cast(now.to_time_point().time_since_epoch().count())); std::uniform_int_distribution distribution(1, 4); if (distribution(generator) == 1) @@ -214,7 +220,9 @@ static void load_config() if (config.last_completed_survey.empty()) { - config.last_completed_survey = config.user_time; + const auto now = Chrono::CTime::parse(config.user_time).value_or_exit(VCPKG_LINE_INFO); + const Chrono::CTime offset = now.add_hours(-SURVEY_INITIAL_OFFSET_IN_HOURS); + config.last_completed_survey = offset.to_string(); } GlobalState::g_surveydate.lock()->assign(config.last_completed_survey); diff --git a/toolsrc/src/vcpkg/base/chrono.cpp b/toolsrc/src/vcpkg/base/chrono.cpp index 2a76f5df0..405e76605 100644 --- a/toolsrc/src/vcpkg/base/chrono.cpp +++ b/toolsrc/src/vcpkg/base/chrono.cpp @@ -5,6 +5,61 @@ namespace vcpkg::Chrono { + static std::time_t get_current_time_as_time_since_epoch() + { + using std::chrono::system_clock; + return system_clock::to_time_t(system_clock::now()); + } + + static std::time_t utc_mktime(tm* time_ptr) + { +#if defined(_WIN32) + return _mkgmtime(time_ptr); +#else + return timegm(time_ptr); +#endif + } + + static tm to_local_time(const std::time_t& t) + { + tm parts {}; +#if defined(_WIN32) + localtime_s(&parts, &t); +#else + parts = *localtime(&t); +#endif + return parts; + } + + static Optional to_utc_time(const std::time_t& t) + { + tm parts {}; +#if defined(_WIN32) + const errno_t err = gmtime_s(&parts, &t); + if (err) + { + return nullopt; + } +#else + auto null_if_failed = gmtime_r(&t, &parts); + if (null_if_failed == nullptr) + { + return nullopt; + } +#endif + return parts; + } + + static tm date_plus_hours(tm* date, const int hours) + { + using namespace std::chrono_literals; + static constexpr std::chrono::seconds SECONDS_IN_ONE_HOUR = + std::chrono::duration_cast(1h); + + const std::time_t date_in_seconds = utc_mktime(date) + (hours * SECONDS_IN_ONE_HOUR.count()); + return to_utc_time(date_in_seconds).value_or_exit(VCPKG_LINE_INFO); + } + static std::string format_time_userfriendly(const std::chrono::nanoseconds& nanos) { using std::chrono::duration_cast; @@ -63,30 +118,14 @@ namespace vcpkg::Chrono Optional CTime::get_current_date_time() { - CTime ret; - -#if defined(_WIN32) - struct _timeb timebuffer; - - _ftime_s(&timebuffer); - - const errno_t err = gmtime_s(&ret.m_tm, &timebuffer.time); - - if (err) + const std::time_t ct = get_current_time_as_time_since_epoch(); + const Optional opt = to_utc_time(ct); + if (auto p_tm = opt.get()) { - return nullopt; + return CTime {*p_tm}; } -#else - time_t now = {0}; - time(&now); - auto null_if_failed = gmtime_r(&now, &ret.m_tm); - if (null_if_failed == nullptr) - { - return nullopt; - } -#endif - return ret; + return nullopt; } Optional CTime::parse(CStringView str) @@ -111,19 +150,28 @@ namespace vcpkg::Chrono ret.m_tm.tm_year -= 1900; if (ret.m_tm.tm_mon < 1) return nullopt; ret.m_tm.tm_mon -= 1; - mktime(&ret.m_tm); + utc_mktime(&ret.m_tm); + return ret; } + CTime CTime::add_hours(const int hours) const { return CTime {date_plus_hours(&this->m_tm, hours)}; } + std::string CTime::to_string() const { - std::array date{}; + std::array date {}; strftime(&date[0], date.size(), "%Y-%m-%dT%H:%M:%S.0Z", &m_tm); return &date[0]; } std::chrono::system_clock::time_point CTime::to_time_point() const { - const time_t t = mktime(&m_tm); + const time_t t = utc_mktime(&m_tm); return std::chrono::system_clock::from_time_t(t); } + + tm get_current_date_time_local() + { + const std::time_t now_time = get_current_time_as_time_since_epoch(); + return Chrono::to_local_time(now_time); + } } diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index 78ba28324..d95752bba 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -19,19 +19,6 @@ namespace vcpkg::System { - tm get_current_date_time() - { - using std::chrono::system_clock; - std::time_t now_time = system_clock::to_time_t(system_clock::now()); - tm parts{}; -#if defined(_WIN32) - localtime_s(&parts, &now_time); -#else - parts = *localtime(&now_time); -#endif - return parts; - } - fs::path get_exe_path_of_current_process() { #if defined(_WIN32) @@ -402,7 +389,7 @@ namespace vcpkg::System #if defined(_WIN32) const HANDLE console_handle = GetStdHandle(STD_OUTPUT_HANDLE); - CONSOLE_SCREEN_BUFFER_INFO console_screen_buffer_info{}; + CONSOLE_SCREEN_BUFFER_INFO console_screen_buffer_info {}; GetConsoleScreenBufferInfo(console_handle, &console_screen_buffer_info); const auto original_color = console_screen_buffer_info.wAttributes; diff --git a/toolsrc/src/vcpkg/commands.exportifw.cpp b/toolsrc/src/vcpkg/commands.exportifw.cpp index ae106196a..62725a90a 100644 --- a/toolsrc/src/vcpkg/commands.exportifw.cpp +++ b/toolsrc/src/vcpkg/commands.exportifw.cpp @@ -13,7 +13,7 @@ namespace vcpkg::Export::IFW static std::string create_release_date() { - const tm date_time = System::get_current_date_time(); + const tm date_time = Chrono::get_current_date_time_local(); // Format is: YYYY-mm-dd // 10 characters + 1 null terminating character will be written for a total of 11 chars diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp index 8161c0a62..eec9a39f2 100644 --- a/toolsrc/src/vcpkg/export.cpp +++ b/toolsrc/src/vcpkg/export.cpp @@ -108,7 +108,7 @@ namespace vcpkg::Export static std::string create_export_id() { - const tm date_time = System::get_current_date_time(); + const tm date_time = Chrono::get_current_date_time_local(); // Format is: YYYYmmdd-HHMMSS // 15 characters + 1 null terminating character will be written for a total of 16 chars @@ -227,10 +227,10 @@ namespace vcpkg::Export { const std::vector integration_files_relative_to_root = { {".vcpkg-root"}, - {fs::path{"scripts"} / "buildsystems" / "msbuild" / "applocal.ps1"}, - {fs::path{"scripts"} / "buildsystems" / "msbuild" / "vcpkg.targets"}, - {fs::path{"scripts"} / "buildsystems" / "vcpkg.cmake"}, - {fs::path{"scripts"} / "cmake" / "vcpkg_get_windows_sdk.cmake"}, + {fs::path {"scripts"} / "buildsystems" / "msbuild" / "applocal.ps1"}, + {fs::path {"scripts"} / "buildsystems" / "msbuild" / "vcpkg.targets"}, + {fs::path {"scripts"} / "buildsystems" / "vcpkg.cmake"}, + {fs::path {"scripts"} / "cmake" / "vcpkg_get_windows_sdk.cmake"}, }; for (const fs::path& file : integration_files_relative_to_root) From 26d431c120d7d02ea23cb3be67948baecb4c5d2f Mon Sep 17 00:00:00 2001 From: Raydelto Hernandez Date: Thu, 18 Oct 2018 17:37:20 -0300 Subject: [PATCH 125/129] Removing cases and making clearer the text The word Privacy was capitalized for no reason. I've also added to word programming so that it's clear that the document refers to programming languages, before it referred only to language. --- docs/about/faq.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/about/faq.md b/docs/about/faq.md index eb35ca241..0178e051a 100644 --- a/docs/about/faq.md +++ b/docs/about/faq.md @@ -35,7 +35,7 @@ To use different versions of a library for different projects, we recommend maki If your application is very sensitive to the versions of libraries, we recommend checking in the specific set of portfiles you need into your source control along with your project sources and using the `--vcpkg-root` option to redirect the working directory of `vcpkg.exe`. -## How does Vcpkg protect my Privacy? +## How does Vcpkg protect my privacy? See the [Privacy document](privacy.md) for all information regarding privacy. ## Can I use my own CMake toolchain file with Vcpkg's toolchain file? @@ -108,7 +108,7 @@ Conan.io is a publicly-federated, project-centric, cross-platform, C++ package m - **Cross-platform vs single-platform**. While being hosted on many platforms is an excellent north star, we believe the level of system integration and stability provided by apt-get, yum, and homebrew is well worth needing to exchange `apt-get install libboost-all-dev` with `brew install boost` in automated scripts. We chose to make our system as easy as possible to integrate into a world with these very successful system managers -- one more line for `vcpkg install boost` -- instead of attempting to replace them where they are already so successful and well-loved. -- **C++/CMake vs python**. While Python is an excellent language loved by many, we believe that transparency and familiarity are the most important factors when choosing a tool as important to your workflow as a package manager. Consequently, we chose to make the implementation languages be as universally accepted as possible: C++ should be used in a C++ package manager for C++ programmers. You should not be required to learn another language just to understand your package manager. +- **C++/CMake vs python**. While Python is an excellent language loved by many, we believe that transparency and familiarity are the most important factors when choosing a tool as important to your workflow as a package manager. Consequently, we chose to make the implementation languages be as universally accepted as possible: C++ should be used in a C++ package manager for C++ programmers. You should not be required to learn another programming language just to understand your package manager. ## Why not Chocolatey? Chocolatey is an excellent system for managing applications. However, it is not currently designed to acquire redistributable developer assets and help you with debugging. Vcpkg, in comparison, is designed to get you the libraries you need to build your application and help you deliver through any platform you'd like (including Chocolatey!). From 1d59b34d6f97fadb015e4ca6baa76db9e1e8ab33 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 19 Oct 2018 02:34:26 -0700 Subject: [PATCH 126/129] [ecsutil] Initial commit of 1.0.1.2 --- ports/ecsutil/CONTROL | 3 ++ ports/ecsutil/portfile.cmake | 80 ++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 ports/ecsutil/CONTROL create mode 100644 ports/ecsutil/portfile.cmake diff --git a/ports/ecsutil/CONTROL b/ports/ecsutil/CONTROL new file mode 100644 index 000000000..1a4eff9c2 --- /dev/null +++ b/ports/ecsutil/CONTROL @@ -0,0 +1,3 @@ +Source: ecsutil +Version: 1.0.1.2 +Description: Native Windows SDK for accessing ECS via the S3 HTTP protocol. diff --git a/ports/ecsutil/portfile.cmake b/ports/ecsutil/portfile.cmake new file mode 100644 index 000000000..874759afc --- /dev/null +++ b/ports/ecsutil/portfile.cmake @@ -0,0 +1,80 @@ +# Common Ambient Variables: +# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} +# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} +# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} +# PORT = current port name (zlib, etc) +# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) +# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) +# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) +# VCPKG_ROOT_DIR = +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# + +include(vcpkg_common_functions) + +set(ECSUTIL_VERSION "v1.0.1.2") +set(ECSUtil_HASH 399aec10a625ee6eb8f7869005b9221a1e4930c7e8774c20467ddc0e86312e7e1224fb29a1b54d3c9669b78708a23db548195f8973a19eb5559338f600688888) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) + +#architecture detection +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(ECSUtil_ARCH Win32) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(ECSUtil_ARCH x64) +else() + message(FATAL_ERROR "unsupported architecture") +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(ECSUtil_CONFIGURATION_RELEASE Release) + set(ECSUtil_CONFIGURATION_DEBUG Debug) +else() + if (VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(ECSUtil_CONFIGURATION_RELEASE "Release Lib") + set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib") + else() + set(ECSUtil_CONFIGURATION_RELEASE "Release Lib Static") + set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib Static") + endif() +endif() + +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/EMCECS/ecs-object-client-windows-cpp/releases/download/${ECSUTIL_VERSION}/ecs-object-client-windows-cpp.${ECSUTIL_VERSION}.zip" + FILENAME "ecs-object-client-windows-cpp.${ECSUTIL_VERSION}.zip" + SHA512 ${ECSUtil_HASH} +) +vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/ECSUtil.sln + TARGET ECSUtil + RELEASE_CONFIGURATION ${ECSUtil_CONFIGURATION_RELEASE} + DEBUG_CONFIGURATION ${ECSUtil_CONFIGURATION_DEBUG} +) + +file(COPY ${SOURCE_PATH}/ECSUtil DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN *.h) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/ECSUtil/res) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(COPY ${SOURCE_PATH}/Debug/${ECSUtil_ARCH}/ECSUtil.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(COPY ${SOURCE_PATH}/Debug/${ECSUtil_ARCH}/ECSUtil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(COPY ${SOURCE_PATH}/Release/${ECSUtil_ARCH}/ECSUtil.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(COPY ${SOURCE_PATH}/Release/${ECSUtil_ARCH}/ECSUtil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +elseif (VCPKG_LIBRARY_LINKAGE STREQUAL static) + if (VCPKG_CRT_LINKAGE STREQUAL dynamic) + file(COPY "${SOURCE_PATH}/Debug Lib/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(COPY "${SOURCE_PATH}/objDebug Lib/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(COPY "${SOURCE_PATH}/Release Lib/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(COPY "${SOURCE_PATH}/objRelease Lib/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + else() + file(COPY "${SOURCE_PATH}/Debug Lib Static/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(COPY "${SOURCE_PATH}/objDebug Lib Static/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(COPY "${SOURCE_PATH}/Release Lib Static/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(COPY "${SOURCE_PATH}/objRelease Lib Static/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + endif() +endif() + +# Handle copyright +file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ecsutil/copyright) + +vcpkg_copy_pdbs() From 13ec697c39ff6441393003f38635898b04d6d931 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 19 Oct 2018 02:55:52 -0700 Subject: [PATCH 127/129] [ecsutil] Simplify and use vcpkg_install_msbuild --- ports/ecsutil/CONTROL | 1 + ports/ecsutil/portfile.cmake | 89 ++++++++++++------------------------ 2 files changed, 30 insertions(+), 60 deletions(-) diff --git a/ports/ecsutil/CONTROL b/ports/ecsutil/CONTROL index 1a4eff9c2..baec5a3cb 100644 --- a/ports/ecsutil/CONTROL +++ b/ports/ecsutil/CONTROL @@ -1,3 +1,4 @@ Source: ecsutil Version: 1.0.1.2 Description: Native Windows SDK for accessing ECS via the S3 HTTP protocol. +Build-Depends: atlmfc diff --git a/ports/ecsutil/portfile.cmake b/ports/ecsutil/portfile.cmake index 874759afc..dd29d0b93 100644 --- a/ports/ecsutil/portfile.cmake +++ b/ports/ecsutil/portfile.cmake @@ -1,80 +1,49 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -set(ECSUTIL_VERSION "v1.0.1.2") -set(ECSUtil_HASH 399aec10a625ee6eb8f7869005b9221a1e4930c7e8774c20467ddc0e86312e7e1224fb29a1b54d3c9669b78708a23db548195f8973a19eb5559338f600688888) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) - -#architecture detection if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(ECSUtil_ARCH Win32) + set(PLATFORM x86) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(ECSUtil_ARCH x64) + set(PLATFORM x64) else() - message(FATAL_ERROR "unsupported architecture") + message(FATAL_ERROR "Unsupported architecture") +endif() + +if(VCPKG_CMAKE_SYSTEM_NAME) + message(FATAL_ERROR "Unsupported platform. ECSUTIL currently only supports windows desktop.") endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(ECSUtil_CONFIGURATION_RELEASE Release) set(ECSUtil_CONFIGURATION_DEBUG Debug) else() - if (VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(ECSUtil_CONFIGURATION_RELEASE "Release Lib") - set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib") - else() - set(ECSUtil_CONFIGURATION_RELEASE "Release Lib Static") - set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib Static") - endif() + if (VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(ECSUtil_CONFIGURATION_RELEASE "Release Lib") + set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib") + else() + set(ECSUtil_CONFIGURATION_RELEASE "Release Lib Static") + set(ECSUtil_CONFIGURATION_DEBUG "Debug Lib Static") + endif() endif() -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/EMCECS/ecs-object-client-windows-cpp/releases/download/${ECSUTIL_VERSION}/ecs-object-client-windows-cpp.${ECSUTIL_VERSION}.zip" - FILENAME "ecs-object-client-windows-cpp.${ECSUTIL_VERSION}.zip" - SHA512 ${ECSUtil_HASH} +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO EMCECS/ecs-object-client-windows-cpp + REF v1.0.1.2 + SHA512 ee6c9086111f9cb4a3b9b0645a6a8921bae1d3e8fba0d054d824935b0ff82a57db5c1476183202694afe33f89bfc47db1ef91696a739a1a43a1e2411e4361e6f + HEAD_REF master + PATCHES disable-setversion.patch ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/ECSUtil.sln - TARGET ECSUtil +vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH ECSUtil.sln + PLATFORM ${PLATFORM} + LICENSE_SUBPATH license.txt + TARGET ECSUtil RELEASE_CONFIGURATION ${ECSUtil_CONFIGURATION_RELEASE} DEBUG_CONFIGURATION ${ECSUtil_CONFIGURATION_DEBUG} ) file(COPY ${SOURCE_PATH}/ECSUtil DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN *.h) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/ECSUtil/res) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(COPY ${SOURCE_PATH}/Debug/${ECSUtil_ARCH}/ECSUtil.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(COPY ${SOURCE_PATH}/Debug/${ECSUtil_ARCH}/ECSUtil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY ${SOURCE_PATH}/Release/${ECSUtil_ARCH}/ECSUtil.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(COPY ${SOURCE_PATH}/Release/${ECSUtil_ARCH}/ECSUtil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -elseif (VCPKG_LIBRARY_LINKAGE STREQUAL static) - if (VCPKG_CRT_LINKAGE STREQUAL dynamic) - file(COPY "${SOURCE_PATH}/Debug Lib/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY "${SOURCE_PATH}/objDebug Lib/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY "${SOURCE_PATH}/Release Lib/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(COPY "${SOURCE_PATH}/objRelease Lib/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - else() - file(COPY "${SOURCE_PATH}/Debug Lib Static/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY "${SOURCE_PATH}/objDebug Lib Static/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY "${SOURCE_PATH}/Release Lib Static/${ECSUtil_ARCH}/ECSUtil.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(COPY "${SOURCE_PATH}/objRelease Lib Static/${ECSUtil_ARCH}/ECSUtil/ECSUtil.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - endif() -endif() - -# Handle copyright -file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ecsutil/copyright) - -vcpkg_copy_pdbs() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/ECSUtil/res ${CURRENT_PACKAGES_DIR}/tools) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/NatvisAddIn.dll ${CURRENT_PACKAGES_DIR}/debug/bin/NatvisAddIn.dll) From 9b21ff9612916e24f89c6839599d3d50446597d8 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 19 Oct 2018 03:00:39 -0700 Subject: [PATCH 128/129] [ecsutil] Commit missing patch --- ports/ecsutil/CONTROL | 2 +- ports/ecsutil/disable-setversion.patch | 36 ++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 ports/ecsutil/disable-setversion.patch diff --git a/ports/ecsutil/CONTROL b/ports/ecsutil/CONTROL index baec5a3cb..fada181ac 100644 --- a/ports/ecsutil/CONTROL +++ b/ports/ecsutil/CONTROL @@ -1,4 +1,4 @@ Source: ecsutil -Version: 1.0.1.2 +Version: 1.0.1.2-1 Description: Native Windows SDK for accessing ECS via the S3 HTTP protocol. Build-Depends: atlmfc diff --git a/ports/ecsutil/disable-setversion.patch b/ports/ecsutil/disable-setversion.patch new file mode 100644 index 000000000..2899a0108 --- /dev/null +++ b/ports/ecsutil/disable-setversion.patch @@ -0,0 +1,36 @@ +diff --git a/ECSUtil/ECSUtil.vcxproj b/ECSUtil/ECSUtil.vcxproj +index 05c5726..f8ac64e 100644 +--- a/ECSUtil/ECSUtil.vcxproj ++++ b/ECSUtil/ECSUtil.vcxproj +@@ -274,7 +274,6 @@ + $(IntDir);%(AdditionalIncludeDirectories) + + +- $(SolutionDir)bin\setversion.exe /getversion "#define ECSUTIL_VERSION" "$(SolutionDir)ECSUtil\Version.h" $(OutDir)ECSUtil.dll + + + set version resource in DLL from source file +@@ -361,7 +360,6 @@ + $(IntDir);%(AdditionalIncludeDirectories) + + +- $(SolutionDir)bin\setversion.exe /getversion "#define ECSUTIL_VERSION" "$(SolutionDir)ECSUtil\Version.h" $(OutDir)ECSUtil.dll + + + set version resource in DLL from source file +@@ -445,7 +443,6 @@ + $(IntDir);%(AdditionalIncludeDirectories) + + +- $(SolutionDir)bin\setversion.exe /getversion "#define ECSUTIL_VERSION" "$(SolutionDir)ECSUtil\Version.h" $(OutDir)ECSUtil.dll + + + set version resource in DLL from source file +@@ -541,7 +538,6 @@ + $(IntDir);%(AdditionalIncludeDirectories) + + +- $(SolutionDir)bin\setversion.exe /getversion "#define ECSUTIL_VERSION" "$(SolutionDir)ECSUtil\Version.h" $(OutDir)ECSUtil.dll + + + set version resource in DLL from source file From ffa114aaa43e8bcdf880d6e2c47ee0ed46125070 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 24 Oct 2018 12:41:19 -0700 Subject: [PATCH 129/129] [ecsutil] Remove empty bin directories --- ports/ecsutil/portfile.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ports/ecsutil/portfile.cmake b/ports/ecsutil/portfile.cmake index dd29d0b93..4a8e48b2b 100644 --- a/ports/ecsutil/portfile.cmake +++ b/ports/ecsutil/portfile.cmake @@ -47,3 +47,6 @@ vcpkg_install_msbuild( file(COPY ${SOURCE_PATH}/ECSUtil DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN *.h) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/ECSUtil/res ${CURRENT_PACKAGES_DIR}/tools) file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/NatvisAddIn.dll ${CURRENT_PACKAGES_DIR}/debug/bin/NatvisAddIn.dll) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif()