# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= webkit2 VERSION= 2.44.3 KEYWORDS= www VARIANTS= api40 api41 api60 SDESC[api40]= Opensource browser engine using GTK+3 (API 4.0) SDESC[api41]= Opensource browser engine using GTK+3 (API 4.1) SDESC[api60]= Opensource browser engine using GTK4 (API 6.0) HOMEPAGE= https://www.webkitgtk.org/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= https://www.webkitgtk.org/releases/ https://fossies.org/linux/www/ DISTFILE[1]= webkitgtk-2.44.3.tar.xz:main DF_INDEX= 1 SPKGS[api40]= set primary nls dev SPKGS[api41]= set primary nls dev SPKGS[api60]= set primary nls dev OPTIONS_AVAILABLE= API40 API41 API60 OPTIONS_STANDARD= none VOPTS[api40]= API40=ON API41=OFF API60=OFF VOPTS[api41]= API40=OFF API41=ON API60=OFF VOPTS[api60]= API40=OFF API41=OFF API60=ON BUILD_DEPENDS= geoclue:dev:std gnutls:dev:std gperf:primary:std gstreamer1:dev:std gstreamer1-plugins-base:dev:std harfbuzz:dev:std highway:dev:std libgcrypt:dev:std libnotify:dev:std enchant:dev:std lcms2:dev:std libdrm:dev:std libavif:dev:std libsecret:dev:std unifdef:primary:std icu:dev:std WebP:dev:std libjxl:dev:std openjpeg:dev:std BUILDRUN_DEPENDS= enchant:primary:std WebP:primary:std libsecret:primary:std libnotify:primary:std hyphen:single:std harfbuzz:icu:std icu:primary:std libgcrypt:primary:std gnutls:primary:std geoclue:primary:std woff2:single:std gstreamer1-plugins-base:primary:std gstreamer1-plugins-base:plugin_gl:std openjpeg:primary:std lcms2:primary:std libdrm:primary:std libavif:primary:std libjxl:primary:std USES= png cmake pkgconfig sqlite bison perl:build python:build ruby:build fontconfig jpeg cpe gold GNOME_COMPONENTS= gdkpixbuf introspection libxslt XORG_COMPONENTS= x11 xcomposite xdamage xext xrender xt ice xfixes DISTNAME= webkitgtk-2.44.3 LICENSE= GPLv2+:primary BSD3CLAUSE:primary LICENSE_TERMS= primary:{{WRKDIR}}/TERMS LICENSE_FILE= GPLv2+:stock BSD3CLAUSE:{{WRKDIR}}/LICENSE_BSD LICENSE_AWK= BSD3CLAUSE:"^$$" TERMS:"^$$" LICENSE_SOURCE= BSD3CLAUSE:{{WRKSRC}}/Source/WebCore/css/parser/MediaQueryBlockWatcher.h TERMS:{{WRKSRC}}/Source/WebCore/style/StyleScope.cpp LICENSE_SCHEME= multi CPE_PRODUCT= webkitgtk CPE_VENDOR= webkitgtk FPC_EQUIVALENT= www/webkit2-gtk3 CONFIGURE_ENV= XDG_CACHE_HOME={{WRKDIR}} INSTALL_TARGET= install INSTALL_REQ_TOOLCHAIN= yes PLIST_SUB= INTRO="@comment " CXXFLAGS= -DFIXED_EXECUTABLE_MEMORY_POOL_SIZE_IN_MB=32 CMAKE_ARGS= -DPORT=GTK -DENABLE_GEOLOCATION:BOOL=ON -DENABLE_MINIBROWSER:BOOL=ON -DENABLE_WAYLAND_TARGET:BOOL=OFF -DENABLE_BUBBLEWRAP_SANDBOX:BOOL=OFF -DENABLE_GAMEPAD:BOOL=OFF -DENABLE_INTROSPECTION:BOOL=OFF -DENABLE_JOURNALD_LOG:BOOL=OFF -DSUPPRESS_ASSERT:BOOL=ON -DUSE_JPEGXL:BOOL=ON -DUSE_GSTREAMER_GL:BOOL=ON -DUSE_GSTREAMER_TRANSCODER:BOOL=OFF -DUSE_OPENGL_OR_ES:BOOL=ON -DUSE_LIBBACKTRACE:BOOL=OFF -DUSE_GBM:BOOL=OFF [API40].DESCRIPTION= Build WebKit2 API 4.0 variant [API40].BUILDRUN_DEPENDS_ON= libsoup-2.4:primary:std [API40].BUILD_DEPENDS_ON= libsoup-2.4:dev:std [API40].CMAKE_ARGS_ON= -DUSE_SOUP2=ON -DUSE_GTK4=OFF [API40].GNOME_COMPONENTS_ON= gtk3 [API40].PLIST_SUB_ON= JSSOVERSION=18.24.7 JSSOMAJOR=18 SOVERSION=37.68.7 SOMAJOR=37 WKAPI=4.0 WKAPIMAJOR=4 [API41].DESCRIPTION= Build WebKit2 API 4.1 variant [API41].BUILDRUN_DEPENDS_ON= libsoup:primary:std [API41].BUILD_DEPENDS_ON= libsoup:dev:std [API41].CMAKE_ARGS_ON= -DUSE_GTK4=OFF [API41].GNOME_COMPONENTS_ON= gtk3 [API41].PLIST_SUB_ON= JSSOVERSION=0.5.7 JSSOMAJOR=0 SOVERSION=0.13.7 SOMAJOR=0 WKAPI=4.1 WKAPIMAJOR=4 [API60].DESCRIPTION= Build WebKit2 API 6.0 variant [API60].BUILDRUN_DEPENDS_ON= libsoup:primary:std libepoxy:dev:std graphene:primary:std [API60].BUILD_DEPENDS_ON= libsoup:dev:std libepoxy:dev:std graphene:dev:std [API60].CMAKE_ARGS_ON= -DUSE_GTK4=ON [API60].GNOME_COMPONENTS_ON= gtk4 [API60].PLIST_SUB_ON= JSSOVERSION=1.2.7 JSSOMAJOR=1 SOVERSION=4.5.7 SOMAJOR=4 WKAPI=6.0 WKAPIMAJOR=6 post-patch: echo 'add_compile_definitions("U_DEFINE_FALSE_AND_TRUE=1")' \ >> ${WRKSRC}/Source/WTF/wtf/CMakeLists.txt post-install-API40-ON: (cd ${STAGEDIR}${PREFIX}/bin && \ ${LN} -s ../libexec/webkit2gtk-4.0/jsc jsc-4.0 && \ ${LN} -s ../libexec/webkit2gtk-4.0/MiniBrowser MiniBrowser-4.0) ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/webkit2gtk-4.0/injected-bundle/*.so ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-4.0/* ${MV} ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver \ ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver-4.0 post-install-API60-ON: (cd ${STAGEDIR}${PREFIX}/bin && \ ${LN} -s ../libexec/webkit2gtk-6.0/jsc jsc-6.0 && \ ${LN} -s ../libexec/webkit2gtk-6.0/MiniBrowser MiniBrowser-6.0) ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/webkitgtk-6.0/injected-bundle/*.so ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/webkitgtk-6.0/* ${MV} ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver \ ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver-6.0 post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so.*.* ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver post-install-API41-ON: (cd ${STAGEDIR}${PREFIX}/bin && \ ${LN} -s ../libexec/webkit2gtk-4.1/jsc jsc-4.1 && \ ${LN} -s ../libexec/webkit2gtk-4.1/MiniBrowser MiniBrowser-4.1) ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/webkit2gtk-4.1/injected-bundle/*.so ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-4.1/* ${MV} ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver \ ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver-4.1 post-patch-sunos: ${REINPLACE_CMD} -e '/USE_FILE_LOCK/ s|1|0|' \ ${WRKSRC}/Source/WTF/wtf/PlatformUse.h \ ${WRKSRC}/Source/WebCore/config.h [FILE:574:descriptions/desc.primary] WebKitGTK+ is a full-featured port of the WebKit rendering engine, suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers. It offers WebKit's full functionality and is useful in a wide range of systems from desktop computers to embedded systems like phones, tablets, and televisions. WebKitGTK+ is made by a lively community of developers and designers, who hope to bring the web platform to everyone. It's the official web engine of the GNOME platform and is used in browsers such as Epiphany and Surf. [FILE:102:distinfo] dc82d042ecaca981a4852357c06e5235743319cf10a94cd36ad41b97883a0b54 37250176 webkitgtk-2.44.3.tar.xz [FILE:660:manifests/plist.primary] %%INTRO%%lib/girepository-1.0/ JavaScriptCore-%%WKAPI%%.typelib WebKit2-%%WKAPI%%.typelib WebKit2WebExtension-%%WKAPI%%.typelib %%INTRO%%share/gir-1.0/ JavaScriptCore-%%WKAPI%%.gir WebKit2-%%WKAPI%%.gir WebKit2WebExtension-%%WKAPI%%.gir bin/ MiniBrowser-%%WKAPI%% WebKitWebDriver-%%WKAPI%% jsc-%%WKAPI%% lib/ libjavascriptcoregtk-%%WKAPI%%.so.%%JSSOMAJOR%% libjavascriptcoregtk-%%WKAPI%%.so.%%JSSOVERSION%% libwebkit2gtk-%%WKAPI%%.so.%%SOMAJOR%% libwebkit2gtk-%%WKAPI%%.so.%%SOVERSION%% lib/webkit2gtk-%%WKAPI%%/injected-bundle/libwebkit2gtkinjectedbundle.so libexec/webkit2gtk-%%WKAPI%%/ MiniBrowser WebKitNetworkProcess WebKitWebProcess jsc [FILE:2619:manifests/plist.nls] share/locale/ar/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/as/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/bg/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/ca/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/cs/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/da/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/de/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/el/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/en_CA/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/en_GB/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/eo/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/es/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/et/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/eu/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/fi/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/fr/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/gl/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/gu/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/he/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/hi/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/hr/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/hu/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/id/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/it/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/ja/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/ka/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/kn/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/ko/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/lt/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/lv/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/ml/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/mr/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/nb/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/nl/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/or/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/pa/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/pl/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/pt/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/pt_BR/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/ro/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/ru/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/sl/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/sr/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/sr@latin/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/sv/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/ta/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/te/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/tr/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/uk/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/vi/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo share/locale/zh_CN/LC_MESSAGES/WebKitGTK-%%WKAPI%%.mo [FILE:5875:manifests/plist.dev] include/webkitgtk-%%WKAPI%%/JavaScriptCore/ JSBase.h JSContextRef.h JSObjectRef.h JSStringRef.h JSTypedArray.h JSValueRef.h JavaScript.h WebKitAvailability.h include/webkitgtk-%%WKAPI%%/jsc/ JSCAutocleanups.h JSCClass.h JSCContext.h JSCDefines.h JSCException.h JSCOptions.h JSCValue.h JSCVersion.h JSCVirtualMachine.h JSCWeakValue.h jsc.h include/webkitgtk-%%WKAPI%%/webkit/ WebKitApplicationInfo.h WebKitAuthenticationRequest.h WebKitAutocleanups.h WebKitAutomationSession.h WebKitBackForwardList.h WebKitBackForwardListItem.h WebKitClipboardPermissionRequest.h WebKitColorChooserRequest.h WebKitConsoleMessage.h WebKitContextMenu.h WebKitContextMenuActions.h WebKitContextMenuItem.h WebKitCookieManager.h WebKitCredential.h WebKitDefines.h WebKitDeviceInfoPermissionRequest.h WebKitDownload.h WebKitEditingCommands.h WebKitEditorState.h WebKitEnumTypes.h WebKitError.h WebKitFaviconDatabase.h WebKitFeature.h WebKitFileChooserRequest.h WebKitFindController.h WebKitFormSubmissionRequest.h WebKitFrame.h WebKitGeolocationManager.h WebKitGeolocationPermissionRequest.h WebKitHitTestResult.h WebKitInputMethodContext.h WebKitInstallMissingMediaPluginsPermissionRequest.h WebKitJavascriptResult.h WebKitMediaKeySystemPermissionRequest.h WebKitMemoryPressureSettings.h WebKitMimeInfo.h WebKitNavigationAction.h WebKitNavigationPolicyDecision.h WebKitNetworkProxySettings.h WebKitNotification.h WebKitNotificationPermissionRequest.h WebKitOptionMenu.h WebKitOptionMenuItem.h WebKitPermissionRequest.h WebKitPermissionStateQuery.h WebKitPlugin.h WebKitPointerLockPermissionRequest.h WebKitPolicyDecision.h WebKitPrintCustomWidget.h WebKitPrintOperation.h WebKitResponsePolicyDecision.h WebKitScriptDialog.h WebKitScriptWorld.h WebKitSecurityManager.h WebKitSecurityOrigin.h WebKitSettings.h WebKitURIRequest.h WebKitURIResponse.h WebKitURISchemeRequest.h WebKitURISchemeResponse.h WebKitURIUtilities.h WebKitUserContent.h WebKitUserContentFilterStore.h WebKitUserContentManager.h WebKitUserMediaPermissionRequest.h WebKitUserMessage.h WebKitVersion.h WebKitWebContext.h WebKitWebEditor.h WebKitWebExtension.h WebKitWebExtensionAutocleanups.h WebKitWebFormManager.h WebKitWebHitTestResult.h WebKitWebInspector.h WebKitWebPage.h WebKitWebProcessEnumTypes.h WebKitWebResource.h WebKitWebView.h WebKitWebViewBase.h WebKitWebViewSessionState.h WebKitWebsiteData.h WebKitWebsiteDataAccessPermissionRequest.h WebKitWebsiteDataManager.h WebKitWebsitePolicies.h WebKitWindowProperties.h include/webkitgtk-%%WKAPI%%/webkit2/ webkit-web-extension.h webkit2.h include/webkitgtk-%%WKAPI%%/webkitdom/ WebKitDOMAttr.h WebKitDOMBlob.h WebKitDOMCDATASection.h WebKitDOMCSSRule.h WebKitDOMCSSRuleList.h WebKitDOMCSSStyleDeclaration.h WebKitDOMCSSStyleSheet.h WebKitDOMCSSValue.h WebKitDOMCharacterData.h WebKitDOMClientRect.h WebKitDOMClientRectList.h WebKitDOMComment.h WebKitDOMCustom.h WebKitDOMCustomUnstable.h WebKitDOMDOMImplementation.h WebKitDOMDOMSelection.h WebKitDOMDOMTokenList.h WebKitDOMDOMWindow.h WebKitDOMDOMWindowUnstable.h WebKitDOMDeprecated.h WebKitDOMDocument.h WebKitDOMDocumentFragment.h WebKitDOMDocumentFragmentUnstable.h WebKitDOMDocumentType.h WebKitDOMDocumentUnstable.h WebKitDOMElement.h WebKitDOMElementUnstable.h WebKitDOMEvent.h WebKitDOMEventTarget.h WebKitDOMFile.h WebKitDOMFileList.h WebKitDOMHTMLAnchorElement.h WebKitDOMHTMLAppletElement.h WebKitDOMHTMLAreaElement.h WebKitDOMHTMLBRElement.h WebKitDOMHTMLBaseElement.h WebKitDOMHTMLBodyElement.h WebKitDOMHTMLButtonElement.h WebKitDOMHTMLCanvasElement.h WebKitDOMHTMLCollection.h WebKitDOMHTMLDListElement.h WebKitDOMHTMLDirectoryElement.h WebKitDOMHTMLDivElement.h WebKitDOMHTMLDocument.h WebKitDOMHTMLElement.h WebKitDOMHTMLElementUnstable.h WebKitDOMHTMLEmbedElement.h WebKitDOMHTMLFieldSetElement.h WebKitDOMHTMLFontElement.h WebKitDOMHTMLFormElement.h WebKitDOMHTMLFrameElement.h WebKitDOMHTMLFrameSetElement.h WebKitDOMHTMLHRElement.h WebKitDOMHTMLHeadElement.h WebKitDOMHTMLHeadingElement.h WebKitDOMHTMLHtmlElement.h WebKitDOMHTMLIFrameElement.h WebKitDOMHTMLImageElement.h WebKitDOMHTMLInputElement.h WebKitDOMHTMLLIElement.h WebKitDOMHTMLLabelElement.h WebKitDOMHTMLLegendElement.h WebKitDOMHTMLLinkElement.h WebKitDOMHTMLMapElement.h WebKitDOMHTMLMarqueeElement.h WebKitDOMHTMLMenuElement.h WebKitDOMHTMLMetaElement.h WebKitDOMHTMLModElement.h WebKitDOMHTMLOListElement.h WebKitDOMHTMLObjectElement.h WebKitDOMHTMLOptGroupElement.h WebKitDOMHTMLOptionElement.h WebKitDOMHTMLOptionsCollection.h WebKitDOMHTMLParagraphElement.h WebKitDOMHTMLParamElement.h WebKitDOMHTMLPreElement.h WebKitDOMHTMLQuoteElement.h WebKitDOMHTMLScriptElement.h WebKitDOMHTMLSelectElement.h WebKitDOMHTMLStyleElement.h WebKitDOMHTMLTableCaptionElement.h WebKitDOMHTMLTableCellElement.h WebKitDOMHTMLTableColElement.h WebKitDOMHTMLTableElement.h WebKitDOMHTMLTableRowElement.h WebKitDOMHTMLTableSectionElement.h WebKitDOMHTMLTextAreaElement.h WebKitDOMHTMLTitleElement.h WebKitDOMHTMLUListElement.h WebKitDOMKeyboardEvent.h WebKitDOMMediaList.h WebKitDOMMouseEvent.h WebKitDOMNamedNodeMap.h WebKitDOMNode.h WebKitDOMNodeFilter.h WebKitDOMNodeIterator.h WebKitDOMNodeList.h WebKitDOMObject.h WebKitDOMProcessingInstruction.h WebKitDOMRange.h WebKitDOMRangeUnstable.h WebKitDOMStyleSheet.h WebKitDOMStyleSheetList.h WebKitDOMText.h WebKitDOMTreeWalker.h WebKitDOMUIEvent.h WebKitDOMWheelEvent.h WebKitDOMXPathExpression.h WebKitDOMXPathNSResolver.h WebKitDOMXPathResult.h webkitdom.h webkitdomautocleanups.h webkitdomdefines.h lib/ libjavascriptcoregtk-%%WKAPI%%.so libwebkit2gtk-%%WKAPI%%.so lib/pkgconfig/ javascriptcoregtk-%%WKAPI%%.pc webkit2gtk-%%WKAPI%%.pc webkit2gtk-web-extension-%%WKAPI%%.pc [FILE:601:manifests/plist.primary.api60] %%INTRO%%lib/girepository-1.0/ JavaScriptCore-%%WKAPI%%.typelib WebKit2-%%WKAPI%%.typelib WebKit2WebExtension-%%WKAPI%%.typelib %%INTRO%%share/gir-1.0/ JavaScriptCore-%%WKAPI%%.gir WebKit2-%%WKAPI%%.gir WebKit2WebExtension-%%WKAPI%%.gir bin/ MiniBrowser-6.0 WebKitWebDriver-6.0 jsc-6.0 lib/ libjavascriptcoregtk-6.0.so.%%JSSOMAJOR%% libjavascriptcoregtk-6.0.so.%%JSSOVERSION%% libwebkitgtk-6.0.so.%%SOMAJOR%% libwebkitgtk-6.0.so.%%SOVERSION%% lib/webkitgtk-6.0/injected-bundle/libwebkitgtkinjectedbundle.so libexec/webkitgtk-6.0/ MiniBrowser WebKitNetworkProcess WebKitWebProcess jsc [FILE:2486:manifests/plist.dev.api60] include/webkitgtk-6.0/jsc/ JSCClass.h JSCContext.h JSCDefines.h JSCException.h JSCOptions.h JSCValue.h JSCVersion.h JSCVirtualMachine.h JSCWeakValue.h jsc.h include/webkitgtk-6.0/webkit/ WebKitApplicationInfo.h WebKitAuthenticationRequest.h WebKitAutocleanups.h WebKitAutomationSession.h WebKitBackForwardList.h WebKitBackForwardListItem.h WebKitClipboardPermissionRequest.h WebKitColorChooserRequest.h WebKitConsoleMessage.h WebKitContextMenu.h WebKitContextMenuActions.h WebKitContextMenuItem.h WebKitCookieManager.h WebKitCredential.h WebKitDefines.h WebKitDeviceInfoPermissionRequest.h WebKitDownload.h WebKitEditingCommands.h WebKitEditorState.h WebKitEnumTypes.h WebKitError.h WebKitFaviconDatabase.h WebKitFeature.h WebKitFileChooserRequest.h WebKitFindController.h WebKitFormSubmissionRequest.h WebKitFrame.h WebKitGeolocationManager.h WebKitGeolocationPermissionRequest.h WebKitHitTestResult.h WebKitInputMethodContext.h WebKitInstallMissingMediaPluginsPermissionRequest.h WebKitMediaKeySystemPermissionRequest.h WebKitMemoryPressureSettings.h WebKitNavigationAction.h WebKitNavigationPolicyDecision.h WebKitNetworkProxySettings.h WebKitNetworkSession.h WebKitNotification.h WebKitNotificationPermissionRequest.h WebKitOptionMenu.h WebKitOptionMenuItem.h WebKitPermissionRequest.h WebKitPermissionStateQuery.h WebKitPointerLockPermissionRequest.h WebKitPolicyDecision.h WebKitPrintOperation.h WebKitResponsePolicyDecision.h WebKitScriptDialog.h WebKitScriptWorld.h WebKitSecurityManager.h WebKitSecurityOrigin.h WebKitSettings.h WebKitURIRequest.h WebKitURIResponse.h WebKitURISchemeRequest.h WebKitURISchemeResponse.h WebKitURIUtilities.h WebKitUserContent.h WebKitUserContentFilterStore.h WebKitUserContentManager.h WebKitUserMediaPermissionRequest.h WebKitUserMessage.h WebKitVersion.h WebKitWebContext.h WebKitWebEditor.h WebKitWebFormManager.h WebKitWebHitTestResult.h WebKitWebInspector.h WebKitWebPage.h WebKitWebProcessEnumTypes.h WebKitWebProcessExtension.h WebKitWebResource.h WebKitWebView.h WebKitWebViewBase.h WebKitWebViewSessionState.h WebKitWebsiteData.h WebKitWebsiteDataAccessPermissionRequest.h WebKitWebsiteDataManager.h WebKitWebsitePolicies.h WebKitWindowProperties.h webkit-web-process-extension.h webkit.h lib/ libjavascriptcoregtk-6.0.so libwebkitgtk-6.0.so lib/pkgconfig/ javascriptcoregtk-6.0.pc webkitgtk-6.0.pc webkitgtk-web-process-extension-6.0.pc [FILE:431:patches/patch-CMakeLists.txt] --- CMakeLists.txt.orig 2024-03-16 06:45:35 UTC +++ CMakeLists.txt @@ -27,6 +27,11 @@ if (ENABLE_API_TESTS) enable_testing() endif () +if (SUPPRESS_ASSERT) + add_definitions(-DNDEBUG=1) + add_definitions(-D__OPTIMIZE__) +endif() + # ----------------------------------------------------------------------------- # Add module directories # ----------------------------------------------------------------------------- [FILE:503:patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler.h] --- Source/JavaScriptCore/assembler/ARM64Assembler.h.orig 2024-03-16 06:45:47 UTC +++ Source/JavaScriptCore/assembler/ARM64Assembler.h @@ -3669,6 +3669,8 @@ public: sys_icache_invalidate(code, size); #elif OS(FUCHSIA) zx_cache_flush(code, size, ZX_CACHE_FLUSH_INSN); +#elif OS(FREEBSD) || OS(NETBSD) + __clear_cache(code, reinterpret_cast(code) + size); #elif OS(LINUX) size_t page = pageSize(); uintptr_t current = reinterpret_cast(code); [FILE:4034:patches/patch-Source_JavaScriptCore_runtime_MachineContext.h] $NetBSD: patch-Source_JavaScriptCore_runtime_MachineContext.h,v 1.2 2021/05/13 08:20:58 leot Exp $ Add support for NetBSD. --- Source/JavaScriptCore/runtime/MachineContext.h.orig 2024-03-16 06:45:47 UTC +++ Source/JavaScriptCore/runtime/MachineContext.h @@ -193,6 +193,22 @@ static inline void*& stackPointerImpl(mc #error Unknown Architecture #endif +#elif OS(NETBSD) + +#if CPU(X86) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_UESP]); +#elif CPU(X86_64) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_RSP]); +#elif CPU(ARM) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_SP]); +#elif CPU(ARM64) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_SP]); +#elif CPU(MIPS) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_SP]); +#else +#error Unknown Architecture +#endif + #elif OS(FUCHSIA) || OS(LINUX) #if CPU(X86) @@ -338,6 +354,22 @@ static inline void*& framePointerImpl(mc #error Unknown Architecture #endif +#elif OS(NETBSD) + +#if CPU(X86) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_EBP]); +#elif CPU(X86_64) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_RBP]); +#elif CPU(ARM) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_FP]); +#elif CPU(ARM64) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_FP]); +#elif CPU(MIPS) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_S8]); +#else +#error Unknown Architecture +#endif + #elif OS(FUCHSIA) || OS(LINUX) // The following sequence depends on glibc's sys/ucontext.h. @@ -504,6 +536,22 @@ static inline void*& instructionPointerI #else #error Unknown Architecture #endif + +#elif OS(NETBSD) + +#if CPU(X86) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_EIP]); +#elif CPU(X86_64) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_RIP]); +#elif CPU(ARM) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_PC]); +#elif CPU(ARM64) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_PC]); +#elif CPU(MIPS) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_EPC]); +#else +#error Unknown Architecture +#endif #elif OS(FUCHSIA) || OS(LINUX) @@ -669,6 +717,22 @@ inline void*& argumentPointer<1>(mcontex #else #error Unknown Architecture #endif + +#elif OS(NETBSD) + +#if CPU(X86) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_EDX]); +#elif CPU(X86_64) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_RSI]); +#elif CPU(ARM) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_R1]); +#elif CPU(ARM64) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_X1]); +#elif CPU(MIPS) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_A1]); +#else +#error Unknown Architecture +#endif #elif OS(FUCHSIA) || OS(LINUX) @@ -801,6 +865,22 @@ inline void*& llintInstructionPointer(mc #elif OS(NETBSD) #if CPU(X86) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_ESI]); +#elif CPU(X86_64) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_R8]); +#elif CPU(ARM) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_R8]); +#elif CPU(ARM64) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_X4]); +#elif CPU(MIPS) + return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_T4]); +#else +#error Unknown Architecture +#endif + +#elif OS(NETBSD) + +#if CPU(X86) return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_ESI]); #elif CPU(X86_64) return reinterpret_cast((uintptr_t&) machineContext.__gregs[_REG_R8]); [FILE:597:patches/patch-Source_ThirdParty_ANGLE_src_common_aligned__memory.cpp] --- Source/ThirdParty/ANGLE/src/common/aligned_memory.cpp.orig 2024-03-16 06:45:47 UTC +++ Source/ThirdParty/ANGLE/src/common/aligned_memory.cpp @@ -33,7 +33,7 @@ void *AlignedAlloc(size_t size, size_t a // memalign() on Android returns pointers which can safely be used with // free(), so we can use it instead. Issue filed to document this: // http://code.google.com/p/android/issues/detail?id=35391 -#elif defined(ANGLE_PLATFORM_ANDROID) +#elif defined(ANGLE_PLATFORM_ANDROID) || defined(__sun__) ptr = memalign(alignment, size); #else if (posix_memalign(&ptr, alignment, size)) [FILE:528:patches/patch-Source_ThirdParty_ANGLE_src_common_system__utils__linux.cpp] --- Source/ThirdParty/ANGLE/src/common/system_utils_linux.cpp.orig 2024-03-16 06:45:47 UTC +++ Source/ThirdParty/ANGLE/src/common/system_utils_linux.cpp @@ -56,6 +56,10 @@ void SetCurrentThreadName(const char *na { // There's a 15-character (16 including '\0') limit. If the name is too big (and ERANGE is // returned), just ignore the name. +#if defined(__NetBSD__) + pthread_setname_np(pthread_self(), "%s", (void *)name); +#else pthread_setname_np(pthread_self(), name); +#endif } } // namespace angle [FILE:561:patches/patch-Source_WTF_wtf_Assertions.h] $NetBSD: patch-Source_WTF_wtf_Assertions.h,v 1.1 2021/01/12 15:21:31 jperkin Exp $ Use regular static_assert on SunOS. --- Source/WTF/wtf/Assertions.h.orig 2024-03-16 06:45:49 UTC +++ Source/WTF/wtf/Assertions.h @@ -489,7 +489,7 @@ constexpr bool assertionFailureDueToUnre /* COMPILE_ASSERT */ #ifndef COMPILE_ASSERT -#if COMPILER_SUPPORTS(C_STATIC_ASSERT) +#if COMPILER_SUPPORTS(C_STATIC_ASSERT) && !defined(__sun) /* Unlike static_assert below, this also works in plain C code. */ #define COMPILE_ASSERT(exp, name) _Static_assert((exp), #name) #else [FILE:638:patches/patch-Source_WTF_wtf_FastMalloc.cpp] --- Source/WTF/wtf/FastMalloc.cpp.orig 2024-03-16 06:45:49 UTC +++ Source/WTF/wtf/FastMalloc.cpp @@ -207,7 +207,11 @@ void* fastAlignedMalloc(size_t alignment { ASSERT_IS_WITHIN_LIMIT(size); void* p = nullptr; +#ifdef __sun__ + p = memalign(alignment, size); +#else posix_memalign(&p, alignment, size); +#endif if (UNLIKELY(!p)) CRASH(); return p; @@ -217,7 +221,11 @@ void* tryFastAlignedMalloc(size_t alignm { FAIL_IF_EXCEEDS_LIMIT(size); void* p = nullptr; +#ifdef __sun__ + p = memalign(alignment, size); +#else posix_memalign(&p, alignment, size); +#endif return p; } [FILE:502:patches/patch-Source_WTF_wtf_FileSystem.cpp] $NetBSD: patch-Source_WTF_wtf_FileSystem.cpp,v 1.3 2020/09/11 14:47:35 leot Exp $ Support MAP_FILE if unavailable. --- Source/WTF/wtf/FileSystem.cpp.orig 2024-03-16 06:45:49 UTC +++ Source/WTF/wtf/FileSystem.cpp @@ -356,6 +356,9 @@ bool MappedFileData::mapFileHandle(Platf #endif } +#ifndef MAP_FILE +#define MAP_FILE 0 +#endif void* data = mmap(0, size, pageProtection, MAP_FILE | (mapMode == MappedFileMode::Shared ? MAP_SHARED : MAP_PRIVATE), fd, 0); if (data == MAP_FAILED) { [FILE:584:patches/patch-Source_WTF_wtf_MemoryPressureHandler.cpp] --- Source/WTF/wtf/MemoryPressureHandler.cpp.orig 2024-03-16 06:45:49 UTC +++ Source/WTF/wtf/MemoryPressureHandler.cpp @@ -65,7 +65,7 @@ static MemoryPressureHandler* memoryPres } MemoryPressureHandler::MemoryPressureHandler() -#if OS(LINUX) || OS(FREEBSD) || OS(QNX) +#if OS(LINUX) || OS(FREEBSD) || OS(QNX) || defined(__DragonFly__) || defined(__MidnightBSD__) : m_holdOffTimer(RunLoop::main(), this, &MemoryPressureHandler::holdOffTimerFired) #elif OS(WINDOWS) : m_windowsMeasurementTimer(RunLoop::main(), this, &MemoryPressureHandler::windowsMeasurementTimerFired) [FILE:721:patches/patch-Source_WTF_wtf_MemoryPressureHandler.h] --- Source/WTF/wtf/MemoryPressureHandler.h.orig 2024-03-16 06:45:49 UTC +++ Source/WTF/wtf/MemoryPressureHandler.h @@ -93,7 +93,7 @@ public: WTF_EXPORT_PRIVATE void setShouldUsePeriodicMemoryMonitor(bool); -#if OS(LINUX) || OS(FREEBSD) || OS(QNX) +#if OS(LINUX) || OS(FREEBSD) || OS(QNX) || defined(__DragonFly__) || defined(__MidnightBSD__) WTF_EXPORT_PRIVATE void triggerMemoryPressureEvent(bool isCritical); #endif @@ -256,7 +256,7 @@ private: Win32Handle m_lowMemoryHandle; #endif -#if OS(LINUX) || OS(FREEBSD) || OS(QNX) +#if OS(LINUX) || OS(FREEBSD) || OS(QNX) || defined(__DragonFly__) || defined(__MidnightBSD__) RunLoop::Timer m_holdOffTimer; void holdOffTimerFired(); #endif [FILE:326:patches/patch-Source_WTF_wtf_NumberOfCores.cpp] --- Source/WTF/wtf/NumberOfCores.cpp.orig 2024-03-16 06:45:49 UTC +++ Source/WTF/wtf/NumberOfCores.cpp @@ -32,6 +32,7 @@ #if OS(DARWIN) #include #elif OS(LINUX) || OS(AIX) || OS(OPENBSD) || OS(NETBSD) || OS(FREEBSD) +#include // sscanf #include #elif OS(WINDOWS) #include [FILE:402:patches/patch-Source_WTF_wtf_PlatformGTK.cmake] --- Source/WTF/wtf/PlatformGTK.cmake.orig 2024-03-16 06:45:49 UTC +++ Source/WTF/wtf/PlatformGTK.cmake @@ -64,7 +64,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "Linux") unix/MemoryPressureHandlerUnix.cpp ) -elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") +elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly|MidnightBSD") list(APPEND WTF_SOURCES generic/MemoryFootprintGeneric.cpp [FILE:584:patches/patch-Source_WTF_wtf_StackBounds.cpp] $NetBSD: patch-Source_WTF_wtf_StackBounds.cpp,v 1.2 2018/10/24 18:31:07 leot Exp $ SunOS does not have pthread_getattr_np. --- Source/WTF/wtf/StackBounds.cpp.orig 2024-03-16 06:45:49 UTC +++ Source/WTF/wtf/StackBounds.cpp @@ -112,6 +112,7 @@ StackBounds StackBounds::newThreadStackB #if HAVE(PTHREAD_NP_H) || OS(NETBSD) // e.g. on FreeBSD 5.4, neundorf@kde.org pthread_attr_get_np(thread, &sattr); +#elif defined(__sun__) #else // FIXME: this function is non-portable; other POSIX systems may have different np alternatives pthread_getattr_np(thread, &sattr); [FILE:489:patches/patch-Source_WTF_wtf_posix_FileSystemPOSIX.cpp] --- Source/WTF/wtf/posix/FileSystemPOSIX.cpp.orig 2024-03-16 06:45:49 UTC +++ Source/WTF/wtf/posix/FileSystemPOSIX.cpp @@ -194,6 +194,9 @@ std::optional fileCreationTime return std::nullopt; return WallTime::fromRawSeconds(fileInfo.stx_btime.tv_sec); +#elif defined __DragonFly__ + /* st_birthtime is not in the stat structure on DragonFly */ + return std::nullopt; #elif OS(DARWIN) || OS(OPENBSD) || OS(NETBSD) || OS(FREEBSD) struct stat fileInfo; [FILE:1495:patches/patch-Source_WTF_wtf_unix_MemoryPressureHandlerUnix.cpp] --- Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cpp.orig 2024-03-16 06:45:49 UTC +++ Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cpp @@ -28,7 +28,11 @@ #include "config.h" #include +#if OS(FREEBSD) || defined(__DragonFly__) || defined(__MidnightBSD__) +#include +#else #include +#endif #include #include #include @@ -37,7 +41,7 @@ #if OS(LINUX) #include -#elif OS(FREEBSD) +#elif OS(FREEBSD) || defined(__DragonFly__) || defined(__MidnightBSD__) #include #include #include @@ -115,7 +119,7 @@ static size_t processMemoryUsage() ProcessMemoryStatus memoryStatus; currentProcessMemoryStatus(memoryStatus); return (memoryStatus.resident - memoryStatus.shared); -#elif OS(FREEBSD) +#elif OS(FREEBSD) || defined(__DragonFly__) || defined(__MidnightBSD__) static size_t pageSize = sysconf(_SC_PAGE_SIZE); struct kinfo_proc info; size_t infolen = sizeof(info); @@ -129,7 +133,11 @@ static size_t processMemoryUsage() if (sysctl(mib, 4, &info, &infolen, nullptr, 0)) return 0; +# ifdef __DragonFly__ + return static_cast(info.kp_vm_rssize - info.kp_vm_tsize) * pageSize; +# else return static_cast(info.ki_rssize - info.ki_tsize) * pageSize; +# endif #elif OS(QNX) int fd = open("/proc/self/ctl", O_RDONLY); if (fd == -1) [FILE:848:patches/patch-Source_WebCore_Modules_fetch_FetchBodyConsumer.cpp] --- Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp.orig 2024-03-16 06:45:49 UTC +++ Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp @@ -43,6 +43,32 @@ #include #include +#ifdef __sun +static void *memmem( + const void *big, size_t big_len, + const void *little, size_t little_len) +{ + const char *bp = (const char *)big; + const char *lp = (const char *)little; + size_t l; + + if (big_len < little_len || little_len == 0 || big_len == 0) + return NULL; + + while (big_len > 0) { + for (l = 0; l < little_len; l++) { + if (bp[l] != lp[l]) + break; + } + if (l == little_len) + return (void *)bp; + bp++; + } + + return NULL; +} +#endif + namespace WebCore { static inline Ref blobFromData(ScriptExecutionContext* context, Vector&& data, const String& contentType) [FILE:796:patches/patch-Source_WebCore_platform_graphics_gbm_DMABufReleaseFlag.h] --- Source/WebCore/platform/graphics/gbm/DMABufReleaseFlag.h.orig 2024-03-16 06:45:50 UTC +++ Source/WebCore/platform/graphics/gbm/DMABufReleaseFlag.h @@ -26,7 +26,9 @@ #pragma once +#if !defined(__DragonFly__) && !defined(__NetBSD__) && !defined(__MidnightBSD__) #include +#endif #include #include #include @@ -42,7 +44,11 @@ struct DMABufReleaseFlag { enum InitializeTag { Initialize }; DMABufReleaseFlag(InitializeTag) { +#if !defined(__DragonFly__) && !defined(__NetBSD__) && !defined(__MidnightBSD__) fd = { eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK), UnixFileDescriptor::Adopt }; +#else + fd = { -1, UnixFileDescriptor::Adopt }; +#endif } ~DMABufReleaseFlag() = default; [FILE:350:patches/patch-Source_WebCore_platform_network_DNS.h] --- Source/WebCore/platform/network/DNS.h.orig 2024-03-16 06:45:50 UTC +++ Source/WebCore/platform/network/DNS.h @@ -35,6 +35,9 @@ #include #else #include +# if defined __DragonFly__ || defined __FreeBSD__ || defined __sun__ || defined __MidnightBSD__ +# include +# endif #endif namespace WebCore { [FILE:586:patches/patch-Source_WebCore_platform_unix_SharedMemoryUnix.cpp] --- Source/WebCore/platform/unix/SharedMemoryUnix.cpp.orig 2024-03-16 06:45:50 UTC +++ Source/WebCore/platform/unix/SharedMemoryUnix.cpp @@ -98,7 +98,11 @@ static UnixFileDescriptor createSharedMe #else CString tempName; for (int tries = 0; fileDescriptor == -1 && tries < 10; ++tries) { +# ifdef __DragonFly__ + auto name = makeString("/tmp/WK2SharedMemory.", cryptographicallyRandomNumber()); +# else auto name = makeString("/WK2SharedMemory.", cryptographicallyRandomNumber()); +# endif tempName = name.utf8(); do { [FILE:336:patches/patch-Source_WebDriver_PlatformGTK.cmake] --- Source/WebDriver/PlatformGTK.cmake.orig 2024-03-16 06:45:50 UTC +++ Source/WebDriver/PlatformGTK.cmake @@ -5,6 +5,7 @@ add_definitions(-DLIBEXECDIR="${CMAKE_IN list(APPEND WebDriver_SYSTEM_INCLUDE_DIRECTORIES "${GLIB_INCLUDE_DIRS}" "${LIBSOUP_INCLUDE_DIRS}" + "${ICU_INCLUDE_DIRS}" ) list(APPEND WebDriver_SOURCES [FILE:564:patches/patch-Source_WebKit_CMakeLists.txt] $NetBSD: patch-Source_WebKit_CMakeLists.txt,v 1.1 2018/05/16 18:55:45 jperkin Exp $ SunOS requires libsocket. --- Source/WebKit/CMakeLists.txt.orig 2024-03-16 06:45:50 UTC +++ Source/WebKit/CMakeLists.txt @@ -669,6 +669,10 @@ if (ATOMICS_REQUIRE_LIBATOMIC) list(APPEND WebKit_PRIVATE_LIBRARIES atomic) endif () +if (CMAKE_SYSTEM_NAME MATCHES "SunOS") + list(APPEND WebKit_LIBRARIES socket) +endif () + macro(ADD_WEBKIT_PREFIX_HEADER _target) if (WebKit_USE_PREFIX_HEADER) get_target_property(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS) [FILE:599:patches/patch-Source_WebKit_PlatformGTK.cmake] --- Source/WebKit/PlatformGTK.cmake.orig 2024-04-09 07:46:24 UTC +++ Source/WebKit/PlatformGTK.cmake @@ -40,7 +40,7 @@ add_definitions(-DDATADIR="${CMAKE_INSTA add_definitions(-DLIBDIR="${LIB_INSTALL_DIR}") add_definitions(-DPKGLIBDIR="${LIB_INSTALL_DIR}/webkit${WEBKITGTK_API_INFIX}gtk-${WEBKITGTK_API_VERSION}") -if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") +if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin|SunOS") WEBKIT_ADD_TARGET_PROPERTIES(WebKit LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/webkitglib-symbols.map") endif () [FILE:1139:patches/patch-Source_WebKit_Platform_IPC_unix_ConnectionUnix.cpp] On NetBSD we see "Error sending IPC message: Message too long" due to the use of sendmsg with a large message body (EMSGSIZE). WebKit already uses shared memory to communicate the message body when the message is too large, so force it to always use this method to avoid encountering EMSGSIZE. --- Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp.orig 2024-03-16 06:45:50 UTC +++ Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp @@ -62,6 +62,10 @@ #endif #endif // SOCK_SEQPACKET +#ifndef MSG_NOSIGNAL +#define MSG_NOSIGNAL 0 +#endif + namespace IPC { static const size_t messageMaxSize = 4096; @@ -406,8 +410,12 @@ bool Connection::sendOutgoingMessage(Uni return false; } +#if 0 size_t messageSizeWithBodyInline = sizeof(MessageInfo) + (outputMessage.attachments().size() * sizeof(AttachmentInfo)) + outputMessage.bodySize(); if (messageSizeWithBodyInline > messageMaxSize && outputMessage.bodySize()) { +#else + { +#endif RefPtr oolMessageBody = WebCore::SharedMemory::allocate(outputMessage.bodySize()); if (!oolMessageBody) return false; [FILE:2797:patches/patch-Source_WebKit_UIProcess_Launcher_glib_ProcessLauncherGLib.cpp] --- Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp.orig 2024-08-13 05:20:01 UTC +++ Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp @@ -43,6 +43,13 @@ #include #include +#if defined __DragonFly__ || defined __FreeBSD__ || defined __NetBSD__ +# define TREAT_AS_LINUX 0 +# define RUNNING_ON_VALGRIND 0 +#else +# define TREAT_AS_LINUX 1 +#endif + #if USE(LIBWPE) #include "ProcessProviderLibWPE.h" #endif @@ -53,7 +60,7 @@ namespace WebKit { -#if OS(LINUX) +#if TREAT_AS_LINUX static bool isFlatpakSpawnUsable() { static std::optional ret; @@ -150,7 +157,7 @@ void ProcessLauncher::launchProcess() } #endif -#if OS(LINUX) +#if TREAT_AS_LINUX IPC::SocketPair pidSocketPair = IPC::createPlatformConnection(IPC::PlatformConnectionOptions::SetCloexecOnClient | IPC::PlatformConnectionOptions::SetCloexecOnServer | IPC::PlatformConnectionOptions::SetPasscredOnServer); GUniquePtr pidSocket(g_strdup_printf("%d", pidSocketPair.client)); #endif @@ -202,7 +209,9 @@ void ProcessLauncher::launchProcess() argv[i++] = const_cast(realExecutablePath.data()); argv[i++] = processIdentifier.get(); argv[i++] = webkitSocket.get(); +#if TREAT_AS_LINUX argv[i++] = pidSocket.get(); +#endif #if ENABLE(DEVELOPER_MODE) if (configureJSCForTesting) argv[i++] = const_cast("--configure-jsc-for-testing"); @@ -220,14 +229,14 @@ void ProcessLauncher::launchProcess() // Please keep this comment in sync with the duplicate comment in XDGDBusProxy::launch. GRefPtr launcher = adoptGRef(g_subprocess_launcher_new(G_SUBPROCESS_FLAGS_INHERIT_FDS)); g_subprocess_launcher_take_fd(launcher.get(), webkitSocketPair.client, webkitSocketPair.client); -#if OS(LINUX) +#if TREAT_AS_LINUX g_subprocess_launcher_take_fd(launcher.get(), pidSocketPair.client, pidSocketPair.client); #endif GUniqueOutPtr error; GRefPtr process; -#if OS(LINUX) +#if TREAT_AS_LINUX bool sandboxEnabled = isSandboxEnabled(m_launchOptions); if (sandboxEnabled && isFlatpakSpawnUsable()) @@ -239,13 +248,13 @@ void ProcessLauncher::launchProcess() process = bubblewrapSpawn(launcher.get(), m_launchOptions, argv, &error.outPtr()); #endif // ENABLE(BUBBLEWRAP_SANDBOX) else -#endif // OS(LINUX) +#endif // TREAT_AS_LINUX process = adoptGRef(g_subprocess_launcher_spawnv(launcher.get(), argv, &error.outPtr())); if (!process.get()) g_error("Unable to spawn a new child process: %s", error->message); -#if OS(LINUX) +#if TREAT_AS_LINUX m_processID = IPC::readPIDFromPeer(pidSocketPair.server); RELEASE_ASSERT(!close(pidSocketPair.server)); #else [FILE:1460:patches/patch-Source_bmalloc_bmalloc_AvailableMemory.cpp] --- Source/bmalloc/bmalloc/AvailableMemory.cpp.orig 2024-03-16 06:45:51 UTC +++ Source/bmalloc/bmalloc/AvailableMemory.cpp @@ -44,7 +44,7 @@ #import #import #elif BOS(UNIX) -#if BOS(FREEBSD) || BOS(LINUX) +#if BOS(LINUX) #include #endif #if BOS(LINUX) @@ -161,7 +161,13 @@ static size_t computeAvailableMemory() // Round up the memory size to a multiple of 128MB because max_mem may not be exactly 512MB // (for example) and we have code that depends on those boundaries. return ((sizeAccordingToKernel + multiple - 1) / multiple) * multiple; -#elif BOS(FREEBSD) || BOS(LINUX) +#elif BOS(FREEBSD) || defined(__MidnightBSD__) + long pages = sysconf(_SC_PHYS_PAGES); + long pageSize = sysconf(_SC_PAGE_SIZE); + if (pages == -1 || pageSize == -1) + return availableMemoryGuess; + return pages * pageSize; +#elif BOS(LINUX) struct sysinfo info; if (!sysinfo(&info)) return info.totalram * info.mem_unit; @@ -212,7 +218,11 @@ MemoryStatus memoryStatus() size_t memoryFootprint = 0; if (!sysctl(mib, 4, &info, &infolen, nullptr, 0)) +# ifdef __DragonFly__ + memoryFootprint = static_cast(info.kp_vm_rssize) * vmPageSize(); +# else memoryFootprint = static_cast(info.ki_rssize) * vmPageSize(); +# endif #endif double percentInUse = static_cast(memoryFootprint) / static_cast(availableMemory()); [FILE:971:patches/patch-Source_cmake_OptionsCommon.cmake] --- Source/cmake/OptionsCommon.cmake.orig 2024-03-16 06:45:51 UTC +++ Source/cmake/OptionsCommon.cmake @@ -158,10 +158,10 @@ endif () option(USE_THIN_ARCHIVES "Produce all static libraries as thin archives" ${USE_THIN_ARCHIVES_DEFAULT}) if (USE_THIN_ARCHIVES) - set(CMAKE_CXX_ARCHIVE_CREATE " crT ") - set(CMAKE_C_ARCHIVE_CREATE " crT ") - set(CMAKE_CXX_ARCHIVE_APPEND " rT ") - set(CMAKE_C_ARCHIVE_APPEND " rT ") + set(CMAKE_CXX_ARCHIVE_CREATE " cr ") + set(CMAKE_C_ARCHIVE_CREATE " cr ") + set(CMAKE_CXX_ARCHIVE_APPEND " r ") + set(CMAKE_C_ARCHIVE_APPEND " r ") endif () set(ENABLE_DEBUG_FISSION_DEFAULT OFF) [FILE:520:patches/patch-Source_cmake_WebKitCompilerFlags.cmake] --- Source/cmake/WebKitCompilerFlags.cmake.orig 2024-03-16 06:45:51 UTC +++ Source/cmake/WebKitCompilerFlags.cmake @@ -272,7 +272,7 @@ if (NOT MSVC) string(REGEX MATCHALL "-fsanitize=[^ ]*" ENABLED_COMPILER_SANITIZERS ${CMAKE_CXX_FLAGS}) endif () -if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS) +if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS") set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}") endif () [FILE:358:patches/patch-Tools_MiniBrowser_gtk_CMakeLists.txt] --- Tools/MiniBrowser/gtk/CMakeLists.txt.orig 2024-03-16 06:45:51 UTC +++ Tools/MiniBrowser/gtk/CMakeLists.txt @@ -39,6 +39,10 @@ set(MiniBrowser_PRIVATE_LIBRARIES WebKit::WebKit ) +if (CMAKE_SYSTEM_NAME MATCHES "SunOS") + list(APPEND MiniBrowser_PRIVATE_LIBRARIES intl) +endif() + set(MiniBrowser_DEPENDENCIES NetworkProcess WebProcess [FILE:1232:files/linux44-patch-madvise] --- Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c.orig 2023-08-09 08:49:52 UTC +++ Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c @@ -115,11 +115,13 @@ pas_allocation_result pas_probabilistic_ * ensure physical addresses are released * TODO: investigate using MADV_FREE_REUSABLE instead */ + /* Linux 4.5, Ravenports uses 4.4 int madvise_res = madvise((void *) upper_guard_page, page_size, MADV_FREE); PAS_ASSERT(!madvise_res); madvise_res = madvise((void *) lower_guard_page, page_size, MADV_FREE); PAS_ASSERT(!madvise_res); + */ /* * the key is the location where the user's starting memory address is located. @@ -181,8 +183,10 @@ void pas_probabilistic_guard_malloc_deal * ensure physical addresses are released * TODO: investigate using MADV_FREE_REUSABLE instead */ + /* Requires linux 4.5 int madvise_res = madvise((void *) value->start_of_data_pages, value->size_of_data_pages, MADV_FREE); PAS_ASSERT(!madvise_res); + */ bool removed = pas_ptr_hash_map_remove(&pas_pgm_hash_map, key, NULL, &pas_large_utility_free_heap_allocation_config); PAS_ASSERT(removed);