]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
cmake: Backport a patch to build with curl 8.16.0
authorPeter Kjellerstedt <pkj@axis.com>
Thu, 18 Sep 2025 23:43:20 +0000 (01:43 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 22 Sep 2025 16:57:07 +0000 (17:57 +0100)
Needed to build cmake and nativesdk-cmake (cmake-native is built without
curl support).

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/cmake/cmake.inc
meta/recipes-devtools/cmake/cmake/0001-cmCTestCurl-Avoid-using-undocumented-type-for-CURLOP.patch [new file with mode: 0644]

index cbeeb3152098229242cfa17b2901fe3f765e0309..b2d3d60ef9ed625e26b60d8960483b138a2943b2 100644 (file)
@@ -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 (file)
index 0000000..d04d0be
--- /dev/null
@@ -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
+