diff mbox series

[meta-networking,PATCHv2] cannelloni: Upgrade 1.1.0 -> 2.0.0 to allow CMake 4+ compatibility

Message ID 20250709200215.642311-1-alperyasinak1@gmail.com
State Under Review
Headers show
Series [meta-networking,PATCHv2] cannelloni: Upgrade 1.1.0 -> 2.0.0 to allow CMake 4+ compatibility | expand

Commit Message

Alper Ak July 9, 2025, 8:02 p.m. UTC
- Appends -Wno-error=vla-cxx-extension to CXXFLAGS as a temporary workaround for the following Clang error:

   sctpthread.cpp:95:18: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
      95 |   uint8_t buffer[m_linkMtuSize];
         |                  ^~~~~~~~~~~~~

An upstream fix has been proposed: https://github.com/mguentner/cannelloni/pull/82

Please remove this workaround once the upstream patch is merged or fixed in some other way. Make sure it is fixed in the new version.

- Drop 0001-include-bits-stdc-.h-only-when-using-libstdc.patch because already fixed in newer version.

Changelog:

https://github.com/mguentner/cannelloni/compare/v1.1.0...v2.0.0

Fix:

| CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
|   Compatibility with CMake < 3.5 has been removed from CMake.
|
|   Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
|   to tell CMake that the project requires at least <min> but has been updated
|   to work with policies introduced by <max> or earlier.
|
|   Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
|
|
| -- Configuring incomplete, errors occurred!

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
---
 ...bits-stdc-.h-only-when-using-libstdc.patch | 37 -------------------
 .../cannelloni/cannelloni_1.1.0.bb            | 16 --------
 .../cannelloni/cannelloni_2.0.0.bb            | 21 +++++++++++
 3 files changed, 21 insertions(+), 53 deletions(-)
 delete mode 100644 meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-include-bits-stdc-.h-only-when-using-libstdc.patch
 delete mode 100644 meta-networking/recipes-connectivity/cannelloni/cannelloni_1.1.0.bb
 create mode 100644 meta-networking/recipes-connectivity/cannelloni/cannelloni_2.0.0.bb
diff mbox series

Patch

diff --git a/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-include-bits-stdc-.h-only-when-using-libstdc.patch b/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-include-bits-stdc-.h-only-when-using-libstdc.patch
deleted file mode 100644
index 71f447c94b..0000000000
--- a/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-include-bits-stdc-.h-only-when-using-libstdc.patch
+++ /dev/null
@@ -1,37 +0,0 @@ 
-From 7aed36765ae44b41ede7e139da0a11b3696f2e06 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Nov 2023 00:07:23 -0800
-Subject: [PATCH] include bits/stdc++.h only when using libstdc++
-
-We have other c++ runtime implementations e.g. llvm's libc++ which does
-not provide this header bits/stdc++.h, therefore make sure that this
-header is only included when using libstdc++
-
-Fixes
-| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/cannelloni/1.1.0/git/tcpthread.cpp:27:10: fatal error: 'bits/stdc++.h' file not found
-|    27 | #include <bits/stdc++.h>
-|       |          ^~~~~~~~~~~~~~~
-
-Upstream-Status: Submitted [https://github.com/mguentner/cannelloni/pull/56]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tcpthread.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tcpthread.cpp b/tcpthread.cpp
-index a1b3047..bb5a7b2 100644
---- a/tcpthread.cpp
-+++ b/tcpthread.cpp
-@@ -24,7 +24,9 @@
- #include <cstdint>
- #include <cstdio>
- 
-+#ifdef __GLIBCXX__
- #include <bits/stdc++.h>
-+#endif
- 
- #include <linux/can.h>
- #include <string.h>
--- 
-2.42.1
-
diff --git a/meta-networking/recipes-connectivity/cannelloni/cannelloni_1.1.0.bb b/meta-networking/recipes-connectivity/cannelloni/cannelloni_1.1.0.bb
deleted file mode 100644
index 835f33055a..0000000000
--- a/meta-networking/recipes-connectivity/cannelloni/cannelloni_1.1.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@ 
-SUMMARY = "a SocketCAN over Ethernet tunnel"
-HOMEPAGE = "https://github.com/mguentner/cannelloni"
-LICENSE = "GPL-2.0-only"
-
-SRC_URI = "git://github.com/mguentner/cannelloni.git;protocol=https;branch=master \
-           file://0001-include-bits-stdc-.h-only-when-using-libstdc.patch \
-          "
-SRCREV = "3d4fb8c8b07f6d7c62b2bdad7e5a94de61c9a29b"
-
-LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit cmake
-
-
-PACKAGECONFIG ??= "lksctp-tools"
-PACKAGECONFIG[lksctp-tools] = "-DSCTP_SUPPORT=true, -DSCTP_SUPPORT=false, lksctp-tools"
diff --git a/meta-networking/recipes-connectivity/cannelloni/cannelloni_2.0.0.bb b/meta-networking/recipes-connectivity/cannelloni/cannelloni_2.0.0.bb
new file mode 100644
index 0000000000..6129c9bd0c
--- /dev/null
+++ b/meta-networking/recipes-connectivity/cannelloni/cannelloni_2.0.0.bb
@@ -0,0 +1,21 @@ 
+SUMMARY = "a SocketCAN over Ethernet tunnel"
+HOMEPAGE = "https://github.com/mguentner/cannelloni"
+LICENSE = "GPL-2.0-only"
+
+SRC_URI = "git://github.com/mguentner/cannelloni.git;protocol=https;branch=master"
+SRCREV = "9f649ef21710999c6f674bc3d914ab2e88363bac"
+
+LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit cmake
+
+PACKAGECONFIG ??= "lksctp-tools"
+PACKAGECONFIG[lksctp-tools] = "-DSCTP_SUPPORT=true, -DSCTP_SUPPORT=false, lksctp-tools"
+
+# Workaround for Clang error:
+# sctpthread.cpp:95:18: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
+#   95 |   uint8_t buffer[m_linkMtuSize];
+#      |                  ^~~~~~~~~~~~~
+# Upstream fix proposed: https://github.com/mguentner/cannelloni/pull/82
+# When upgrading the recipe, remove this flag once the upstream patch is merged and included to new version.
+CXXFLAGS:append:toolchain-clang = " -Wno-error=vla-cxx-extension"