diff mbox series

[1/2] cmake: Backport a patch to build with curl 8.16.0

Message ID 20250918234321.3590122-1-pkj@axis.com
State New
Headers show
Series [1/2] cmake: Backport a patch to build with curl 8.16.0 | expand

Commit Message

Peter Kjellerstedt Sept. 18, 2025, 11:43 p.m. UTC
Needed to build cmake and nativesdk-cmake (cmake-native is built without
curl support).

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---

The patch is in 4.0.4, but not in any 4.1.x release (yet). :P

 meta/recipes-devtools/cmake/cmake.inc         |  1 +
 ...d-using-undocumented-type-for-CURLOP.patch | 35 +++++++++++++++++++
 2 files changed, 36 insertions(+)
 create mode 100644 meta/recipes-devtools/cmake/cmake/0001-cmCTestCurl-Avoid-using-undocumented-type-for-CURLOP.patch
diff mbox series

Patch

diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc
index cbeeb31520..b2d3d60ef9 100644
--- a/meta/recipes-devtools/cmake/cmake.inc
+++ b/meta/recipes-devtools/cmake/cmake.inc
@@ -17,6 +17,7 @@  LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=0cafc0f3b6b28f3d5ecb5d1a68c36471 \
 CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
 
 SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
+           file://0001-cmCTestCurl-Avoid-using-undocumented-type-for-CURLOP.patch \
            "
 
 SRC_URI[sha256sum] = "81ee8170028865581a8e10eaf055afb620fa4baa0beb6387241241a975033508"
diff --git a/meta/recipes-devtools/cmake/cmake/0001-cmCTestCurl-Avoid-using-undocumented-type-for-CURLOP.patch b/meta/recipes-devtools/cmake/cmake/0001-cmCTestCurl-Avoid-using-undocumented-type-for-CURLOP.patch
new file mode 100644
index 0000000000..d04d0be795
--- /dev/null
+++ b/meta/recipes-devtools/cmake/cmake/0001-cmCTestCurl-Avoid-using-undocumented-type-for-CURLOP.patch
@@ -0,0 +1,35 @@ 
+From c8143074cf3954b1e169904eb9d843cfbe14acc3 Mon Sep 17 00:00:00 2001
+From: Brad King <brad.king@kitware.com>
+Date: Tue, 2 Sep 2025 11:41:10 -0400
+Subject: [PATCH] cmCTestCurl: Avoid using undocumented type for
+ CURLOPT_PROXYTYPE values
+
+Since upstream curl commit `1a12663d06` (CURLOPT: bump `CURLPROXY_*`
+enums to `long`, drop casts, 2025-07-28), the `CURLPROXY_*` constants
+are integer literals instead of `enum curl_proxytype`.  It turns out
+that `curl_easy_setopt` has always expected a `long` anyway, and that
+`curl_proxytype` is not documented for public use.
+
+Fixes: #27178
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+Upstream-Status: Backport [https://gitlab.kitware.com/cmake/cmake/-/commit/c8143074cf3954b1e169904eb9d843cfbe14acc3]
+---
+ Source/CTest/cmCTestCurl.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/CTest/cmCTestCurl.h b/Source/CTest/cmCTestCurl.h
+index 7836f4b9c7..9113890b5a 100644
+--- a/Source/CTest/cmCTestCurl.h
++++ b/Source/CTest/cmCTestCurl.h
+@@ -52,7 +52,7 @@ private:
+   std::vector<std::string> HttpHeaders;
+   std::string HTTPProxyAuth;
+   std::string HTTPProxy;
+-  curl_proxytype HTTPProxyType;
++  long HTTPProxyType;
+   bool UseHttp10 = false;
+   bool Quiet = false;
+   int TimeOutSeconds = 0;
+-- 
+2.43.0
+