[curl] Update to 8.10.0 (#40903)

This commit is contained in:
Kai Pastor 2024-09-11 23:03:28 +02:00 committed by GitHub
parent ee2d2a1001
commit b8a9371ae5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 173 additions and 124 deletions

View File

@ -1,15 +1,15 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3a2128e..e9c9c92 100644
index 7242d68..da69699 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1662,7 +1662,9 @@ if(NOT CURL_DISABLE_INSTALL)
@@ -1918,7 +1918,9 @@ if(NOT CURL_DISABLE_INSTALL)
endif()
endforeach()
- foreach(_lib ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${CURL_LIBS})
- foreach(_lib IN LISTS CMAKE_C_IMPLICIT_LINK_LIBRARIES CURL_LIBS)
+ set(CURL_LIBS_FLAT "")
+ vcpkg_curl_flatten(CURL_LIBS CURL_LIBS_FLAT)
+ foreach(_lib ${CURL_LIBS_FLAT})
+ foreach(_lib IN LISTS CURL_LIBS_FLAT)
if(TARGET "${_lib}")
set(_libname "${_lib}")
get_target_property(_imported "${_libname}" IMPORTED)

View File

@ -1,15 +1,15 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bb6ccf1..a0df85f 100644
index da69699..3a9b844 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1913,8 +1913,10 @@ if(NOT CURL_DISABLE_INSTALL)
set(CPPFLAG_CURL_STATICLIB "")
@@ -2042,8 +2042,10 @@ if(NOT CURL_DISABLE_INSTALL)
set(LIBCURL_PC_CFLAGS "")
else()
set(ENABLE_SHARED "no")
+ set(LIBCURL_PC_REQUIRES_PRIVATE "") # flattened into LIBCURL_LIBS
+ set(LIBCURL_PC_REQUIRES_PRIVATE "") # flattened into LIBCURL_PC_LIBS
set(LIBCURL_PC_REQUIRES "${LIBCURL_PC_REQUIRES_PRIVATE}")
set(LIBCURL_NO_SHARED "${LIBCURL_LIBS}")
+ set(LIBCURL_LIBS "")
set(CPPFLAG_CURL_STATICLIB "-DCURL_STATICLIB")
set(LIBCURL_PC_LIBS "${LIBCURL_PC_LIBS_PRIVATE}")
+ set(LIBCURL_PC_LIBS_PRIVATE "") # in LIBCURL_PC_LIBS
set(LIBCURL_PC_CFLAGS "${LIBCURL_PC_CFLAGS_PRIVATE}")
endif()
if(BUILD_STATIC_LIBS)

View File

@ -1,8 +1,8 @@
diff --git a/CMake/curl-config.cmake.in b/CMake/curl-config.cmake.in
index 2ce8625..a0c039c 100644
index 7dc1f99..e83617e 100644
--- a/CMake/curl-config.cmake.in
+++ b/CMake/curl-config.cmake.in
@@ -31,6 +31,19 @@ if(@USE_ZLIB@)
@@ -39,6 +39,19 @@ if(@USE_ZLIB@)
find_dependency(ZLIB @ZLIB_VERSION_MAJOR@)
endif()
@ -23,21 +23,45 @@ index 2ce8625..a0c039c 100644
check_required_components("@PROJECT_NAME@")
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f9a775a..415206c 100644
index dbb0bf4..f1a18d1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -163,7 +163,8 @@ set(LIBCURL_PC_REQUIRES_PRIVATE "")
@@ -234,7 +234,9 @@ set(LIBCURL_PC_REQUIRES_PRIVATE "")
if(ENABLE_ARES)
set(USE_ARES 1)
- find_package(CARES REQUIRED)
+ find_package(CARES NAMES c-ares CONFIG REQUIRED)
+ set(CARES_LIBRARY c-ares::cares)
list(APPEND CURL_LIBS ${CARES_LIBRARY})
- find_package(Cares REQUIRED)
+ find_package(CARES NAMES c-ares REQUIRED)
+ set(CARES_INCLUDE_DIRS "")
+ set(CARES_LIBRARIES c-ares::cares)
list(APPEND CURL_LIBS ${CARES_LIBRARIES})
list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libcares")
add_definitions("-DCARES_NO_DEPRECATED") # Ignore c-ares deprecation warnings
@@ -611,17 +613,11 @@ if(CURL_USE_WOLFSSL)
endif()
@@ -591,7 +592,9 @@ endif()
option(CURL_BROTLI "Set to ON to enable building curl with brotli support." OFF)
if(CURL_USE_GNUTLS)
- if(CURL_USE_PKGCONFIG)
- find_package(PkgConfig QUIET)
- pkg_check_modules(GNUTLS "gnutls")
- if(GNUTLS_FOUND)
- set(GNUTLS_LIBRARIES ${GNUTLS_LINK_LIBRARIES})
- endif()
- endif()
- if(NOT GNUTLS_FOUND)
- find_package(GnuTLS REQUIRED)
- endif()
- find_package(Nettle REQUIRED)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(GNUTLS REQUIRED gnutls)
+ set(GNUTLS_LIBRARIES "${GNUTLS_LINK_LIBRARIES}")
+ pkg_check_modules(NETTLE REQUIRED nettle)
+ set(NETTLE_LIBRARIES "${NETTLE_LINK_LIBRARIES}")
set(_ssl_enabled ON)
set(USE_GNUTLS ON)
list(APPEND CURL_LIBS ${GNUTLS_LIBRARIES} ${NETTLE_LIBRARIES})
@@ -685,7 +681,9 @@ endif()
option(CURL_BROTLI "Use brotli" OFF)
set(HAVE_BROTLI OFF)
if(CURL_BROTLI)
- find_package(Brotli REQUIRED)
@ -47,40 +71,35 @@ index f9a775a..415206c 100644
if(BROTLI_FOUND)
set(HAVE_BROTLI ON)
list(APPEND CURL_LIBS ${BROTLI_LIBRARIES})
@@ -604,7 +607,9 @@ endif()
option(CURL_ZSTD "Set to ON to enable building curl with zstd support." OFF)
@@ -698,7 +696,9 @@ endif()
option(CURL_ZSTD "Use zstd" OFF)
set(HAVE_ZSTD OFF)
if(CURL_ZSTD)
- find_package(Zstd REQUIRED)
+ find_package(Zstd NAMES zstd REQUIRED)
+ set(Zstd_INCLUDE_DIRS "")
+ set(Zstd_LIBRARIES zstd::libzstd)
if(Zstd_FOUND AND NOT Zstd_VERSION VERSION_LESS "1.0.0")
+ find_package(ZSTD NAMES zstd REQUIRED)
+ set(ZSTD_INCLUDE_DIRS "")
+ set(ZSTD_LIBRARIES zstd::libzstd)
if(ZSTD_FOUND AND NOT ZSTD_VERSION VERSION_LESS 1.0.0)
set(HAVE_ZSTD ON)
list(APPEND CURL_LIBS ${Zstd_LIBRARIES})
@@ -913,8 +918,12 @@ endif()
# Check for idn2
option(USE_LIBIDN2 "Use libidn2 for IDN support" ON)
if(USE_LIBIDN2)
- check_library_exists("idn2" "idn2_lookup_ul" "" HAVE_LIBIDN2)
list(APPEND CURL_LIBS ${ZSTD_LIBRARIES})
@@ -1033,7 +1033,9 @@ option(USE_LIBIDN2 "Use libidn2 for IDN support" ON)
set(HAVE_IDN2_H OFF)
set(HAVE_LIBIDN2 OFF)
if(USE_LIBIDN2 AND NOT USE_APPLE_IDN AND NOT USE_WIN32_IDN)
- find_package(Libidn2)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(LIBIDN2 REQUIRED libidn2)
+ set(HAVE_LIBIDN2 TRUE)
if(HAVE_LIBIDN2)
+ set(HAVE_IDN2_H TRUE)
+ elseif(0)
set(LIBIDN2_LINK_LIBRARIES "idn2")
check_include_file_concat("idn2.h" HAVE_IDN2_H)
endif()
@@ -963,12 +972,19 @@ mark_as_advanced(CURL_USE_LIBPSL)
+ set(LIBIDN2_LIBRARIES "${LIBIDN2_LINK_LIBRARIES}")
if(LIBIDN2_FOUND)
set(CURL_LIBS "${LIBIDN2_LIBRARIES};${CURL_LIBS}")
list(APPEND CURL_LIBDIRS ${LIBIDN2_LIBRARY_DIRS})
@@ -1054,7 +1056,17 @@ mark_as_advanced(CURL_USE_LIBPSL)
set(USE_LIBPSL OFF)
if(CURL_USE_LIBPSL)
- find_package(LibPSL)
- find_package(Libpsl) # TODO: add REQUIRED to match autotools
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(LIBPSL REQUIRED libpsl)
if(LIBPSL_FOUND)
- list(APPEND CURL_LIBS ${LIBPSL_LIBRARY})
+ # Remove standard win32 libs pulled in transitively from icu
+ string(REPLACE " " "|" win32_standard_libraries "/(${CMAKE_C_STANDARD_LIBRARIES})[.]lib\$")
+ foreach(lib IN LISTS LIBPSL_LINK_LIBRARIES)
@ -89,59 +108,44 @@ index f9a775a..415206c 100644
+ list(REMOVE_ITEM LIBPSL_LINK_LIBRARIES "${lib}")
+ endif()
+ endforeach()
+ list(APPEND CURL_LIBS ${LIBPSL_LINK_LIBRARIES})
+ set(LIBPSL_LIBRARIES "${LIBPSL_LINK_LIBRARIES}")
if(LIBPSL_FOUND)
list(APPEND CURL_LIBS ${LIBPSL_LIBRARIES})
list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libpsl")
- list(APPEND CMAKE_REQUIRED_INCLUDES "${LIBPSL_INCLUDE_DIR}")
- include_directories("${LIBPSL_INCLUDE_DIR}")
set(USE_LIBPSL ON)
endif()
endif()
@@ -979,7 +995,13 @@ mark_as_advanced(CURL_USE_LIBSSH2)
@@ -1072,7 +1084,13 @@ mark_as_advanced(CURL_USE_LIBSSH2)
set(USE_LIBSSH2 OFF)
if(CURL_USE_LIBSSH2)
- find_package(LibSSH2)
- find_package(Libssh2)
+ find_package(LIBSSH2 NAMES Libssh2 REQUIRED)
+ if(TARGET Libssh2::libssh2_shared)
+ set(LIBSSH2_LIBRARY Libssh2::libssh2_shared)
+ set(LIBSSH2_LIBRARIES Libssh2::libssh2_shared)
+ else()
+ set(LIBSSH2_LIBRARY Libssh2::libssh2_static)
+ set(LIBSSH2_LIBRARIES Libssh2::libssh2_static)
+ endif()
+ get_target_property(LIBSSH2_INCLUDE_DIR "${LIBSSH2_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES)
+ get_target_property(LIBSSH2_INCLUDE_DIRS "${LIBSSH2_LIBRARIES}" INTERFACE_INCLUDE_DIRECTORIES)
if(LIBSSH2_FOUND)
list(APPEND CURL_LIBS ${LIBSSH2_LIBRARY})
list(APPEND CURL_LIBS ${LIBSSH2_LIBRARIES})
list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libssh2")
@@ -1012,11 +1034,24 @@ if(CURL_USE_GSASL)
set(USE_GSASL ON)
endif()
+option(CURL_USE_GSASL "Use GSASL implementation" OFF)
+mark_as_advanced(CURL_USE_GSASL)
+if(CURL_USE_GSASL)
@@ -1121,7 +1139,8 @@ endif()
option(CURL_USE_GSASL "Use libgsasl" OFF)
mark_as_advanced(CURL_USE_GSASL)
if(CURL_USE_GSASL)
- find_package(Libgsasl REQUIRED)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(GSASL REQUIRED libgsasl)
+ list(APPEND CURL_LIBS ${GSASL_LINK_LIBRARIES})
+ set(USE_GSASL ON)
+endif()
+
option(CURL_USE_GSSAPI "Use GSSAPI implementation (right now only Heimdal is supported with CMake build)" OFF)
if(LIBGSASL_FOUND)
list(APPEND CURL_LIBS ${LIBGSASL_LIBRARIES})
list(APPEND CURL_LIBDIRS ${LIBGSASL_LIBRARY_DIRS})
@@ -1139,7 +1158,10 @@ option(CURL_USE_GSSAPI "Use GSSAPI implementation" OFF)
mark_as_advanced(CURL_USE_GSSAPI)
if(CURL_USE_GSSAPI)
- find_package(GSS)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(GSS REQUIRED krb5-gssapi)
+ list(APPEND CURL_LIBS ${GSS_LINK_LIBRARIES})
+ list(APPEND CURL_LIBS resolv) # Fixme: move to krb5 pc files
+ pkg_get_variable(GSS_FLAVOUR krb5-gssapi vendor)
+ list(APPEND GSS_LINK_LIBRARIES resolv) # Fixme: move to krb5 pc files
set(HAVE_GSSAPI ${GSS_FOUND})
if(GSS_FOUND)
@@ -1028,6 +1063,7 @@ if(CURL_USE_GSSAPI)
check_include_file_concat("gssapi/gssapi_generic.h" HAVE_GSSAPI_GSSAPI_GENERIC_H)
check_include_file_concat("gssapi/gssapi_krb5.h" HAVE_GSSAPI_GSSAPI_KRB5_H)
+ elseif(0)
if(NOT GSS_FLAVOUR STREQUAL "Heimdal")
# MIT
set(_INCLUDE_LIST "")

View File

@ -1,9 +1,9 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3820c2d..f9a775a 100644
index 3a9b844..cd7263d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1952,7 +1952,17 @@ if(NOT CURL_DISABLE_INSTALL)
)
@@ -2044,7 +2044,17 @@ if(NOT CURL_DISABLE_INSTALL)
DESTINATION ${CURL_INSTALL_CMAKE_DIR})
endif()
+ set(components_file "${CMAKE_CURRENT_BINARY_DIR}/CURLConfigComponents.cmake")
@ -15,8 +15,8 @@ index 3820c2d..f9a775a 100644
+ endforeach()
+ ]] @ONLY)
+
install(FILES ${version_config} ${project_config}
install(FILES ${_version_config} ${_project_config}
+ ${components_file}
DESTINATION ${CURL_INSTALL_CMAKE_DIR}
)
DESTINATION ${CURL_INSTALL_CMAKE_DIR})
# Workaround for MSVS10 to avoid the Dialog Hell

View File

@ -1,20 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 580cc4357..735a9e234 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -540,11 +540,12 @@ if(CURL_USE_WOLFSSL)
endif()
if(CURL_USE_GNUTLS)
- find_package(GnuTLS REQUIRED)
- find_package(nettle REQUIRED)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(GNUTLS "gnutls")
+ pkg_check_modules(NETTLE "nettle")
set(SSL_ENABLED ON)
set(USE_GNUTLS ON)
- list(APPEND CURL_LIBS ${GNUTLS_LIBRARIES} ${NETTLE_LIBRARIES})
+ list(APPEND CURL_LIBS ${GNUTLS_LINK_LIBRARIES} ${NETTLE_LINK_LIBRARIES})
list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "gnutls" "nettle")
include_directories(${GNUTLS_INCLUDE_DIRS} ${NETTLE_INCLUDE_DIRS})

View File

@ -3,8 +3,8 @@ string(REPLACE "." "_" curl_version "curl-${VERSION}")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO curl/curl
REF "${curl_version}"
SHA512 f5c425c3fbd7bfda13137e8e9bc969ed7dc94c5bfcf0681a2358ab7d3b5d10402781a93385255a80c402c9824aeb97d70213b412f2d208dee4abdba5bbed2ca4
REF ${curl_version}
SHA512 76fa90942baf892c9ae1e3990f4539f90706d69d5134aef0ff14025d9a7c086cb549f72315a2c5c45682dbabb06c530b7b24f64fd824936c2aca6ba137a367f1
HEAD_REF master
PATCHES
0005_remove_imp_suffix.patch
@ -13,7 +13,6 @@ vcpkg_from_github(
export-components.patch
dependencies.patch
cmake-config.patch
gnutls.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
@ -83,6 +82,7 @@ vcpkg_cmake_configure(
-DBUILD_TESTING=OFF
-DENABLE_CURL_MANUAL=OFF
-DCURL_CA_FALLBACK=ON
-DCURL_USE_PKGCONFIG=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON
OPTIONS_DEBUG
-DENABLE_DEBUG=ON

View File

@ -1,7 +1,6 @@
{
"name": "curl",
"version": "8.9.1",
"port-version": 1,
"version": "8.10.0",
"description": "A library for transferring data with URLs",
"homepage": "https://curl.se/",
"license": "curl AND ISC AND BSD-3-Clause",

View File

@ -0,0 +1,14 @@
diff --git a/include/curl_easy.h b/include/curl_easy.h
index 66f8f51..8004957 100644
--- a/include/curl_easy.h
+++ b/include/curl_easy.h
@@ -358,7 +358,9 @@ namespace curl {
/* Renamed / obsoleted since 7.37 */
#if defined(LIBCURL_VERSION_NUM) && LIBCURL_VERSION_NUM > 0x072500
+# if LIBCURL_VERSION_NUM < 0x080a00
CURLCPP_DEFINE_OPTION(CURLOPT_OBSOLETE72, long); /* OBSOLETE, do not use! */
+# endif
#else
CURLCPP_DEFINE_OPTION(CURLOPT_CLOSEPOLICY, long);
#endif

View File

@ -10,6 +10,7 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
fix-cmake.patch
obsolete-curlopt.diff
)
vcpkg_cmake_configure(

View File

@ -1,6 +1,7 @@
{
"name": "curlcpp",
"version": "3.1",
"port-version": 1,
"description": "An object oriented C++ wrapper for CURL (libcurl)",
"homepage": "https://josephp91.github.io/curlcpp/",
"license": "MIT",

View File

@ -0,0 +1,14 @@
diff --git a/include/curlpp/Options.hpp b/include/curlpp/Options.hpp
index c705c9d..a658752 100644
--- a/include/curlpp/Options.hpp
+++ b/include/curlpp/Options.hpp
@@ -278,7 +278,9 @@ namespace options
typedef curlpp::OptionTrait<long, CURLOPT_LOW_SPEED_LIMIT> LowSpeedLimit;
typedef curlpp::OptionTrait<long, CURLOPT_LOW_SPEED_TIME> LowSpeedTime;
typedef curlpp::OptionTrait<long, CURLOPT_MAXCONNECTS> MaxConnects;
+#if LIBCURL_VERSION_NUM < 0x080a00
typedef curlpp::OptionTrait<curl_closepolicy, CURLOPT_CLOSEPOLICY> ClosePolicy;
+#endif
typedef curlpp::OptionTrait<bool, CURLOPT_FRESH_CONNECT> FreshConnect;
typedef curlpp::OptionTrait<bool, CURLOPT_FORBID_REUSE> ForbidReuse;
typedef curlpp::OptionTrait<long, CURLOPT_CONNECTTIMEOUT> ConnectTimeout;

View File

@ -7,6 +7,7 @@ vcpkg_from_github(
PATCHES
fix-cmake.patch
fix-findzliberror.patch
obsolete-curlopt.diff
)
vcpkg_cmake_configure(

View File

@ -1,7 +1,7 @@
{
"name": "curlpp",
"version-date": "2018-06-15",
"port-version": 9,
"port-version": 10,
"description": "C++ wrapper around libcURL",
"homepage": "https://github.com/jpbarrette/curlpp",
"license": "MIT",

View File

@ -7,6 +7,7 @@ vcpkg_from_github(
fix_static_link_icu.patch
fix-link-include-path.patch
fix-share-build.patch
target-curl.diff
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS

View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index faf7ac1..5066996 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -818,7 +818,7 @@ if(LibArchive_FOUND)
target_link_libraries(libtesseract PUBLIC ${LibArchive_LIBRARIES})
endif(LibArchive_FOUND)
if(CURL_FOUND)
- if(NOT CURL_LIBRARIES)
+ if(TARGET CURL::libcurl)
target_link_libraries(libtesseract PUBLIC CURL::libcurl)
else()
target_link_libraries(libtesseract PUBLIC ${CURL_LIBRARIES})

View File

@ -1,6 +1,7 @@
{
"name": "tesseract",
"version": "5.4.1",
"port-version": 1,
"description": "An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.",
"homepage": "https://github.com/tesseract-ocr/tesseract",
"license": "Apache-2.0",

View File

@ -2117,16 +2117,16 @@
"port-version": 8
},
"curl": {
"baseline": "8.9.1",
"port-version": 1
"baseline": "8.10.0",
"port-version": 0
},
"curlcpp": {
"baseline": "3.1",
"port-version": 0
"port-version": 1
},
"curlpp": {
"baseline": "2018-06-15",
"port-version": 9
"port-version": 10
},
"cute-headers": {
"baseline": "2019-09-20",
@ -8790,7 +8790,7 @@
},
"tesseract": {
"baseline": "5.4.1",
"port-version": 0
"port-version": 1
},
"tevclient": {
"baseline": "2023-12-04",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "e1e11529e424b8297a0cc3238dd30c0e47bd9812",
"version": "8.10.0",
"port-version": 0
},
{
"git-tree": "147b1671029a6d73c043bb3df3bea32a7828158b",
"version": "8.9.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "787657f32a9bdc4904cf867b88bd8634bce38ac5",
"version": "3.1",
"port-version": 1
},
{
"git-tree": "c5fc6feed65a45463099e6a395bbd977f07cf15a",
"version": "3.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "f0a72e60279d7929599cd47abf01c243d7ee0e69",
"version-date": "2018-06-15",
"port-version": 10
},
{
"git-tree": "5f1ce1e78bf1fca65c8f47bde61824589bd11e5c",
"version-date": "2018-06-15",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "103b5617df6f64ad3290b1dd3900db4c6ae90a83",
"version": "5.4.1",
"port-version": 1
},
{
"git-tree": "72c4092a52446487c69f9927c5b22a8fddfb638c",
"version": "5.4.1",