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 + + /*