<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-legacy-support.
</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/73b2e1f0081454d36ca53bf7d19ad11dbcfb655b">https://github.com/macports/macports-legacy-support/commit/73b2e1f0081454d36ca53bf7d19ad11dbcfb655b</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 73b2e1f0081454d36ca53bf7d19ad11dbcfb655b
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Thu May 8 18:31:00 2025 -0700
<span style='display:block; white-space:pre;color:#404040;'> sys/random.h: Fix build on <10.12.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This ensures that the include_next only happens when appropriate, and
</span><span style='display:block; white-space:pre;color:#404040;'> if so, adds a possibly missing typedef for u_int, without which the
</span><span style='display:block; white-space:pre;color:#404040;'> include_next will fail.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'> Passes all tests, including new allheaders tests.
</span>---
include/sys/random.h | 33 +++++++++++++++++++++++++++++----
1 file changed, 29 insertions(+), 4 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/include/sys/random.h b/include/sys/random.h
</span><span style='display:block; white-space:pre;color:#808080;'>index 0f195c1..88362df 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/include/sys/random.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/include/sys/random.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,17 +23,42 @@
</span> /* Do our SDK-related setup */
#include <_macports_extras/sdkversion.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * In the systems that need this, sys/random.h requires the u_int typedef,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * which not only depends on sys/types.h, but also may be blocked by POSIX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * settings. In that case, we provide our own typedef if appropriate, or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * else we avoid the include_next that won't work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * The OS versions with getentropy() don't appear to filter it based on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * POSIX settings, so we do the same here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * In the later OSes that don't need our addition, sys/random.h is completely
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * different and doesn't require u_int, and thus the include_next is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * unconditional.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if __MPLS_SDK_SUPPORT_GETENTROPY__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if !defined(_POSIX_C_SOURCE) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ || (defined(_DARWIN_C_SOURCE) && __MPLS_SDK_MAJOR >= 1050)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Add the missing typedef (redundancy shouldn't hurt ). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+typedef unsigned int u_int;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> /* Include the primary system sys/random.h */
#include_next <sys/random.h>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#if __MPLS_SDK_SUPPORT_GETENTROPY__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* (!_POSIX_C_SOURCE || (_DARWIN_C_SOURCE && >10.4)) */
</span>
__MP__BEGIN_DECLS
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> extern int getentropy(void *buf, size_t buflen);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> __MP__END_DECLS
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#endif /* __MPLS_SDK_SUPPORT_GETENTROPY__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#else /* !__MPLS_SDK_SUPPORT_GETENTROPY__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Include the primary system sys/random.h */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include_next <sys/random.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* !__MPLS_SDK_SUPPORT_GETENTROPY__ */
</span>
#endif /* _MACPORTS_SYS_RANDOM_H_ */
</pre><pre style='margin:0'>
</pre>