qtbase: durable patch for Redox in6_pktinfo (not yet wired)

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).
This commit is contained in:
2026-07-24 18:25:35 +09:00
parent 8e72297509
commit d9640a8373
@@ -0,0 +1,21 @@
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -37,6 +37,18 @@
# include <net/if_dl.h>
#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 <netinet/in.h>
+struct in6_pktinfo {
+ struct in6_addr ipi6_addr;
+ unsigned int ipi6_ifindex;
+};
+#endif
+
QT_BEGIN_NAMESPACE
/*