<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/50b8c969a17dac3389884548d7fd3083ed9a5494">https://github.com/macports/macports-ports/commit/50b8c969a17dac3389884548d7fd3083ed9a5494</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 50b8c96  webkit2-gtk-devel: update to 2.21.4
</span>50b8c96 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 50b8c969a17dac3389884548d7fd3083ed9a5494
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Tue Jun 26 17:42:51 2018 -0700

<span style='display:block; white-space:pre;color:#404040;'>    webkit2-gtk-devel: update to 2.21.4
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    also change to cmake 1.1 PG
</span>---
 www/webkit2-gtk-devel/Portfile                     | 167 ++++++++++++---------
 www/webkit2-gtk-devel/files/PR-152650-2.patch      |  12 +-
 www/webkit2-gtk-devel/files/PR-153138.patch        |  26 ++++
 www/webkit2-gtk-devel/files/PR-157554.patch        |  33 ----
 www/webkit2-gtk-devel/files/PR-157574.patch        |   2 +-
 .../files/patch-WTF-wtf-Randomdevice.diff          | 115 ++++++++++++++
 .../files/patch-Webcore-page-crypto.diff           |  22 +++
 .../files/patch-bundle-link-webcore.diff           |  11 ++
 .../patch-enable-plugin-architecture-unix.diff     |  16 ++
 .../files/patch-name-conflicts.diff                |  57 +++++++
 www/webkit2-gtk-devel/files/patch-ramsize.diff     |  93 ++++++++++++
 ...ource-wtf-wtf-osallocatorposix-cpp-map-jit.diff |  16 ++
 ...nix-cputimeunix-cpp-darwin-version-restore.diff |  77 ++++++++++
 www/webkit2-gtk-devel/files/snowmath.h             |   8 +
 14 files changed, 548 insertions(+), 107 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/Portfile b/www/webkit2-gtk-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 483914c..a0b4168 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/webkit2-gtk-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,13 +6,13 @@
</span> 
 PortSystem          1.0
 PortGroup           active_variants 1.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           cmake 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           cmake 1.1
</span> PortGroup           compiler_blacklist_versions 1.0
 PortGroup           cxx11 1.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           github 1.0
</span> 
 name                webkit2-gtk-devel
 conflicts           webkit2-gtk
<span style='display:block; white-space:pre;background:#e0ffe0;'>+version             2.21.4
</span> description         Apple's WebKit2 HTML rendering library for GTK+3 (with optional support for GTK+2 plugins)
 long_description    ${description}
 maintainers         {jeremyhu @jeremyhu} {devans @dbevans}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,26 +20,17 @@ categories          www gnome
</span> platforms           darwin freebsd
 license             LGPL-2+ BSD
 homepage            http://webkitgtk.org/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# r207192
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#github.setup        WebKit webkit 91ef51ea3f538ade6f168a1d701dab90bfbee4db
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#checksums           rmd160  d8352cc158d68a22a2910d503fa70b447de4224d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#                    sha256  ae1311360a5b54fb01596057986e9a9be07f34ed176d8777e4f2b9d39c2b4f53
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# version needs to come after github.setup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             2.15.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch               1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> master_sites        http://webkitgtk.org/releases/
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> use_xz              yes
 distname            webkitgtk-${version}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> dist_subdir         webkit-gtk
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  64b5c995f10582cec4a53ea1ac9ed94f52b518cb \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  43b57d79d636a76f6ee3fbcf2a7e63aba7b86931b2113fa8dd59ca674f95ed80
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  3fb83eb97d9516d2a69140e1c3bd0d8e50e42b4a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  59f4359ace702ecaa92b975666c1bcde3858258909b047e7675ce3807efdd1e7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    16873972
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# don't overwrite build dependencies provided by cmake portgroup
</span> depends_build-append \
                     port:gperf \
                     port:gtk-doc \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,7 +38,7 @@ depends_build-append \
</span>                     port:python27 \
                     port:py27-simplejson
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:atk \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:atk \
</span>                     port:at-spi2-atk \
                     port:bison \
                     path:lib/pkgconfig/cairo.pc:cairo \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -74,19 +65,35 @@ depends_lib         port:atk \
</span>                     port:libxslt \
                     port:sqlite3 \
                     port:webp \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:woff2 \
</span>                     port:zlib
 
 # PR-152650-2.patch: WIP to re-enable gtk-doc support
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# PR-157554.patch: https://bugs.webkit.org/show_bug.cgi?id=157554
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# PR-153138.patch: https://bugs.webkit.org/show_bug.cgi?id=153138
</span> # PR-157574.patch: https://bugs.webkit.org/show_bug.cgi?id=157574
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    PR-157554.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    PR-157574.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# patch-name-conflicts.diff -- fixes namespace collisions with MacTypes.h
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Build out-of-tree
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.post_args     ../${worksrcdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default configure.dir   {${workpath}/build}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default build.dir       {${workpath}/build}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PR-152650-2.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PR-153138.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PR-157574.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patch-bundle-link-webcore.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patch-enable-plugin-architecture-unix.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patch-name-conflicts.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Source/WTF/wtf/RAMSize.cpp has changed, and the Darwin parts were
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# stripped out. Replace it with the previous version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patch-ramsize.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Source/WTF/wtf/unix/CPUTimeUnix.cpp has changed, and the Darwin parts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# were stripped out. Add back the previous Darwin version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patch-source-wtf-wtf-unix-cputimeunix-cpp-darwin-version-restore.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# some Darwin versions don't have MAP_JIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patch-source-wtf-wtf-osallocatorposix-cpp-map-jit.diff
</span> 
 configure.args-append \
     -DPORT=GTK \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,12 +109,9 @@ configure.args-append -DENABLE_GTKDOC=OFF
</span> # <rdar://problem/24031030>
 configure.optflags  -Os
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# clang 3.4, 503.0.35, and 600.0.57 (error: call to 'make_unique' is ambiguous, error: call to 'exchange' is ambiguous)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# clang 3.6, 602.0.53 (Internals.cpp:1226:12: error: no matching constructor for initialization of 'WTF::String')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# compiler.blacklist-append {clang < 602} macports-clang-3.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# clang 3.3 (error: no type named 'make_index_sequence' in namespace 'std')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.fallback-append macports-clang-4.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append {clang < 700} macports-clang-3.6 macports-clang-3.5 macports-clang-3.4 macports-clang-3.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clang > 1000 had errors that are not fully worked out, possibly compiler bug, blacklist for now
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append {clang < 602} {clang >= 1000} macports-clang-3.4 macports-clang-3.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.fallback-append macports-clang-5.0 macports-clang-4.0 macports-clang-3.9 macports-clang-3.8 macports-clang-3.7
</span> 
 pre-configure {
     if {![variant_isset quartz] && ![variant_isset x11]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -118,27 +122,24 @@ pre-configure {
</span> post-configure {
     # https://bugs.webkit.org/show_bug.cgi?id=153176
     reinplace {s|\.\./\.\./lib/libWTFGTK\.a||} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${build.dir}/Source/WebKit2/CMakeFiles/WebKit2.dir/link.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace {s|\.\./\.\./lib/libbmalloc\.a||} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${build.dir}/Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/link.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${build.dir}/Source/WebKit/CMakeFiles/WebKit.dir/link.txt
</span>     reinplace {s|[\./]*\.\./lib/lib[^\.]*\.a||g} \
         ${build.dir}/Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/link.txt \
         ${build.dir}/Source/JavaScriptCore/shell/CMakeFiles/jsc.dir/link.txt \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${build.dir}/Source/JavaScriptCore/shell/CMakeFiles/testb3.dir/link.txt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${build.dir}/Source/WebKit2/CMakeFiles/DatabaseProcess.dir/link.txt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${build.dir}/Source/WebKit2/CMakeFiles/NetworkProcess.dir/link.txt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${build.dir}/Source/WebKit2/CMakeFiles/webkit2gtkinjectedbundle.dir/link.txt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${build.dir}/Source/WebKit2/CMakeFiles/WebProcess.dir/link.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${build.dir}/Source/WebKit/CMakeFiles/StorageProcess.dir/link.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${build.dir}/Source/WebKit/CMakeFiles/NetworkProcess.dir/link.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${build.dir}/Source/WebKit/CMakeFiles/webkit2gtkinjectedbundle.dir/link.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${build.dir}/Source/WebKit/CMakeFiles/WebProcess.dir/link.txt
</span>     if {[variant_isset x11]} {
         # ENABLE_PLUGIN_PROCESS is only enabled with +x11
         reinplace {s|[\./]*\.\./lib/lib[^\.]*\.a||g} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${build.dir}/Source/WebKit2/CMakeFiles/PluginProcess.dir/link.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${build.dir}/Source/WebKit/CMakeFiles/PluginProcess.dir/link.txt
</span> 
         if {[variant_isset gtk2]} {
             reinplace {s|\.\./\.\./lib/libWTFGTK\.a||} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${build.dir}/Source/WebKit2/CMakeFiles/WebKitPluginProcess2.dir/link.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${build.dir}/Source/WebKit/CMakeFiles/WebKitPluginProcess2.dir/link.txt
</span>             reinplace {s|-Wl,-all_load||g} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${build.dir}/Source/WebKit2/CMakeFiles/WebKitPluginProcess2.dir/link.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${build.dir}/Source/WebKit/CMakeFiles/WebKitPluginProcess2.dir/link.txt
</span>         }
     }
     if {[variant_isset minibrowser]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -159,27 +160,6 @@ if {![variant_isset quartz]} {
</span>     default_variants-append +x11 +gtk2
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# fix build on older systems
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.major} < 13} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # add dep for newer ruby and spec this for build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://trac.macports.org/ticket/52016
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append    port:ruby24
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   -DRUBY_EXECUTABLE=${prefix}/bin/ruby2.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # fix missing PRId64 definitions on systems
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # that don't define __STDC_FORMAT_MACROS by default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://bugs.webkit.org/show_bug.cgi?id=156596
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://trac.macports.org/ticket/52016
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append patch-snowleopard-cmakelists-stdcformatmacros.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # fix a Cursor name collision with Carbon API
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://trac.macports.org/ticket/52016
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset x11]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles-append patch-snowleopard-npruntime-redefine-cursor.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> variant quartz conflicts x11 gtk2 {
     require_active_variants port:gtk3 quartz
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -188,6 +168,10 @@ variant quartz conflicts x11 gtk2 {
</span>         -DENABLE_X11_TARGET=OFF \
         -DENABLE_OPENGL=OFF \
         -DENABLE_GRAPHICS_CONTEXT_3D=OFF
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see https://trac.macports.org/ticket/56724
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # TO DO: is there a more elegant fix ?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append -DUSE_GSTREAMER_GL=OFF
</span> }
 
 variant x11 conflicts quartz {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -216,7 +200,56 @@ variant gtk2 conflicts quartz description {Enable support for GTK+2 plugins} {
</span>     configure.args-append   -DENABLE_PLUGIN_PROCESS_GTK2=ON
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type      none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#livecheck.url       http://webkitgtk.org/releases/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#livecheck.regex     "webkitgtk-(\\d+\\.\\d*\[134579\](?:\\.\\d+)*)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# fix build on older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} <= 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # gl cocoa build continues to fail due to use of API not available on darwin 12 or earlier
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # so gstreamergl is not available at present for darwin 12 or earlier
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # todo clarify further where this is exactly needed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append -DUSE_GSTREAMER_GL=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # disable Apple internal security libraries, available only on new systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append  patch-Webcore-page-crypto.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # ENABLE_SUBTLE_CRYPTO used to be off by default, but now is on by default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # there are > 100 instances of #if ENABLE(SUBTLE_CRYPTO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # fails up to darwin 13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append -DENABLE_SUBTLE_CRYPTO=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the darwin build uses security features that were Apple internal only, but
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the unix version does not, and seems to build OK so use that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the ifdefs were too cumbersome to sort out, so for now I just stripped those out and left
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the unix build behind - FIXME: sort the ifdefs out
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://bugs.webkit.org/show_bug.cgi?id=157554
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append   patch-WTF-wtf-Randomdevice.diff
</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;'>+    # add dep for newer ruby and spec this for build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://trac.macports.org/ticket/52016
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append    port:ruby24
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   -DRUBY_EXECUTABLE=${prefix}/bin/ruby2.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${os.major} < 11 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # disabling JIT fixes the following build error on 10.6.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # offlineasm: No magic values found. Skipping assembly file generation.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append -DENABLE_JIT=OFF
</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;'>+    # fix missing PRId64 definitions on systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # that don't define __STDC_FORMAT_MACROS by default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://bugs.webkit.org/show_bug.cgi?id=156596
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://trac.macports.org/ticket/52016
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-snowleopard-cmakelists-stdcformatmacros.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # special case: fix build on 10.6 with macports-libstdc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # contents of snowmath.h should someday become part of gcc6 cmath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${configure.cxx_stdlib} eq "macports-libstdc++"  && ${os.major} < 11 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.cxxflags-append -D_GLIBCXX_USE_C99_MATH_TR1=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.cxxflags-append -include ${filespath}/snowmath.h
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.url       http://webkitgtk.org/releases/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex     "webkitgtk-(\\d+\\.\\d*\[02468\](?:\\.\\d+)*)"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/PR-152650-2.patch b/www/webkit2-gtk-devel/files/PR-152650-2.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index d93b416..e134b97 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/webkit2-gtk-devel/files/PR-152650-2.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/PR-152650-2.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,22 +38,22 @@ index 6b01f1a..b443d10 100644
</span> -    set(ENABLE_GTKDOC OFF)
 -endif ()
 -
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set(DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR ${DERIVED_SOURCES_DIR}/webkitdom)
</span>  set(DERIVED_SOURCES_WEBKITGTK_DIR ${DERIVED_SOURCES_DIR}/webkitgtk)
  set(DERIVED_SOURCES_WEBKITGTK_API_DIR ${DERIVED_SOURCES_WEBKITGTK_DIR}/webkit)
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(DERIVED_SOURCES_WEBKIT2GTK_DIR ${DERIVED_SOURCES_DIR}/webkit2gtk)
</span> diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py
 index 4c8237b..a628ae0 100644
 --- Tools/gtk/gtkdoc.py
 +++ Tools/gtk/gtkdoc.py
 @@ -322,6 +322,11 @@ class GTKDoc(object):
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                 env['RUN'] = 'LD_LIBRARY_PATH="%s:%s" ' % (self.library_path, current_ld_library_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 env['LD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_ld_library_path)
</span>              else:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                 env['RUN'] = 'LD_LIBRARY_PATH="%s" ' % self.library_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 env['LD_LIBRARY_PATH'] = self.library_path
</span> +            current_dyld_library_path = env.get('DYLD_LIBRARY_PATH')
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if current_ld_library_path:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                env['RUN'] = 'DYLD_LIBRARY_PATH="%s:%s" ' % (self.library_path, current_dyld_library_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if current_dyld_library_path:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                env['DYLD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_dyld_library_path)
</span> +            else:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+                env['RUN'] = 'DYLD_LIBRARY_PATH="%s" ' % self.library_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                env['DYLD_LIBRARY_PATH'] = self.library_path
</span>  
          if ldflags:
              env['LDFLAGS'] = '%s %s' % (ldflags, env.get('LDFLAGS', ''))
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/PR-153138.patch b/www/webkit2-gtk-devel/files/PR-153138.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..10851e8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/PR-153138.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 07886d9eacb7587dd52a9bcae10c1fc8ab56a910 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 15 Jan 2016 11:53:07 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] https://bugs.webkit.org/show_bug.cgi?id=153138
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Source/JavaScriptCore/bytecode/StructureStubInfo.cpp | 2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp b/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1e4b4f5..9b27aed 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,6 +26,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "config.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "StructureStubInfo.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "JSCellInlines.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "JSObject.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "PolymorphicAccess.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "Repatch.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.7.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/PR-157554.patch b/www/webkit2-gtk-devel/files/PR-157554.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 24f0e98..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/webkit2-gtk-devel/files/PR-157554.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,33 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://bugs.webkit.org/show_bug.cgi?id=157554
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Source/WTF/wtf/OSRandomSource.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Source/WTF/wtf/OSRandomSource.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -29,7 +29,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdint.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if !OS(DARWIN) && OS(UNIX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if OS(UNIX) && !(OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <errno.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <fcntl.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <unistd.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -46,7 +46,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace WTF {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if !OS(DARWIN) && OS(UNIX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if OS(UNIX) && !(OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToOpenURandom()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CRASH();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -60,8 +56,8 @@ NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToReadFromURandom()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void cryptographicallyRandomValuesFromOS(unsigned char* buffer, size_t length)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    RELEASE_ASSERT(!CCRandomCopyBytes(kCCRandomDefault, buffer, length));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if OS(DARWIN) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return arc4random_buf(buffer, length);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif OS(UNIX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     int fd = open("/dev/urandom", O_RDONLY, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (fd < 0)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/PR-157574.patch b/www/webkit2-gtk-devel/files/PR-157574.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 3b07d7d..0945b98 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/webkit2-gtk-devel/files/PR-157574.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/PR-157574.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,7 +45,7 @@ index ab53183..1310dec 100644
</span> -#define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER
 -#endif
 -
<span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif /* __MAC_OS_X_VERSION_MIN_REQUIRED <= 101100 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif /* !TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED < 101100 */
</span> -
 -#if defined(BUILDING_GTK__)
  #undef CF_AVAILABLE
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/patch-WTF-wtf-Randomdevice.diff b/www/webkit2-gtk-devel/files/patch-WTF-wtf-Randomdevice.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..07092e8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/patch-WTF-wtf-Randomdevice.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,115 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Source/WTF/wtf/RandomDevice.cpp Source/WTF/wtf/RandomDevice.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 61d6057..90fa30c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/RandomDevice.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/RandomDevice.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -30,24 +30,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdint.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if !OS(DARWIN) && OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <errno.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <fcntl.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <windows.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <wincrypt.h> // windows.h must be included before wincrypt.h.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "CommonCryptoSPI.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace WTF {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if !OS(DARWIN) && OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToOpenURandom()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CRASH();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -57,9 +45,7 @@ NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToReadFromURandom()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CRASH();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if !OS(DARWIN) && !OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RandomDevice::RandomDevice()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int ret = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -70,22 +56,16 @@ RandomDevice::RandomDevice()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (m_fd < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         crashUnableToOpenURandom(); // We need /dev/urandom for this API to work...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if !OS(DARWIN) && !OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RandomDevice::~RandomDevice()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     close(m_fd);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // FIXME: Make this call fast by creating the pool in RandomDevice.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // https://bugs.webkit.org/show_bug.cgi?id=170190
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void RandomDevice::cryptographicallyRandomValues(unsigned char* buffer, size_t length)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    RELEASE_ASSERT(!CCRandomCopyBytes(kCCRandomDefault, buffer, length));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ssize_t amountRead = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     while (static_cast<size_t>(amountRead) < length) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         ssize_t currentRead = read(m_fd, buffer + amountRead, length - amountRead);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -97,20 +77,6 @@ void RandomDevice::cryptographicallyRandomValues(unsigned char* buffer, size_t l
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         } else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             amountRead += currentRead;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    // FIXME: We cannot ensure that Cryptographic Service Provider context and CryptGenRandom are safe across threads.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    // If it is safe, we can acquire context per RandomDevice.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    HCRYPTPROV hCryptProv = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if (!CryptAcquireContext(&hCryptProv, 0, MS_DEF_PROV, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CRASH();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if (!CryptGenRandom(hCryptProv, length, buffer))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        CRASH();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    CryptReleaseContext(hCryptProv, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#error "This configuration doesn't have a strong source of randomness."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// WARNING: When adding new sources of OS randomness, the randomness must
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-//          be of cryptographic quality!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</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;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Source/WTF/wtf/RandomDevice.h Source/WTF/wtf/RandomDevice.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 86636c9..410ccd0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/RandomDevice.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/RandomDevice.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,12 +34,8 @@ namespace WTF {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ class RandomDevice {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     WTF_MAKE_NONCOPYABLE(RandomDevice);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(DARWIN) || OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    RandomDevice() = default;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     RandomDevice();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ~RandomDevice();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // This function attempts to fill buffer with randomness from the operating
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // system. Rather than calling this function directly, consider calling
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -47,14 +43,7 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     void cryptographicallyRandomValues(unsigned char* buffer, size_t length);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(DARWIN) || OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int m_fd { -1 };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#error "This configuration doesn't have a strong source of randomness."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// WARNING: When adding new sources of OS randomness, the randomness must
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-//          be of cryptographic quality!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</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;'>+ }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/patch-Webcore-page-crypto.diff b/www/webkit2-gtk-devel/files/patch-Webcore-page-crypto.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..4ef3260
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/patch-Webcore-page-crypto.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Source/WebCore/page/Crypto.cpp Source/WebCore/page/Crypto.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ed1278b..f94db1b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/page/Crypto.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/page/Crypto.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31,7 +31,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "config.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "Crypto.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OS(DARWIN) && (__MAC_OS_X_VERSION_MIN_REQUIRED > 1090)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "CommonCryptoUtilities.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "Document.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -60,7 +60,7 @@ ExceptionOr<void> Crypto::getRandomValues(ArrayBufferView& array)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return Exception { TypeMismatchError };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (array.byteLength() > 65536)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return Exception { QuotaExceededError };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OS(DARWIN) && (__MAC_OS_X_VERSION_MIN_REQUIRED > 1090)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int rc = CCRandomCopyBytes(kCCRandomDefault, array.baseAddress(), array.byteLength());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     RELEASE_ASSERT(rc == kCCSuccess);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/patch-bundle-link-webcore.diff b/www/webkit2-gtk-devel/files/patch-bundle-link-webcore.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..39c2fb3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/patch-bundle-link-webcore.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebKit/PlatformGTK.cmake.orig   2017-09-29 02:02:31.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebKit/PlatformGTK.cmake        2017-09-29 02:02:53.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1092,7 +1092,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_library(webkit2gtkinjectedbundle MODULE "${WEBKIT_DIR}/WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ADD_WEBKIT_PREFIX_HEADER(webkit2gtkinjectedbundle)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-target_link_libraries(webkit2gtkinjectedbundle WebKit)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++target_link_libraries(webkit2gtkinjectedbundle WebKit WebCore)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_include_directories(webkit2gtkinjectedbundle PRIVATE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ${WebKit_INCLUDE_DIRECTORIES}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/patch-enable-plugin-architecture-unix.diff b/www/webkit2-gtk-devel/files/patch-enable-plugin-architecture-unix.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..c4b01c0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/patch-enable-plugin-architecture-unix.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebKit/config.h.orig    2018-06-13 23:57:05.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebKit/config.h 2018-06-13 23:59:35.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,10 +55,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef PLUGIN_ARCHITECTURE_UNSUPPORTED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if PLATFORM(MAC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define PLUGIN_ARCHITECTURE_MAC 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif PLATFORM(GTK) && OS(UNIX) && !OS(MAC_OS_X)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PLATFORM(GTK) && OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define PLUGIN_ARCHITECTURE_UNIX 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif PLATFORM(MAC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define PLUGIN_ARCHITECTURE_MAC 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define PLUGIN_ARCHITECTURE_UNSUPPORTED 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/patch-name-conflicts.diff b/www/webkit2-gtk-devel/files/patch-name-conflicts.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..2763ceb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/patch-name-conflicts.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,57 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/page/SecurityOriginData.cpp.orig        2018-06-13 14:43:40.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/page/SecurityOriginData.cpp     2018-06-13 14:37:12.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,8 +33,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <wtf/text/CString.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <wtf/text/StringBuilder.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-using namespace WebCore;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace WebCore {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SecurityOriginData SecurityOriginData::fromSecurityOrigin(const SecurityOrigin& securityOrigin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/page/TextIndicator.cpp.orig     2018-06-13 21:38:47.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/page/TextIndicator.cpp  2018-06-13 21:39:03.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -50,8 +50,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "SelectionRect.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-using namespace WebCore;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace WebCore {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static bool initializeIndicator(TextIndicatorData&, Frame&, const Range&, FloatSize margin, bool indicatesCurrentSelection);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/GObjectEventListener.cpp.orig      2018-06-13 23:03:53.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/GObjectEventListener.cpp   2018-06-13 23:17:03.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,7 +25,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <WebCore/Event.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <wtf/HashMap.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-using namespace WebCore;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++using WebCore::Event;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++using WebCore::EventTarget;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++using WebCore::ScriptExecutionContext;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace WebKit {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/GObjectNodeFilterCondition.cpp.orig        2018-06-13 23:18:03.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/GObjectNodeFilterCondition.cpp     2018-06-13 23:29:20.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,7 +22,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "WebKitDOMNodePrivate.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <WebCore/NodeFilter.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-using namespace WebCore;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++using WebCore::Node;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace WebKit {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WebCore/html/HTMLKeygenElement.cpp.orig 2018-06-26 08:48:28.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WebCore/html/HTMLKeygenElement.cpp      2018-06-26 08:48:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -39,7 +39,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <wtf/NeverDestroyed.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <wtf/StdLibExtras.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-using namespace WebCore;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//using namespace WebCore;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace WebCore {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/patch-ramsize.diff b/www/webkit2-gtk-devel/files/patch-ramsize.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..c4ba98d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/patch-ramsize.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,93 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Source/WTF/wtf/RAMSize.cpp Source/WTF/wtf/RAMSize.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5d34d3b..3dd516c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/RAMSize.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/RAMSize.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,41 +29,61 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "StdLibExtras.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <mutex>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <dispatch/dispatch.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <mach/host_info.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <mach/mach.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <mach/mach_error.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <math.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <windows.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <sys/sysinfo.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif // OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <bmalloc/bmalloc.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace WTF {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static const size_t ramSizeGuess = 512 * MB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static size_t computeRAMSize()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PLATFORM(IOS_SIMULATOR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Pretend we have 512MB of memory to make cache sizes behave like on device.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return ramSizeGuess;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    host_basic_info_data_t hostInfo;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mach_port_t host = mach_host_self();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mach_msg_type_number_t count = HOST_BASIC_INFO_COUNT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    kern_return_t r = host_info(host, HOST_BASIC_INFO, (host_info_t)&hostInfo, &count);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mach_port_deallocate(mach_task_self(), host);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (r != KERN_SUCCESS) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        LOG_ERROR("%s : host_info(%d) : %s.\n", __FUNCTION__, r, mach_error_string(r));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return ramSizeGuess;
</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 (hostInfo.max_mem > std::numeric_limits<size_t>::max())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return std::numeric_limits<size_t>::max();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    size_t sizeAccordingToKernel = static_cast<size_t>(hostInfo.max_mem);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    size_t multiple = 128 * MB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Round up the memory size to a multiple of 128MB because max_mem may not be exactly 512MB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // (for example) and we have code that depends on those boundaries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return ((sizeAccordingToKernel + multiple - 1) / multiple) * multiple;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    long pages = sysconf(_SC_PHYS_PAGES);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    long pageSize = sysconf(_SC_PAGE_SIZE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (pages == -1 || pageSize == -1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return ramSizeGuess;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return pages * pageSize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif OS(WINDOWS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     MEMORYSTATUSEX status;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     status.dwLength = sizeof(status);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     bool result = GlobalMemoryStatusEx(&status);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (!result)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return ramSizeGuess;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return status.ullTotalPhys;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    struct sysinfo si;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    sysinfo(&si);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return si.totalram * si.mem_unit;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#error "Missing a platform specific way of determining the available RAM"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif // OS(UNIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return bmalloc::api::availableMemory();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</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;'>+@@ -77,4 +97,4 @@ size_t ramSize()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return ramSize;
</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;'>+-} // namespace WTF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++} // namespace WTF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\ No newline at end of file
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/patch-source-wtf-wtf-osallocatorposix-cpp-map-jit.diff b/www/webkit2-gtk-devel/files/patch-source-wtf-wtf-osallocatorposix-cpp-map-jit.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..e824b22
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/patch-source-wtf-wtf-osallocatorposix-cpp-map-jit.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Source/WTF/wtf/OSAllocatorPosix.cpp Source/WTF/wtf/OSAllocatorPosix.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a5eb8d44..051c439e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/OSAllocatorPosix.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/OSAllocatorPosix.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -72,9 +72,11 @@ void* OSAllocator::reserveAndCommit(size_t bytes, Usage usage, bool writable, bo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int flags = MAP_PRIVATE | MAP_ANON;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(MAP_JIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (executable)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         flags |= MAP_JIT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int fd = usage;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/patch-source-wtf-wtf-unix-cputimeunix-cpp-darwin-version-restore.diff b/www/webkit2-gtk-devel/files/patch-source-wtf-wtf-unix-cputimeunix-cpp-darwin-version-restore.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..7a8e598
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/patch-source-wtf-wtf-unix-cputimeunix-cpp-darwin-version-restore.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,77 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Source/WTF/wtf/unix/CPUTimeUnix.cpp Source/WTF/wtf/unix/CPUTimeUnix.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 27990893..fe279865 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/WTF/wtf/unix/CPUTimeUnix.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/WTF/wtf/unix/CPUTimeUnix.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,6 +26,66 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "config.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "CPUTime.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <mach/mach.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <mach/mach_time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <mach/task.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <mach/task_info.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <mach/thread_info.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#import <sys/time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++namespace WTF {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static const int64_t microsecondsPerSecond = 1000000;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static int64_t timeValueToMicroseconds(const time_value_t& value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    int64_t result = value.seconds;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    result *= microsecondsPerSecond;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    result += value.microseconds;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return result;
</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;'>++std::optional<CPUTime> CPUTime::get()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Account for current threads.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    task_thread_times_info threadInfoData;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mach_msg_type_number_t threadInfoCount = TASK_THREAD_TIMES_INFO_COUNT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    kern_return_t result = task_info(mach_task_self(), TASK_THREAD_TIMES_INFO, reinterpret_cast<task_info_t>(&threadInfoData), &threadInfoCount);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (result != KERN_SUCCESS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return std::nullopt;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    int64_t userTime = timeValueToMicroseconds(threadInfoData.user_time);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    int64_t systemTime = timeValueToMicroseconds(threadInfoData.system_time);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Account for termined threads.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    task_basic_info taskInfoData;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mach_msg_type_number_t taskInfoCount = TASK_BASIC_INFO_COUNT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    result = task_info(mach_task_self(), TASK_BASIC_INFO, reinterpret_cast<task_info_t>(&taskInfoData), &taskInfoCount);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (result != KERN_SUCCESS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return std::nullopt;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    userTime += timeValueToMicroseconds(taskInfoData.user_time);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    systemTime += timeValueToMicroseconds(taskInfoData.system_time);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return CPUTime { MonotonicTime::now(), Seconds::fromMicroseconds(userTime), Seconds::fromMicroseconds(systemTime) };
</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;'>++Seconds CPUTime::forCurrentThread()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mach_msg_type_number_t infoCount = THREAD_BASIC_INFO_COUNT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    thread_basic_info_data_t info;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mach_port_t threadPort = mach_thread_self();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    thread_info(threadPort, THREAD_BASIC_INFO, reinterpret_cast<thread_info_t>(&info), &infoCount);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mach_port_deallocate(mach_task_self(), threadPort);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return Seconds(info.user_time.seconds + info.system_time.seconds) + Seconds::fromMicroseconds(info.user_time.microseconds + info.system_time.microseconds);
</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;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else //OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/resource.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,3 +114,4 @@ Seconds CPUTime::forCurrentThread()
</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;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif //OS(DARWIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\ No newline at end of file
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit2-gtk-devel/files/snowmath.h b/www/webkit2-gtk-devel/files/snowmath.h
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..898913e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit2-gtk-devel/files/snowmath.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extern "C" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    extern long long int llrint ( double );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    extern long long int llrintf ( float );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    extern long long int llround ( double );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    extern long long int llroundf ( float );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    extern long long int llrintl(long double);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    extern long long int llroundl(long double);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>