# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= webkit2 VERSION= 2.48.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.48.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 woff2:dev:std hyphen:dev:std BUILDRUN_DEPENDS= enchant:primary:std WebP:primary:std libsecret:primary:std libnotify:primary:std hyphen:primary:std harfbuzz:icu:std icu:primary:std libgcrypt:primary:std gnutls:primary:std geoclue:primary:std woff2:primary: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 EXRUN[dev]= libsoup-2.4:dev:std/api40 libsoup:dev:std/api41 libsoup:dev:std/api60 glib:dev:std USES= png cmake pkgconfig sqlite bison perl:build python:build ruby:build fontconfig jpeg cpe GNOME_COMPONENTS= gdkpixbuf introspection libxslt XORG_COMPONENTS= x11 xcomposite xdamage xext xrender xt ice xfixes DISTNAME= base-webkit2 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:{{WRKDIR}}/webkitgtk-2.48.3/Source/WebCore/css/parser/MediaQueryBlockWatcher.h TERMS:{{WRKDIR}}/webkitgtk-2.48.3/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 -DENABLE_SPEECH_SYNTHESIS:BOOL=OFF -DSUPPRESS_ASSERT:BOOL=ON -DUSE_JPEGXL:BOOL=ON -DUSE_GSTREAMER_GL:BOOL=ON -DUSE_GSTREAMER_TRANSCODER:BOOL=OFF -DUSE_LIBBACKTRACE:BOOL=OFF -DUSE_SYSTEM_SYSPROF_CAPTURE:BOOL=OFF -DUSE_SYSTEM_MALLOC:BOOL=ON -DUSE_SKIA_OPENTYPE_SVG:BOOL=OFF -DENABLE_WEBGL: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.27.6 JSSOMAJOR=18 SOVERSION=37.72.8 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.8.6 JSSOMAJOR=0 SOVERSION=0.17.8 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.5.6 JSSOMAJOR=1 SOVERSION=4.11.8 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-extract: ${MV} ${WRKDIR}/webkitgtk-2.48.3 ${WRKDIR}/base-webkit2 [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] d4dc5970f0fc6a529ff7fd67bcbfab2bbb5e91be789b2e9279640b3217a782c3 44171964 webkitgtk-2.48.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:5909: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 WebKitWebExtensionMatchPattern.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:2520: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 WebKitWebExtensionMatchPattern.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 2025-02-25 08:25:24 UTC +++ CMakeLists.txt @@ -22,6 +22,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 2025-02-25 08:25:37 UTC +++ Source/JavaScriptCore/assembler/ARM64Assembler.h @@ -3747,6 +3747,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:316:patches/patch-Source_JavaScriptCore_runtime_JSCBytecodeCacheVersion.cpp] --- Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp.orig 2025-02-25 08:25:37 UTC +++ Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp @@ -42,6 +42,10 @@ #endif #endif +#if defined(__NetBSD__) +#define NT_GNU_BUILD_ID 3 +#endif + namespace JSC { namespace JSCBytecodeCacheVersionInternal { [FILE:597:patches/patch-Source_ThirdParty_ANGLE_src_common_aligned__memory.cpp] --- Source/ThirdParty/ANGLE/src/common/aligned_memory.cpp.orig 2025-02-25 08:25:37 UTC +++ Source/ThirdParty/ANGLE/src/common/aligned_memory.cpp @@ -35,7 +35,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:557:patches/patch-Source_ThirdParty_ANGLE_src_common_system__utils__linux.cpp] --- Source/ThirdParty/ANGLE/src/common/system_utils_linux.cpp.orig 2025-02-25 08:25:37 UTC +++ Source/ThirdParty/ANGLE/src/common/system_utils_linux.cpp @@ -59,6 +59,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), name will be ignored. ASSERT(strlen(name) < 16); +#if defined(__NetBSD__) + pthread_setname_np(pthread_self(), "%s", (void *)name); +#else pthread_setname_np(pthread_self(), name); +#endif } } // namespace angle [FILE:386:patches/patch-Source_ThirdParty_libsysprof-capture_sysprof-capture-types.h] --- Source/ThirdParty/libsysprof-capture/sysprof-capture-types.h.orig 2025-02-25 08:25:38 UTC +++ Source/ThirdParty/libsysprof-capture/sysprof-capture-types.h @@ -59,6 +59,8 @@ #include #ifdef __APPLE__ # include +#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) +# include #else # include #endif [FILE:362:patches/patch-Source_ThirdParty_libsysprof-capture_sysprof-capture-writer.c] --- Source/ThirdParty/libsysprof-capture/sysprof-capture-writer.c.orig 2025-02-25 08:25:38 UTC +++ Source/ThirdParty/libsysprof-capture/sysprof-capture-writer.c @@ -59,6 +59,7 @@ #include #ifdef __APPLE__ # include +#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) #else # include #endif [FILE:601:patches/patch-Source_ThirdParty_libsysprof-capture_sysprof-macros-internal.h] --- Source/ThirdParty/libsysprof-capture/sysprof-macros-internal.h.orig 2025-02-25 08:25:38 UTC +++ Source/ThirdParty/libsysprof-capture/sysprof-macros-internal.h @@ -64,6 +64,13 @@ #ifdef __APPLE__ # include # include +#elif defined(__DragonFly__) +# include +#elif defined(__FreeBSD__) || defined(__NetBSD__) +# include +# define __BIG_ENDIAN _BIG_ENDIAN +# define __BYTE_ORDER _BYTE_ORDER +# define __LITTLE_ENDIAN _LITTLE_ENDIAN #else # include # include [FILE:418:patches/patch-Source_ThirdParty_libsysprof-capture_sysprof-platform.c] --- Source/ThirdParty/libsysprof-capture/sysprof-platform.c.orig 2025-02-25 08:25:38 UTC +++ Source/ThirdParty/libsysprof-capture/sysprof-platform.c @@ -129,6 +129,14 @@ sysprof_memfd_create (const char *name) snprintf (template, template_len, "%s/sysprof-XXXXXX", tmpdir); +#ifndef O_BINARY +#define O_BINARY 0 +#endif + +#ifndef O_CLOEXEC +#define O_CLOEXEC 0 +#endif + #ifdef __APPLE__ flags = 0; #else [FILE:494:patches/patch-Source_ThirdParty_skia_src_gpu_ganesh_GrAutoLocaleSetter.h] NetBSD does not support uselocale --- Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h.orig 2025-02-25 08:25:40 UTC +++ Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h @@ -27,7 +27,7 @@ #define HAVE_XLOCALE 0 #endif -#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) +#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) || defined(__NetBSD__) #define HAVE_LOCALE_T 0 #else #define HAVE_LOCALE_T 1 [FILE:994:patches/patch-Source_ThirdParty_skia_src_ports_SkMemory__malloc.cpp] --- Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp.orig 2025-02-25 08:25:40 UTC +++ Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp @@ -16,7 +16,11 @@ #if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) #include #elif defined(SK_BUILD_FOR_ANDROID) || defined(SK_BUILD_FOR_UNIX) +# if defined(__FreeBSD__) +#include +# elif !defined(__DragonFly__) #include +# endif #elif defined(SK_BUILD_FOR_WIN) #include #endif @@ -123,6 +127,8 @@ size_t sk_malloc_size(void* addr, size_t #if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) // TODO: remove the max, when the chrome implementation of malloc_size doesn't return 0. completeSize = std::max(malloc_size(addr), size); + #elif defined(__NetBSD__) + // leave completeSize == size #elif defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 17 completeSize = malloc_usable_size(addr); SkASSERT(completeSize >= size); [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 2025-02-25 08:25:40 UTC +++ Source/WTF/wtf/Assertions.h @@ -539,7 +539,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:304:patches/patch-Source_WTF_wtf_FileSystem.cpp] --- Source/WTF/wtf/FileSystem.cpp.orig 2025-02-25 08:25:40 UTC +++ Source/WTF/wtf/FileSystem.cpp @@ -47,6 +47,10 @@ #include #endif +#ifndef MAP_FILE +#define MAP_FILE 0 +#endif + namespace WTF::FileSystemImpl { #if HAVE(STD_FILESYSTEM) || HAVE(STD_EXPERIMENTAL_FILESYSTEM) [FILE:610:patches/patch-Source_WTF_wtf_MemoryPressureHandler.cpp] --- Source/WTF/wtf/MemoryPressureHandler.cpp.orig 2025-02-25 08:25:40 UTC +++ Source/WTF/wtf/MemoryPressureHandler.cpp @@ -67,7 +67,7 @@ static MemoryPressureHandler* memoryPres } MemoryPressureHandler::MemoryPressureHandler() -#if OS(LINUX) || OS(FREEBSD) || OS(HAIKU) || OS(QNX) +#if OS(LINUX) || OS(FREEBSD) || OS(HAIKU) || OS(QNX) || defined(__DragonFly__) || defined(__MidnightBSD__) : m_holdOffTimer(RunLoop::main(), this, &MemoryPressureHandler::holdOffTimerFired) #elif OS(WINDOWS) : m_windowsMeasurementTimer(RunLoop::main(), this, &MemoryPressureHandler::windowsMeasurementTimerFired) [FILE:825:patches/patch-Source_WTF_wtf_MemoryPressureHandler.h] --- Source/WTF/wtf/MemoryPressureHandler.h.orig 2025-02-25 08:25:40 UTC +++ Source/WTF/wtf/MemoryPressureHandler.h @@ -97,7 +97,7 @@ public: WTF_EXPORT_PRIVATE void setMemoryFootprintPollIntervalForTesting(Seconds); 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 @@ -268,7 +268,7 @@ private: Win32Handle m_lowMemoryHandle; #endif -#if OS(LINUX) || OS(FREEBSD) || OS(HAIKU) || OS(QNX) +#if OS(LINUX) || OS(FREEBSD) || OS(HAIKU) || OS(QNX) || defined(__DragonFly__) || defined(__MidnightBSD__) RunLoop::Timer m_holdOffTimer; void holdOffTimerFired(); #endif [FILE:339:patches/patch-Source_WTF_wtf_NumberOfCores.cpp] --- Source/WTF/wtf/NumberOfCores.cpp.orig 2025-02-25 08:25:40 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) || OS(HAIKU) +#include // sscanf #include #elif OS(WINDOWS) #include [FILE:402:patches/patch-Source_WTF_wtf_PlatformGTK.cmake] --- Source/WTF/wtf/PlatformGTK.cmake.orig 2025-02-25 08:25:40 UTC +++ Source/WTF/wtf/PlatformGTK.cmake @@ -61,7 +61,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:646:patches/patch-Source_WTF_wtf_RAMSize.cpp] --- Source/WTF/wtf/RAMSize.cpp.orig 2025-02-25 08:25:40 UTC +++ Source/WTF/wtf/RAMSize.cpp @@ -31,7 +31,7 @@ #if OS(WINDOWS) #include #elif USE(SYSTEM_MALLOC) -#if OS(LINUX) || OS(FREEBSD) +#if !defined(__DragonFly__) && !OS(FREEBSD) && OS(LINUX) #include #elif OS(UNIX) || OS(HAIKU) #include @@ -60,7 +60,7 @@ static size_t computeRAMSize() return ramSizeGuess; return status.ullTotalPhys; #elif USE(SYSTEM_MALLOC) -#if OS(LINUX) || OS(FREEBSD) +#if !defined(__DragonFly__) && !OS(FREEBSD) && OS(LINUX) struct sysinfo si; sysinfo(&si); return si.totalram * si.mem_unit; [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 2025-02-25 08:25:40 UTC +++ Source/WTF/wtf/StackBounds.cpp @@ -120,6 +120,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:459:patches/patch-Source_WTF_wtf_glib_FileSystemGlib.cpp] --- Source/WTF/wtf/glib/FileSystemGlib.cpp.orig 2025-02-25 08:25:40 UTC +++ Source/WTF/wtf/glib/FileSystemGlib.cpp @@ -82,7 +82,7 @@ CString currentExecutablePath() ssize_t result = readlink("/proc/curproc/file", readLinkBuffer, PATH_MAX); if (result == -1) return { }; - return CString(readLinkBuffer, result); + return CString({ readLinkBuffer, static_cast(result) }); } #elif OS(WINDOWS) CString currentExecutablePath() [FILE:489:patches/patch-Source_WTF_wtf_posix_FileSystemPOSIX.cpp] --- Source/WTF/wtf/posix/FileSystemPOSIX.cpp.orig 2025-02-25 08:25:40 UTC +++ Source/WTF/wtf/posix/FileSystemPOSIX.cpp @@ -197,6 +197,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 2025-02-25 08:25:40 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:863:patches/patch-Source_WebCore_Modules_fetch_FetchBodyConsumer.cpp] --- Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp.orig 2025-03-11 09:29:45 UTC +++ Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp @@ -46,6 +46,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:350:patches/patch-Source_WebCore_platform_network_DNS.h] --- Source/WebCore/platform/network/DNS.h.orig 2025-02-25 08:25:41 UTC +++ Source/WebCore/platform/network/DNS.h @@ -36,6 +36,9 @@ #include #else #include +# if defined __DragonFly__ || defined __FreeBSD__ || defined __sun__ || defined __MidnightBSD__ +# include +# endif #endif namespace WebCore { [FILE:592:patches/patch-Source_WebCore_platform_unix_SharedMemoryUnix.cpp] --- Source/WebCore/platform/unix/SharedMemoryUnix.cpp.orig 2025-02-25 08:25:41 UTC +++ Source/WebCore/platform/unix/SharedMemoryUnix.cpp @@ -104,7 +104,11 @@ static UnixFileDescriptor createSharedMe #else CString tempName; for (int tries = 0; fileDescriptor == -1 && tries < 10; ++tries) { +# ifdef __DragonFly__ auto name = makeString("/WK2SharedMemory."_s, cryptographicallyRandomNumber()); +# else + auto name = makeString("/tmp/WK2SharedMemory."_s, cryptographicallyRandomNumber()); +# endif tempName = name.utf8(); do { [FILE:336:patches/patch-Source_WebDriver_PlatformGTK.cmake] --- Source/WebDriver/PlatformGTK.cmake.orig 2025-02-25 08:25:41 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 2025-02-25 08:25:41 UTC +++ Source/WebKit/CMakeLists.txt @@ -759,6 +759,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:712:patches/patch-Source_WebKit_PlatformGTK.cmake] --- Source/WebKit/PlatformGTK.cmake.orig 2025-03-11 09:29:45 UTC +++ Source/WebKit/PlatformGTK.cmake @@ -41,7 +41,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") set_property(TARGET WebKit APPEND PROPERTY LINK_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/webkitglib-symbols.map") endif () [FILE:1134: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 2025-02-25 08:25:41 UTC +++ Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp @@ -66,6 +66,10 @@ WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN // Unix port +#ifndef MSG_NOSIGNAL +#define MSG_NOSIGNAL 0 +#endif + namespace IPC { static const size_t messageMaxSize = 4096; @@ -424,8 +428,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:3038:patches/patch-Source_WebKit_UIProcess_Launcher_glib_ProcessLauncherGLib.cpp] --- Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp.orig 2025-03-11 09:29:45 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 @@ -55,7 +62,7 @@ namespace WebKit { -#if OS(LINUX) +#if TREAT_AS_LINUX static bool isFlatpakSpawnUsable() { ASSERT(isInsideFlatpak()); @@ -127,7 +134,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 pidSocketString(g_strdup_printf("%d", pidSocketPair.client.value())); #endif @@ -181,7 +188,7 @@ void ProcessLauncher::launchProcess() argv[i++] = const_cast(realExecutablePath.data()); argv[i++] = processIdentifier.get(); argv[i++] = webkitSocket.get(); -#if OS(LINUX) +#if TREAT_AS_LINUX argv[i++] = pidSocketString.get(); #endif #if ENABLE(DEVELOPER_MODE) @@ -204,7 +211,7 @@ void ProcessLauncher::launchProcess() GRefPtr launcher = adoptGRef(g_subprocess_launcher_new(G_SUBPROCESS_FLAGS_INHERIT_FDS)); int webkitClientSocketValue = webkitSocketPair.client.release(); g_subprocess_launcher_take_fd(launcher.get(), webkitClientSocketValue, webkitClientSocketValue); -#if OS(LINUX) +#if TREAT_AS_LINUX int pidClientSocketValue = pidSocketPair.client.release(); g_subprocess_launcher_take_fd(launcher.get(), pidClientSocketValue, pidClientSocketValue); #endif @@ -226,7 +233,7 @@ void ProcessLauncher::launchProcess() GUniqueOutPtr error; GRefPtr process; -#if OS(LINUX) +#if TREAT_AS_LINUX bool sandboxEnabled = m_launchOptions.extraInitializationData.get("enable-sandbox"_s) == "true"_s; if (sandboxEnabled && isInsideFlatpak() && isFlatpakSpawnUsable()) @@ -238,13 +245,13 @@ void ProcessLauncher::launchProcess() process = bubblewrapSpawn(launcher.get(), m_launchOptions, m_dbusProxy, 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 GRefPtr pidSocket = adoptGRef(g_socket_new_from_fd(pidSocketPair.server.release(), &error.outPtr())); if (!pidSocket) // Note: g_socket_new_from_fd() takes ownership of the fd only on success, so if this error [FILE:1460:patches/patch-Source_bmalloc_bmalloc_AvailableMemory.cpp] --- Source/bmalloc/bmalloc/AvailableMemory.cpp.orig 2025-02-25 08:25:42 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 2025-02-25 08:25:42 UTC +++ Source/cmake/OptionsCommon.cmake @@ -171,10 +171,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 2025-02-25 08:25:42 UTC +++ Source/cmake/WebKitCompilerFlags.cmake @@ -323,7 +323,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 2025-02-25 08:25:42 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);