nixpkgs/pkgs/development/libraries/webkitgtk/PR-157554.patch
Hamish Mackenzie da1d13bc07 webkgitgtk: fix 2.14 on macOS
Includes the patches from macports and fixes an issue with the
`otool -L` output that was causing g-ir-scanner to fail.
The paths in the macports patches have been modified so that they
will work with `patches` in nix (an extra directory level was
added).
2017-04-10 23:11:16 -07:00

33 lines
1 KiB
Diff

https://bugs.webkit.org/show_bug.cgi?id=157554
--- a/Source/WTF/wtf/OSRandomSource.cpp
+++ b/Source/WTF/wtf/OSRandomSource.cpp
@@ -29,7 +29,7 @@
#include <stdint.h>
#include <stdlib.h>
-#if !OS(DARWIN) && OS(UNIX)
+#if OS(UNIX) && !(OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
@@ -46,7 +46,7 @@
namespace WTF {
-#if !OS(DARWIN) && OS(UNIX)
+#if OS(UNIX) && !(OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)
NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToOpenURandom()
{
CRASH();
@@ -60,8 +56,8 @@ NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToReadFromURandom()
void cryptographicallyRandomValuesFromOS(unsigned char* buffer, size_t length)
{
-#if OS(DARWIN)
- RELEASE_ASSERT(!CCRandomCopyBytes(kCCRandomDefault, buffer, length));
+#if OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
+ return arc4random_buf(buffer, length);
#elif OS(UNIX)
int fd = open("/dev/urandom", O_RDONLY, 0);
if (fd < 0)