From d9640a83735d46c22966329f24e82ee87db729ac Mon Sep 17 00:00:00 2001 From: vasilito Date: Fri, 24 Jul 2026 18:25:35 +0900 Subject: [PATCH] qtbase: durable patch for Redox in6_pktinfo (not yet wired) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Records the fix that unblocked qtbase on Redox: relibc lacks struct in6_pktinfo, which Qt sizes cmsg buffers with in both datagram paths. Define it at file scope (outside the QT_NO_SCTP guard that Redox compiles out). The current qtbase.pkgar was built from the equivalent in-tree source edit; this patch is the durable form. NOT yet added to recipe.toml patches[] — wiring it invalidates the qtbase cache and forces a full re-cook, so it is wired as the final step once the ISO assembles (during the desktop-stack fix phase qtbase stays cached). --- local/patches/qtbase/redox-in6-pktinfo.patch | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 local/patches/qtbase/redox-in6-pktinfo.patch diff --git a/local/patches/qtbase/redox-in6-pktinfo.patch b/local/patches/qtbase/redox-in6-pktinfo.patch new file mode 100644 index 0000000000..56dc3d9a23 --- /dev/null +++ b/local/patches/qtbase/redox-in6-pktinfo.patch @@ -0,0 +1,21 @@ +--- a/src/network/socket/qnativesocketengine_unix.cpp ++++ b/src/network/socket/qnativesocketengine_unix.cpp +@@ -37,6 +37,18 @@ + # include + #endif + ++#ifdef __redox__ ++// Redox relibc does not define struct in6_pktinfo (IPV6_PKTINFO ancillary data), ++// but Qt sizes its cmsg control buffers with sizeof(struct in6_pktinfo) in both ++// the send and receive datagram paths. Define it at file scope (Linux layout) — ++// crucially OUTSIDE the QT_NO_SCTP guard above, which Redox compiles out. ++#include ++struct in6_pktinfo { ++ struct in6_addr ipi6_addr; ++ unsigned int ipi6_ifindex; ++}; ++#endif ++ + QT_BEGIN_NAMESPACE + + /*