Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 27 additions & 11 deletions ports/curl/0001_cmake.patch
Original file line number Diff line number Diff line change
@@ -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()
Expand All @@ -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(
76 changes: 6 additions & 70 deletions ports/curl/0002_fix_uwp.patch
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -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
/*
15 changes: 15 additions & 0 deletions ports/curl/0005_add_define.patch
Original file line number Diff line number Diff line change
@@ -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)
2 changes: 1 addition & 1 deletion ports/curl/CONTROL
Original file line number Diff line number Diff line change
@@ -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
Expand Down
23 changes: 12 additions & 11 deletions ports/curl/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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()

Expand Down