From 9e52d6d0327840537b4673af5967441fc8bdb400 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Mon, 13 May 2019 11:17:26 -0700 Subject: [PATCH 1/9] [Curl] Upgrades 2019.05.08 --- ports/curl/0001_cmake.patch | 41 +++----- ports/curl/0002_fix_uwp.patch | 182 +++++++++++++++++----------------- ports/curl/CONTROL | 2 +- ports/curl/portfile.cmake | 38 +++++-- 4 files changed, 134 insertions(+), 129 deletions(-) diff --git a/ports/curl/0001_cmake.patch b/ports/curl/0001_cmake.patch index 7796af4136e007..33ede7b909f93a 100644 --- a/ports/curl/0001_cmake.patch +++ b/ports/curl/0001_cmake.patch @@ -1,28 +1,13 @@ -diff --git a/CMake/FindLibSSH2.cmake b/CMake/FindLibSSH2.cmake -index 84822dba7..0d6219425 100644 ---- a/CMake/FindLibSSH2.cmake -+++ b/CMake/FindLibSSH2.cmake -@@ -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 - ) - - if(LIBSSH2_INCLUDE_DIR) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e6dbb73f1..1e2ff138e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -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) -+elseif(WIN32 AND NOT CYGWIN) - set(CURL_INSTALL_CMAKE_DIR CMake) - else() - set(CURL_INSTALL_CMAKE_DIR lib/cmake/curl) +diff --git a/CMake/FindLibSSH2.cmake b/CMake/FindLibSSH2.cmake +index 84822db..0d62194 100644 +--- a/CMake/FindLibSSH2.cmake ++++ b/CMake/FindLibSSH2.cmake +@@ -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 + ) + + if(LIBSSH2_INCLUDE_DIR) diff --git a/ports/curl/0002_fix_uwp.patch b/ports/curl/0002_fix_uwp.patch index 111ca98e84a5bb..a34ed1a3973732 100644 --- a/ports/curl/0002_fix_uwp.patch +++ b/ports/curl/0002_fix_uwp.patch @@ -1,92 +1,90 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7b73b98..72f6171 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -882,7 +882,9 @@ check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT) - check_function_exists(mach_absolute_time HAVE_MACH_ABSOLUTE_TIME) - - # symbol exists in win32, but function does not. --if(WIN32) -+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -+ add_definitions(-D_WIN32_WINNT=0x0A00 -DHAVE_STRUCT_POLLFD -D_WINSOCK_DEPRECATED_NO_WARNINGS) -+elseif(WIN32) - if(ENABLE_INET_PTON) - check_function_exists(inet_pton HAVE_INET_PTON) - # _WIN32_WINNT_VISTA (0x0600) -diff --git a/lib/curl_gethostname.c b/lib/curl_gethostname.c -index 8337c72..41867b2 100644 ---- a/lib/curl_gethostname.c -+++ b/lib/curl_gethostname.c -@@ -21,6 +21,7 @@ - ***************************************************************************/ - - #include "curl_setup.h" -+#include "curl/curl.h" - - #include "curl_gethostname.h" - -@@ -64,9 +65,10 @@ int Curl_gethostname(char *name, GETHOSTNAME_TYPE_ARG2 namelen) - #ifdef DEBUGBUILD - - /* Override host name when environment variable CURL_GETHOSTNAME is set */ -- const char *force_hostname = getenv("CURL_GETHOSTNAME"); -+ char *force_hostname = curl_getenv("CURL_GETHOSTNAME"); - if(force_hostname) { - strncpy(name, force_hostname, namelen); -+ free(force_hostname); - err = 0; - } - else { -diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c -index e896276..268f0ea 100644 ---- a/lib/curl_ntlm_core.c -+++ b/lib/curl_ntlm_core.c -@@ -743,9 +743,12 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash, - - /* Calculate the timestamp */ - #ifdef DEBUGBUILD -- char *force_timestamp = getenv("CURL_FORCETIME"); -- if(force_timestamp) -+ char *force_timestamp = curl_getenv("CURL_FORCETIME"); -+ if (force_timestamp) -+ { - tw = CURL_OFF_T_C(11644473600) * 10000000; -+ free(force_timestamp); -+ } - else - #endif - tw = ((curl_off_t)time(NULL) + CURL_OFF_T_C(11644473600)) * 10000000; -diff --git a/lib/ftp.c b/lib/ftp.c -index 8042edf..3442df7 100644 ---- a/lib/ftp.c -+++ b/lib/ftp.c -@@ -4260,7 +4260,7 @@ CURLcode ftp_parse_url_path(struct connectdata *conn) - /* prevpath is "raw" so we convert the input path before we compare the - strings */ - size_t dlen; -- char *path; -+ char *path = NULL; - CURLcode result = - Curl_urldecode(conn->data, data->state.path, 0, &path, &dlen, TRUE); - if(result) { -diff --git a/lib/rand.c b/lib/rand.c -index 2670af9..0d18d37 100644 ---- a/lib/rand.c -+++ b/lib/rand.c -@@ -44,7 +44,7 @@ static CURLcode randit(struct Curl_easy *data, unsigned int *rnd) - static bool seeded = FALSE; - - #ifdef CURLDEBUG -- char *force_entropy = getenv("CURL_ENTROPY"); -+ char *force_entropy = curl_getenv("CURL_ENTROPY"); - if(force_entropy) { - if(!seeded) { - unsigned int seed = 0; -@@ -58,6 +58,7 @@ static CURLcode randit(struct Curl_easy *data, unsigned int *rnd) - else - randseed++; - *rnd = randseed; -+ free(force_entropy); - return CURLE_OK; - } - #endif +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 38b7b7d..5b3d33e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -897,7 +897,9 @@ check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT) + check_function_exists(mach_absolute_time HAVE_MACH_ABSOLUTE_TIME) + + # symbol exists in win32, but function does not. +-if(WIN32) ++if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") ++ add_definitions(-D_WIN32_WINNT=0x0A00 -DHAVE_STRUCT_POLLFD -D_WINSOCK_DEPRECATED_NO_WARNINGS) ++elseif(WIN32) + if(ENABLE_INET_PTON) + check_function_exists(inet_pton HAVE_INET_PTON) + # _WIN32_WINNT_VISTA (0x0600) +diff --git a/lib/curl_gethostname.c b/lib/curl_gethostname.c +index 8337c72..41867b2 100644 +--- a/lib/curl_gethostname.c ++++ b/lib/curl_gethostname.c +@@ -21,6 +21,7 @@ + ***************************************************************************/ + + #include "curl_setup.h" ++#include "curl/curl.h" + + #include "curl_gethostname.h" + +@@ -64,9 +65,10 @@ int Curl_gethostname(char *name, GETHOSTNAME_TYPE_ARG2 namelen) + #ifdef DEBUGBUILD + + /* Override host name when environment variable CURL_GETHOSTNAME is set */ +- const char *force_hostname = getenv("CURL_GETHOSTNAME"); ++ char *force_hostname = curl_getenv("CURL_GETHOSTNAME"); + if(force_hostname) { + strncpy(name, force_hostname, namelen); ++ free(force_hostname); + err = 0; + } + else { +diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c +index e7060eb..614ed61 100644 +--- a/lib/curl_ntlm_core.c ++++ b/lib/curl_ntlm_core.c +@@ -726,9 +726,10 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash, + + /* Calculate the timestamp */ + #ifdef DEBUGBUILD +- char *force_timestamp = getenv("CURL_FORCETIME"); +- if(force_timestamp) ++ char *force_timestamp = curl_getenv("CURL_FORCETIME"); ++ if (force_timestamp) + tw = CURL_OFF_T_C(11644473600) * 10000000; ++ free(force_timestamp); + else + #endif + tw = ((curl_off_t)time(NULL) + CURL_OFF_T_C(11644473600)) * 10000000; +diff --git a/lib/ftp.c b/lib/ftp.c +index 825aaaa..3b96670 100644 +--- a/lib/ftp.c ++++ b/lib/ftp.c +@@ -4262,7 +4262,7 @@ CURLcode ftp_parse_url_path(struct connectdata *conn) + /* prevpath is "raw" so we convert the input path before we compare the + strings */ + size_t dlen; +- char *path; ++ char *path = NULL; + CURLcode result = + Curl_urldecode(conn->data, ftp->path, 0, &path, &dlen, TRUE); + if(result) { +diff --git a/lib/rand.c b/lib/rand.c +index 6ee45fe..b2d712d 100644 +--- a/lib/rand.c ++++ b/lib/rand.c +@@ -44,7 +44,7 @@ static CURLcode randit(struct Curl_easy *data, unsigned int *rnd) + static bool seeded = FALSE; + + #ifdef CURLDEBUG +- char *force_entropy = getenv("CURL_ENTROPY"); ++ char *force_entropy = curl_getenv("CURL_ENTROPY"); + if(force_entropy) { + if(!seeded) { + unsigned int seed = 0; +@@ -58,6 +58,7 @@ static CURLcode randit(struct Curl_easy *data, unsigned int *rnd) + else + randseed++; + *rnd = randseed; ++ free(force_entropy); + return CURLE_OK; + } + #endif diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 9d5dde10e15015..71f4130b46dd30 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,5 +1,5 @@ Source: curl -Version: 7.61.1-7 +Version: 7.64.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 745e2d241c6f6f..4976d16391db90 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_1 - SHA512 09fa3c87f8d516eabe3241247a5094c32ee0481961cf85bf78ecb13acdf23bb2ec82f113d2660271d22742c79e76d73fb122730fa28e34c7f5477c05a4a6534c + REF curl-7_64_1 + SHA512 bfaed8c65e82cb27a68e259516c8395cf10a67b62bb7e9d44803bde450f6017116fb3da8db716a172e140324831a63b4046a355810d86ba6577ebda3883a3625 HEAD_REF master PATCHES 0001_cmake.patch @@ -135,21 +135,43 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/curl${EXECUTABLE_SUFFIX}") vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/curl) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(READ "${CURRENT_PACKAGES_DIR}/share/curl/curl-target-release.cmake" RELEASE_MODULE) + file(READ "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" RELEASE_MODULE) string(REPLACE "\${_IMPORT_PREFIX}/bin/curl${EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/curl/curl${EXECUTABLE_SUFFIX}" RELEASE_MODULE "${RELEASE_MODULE}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/curl-target-release.cmake" "${RELEASE_MODULE}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" "${RELEASE_MODULE}") endif() endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + # Drop debug suffix, as FindCURL.cmake does not look for it + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d.lib") + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl.lib) + # Fixup libcurl-target-debug.cmake to match + file(READ "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-debug.cmake" DEBUG_MODULE) + string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/libcurl-d.lib" "\${_IMPORT_PREFIX}/debug/lib/libcurl.lib" DEBUG_MODULE "${DEBUG_MODULE}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-debug.cmake" "${DEBUG_MODULE}") + endif() 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) + # Fixup libcurl-target-release.cmake to match + file(READ "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" RELEASE_MODULE) + string(REPLACE "\${_IMPORT_PREFIX}/lib/libcurl_imp.lib" "\${_IMPORT_PREFIX}/lib/libcurl.lib" RELEASE_MODULE "${RELEASE_MODULE}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" "${RELEASE_MODULE}") + 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) + # Fixup libcurl-target-debug.cmake to match + file(READ "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-debug.cmake" DEBUG_MODULE) + string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/libcurl-d_imp.lib" "\${_IMPORT_PREFIX}/debug/lib/libcurl.lib" DEBUG_MODULE "${DEBUG_MODULE}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-debug.cmake" "${DEBUG_MODULE}") + endif() endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + file(READ ${CURRENT_PACKAGES_DIR}/include/curl/curl.h CURL_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) string(REPLACE "#ifdef CURL_STATICLIB" "#if 1" CURL_H "${CURL_H}") From e67e7b915947b3e976817a21501c9694c44bc237 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Mon, 13 May 2019 11:34:20 -0700 Subject: [PATCH 2/9] merge changes from master --- ports/curl/portfile.cmake | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 4976d16391db90..0d8f34b7b39ace 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -141,37 +141,15 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/curl${EXECUTABLE_SUFFIX}") endif() endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) +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) - # Drop debug suffix, as FindCURL.cmake does not look for it - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d.lib") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl.lib) - # Fixup libcurl-target-debug.cmake to match - file(READ "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-debug.cmake" DEBUG_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/libcurl-d.lib" "\${_IMPORT_PREFIX}/debug/lib/libcurl.lib" DEBUG_MODULE "${DEBUG_MODULE}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-debug.cmake" "${DEBUG_MODULE}") - endif() 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) - # Fixup libcurl-target-release.cmake to match - file(READ "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" RELEASE_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/lib/libcurl_imp.lib" "\${_IMPORT_PREFIX}/lib/libcurl.lib" RELEASE_MODULE "${RELEASE_MODULE}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" "${RELEASE_MODULE}") - 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) - # Fixup libcurl-target-debug.cmake to match - file(READ "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-debug.cmake" DEBUG_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/libcurl-d_imp.lib" "\${_IMPORT_PREFIX}/debug/lib/libcurl.lib" DEBUG_MODULE "${DEBUG_MODULE}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-debug.cmake" "${DEBUG_MODULE}") - endif() endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - file(READ ${CURRENT_PACKAGES_DIR}/include/curl/curl.h CURL_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) string(REPLACE "#ifdef CURL_STATICLIB" "#if 1" CURL_H "${CURL_H}") From e4502d88dcaceb28ef2dbfa8487435505c18457d Mon Sep 17 00:00:00 2001 From: Phoebe Date: Tue, 14 May 2019 14:50:54 -0700 Subject: [PATCH 3/9] Fix cpr failure --- ports/cpr/002_cpr_fixcase.patch | 13 +++++++++++++ ports/cpr/CONTROL | 2 +- ports/cpr/portfile.cmake | 1 + ports/curl/0002_fix_uwp.patch | 14 +++++++------- 4 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 ports/cpr/002_cpr_fixcase.patch diff --git a/ports/cpr/002_cpr_fixcase.patch b/ports/cpr/002_cpr_fixcase.patch new file mode 100644 index 00000000000000..4dbc9711951349 --- /dev/null +++ b/ports/cpr/002_cpr_fixcase.patch @@ -0,0 +1,13 @@ +diff --git a/cpr/error.cpp b/cpr/error.cpp +index 713cb10..4143f93 100644 +--- a/cpr/error.cpp ++++ b/cpr/error.cpp +@@ -38,8 +38,6 @@ ErrorCode Error::getErrorCodeForCurlError(std::int32_t curl_code) { + return ErrorCode::SSL_LOCAL_CERTIFICATE_ERROR; + case CURLE_SSL_CIPHER: + return ErrorCode::GENERIC_SSL_ERROR; +- case CURLE_SSL_CACERT: +- return ErrorCode::SSL_CACERT_ERROR; + case CURLE_USE_SSL_FAILED: + return ErrorCode::GENERIC_SSL_ERROR; + case CURLE_SSL_ENGINE_INITFAILED: diff --git a/ports/cpr/CONTROL b/ports/cpr/CONTROL index 2bf591cc25e62a..89cc6b84746701 100644 --- a/ports/cpr/CONTROL +++ b/ports/cpr/CONTROL @@ -1,4 +1,4 @@ Source: cpr -Version: 1.3.0-6 +Version: 1.3.0-7 Description: C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project. Build-Depends: curl[core] diff --git a/ports/cpr/portfile.cmake b/ports/cpr/portfile.cmake index f6ea8e9af508c2..9e2c40a0dc9201 100644 --- a/ports/cpr/portfile.cmake +++ b/ports/cpr/portfile.cmake @@ -10,6 +10,7 @@ vcpkg_from_github( HEAD_REF master PATCHES 001-cpr-config.patch + 002_cpr_fixcase.patch ) vcpkg_configure_cmake( diff --git a/ports/curl/0002_fix_uwp.patch b/ports/curl/0002_fix_uwp.patch index a34ed1a3973732..7094ed7c1ca2f3 100644 --- a/ports/curl/0002_fix_uwp.patch +++ b/ports/curl/0002_fix_uwp.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 38b7b7d..5b3d33e 100644 +index edb1cec..e7b4c68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -897,7 +897,9 @@ check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT) +@@ -894,7 +894,9 @@ check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT) check_function_exists(mach_absolute_time HAVE_MACH_ABSOLUTE_TIME) # symbol exists in win32, but function does not. @@ -38,22 +38,22 @@ index 8337c72..41867b2 100644 } else { diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c -index e7060eb..614ed61 100644 +index e7060eb..55e3738 100644 --- a/lib/curl_ntlm_core.c +++ b/lib/curl_ntlm_core.c -@@ -726,9 +726,10 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash, +@@ -726,10 +726,10 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash, /* Calculate the timestamp */ #ifdef DEBUGBUILD - char *force_timestamp = getenv("CURL_FORCETIME"); -- if(force_timestamp) + char *force_timestamp = curl_getenv("CURL_FORCETIME"); -+ if (force_timestamp) + if(force_timestamp) tw = CURL_OFF_T_C(11644473600) * 10000000; +- else + free(force_timestamp); - else #endif tw = ((curl_off_t)time(NULL) + CURL_OFF_T_C(11644473600)) * 10000000; + diff --git a/lib/ftp.c b/lib/ftp.c index 825aaaa..3b96670 100644 --- a/lib/ftp.c From 4517ce69798a9027a4bc2aaca7de883cd75f0fa2 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Wed, 15 May 2019 15:45:09 -0700 Subject: [PATCH 4/9] Fix the case issue in Linux --- ports/curl/portfile.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 0d8f34b7b39ace..a7330d993dafc2 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -113,8 +113,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/curl) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/curl) +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/CURL) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/CURL) elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/curl) vcpkg_fixup_cmake_targets(CONFIG_PATH share/curl) endif() From 661b5465b7c31ca70c86c45018a1f79b58a349ab Mon Sep 17 00:00:00 2001 From: Phoebe Date: Fri, 17 May 2019 10:36:19 -0700 Subject: [PATCH 5/9] Update patch and portfile --- ports/curl/0002_fix_uwp.patch | 12 +++++++----- ports/curl/portfile.cmake | 14 ++++++++------ 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/ports/curl/0002_fix_uwp.patch b/ports/curl/0002_fix_uwp.patch index 7094ed7c1ca2f3..565903ad2cf449 100644 --- a/ports/curl/0002_fix_uwp.patch +++ b/ports/curl/0002_fix_uwp.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index edb1cec..e7b4c68 100644 +index 38b7b7d..5b3d33e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -894,7 +894,9 @@ check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT) +@@ -897,7 +897,9 @@ check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT) check_function_exists(mach_absolute_time HAVE_MACH_ABSOLUTE_TIME) # symbol exists in win32, but function does not. @@ -38,19 +38,21 @@ index 8337c72..41867b2 100644 } else { diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c -index e7060eb..55e3738 100644 +index e7060eb..9cd76f7 100644 --- a/lib/curl_ntlm_core.c +++ b/lib/curl_ntlm_core.c -@@ -726,10 +726,10 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash, +@@ -726,10 +726,11 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash, /* Calculate the timestamp */ #ifdef DEBUGBUILD - char *force_timestamp = getenv("CURL_FORCETIME"); +- if(force_timestamp) + char *force_timestamp = curl_getenv("CURL_FORCETIME"); - if(force_timestamp) ++ if(force_timestamp) { tw = CURL_OFF_T_C(11644473600) * 10000000; - else + free(force_timestamp); ++ } #endif tw = ((curl_off_t)time(NULL) + CURL_OFF_T_C(11644473600)) * 10000000; diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index a7330d993dafc2..511fa852c0d9b5 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_64_1 - SHA512 bfaed8c65e82cb27a68e259516c8395cf10a67b62bb7e9d44803bde450f6017116fb3da8db716a172e140324831a63b4046a355810d86ba6577ebda3883a3625 + REF curl-7_61_1 + SHA512 09fa3c87f8d516eabe3241247a5094c32ee0481961cf85bf78ecb13acdf23bb2ec82f113d2660271d22742c79e76d73fb122730fa28e34c7f5477c05a4a6534c HEAD_REF master PATCHES 0001_cmake.patch @@ -113,10 +113,12 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/CURL) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/CURL) +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/curl) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/curl) elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/curl) vcpkg_fixup_cmake_targets(CONFIG_PATH share/curl) +else() + message(FATAL_ERROR "Could not locate the curl config files") endif() file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/curl RENAME copyright) @@ -135,9 +137,9 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/curl${EXECUTABLE_SUFFIX}") vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/curl) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(READ "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" RELEASE_MODULE) + file(READ "${CURRENT_PACKAGES_DIR}/share/curl/curl-target-release.cmake" RELEASE_MODULE) string(REPLACE "\${_IMPORT_PREFIX}/bin/curl${EXECUTABLE_SUFFIX}" "\${_IMPORT_PREFIX}/tools/curl/curl${EXECUTABLE_SUFFIX}" RELEASE_MODULE "${RELEASE_MODULE}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-release.cmake" "${RELEASE_MODULE}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/curl-target-release.cmake" "${RELEASE_MODULE}") endif() endif() From e31da0fcd8905b5d0ec0ee40ed716a55cbb8849b Mon Sep 17 00:00:00 2001 From: Phoebe Date: Fri, 17 May 2019 13:39:58 -0700 Subject: [PATCH 6/9] Update the portfile that changed by my mistake --- ports/curl/portfile.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 511fa852c0d9b5..0a13cb55efb05f 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_1 - SHA512 09fa3c87f8d516eabe3241247a5094c32ee0481961cf85bf78ecb13acdf23bb2ec82f113d2660271d22742c79e76d73fb122730fa28e34c7f5477c05a4a6534c + REF curl-7_64_1 + SHA512 bfaed8c65e82cb27a68e259516c8395cf10a67b62bb7e9d44803bde450f6017116fb3da8db716a172e140324831a63b4046a355810d86ba6577ebda3883a3625 HEAD_REF master PATCHES 0001_cmake.patch @@ -113,8 +113,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/curl) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/curl) +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/CURL) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/CURL) elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/curl) vcpkg_fixup_cmake_targets(CONFIG_PATH share/curl) else() From 360c31fe1626baaf5de736a0df1959a1ed7e5201 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 22 May 2019 12:57:03 -0700 Subject: [PATCH 7/9] [curl] Update to 7.65.0 to skip USE_DARWINSSL regression. Disable PERL since we don't build the manual anyway. --- ports/curl/CONTROL | 2 +- ports/curl/portfile.cmake | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 71f4130b46dd30..286a82cb7d31fb 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,5 +1,5 @@ Source: curl -Version: 7.64.1 +Version: 7.65.0 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 0a13cb55efb05f..4bedc0d3b250db 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_64_1 - SHA512 bfaed8c65e82cb27a68e259516c8395cf10a67b62bb7e9d44803bde450f6017116fb3da8db716a172e140324831a63b4046a355810d86ba6577ebda3883a3625 + REF curl-7_65_0 + SHA512 436b6b42654c1db2b3f69df410a7f28401a50faf18e74f328a93585c147541e697664b0e9e7df03239fd76c797c1bb4f435f4c668a6b0ad28bdd67e17f786491 HEAD_REF master PATCHES 0001_cmake.patch @@ -83,10 +83,6 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") ) endif() -vcpkg_find_acquire_program(PERL) -get_filename_component(PERL_PATH ${PERL} DIRECTORY) -vcpkg_add_to_path(${PERL_PATH}) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -104,6 +100,7 @@ vcpkg_configure_cmake( -DCMAKE_USE_DARWINSSL=${USE_DARWINSSL} -DCMAKE_USE_LIBSSH2=${USE_LIBSSH2} -DHTTP_ONLY=${USE_HTTP_ONLY} + -DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON OPTIONS_RELEASE -DBUILD_CURL_EXE=${BUILD_CURL_EXE} OPTIONS_DEBUG From ba975701c36fe286a34930fb31f724d0786ccee2 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Wed, 22 May 2019 19:58:36 -0700 Subject: [PATCH 8/9] Rename DARWINSSL to SECTRANSP --- ports/curl/CONTROL | 6 +++--- ports/curl/portfile.cmake | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 286a82cb7d31fb..226ce5b1a77d8f 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -15,7 +15,7 @@ Build-Depends: nghttp2, curl[ssl] Description: HTTP2 support Feature: ssl -Build-Depends: curl[openssl] (!windows&!osx), curl[winssl] (windows), curl[darwinssl] (osx) +Build-Depends: curl[openssl] (!windows&!osx), curl[winssl] (windows), curl[sectransp] (osx) Description: Default SSL backend Feature: ssh @@ -34,5 +34,5 @@ Feature: mbedtls Build-Depends: mbedtls Description: SSL support (mbedTLS) -Feature: darwinssl -Description: SSL support (darwinssl) +Feature: sectransp +Description: SSL support (sectransp) diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 4bedc0d3b250db..588643988ee727 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -40,14 +40,14 @@ if("mbedtls" IN_LIST FEATURES) set(USE_MBEDTLS ON) endif() -set(USE_DARWINSSL OFF) -set(DARWINSSL_OPTIONS) -if("darwinssl" IN_LIST FEATURES) +set(USE_SECTRANSP OFF) +set(SECTRANSP_OPTIONS) +if("sectransp" IN_LIST FEATURES) if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - message(FATAL_ERROR "darwinssl is not supported on non-Apple platforms") + message(FATAL_ERROR "sectransp is not supported on non-Apple platforms") endif() - set(USE_DARWINSSL ON) - set(DARWINSSL_OPTIONS + set(USE_SECTRANSP ON) + set(SECTRANSP_OPTIONS -DCURL_CA_PATH=none ) endif() @@ -97,7 +97,7 @@ vcpkg_configure_cmake( -DCMAKE_USE_OPENSSL=${USE_OPENSSL} -DCMAKE_USE_WINSSL=${USE_WINSSL} -DCMAKE_USE_MBEDTLS=${USE_MBEDTLS} - -DCMAKE_USE_DARWINSSL=${USE_DARWINSSL} + -DCMAKE_USE_SECTRANSP=${USE_SECTRANSP} -DCMAKE_USE_LIBSSH2=${USE_LIBSSH2} -DHTTP_ONLY=${USE_HTTP_ONLY} -DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON From f8c5411e5687d5be094bb16069a29fd3bea5dda8 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Thu, 23 May 2019 02:51:31 -0700 Subject: [PATCH 9/9] Update the name and error detect --- ports/curl/portfile.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 588643988ee727..2a75c696fcb68e 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -43,7 +43,7 @@ endif() set(USE_SECTRANSP OFF) set(SECTRANSP_OPTIONS) if("sectransp" IN_LIST FEATURES) - if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR (VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")) message(FATAL_ERROR "sectransp is not supported on non-Apple platforms") endif() set(USE_SECTRANSP ON) @@ -88,7 +88,7 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS ${UWP_OPTIONS} - ${DARWINSSL_OPTIONS} + ${SECTRANSP_OPTIONS} ${HTTP2_OPTIONS} -DBUILD_TESTING=OFF -DBUILD_CURL_EXE=${BUILD_CURL_EXE}