diff options
56 files changed, 1753 insertions, 0 deletions
diff --git a/www/webkitgtk4/CVS/Entries b/www/webkitgtk4/CVS/Entries new file mode 100644 index 0000000..7277554 --- /dev/null +++ b/www/webkitgtk4/CVS/Entries | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | /Makefile/1.170/Mon Apr 4 11:07:36 2022// | ||
| 2 | /distinfo/1.92/Sat Mar 26 16:11:55 2022// | ||
| 3 | D/patches//// | ||
| 4 | D/pkg//// | ||
diff --git a/www/webkitgtk4/CVS/Repository b/www/webkitgtk4/CVS/Repository new file mode 100644 index 0000000..5000111 --- /dev/null +++ b/www/webkitgtk4/CVS/Repository | |||
| @@ -0,0 +1 @@ | |||
| ports/www/webkitgtk4 | |||
diff --git a/www/webkitgtk4/CVS/Root b/www/webkitgtk4/CVS/Root new file mode 100644 index 0000000..3811072 --- /dev/null +++ b/www/webkitgtk4/CVS/Root | |||
| @@ -0,0 +1 @@ | |||
| /cvs | |||
diff --git a/www/webkitgtk4/Makefile b/www/webkitgtk4/Makefile new file mode 100644 index 0000000..26d51b4 --- /dev/null +++ b/www/webkitgtk4/Makefile | |||
| @@ -0,0 +1,156 @@ | |||
| 1 | # patches/patch-Source_JavaScriptCore_javascriptcoregtk_pc_in | ||
| 2 | # patches/patch-Source_WebKit_gtk_webkit2gtk-web-extension_pc_in | ||
| 3 | # patches/patch-Source_WebKit_gtk_webkit2gtk_pc_in | ||
| 4 | USE_WXNEEDED = Yes | ||
| 5 | |||
| 6 | BROKEN-alpha = GCC 5.0.0 is required to build WebKitGTK+, use a newer GCC version or clang | ||
| 7 | BROKEN-hppa = GCC 5.0.0 is required to build WebKitGTK+, use a newer GCC version or clang | ||
| 8 | BROKEN-arm = JavaScriptCore/runtime/MachineContext.h, various sigcontext-related | ||
| 9 | |||
| 10 | PORTROACH = limitw:1,even | ||
| 11 | |||
| 12 | COMMENT = GTK+ port of the WebKit rendering engine | ||
| 13 | |||
| 14 | V = 2.36.0 | ||
| 15 | DISTNAME = webkitgtk-${V} | ||
| 16 | PKGNAME = webkitgtk4-${V} | ||
| 17 | REVISION = 1 | ||
| 18 | |||
| 19 | EXTRACT_SUFX = .tar.xz | ||
| 20 | API = 4.0 | ||
| 21 | SUBST_VARS = API | ||
| 22 | DPB_PROPERTIES = parallel | ||
| 23 | |||
| 24 | SHARED_LIBS += javascriptcoregtk-${API} 3.6 # 18.13.3 | ||
| 25 | SHARED_LIBS += webkit2gtk-${API} 3.6 # 37.37.2 | ||
| 26 | |||
| 27 | CATEGORIES = www | ||
| 28 | |||
| 29 | HOMEPAGE = https://webkitgtk.org/ | ||
| 30 | |||
| 31 | MAINTAINER = Antoine Jacoutot <ajacoutot@openbsd.org> | ||
| 32 | |||
| 33 | # LGPLv2 and BSD | ||
| 34 | PERMIT_PACKAGE = Yes | ||
| 35 | |||
| 36 | WANTLIB += ${COMPILER_LIBCXX} EGL GL X11 Xcomposite Xdamage Xrender | ||
| 37 | WANTLIB += Xt atk-1.0 c cairo cairo-gobject enchant-2 fontconfig | ||
| 38 | WANTLIB += freetype gcrypt gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 | ||
| 39 | WANTLIB += gmodule-2.0 gobject-2.0 gpg-error gstapp-1.0 gstaudio-1.0 | ||
| 40 | WANTLIB += gstbase-1.0 gstfft-1.0 gstgl-1.0 gstpbutils-1.0 gstreamer-1.0 | ||
| 41 | WANTLIB += gsttag-1.0 gstvideo-1.0 gtk-3 harfbuzz harfbuzz-icu | ||
| 42 | WANTLIB += hyphen icudata icui18n icuuc intl jpeg lcms2 m notify | ||
| 43 | WANTLIB += openjp2 pango-1.0 pangocairo-1.0 png secret-1 soup-2.4 | ||
| 44 | WANTLIB += sqlite3 tasn1 webp webpdemux woff2dec xml2 xslt z | ||
| 45 | |||
| 46 | MASTER_SITES = https://webkitgtk.org/releases/ | ||
| 47 | |||
| 48 | MODULES = devel/cmake \ | ||
| 49 | lang/python \ | ||
| 50 | lang/ruby \ | ||
| 51 | x11/gnome | ||
| 52 | |||
| 53 | COMPILER = base-clang ports-gcc | ||
| 54 | |||
| 55 | MODRUBY_RUNDEP = No | ||
| 56 | MODPY_RUNDEP = No | ||
| 57 | MODPY_ADJ_FILES = Tools/glib/generate-inspector-gresource-manifest.py | ||
| 58 | MODGNOME_TOOLS = gobject-introspection | ||
| 59 | |||
| 60 | # XXX set DEBUG=-g1 because libWebCoreGTK.a is too big (4.1G) | ||
| 61 | # https://bugs.webkit.org/show_bug.cgi?id=140384 | ||
| 62 | # ld.lld: error: lib/libWebCoreGTK.a: | ||
| 63 | # could not get the member for symbol WebCore::WorkerThread::runEventLoop(): | ||
| 64 | # truncated or malformed archive (terminator characters in archive member "ar" not the correct "`\n" values for the archive member header for 12__retguard_29) | ||
| 65 | DEBUG_PACKAGES = ${BUILD_PACKAGES} | ||
| 66 | DEBUG = -g1 | ||
| 67 | |||
| 68 | NO_TEST = Yes | ||
| 69 | |||
| 70 | BUILD_DEPENDS = devel/bison \ | ||
| 71 | devel/gettext,-tools \ | ||
| 72 | devel/gperf \ | ||
| 73 | geo/geoclue2 | ||
| 74 | |||
| 75 | RUN_DEPENDS = geo/geoclue2 \ | ||
| 76 | multimedia/gstreamer1/plugins-good | ||
| 77 | |||
| 78 | LIB_DEPENDS = archivers/woff2 \ | ||
| 79 | devel/harfbuzz,-icu \ | ||
| 80 | devel/libnotify \ | ||
| 81 | devel/libsoup \ | ||
| 82 | graphics/libwebp \ | ||
| 83 | graphics/openjp2 \ | ||
| 84 | multimedia/gstreamer1/plugins-base \ | ||
| 85 | textproc/enchant2 \ | ||
| 86 | textproc/hyphen \ | ||
| 87 | textproc/libxslt \ | ||
| 88 | x11/gnome/libsecret \ | ||
| 89 | x11/gtk+3 | ||
| 90 | |||
| 91 | CONFIGURE_ENV = WK_USE_CCACHE=NO | ||
| 92 | CONFIGURE_ARGS = -DPORT=GTK \ | ||
| 93 | -DENABLE_MINIBROWSER=ON \ | ||
| 94 | -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \ | ||
| 95 | -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \ | ||
| 96 | -DENABLE_JOURNALD_LOG=OFF \ | ||
| 97 | -DUSE_SOUP2=ON | ||
| 98 | |||
| 99 | # XXX broken at run time | ||
| 100 | #CONFIGURE_ARGS += -DUSE_SYSTEM_MALLOC=ON | ||
| 101 | |||
| 102 | # required for faking a better user-agent | ||
| 103 | .if ${MACHINE_ARCH} == "amd64" | ||
| 104 | CPUARCH = x86_64 | ||
| 105 | .else | ||
| 106 | CPUARCH = ${ARCH} | ||
| 107 | .endif | ||
| 108 | CONFIGURE_ARGS += -DUSER_AGENT_BRANDING="Linux ${CPUARCH}" | ||
| 109 | |||
| 110 | # needs Wayland (libwpe -> WPEBackend-fdo -> Wayland) | ||
| 111 | CONFIGURE_ARGS += -DUSE_WPE_RENDERER=OFF | ||
| 112 | |||
| 113 | # Needs GUdev | ||
| 114 | CONFIGURE_ARGS += -DENABLE_GAMEPAD=OFF | ||
| 115 | |||
| 116 | # sync with Source/JavaScriptCore/assembler/MacroAssembler.h | ||
| 117 | # native support for riscv64 in LLInt fails to link with relocation errors | ||
| 118 | .if ${MACHINE_ARCH} != "aarch64" && ${MACHINE_ARCH} != "amd64" && \ | ||
| 119 | ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "i386" && \ | ||
| 120 | ${MACHINE_ARCH} != "mips64" && ${MACHINE_ARCH} != "mips64el" | ||
| 121 | # #error "The MacroAssembler is not supported on this platform." | ||
| 122 | CONFIGURE_ARGS += -DENABLE_JIT=OFF | ||
| 123 | CONFIGURE_ARGS += -DENABLE_C_LOOP=ON | ||
| 124 | .endif | ||
| 125 | |||
| 126 | |||
| 127 | # we don't want an allocation of 1GB, it's above the default ulimit | ||
| 128 | .if ${MACHINE_ARCH} == "amd64" | ||
| 129 | CXXFLAGS += -DFIXED_EXECUTABLE_MEMORY_POOL_SIZE_IN_MB=512 | ||
| 130 | .endif | ||
| 131 | CXXFLAGS += -DSTRUCTURE_HEAP_ADDRESS_SIZE_IN_MB=256 | ||
| 132 | |||
| 133 | # XXX fatal error: 'X11/Xlib.h' file not found | ||
| 134 | CXXFLAGS += -I${X11BASE}/include | ||
| 135 | |||
| 136 | .include <bsd.port.arch.mk> | ||
| 137 | |||
| 138 | # disable thin archives for bfd | ||
| 139 | .if !${PROPERTIES:Mlld} | ||
| 140 | CONFIGURE_ARGS += -DUSE_THIN_ARCHIVES=FALSE | ||
| 141 | .endif | ||
| 142 | |||
| 143 | .if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "i386" | ||
| 144 | # Don't make LLVM run out of memory | ||
| 145 | DPB_PROPERTIES = lonesome | ||
| 146 | LDFLAGS += -Wl,--no-keep-memory | ||
| 147 | .endif | ||
| 148 | |||
| 149 | post-extract: | ||
| 150 | ln -sf ${MODPY_BIN} ${WRKDIR}/bin/python | ||
| 151 | ln -sf ${RUBY} ${WRKDIR}/bin/ruby | ||
| 152 | |||
| 153 | pre-configure: | ||
| 154 | ${SUBST_CMD} ${WRKSRC}/Source/cmake/WebKitCommon.cmake | ||
| 155 | |||
| 156 | .include <bsd.port.mk> | ||
diff --git a/www/webkitgtk4/distinfo b/www/webkitgtk4/distinfo new file mode 100644 index 0000000..9eb6577 --- /dev/null +++ b/www/webkitgtk4/distinfo | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | SHA256 (webkitgtk-2.36.0.tar.xz) = uHfMofEFI19d1Xx6wrLCvjxraR/0RPk5JcclTPFWxk0= | ||
| 2 | SIZE (webkitgtk-2.36.0.tar.xz) = 26900828 | ||
diff --git a/www/webkitgtk4/patches/CVS/Entries b/www/webkitgtk4/patches/CVS/Entries new file mode 100644 index 0000000..2aad1e7 --- /dev/null +++ b/www/webkitgtk4/patches/CVS/Entries | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | /patch-Source_JavaScriptCore_API_glib_JSCOptions_cpp/1.2/Fri Mar 11 20:11:07 2022// | ||
| 2 | /patch-Source_JavaScriptCore_assembler_ARM64Assembler_h/1.12/Sat Mar 26 16:11:56 2022// | ||
| 3 | /patch-Source_JavaScriptCore_assembler_ARMv7Assembler_h/1.7/Sat Mar 26 16:11:56 2022// | ||
| 4 | /patch-Source_JavaScriptCore_assembler_MacroAssemblerX86Common_h/1.7/Fri Mar 11 20:11:07 2022// | ||
| 5 | /patch-Source_JavaScriptCore_heap_BlockDirectory_cpp/1.2/Fri Mar 11 20:11:07 2022// | ||
| 6 | /patch-Source_JavaScriptCore_javascriptcoregtk_pc_in/1.5/Fri Mar 11 20:11:07 2022// | ||
| 7 | /patch-Source_JavaScriptCore_jsc_cpp/1.5/Sat Mar 26 16:11:56 2022// | ||
| 8 | /patch-Source_JavaScriptCore_offlineasm_arm64_rb/1.8/Fri Mar 11 20:11:07 2022// | ||
| 9 | /patch-Source_JavaScriptCore_runtime_MachineContext_h/1.10/Sat Mar 26 16:11:56 2022// | ||
| 10 | /patch-Source_JavaScriptCore_runtime_Options_cpp/1.8/Fri Mar 11 20:11:07 2022// | ||
| 11 | /patch-Source_ThirdParty_ANGLE_src_common_platform_h/1.1/Sat Mar 26 16:11:56 2022// | ||
| 12 | /patch-Source_ThirdParty_ANGLE_src_common_system_utils_posix_cpp/1.1/Sat Mar 26 16:11:56 2022// | ||
| 13 | /patch-Source_WTF_wtf_InlineASM_h/1.4/Fri Mar 11 20:11:07 2022// | ||
| 14 | /patch-Source_WTF_wtf_PageBlock_h/1.6/Fri Mar 11 20:11:07 2022// | ||
| 15 | /patch-Source_WTF_wtf_PlatformCPU_h/1.3/Fri Mar 11 20:11:07 2022// | ||
| 16 | /patch-Source_WTF_wtf_PlatformEnable_h/1.7/Sat Mar 26 16:11:56 2022// | ||
| 17 | /patch-Source_WTF_wtf_PlatformHave_h/1.8/Tue Apr 5 07:28:25 2022// | ||
| 18 | /patch-Source_WTF_wtf_Platform_h/1.19/Fri Mar 11 20:11:07 2022// | ||
| 19 | /patch-Source_WTF_wtf_dtoa_utils_h/1.6/Fri Mar 11 20:11:07 2022// | ||
| 20 | /patch-Source_WebCore_PAL_pal_PlatformGTK_cmake/1.3/Fri Mar 11 20:11:07 2022// | ||
| 21 | /patch-Source_WebCore_crypto_algorithms_CryptoAlgorithmAES_GCM_cpp/1.2/Fri Mar 11 20:11:07 2022// | ||
| 22 | /patch-Source_WebCore_page_NavigatorBase_cpp/1.3/Sat Mar 26 16:11:56 2022// | ||
| 23 | /patch-Source_WebCore_platform_graphics_FontSelectionAlgorithm_h/1.4/Fri Mar 11 20:11:07 2022// | ||
| 24 | /patch-Source_WebCore_platform_graphics_PlatformDisplay_cpp/1.2/Fri Apr 1 09:08:36 2022// | ||
| 25 | /patch-Source_WebCore_platform_graphics_PlatformDisplay_h/1.2/Fri Apr 1 09:08:36 2022// | ||
| 26 | /patch-Source_WebCore_platform_graphics_libwpe_PlatformDisplayLibWPE_cpp/1.2/Fri Apr 1 09:08:36 2022// | ||
| 27 | /patch-Source_WebCore_platform_graphics_wayland_PlatformDisplayWayland_cpp/1.2/Fri Apr 1 09:08:37 2022// | ||
| 28 | /patch-Source_WebCore_platform_graphics_wayland_PlatformDisplayWayland_h/1.2/Fri Apr 1 09:08:37 2022// | ||
| 29 | /patch-Source_WebCore_platform_graphics_x11_PlatformDisplayX11_cpp/1.4/Fri Apr 1 09:08:37 2022// | ||
| 30 | /patch-Source_WebCore_platform_graphics_x11_PlatformDisplayX11_h/1.2/Fri Apr 1 09:08:37 2022// | ||
| 31 | /patch-Source_WebCore_platform_network_DNS_h/1.3/Fri Mar 11 20:11:07 2022// | ||
| 32 | /patch-Source_WebCore_rendering_RenderLayerBacking_h/1.2/Fri Mar 11 20:11:07 2022// | ||
| 33 | /patch-Source_WebDriver_PlatformGTK_cmake/1.2/Fri Mar 11 20:11:07 2022// | ||
| 34 | /patch-Source_WebKit_WebProcess_gtk_WaylandCompositorDisplay_cpp/1.2/Fri Apr 1 09:08:37 2022// | ||
| 35 | /patch-Source_WebKit_gtk_webkit2gtk-web-extension_pc_in/1.6/Fri Mar 11 20:11:07 2022// | ||
| 36 | /patch-Source_WebKit_gtk_webkit2gtk_pc_in/1.6/Fri Mar 11 20:11:07 2022// | ||
| 37 | /patch-Source_bmalloc_bmalloc_AvailableMemory_cpp/1.1/Sat Mar 26 16:11:56 2022// | ||
| 38 | /patch-Source_bmalloc_bmalloc_AvailableMemory_h/1.1/Sat Mar 26 16:11:56 2022// | ||
| 39 | /patch-Source_bmalloc_bmalloc_BPlatform_h/1.1/Sat Mar 26 16:11:56 2022// | ||
| 40 | /patch-Source_cmake_OptionsCommon_cmake/1.21/Sat Mar 26 16:11:56 2022// | ||
| 41 | /patch-Source_cmake_WebKitCommon_cmake/1.9/Sat Mar 26 16:11:56 2022// | ||
| 42 | /patch-Source_cmake_WebKitCompilerFlags_cmake/1.11/Sat Mar 26 16:11:56 2022// | ||
| 43 | /patch-Source_cmake_WebKitFeatures_cmake/1.12/Sat Mar 26 16:11:56 2022// | ||
| 44 | D | ||
diff --git a/www/webkitgtk4/patches/CVS/Repository b/www/webkitgtk4/patches/CVS/Repository new file mode 100644 index 0000000..be284f0 --- /dev/null +++ b/www/webkitgtk4/patches/CVS/Repository | |||
| @@ -0,0 +1 @@ | |||
| ports/www/webkitgtk4/patches | |||
diff --git a/www/webkitgtk4/patches/CVS/Root b/www/webkitgtk4/patches/CVS/Root new file mode 100644 index 0000000..3811072 --- /dev/null +++ b/www/webkitgtk4/patches/CVS/Root | |||
| @@ -0,0 +1 @@ | |||
| /cvs | |||
diff --git a/www/webkitgtk4/patches/patch-Source_JavaScriptCore_API_glib_JSCOptions_cpp b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_API_glib_JSCOptions_cpp new file mode 100644 index 0000000..813ceaf --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_API_glib_JSCOptions_cpp | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | Unbreak i386: | ||
| 2 | - revert https://trac.webkit.org/changeset/241014/webkit | ||
| 3 | - https://bugs.webkit.org/show_bug.cgi?id=194330 | ||
| 4 | |||
| 5 | Index: Source/JavaScriptCore/API/glib/JSCOptions.cpp | ||
| 6 | --- Source/JavaScriptCore/API/glib/JSCOptions.cpp.orig | ||
| 7 | +++ Source/JavaScriptCore/API/glib/JSCOptions.cpp | ||
| 8 | @@ -73,7 +73,6 @@ static void valueToGValue(int32_t value, GValue* gValu | ||
| 9 | g_value_set_int(gValue, value); | ||
| 10 | } | ||
| 11 | |||
| 12 | -#if CPU(ADDRESS64) | ||
| 13 | static bool valueFromGValue(const GValue* gValue, unsigned& value) | ||
| 14 | { | ||
| 15 | value = g_value_get_uint(gValue); | ||
| 16 | @@ -84,7 +83,6 @@ static void valueToGValue(unsigned value, GValue* gVal | ||
| 17 | { | ||
| 18 | g_value_set_uint(gValue, value); | ||
| 19 | } | ||
| 20 | -#endif | ||
| 21 | |||
| 22 | static bool valueFromGValue(const GValue* gValue, size_t& value) | ||
| 23 | { | ||
| 24 | @@ -542,12 +540,10 @@ static JSCOptionType jscOptionsType(int) | ||
| 25 | return JSC_OPTION_INT; | ||
| 26 | } | ||
| 27 | |||
| 28 | -#if CPU(ADDRESS64) | ||
| 29 | static JSCOptionType jscOptionsType(unsigned) | ||
| 30 | { | ||
| 31 | return JSC_OPTION_UINT; | ||
| 32 | } | ||
| 33 | -#endif | ||
| 34 | |||
| 35 | static JSCOptionType jscOptionsType(size_t) | ||
| 36 | { | ||
diff --git a/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h new file mode 100644 index 0000000..a73d1a4 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler_h | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | Index: Source/JavaScriptCore/assembler/ARM64Assembler.h | ||
| 2 | --- Source/JavaScriptCore/assembler/ARM64Assembler.h.orig | ||
| 3 | +++ Source/JavaScriptCore/assembler/ARM64Assembler.h | ||
| 4 | @@ -2945,6 +2945,8 @@ class ARM64Assembler { (public) | ||
| 5 | { | ||
| 6 | #if OS(DARWIN) | ||
| 7 | sys_cache_control(kCacheFunctionPrepareForExecution, code, size); | ||
| 8 | +#elif OS(FREEBSD) || OS(NETBSD) || OS(OPENBSD) | ||
| 9 | + __clear_cache(code, reinterpret_cast<char*>(code) + size); | ||
| 10 | #elif OS(FUCHSIA) | ||
| 11 | zx_cache_flush(code, size, ZX_CACHE_FLUSH_INSN); | ||
| 12 | #elif OS(LINUX) | ||
diff --git a/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_ARMv7Assembler_h b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_ARMv7Assembler_h new file mode 100644 index 0000000..5a5fb4d --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_ARMv7Assembler_h | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | Index: Source/JavaScriptCore/assembler/ARMv7Assembler.h | ||
| 2 | --- Source/JavaScriptCore/assembler/ARMv7Assembler.h.orig | ||
| 3 | +++ Source/JavaScriptCore/assembler/ARMv7Assembler.h | ||
| 4 | @@ -2507,6 +2507,8 @@ class ARMv7Assembler { (public) | ||
| 5 | linuxPageFlush(current, current + page); | ||
| 6 | |||
| 7 | linuxPageFlush(current, end); | ||
| 8 | +#elif CPU(ARM_TRADITIONAL) && (OS(FREEBSD) || OS(OPENBSD)) && COMPILER(CLANG) | ||
| 9 | + __clear_cache(code, reinterpret_cast<char*>(code) + size); | ||
| 10 | #else | ||
| 11 | #error "The cacheFlush support is missing on this platform." | ||
| 12 | #endif | ||
diff --git a/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerX86Common_h b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerX86Common_h new file mode 100644 index 0000000..f864540 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_assembler_MacroAssemblerX86Common_h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | XXX error: macro "swap32" passed 2 arguments, but takes just 1 | ||
| 2 | XXX error: macro "swap64" passed 2 arguments, but takes just 1 | ||
| 3 | |||
| 4 | Index: Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h | ||
| 5 | --- Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h.orig | ||
| 6 | +++ Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h | ||
| 7 | @@ -31,6 +31,12 @@ | ||
| 8 | #include "AbstractMacroAssembler.h" | ||
| 9 | #include <array> | ||
| 10 | |||
| 11 | +/* conflicting definition in endian.h */ | ||
| 12 | +#if OS(OPENBSD) | ||
| 13 | +#undef swap32 | ||
| 14 | +#undef swap64 | ||
| 15 | +#endif | ||
| 16 | + | ||
| 17 | namespace JSC { | ||
| 18 | |||
| 19 | using Assembler = TARGET_ASSEMBLER; | ||
diff --git a/www/webkitgtk4/patches/patch-Source_JavaScriptCore_heap_BlockDirectory_cpp b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_heap_BlockDirectory_cpp new file mode 100644 index 0000000..0ec4c26 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_heap_BlockDirectory_cpp | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | No mincore(2) on OpenBSD. | ||
| 2 | |||
| 3 | Index: Source/JavaScriptCore/heap/BlockDirectory.cpp | ||
| 4 | --- Source/JavaScriptCore/heap/BlockDirectory.cpp.orig | ||
| 5 | +++ Source/JavaScriptCore/heap/BlockDirectory.cpp | ||
| 6 | @@ -60,7 +60,7 @@ void BlockDirectory::setSubspace(Subspace* subspace) | ||
| 7 | void BlockDirectory::updatePercentageOfPagedOutPages(SimpleStats& stats) | ||
| 8 | { | ||
| 9 | // FIXME: We should figure out a solution for Windows. | ||
| 10 | -#if OS(UNIX) | ||
| 11 | +#if OS(UNIX) && !OS(OPENBSD) | ||
| 12 | size_t pageSize = WTF::pageSize(); | ||
| 13 | ASSERT(!(MarkedBlock::blockSize % pageSize)); | ||
| 14 | auto numberOfPagesInMarkedBlock = MarkedBlock::blockSize / pageSize; | ||
diff --git a/www/webkitgtk4/patches/patch-Source_JavaScriptCore_javascriptcoregtk_pc_in b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_javascriptcoregtk_pc_in new file mode 100644 index 0000000..72d8553 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_javascriptcoregtk_pc_in | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | Index: Source/JavaScriptCore/javascriptcoregtk.pc.in | ||
| 2 | --- Source/JavaScriptCore/javascriptcoregtk.pc.in.orig | ||
| 3 | +++ Source/JavaScriptCore/javascriptcoregtk.pc.in | ||
| 4 | @@ -8,5 +8,5 @@ Name: JavaScriptCoreGTK+ | ||
| 5 | Description: GTK+ version of the JavaScriptCore engine | ||
| 6 | Version: @PROJECT_VERSION@ | ||
| 7 | Requires: glib-2.0 gobject-2.0 | ||
| 8 | -Libs: -L${libdir} -ljavascriptcoregtk-@WEBKITGTK_API_VERSION@ | ||
| 9 | +Libs: -L${libdir} -ljavascriptcoregtk-@WEBKITGTK_API_VERSION@ -Wl,-z,wxneeded | ||
| 10 | Cflags: -I${includedir}/webkitgtk-@WEBKITGTK_API_VERSION@ | ||
diff --git a/www/webkitgtk4/patches/patch-Source_JavaScriptCore_jsc_cpp b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_jsc_cpp new file mode 100644 index 0000000..679d2bb --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_jsc_cpp | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | Index: Source/JavaScriptCore/jsc.cpp | ||
| 2 | --- Source/JavaScriptCore/jsc.cpp.orig | ||
| 3 | +++ Source/JavaScriptCore/jsc.cpp | ||
| 4 | @@ -78,6 +78,7 @@ | ||
| 5 | #include "WasmCapabilities.h" | ||
| 6 | #include "WasmFaultSignalHandler.h" | ||
| 7 | #include "WasmMemory.h" | ||
| 8 | +#include <locale.h> /* LC_ALL */ | ||
| 9 | #include <stdio.h> | ||
| 10 | #include <stdlib.h> | ||
| 11 | #include <string.h> | ||
diff --git a/www/webkitgtk4/patches/patch-Source_JavaScriptCore_offlineasm_arm64_rb b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_offlineasm_arm64_rb new file mode 100644 index 0000000..4d74860 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_offlineasm_arm64_rb | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | Index: Source/JavaScriptCore/offlineasm/arm64.rb | ||
| 2 | --- Source/JavaScriptCore/offlineasm/arm64.rb.orig | ||
| 3 | +++ Source/JavaScriptCore/offlineasm/arm64.rb | ||
| 4 | @@ -1127,7 +1127,7 @@ class Instruction | ||
| 5 | $asm.puts "ldr #{operands[1].arm64Operand(:quad)}, [#{operands[1].arm64Operand(:quad)}, #{operands[0].asmLabel}@GOTPAGEOFF]" | ||
| 6 | |||
| 7 | # On Linux, use ELF GOT relocation specifiers. | ||
| 8 | - $asm.putStr("#elif OS(LINUX)") | ||
| 9 | + $asm.putStr("#elif OS(LINUX) || OS(OPENBSD)") | ||
| 10 | $asm.puts "adrp #{operands[1].arm64Operand(:quad)}, :got:#{operands[0].asmLabel}" | ||
| 11 | $asm.puts "ldr #{operands[1].arm64Operand(:quad)}, [#{operands[1].arm64Operand(:quad)}, :got_lo12:#{operands[0].asmLabel}]" | ||
| 12 | |||
diff --git a/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_MachineContext_h b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_MachineContext_h new file mode 100644 index 0000000..94dc8b1 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_MachineContext_h | |||
| @@ -0,0 +1,118 @@ | |||
| 1 | Index: Source/JavaScriptCore/runtime/MachineContext.h | ||
| 2 | --- Source/JavaScriptCore/runtime/MachineContext.h.orig | ||
| 3 | +++ Source/JavaScriptCore/runtime/MachineContext.h | ||
| 4 | @@ -176,6 +176,22 @@ static inline void*& stackPointerImpl(mcontext_t& mach | ||
| 5 | #error Unknown Architecture | ||
| 6 | #endif | ||
| 7 | |||
| 8 | +#elif OS(OPENBSD) | ||
| 9 | + | ||
| 10 | +#if CPU(X86) | ||
| 11 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_esp); | ||
| 12 | +#elif CPU(X86_64) | ||
| 13 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_rsp); | ||
| 14 | +#elif CPU(ARM) | ||
| 15 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_SP]); | ||
| 16 | +#elif CPU(ARM64) | ||
| 17 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_sp); | ||
| 18 | +#elif CPU(MIPS) | ||
| 19 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_regs[29]); | ||
| 20 | +#else | ||
| 21 | +#error Unknown Architecture | ||
| 22 | +#endif | ||
| 23 | + | ||
| 24 | #elif OS(FUCHSIA) || OS(LINUX) | ||
| 25 | |||
| 26 | #if CPU(X86) | ||
| 27 | @@ -305,6 +321,22 @@ static inline void*& framePointerImpl(mcontext_t& mach | ||
| 28 | #error Unknown Architecture | ||
| 29 | #endif | ||
| 30 | |||
| 31 | +#elif OS(OPENBSD) | ||
| 32 | + | ||
| 33 | +#if CPU(X86) | ||
| 34 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_ebp); | ||
| 35 | +#elif CPU(X86_64) | ||
| 36 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_rbp); | ||
| 37 | +#elif CPU(ARM) | ||
| 38 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_FP]); | ||
| 39 | +#elif CPU(ARM64) | ||
| 40 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_x[29]); | ||
| 41 | +#elif CPU(MIPS) | ||
| 42 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_regs[30]); | ||
| 43 | +#else | ||
| 44 | +#error Unknown Architecture | ||
| 45 | +#endif | ||
| 46 | + | ||
| 47 | #elif OS(FUCHSIA) || OS(LINUX) | ||
| 48 | |||
| 49 | // The following sequence depends on glibc's sys/ucontext.h. | ||
| 50 | @@ -447,6 +479,22 @@ static inline void*& instructionPointerImpl(mcontext_t | ||
| 51 | #error Unknown Architecture | ||
| 52 | #endif | ||
| 53 | |||
| 54 | +#elif OS(OPENBSD) | ||
| 55 | + | ||
| 56 | +#if CPU(X86) | ||
| 57 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_eip); | ||
| 58 | +#elif CPU(X86_64) | ||
| 59 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_rip); | ||
| 60 | +#elif CPU(ARM) | ||
| 61 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_PC]); | ||
| 62 | +#elif CPU(ARM64) | ||
| 63 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_elr); | ||
| 64 | +#elif CPU(MIPS) | ||
| 65 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_pc); | ||
| 66 | +#else | ||
| 67 | +#error Unknown Architecture | ||
| 68 | +#endif | ||
| 69 | + | ||
| 70 | #elif OS(FUCHSIA) || OS(LINUX) | ||
| 71 | |||
| 72 | // The following sequence depends on glibc's sys/ucontext.h. | ||
| 73 | @@ -587,6 +635,22 @@ inline void*& argumentPointer<1>(mcontext_t& machineCo | ||
| 74 | #error Unknown Architecture | ||
| 75 | #endif | ||
| 76 | |||
| 77 | +#elif OS(OPENBSD) | ||
| 78 | + | ||
| 79 | +#if CPU(X86) | ||
| 80 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_edx); | ||
| 81 | +#elif CPU(X86_64) | ||
| 82 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_rsi); | ||
| 83 | +#elif CPU(ARM) | ||
| 84 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_R1]); | ||
| 85 | +#elif CPU(ARM64) | ||
| 86 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_x[1]); | ||
| 87 | +#elif CPU(MIPS) | ||
| 88 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_regs[5]); | ||
| 89 | +#else | ||
| 90 | +#error Unknown Architecture | ||
| 91 | +#endif | ||
| 92 | + | ||
| 93 | #elif OS(FUCHSIA) || OS(LINUX) | ||
| 94 | |||
| 95 | // The following sequence depends on glibc's sys/ucontext.h. | ||
| 96 | @@ -700,6 +764,22 @@ inline void*& llintInstructionPointer(mcontext_t& mach | ||
| 97 | return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_R8]); | ||
| 98 | #elif CPU(ARM64) | ||
| 99 | return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_gpregs.gp_x[4]); | ||
| 100 | +#elif CPU(MIPS) | ||
| 101 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_regs[12]); | ||
| 102 | +#else | ||
| 103 | +#error Unknown Architecture | ||
| 104 | +#endif | ||
| 105 | + | ||
| 106 | +#elif OS(OPENBSD) | ||
| 107 | + | ||
| 108 | +#if CPU(X86) | ||
| 109 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_esi); | ||
| 110 | +#elif CPU(X86_64) | ||
| 111 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_r8); | ||
| 112 | +#elif CPU(ARM) | ||
| 113 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.__gregs[_REG_R8]); | ||
| 114 | +#elif CPU(ARM64) | ||
| 115 | + return reinterpret_cast<void*&>((uintptr_t&) machineContext.sc_x[4]); | ||
| 116 | #elif CPU(MIPS) | ||
| 117 | return reinterpret_cast<void*&>((uintptr_t&) machineContext.mc_regs[12]); | ||
| 118 | #else | ||
diff --git a/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_Options_cpp b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_Options_cpp new file mode 100644 index 0000000..537fc18 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_JavaScriptCore_runtime_Options_cpp | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | powerpc and i386 fix for: | ||
| 2 | undefined reference to `WTF::Optional<unsigned long> | ||
| 3 | JSC::parse<unsigned long>(char const*)' | ||
| 4 | |||
| 5 | Index: Source/JavaScriptCore/runtime/Options.cpp | ||
| 6 | --- Source/JavaScriptCore/runtime/Options.cpp.orig | ||
| 7 | +++ Source/JavaScriptCore/runtime/Options.cpp | ||
| 8 | @@ -89,7 +89,7 @@ std::optional<OptionsStorage::Unsigned> parse(const ch | ||
| 9 | return std::nullopt; | ||
| 10 | } | ||
| 11 | |||
| 12 | -#if CPU(ADDRESS64) || OS(DARWIN) | ||
| 13 | +#if CPU(ADDRESS64) || OS(DARWIN) || OS(OPENBSD) | ||
| 14 | template<> | ||
| 15 | std::optional<OptionsStorage::Size> parse(const char* string) | ||
| 16 | { | ||
| 17 | @@ -98,7 +98,7 @@ std::optional<OptionsStorage::Size> parse(const char* | ||
| 18 | return value; | ||
| 19 | return std::nullopt; | ||
| 20 | } | ||
| 21 | -#endif // CPU(ADDRESS64) || OS(DARWIN) | ||
| 22 | +#endif // CPU(ADDRESS64) || OS(DARWIN) || OS(OPENBSD) | ||
| 23 | |||
| 24 | template<> | ||
| 25 | std::optional<OptionsStorage::Double> parse(const char* string) | ||
diff --git a/www/webkitgtk4/patches/patch-Source_ThirdParty_ANGLE_src_common_platform_h b/www/webkitgtk4/patches/patch-Source_ThirdParty_ANGLE_src_common_platform_h new file mode 100644 index 0000000..d211055 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_ThirdParty_ANGLE_src_common_platform_h | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | Index: Source/ThirdParty/ANGLE/src/common/platform.h | ||
| 2 | --- Source/ThirdParty/ANGLE/src/common/platform.h.orig | ||
| 3 | +++ Source/ThirdParty/ANGLE/src/common/platform.h | ||
| 4 | @@ -26,7 +26,15 @@ | ||
| 5 | #elif defined(__linux__) || defined(EMSCRIPTEN) | ||
| 6 | # define ANGLE_PLATFORM_LINUX 1 | ||
| 7 | # define ANGLE_PLATFORM_POSIX 1 | ||
| 8 | -#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ | ||
| 9 | +#elif defined(__OpenBSD__) | ||
| 10 | +# define ANGLE_PLATFORM_OPENBSD 1 | ||
| 11 | +# define ANGLE_PLATFORM_POSIX 1 | ||
| 12 | +# define ANGLE_PLATFORM_BSD 1 | ||
| 13 | +#elif defined(__FreeBSD__) | ||
| 14 | +# define ANGLE_PLATFORM_FREEBSD 1 | ||
| 15 | +# define ANGLE_PLATFORM_POSIX 1 | ||
| 16 | +# define ANGLE_PLATFORM_BSD 1 | ||
| 17 | +#elif defined(__NetBSD__) || \ | ||
| 18 | defined(__DragonFly__) || defined(__sun) || defined(__GLIBC__) || defined(__GNU__) || \ | ||
| 19 | defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__) | ||
| 20 | # define ANGLE_PLATFORM_POSIX 1 | ||
diff --git a/www/webkitgtk4/patches/patch-Source_ThirdParty_ANGLE_src_common_system_utils_posix_cpp b/www/webkitgtk4/patches/patch-Source_ThirdParty_ANGLE_src_common_system_utils_posix_cpp new file mode 100644 index 0000000..f42d46b --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_ThirdParty_ANGLE_src_common_system_utils_posix_cpp | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | Index: Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp | ||
| 2 | --- Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp.orig | ||
| 3 | +++ Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp | ||
| 4 | @@ -222,10 +222,12 @@ Library *OpenSharedLibraryWithExtensionAndGetError(con | ||
| 5 | } | ||
| 6 | |||
| 7 | int extraFlags = 0; | ||
| 8 | +#if !ANGLE_PLATFORM_OPENBSD | ||
| 9 | if (searchType == SearchType::AlreadyLoaded) | ||
| 10 | { | ||
| 11 | extraFlags = RTLD_NOLOAD; | ||
| 12 | } | ||
| 13 | +#endif | ||
| 14 | |||
| 15 | std::string fullPath = directory + libraryName; | ||
| 16 | #if ANGLE_PLATFORM_IOS | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WTF_wtf_InlineASM_h b/www/webkitgtk4/patches/patch-Source_WTF_wtf_InlineASM_h new file mode 100644 index 0000000..38594b2 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WTF_wtf_InlineASM_h | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | Index: Source/WTF/wtf/InlineASM.h | ||
| 2 | --- Source/WTF/wtf/InlineASM.h.orig | ||
| 3 | +++ Source/WTF/wtf/InlineASM.h | ||
| 4 | @@ -43,7 +43,7 @@ | ||
| 5 | #define THUMB_FUNC_PARAM(name) | ||
| 6 | #endif | ||
| 7 | |||
| 8 | -#if (OS(LINUX) || OS(FREEBSD)) && CPU(X86_64) | ||
| 9 | +#if (OS(LINUX) || OS(FREEBSD) || OS(OPENBSD)) && CPU(X86_64) | ||
| 10 | #define GLOBAL_REFERENCE(name) #name "@plt" | ||
| 11 | #elif CPU(X86) && COMPILER(MINGW) | ||
| 12 | #define GLOBAL_REFERENCE(name) "@" #name "@4" | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WTF_wtf_PageBlock_h b/www/webkitgtk4/patches/patch-Source_WTF_wtf_PageBlock_h new file mode 100644 index 0000000..8f65f4e --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WTF_wtf_PageBlock_h | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | Index: Source/WTF/wtf/PageBlock.h | ||
| 2 | --- Source/WTF/wtf/PageBlock.h.orig | ||
| 3 | +++ Source/WTF/wtf/PageBlock.h | ||
| 4 | @@ -51,6 +51,8 @@ constexpr size_t CeilingOnPageSize = 16 * KB; | ||
| 5 | constexpr size_t CeilingOnPageSize = 64 * KB; | ||
| 6 | #elif OS(WINDOWS) || CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(RISCV64) | ||
| 7 | constexpr size_t CeilingOnPageSize = 4 * KB; | ||
| 8 | +#elif CPU(SPARC64) | ||
| 9 | +constexpr size_t CeilingOnPageSize = 8 * KB; | ||
| 10 | #else | ||
| 11 | #error Must set CeilingOnPageSize in PageBlock.h when adding a new CPU architecture! | ||
| 12 | #endif | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformCPU_h b/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformCPU_h new file mode 100644 index 0000000..1bebf1f --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformCPU_h | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | https://bugs.webkit.org/show_bug.cgi?id=129963 | ||
| 2 | |||
| 3 | Index: Source/WTF/wtf/PlatformCPU.h | ||
| 4 | --- Source/WTF/wtf/PlatformCPU.h.orig | ||
| 5 | +++ Source/WTF/wtf/PlatformCPU.h | ||
| 6 | @@ -89,6 +89,13 @@ | ||
| 7 | #define WTF_CPU_KNOWN 1 | ||
| 8 | #endif | ||
| 9 | |||
| 10 | +/* CPU(SPARC64) - SPARC V9 */ | ||
| 11 | +#if defined(__sparc64__) | ||
| 12 | +#define WTF_CPU_KNOWN 1 | ||
| 13 | +#define WTF_CPU_SPARC64 1 | ||
| 14 | +#define WTF_CPU_BIG_ENDIAN 1 | ||
| 15 | +#endif | ||
| 16 | + | ||
| 17 | /* CPU(X86) - i386 / x86 32-bit */ | ||
| 18 | #if defined(__i386__) \ | ||
| 19 | || defined(i386) \ | ||
| 20 | @@ -289,7 +296,7 @@ | ||
| 21 | #define WTF_CPU_UNKNOWN 1 | ||
| 22 | #endif | ||
| 23 | |||
| 24 | -#if CPU(ARM) || CPU(MIPS) || CPU(UNKNOWN) | ||
| 25 | +#if CPU(ARM) || CPU(MIPS) || CPU(SPARC64) || CPU(UNKNOWN) | ||
| 26 | #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 | ||
| 27 | #endif | ||
| 28 | |||
diff --git a/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformEnable_h b/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformEnable_h new file mode 100644 index 0000000..c3d7922 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformEnable_h | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | https://bugs.webkit.org/show_bug.cgi?id=129963 | ||
| 2 | |||
| 3 | Index: Source/WTF/wtf/PlatformEnable.h | ||
| 4 | --- Source/WTF/wtf/PlatformEnable.h.orig | ||
| 5 | +++ Source/WTF/wtf/PlatformEnable.h | ||
| 6 | @@ -644,7 +644,7 @@ | ||
| 7 | #if !defined(ENABLE_DFG_JIT) && ENABLE(JIT) | ||
| 8 | |||
| 9 | /* Enable the DFG JIT on X86 and X86_64. */ | ||
| 10 | -#if CPU(X86_64) && (OS(DARWIN) || OS(LINUX) || OS(FREEBSD) || OS(HURD) || OS(WINDOWS)) | ||
| 11 | +#if CPU(X86_64) && (OS(DARWIN) || OS(LINUX) || OS(FREEBSD) || OS(OPENBSD) || OS(HURD) || OS(WINDOWS)) | ||
| 12 | #define ENABLE_DFG_JIT 1 | ||
| 13 | #endif | ||
| 14 | |||
diff --git a/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformHave_h b/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformHave_h new file mode 100644 index 0000000..4be2495 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WTF_wtf_PlatformHave_h | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | Undo parts of upstream commit 6c2615dd66a12e9a10d7867241cc3bedfb2b2473 [0] | ||
| 2 | Machine context definitions were only added for Linux. | ||
| 3 | [0] https://github.com/WebKit/WebKit/commit/6c2615dd66a12e9a10d7867241cc3bedfb2b2473 | ||
| 4 | |||
| 5 | Index: Source/WTF/wtf/PlatformHave.h | ||
| 6 | --- Source/WTF/wtf/PlatformHave.h.orig | ||
| 7 | +++ Source/WTF/wtf/PlatformHave.h | ||
| 8 | @@ -233,6 +233,10 @@ | ||
| 9 | #define HAVE_MACHINE_CONTEXT 1 | ||
| 10 | #endif | ||
| 11 | |||
| 12 | +#if OS(OPENBSD) && CPU(RISCV64) | ||
| 13 | +#undef HAVE_MACHINE_CONTEXT | ||
| 14 | +#endif | ||
| 15 | + | ||
| 16 | #if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS)) | ||
| 17 | #define HAVE_BACKTRACE 1 | ||
| 18 | #endif | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WTF_wtf_Platform_h b/www/webkitgtk4/patches/patch-Source_WTF_wtf_Platform_h new file mode 100644 index 0000000..c503325 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WTF_wtf_Platform_h | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | Fix build with icu4c >=69.1 | ||
| 2 | |||
| 3 | Index: Source/WTF/wtf/Platform.h | ||
| 4 | --- Source/WTF/wtf/Platform.h.orig | ||
| 5 | +++ Source/WTF/wtf/Platform.h | ||
| 6 | @@ -113,7 +113,6 @@ | ||
| 7 | |||
| 8 | /* FIXME: This does not belong in Platform.h and should instead be included in another mechanism (compiler option, prefix header, config.h, etc) */ | ||
| 9 | /* ICU configuration. Some of these match ICU defaults on some platforms, but we would like them consistently set everywhere we build WebKit. */ | ||
| 10 | -#define U_HIDE_DEPRECATED_API 1 | ||
| 11 | #define U_SHOW_CPLUSPLUS_API 0 | ||
| 12 | #ifdef __cplusplus | ||
| 13 | #define UCHAR_TYPE char16_t | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WTF_wtf_dtoa_utils_h b/www/webkitgtk4/patches/patch-Source_WTF_wtf_dtoa_utils_h new file mode 100644 index 0000000..dd59932 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WTF_wtf_dtoa_utils_h | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | Index: Source/WTF/wtf/dtoa/utils.h | ||
| 2 | --- Source/WTF/wtf/dtoa/utils.h.orig | ||
| 3 | +++ Source/WTF/wtf/dtoa/utils.h | ||
| 4 | @@ -86,7 +86,7 @@ int main(int argc, char** argv) { | ||
| 5 | defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ | ||
| 6 | defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \ | ||
| 7 | defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ | ||
| 8 | - defined(__SH4__) || defined(__alpha__) || \ | ||
| 9 | + defined(__SH4__) || defined(__alpha__) || defined(__sparc64__) || \ | ||
| 10 | defined(_MIPS_ARCH_MIPS32R2) || \ | ||
| 11 | defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \ | ||
| 12 | defined(__riscv) || \ | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_PAL_pal_PlatformGTK_cmake b/www/webkitgtk4/patches/patch-Source_WebCore_PAL_pal_PlatformGTK_cmake new file mode 100644 index 0000000..965bc52 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_PAL_pal_PlatformGTK_cmake | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | Index: Source/WebCore/PAL/pal/PlatformGTK.cmake | ||
| 2 | --- Source/WebCore/PAL/pal/PlatformGTK.cmake.orig | ||
| 3 | +++ Source/WebCore/PAL/pal/PlatformGTK.cmake | ||
| 4 | @@ -20,6 +20,14 @@ list(APPEND PAL_SOURCES | ||
| 5 | unix/LoggingUnix.cpp | ||
| 6 | ) | ||
| 7 | |||
| 8 | +list(APPEND PAL_INCLUDE_DIRECTORIES | ||
| 9 | + ${LIBGCRYPT_INCLUDE_DIRS} | ||
| 10 | +) | ||
| 11 | + | ||
| 12 | +list(APPEND PAL_LIBRARIES | ||
| 13 | + ${LIBGCRYPT_LIBRARIES} | ||
| 14 | +) | ||
| 15 | + | ||
| 16 | if (ENABLE_WEB_CRYPTO) | ||
| 17 | list(APPEND PAL_PUBLIC_HEADERS | ||
| 18 | crypto/tasn1/Utilities.h | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_crypto_algorithms_CryptoAlgorithmAES_GCM_cpp b/www/webkitgtk4/patches/patch-Source_WebCore_crypto_algorithms_CryptoAlgorithmAES_GCM_cpp new file mode 100644 index 0000000..061724e --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_crypto_algorithms_CryptoAlgorithmAES_GCM_cpp | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | Index: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_GCM.cpp | ||
| 2 | --- Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_GCM.cpp.orig | ||
| 3 | +++ Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_GCM.cpp | ||
| 4 | @@ -26,6 +26,12 @@ | ||
| 5 | #include "config.h" | ||
| 6 | #include "CryptoAlgorithmAES_GCM.h" | ||
| 7 | |||
| 8 | +#if defined(_LP64) | ||
| 9 | +# define __WORDSIZE 64 | ||
| 10 | +#else | ||
| 11 | +# define __WORDSIZE 32 | ||
| 12 | +#endif | ||
| 13 | + | ||
| 14 | #if ENABLE(WEB_CRYPTO) | ||
| 15 | |||
| 16 | #include "CryptoAlgorithmAesGcmParams.h" | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_page_NavigatorBase_cpp b/www/webkitgtk4/patches/patch-Source_WebCore_page_NavigatorBase_cpp new file mode 100644 index 0000000..7bf4088 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_page_NavigatorBase_cpp | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | Index: Source/WebCore/page/NavigatorBase.cpp | ||
| 2 | --- Source/WebCore/page/NavigatorBase.cpp.orig | ||
| 3 | +++ Source/WebCore/page/NavigatorBase.cpp | ||
| 4 | @@ -40,7 +40,7 @@ | ||
| 5 | #include <wtf/UniqueRef.h> | ||
| 6 | #include <wtf/text/WTFString.h> | ||
| 7 | |||
| 8 | -#if OS(LINUX) | ||
| 9 | +#if OS(LINUX) || OS(OPENBSD) | ||
| 10 | #include "sys/utsname.h" | ||
| 11 | #include <wtf/StdLibExtras.h> | ||
| 12 | #endif | ||
| 13 | @@ -88,7 +88,7 @@ String NavigatorBase::appVersion() const | ||
| 14 | |||
| 15 | String NavigatorBase::platform() const | ||
| 16 | { | ||
| 17 | -#if OS(LINUX) | ||
| 18 | +#if OS(LINUX) || OS(OPENBSD) | ||
| 19 | static LazyNeverDestroyed<String> platformName; | ||
| 20 | static std::once_flag onceKey; | ||
| 21 | std::call_once(onceKey, [] { | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_FontSelectionAlgorithm_h b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_FontSelectionAlgorithm_h new file mode 100644 index 0000000..37189ec --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_FontSelectionAlgorithm_h | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | XXX libstdc++ from gcc-4.9.4 doesn't yet decorate std::min/std::max | ||
| 2 | with constexpr | ||
| 3 | |||
| 4 | Index: Source/WebCore/platform/graphics/FontSelectionAlgorithm.h | ||
| 5 | --- Source/WebCore/platform/graphics/FontSelectionAlgorithm.h.orig | ||
| 6 | +++ Source/WebCore/platform/graphics/FontSelectionAlgorithm.h | ||
| 7 | @@ -49,7 +49,11 @@ class FontSelectionValue { (public) | ||
| 8 | explicit constexpr FontSelectionValue(float); | ||
| 9 | |||
| 10 | // Precision can be lost, but value will be clamped to the representable range. | ||
| 11 | +#if defined(__GLIBCXX__) && __GLIBCXX__ <= 20160726L | ||
| 12 | + static inline FontSelectionValue clampFloat(float); | ||
| 13 | +#else | ||
| 14 | static constexpr FontSelectionValue clampFloat(float); | ||
| 15 | +#endif | ||
| 16 | |||
| 17 | // Since floats have 23 mantissa bits, every value can be represented losslessly. | ||
| 18 | constexpr operator float() const; | ||
| 19 | @@ -125,7 +129,11 @@ constexpr FontSelectionValue FontSelectionValue::minim | ||
| 20 | return { std::numeric_limits<BackingType>::min(), RawTag::RawTag }; | ||
| 21 | } | ||
| 22 | |||
| 23 | +#if defined(__GLIBCXX__) && __GLIBCXX__ <= 20160726L | ||
| 24 | +inline FontSelectionValue FontSelectionValue::clampFloat(float value) | ||
| 25 | +#else | ||
| 26 | constexpr FontSelectionValue FontSelectionValue::clampFloat(float value) | ||
| 27 | +#endif | ||
| 28 | { | ||
| 29 | return FontSelectionValue { std::max<float>(minimumValue(), std::min<float>(value, maximumValue())) }; | ||
| 30 | } | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_PlatformDisplay_cpp b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_PlatformDisplay_cpp new file mode 100644 index 0000000..ca59d8f --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_PlatformDisplay_cpp | |||
| @@ -0,0 +1,109 @@ | |||
| 1 | From 72fad08f2bfe7d2744c3217fe0ec0afcc671c53e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Garcia Campos <carlosgc@webkit.org> | ||
| 3 | Date: Fri, 1 Apr 2022 09:00:32 +0000 | ||
| 4 | Subject: [PATCH] REGRESSION(r290360): [GLX] Crash on process exit https://bugs.webkit.org/show_bug.cgi?id=238494 | ||
| 5 | |||
| 6 | Index: Source/WebCore/platform/graphics/PlatformDisplay.cpp | ||
| 7 | --- Source/WebCore/platform/graphics/PlatformDisplay.cpp.orig | ||
| 8 | +++ Source/WebCore/platform/graphics/PlatformDisplay.cpp | ||
| 9 | @@ -96,25 +96,14 @@ std::unique_ptr<PlatformDisplay> PlatformDisplay::crea | ||
| 10 | if (gtk_init_check(nullptr, nullptr)) { | ||
| 11 | GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get()); | ||
| 12 | #if PLATFORM(X11) | ||
| 13 | - if (GDK_IS_X11_DISPLAY(display)) { | ||
| 14 | - auto platformDisplay = PlatformDisplayX11::create(GDK_DISPLAY_XDISPLAY(display)); | ||
| 15 | -#if USE(ATSPI) && USE(GTK4) | ||
| 16 | - if (const char* atspiBusAddress = static_cast<const char*>(g_object_get_data(G_OBJECT(display), "-gtk-atspi-bus-address"))) | ||
| 17 | - platformDisplay->m_accessibilityBusAddress = String::fromUTF8(atspiBusAddress); | ||
| 18 | + if (GDK_IS_X11_DISPLAY(display)) | ||
| 19 | + return PlatformDisplayX11::create(display); | ||
| 20 | #endif | ||
| 21 | - return platformDisplay; | ||
| 22 | - } | ||
| 23 | -#endif | ||
| 24 | + | ||
| 25 | #if PLATFORM(WAYLAND) | ||
| 26 | - if (GDK_IS_WAYLAND_DISPLAY(display)) { | ||
| 27 | - auto platformDisplay = PlatformDisplayWayland::create(gdk_wayland_display_get_wl_display(display)); | ||
| 28 | -#if USE(ATSPI) && USE(GTK4) | ||
| 29 | - if (const char* atspiBusAddress = static_cast<const char*>(g_object_get_data(G_OBJECT(display), "-gtk-atspi-bus-address"))) | ||
| 30 | - platformDisplay->m_accessibilityBusAddress = String::fromUTF8(atspiBusAddress); | ||
| 31 | + if (GDK_IS_WAYLAND_DISPLAY(display)) | ||
| 32 | + return PlatformDisplayWayland::create(display); | ||
| 33 | #endif | ||
| 34 | - return platformDisplay; | ||
| 35 | - } | ||
| 36 | -#endif | ||
| 37 | } | ||
| 38 | #endif // PLATFORM(GTK) | ||
| 39 | |||
| 40 | @@ -174,19 +163,45 @@ void PlatformDisplay::setSharedDisplayForCompositing(P | ||
| 41 | s_sharedDisplayForCompositing = &display; | ||
| 42 | } | ||
| 43 | |||
| 44 | -PlatformDisplay::PlatformDisplay(NativeDisplayOwned displayOwned) | ||
| 45 | - : m_nativeDisplayOwned(displayOwned) | ||
| 46 | +PlatformDisplay::PlatformDisplay() | ||
| 47 | #if USE(EGL) | ||
| 48 | - , m_eglDisplay(EGL_NO_DISPLAY) | ||
| 49 | + : m_eglDisplay(EGL_NO_DISPLAY) | ||
| 50 | #endif | ||
| 51 | { | ||
| 52 | } | ||
| 53 | |||
| 54 | +#if PLATFORM(GTK) | ||
| 55 | +PlatformDisplay::PlatformDisplay(GdkDisplay* display) | ||
| 56 | + : m_sharedDisplay(display) | ||
| 57 | +{ | ||
| 58 | +#if USE(ATSPI) && USE(GTK4) | ||
| 59 | + if (const char* atspiBusAddress = static_cast<const char*>(g_object_get_data(G_OBJECT(display), "-gtk-atspi-bus-address"))) | ||
| 60 | + m_accessibilityBusAddress = String::fromUTF8(atspiBusAddress); | ||
| 61 | +#endif | ||
| 62 | + | ||
| 63 | + g_signal_connect(m_sharedDisplay.get(), "closed", G_CALLBACK(+[](GdkDisplay*, gboolean, gpointer userData) { | ||
| 64 | + auto& platformDisplay = *static_cast<PlatformDisplay*>(userData); | ||
| 65 | + platformDisplay.sharedDisplayDidClose(); | ||
| 66 | + }), this); | ||
| 67 | +} | ||
| 68 | + | ||
| 69 | +void PlatformDisplay::sharedDisplayDidClose() | ||
| 70 | +{ | ||
| 71 | +#if USE(EGL) || USE(GLX) | ||
| 72 | + clearSharingGLContext(); | ||
| 73 | +#endif | ||
| 74 | +} | ||
| 75 | +#endif | ||
| 76 | + | ||
| 77 | PlatformDisplay::~PlatformDisplay() | ||
| 78 | { | ||
| 79 | #if USE(EGL) && !PLATFORM(WIN) | ||
| 80 | ASSERT(m_eglDisplay == EGL_NO_DISPLAY); | ||
| 81 | #endif | ||
| 82 | +#if PLATFORM(GTK) | ||
| 83 | + if (m_sharedDisplay) | ||
| 84 | + g_signal_handlers_disconnect_by_data(m_sharedDisplay.get(), this); | ||
| 85 | +#endif | ||
| 86 | if (s_sharedDisplayForCompositing == this) | ||
| 87 | s_sharedDisplayForCompositing = nullptr; | ||
| 88 | } | ||
| 89 | @@ -198,6 +213,11 @@ GLContext* PlatformDisplay::sharingGLContext() | ||
| 90 | m_sharingGLContext = GLContext::createSharingContext(*this); | ||
| 91 | return m_sharingGLContext.get(); | ||
| 92 | } | ||
| 93 | + | ||
| 94 | +void PlatformDisplay::clearSharingGLContext() | ||
| 95 | +{ | ||
| 96 | + m_sharingGLContext = nullptr; | ||
| 97 | +} | ||
| 98 | #endif | ||
| 99 | |||
| 100 | #if USE(EGL) | ||
| 101 | @@ -274,7 +294,7 @@ void PlatformDisplay::terminateEGLDisplay() | ||
| 102 | m_gstGLDisplay = nullptr; | ||
| 103 | m_gstGLContext = nullptr; | ||
| 104 | #endif | ||
| 105 | - m_sharingGLContext = nullptr; | ||
| 106 | + clearSharingGLContext(); | ||
| 107 | ASSERT(m_eglDisplayInitialized); | ||
| 108 | if (m_eglDisplay == EGL_NO_DISPLAY) | ||
| 109 | return; | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_PlatformDisplay_h b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_PlatformDisplay_h new file mode 100644 index 0000000..ce0cd91 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_PlatformDisplay_h | |||
| @@ -0,0 +1,51 @@ | |||
| 1 | From 72fad08f2bfe7d2744c3217fe0ec0afcc671c53e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Garcia Campos <carlosgc@webkit.org> | ||
| 3 | Date: Fri, 1 Apr 2022 09:00:32 +0000 | ||
| 4 | Subject: [PATCH] REGRESSION(r290360): [GLX] Crash on process exit https://bugs.webkit.org/show_bug.cgi?id=238494 | ||
| 5 | |||
| 6 | Index: Source/WebCore/platform/graphics/PlatformDisplay.h | ||
| 7 | --- Source/WebCore/platform/graphics/PlatformDisplay.h.orig | ||
| 8 | +++ Source/WebCore/platform/graphics/PlatformDisplay.h | ||
| 9 | @@ -33,6 +33,12 @@ | ||
| 10 | typedef void *EGLDisplay; | ||
| 11 | #endif | ||
| 12 | |||
| 13 | +#if PLATFORM(GTK) | ||
| 14 | +#include <wtf/glib/GRefPtr.h> | ||
| 15 | + | ||
| 16 | +typedef struct _GdkDisplay GdkDisplay; | ||
| 17 | +#endif | ||
| 18 | + | ||
| 19 | #if ENABLE(VIDEO) && USE(GSTREAMER_GL) | ||
| 20 | #include "GRefPtrGStreamer.h" | ||
| 21 | |||
| 22 | @@ -74,6 +80,7 @@ class PlatformDisplay { (public) | ||
| 23 | |||
| 24 | #if USE(EGL) || USE(GLX) | ||
| 25 | WEBCORE_EXPORT GLContext* sharingGLContext(); | ||
| 26 | + void clearSharingGLContext(); | ||
| 27 | #endif | ||
| 28 | |||
| 29 | #if USE(EGL) | ||
| 30 | @@ -96,12 +103,18 @@ class PlatformDisplay { (public) | ||
| 31 | #endif | ||
| 32 | |||
| 33 | protected: | ||
| 34 | - enum class NativeDisplayOwned { No, Yes }; | ||
| 35 | - explicit PlatformDisplay(NativeDisplayOwned); | ||
| 36 | + PlatformDisplay(); | ||
| 37 | +#if PLATFORM(GTK) | ||
| 38 | + explicit PlatformDisplay(GdkDisplay*); | ||
| 39 | +#endif | ||
| 40 | |||
| 41 | static void setSharedDisplayForCompositing(PlatformDisplay&); | ||
| 42 | |||
| 43 | - NativeDisplayOwned m_nativeDisplayOwned { NativeDisplayOwned::No }; | ||
| 44 | +#if PLATFORM(GTK) | ||
| 45 | + virtual void sharedDisplayDidClose(); | ||
| 46 | + | ||
| 47 | + GRefPtr<GdkDisplay> m_sharedDisplay; | ||
| 48 | +#endif | ||
| 49 | |||
| 50 | #if USE(EGL) | ||
| 51 | virtual void initializeEGLDisplay(); | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_libwpe_PlatformDisplayLibWPE_cpp b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_libwpe_PlatformDisplayLibWPE_cpp new file mode 100644 index 0000000..ccd6dce --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_libwpe_PlatformDisplayLibWPE_cpp | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | From 72fad08f2bfe7d2744c3217fe0ec0afcc671c53e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Garcia Campos <carlosgc@webkit.org> | ||
| 3 | Date: Fri, 1 Apr 2022 09:00:32 +0000 | ||
| 4 | Subject: [PATCH] REGRESSION(r290360): [GLX] Crash on process exit https://bugs.webkit.org/show_bug.cgi?id=238494 | ||
| 5 | |||
| 6 | Index: Source/WebCore/platform/graphics/libwpe/PlatformDisplayLibWPE.cpp | ||
| 7 | --- Source/WebCore/platform/graphics/libwpe/PlatformDisplayLibWPE.cpp.orig | ||
| 8 | +++ Source/WebCore/platform/graphics/libwpe/PlatformDisplayLibWPE.cpp | ||
| 9 | @@ -59,7 +59,6 @@ std::unique_ptr<PlatformDisplayLibWPE> PlatformDisplay | ||
| 10 | } | ||
| 11 | |||
| 12 | PlatformDisplayLibWPE::PlatformDisplayLibWPE() | ||
| 13 | - : PlatformDisplay(NativeDisplayOwned::No) | ||
| 14 | { | ||
| 15 | #if PLATFORM(GTK) | ||
| 16 | PlatformDisplay::setSharedDisplayForCompositing(*this); | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_wayland_PlatformDisplayWayland_cpp b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_wayland_PlatformDisplayWayland_cpp new file mode 100644 index 0000000..c883d54 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_wayland_PlatformDisplayWayland_cpp | |||
| @@ -0,0 +1,86 @@ | |||
| 1 | From 72fad08f2bfe7d2744c3217fe0ec0afcc671c53e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Garcia Campos <carlosgc@webkit.org> | ||
| 3 | Date: Fri, 1 Apr 2022 09:00:32 +0000 | ||
| 4 | Subject: [PATCH] REGRESSION(r290360): [GLX] Crash on process exit https://bugs.webkit.org/show_bug.cgi?id=238494 | ||
| 5 | |||
| 6 | Index: Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp | ||
| 7 | --- Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp.orig | ||
| 8 | +++ Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp | ||
| 9 | @@ -37,6 +37,14 @@ | ||
| 10 | #include <EGL/eglext.h> | ||
| 11 | #include <wtf/Assertions.h> | ||
| 12 | |||
| 13 | +#if PLATFORM(GTK) | ||
| 14 | +#if USE(GTK4) | ||
| 15 | +#include <gdk/wayland/gdkwayland.h> | ||
| 16 | +#else | ||
| 17 | +#include <gdk/gdkwayland.h> | ||
| 18 | +#endif | ||
| 19 | +#endif | ||
| 20 | + | ||
| 21 | namespace WebCore { | ||
| 22 | |||
| 23 | const struct wl_registry_listener PlatformDisplayWayland::s_registryListener = { | ||
| 24 | @@ -56,32 +64,55 @@ std::unique_ptr<PlatformDisplay> PlatformDisplayWaylan | ||
| 25 | if (!display) | ||
| 26 | return nullptr; | ||
| 27 | |||
| 28 | - auto platformDisplay = std::unique_ptr<PlatformDisplayWayland>(new PlatformDisplayWayland(display, NativeDisplayOwned::Yes)); | ||
| 29 | + auto platformDisplay = std::unique_ptr<PlatformDisplayWayland>(new PlatformDisplayWayland(display)); | ||
| 30 | platformDisplay->initialize(); | ||
| 31 | return platformDisplay; | ||
| 32 | } | ||
| 33 | |||
| 34 | -std::unique_ptr<PlatformDisplay> PlatformDisplayWayland::create(struct wl_display* display) | ||
| 35 | +#if PLATFORM(GTK) | ||
| 36 | +std::unique_ptr<PlatformDisplay> PlatformDisplayWayland::create(GdkDisplay* display) | ||
| 37 | { | ||
| 38 | - auto platformDisplay = std::unique_ptr<PlatformDisplayWayland>(new PlatformDisplayWayland(display, NativeDisplayOwned::No)); | ||
| 39 | + auto platformDisplay = std::unique_ptr<PlatformDisplayWayland>(new PlatformDisplayWayland(display)); | ||
| 40 | platformDisplay->initialize(); | ||
| 41 | return platformDisplay; | ||
| 42 | } | ||
| 43 | +#endif | ||
| 44 | |||
| 45 | -PlatformDisplayWayland::PlatformDisplayWayland(struct wl_display* display, NativeDisplayOwned displayOwned) | ||
| 46 | - : PlatformDisplay(displayOwned) | ||
| 47 | - , m_display(display) | ||
| 48 | +PlatformDisplayWayland::PlatformDisplayWayland(struct wl_display* display) | ||
| 49 | + : m_display(display) | ||
| 50 | { | ||
| 51 | } | ||
| 52 | |||
| 53 | +#if PLATFORM(GTK) | ||
| 54 | +PlatformDisplayWayland::PlatformDisplayWayland(GdkDisplay* display) | ||
| 55 | + : PlatformDisplay(display) | ||
| 56 | + , m_display(gdk_wayland_display_get_wl_display(display)) | ||
| 57 | +{ | ||
| 58 | +} | ||
| 59 | +#endif | ||
| 60 | + | ||
| 61 | PlatformDisplayWayland::~PlatformDisplayWayland() | ||
| 62 | { | ||
| 63 | - if (m_nativeDisplayOwned == NativeDisplayOwned::Yes) { | ||
| 64 | +#if PLATFORM(GTK) | ||
| 65 | + bool nativeDisplayOwned = !m_sharedDisplay; | ||
| 66 | +#else | ||
| 67 | + bool nativeDisplayOwned = true; | ||
| 68 | +#endif | ||
| 69 | + | ||
| 70 | + if (nativeDisplayOwned) { | ||
| 71 | m_compositor = nullptr; | ||
| 72 | m_registry = nullptr; | ||
| 73 | wl_display_disconnect(m_display); | ||
| 74 | } | ||
| 75 | } | ||
| 76 | + | ||
| 77 | +#if PLATFORM(GTK) | ||
| 78 | +void PlatformDisplayWayland::sharedDisplayDidClose() | ||
| 79 | +{ | ||
| 80 | + PlatformDisplay::sharedDisplayDidClose(); | ||
| 81 | + m_display = nullptr; | ||
| 82 | +} | ||
| 83 | +#endif | ||
| 84 | |||
| 85 | void PlatformDisplayWayland::initialize() | ||
| 86 | { | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_wayland_PlatformDisplayWayland_h b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_wayland_PlatformDisplayWayland_h new file mode 100644 index 0000000..b698b34 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_wayland_PlatformDisplayWayland_h | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | From 72fad08f2bfe7d2744c3217fe0ec0afcc671c53e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Garcia Campos <carlosgc@webkit.org> | ||
| 3 | Date: Fri, 1 Apr 2022 09:00:32 +0000 | ||
| 4 | Subject: [PATCH] REGRESSION(r290360): [GLX] Crash on process exit https://bugs.webkit.org/show_bug.cgi?id=238494 | ||
| 5 | |||
| 6 | Index: Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.h | ||
| 7 | --- Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.h.orig | ||
| 8 | +++ Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.h | ||
| 9 | @@ -23,8 +23,7 @@ | ||
| 10 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 11 | */ | ||
| 12 | |||
| 13 | -#ifndef PlatformDisplayWayland_h | ||
| 14 | -#define PlatformDisplayWayland_h | ||
| 15 | +#pragma once | ||
| 16 | |||
| 17 | #if PLATFORM(WAYLAND) | ||
| 18 | |||
| 19 | @@ -37,7 +36,9 @@ namespace WebCore { | ||
| 20 | class PlatformDisplayWayland : public PlatformDisplay { | ||
| 21 | public: | ||
| 22 | static std::unique_ptr<PlatformDisplay> create(); | ||
| 23 | - static std::unique_ptr<PlatformDisplay> create(struct wl_display*); | ||
| 24 | +#if PLATFORM(GTK) | ||
| 25 | + static std::unique_ptr<PlatformDisplay> create(GdkDisplay*); | ||
| 26 | +#endif | ||
| 27 | |||
| 28 | virtual ~PlatformDisplayWayland(); | ||
| 29 | |||
| 30 | @@ -51,8 +52,13 @@ class PlatformDisplayWayland : public PlatformDisplay | ||
| 31 | Type type() const final { return PlatformDisplay::Type::Wayland; } | ||
| 32 | |||
| 33 | protected: | ||
| 34 | - PlatformDisplayWayland(struct wl_display*, NativeDisplayOwned); | ||
| 35 | + explicit PlatformDisplayWayland(struct wl_display*); | ||
| 36 | +#if PLATFORM(GTK) | ||
| 37 | + explicit PlatformDisplayWayland(GdkDisplay*); | ||
| 38 | |||
| 39 | + void sharedDisplayDidClose() override; | ||
| 40 | +#endif | ||
| 41 | + | ||
| 42 | void initialize(); | ||
| 43 | |||
| 44 | virtual void registryGlobal(const char* interface, uint32_t name); | ||
| 45 | @@ -67,5 +73,3 @@ class PlatformDisplayWayland : public PlatformDisplay | ||
| 46 | SPECIALIZE_TYPE_TRAITS_PLATFORM_DISPLAY(PlatformDisplayWayland, Wayland) | ||
| 47 | |||
| 48 | #endif // PLATFORM(WAYLAND) | ||
| 49 | - | ||
| 50 | -#endif // PlatformDisplayWayland_h | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_x11_PlatformDisplayX11_cpp b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_x11_PlatformDisplayX11_cpp new file mode 100644 index 0000000..e0fe052 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_x11_PlatformDisplayX11_cpp | |||
| @@ -0,0 +1,108 @@ | |||
| 1 | From 72fad08f2bfe7d2744c3217fe0ec0afcc671c53e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Garcia Campos <carlosgc@webkit.org> | ||
| 3 | Date: Fri, 1 Apr 2022 09:00:32 +0000 | ||
| 4 | Subject: [PATCH] REGRESSION(r290360): [GLX] Crash on process exit https://bugs.webkit.org/show_bug.cgi?id=238494 | ||
| 5 | |||
| 6 | Index: Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp | ||
| 7 | --- Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp.orig | ||
| 8 | +++ Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp | ||
| 9 | @@ -28,6 +28,7 @@ | ||
| 10 | |||
| 11 | #include "GLContext.h" | ||
| 12 | #include "XErrorTrapper.h" | ||
| 13 | +#include <cstdlib> | ||
| 14 | |||
| 15 | #if PLATFORM(X11) | ||
| 16 | #include <X11/Xatom.h> | ||
| 17 | @@ -36,7 +37,12 @@ | ||
| 18 | #if PLATFORM(GTK) | ||
| 19 | #include <X11/Xutil.h> | ||
| 20 | #include <X11/extensions/Xdamage.h> | ||
| 21 | +#if USE(GTK4) | ||
| 22 | +#include <gdk/x11/gdkx.h> | ||
| 23 | +#else | ||
| 24 | +#include <gdk/gdkx.h> | ||
| 25 | #endif | ||
| 26 | +#endif | ||
| 27 | |||
| 28 | #if USE(EGL) | ||
| 29 | #include <EGL/egl.h> | ||
| 30 | @@ -55,29 +61,69 @@ std::unique_ptr<PlatformDisplay> PlatformDisplayX11::c | ||
| 31 | if (!display) | ||
| 32 | return nullptr; | ||
| 33 | |||
| 34 | - return std::unique_ptr<PlatformDisplayX11>(new PlatformDisplayX11(display, NativeDisplayOwned::Yes)); | ||
| 35 | + return std::unique_ptr<PlatformDisplayX11>(new PlatformDisplayX11(display)); | ||
| 36 | } | ||
| 37 | |||
| 38 | -std::unique_ptr<PlatformDisplay> PlatformDisplayX11::create(Display* display) | ||
| 39 | +#if PLATFORM(GTK) | ||
| 40 | +std::unique_ptr<PlatformDisplay> PlatformDisplayX11::create(GdkDisplay* display) | ||
| 41 | { | ||
| 42 | - return std::unique_ptr<PlatformDisplayX11>(new PlatformDisplayX11(display, NativeDisplayOwned::No)); | ||
| 43 | + return std::unique_ptr<PlatformDisplayX11>(new PlatformDisplayX11(display)); | ||
| 44 | } | ||
| 45 | +#endif | ||
| 46 | |||
| 47 | -PlatformDisplayX11::PlatformDisplayX11(Display* display, NativeDisplayOwned displayOwned) | ||
| 48 | - : PlatformDisplay(displayOwned) | ||
| 49 | - , m_display(display) | ||
| 50 | +static inline void clearSharingGLContextAtExit() | ||
| 51 | { | ||
| 52 | +#if USE(GLX) | ||
| 53 | + // In X11 only one PlatformDisplay instance is allowed per process which is the sharedDisplay one. | ||
| 54 | + // We install an atexit handler to clear the sharing GL context to ensure it's released before | ||
| 55 | + // the constructor is called, because clearing the context in X11 requires to access PlatformDisplay::sharedDisplay() | ||
| 56 | + // and calling it from its constructor causes issues in some systems. See https://bugs.webkit.org/show_bug.cgi?id=238494. | ||
| 57 | + static std::once_flag onceKey; | ||
| 58 | + std::call_once(onceKey, [] { | ||
| 59 | + std::atexit([] { | ||
| 60 | + PlatformDisplay::sharedDisplay().clearSharingGLContext(); | ||
| 61 | + }); | ||
| 62 | + }); | ||
| 63 | +#endif | ||
| 64 | } | ||
| 65 | |||
| 66 | +PlatformDisplayX11::PlatformDisplayX11(Display* display) | ||
| 67 | + : m_display(display) | ||
| 68 | +{ | ||
| 69 | + clearSharingGLContextAtExit(); | ||
| 70 | +} | ||
| 71 | + | ||
| 72 | +#if PLATFORM(GTK) | ||
| 73 | +PlatformDisplayX11::PlatformDisplayX11(GdkDisplay* display) | ||
| 74 | + : PlatformDisplay(display) | ||
| 75 | + , m_display(GDK_DISPLAY_XDISPLAY(display)) | ||
| 76 | +{ | ||
| 77 | + clearSharingGLContextAtExit(); | ||
| 78 | +} | ||
| 79 | +#endif | ||
| 80 | + | ||
| 81 | PlatformDisplayX11::~PlatformDisplayX11() | ||
| 82 | { | ||
| 83 | #if USE(EGL) || USE(GLX) | ||
| 84 | - // Clear the sharing context before releasing the display. | ||
| 85 | - m_sharingGLContext = nullptr; | ||
| 86 | + ASSERT(!m_sharingGLContext); | ||
| 87 | #endif | ||
| 88 | - if (m_nativeDisplayOwned == NativeDisplayOwned::Yes) | ||
| 89 | + | ||
| 90 | +#if PLATFORM(GTK) | ||
| 91 | + bool nativeDisplayOwned = !m_sharedDisplay; | ||
| 92 | +#else | ||
| 93 | + bool nativeDisplayOwned = true; | ||
| 94 | +#endif | ||
| 95 | + if (nativeDisplayOwned) | ||
| 96 | XCloseDisplay(m_display); | ||
| 97 | } | ||
| 98 | + | ||
| 99 | +#if PLATFORM(GTK) | ||
| 100 | +void PlatformDisplayX11::sharedDisplayDidClose() | ||
| 101 | +{ | ||
| 102 | + PlatformDisplay::sharedDisplayDidClose(); | ||
| 103 | + m_display = nullptr; | ||
| 104 | +} | ||
| 105 | +#endif | ||
| 106 | |||
| 107 | #if USE(EGL) | ||
| 108 | void PlatformDisplayX11::initializeEGLDisplay() | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_x11_PlatformDisplayX11_h b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_x11_PlatformDisplayX11_h new file mode 100644 index 0000000..9052c92 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_platform_graphics_x11_PlatformDisplayX11_h | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | From 72fad08f2bfe7d2744c3217fe0ec0afcc671c53e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Garcia Campos <carlosgc@webkit.org> | ||
| 3 | Date: Fri, 1 Apr 2022 09:00:32 +0000 | ||
| 4 | Subject: [PATCH] REGRESSION(r290360): [GLX] Crash on process exit https://bugs.webkit.org/show_bug.cgi?id=238494 | ||
| 5 | |||
| 6 | Index: Source/WebCore/platform/graphics/x11/PlatformDisplayX11.h | ||
| 7 | --- Source/WebCore/platform/graphics/x11/PlatformDisplayX11.h.orig | ||
| 8 | +++ Source/WebCore/platform/graphics/x11/PlatformDisplayX11.h | ||
| 9 | @@ -41,7 +41,9 @@ namespace WebCore { | ||
| 10 | class PlatformDisplayX11 final : public PlatformDisplay { | ||
| 11 | public: | ||
| 12 | static std::unique_ptr<PlatformDisplay> create(); | ||
| 13 | - static std::unique_ptr<PlatformDisplay> create(::Display*); | ||
| 14 | +#if PLATFORM(GTK) | ||
| 15 | + static std::unique_ptr<PlatformDisplay> create(GdkDisplay*); | ||
| 16 | +#endif | ||
| 17 | |||
| 18 | virtual ~PlatformDisplayX11(); | ||
| 19 | |||
| 20 | @@ -52,7 +54,12 @@ class PlatformDisplayX11 final : public PlatformDispla | ||
| 21 | bool supportsGLX(std::optional<int>& glxErrorBase) const; | ||
| 22 | |||
| 23 | private: | ||
| 24 | - PlatformDisplayX11(::Display*, NativeDisplayOwned); | ||
| 25 | + explicit PlatformDisplayX11(::Display*); | ||
| 26 | +#if PLATFORM(GTK) | ||
| 27 | + explicit PlatformDisplayX11(GdkDisplay*); | ||
| 28 | + | ||
| 29 | + void sharedDisplayDidClose() override; | ||
| 30 | +#endif | ||
| 31 | |||
| 32 | Type type() const override { return PlatformDisplay::Type::X11; } | ||
| 33 | |||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_platform_network_DNS_h b/www/webkitgtk4/patches/patch-Source_WebCore_platform_network_DNS_h new file mode 100644 index 0000000..03b0b8a --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_platform_network_DNS_h | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | Index: Source/WebCore/platform/network/DNS.h | ||
| 2 | --- Source/WebCore/platform/network/DNS.h.orig | ||
| 3 | +++ Source/WebCore/platform/network/DNS.h | ||
| 4 | @@ -34,6 +34,7 @@ | ||
| 5 | #include <ws2tcpip.h> | ||
| 6 | #else | ||
| 7 | #include <netinet/in.h> | ||
| 8 | +#include <sys/socket.h> /* AF_INET, AF_INET6 */ | ||
| 9 | #endif | ||
| 10 | |||
| 11 | namespace WebCore { | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebCore_rendering_RenderLayerBacking_h b/www/webkitgtk4/patches/patch-Source_WebCore_rendering_RenderLayerBacking_h new file mode 100644 index 0000000..50a1830 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebCore_rendering_RenderLayerBacking_h | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | Index: Source/WebCore/rendering/RenderLayerBacking.h | ||
| 2 | --- Source/WebCore/rendering/RenderLayerBacking.h.orig | ||
| 3 | +++ Source/WebCore/rendering/RenderLayerBacking.h | ||
| 4 | @@ -33,6 +33,12 @@ | ||
| 5 | #include "RenderLayerCompositor.h" | ||
| 6 | #include "ScrollingCoordinator.h" | ||
| 7 | |||
| 8 | +#if defined(_LP64) | ||
| 9 | +# define __WORDSIZE 64 | ||
| 10 | +#else | ||
| 11 | +# define __WORDSIZE 32 | ||
| 12 | +#endif | ||
| 13 | + | ||
| 14 | namespace WebCore { | ||
| 15 | |||
| 16 | class EventRegionContext; | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebDriver_PlatformGTK_cmake b/www/webkitgtk4/patches/patch-Source_WebDriver_PlatformGTK_cmake new file mode 100644 index 0000000..66cbf89 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebDriver_PlatformGTK_cmake | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | Index: Source/WebDriver/PlatformGTK.cmake | ||
| 2 | --- Source/WebDriver/PlatformGTK.cmake.orig | ||
| 3 | +++ Source/WebDriver/PlatformGTK.cmake | ||
| 4 | @@ -5,6 +5,7 @@ add_definitions(-DLIBEXECDIR="${CMAKE_INSTALL_FULL_LIB | ||
| 5 | list(APPEND WebDriver_SYSTEM_INCLUDE_DIRECTORIES | ||
| 6 | "${GLIB_INCLUDE_DIRS}" | ||
| 7 | "${LIBSOUP_INCLUDE_DIRS}" | ||
| 8 | + "${ICU_INCLUDE_DIRS}" | ||
| 9 | ) | ||
| 10 | |||
| 11 | list(APPEND WebDriver_SOURCES | ||
| 12 | @@ -18,4 +19,5 @@ list(APPEND WebDriver_SOURCES | ||
| 13 | |||
| 14 | list(APPEND WebDriver_LIBRARIES | ||
| 15 | ${LIBSOUP_LIBRARIES} | ||
| 16 | + ${ICU_LIBRARIES} | ||
| 17 | ) | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebKit_WebProcess_gtk_WaylandCompositorDisplay_cpp b/www/webkitgtk4/patches/patch-Source_WebKit_WebProcess_gtk_WaylandCompositorDisplay_cpp new file mode 100644 index 0000000..0546a81 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebKit_WebProcess_gtk_WaylandCompositorDisplay_cpp | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | From 72fad08f2bfe7d2744c3217fe0ec0afcc671c53e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Garcia Campos <carlosgc@webkit.org> | ||
| 3 | Date: Fri, 1 Apr 2022 09:00:32 +0000 | ||
| 4 | Subject: [PATCH] REGRESSION(r290360): [GLX] Crash on process exit https://bugs.webkit.org/show_bug.cgi?id=238494 | ||
| 5 | |||
| 6 | Index: Source/WebKit/WebProcess/gtk/WaylandCompositorDisplay.cpp | ||
| 7 | --- Source/WebKit/WebProcess/gtk/WaylandCompositorDisplay.cpp.orig | ||
| 8 | +++ Source/WebKit/WebProcess/gtk/WaylandCompositorDisplay.cpp | ||
| 9 | @@ -63,7 +63,7 @@ void WaylandCompositorDisplay::bindSurfaceToPage(struc | ||
| 10 | } | ||
| 11 | |||
| 12 | WaylandCompositorDisplay::WaylandCompositorDisplay(struct wl_display* display) | ||
| 13 | - : PlatformDisplayWayland(display, NativeDisplayOwned::Yes) | ||
| 14 | + : PlatformDisplayWayland(display) | ||
| 15 | { | ||
| 16 | PlatformDisplay::setSharedDisplayForCompositing(*this); | ||
| 17 | } | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebKit_gtk_webkit2gtk-web-extension_pc_in b/www/webkitgtk4/patches/patch-Source_WebKit_gtk_webkit2gtk-web-extension_pc_in new file mode 100644 index 0000000..f3426ac --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebKit_gtk_webkit2gtk-web-extension_pc_in | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | Index: Source/WebKit/gtk/webkit2gtk-web-extension.pc.in | ||
| 2 | --- Source/WebKit/gtk/webkit2gtk-web-extension.pc.in.orig | ||
| 3 | +++ Source/WebKit/gtk/webkit2gtk-web-extension.pc.in | ||
| 4 | @@ -9,5 +9,5 @@ Description: Web content engine for GTK - web process | ||
| 5 | URL: https://webkitgtk.org | ||
| 6 | Version: @PROJECT_VERSION@ | ||
| 7 | Requires: glib-2.0 @GTK_PC_NAME@ libsoup-@SOUP_API_VERSION@ javascriptcoregtk-@WEBKITGTK_API_VERSION@ | ||
| 8 | -Libs: -L${libdir} -lwebkit2gtk-@WEBKITGTK_API_VERSION@ | ||
| 9 | +Libs: -L${libdir} -lwebkit2gtk-@WEBKITGTK_API_VERSION@ -Wl,-z,wxneeded | ||
| 10 | Cflags: -I${includedir}/webkitgtk-@WEBKITGTK_API_VERSION@ | ||
diff --git a/www/webkitgtk4/patches/patch-Source_WebKit_gtk_webkit2gtk_pc_in b/www/webkitgtk4/patches/patch-Source_WebKit_gtk_webkit2gtk_pc_in new file mode 100644 index 0000000..563d209 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_WebKit_gtk_webkit2gtk_pc_in | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | Index: Source/WebKit/gtk/webkit2gtk.pc.in | ||
| 2 | --- Source/WebKit/gtk/webkit2gtk.pc.in.orig | ||
| 3 | +++ Source/WebKit/gtk/webkit2gtk.pc.in | ||
| 4 | @@ -9,5 +9,5 @@ Description: Web content engine for GTK | ||
| 5 | URL: https://webkitgtk.org | ||
| 6 | Version: @PROJECT_VERSION@ | ||
| 7 | Requires: glib-2.0 @GTK_PC_NAME@ libsoup-@SOUP_API_VERSION@ javascriptcoregtk-@WEBKITGTK_API_VERSION@ | ||
| 8 | -Libs: -L${libdir} -lwebkit2gtk-@WEBKITGTK_API_VERSION@ | ||
| 9 | +Libs: -L${libdir} -lwebkit2gtk-@WEBKITGTK_API_VERSION@ -Wl,-z,wxneeded | ||
| 10 | Cflags: -I${includedir}/webkitgtk-@WEBKITGTK_API_VERSION@ | ||
diff --git a/www/webkitgtk4/patches/patch-Source_bmalloc_bmalloc_AvailableMemory_cpp b/www/webkitgtk4/patches/patch-Source_bmalloc_bmalloc_AvailableMemory_cpp new file mode 100644 index 0000000..d24ab0f --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_bmalloc_bmalloc_AvailableMemory_cpp | |||
| @@ -0,0 +1,89 @@ | |||
| 1 | Index: Source/bmalloc/bmalloc/AvailableMemory.cpp | ||
| 2 | --- Source/bmalloc/bmalloc/AvailableMemory.cpp.orig | ||
| 3 | +++ Source/bmalloc/bmalloc/AvailableMemory.cpp | ||
| 4 | @@ -44,11 +44,15 @@ | ||
| 5 | #import <mach/mach_error.h> | ||
| 6 | #import <math.h> | ||
| 7 | #elif BOS(UNIX) | ||
| 8 | +#if BOS(OPENBSD) | ||
| 9 | +#include <kvm.h> | ||
| 10 | +#else | ||
| 11 | #include <sys/sysinfo.h> | ||
| 12 | +#endif | ||
| 13 | #if BOS(LINUX) | ||
| 14 | #include <algorithm> | ||
| 15 | #include <fcntl.h> | ||
| 16 | -#elif BOS(FREEBSD) | ||
| 17 | +#elif BOS(FREEBSD) || BOS(OPENBSD) | ||
| 18 | #include "VMAllocate.h" | ||
| 19 | #include <sys/sysctl.h> | ||
| 20 | #include <sys/types.h> | ||
| 21 | @@ -164,6 +168,24 @@ static size_t computeAvailableMemory() | ||
| 22 | if (!sysinfo(&info)) | ||
| 23 | return info.totalram * info.mem_unit; | ||
| 24 | return availableMemoryGuess; | ||
| 25 | +#elif BOS(OPENBSD) | ||
| 26 | + struct uvmexp uvmexp; | ||
| 27 | + size_t length; | ||
| 28 | + static int uvmexp_mib [] = { CTL_VM, VM_UVMEXP }; | ||
| 29 | + long pages; | ||
| 30 | + long pageSize = sysconf(_SC_PAGE_SIZE); | ||
| 31 | + if (pageSize == -1) | ||
| 32 | + return availableMemoryGuess; | ||
| 33 | + length = sizeof (uvmexp); | ||
| 34 | + if (sysctl(uvmexp_mib, std::size(uvmexp_mib), &uvmexp, &length, NULL, 0) == 0) | ||
| 35 | + return uvmexp.npages * pageSize; | ||
| 36 | + else { | ||
| 37 | + bzero(&uvmexp, sizeof(length)); | ||
| 38 | + pages = sysconf(_SC_PHYS_PAGES); | ||
| 39 | + if (pages == -1) | ||
| 40 | + return availableMemoryGuess; | ||
| 41 | + return pages * pageSize; | ||
| 42 | + } | ||
| 43 | #elif BOS(UNIX) | ||
| 44 | long pages = sysconf(_SC_PHYS_PAGES); | ||
| 45 | long pageSize = sysconf(_SC_PAGE_SIZE); | ||
| 46 | @@ -178,14 +200,19 @@ static size_t computeAvailableMemory() | ||
| 47 | size_t availableMemory() | ||
| 48 | { | ||
| 49 | static size_t availableMemory; | ||
| 50 | +#if BOS(OPENBSD) | ||
| 51 | + // We always calculate the available memory because we take care... | ||
| 52 | + availableMemory = computeAvailableMemory(); | ||
| 53 | +#else | ||
| 54 | static std::once_flag onceFlag; | ||
| 55 | std::call_once(onceFlag, [] { | ||
| 56 | availableMemory = computeAvailableMemory(); | ||
| 57 | }); | ||
| 58 | +#endif | ||
| 59 | return availableMemory; | ||
| 60 | } | ||
| 61 | |||
| 62 | -#if BPLATFORM(IOS_FAMILY) || BOS(LINUX) || BOS(FREEBSD) | ||
| 63 | +#if BPLATFORM(IOS_FAMILY) || BOS(LINUX) || BOS(FREEBSD) || BOS(OPENBSD) | ||
| 64 | MemoryStatus memoryStatus() | ||
| 65 | { | ||
| 66 | #if BPLATFORM(IOS_FAMILY) | ||
| 67 | @@ -211,6 +238,22 @@ MemoryStatus memoryStatus() | ||
| 68 | size_t memoryFootprint = 0; | ||
| 69 | if (!sysctl(mib, 4, &info, &infolen, nullptr, 0)) | ||
| 70 | memoryFootprint = static_cast<size_t>(info.ki_rssize) * vmPageSize(); | ||
| 71 | +#elif BOS(OPENBSD) | ||
| 72 | + size_t memoryFootprint = 0, length; | ||
| 73 | + struct kinfo_proc *info; | ||
| 74 | + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), sizeof(struct kinfo_proc), 0 }; | ||
| 75 | + | ||
| 76 | + if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) == 0) { | ||
| 77 | + info = (struct kinfo_proc *)malloc(length); | ||
| 78 | + mib[5] = (length / sizeof(struct kinfo_proc)); | ||
| 79 | + if (sysctl(mib, std::size(mib), info, &length, NULL, 0) == 0) { | ||
| 80 | + memoryFootprint = static_cast<size_t>( | ||
| 81 | + info->p_vm_tsize + | ||
| 82 | + info->p_vm_dsize + | ||
| 83 | + info->p_vm_ssize) * vmPageSize(); | ||
| 84 | + } | ||
| 85 | + free(info); | ||
| 86 | + } | ||
| 87 | #endif | ||
| 88 | |||
| 89 | double percentInUse = static_cast<double>(memoryFootprint) / static_cast<double>(availableMemory()); | ||
diff --git a/www/webkitgtk4/patches/patch-Source_bmalloc_bmalloc_AvailableMemory_h b/www/webkitgtk4/patches/patch-Source_bmalloc_bmalloc_AvailableMemory_h new file mode 100644 index 0000000..fab7c0c --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_bmalloc_bmalloc_AvailableMemory_h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | Index: Source/bmalloc/bmalloc/AvailableMemory.h | ||
| 2 | --- Source/bmalloc/bmalloc/AvailableMemory.h.orig | ||
| 3 | +++ Source/bmalloc/bmalloc/AvailableMemory.h | ||
| 4 | @@ -32,7 +32,7 @@ namespace bmalloc { | ||
| 5 | |||
| 6 | BEXPORT size_t availableMemory(); | ||
| 7 | |||
| 8 | -#if BPLATFORM(IOS_FAMILY) || BOS(LINUX) || BOS(FREEBSD) | ||
| 9 | +#if BPLATFORM(IOS_FAMILY) || BOS(LINUX) || BOS(FREEBSD) || BOS(OPENBSD) | ||
| 10 | struct MemoryStatus { | ||
| 11 | MemoryStatus(size_t memoryFootprint, double percentAvailableMemoryInUse) | ||
| 12 | : memoryFootprint(memoryFootprint) | ||
| 13 | @@ -61,7 +61,7 @@ inline double percentAvailableMemoryInUse() | ||
| 14 | |||
| 15 | inline bool isUnderMemoryPressure() | ||
| 16 | { | ||
| 17 | -#if BPLATFORM(IOS_FAMILY) || BOS(LINUX) || BOS(FREEBSD) | ||
| 18 | +#if BPLATFORM(IOS_FAMILY) || BOS(LINUX) || BOS(FREEBSD) || BOS(OPENBSD) | ||
| 19 | return percentAvailableMemoryInUse() > memoryPressureThreshold; | ||
| 20 | #else | ||
| 21 | return false; | ||
diff --git a/www/webkitgtk4/patches/patch-Source_bmalloc_bmalloc_BPlatform_h b/www/webkitgtk4/patches/patch-Source_bmalloc_bmalloc_BPlatform_h new file mode 100644 index 0000000..076f6f3 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_bmalloc_bmalloc_BPlatform_h | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | Index: Source/bmalloc/bmalloc/BPlatform.h | ||
| 2 | --- Source/bmalloc/bmalloc/BPlatform.h.orig | ||
| 3 | +++ Source/bmalloc/bmalloc/BPlatform.h | ||
| 4 | @@ -52,6 +52,10 @@ | ||
| 5 | #define BOS_FREEBSD 1 | ||
| 6 | #endif | ||
| 7 | |||
| 8 | +#if defined(__OpenBSD__) | ||
| 9 | +#define BOS_OPENBSD 1 | ||
| 10 | +#endif | ||
| 11 | + | ||
| 12 | #if defined(WIN32) || defined(_WIN32) | ||
| 13 | #define BOS_WINDOWS 1 | ||
| 14 | #endif | ||
diff --git a/www/webkitgtk4/patches/patch-Source_cmake_OptionsCommon_cmake b/www/webkitgtk4/patches/patch-Source_cmake_OptionsCommon_cmake new file mode 100644 index 0000000..cb01e64 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_cmake_OptionsCommon_cmake | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | Put the internal library path first so that we can | ||
| 2 | build with an older webkitgtk4 package installed. | ||
| 3 | |||
| 4 | Index: Source/cmake/OptionsCommon.cmake | ||
| 5 | --- Source/cmake/OptionsCommon.cmake.orig | ||
| 6 | +++ Source/cmake/OptionsCommon.cmake | ||
| 7 | @@ -180,6 +180,9 @@ if (NOT PORT STREQUAL "GTK" AND NOT PORT STREQUAL "WPE | ||
| 8 | set(LIBEXEC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Absolute path to install executables executed by the library") | ||
| 9 | endif () | ||
| 10 | |||
| 11 | +# make sure that the internal library dir is the first in the path | ||
| 12 | +link_directories("${CMAKE_BINARY_DIR}/lib") | ||
| 13 | + | ||
| 14 | # Check whether features.h header exists. | ||
| 15 | # Including glibc's one defines __GLIBC__, that is used in Platform.h | ||
| 16 | WEBKIT_CHECK_HAVE_INCLUDE(HAVE_FEATURES_H features.h) | ||
diff --git a/www/webkitgtk4/patches/patch-Source_cmake_WebKitCommon_cmake b/www/webkitgtk4/patches/patch-Source_cmake_WebKitCommon_cmake new file mode 100644 index 0000000..0a30949 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_cmake_WebKitCommon_cmake | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | Index: Source/cmake/WebKitCommon.cmake | ||
| 2 | --- Source/cmake/WebKitCommon.cmake.orig | ||
| 3 | +++ Source/cmake/WebKitCommon.cmake | ||
| 4 | @@ -106,7 +106,7 @@ if (NOT HAS_RUN_WEBKIT_COMMON) | ||
| 5 | endif () | ||
| 6 | elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|x86)") | ||
| 7 | set(WTF_CPU_X86 1) | ||
| 8 | - elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc") | ||
| 9 | + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(ppc|powerpc)") | ||
| 10 | set(WTF_CPU_PPC 1) | ||
| 11 | elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") | ||
| 12 | set(WTF_CPU_PPC64 1) | ||
| 13 | @@ -114,6 +114,8 @@ if (NOT HAS_RUN_WEBKIT_COMMON) | ||
| 14 | set(WTF_CPU_PPC64LE 1) | ||
| 15 | elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv64") | ||
| 16 | set(WTF_CPU_RISCV64 1) | ||
| 17 | + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "sparc64") | ||
| 18 | + set(WTF_CPU_SPARC64 1) | ||
| 19 | else () | ||
| 20 | set(WTF_CPU_UNKNOWN 1) | ||
| 21 | endif () | ||
| 22 | @@ -185,9 +187,9 @@ if (NOT HAS_RUN_WEBKIT_COMMON) | ||
| 23 | # We cannot check for RUBY_FOUND because it is set only when the full package is installed and | ||
| 24 | # the only thing we need is the interpreter. Unlike Python, cmake does not provide a macro | ||
| 25 | # for finding only the Ruby interpreter. | ||
| 26 | - find_package(Ruby 1.9) | ||
| 27 | - if (NOT RUBY_EXECUTABLE OR RUBY_VERSION VERSION_LESS 1.9) | ||
| 28 | - message(FATAL_ERROR "Ruby 1.9 or higher is required.") | ||
| 29 | + find_package(Ruby 3.0) | ||
| 30 | + if (NOT RUBY_EXECUTABLE OR RUBY_VERSION VERSION_LESS 3.0) | ||
| 31 | + message(FATAL_ERROR "Ruby 3.0 or higher is required.") | ||
| 32 | endif () | ||
| 33 | |||
| 34 | # ----------------------------------------------------------------------------- | ||
| 35 | @@ -199,7 +201,7 @@ if (NOT HAS_RUN_WEBKIT_COMMON) | ||
| 36 | include(CheckCXXCompilerFlag) | ||
| 37 | include(CheckCXXSourceCompiles) | ||
| 38 | include(CheckFunctionExists) | ||
| 39 | - include(CheckIncludeFile) | ||
| 40 | + include(CheckIncludeFiles) | ||
| 41 | include(CheckSymbolExists) | ||
| 42 | include(CheckStructHasMember) | ||
| 43 | include(CheckTypeSize) | ||
diff --git a/www/webkitgtk4/patches/patch-Source_cmake_WebKitCompilerFlags_cmake b/www/webkitgtk4/patches/patch-Source_cmake_WebKitCompilerFlags_cmake new file mode 100644 index 0000000..df36054 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_cmake_WebKitCompilerFlags_cmake | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | Index: Source/cmake/WebKitCompilerFlags.cmake | ||
| 2 | --- Source/cmake/WebKitCompilerFlags.cmake.orig | ||
| 3 | +++ Source/cmake/WebKitCompilerFlags.cmake | ||
| 4 | @@ -260,9 +260,9 @@ if (NOT MSVC) | ||
| 5 | string(REGEX MATCHALL "-fsanitize=[^ ]*" ENABLED_COMPILER_SANITIZERS ${CMAKE_CXX_FLAGS}) | ||
| 6 | endif () | ||
| 7 | |||
| 8 | -if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS) | ||
| 9 | - set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}") | ||
| 10 | -endif () | ||
| 11 | +#if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS) | ||
| 12 | +# set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}") | ||
| 13 | +#endif () | ||
| 14 | |||
| 15 | |||
| 16 | if (MSVC) | ||
diff --git a/www/webkitgtk4/patches/patch-Source_cmake_WebKitFeatures_cmake b/www/webkitgtk4/patches/patch-Source_cmake_WebKitFeatures_cmake new file mode 100644 index 0000000..b1047a3 --- /dev/null +++ b/www/webkitgtk4/patches/patch-Source_cmake_WebKitFeatures_cmake | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | Index: Source/cmake/WebKitFeatures.cmake | ||
| 2 | --- Source/cmake/WebKitFeatures.cmake.orig | ||
| 3 | +++ Source/cmake/WebKitFeatures.cmake | ||
| 4 | @@ -404,7 +404,7 @@ macro(CREATE_CONFIGURATION_HEADER) | ||
| 5 | endmacro() | ||
| 6 | |||
| 7 | macro(WEBKIT_CHECK_HAVE_INCLUDE _variable _header) | ||
| 8 | - check_include_file(${_header} ${_variable}_value) | ||
| 9 | + check_include_files("${_header}" ${_variable}_value) | ||
| 10 | SET_AND_EXPOSE_TO_BUILD(${_variable} ${${_variable}_value}) | ||
| 11 | endmacro() | ||
| 12 | |||
diff --git a/www/webkitgtk4/pkg/CVS/Entries b/www/webkitgtk4/pkg/CVS/Entries new file mode 100644 index 0000000..dc807f7 --- /dev/null +++ b/www/webkitgtk4/pkg/CVS/Entries | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | /DESCR/1.1.1.1/Tue Sep 30 08:25:28 2014// | ||
| 2 | /PLIST/1.24/Sat Mar 26 16:11:56 2022// | ||
| 3 | D | ||
diff --git a/www/webkitgtk4/pkg/CVS/Repository b/www/webkitgtk4/pkg/CVS/Repository new file mode 100644 index 0000000..5d2cc25 --- /dev/null +++ b/www/webkitgtk4/pkg/CVS/Repository | |||
| @@ -0,0 +1 @@ | |||
| ports/www/webkitgtk4/pkg | |||
diff --git a/www/webkitgtk4/pkg/CVS/Root b/www/webkitgtk4/pkg/CVS/Root new file mode 100644 index 0000000..3811072 --- /dev/null +++ b/www/webkitgtk4/pkg/CVS/Root | |||
| @@ -0,0 +1 @@ | |||
| /cvs | |||
diff --git a/www/webkitgtk4/pkg/DESCR b/www/webkitgtk4/pkg/DESCR new file mode 100644 index 0000000..4e1d6e7 --- /dev/null +++ b/www/webkitgtk4/pkg/DESCR | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | WebKitGTK+ is the GNOME platform port of the WebKit rendering engine. | ||
| 2 | Offering WebKit's full functionality through a set of GObject-based | ||
| 3 | APIs, it is suitable for projects requiring any kind of web integration, | ||
| 4 | from hybrid HTML/CSS applications to full-fledged web browsers. | ||
diff --git a/www/webkitgtk4/pkg/PLIST b/www/webkitgtk4/pkg/PLIST new file mode 100644 index 0000000..fd147d2 --- /dev/null +++ b/www/webkitgtk4/pkg/PLIST | |||
| @@ -0,0 +1,290 @@ | |||
| 1 | @bin bin/WebKitWebDriver | ||
| 2 | include/webkitgtk-${API}/ | ||
| 3 | include/webkitgtk-${API}/JavaScriptCore/ | ||
| 4 | include/webkitgtk-${API}/JavaScriptCore/JSBase.h | ||
| 5 | include/webkitgtk-${API}/JavaScriptCore/JSContextRef.h | ||
| 6 | include/webkitgtk-${API}/JavaScriptCore/JSObjectRef.h | ||
| 7 | include/webkitgtk-${API}/JavaScriptCore/JSStringRef.h | ||
| 8 | include/webkitgtk-${API}/JavaScriptCore/JSTypedArray.h | ||
| 9 | include/webkitgtk-${API}/JavaScriptCore/JSValueRef.h | ||
| 10 | include/webkitgtk-${API}/JavaScriptCore/JavaScript.h | ||
| 11 | include/webkitgtk-${API}/JavaScriptCore/WebKitAvailability.h | ||
| 12 | include/webkitgtk-${API}/jsc/ | ||
| 13 | include/webkitgtk-${API}/jsc/JSCAutocleanups.h | ||
| 14 | include/webkitgtk-${API}/jsc/JSCClass.h | ||
| 15 | include/webkitgtk-${API}/jsc/JSCContext.h | ||
| 16 | include/webkitgtk-${API}/jsc/JSCDefines.h | ||
| 17 | include/webkitgtk-${API}/jsc/JSCException.h | ||
| 18 | include/webkitgtk-${API}/jsc/JSCOptions.h | ||
| 19 | include/webkitgtk-${API}/jsc/JSCValue.h | ||
| 20 | include/webkitgtk-${API}/jsc/JSCVersion.h | ||
| 21 | include/webkitgtk-${API}/jsc/JSCVirtualMachine.h | ||
| 22 | include/webkitgtk-${API}/jsc/JSCWeakValue.h | ||
| 23 | include/webkitgtk-${API}/jsc/jsc.h | ||
| 24 | include/webkitgtk-${API}/webkit2/ | ||
| 25 | include/webkitgtk-${API}/webkit2/WebKitApplicationInfo.h | ||
| 26 | include/webkitgtk-${API}/webkit2/WebKitAuthenticationRequest.h | ||
| 27 | include/webkitgtk-${API}/webkit2/WebKitAutocleanups.h | ||
| 28 | include/webkitgtk-${API}/webkit2/WebKitAutomationSession.h | ||
| 29 | include/webkitgtk-${API}/webkit2/WebKitBackForwardList.h | ||
| 30 | include/webkitgtk-${API}/webkit2/WebKitBackForwardListItem.h | ||
| 31 | include/webkitgtk-${API}/webkit2/WebKitColorChooserRequest.h | ||
| 32 | include/webkitgtk-${API}/webkit2/WebKitConsoleMessage.h | ||
| 33 | include/webkitgtk-${API}/webkit2/WebKitContextMenu.h | ||
| 34 | include/webkitgtk-${API}/webkit2/WebKitContextMenuActions.h | ||
| 35 | include/webkitgtk-${API}/webkit2/WebKitContextMenuItem.h | ||
| 36 | include/webkitgtk-${API}/webkit2/WebKitCookieManager.h | ||
| 37 | include/webkitgtk-${API}/webkit2/WebKitCredential.h | ||
| 38 | include/webkitgtk-${API}/webkit2/WebKitDefines.h | ||
| 39 | include/webkitgtk-${API}/webkit2/WebKitDeviceInfoPermissionRequest.h | ||
| 40 | include/webkitgtk-${API}/webkit2/WebKitDownload.h | ||
| 41 | include/webkitgtk-${API}/webkit2/WebKitEditingCommands.h | ||
| 42 | include/webkitgtk-${API}/webkit2/WebKitEditorState.h | ||
| 43 | include/webkitgtk-${API}/webkit2/WebKitEnumTypes.h | ||
| 44 | include/webkitgtk-${API}/webkit2/WebKitError.h | ||
| 45 | include/webkitgtk-${API}/webkit2/WebKitFaviconDatabase.h | ||
| 46 | include/webkitgtk-${API}/webkit2/WebKitFileChooserRequest.h | ||
| 47 | include/webkitgtk-${API}/webkit2/WebKitFindController.h | ||
| 48 | include/webkitgtk-${API}/webkit2/WebKitFormSubmissionRequest.h | ||
| 49 | include/webkitgtk-${API}/webkit2/WebKitForwardDeclarations.h | ||
| 50 | include/webkitgtk-${API}/webkit2/WebKitFrame.h | ||
| 51 | include/webkitgtk-${API}/webkit2/WebKitGeolocationManager.h | ||
| 52 | include/webkitgtk-${API}/webkit2/WebKitGeolocationPermissionRequest.h | ||
| 53 | include/webkitgtk-${API}/webkit2/WebKitHitTestResult.h | ||
| 54 | include/webkitgtk-${API}/webkit2/WebKitInputMethodContext.h | ||
| 55 | include/webkitgtk-${API}/webkit2/WebKitInstallMissingMediaPluginsPermissionRequest.h | ||
| 56 | include/webkitgtk-${API}/webkit2/WebKitJavascriptResult.h | ||
| 57 | include/webkitgtk-${API}/webkit2/WebKitMediaKeySystemPermissionRequest.h | ||
| 58 | include/webkitgtk-${API}/webkit2/WebKitMemoryPressureSettings.h | ||
| 59 | include/webkitgtk-${API}/webkit2/WebKitMimeInfo.h | ||
| 60 | include/webkitgtk-${API}/webkit2/WebKitNavigationAction.h | ||
| 61 | include/webkitgtk-${API}/webkit2/WebKitNavigationPolicyDecision.h | ||
| 62 | include/webkitgtk-${API}/webkit2/WebKitNetworkProxySettings.h | ||
| 63 | include/webkitgtk-${API}/webkit2/WebKitNotification.h | ||
| 64 | include/webkitgtk-${API}/webkit2/WebKitNotificationPermissionRequest.h | ||
| 65 | include/webkitgtk-${API}/webkit2/WebKitOptionMenu.h | ||
| 66 | include/webkitgtk-${API}/webkit2/WebKitOptionMenuItem.h | ||
| 67 | include/webkitgtk-${API}/webkit2/WebKitPermissionRequest.h | ||
| 68 | include/webkitgtk-${API}/webkit2/WebKitPlugin.h | ||
| 69 | include/webkitgtk-${API}/webkit2/WebKitPointerLockPermissionRequest.h | ||
| 70 | include/webkitgtk-${API}/webkit2/WebKitPolicyDecision.h | ||
| 71 | include/webkitgtk-${API}/webkit2/WebKitPrintCustomWidget.h | ||
| 72 | include/webkitgtk-${API}/webkit2/WebKitPrintOperation.h | ||
| 73 | include/webkitgtk-${API}/webkit2/WebKitResponsePolicyDecision.h | ||
| 74 | include/webkitgtk-${API}/webkit2/WebKitScriptDialog.h | ||
| 75 | include/webkitgtk-${API}/webkit2/WebKitScriptWorld.h | ||
| 76 | include/webkitgtk-${API}/webkit2/WebKitSecurityManager.h | ||
| 77 | include/webkitgtk-${API}/webkit2/WebKitSecurityOrigin.h | ||
| 78 | include/webkitgtk-${API}/webkit2/WebKitSettings.h | ||
| 79 | include/webkitgtk-${API}/webkit2/WebKitURIRequest.h | ||
| 80 | include/webkitgtk-${API}/webkit2/WebKitURIResponse.h | ||
| 81 | include/webkitgtk-${API}/webkit2/WebKitURISchemeRequest.h | ||
| 82 | include/webkitgtk-${API}/webkit2/WebKitURISchemeResponse.h | ||
| 83 | include/webkitgtk-${API}/webkit2/WebKitURIUtilities.h | ||
| 84 | include/webkitgtk-${API}/webkit2/WebKitUserContent.h | ||
| 85 | include/webkitgtk-${API}/webkit2/WebKitUserContentFilterStore.h | ||
| 86 | include/webkitgtk-${API}/webkit2/WebKitUserContentManager.h | ||
| 87 | include/webkitgtk-${API}/webkit2/WebKitUserMediaPermissionRequest.h | ||
| 88 | include/webkitgtk-${API}/webkit2/WebKitUserMessage.h | ||
| 89 | include/webkitgtk-${API}/webkit2/WebKitVersion.h | ||
| 90 | include/webkitgtk-${API}/webkit2/WebKitWebContext.h | ||
| 91 | include/webkitgtk-${API}/webkit2/WebKitWebEditor.h | ||
| 92 | include/webkitgtk-${API}/webkit2/WebKitWebExtension.h | ||
| 93 | include/webkitgtk-${API}/webkit2/WebKitWebExtensionAutocleanups.h | ||
| 94 | include/webkitgtk-${API}/webkit2/WebKitWebHitTestResult.h | ||
| 95 | include/webkitgtk-${API}/webkit2/WebKitWebInspector.h | ||
| 96 | include/webkitgtk-${API}/webkit2/WebKitWebPage.h | ||
| 97 | include/webkitgtk-${API}/webkit2/WebKitWebProcessEnumTypes.h | ||
| 98 | include/webkitgtk-${API}/webkit2/WebKitWebResource.h | ||
| 99 | include/webkitgtk-${API}/webkit2/WebKitWebView.h | ||
| 100 | include/webkitgtk-${API}/webkit2/WebKitWebViewBase.h | ||
| 101 | include/webkitgtk-${API}/webkit2/WebKitWebViewSessionState.h | ||
| 102 | include/webkitgtk-${API}/webkit2/WebKitWebsiteData.h | ||
| 103 | include/webkitgtk-${API}/webkit2/WebKitWebsiteDataAccessPermissionRequest.h | ||
| 104 | include/webkitgtk-${API}/webkit2/WebKitWebsiteDataManager.h | ||
| 105 | include/webkitgtk-${API}/webkit2/WebKitWebsitePolicies.h | ||
| 106 | include/webkitgtk-${API}/webkit2/WebKitWindowProperties.h | ||
| 107 | include/webkitgtk-${API}/webkit2/webkit-web-extension.h | ||
| 108 | include/webkitgtk-${API}/webkit2/webkit2.h | ||
| 109 | include/webkitgtk-${API}/webkitdom/ | ||
| 110 | include/webkitgtk-${API}/webkitdom/WebKitDOMAttr.h | ||
| 111 | include/webkitgtk-${API}/webkitdom/WebKitDOMBlob.h | ||
| 112 | include/webkitgtk-${API}/webkitdom/WebKitDOMCDATASection.h | ||
| 113 | include/webkitgtk-${API}/webkitdom/WebKitDOMCSSRule.h | ||
| 114 | include/webkitgtk-${API}/webkitdom/WebKitDOMCSSRuleList.h | ||
| 115 | include/webkitgtk-${API}/webkitdom/WebKitDOMCSSStyleDeclaration.h | ||
| 116 | include/webkitgtk-${API}/webkitdom/WebKitDOMCSSStyleSheet.h | ||
| 117 | include/webkitgtk-${API}/webkitdom/WebKitDOMCSSValue.h | ||
| 118 | include/webkitgtk-${API}/webkitdom/WebKitDOMCharacterData.h | ||
| 119 | include/webkitgtk-${API}/webkitdom/WebKitDOMClientRect.h | ||
| 120 | include/webkitgtk-${API}/webkitdom/WebKitDOMClientRectList.h | ||
| 121 | include/webkitgtk-${API}/webkitdom/WebKitDOMComment.h | ||
| 122 | include/webkitgtk-${API}/webkitdom/WebKitDOMCustom.h | ||
| 123 | include/webkitgtk-${API}/webkitdom/WebKitDOMCustomUnstable.h | ||
| 124 | include/webkitgtk-${API}/webkitdom/WebKitDOMDOMImplementation.h | ||
| 125 | include/webkitgtk-${API}/webkitdom/WebKitDOMDOMSelection.h | ||
| 126 | include/webkitgtk-${API}/webkitdom/WebKitDOMDOMTokenList.h | ||
| 127 | include/webkitgtk-${API}/webkitdom/WebKitDOMDOMWindow.h | ||
| 128 | include/webkitgtk-${API}/webkitdom/WebKitDOMDOMWindowUnstable.h | ||
| 129 | include/webkitgtk-${API}/webkitdom/WebKitDOMDeprecated.h | ||
| 130 | include/webkitgtk-${API}/webkitdom/WebKitDOMDocument.h | ||
| 131 | include/webkitgtk-${API}/webkitdom/WebKitDOMDocumentFragment.h | ||
| 132 | include/webkitgtk-${API}/webkitdom/WebKitDOMDocumentFragmentUnstable.h | ||
| 133 | include/webkitgtk-${API}/webkitdom/WebKitDOMDocumentType.h | ||
| 134 | include/webkitgtk-${API}/webkitdom/WebKitDOMDocumentUnstable.h | ||
| 135 | include/webkitgtk-${API}/webkitdom/WebKitDOMElement.h | ||
| 136 | include/webkitgtk-${API}/webkitdom/WebKitDOMElementUnstable.h | ||
| 137 | include/webkitgtk-${API}/webkitdom/WebKitDOMEvent.h | ||
| 138 | include/webkitgtk-${API}/webkitdom/WebKitDOMEventTarget.h | ||
| 139 | include/webkitgtk-${API}/webkitdom/WebKitDOMFile.h | ||
| 140 | include/webkitgtk-${API}/webkitdom/WebKitDOMFileList.h | ||
| 141 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLAnchorElement.h | ||
| 142 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLAppletElement.h | ||
| 143 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLAreaElement.h | ||
| 144 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLBRElement.h | ||
| 145 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLBaseElement.h | ||
| 146 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLBodyElement.h | ||
| 147 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLButtonElement.h | ||
| 148 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLCanvasElement.h | ||
| 149 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLCollection.h | ||
| 150 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLDListElement.h | ||
| 151 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLDirectoryElement.h | ||
| 152 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLDivElement.h | ||
| 153 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLDocument.h | ||
| 154 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLElement.h | ||
| 155 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLElementUnstable.h | ||
| 156 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLEmbedElement.h | ||
| 157 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLFieldSetElement.h | ||
| 158 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLFontElement.h | ||
| 159 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLFormElement.h | ||
| 160 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLFrameElement.h | ||
| 161 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLFrameSetElement.h | ||
| 162 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLHRElement.h | ||
| 163 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLHeadElement.h | ||
| 164 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLHeadingElement.h | ||
| 165 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLHtmlElement.h | ||
| 166 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLIFrameElement.h | ||
| 167 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLImageElement.h | ||
| 168 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLInputElement.h | ||
| 169 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLLIElement.h | ||
| 170 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLLabelElement.h | ||
| 171 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLLegendElement.h | ||
| 172 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLLinkElement.h | ||
| 173 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLMapElement.h | ||
| 174 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLMarqueeElement.h | ||
| 175 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLMenuElement.h | ||
| 176 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLMetaElement.h | ||
| 177 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLModElement.h | ||
| 178 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLOListElement.h | ||
| 179 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLObjectElement.h | ||
| 180 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLOptGroupElement.h | ||
| 181 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLOptionElement.h | ||
| 182 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLOptionsCollection.h | ||
| 183 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLParagraphElement.h | ||
| 184 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLParamElement.h | ||
| 185 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLPreElement.h | ||
| 186 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLQuoteElement.h | ||
| 187 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLScriptElement.h | ||
| 188 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLSelectElement.h | ||
| 189 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLStyleElement.h | ||
| 190 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLTableCaptionElement.h | ||
| 191 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLTableCellElement.h | ||
| 192 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLTableColElement.h | ||
| 193 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLTableElement.h | ||
| 194 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLTableRowElement.h | ||
| 195 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLTableSectionElement.h | ||
| 196 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLTextAreaElement.h | ||
| 197 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLTitleElement.h | ||
| 198 | include/webkitgtk-${API}/webkitdom/WebKitDOMHTMLUListElement.h | ||
| 199 | include/webkitgtk-${API}/webkitdom/WebKitDOMKeyboardEvent.h | ||
| 200 | include/webkitgtk-${API}/webkitdom/WebKitDOMMediaList.h | ||
| 201 | include/webkitgtk-${API}/webkitdom/WebKitDOMMouseEvent.h | ||
| 202 | include/webkitgtk-${API}/webkitdom/WebKitDOMNamedNodeMap.h | ||
| 203 | include/webkitgtk-${API}/webkitdom/WebKitDOMNode.h | ||
| 204 | include/webkitgtk-${API}/webkitdom/WebKitDOMNodeFilter.h | ||
| 205 | include/webkitgtk-${API}/webkitdom/WebKitDOMNodeIterator.h | ||
| 206 | include/webkitgtk-${API}/webkitdom/WebKitDOMNodeList.h | ||
| 207 | include/webkitgtk-${API}/webkitdom/WebKitDOMObject.h | ||
| 208 | include/webkitgtk-${API}/webkitdom/WebKitDOMProcessingInstruction.h | ||
| 209 | include/webkitgtk-${API}/webkitdom/WebKitDOMRange.h | ||
| 210 | include/webkitgtk-${API}/webkitdom/WebKitDOMRangeUnstable.h | ||
| 211 | include/webkitgtk-${API}/webkitdom/WebKitDOMStyleSheet.h | ||
| 212 | include/webkitgtk-${API}/webkitdom/WebKitDOMStyleSheetList.h | ||
| 213 | include/webkitgtk-${API}/webkitdom/WebKitDOMText.h | ||
| 214 | include/webkitgtk-${API}/webkitdom/WebKitDOMTreeWalker.h | ||
| 215 | include/webkitgtk-${API}/webkitdom/WebKitDOMUIEvent.h | ||
| 216 | include/webkitgtk-${API}/webkitdom/WebKitDOMWheelEvent.h | ||
| 217 | include/webkitgtk-${API}/webkitdom/WebKitDOMXPathExpression.h | ||
| 218 | include/webkitgtk-${API}/webkitdom/WebKitDOMXPathNSResolver.h | ||
| 219 | include/webkitgtk-${API}/webkitdom/WebKitDOMXPathResult.h | ||
| 220 | include/webkitgtk-${API}/webkitdom/webkitdom.h | ||
| 221 | include/webkitgtk-${API}/webkitdom/webkitdomautocleanups.h | ||
| 222 | include/webkitgtk-${API}/webkitdom/webkitdomdefines.h | ||
| 223 | lib/girepository-1.0/JavaScriptCore-${API}.typelib | ||
| 224 | lib/girepository-1.0/WebKit2-${API}.typelib | ||
| 225 | lib/girepository-1.0/WebKit2WebExtension-${API}.typelib | ||
| 226 | @lib lib/libjavascriptcoregtk-${API}.so.${LIBjavascriptcoregtk-${API}_VERSION} | ||
| 227 | @lib lib/libwebkit2gtk-${API}.so.${LIBwebkit2gtk-${API}_VERSION} | ||
| 228 | lib/pkgconfig/javascriptcoregtk-${API}.pc | ||
| 229 | lib/pkgconfig/webkit2gtk-${API}.pc | ||
| 230 | lib/pkgconfig/webkit2gtk-web-extension-${API}.pc | ||
| 231 | lib/webkit2gtk-${API}/ | ||
| 232 | lib/webkit2gtk-${API}/injected-bundle/ | ||
| 233 | @so lib/webkit2gtk-${API}/injected-bundle/libwebkit2gtkinjectedbundle.so | ||
| 234 | libexec/webkit2gtk-${API}/ | ||
| 235 | @bin libexec/webkit2gtk-${API}/MiniBrowser | ||
| 236 | @bin libexec/webkit2gtk-${API}/WebKitNetworkProcess | ||
| 237 | @bin libexec/webkit2gtk-${API}/WebKitWebProcess | ||
| 238 | @bin libexec/webkit2gtk-${API}/jsc | ||
| 239 | share/gir-1.0/JavaScriptCore-${API}.gir | ||
| 240 | share/gir-1.0/WebKit2-${API}.gir | ||
| 241 | share/gir-1.0/WebKit2WebExtension-${API}.gir | ||
| 242 | share/locale/ar/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 243 | share/locale/as/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 244 | share/locale/bg/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 245 | share/locale/ca/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 246 | share/locale/cs/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 247 | share/locale/da/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 248 | share/locale/de/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 249 | share/locale/el/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 250 | share/locale/en_CA/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 251 | share/locale/en_GB/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 252 | share/locale/eo/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 253 | share/locale/es/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 254 | share/locale/et/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 255 | share/locale/eu/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 256 | share/locale/fi/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 257 | share/locale/fr/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 258 | share/locale/gl/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 259 | share/locale/gu/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 260 | share/locale/he/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 261 | share/locale/hi/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 262 | share/locale/hu/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 263 | share/locale/id/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 264 | share/locale/it/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 265 | share/locale/ja/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 266 | share/locale/kn/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 267 | share/locale/ko/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 268 | share/locale/lt/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 269 | share/locale/lv/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 270 | share/locale/ml/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 271 | share/locale/mr/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 272 | share/locale/nb/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 273 | share/locale/nl/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 274 | share/locale/or/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 275 | share/locale/pa/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 276 | share/locale/pl/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 277 | share/locale/pt/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 278 | share/locale/pt_BR/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 279 | share/locale/ro/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 280 | share/locale/ru/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 281 | share/locale/sl/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 282 | share/locale/sr/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 283 | share/locale/sr@latin/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 284 | share/locale/sv/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 285 | share/locale/ta/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 286 | share/locale/te/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 287 | share/locale/tr/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 288 | share/locale/uk/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 289 | share/locale/vi/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
| 290 | share/locale/zh_CN/LC_MESSAGES/WebKit2GTK-${API}.mo | ||
