changeset 743:a6ccd21107cb

www/webkit: initial import, closes #1752
author David Demelier <markand@malikania.fr>
date Wed, 07 Aug 2019 07:13:31 +0200
parents aa3c1de1780a
children beb99c802979
files www/webkitgtk/patch-clang.patch www/webkitgtk/patch-isystem.patch www/webkitgtk/patch-musl.patch www/webkitgtk/webkitgtk.sh www/webkitgtk/webkitgtk.sha1
diffstat 5 files changed, 489 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/webkitgtk/patch-clang.patch	Wed Aug 07 07:13:31 2019 +0200
@@ -0,0 +1,10 @@
+--- Source/bmalloc/bmalloc/AvailableMemory.cpp.orig
++++ Source/bmalloc/bmalloc/AvailableMemory.cpp
+@@ -32,6 +32,7 @@
+ #include "PerProcess.h"
+ #include "Scavenger.h"
+ #include "Sizes.h"
++#include <array>
+ #include <mutex>
+ #if BOS(DARWIN)
+ #if BPLATFORM(IOS_FAMILY)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/webkitgtk/patch-isystem.patch	Wed Aug 07 07:13:31 2019 +0200
@@ -0,0 +1,207 @@
+--- ./Tools/MiniBrowser/gtk/CMakeLists.txt.orig	2019-08-05 09:37:14.540345025 +0200
++++ ./Tools/MiniBrowser/gtk/CMakeLists.txt	2019-08-05 09:37:25.348345357 +0200
+@@ -59,7 +59,7 @@
+ add_definitions(-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6)
+ 
+ include_directories(${MiniBrowser_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES})
+ add_executable(MiniBrowser ${MiniBrowser_SOURCES})
+ target_link_libraries(MiniBrowser ${MiniBrowser_LIBRARIES})
+ 
+--- ./Tools/TestWebKitAPI/glib/CMakeLists.txt.orig	2019-08-05 09:37:35.632345673 +0200
++++ ./Tools/TestWebKitAPI/glib/CMakeLists.txt	2019-08-05 09:37:49.932346112 +0200
+@@ -95,7 +95,7 @@
+ )
+ 
+ include_directories(${WebKitGLibAPITests_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${WebKitGLibAPITests_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${WebKitGLibAPITests_SYSTEM_INCLUDE_DIRECTORIES})
+ 
+ add_library(WebKitGLibAPITestsCore STATIC ${WebKitGLibAPITests_SOURCES})
+ target_link_libraries(WebKitGLibAPITestsCore WebKit)
+@@ -161,7 +161,7 @@
+     )
+     target_compile_definitions(${test_name} PUBLIC QT_NO_KEYWORDS=1)
+     target_link_libraries(${test_name} ${WPEQtAPITest_LIBRARIES})
+-    target_include_directories(${test_name} SYSTEM PRIVATE ${WPEQtAPITests_INCLUDE_DIRECTORIES})
++    target_include_directories(${test_name} PRIVATE ${WPEQtAPITests_INCLUDE_DIRECTORIES})
+     target_include_directories(${test_name} PRIVATE
+       ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Source/WebKit/UIProcess/API/wpe/qt)
+ endmacro()
+--- ./Tools/TestWebKitAPI/PlatformJSCOnly.cmake.orig	2019-08-05 09:30:13.544332093 +0200
++++ ./Tools/TestWebKitAPI/PlatformJSCOnly.cmake	2019-08-05 09:30:20.548332308 +0200
+@@ -6,7 +6,7 @@
+ )
+ 
+ if (LOWERCASE_EVENT_LOOP_TYPE STREQUAL "glib")
+-    include_directories(SYSTEM
++    include_directories(
+         ${GLIB_INCLUDE_DIRS}
+     )
+     list(APPEND TestWTF_SOURCES
+--- ./Tools/TestWebKitAPI/PlatformGTK.cmake.orig	2019-08-05 09:29:47.984331308 +0200
++++ ./Tools/TestWebKitAPI/PlatformGTK.cmake	2019-08-05 09:29:57.020331585 +0200
+@@ -22,7 +22,7 @@
+     ${WEBKIT_DIR}/UIProcess/API/gtk
+ )
+ 
+-include_directories(SYSTEM
++include_directories(
+     ${GDK3_INCLUDE_DIRS}
+     ${GLIB_INCLUDE_DIRS}
+     ${GSTREAMER_INCLUDE_DIRS}
+--- ./Source/WebDriver/CMakeLists.txt.orig	2019-08-05 09:37:59.296346400 +0200
++++ ./Source/WebDriver/CMakeLists.txt	2019-08-05 09:38:05.940346604 +0200
+@@ -42,7 +42,7 @@
+ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
+ 
+ include_directories(${WebDriver_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${WebDriver_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${WebDriver_SYSTEM_INCLUDE_DIRECTORIES})
+ add_executable(WebDriver ${WebDriver_SOURCES})
+ target_link_libraries(WebDriver ${WebDriver_LIBRARIES})
+ 
+--- ./Source/WebKit/PlatformGTK.cmake.orig	2019-08-05 09:33:16.360337709 +0200
++++ ./Source/WebKit/PlatformGTK.cmake	2019-08-05 09:33:41.168338471 +0200
+@@ -665,7 +665,7 @@
+     target_include_directories(WebKitPluginProcess2 PRIVATE
+         ${WebKitCommonIncludeDirectories}
+     )
+-    target_include_directories(WebKitPluginProcess2 SYSTEM PRIVATE
++    target_include_directories(WebKitPluginProcess2 PRIVATE
+          ${WebKitCommonSystemIncludeDirectories}
+          ${GTK2_INCLUDE_DIRS}
+          ${GDK2_INCLUDE_DIRS}
+@@ -705,7 +705,7 @@
+     "${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}"
+ )
+ 
+-target_include_directories(webkit2gtkinjectedbundle SYSTEM PRIVATE
++target_include_directories(webkit2gtkinjectedbundle PRIVATE
+     ${WebKit_SYSTEM_INCLUDE_DIRECTORIES}
+ )
+ 
+--- ./Source/cmake/WebKitMacros.cmake.orig	2019-08-05 09:35:29.196341789 +0200
++++ ./Source/cmake/WebKitMacros.cmake	2019-08-05 09:35:38.300342069 +0200
+@@ -152,7 +152,7 @@
+         ${${_target}_SOURCES}
+     )
+     target_include_directories(${_target} PUBLIC "$<BUILD_INTERFACE:${${_target}_INCLUDE_DIRECTORIES}>")
+-    target_include_directories(${_target} SYSTEM PRIVATE "$<BUILD_INTERFACE:${${_target}_SYSTEM_INCLUDE_DIRECTORIES}>")
++    target_include_directories(${_target} PRIVATE "$<BUILD_INTERFACE:${${_target}_SYSTEM_INCLUDE_DIRECTORIES}>")
+     target_include_directories(${_target} PRIVATE "$<BUILD_INTERFACE:${${_target}_PRIVATE_INCLUDE_DIRECTORIES}>")
+     target_link_libraries(${_target} ${${_target}_LIBRARIES})
+     set_target_properties(${_target} PROPERTIES COMPILE_DEFINITIONS "BUILDING_${_target}")
+--- ./Source/cmake/WebKitCompilerFlags.cmake.orig	2019-08-05 09:34:01.300339089 +0200
++++ ./Source/cmake/WebKitCompilerFlags.cmake	2019-08-05 09:35:19.180341481 +0200
+@@ -216,31 +216,6 @@
+ set(CODE_GENERATOR_PREPROCESSOR "\"${CMAKE_CXX_COMPILER}\" ${CODE_GENERATOR_PREPROCESSOR_ARGUMENTS}")
+ set(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "\"${CMAKE_CXX_COMPILER}\" ${CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS_ARGUMENTS}")
+ 
+-
+-# Ensure that the default include system directories are added to the list of CMake implicit includes.
+-# This workarounds an issue that happens when using GCC 6 and using system includes (-isystem).
+-# For more details check: https://bugs.webkit.org/show_bug.cgi?id=161697
+-macro(DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _compiler _flags _result)
+-    file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy" "\n")
+-    separate_arguments(_buildFlags UNIX_COMMAND "${_flags}")
+-    execute_process(COMMAND ${_compiler} ${_buildFlags} -v -E -x ${_lang} -dD dummy
+-                    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles OUTPUT_QUIET
+-                    ERROR_VARIABLE _gccOutput)
+-    file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy")
+-    if ("${_gccOutput}" MATCHES "> search starts here[^\n]+\n *(.+) *\n *End of (search) list")
+-        set(${_result} ${CMAKE_MATCH_1})
+-        string(REPLACE "\n" " " ${_result} "${${_result}}")
+-        separate_arguments(${_result})
+-    endif ()
+-endmacro()
+-
+-if (COMPILER_IS_GCC_OR_CLANG)
+-   DETERMINE_GCC_SYSTEM_INCLUDE_DIRS("c" "${CMAKE_C_COMPILER}" "${CMAKE_C_FLAGS}" SYSTEM_INCLUDE_DIRS)
+-   set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRS})
+-   DETERMINE_GCC_SYSTEM_INCLUDE_DIRS("c++" "${CMAKE_CXX_COMPILER}" "${CMAKE_CXX_FLAGS}" SYSTEM_INCLUDE_DIRS)
+-   set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRS})
+-endif ()
+-
+ if (COMPILER_IS_GCC_OR_CLANG)
+     set(ATOMIC_TEST_SOURCE "
+         #include <atomic>
+--- ./Source/JavaScriptCore/CMakeLists.txt.orig	2019-08-05 09:39:00.468348279 +0200
++++ ./Source/JavaScriptCore/CMakeLists.txt	2019-08-05 09:39:08.728348533 +0200
+@@ -1283,13 +1283,13 @@
+     ${JavaScriptCore_INCLUDE_DIRECTORIES}
+     ${JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES}
+ )
+-target_include_directories(LLIntSettingsExtractor SYSTEM PRIVATE ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
++target_include_directories(LLIntSettingsExtractor PRIVATE ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
+ 
+ target_include_directories(LLIntOffsetsExtractor PRIVATE
+     ${JavaScriptCore_INCLUDE_DIRECTORIES}
+     ${JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES}
+ )
+-target_include_directories(LLIntOffsetsExtractor SYSTEM PRIVATE ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
++target_include_directories(LLIntOffsetsExtractor PRIVATE ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
+ 
+ add_subdirectory(shell)
+ 
+--- ./Source/JavaScriptCore/shell/CMakeLists.txt.orig	2019-08-05 09:38:28.744347304 +0200
++++ ./Source/JavaScriptCore/shell/CMakeLists.txt	2019-08-05 09:38:34.484347481 +0200
+@@ -36,7 +36,7 @@
+ WEBKIT_WRAP_SOURCELIST(${JSC_SOURCES})
+ WEBKIT_WRAP_SOURCELIST(${TESTAPI_SOURCES})
+ include_directories(./ ${JavaScriptCore_INCLUDE_DIRECTORIES} ${JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
+ add_executable(jsc ${JSC_SOURCES})
+ target_link_libraries(jsc ${JSC_LIBRARIES})
+ 
+--- ./Source/WebCore/CMakeLists.txt.orig	2019-08-05 09:39:20.148348883 +0200
++++ ./Source/WebCore/CMakeLists.txt	2019-08-05 09:39:43.724349608 +0200
+@@ -2104,7 +2104,7 @@
+ # paths of WebCore.
+ add_library(WebCoreHeaderInterface INTERFACE)
+ target_include_directories(WebCoreHeaderInterface INTERFACE ${WebCore_INCLUDE_DIRECTORIES})
+-target_include_directories(WebCoreHeaderInterface SYSTEM INTERFACE ${WebCore_SYSTEM_INCLUDE_DIRECTORIES})
++target_include_directories(WebCoreHeaderInterface INTERFACE ${WebCore_SYSTEM_INCLUDE_DIRECTORIES})
+ target_link_libraries(WebCoreHeaderInterface INTERFACE ${WebCore_LIBRARIES})
+ 
+ if (MSVC)
+@@ -2114,7 +2114,7 @@
+ add_library(WebCoreTestSupport ${WebCoreTestSupport_LIBRARY_TYPE} ${WebCoreTestSupport_SOURCES})
+ add_dependencies(WebCoreTestSupport WebCore WebCoreTestSupportBindings)
+ target_include_directories(WebCoreTestSupport PUBLIC ${WebCoreTestSupport_INCLUDE_DIRECTORIES} ${WebCore_INCLUDE_DIRECTORIES})
+-target_include_directories(WebCoreTestSupport SYSTEM PUBLIC ${WebCore_SYSTEM_INCLUDE_DIRECTORIES})
++target_include_directories(WebCoreTestSupport PUBLIC ${WebCore_SYSTEM_INCLUDE_DIRECTORIES})
+ target_link_libraries(WebCoreTestSupport ${WebCoreTestSupport_LIBRARIES})
+ 
+ if (WebCoreTestSupport_OUTPUT_NAME)
+--- ./Source/WebCore/PlatformGTK.cmake.orig	2019-08-05 09:35:55.792342606 +0200
++++ ./Source/WebCore/PlatformGTK.cmake	2019-08-05 09:36:19.120343323 +0200
+@@ -164,7 +164,7 @@
+     target_include_directories(WebCorePlatformGTK2 PRIVATE
+         ${WebCore_INCLUDE_DIRECTORIES}
+     )
+-    target_include_directories(WebCorePlatformGTK2 SYSTEM PRIVATE
++    target_include_directories(WebCorePlatformGTK2 PRIVATE
+         ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
+         ${GTK2_INCLUDE_DIRS}
+         ${GDK2_INCLUDE_DIRS}
+@@ -190,7 +190,7 @@
+ target_include_directories(WebCorePlatformGTK PRIVATE
+     ${WebCore_INCLUDE_DIRECTORIES}
+ )
+-target_include_directories(WebCorePlatformGTK SYSTEM PRIVATE
++target_include_directories(WebCorePlatformGTK PRIVATE
+     ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
+     ${GTK_INCLUDE_DIRS}
+     ${GDK_INCLUDE_DIRS}
+@@ -206,7 +206,7 @@
+     "${WEBCORE_DIR}/bindings/gobject/"
+ )
+ 
+-include_directories(SYSTEM
++include_directories(
+     ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
+ )
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/webkitgtk/patch-musl.patch	Wed Aug 07 07:13:31 2019 +0200
@@ -0,0 +1,75 @@
+From c4d4d9f1aa74addefdad40294cf16d9e0b3dd6ec Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 6 Oct 2017 17:00:08 +0300
+Subject: [PATCH] Fix build with musl
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ Source/JavaScriptCore/runtime/MachineContext.h | 10 +++++-----
+ Source/WTF/wtf/Platform.h                      |  2 +-
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h
+index 823964c2..00841146 100644
+--- a/Source/JavaScriptCore/runtime/MachineContext.h
++++ b/Source/JavaScriptCore/runtime/MachineContext.h
+@@ -188,7 +188,7 @@ static inline void*& stackPointerImpl(mcontext_t& machineContext)
+ #error Unknown Architecture
+ #endif
+ 
+-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
++#elif defined(__linux__)
+ 
+ #if CPU(X86)
+     return reinterpret_cast<void*&>((uintptr_t&) machineContext.gregs[REG_ESP]);
+@@ -335,7 +335,7 @@ static inline void*& framePointerImpl(mcontext_t& machineContext)
+ #error Unknown Architecture
+ #endif
+ 
+-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
++#elif defined(__linux__)
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+@@ -482,7 +482,7 @@ static inline void*& instructionPointerImpl(mcontext_t& machineContext)
+ #error Unknown Architecture
+ #endif
+ 
+-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
++#elif defined(__linux__)
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+@@ -639,7 +639,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext)
+ #error Unknown Architecture
+ #endif
+ 
+-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
++#elif defined(__linux__)
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+@@ -756,7 +756,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext)
+ #error Unknown Architecture
+ #endif
+ 
+-#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
++#elif defined(__linux__)
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
+index 34f7cb14..32ad9150 100644
+--- a/Source/WTF/wtf/Platform.h
++++ b/Source/WTF/wtf/Platform.h
+@@ -714,7 +714,7 @@
+ 
+ #endif /* OS(DARWIN) */
+ 
+-#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
++#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__linux__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
+ #define HAVE_MACHINE_CONTEXT 1
+ #endif
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/webkitgtk/webkitgtk.sh	Wed Aug 07 07:13:31 2019 +0200
@@ -0,0 +1,196 @@
+#!/bin/sh
+#
+# Copyright (c) 2019 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+PKGNAME=webkitgtk
+PKGVERSION=2.24.3
+PKGREVISION=1
+PKGLICENSE="CUSTOM"
+PKGSUMMARY="web content engine for Gtk"
+PKGDOWNLOAD="https://webkitgtk.org/releases/$PKGNAME-$PKGVERSION.tar.xz"
+PKGDEPENDS="accessibility/atk
+            dev/cmake:build
+            fonts/fontconfig
+            fonts/freetype
+            fonts/harfbuzz
+            graphics/cairo
+            graphics/gtk
+            graphics/libpng
+            graphics/libwebp
+            lib/glib
+            lib/icu
+            lib/libtasn1
+            network/libsoup
+            perl/perl:build
+            python/python:build
+            ruby/ruby:build
+            text/libxslt"
+PKGOPTIONS="GEOLOCATION
+            GSTREAMER
+            HYPHEN
+            INTROSPECTION
+            JPEG
+            NOTIFICATIONS
+            LIBSECRET
+            OPENGL
+            SPELL
+            WAYLAND
+            WOFF2
+            X"
+
+: ${CC:=clang}
+: ${CFLAGS:=-O2}
+: ${CXX:=clang++}
+: ${CXXFLAGS:=-O2}
+: ${GEOLOCATION:=no}    # TODO: set to on once geoclue is there.
+: ${GSTREAMER:=no}      # TODO: set to on once gst-plugins-base is there.
+: ${HYPHEN:=no}         # TODO: set to on once hyphen is there.
+: ${INTROSPECTION:=no}  # BROKEN: does not build if enabled
+: ${JPEG:=no}           # TODO: set to on once openjpeg is there.
+: ${NOTIFICATIONS:=yes}
+: ${LIBSECRET:=yes}
+: ${OPENGL:=yes}
+: ${SPELL:=no}          # TODO: set to on once enchant is there.
+: ${WAYLAND:=yes}
+: ${WOFF2:=no}          # TODO: set to on once woff2 is there.
+: ${X:=yes}
+
+if [ "$GEOLOCATION" = "yes" ]; then
+	PKGDEPENDS="network/geoclue $PKGDEPENDS"
+	with_geolocation="-DENABLE_GEOLOCATION=On"
+else
+	with_geolocation="-DENABLE_GEOLOCATION=Off"
+fi
+
+if [ "$GSTREAMER" = "yes" ]; then
+	PKGDEPENDS="multimedia/gstreamer multimedia/gst-plugins-base $PKGDEPENDS"
+	with_gstreamer="-DENABLE_VIDEO=On -DENABLE_WEB_AUDIO=On"
+else
+	with_gstreamer="-DENABLE_VIDEO=Off -DENABLE_WEB_AUDIO=Off"
+fi
+
+if [ "$HYPHEN" = "yes" ]; then
+	with_hyphen="-DUSE_LIBHYPHEN=On"
+else
+	with_hyphen="-DUSE_LIBHYPHEN=Off"
+fi
+
+if [ "$INTROSPECTION" = "yes" ]; then
+	PKGDEPENDS="dev/gobject-introspection:build $PKGDEPENDS"
+	with_introspection="-DENABLE_INTROSPECTION=On"
+else
+	with_introspection="-DENABLE_INTROSPECTION=Off"
+fi
+
+if [ "$JPEG" = "yes" ]; then
+	PKGDEPENDS="graphics/openjpeg $PKGDEPENDS"
+	with_jpeg="-DUSE_OPENJPEG=On"
+else
+	with_jpeg="-DUSE_OPENJPEG=Off"
+fi
+
+if [ "$NOTIFICATIONS" = "yes" ]; then
+	PKGDEPENDS="desktop/notifications $PKGDEPENDS"
+	with_notifications="-DUSE_NOTIFICATIONS=On"
+else
+	with_notifications="-DUSE_NOTIFICATIONS=Off"
+fi
+
+if [ "$LIBSECRET" = "yes" ]; then
+	PKGDEPENDS="security/libsecret $PKGDEPENDS"
+	with_libsecret="-DUSE_LIBSECRET=On"
+else
+	with_libsecret="-DUSE_LIBSECRET=Off"
+fi
+
+if [ "$OPENGL" = "yes" ]; then
+	PKGDEPENDS="graphics/mesa $PKGDEPENDS"
+	with_opengl="-DENABLE_OPENGL=On"
+else
+	with_opengl="-DENABLE_OPENGL=Off"
+fi
+
+if [ "$SPELL" = "yes" ]; then
+	with_spell="-DENABLE_SPELLCHECK=On"
+else
+	with_spell="-DENABLE_SPELLCHECK=Off"
+fi
+
+if [ "$WAYLAND" = "yes" ]; then
+	with_wayland="-DENABLE_WAYLAND_TARGET=On"
+else
+	with_wayland="-DENABLE_WAYLAND_TARGET=Off"
+fi
+
+if [ "$WOFF2" = "yes" ]; then
+	PKGDEPENDS="fonts/woff2 $PKGDEPENDS"
+	with_woff2="-DUSE_WOFF2=On"
+else
+	with_woff2="-DUSE_WOFF2=Off"
+fi
+
+if [ "$X" = "yes" ]; then
+	PKGDEPENDS="x11/libxcomposite
+		    x11/libxdamage
+		    x11/libxrender
+		    x11/libxt
+		    $PKGDEPENDS"
+	with_x="-DENABLE_X11_TARGET=On"
+else
+	with_x="-DENABLE_X11_TARGET=Off"
+fi
+
+build()
+{
+	rm -rf $PKGNAME-$PKGVERSION
+	tar xvf $PKGNAME-$PKGVERSION.tar.xz
+	cd $PKGNAME-$PKGVERSION
+
+	# -DENABLE_PLUGIN_PROCESS_GTK2=Off: in Vanilla Gtk 2 is deprecated.
+	patch -p0 < ../patch-clang.patch
+	patch -p1 < ../patch-musl.patch
+	patch -p1 < ../patch-isystem.patch
+	mkdir build && cd build
+	cmake .. \
+		-DBUILD_SHARED_LIBS=On \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_CXX_COMPILER="$CXX" \
+		-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+		-DCMAKE_C_COMPILER="$CC" \
+		-DCMAKE_C_FLAGS="$CFLAGS" \
+		-DCMAKE_INSTALL_PREFIX= \
+		-DLIB_INSTALL_DIR=/lib \
+		-DPORT=GTK \
+		-DENABLE_PLUGIN_PROCESS_GTK2=Off \
+		$with_geolocation \
+		$with_gstreamer \
+		$with_hyphen \
+		$with_introspection \
+		$with_jpeg \
+		$with_notifications \
+		$with_libsecret \
+		$with_opengl \
+		$with_spell \
+		$with_wayland \
+		$with_woff2 \
+		$with_x
+	make -j3
+	make install DESTDIR=$DESTDIR
+	cd ..
+
+	cd ..
+	rm -rf $PKGNAME-$PKGVERSION
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/webkitgtk/webkitgtk.sha1	Wed Aug 07 07:13:31 2019 +0200
@@ -0,0 +1,1 @@
+26a33fd0af8223c130427cd59aaf5ccaba584114  webkitgtk-2.24.3.tar.xz