diff --git a/ports/curl/0001_cmake.patch b/ports/curl/0001_cmake.patch index 7796af4136e007..c3b5d9baabf4a6 100644 --- a/ports/curl/0001_cmake.patch +++ b/ports/curl/0001_cmake.patch @@ -1,5 +1,5 @@ diff --git a/CMake/FindLibSSH2.cmake b/CMake/FindLibSSH2.cmake -index 84822dba7..0d6219425 100644 +index 84822db..0d62194 100644 --- a/CMake/FindLibSSH2.cmake +++ b/CMake/FindLibSSH2.cmake @@ -12,7 +12,7 @@ endif() @@ -12,17 +12,33 @@ index 84822dba7..0d6219425 100644 if(LIBSSH2_INCLUDE_DIR) diff --git a/CMakeLists.txt b/CMakeLists.txt -index e6dbb73f1..1e2ff138e 100644 +index edb1cec..579eef4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1144,7 +1144,9 @@ function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE) +@@ -1147,7 +1147,7 @@ endfunction() - endfunction() + include(GNUInstallDirs) --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) +-set(CURL_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) ++set(CURL_INSTALL_CMAKE_DIR share/curl) + set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") + set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated") + set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake") +@@ -1295,7 +1295,7 @@ install(FILES "${CURL_BINARY_DIR}/curl-config" + configure_file("${CURL_SOURCE_DIR}/libcurl.pc.in" + "${CURL_BINARY_DIR}/libcurl.pc" @ONLY) + install(FILES "${CURL_BINARY_DIR}/libcurl.pc" +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++ DESTINATION ${CURL_INSTALL_CMAKE_DIR}/pkgconfig) + + # install headers + install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/curl" +@@ -1320,7 +1320,7 @@ configure_package_config_file(CMake/curl-config.cmake.in + install( + EXPORT "${TARGETS_EXPORT_NAME}" + NAMESPACE "${PROJECT_NAME}::" +- DESTINATION ${CURL_INSTALL_CMAKE_DIR} ++ DESTINATION share/curl + ) + + install( diff --git a/ports/curl/0002_fix_uwp.patch b/ports/curl/0002_fix_uwp.patch index 111ca98e84a5bb..0b40188ab023d3 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 7b73b98..72f6171 100644 +index bfe0b8a..8fddf16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -882,7 +882,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. @@ -14,79 +14,15 @@ index 7b73b98..72f6171 100644 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 +index 8337c72..2c3fe73 100644 --- a/lib/curl_gethostname.c +++ b/lib/curl_gethostname.c -@@ -21,6 +21,7 @@ +@@ -21,7 +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/ports/curl/0005_add_define.patch b/ports/curl/0005_add_define.patch new file mode 100644 index 00000000000000..518965ed12a359 --- /dev/null +++ b/ports/curl/0005_add_define.patch @@ -0,0 +1,15 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index eca9a8a..fc8605e 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -80,6 +80,10 @@ if(NOT BUILD_SHARED_LIBS) + set_target_properties(${LIB_NAME} PROPERTIES INTERFACE_COMPILE_DEFINITIONS CURL_STATICLIB) + endif() + ++string(TOUPPER ${CMAKE_SYSTEM_NAME} HOST_OS) ++if (${HOST_OS} STREQUAL "WINDOWSSTORE") ++ add_definitions(-D_WINSOCK_DEPRECATED_NO_WARNINGS) ++endif() + target_link_libraries(${LIB_NAME} ${CURL_LIBS}) + + if(WIN32) diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 37d1c89ec7b560..71f4130b46dd30 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,5 +1,5 @@ Source: curl -Version: 7.61.1-6 +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 cbd24364184eda..2331aa1b9787d1 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -3,14 +3,15 @@ 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 0002_fix_uwp.patch 0003_fix_libraries.patch 0004_nghttp2_staticlib.patch + 0005_add_define.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CURL_STATICLIB) @@ -146,26 +147,26 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") # 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/libcurl-target-debug.cmake" DEBUG_MODULE) + # Fixup CURLTargets-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/libcurl-target-debug.cmake" "${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/libcurl-target-release.cmake" RELEASE_MODULE) + # Fixup CURLTargets-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/libcurl-target-release.cmake" "${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/libcurl-target-debug.cmake" DEBUG_MODULE) + # Fixup CURLTargets-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/libcurl-target-debug.cmake" "${DEBUG_MODULE}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/curl/CURLTargets-debug.cmake" "${DEBUG_MODULE}") endif() endif()