new file mode 100644
@@ -0,0 +1,52 @@
+From 16974cb6a9f10fbd08db964ee0d9f074ef430db6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Mar 2025 11:55:12 -0800
+Subject: [PATCH] Remove whitespace in operator"" _json
+
+Clang 20+ errors about this whitespace.
+
+Fixes
+git/3rdParty/json/include/json.hpp:24428:58: error: identifier '_json' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
+ 24428 | using nlohmann::literals::json_literals::operator "" _json; // NOLINT(misc-unused-using-decls,google-global-names-in-headers)
+ | ~~~~~~~~~~~~^~~~~
+ | operator""_json
+
+Upstream-Status: Backport [ Its fixed in json import post 2024.9 release ]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ 3rdParty/json/include/json.hpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/3rdParty/json/include/json.hpp b/3rdParty/json/include/json.hpp
+index 60ba1df..6eceb7c 100644
+--- a/3rdParty/json/include/json.hpp
++++ b/3rdParty/json/include/json.hpp
+@@ -24353,7 +24353,7 @@ inline namespace json_literals
+ /// @brief user-defined string literal for JSON values
+ /// @sa https://json.nlohmann.me/api/basic_json/operator_literal_json/
+ JSON_HEDLEY_NON_NULL(1)
+-inline nlohmann::json operator "" _json(const char* s, std::size_t n)
++inline nlohmann::json operator ""_json(const char* s, std::size_t n)
+ {
+ return nlohmann::json::parse(s, s + n);
+ }
+@@ -24361,7 +24361,7 @@ inline nlohmann::json operator "" _json(const char* s, std::size_t n)
+ /// @brief user-defined string literal for JSON pointer
+ /// @sa https://json.nlohmann.me/api/basic_json/operator_literal_json_pointer/
+ JSON_HEDLEY_NON_NULL(1)
+-inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
++inline nlohmann::json::json_pointer operator ""_json_pointer(const char* s, std::size_t n)
+ {
+ return nlohmann::json::json_pointer(std::string(s, n));
+ }
+@@ -24425,8 +24425,8 @@ inline void swap(nlohmann::NLOHMANN_BASIC_JSON_TPL& j1, nlohmann::NLOHMANN_BASIC
+ } // namespace std
+
+ #if JSON_USE_GLOBAL_UDLS
+- using nlohmann::literals::json_literals::operator "" _json; // NOLINT(misc-unused-using-decls,google-global-names-in-headers)
+- using nlohmann::literals::json_literals::operator "" _json_pointer; //NOLINT(misc-unused-using-decls,google-global-names-in-headers)
++ using nlohmann::literals::json_literals::operator ""_json; // NOLINT(misc-unused-using-decls,google-global-names-in-headers)
++ using nlohmann::literals::json_literals::operator ""_json_pointer; //NOLINT(misc-unused-using-decls,google-global-names-in-headers)
+ #endif
+
+ // #include <nlohmann/detail/macro_unscope.hpp>
deleted file mode 100644
@@ -1,35 +0,0 @@
-From 298dec6f87061914c85049faca3d0ff3310d1794 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 6 May 2024 12:15:30 -0700
-Subject: [PATCH] initialize timespec variable
-
-Fixes build warnings with GCC14
-
-/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/pcapplusplus/23.09/git/Packet++/src/RawPacket.cpp: In constructor 'pcpp::RawPacket::RawPacket(const uint8_t*, int, timeval, bool, pcpp::LinkLayerType)':
-/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/pcapplusplus/23.09/git/Packet++/src/RawPacket.cpp:23:18: error: 'nsec_time.timespec::<anonymous>' is used uninitialized [-Werror=uninitialized]
- 23 | timespec nsec_time;
- | ^~~~~~~~~
-cc1plus: all warnings being treated as errors
-
-Upstream-Status: Submitted [https://github.com/seladb/PcapPlusPlus/pull/1389]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Packet++/src/RawPacket.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Packet++/src/RawPacket.cpp b/Packet++/src/RawPacket.cpp
-index 8ad52d52..07dbbbe2 100644
---- a/Packet++/src/RawPacket.cpp
-+++ b/Packet++/src/RawPacket.cpp
-@@ -20,7 +20,7 @@ void RawPacket::init(bool deleteRawDataAtDestructor)
-
- RawPacket::RawPacket(const uint8_t* pRawData, int rawDataLen, timeval timestamp, bool deleteRawDataAtDestructor, LinkLayerType layerType)
- {
-- timespec nsec_time;
-+ timespec nsec_time = {};
- TIMEVAL_TO_TIMESPEC(×tamp, &nsec_time);
- init(deleteRawDataAtDestructor);
- setRawData(pRawData, rawDataLen, nsec_time, layerType);
-2.45.0
-
deleted file mode 100644
@@ -1,34 +0,0 @@
-From 742f564ee80749e9f1f3363092775545e37c0f87 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 9 May 2024 17:02:09 -0700
-Subject: [PATCH] packet++: Initialize m_ExternalRawData in IDnsResource
- constructor
-
-Fixes following warning with GCC-14
-
-Packet++/src/DnsResource.cpp:29:24: error: '*this.pcpp::IDnsResource::m_ExternalRawData' may be used uninitialized [-Werror=maybe-uninitialized]
- 29 | return m_ExternalRawData;
- | ^~~~~~~~~~~~~~~~~
-
-Upstream-Status: Submitted [https://github.com/seladb/PcapPlusPlus/pull/1391]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Packet++/src/DnsResource.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Packet++/src/DnsResource.cpp b/Packet++/src/DnsResource.cpp
-index fec1bf05..c1f97041 100644
---- a/Packet++/src/DnsResource.cpp
-+++ b/Packet++/src/DnsResource.cpp
-@@ -10,7 +10,7 @@ namespace pcpp
- {
-
- IDnsResource::IDnsResource(DnsLayer* dnsLayer, size_t offsetInLayer)
-- : m_DnsLayer(dnsLayer), m_OffsetInLayer(offsetInLayer), m_NextResource(nullptr)
-+ : m_DnsLayer(dnsLayer), m_OffsetInLayer(offsetInLayer), m_NextResource(nullptr), m_ExternalRawData(nullptr)
- {
- char decodedName[4096];
- m_NameLength = decodeName((const char*)getRawData(), decodedName);
-2.45.0
-
similarity index 80%
rename from meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_23.09.bb
rename to meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_24.09.bb
@@ -8,10 +8,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"
DEPENDS = "libpcap"
SRC_URI = "git://github.com/seladb/PcapPlusPlus.git;protocol=https;branch=master \
- file://0001-packet-Initialize-m_ExternalRawData-in-IDnsResource-.patch \
- file://0001-initialize-timespec-variable.patch"
-
-SRCREV = "4cf8ed44f9dd145f874dc1dd747dfefcfcab75be"
+ file://0001-Remove-whitespace-in-operator-_json.patch \
+ "
+SRCREV = "4af4b8b04e6d5dd40b8e69cc30c5c1f62e7fe368"
S = "${WORKDIR}/git"
Backport a fix for json to build with clang20 Signed-off-by: Khem Raj <raj.khem@gmail.com> --- ...-Remove-whitespace-in-operator-_json.patch | 52 +++++++++++++++++++ .../0001-initialize-timespec-variable.patch | 35 ------------- ...e-m_ExternalRawData-in-IDnsResource-.patch | 34 ------------ ...lusplus_23.09.bb => pcapplusplus_24.09.bb} | 7 ++- 4 files changed, 55 insertions(+), 73 deletions(-) create mode 100644 meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus/0001-Remove-whitespace-in-operator-_json.patch delete mode 100644 meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus/0001-initialize-timespec-variable.patch delete mode 100644 meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus/0001-packet-Initialize-m_ExternalRawData-in-IDnsResource-.patch rename meta-oe/recipes-connectivity/pcapplusplus/{pcapplusplus_23.09.bb => pcapplusplus_24.09.bb} (80%)