1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[gtk3]= Opensource browser engine using the GTK+ 3 toolkit
8 HOMEPAGE= https://www.webkitgtk.org/
12 SITES[main]= https://www.webkitgtk.org/releases/
13 https://fossies.org/linux/www/
14 DISTFILE[1]= webkitgtk-2.32.1.tar.xz:main
20 OPTIONS_AVAILABLE= GTK3
21 OPTIONS_STANDARD= none
24 BUILD_DEPENDS= gperf:primary:standard
25 BUILDRUN_DEPENDS= enchant:single:standard
26 fontconfig:primary:standard
27 freetype:primary:standard
29 libsecret:primary:standard
30 libnotify:primary:standard
31 hyphen:single:standard
34 libsoup:primary:standard
35 libgcrypt:single:standard
36 gnutls:primary:standard
37 libtasn1:primary:standard
38 geoclue:single:standard
40 gstreamer1-plugins-base:primary:standard
41 openjpeg:single:standard
43 USES= png mesa cmake pkgconfig sqlite bison perl:build
44 python:build ruby:build gettext-tools cpe
45 GNOME_COMPONENTS= gtk3 gdkpixbuf introspection libxslt
46 XORG_COMPONENTS= x11 xcomposite xdamage xext xrender xt ice
48 DISTNAME= webkitgtk-2.32.1
50 LICENSE= GPLv2+:primary BSD3CLAUSE:primary
51 LICENSE_TERMS= primary:{{WRKDIR}}/TERMS
52 LICENSE_FILE= GPLv2+:stock
53 BSD3CLAUSE:{{WRKDIR}}/LICENSE_BSD
54 LICENSE_AWK= BSD3CLAUSE:"^$$"
56 LICENSE_SOURCE= BSD3CLAUSE:{{WRKSRC}}/Source/WebCore/css/parser/MediaQueryBlockWatcher.h
57 TERMS:{{WRKSRC}}/Source/WebCore/style/StyleScope.cpp
60 CPE_PRODUCT= webkitgtk
62 FPC_EQUIVALENT= www/webkit2-gtk3
64 CONFIGURE_ENV= XDG_CACHE_HOME={{WRKDIR}}
66 INSTALL_TARGET= install
68 PLIST_SUB= JSSOVERSION=18.18.5
73 CXXFLAGS= -DFIXED_EXECUTABLE_MEMORY_POOL_SIZE_IN_MB=32
74 CMAKE_ARGS= -DPORT=GTK
75 -DENABLE_GEOLOCATION:BOOL=ON
76 -DENABLE_GLES2:BOOL=ON
77 -DENABLE_MINIBROWSER:BOOL=ON
78 -DENABLE_WAYLAND_TARGET:BOOL=OFF
79 -DENABLE_BUBBLEWRAP_SANDBOX:BOOL=OFF
80 -DENABLE_GAMEPAD:BOOL=OFF
81 -DSUPPRESS_ASSERT:BOOL=ON
82 -DUSE_SYSTEMD:BOOL=OFF
83 -DUSE_GSTREAMER_GL:BOOL=OFF
84 VAR_OPSYS[sunos]= CMAKE_ARGS=-DUSE_LD_GOLD:BOOL=OFF
86 [GTK3].DESCRIPTION= Build GTK+3 variant
89 echo 'add_compile_definitions("U_DEFINE_FALSE_AND_TRUE=1")' \
90 >> ${WRKSRC}/Source/WTF/wtf/CMakeLists.txt
93 (cd ${STAGEDIR}${PREFIX}/bin && \
94 ${LN} -s ../libexec/webkit2gtk-4.0/jsc jsc-4 && \
95 ${LN} -s ../libexec/webkit2gtk-4.0/MiniBrowser MiniBrowser-4)
96 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so.*.*
97 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/webkit2gtk-4.0/injected-bundle/*.so
98 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-4.0/*
99 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver
102 ${REINPLACE_CMD} -e '/USE_FILE_LOCK/ s|1|0|' \
103 ${WRKSRC}/Source/WTF/wtf/PlatformUse.h \
104 ${WRKSRC}/Source/WebCore/config.h
106 [FILE:576:descriptions/desc.primary]
107 WebKitGTK+ is a full-featured port of the WebKit rendering engine, suitable
108 for projects requiring any kind of web integration, from hybrid HTML/CSS
109 applications to full-fledged web browsers. It offers WebKit's full
110 functionality and is useful in a wide range of systems from desktop
111 computers to embedded systems like phones, tablets, and televisions.
113 WebKitGTK+ is made by a lively community of developers and designers,
114 who hope to bring the web platform to everyone. It's the official web
115 engine of the GNOME platform and is used in browsers such as Epiphany
120 136117317f70f66486f71b8edf5e46f8776403c5d8a296e914b11a36ef836917 23321600 webkitgtk-2.32.1.tar.xz
123 [FILE:6339:manifests/plist.primary]
125 MiniBrowser-%%WKAPIMAJOR%%
128 include/webkitgtk-%%WKAPI%%/JavaScriptCore/
137 include/webkitgtk-%%WKAPI%%/jsc/
149 include/webkitgtk-%%WKAPI%%/webkit2/
150 WebKitApplicationInfo.h
151 WebKitAuthenticationRequest.h
153 WebKitAutomationSession.h
154 WebKitBackForwardList.h
155 WebKitBackForwardListItem.h
156 WebKitColorChooserRequest.h
157 WebKitConsoleMessage.h
159 WebKitContextMenuActions.h
160 WebKitContextMenuItem.h
161 WebKitCookieManager.h
164 WebKitDeviceInfoPermissionRequest.h
166 WebKitEditingCommands.h
170 WebKitFaviconDatabase.h
171 WebKitFileChooserRequest.h
172 WebKitFindController.h
173 WebKitFormSubmissionRequest.h
174 WebKitForwardDeclarations.h
176 WebKitGeolocationManager.h
177 WebKitGeolocationPermissionRequest.h
178 WebKitHitTestResult.h
179 WebKitInputMethodContext.h
180 WebKitInstallMissingMediaPluginsPermissionRequest.h
181 WebKitJavascriptResult.h
182 WebKitMediaKeySystemPermissionRequest.h
184 WebKitNavigationAction.h
185 WebKitNavigationPolicyDecision.h
186 WebKitNetworkProxySettings.h
188 WebKitNotificationPermissionRequest.h
190 WebKitOptionMenuItem.h
191 WebKitPermissionRequest.h
193 WebKitPointerLockPermissionRequest.h
194 WebKitPolicyDecision.h
195 WebKitPrintCustomWidget.h
196 WebKitPrintOperation.h
197 WebKitResponsePolicyDecision.h
200 WebKitSecurityManager.h
201 WebKitSecurityOrigin.h
205 WebKitURISchemeRequest.h
208 WebKitUserContentFilterStore.h
209 WebKitUserContentManager.h
210 WebKitUserMediaPermissionRequest.h
216 WebKitWebExtensionAutocleanups.h
217 WebKitWebHitTestResult.h
220 WebKitWebProcessEnumTypes.h
224 WebKitWebViewSessionState.h
226 WebKitWebsiteDataAccessPermissionRequest.h
227 WebKitWebsiteDataManager.h
228 WebKitWebsitePolicies.h
229 WebKitWindowProperties.h
230 webkit-web-extension.h
232 include/webkitgtk-%%WKAPI%%/webkitdom/
235 WebKitDOMCDATASection.h
237 WebKitDOMCSSRuleList.h
238 WebKitDOMCSSStyleDeclaration.h
239 WebKitDOMCSSStyleSheet.h
241 WebKitDOMCharacterData.h
242 WebKitDOMClientRect.h
243 WebKitDOMClientRectList.h
246 WebKitDOMCustomUnstable.h
247 WebKitDOMDOMImplementation.h
248 WebKitDOMDOMSelection.h
249 WebKitDOMDOMTokenList.h
251 WebKitDOMDOMWindowUnstable.h
252 WebKitDOMDeprecated.h
254 WebKitDOMDocumentFragment.h
255 WebKitDOMDocumentFragmentUnstable.h
256 WebKitDOMDocumentType.h
257 WebKitDOMDocumentUnstable.h
259 WebKitDOMElementUnstable.h
261 WebKitDOMEventTarget.h
264 WebKitDOMHTMLAnchorElement.h
265 WebKitDOMHTMLAppletElement.h
266 WebKitDOMHTMLAreaElement.h
267 WebKitDOMHTMLBRElement.h
268 WebKitDOMHTMLBaseElement.h
269 WebKitDOMHTMLBodyElement.h
270 WebKitDOMHTMLButtonElement.h
271 WebKitDOMHTMLCanvasElement.h
272 WebKitDOMHTMLCollection.h
273 WebKitDOMHTMLDListElement.h
274 WebKitDOMHTMLDirectoryElement.h
275 WebKitDOMHTMLDivElement.h
276 WebKitDOMHTMLDocument.h
277 WebKitDOMHTMLElement.h
278 WebKitDOMHTMLElementUnstable.h
279 WebKitDOMHTMLEmbedElement.h
280 WebKitDOMHTMLFieldSetElement.h
281 WebKitDOMHTMLFontElement.h
282 WebKitDOMHTMLFormElement.h
283 WebKitDOMHTMLFrameElement.h
284 WebKitDOMHTMLFrameSetElement.h
285 WebKitDOMHTMLHRElement.h
286 WebKitDOMHTMLHeadElement.h
287 WebKitDOMHTMLHeadingElement.h
288 WebKitDOMHTMLHtmlElement.h
289 WebKitDOMHTMLIFrameElement.h
290 WebKitDOMHTMLImageElement.h
291 WebKitDOMHTMLInputElement.h
292 WebKitDOMHTMLLIElement.h
293 WebKitDOMHTMLLabelElement.h
294 WebKitDOMHTMLLegendElement.h
295 WebKitDOMHTMLLinkElement.h
296 WebKitDOMHTMLMapElement.h
297 WebKitDOMHTMLMarqueeElement.h
298 WebKitDOMHTMLMenuElement.h
299 WebKitDOMHTMLMetaElement.h
300 WebKitDOMHTMLModElement.h
301 WebKitDOMHTMLOListElement.h
302 WebKitDOMHTMLObjectElement.h
303 WebKitDOMHTMLOptGroupElement.h
304 WebKitDOMHTMLOptionElement.h
305 WebKitDOMHTMLOptionsCollection.h
306 WebKitDOMHTMLParagraphElement.h
307 WebKitDOMHTMLParamElement.h
308 WebKitDOMHTMLPreElement.h
309 WebKitDOMHTMLQuoteElement.h
310 WebKitDOMHTMLScriptElement.h
311 WebKitDOMHTMLSelectElement.h
312 WebKitDOMHTMLStyleElement.h
313 WebKitDOMHTMLTableCaptionElement.h
314 WebKitDOMHTMLTableCellElement.h
315 WebKitDOMHTMLTableColElement.h
316 WebKitDOMHTMLTableElement.h
317 WebKitDOMHTMLTableRowElement.h
318 WebKitDOMHTMLTableSectionElement.h
319 WebKitDOMHTMLTextAreaElement.h
320 WebKitDOMHTMLTitleElement.h
321 WebKitDOMHTMLUListElement.h
322 WebKitDOMKeyboardEvent.h
324 WebKitDOMMouseEvent.h
325 WebKitDOMNamedNodeMap.h
327 WebKitDOMNodeFilter.h
328 WebKitDOMNodeIterator.h
331 WebKitDOMProcessingInstruction.h
333 WebKitDOMRangeUnstable.h
334 WebKitDOMStyleSheet.h
335 WebKitDOMStyleSheetList.h
337 WebKitDOMTreeWalker.h
339 WebKitDOMWheelEvent.h
340 WebKitDOMXPathExpression.h
341 WebKitDOMXPathNSResolver.h
342 WebKitDOMXPathResult.h
344 webkitdomautocleanups.h
347 libjavascriptcoregtk-%%WKAPI%%.so
348 libjavascriptcoregtk-%%WKAPI%%.so.%%JSSOMAJOR%%
349 libjavascriptcoregtk-%%WKAPI%%.so.%%JSSOVERSION%%
350 libwebkit2gtk-%%WKAPI%%.so
351 libwebkit2gtk-%%WKAPI%%.so.%%SOMAJOR%%
352 libwebkit2gtk-%%WKAPI%%.so.%%SOVERSION%%
353 lib/girepository-1.0/
354 JavaScriptCore-%%WKAPI%%.typelib
355 WebKit2-%%WKAPI%%.typelib
356 WebKit2WebExtension-%%WKAPI%%.typelib
358 javascriptcoregtk-%%WKAPI%%.pc
359 webkit2gtk-%%WKAPI%%.pc
360 webkit2gtk-web-extension-%%WKAPI%%.pc
361 lib/webkit2gtk-%%WKAPI%%/injected-bundle/libwebkit2gtkinjectedbundle.so
362 libexec/webkit2gtk-%%WKAPI%%/
368 JavaScriptCore-%%WKAPI%%.gir
369 WebKit2-%%WKAPI%%.gir
370 WebKit2WebExtension-%%WKAPI%%.gir
373 [FILE:2566:manifests/plist.nls]
374 share/locale/ar/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
375 share/locale/as/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
376 share/locale/bg/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
377 share/locale/ca/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
378 share/locale/cs/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
379 share/locale/da/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
380 share/locale/de/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
381 share/locale/el/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
382 share/locale/en_CA/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
383 share/locale/en_GB/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
384 share/locale/eo/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
385 share/locale/es/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
386 share/locale/et/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
387 share/locale/eu/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
388 share/locale/fi/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
389 share/locale/fr/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
390 share/locale/gl/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
391 share/locale/gu/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
392 share/locale/he/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
393 share/locale/hi/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
394 share/locale/hu/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
395 share/locale/id/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
396 share/locale/it/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
397 share/locale/ja/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
398 share/locale/kn/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
399 share/locale/ko/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
400 share/locale/lt/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
401 share/locale/lv/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
402 share/locale/ml/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
403 share/locale/mr/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
404 share/locale/nb/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
405 share/locale/nl/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
406 share/locale/or/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
407 share/locale/pa/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
408 share/locale/pl/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
409 share/locale/pt/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
410 share/locale/pt_BR/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
411 share/locale/ro/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
412 share/locale/ru/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
413 share/locale/sl/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
414 share/locale/sr/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
415 share/locale/sr@latin/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
416 share/locale/sv/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
417 share/locale/ta/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
418 share/locale/te/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
419 share/locale/tr/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
420 share/locale/uk/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
421 share/locale/vi/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
422 share/locale/zh_CN/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
425 [FILE:431:patches/patch-CMakeLists.txt]
426 --- CMakeLists.txt.orig 2021-02-26 09:56:52 UTC
428 @@ -22,6 +22,11 @@ if (ENABLE_API_TESTS)
432 +if (SUPPRESS_ASSERT)
433 + add_definitions(-DNDEBUG=1)
434 + add_definitions(-D__OPTIMIZE__)
437 # -----------------------------------------------------------------------------
438 # Add module directories
439 # -----------------------------------------------------------------------------
442 [FILE:534:patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler.h]
443 --- Source/JavaScriptCore/assembler/ARM64Assembler.h.orig 2021-02-26 09:57:05 UTC
444 +++ Source/JavaScriptCore/assembler/ARM64Assembler.h
445 @@ -2861,6 +2861,8 @@ public:
446 sys_cache_control(kCacheFunctionPrepareForExecution, code, size);
448 zx_cache_flush(code, size, ZX_CACHE_FLUSH_INSN);
449 +#elif OS(FREEBSD) || OS(NETBSD)
450 + __clear_cache(code, reinterpret_cast<char*>(code) + size);
452 size_t page = pageSize();
453 uintptr_t current = reinterpret_cast<uintptr_t>(code);
456 [FILE:597:patches/patch-Source_ThirdParty_ANGLE_src_common_aligned__memory.cpp]
457 --- Source/ThirdParty/ANGLE/src/common/aligned_memory.cpp.orig 2021-02-26 09:57:06 UTC
458 +++ Source/ThirdParty/ANGLE/src/common/aligned_memory.cpp
459 @@ -33,7 +33,7 @@ void *AlignedAlloc(size_t size, size_t a
460 // memalign() on Android returns pointers which can safely be used with
461 // free(), so we can use it instead. Issue filed to document this:
462 // http://code.google.com/p/android/issues/detail?id=35391
463 -#elif defined(ANGLE_PLATFORM_ANDROID)
464 +#elif defined(ANGLE_PLATFORM_ANDROID) || defined(__sun__)
465 ptr = memalign(alignment, size);
467 if (posix_memalign(&ptr, alignment, size))
470 [FILE:506:patches/patch-Source_ThirdParty_ANGLE_src_common_third__party_smhasher_src_PMurHash.cpp]
471 --- Source/ThirdParty/ANGLE/src/common/third_party/smhasher/src/PMurHash.cpp.orig 2021-02-26 09:57:06 UTC
472 +++ Source/ThirdParty/ANGLE/src/common/third_party/smhasher/src/PMurHash.cpp
473 @@ -48,6 +48,9 @@ on big endian machines, or a byte-by-byt
474 -----------------------------------------------------------------------------*/
476 #include "PMurHash.h"
478 +#define __BYTE_ORDER __LITTLE_ENDIAN
482 /* I used ugly type names in the header to avoid potential conflicts with
485 [FILE:561:patches/patch-Source_WTF_wtf_Assertions.h]
486 $NetBSD: patch-Source_WTF_wtf_Assertions.h,v 1.1 2021/01/12 15:21:31 jperkin Exp $
488 Use regular static_assert on SunOS.
490 --- Source/WTF/wtf/Assertions.h.orig 2021-02-26 09:57:08 UTC
491 +++ Source/WTF/wtf/Assertions.h
492 @@ -452,7 +452,7 @@ constexpr bool assertionFailureDueToUnre
495 #ifndef COMPILE_ASSERT
496 -#if COMPILER_SUPPORTS(C_STATIC_ASSERT)
497 +#if COMPILER_SUPPORTS(C_STATIC_ASSERT) && !defined(__sun)
498 /* Unlike static_assert below, this also works in plain C code. */
499 #define COMPILE_ASSERT(exp, name) _Static_assert((exp), #name)
503 [FILE:638:patches/patch-Source_WTF_wtf_FastMalloc.cpp]
504 --- Source/WTF/wtf/FastMalloc.cpp.orig 2021-03-25 15:14:06 UTC
505 +++ Source/WTF/wtf/FastMalloc.cpp
506 @@ -170,7 +170,11 @@ void* fastAlignedMalloc(size_t alignment
508 ASSERT_IS_WITHIN_LIMIT(size);
511 + p = memalign(alignment, size);
513 posix_memalign(&p, alignment, size);
518 @@ -180,7 +184,11 @@ void* tryFastAlignedMalloc(size_t alignm
520 FAIL_IF_EXCEEDS_LIMIT(size);
523 + p = memalign(alignment, size);
525 posix_memalign(&p, alignment, size);
532 [FILE:502:patches/patch-Source_WTF_wtf_FileSystem.cpp]
533 $NetBSD: patch-Source_WTF_wtf_FileSystem.cpp,v 1.3 2020/09/11 14:47:35 leot Exp $
535 Support MAP_FILE if unavailable.
537 --- Source/WTF/wtf/FileSystem.cpp.orig 2021-02-26 09:57:08 UTC
538 +++ Source/WTF/wtf/FileSystem.cpp
539 @@ -339,6 +339,9 @@ bool MappedFileData::mapFileHandle(Platf
546 void* data = mmap(0, size, pageProtection, MAP_FILE | (mapMode == MappedFileMode::Shared ? MAP_SHARED : MAP_PRIVATE), fd, 0);
548 if (data == MAP_FAILED) {
551 [FILE:534:patches/patch-Source_WTF_wtf_MemoryPressureHandler.cpp]
552 --- Source/WTF/wtf/MemoryPressureHandler.cpp.orig 2021-02-26 09:57:08 UTC
553 +++ Source/WTF/wtf/MemoryPressureHandler.cpp
554 @@ -57,7 +57,7 @@ MemoryPressureHandler& MemoryPressureHan
557 MemoryPressureHandler::MemoryPressureHandler()
558 -#if OS(LINUX) || OS(FREEBSD)
559 +#if OS(LINUX) || OS(FREEBSD) || defined(__DragonFly__)
560 : m_holdOffTimer(RunLoop::main(), this, &MemoryPressureHandler::holdOffTimerFired)
562 : m_windowsMeasurementTimer(RunLoop::main(), this, &MemoryPressureHandler::windowsMeasurementTimerFired)
565 [FILE:644:patches/patch-Source_WTF_wtf_MemoryPressureHandler.h]
566 --- Source/WTF/wtf/MemoryPressureHandler.h.orig 2021-02-26 09:57:08 UTC
567 +++ Source/WTF/wtf/MemoryPressureHandler.h
568 @@ -66,7 +66,7 @@ public:
570 WTF_EXPORT_PRIVATE void setShouldUsePeriodicMemoryMonitor(bool);
572 -#if OS(LINUX) || OS(FREEBSD)
573 +#if OS(LINUX) || OS(FREEBSD) || defined(__DragonFly__)
574 WTF_EXPORT_PRIVATE void triggerMemoryPressureEvent(bool isCritical);
577 @@ -200,7 +200,7 @@ private:
578 Win32Handle m_lowMemoryHandle;
581 -#if OS(LINUX) || OS(FREEBSD)
582 +#if OS(LINUX) || OS(FREEBSD) || defined(__DragonFly__)
583 RunLoop::Timer<MemoryPressureHandler> m_holdOffTimer;
584 void holdOffTimerFired();
588 [FILE:326:patches/patch-Source_WTF_wtf_NumberOfCores.cpp]
589 --- Source/WTF/wtf/NumberOfCores.cpp.orig 2021-02-26 09:57:08 UTC
590 +++ Source/WTF/wtf/NumberOfCores.cpp
593 #include <sys/sysctl.h>
594 #elif OS(LINUX) || OS(AIX) || OS(OPENBSD) || OS(NETBSD) || OS(FREEBSD)
595 +#include <stdio.h> // sscanf
601 [FILE:390:patches/patch-Source_WTF_wtf_PlatformGTK.cmake]
602 --- Source/WTF/wtf/PlatformGTK.cmake.orig 2021-02-26 09:57:08 UTC
603 +++ Source/WTF/wtf/PlatformGTK.cmake
604 @@ -54,7 +54,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "Linux")
606 unix/MemoryPressureHandlerUnix.cpp
608 -elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
609 +elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly")
610 list(APPEND WTF_SOURCES
611 generic/MemoryFootprintGeneric.cpp
615 [FILE:582:patches/patch-Source_WTF_wtf_StackBounds.cpp]
616 $NetBSD: patch-Source_WTF_wtf_StackBounds.cpp,v 1.2 2018/10/24 18:31:07 leot Exp $
618 SunOS does not have pthread_getattr_np.
620 --- Source/WTF/wtf/StackBounds.cpp.orig 2021-05-05 05:33:24 UTC
621 +++ Source/WTF/wtf/StackBounds.cpp
622 @@ -96,6 +96,7 @@ StackBounds StackBounds::newThreadStackB
623 #if HAVE(PTHREAD_NP_H) || OS(NETBSD)
624 // e.g. on FreeBSD 5.4, neundorf@kde.org
625 pthread_attr_get_np(thread, &sattr);
626 +#elif defined(__sun__)
628 // FIXME: this function is non-portable; other POSIX systems may have different np alternatives
629 pthread_getattr_np(thread, &sattr);
632 [FILE:1426:patches/patch-Source_WTF_wtf_unix_MemoryPressureHandlerUnix.cpp]
633 --- Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cpp.orig 2021-02-26 09:57:08 UTC
634 +++ Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cpp
637 #include <wtf/MemoryPressureHandler.h>
639 +#if OS(FREEBSD) || defined(__DragonFly__)
645 #include <wtf/MainThread.h>
646 #include <wtf/MemoryFootprint.h>
650 #include <wtf/linux/CurrentProcessMemoryStatus.h>
652 +#elif OS(FREEBSD) || defined(__DragonFly__)
653 #include <sys/sysctl.h>
654 #include <sys/types.h>
655 #include <sys/user.h>
656 @@ -116,7 +120,7 @@ static size_t processMemoryUsage()
657 ProcessMemoryStatus memoryStatus;
658 currentProcessMemoryStatus(memoryStatus);
659 return (memoryStatus.resident - memoryStatus.shared);
661 +#elif OS(FREEBSD) || defined(__DragonFly__)
662 static size_t pageSize = sysconf(_SC_PAGE_SIZE);
663 struct kinfo_proc info;
664 size_t infolen = sizeof(info);
665 @@ -130,7 +134,11 @@ static size_t processMemoryUsage()
666 if (sysctl(mib, 4, &info, &infolen, nullptr, 0))
669 +# ifdef __DragonFly__
670 + return static_cast<size_t>(info.kp_vm_rssize - info.kp_vm_tsize) * pageSize;
672 return static_cast<size_t>(info.ki_rssize - info.ki_tsize) * pageSize;
675 #error "Missing a platform specific way of determining the memory usage"
679 [FILE:610:patches/patch-Source_WebCore_platform_graphics_cpu_arm_filters_FELightingNEON.cpp]
680 --- Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp.orig 2021-02-26 09:57:13 UTC
681 +++ Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
682 @@ -403,7 +403,7 @@ TOSTRING(neonDrawLighting) ":" NL
683 "vmin.f32 " TMP2_D0 ", " TMP2_D0 ", " CONST_ONE_HI_D NL
684 "vmul.f32 " TMP3_Q ", " COLOR_Q ", " TMP2_D0 "[1]" NL
685 "vcvt.u32.f32 " TMP3_Q ", " TMP3_Q NL
686 - "vmov.u32 r2, r3, " TMP3_S0 ", " TMP3_S1 NL
687 + "vmov r2, r3, " TMP3_S0 ", " TMP3_S1 NL
688 // The color values are stored in-place.
689 "strb r2, [" PIXELS_R ", #-11]" NL
690 "strb r3, [" PIXELS_R ", #-10]" NL
693 [FILE:328:patches/patch-Source_WebCore_platform_network_DNS.h]
694 --- Source/WebCore/platform/network/DNS.h.orig 2021-02-26 09:57:13 UTC
695 +++ Source/WebCore/platform/network/DNS.h
697 #include <ws2tcpip.h>
699 #include <netinet/in.h>
700 +# if defined __DragonFly__ || defined __FreeBSD__ || defined __sun__
701 +# include <sys/socket.h>
705 #include <wtf/Forward.h>
708 [FILE:336:patches/patch-Source_WebDriver_PlatformGTK.cmake]
709 --- Source/WebDriver/PlatformGTK.cmake.orig 2021-02-26 09:57:15 UTC
710 +++ Source/WebDriver/PlatformGTK.cmake
711 @@ -5,6 +5,7 @@ add_definitions(-DLIBEXECDIR="${CMAKE_IN
712 list(APPEND WebDriver_SYSTEM_INCLUDE_DIRECTORIES
713 "${GLIB_INCLUDE_DIRS}"
714 "${LIBSOUP_INCLUDE_DIRS}"
715 + "${ICU_INCLUDE_DIRS}"
718 list(APPEND WebDriver_SOURCES
721 [FILE:507:patches/patch-Source_WebKit_CMakeLists.txt]
722 $NetBSD: patch-Source_WebKit_CMakeLists.txt,v 1.1 2018/05/16 18:55:45 jperkin Exp $
724 SunOS requires libsocket.
726 --- Source/WebKit/CMakeLists.txt.orig 2021-03-25 13:27:32 UTC
727 +++ Source/WebKit/CMakeLists.txt
728 @@ -362,6 +362,10 @@ if (UNIX)
732 +if (CMAKE_SYSTEM_NAME MATCHES "SunOS")
733 + list(APPEND WebKit_LIBRARIES socket)
736 macro(ADD_WEBKIT_PREFIX_HEADER _target)
737 if (WebKit_USE_PREFIX_HEADER)
738 get_target_property(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS)
741 [FILE:551:patches/patch-Source_WebKit_PlatformGTK.cmake]
742 --- Source/WebKit/PlatformGTK.cmake.orig 2021-05-05 05:46:35 UTC
743 +++ Source/WebKit/PlatformGTK.cmake
744 @@ -23,7 +23,7 @@ add_definitions(-DLOCALEDIR="${CMAKE_INS
745 add_definitions(-DDATADIR="${CMAKE_INSTALL_FULL_DATADIR}")
746 add_definitions(-DLIBDIR="${LIB_INSTALL_DIR}")
748 -if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
749 +if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin|SunOS")
750 WEBKIT_ADD_TARGET_PROPERTIES(WebKit LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/webkitglib-symbols.map")
755 [FILE:1241:patches/patch-Source_WebKit_Platform_IPC_unix_ConnectionUnix.cpp]
756 $NetBSD: patch-Source_WebKit_Platform_IPC_unix_ConnectionUnix.cpp,v 1.3 2021/01/12 15:21:31 jperkin Exp $
758 On NetBSD we see "Error sending IPC message: Message too long" due to
759 the use of sendmsg with a large message body (EMSGSIZE).
761 WebKit already uses shared memory to communicate the message body when
762 the message is too large, so force it to always use this method to avoid
763 encountering EMSGSIZE.
765 --- Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp.orig 2021-02-26 09:57:15 UTC
766 +++ Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp
769 #endif // SOCK_SEQPACKET
771 +#ifndef MSG_NOSIGNAL
772 +#define MSG_NOSIGNAL 0
777 static const size_t messageMaxSize = 4096;
778 @@ -434,8 +438,12 @@ bool Connection::sendOutgoingMessage(std
783 size_t messageSizeWithBodyInline = sizeof(MessageInfo) + (outputMessage.attachments().size() * sizeof(AttachmentInfo)) + outputMessage.bodySize();
784 if (messageSizeWithBodyInline > messageMaxSize && outputMessage.bodySize()) {
788 RefPtr<WebKit::SharedMemory> oolMessageBody = WebKit::SharedMemory::allocate(encoder->bufferSize());
793 [FILE:792:patches/patch-Source_WebKit_Platform_unix_SharedMemoryUnix.cpp]
794 --- Source/WebKit/Platform/unix/SharedMemoryUnix.cpp.orig 2021-02-26 09:57:15 UTC
795 +++ Source/WebKit/Platform/unix/SharedMemoryUnix.cpp
796 @@ -147,7 +147,13 @@ static int createSharedMemory()
799 for (int tries = 0; fileDescriptor == -1 && tries < 10; ++tries) {
800 - String name = String("/WK2SharedMemory.") + String::number(static_cast<unsigned>(WTF::randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)));
802 +#ifdef __DragonFly__
803 + String("/tmp/WK2SharedMemory.")
805 + String("/WK2SharedMemory.")
807 + + String::number(static_cast<unsigned>(WTF::randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)));
808 tempName = name.utf8();
813 [FILE:1374:patches/patch-Source_bmalloc_bmalloc_AvailableMemory.cpp]
814 Add DragonFly support
815 FreeBSD 11 doesn't have sysinfo.h like DragonFly doesn't
817 --- Source/bmalloc/bmalloc/AvailableMemory.cpp.orig 2021-02-26 09:57:17 UTC
818 +++ Source/bmalloc/bmalloc/AvailableMemory.cpp
823 +#elif defined(__DragonFly__)
824 +#include "VMAllocate.h"
825 +#include <sys/sysctl.h>
826 +#include <sys/kinfo.h>
827 +#include <sys/types.h>
828 +#include <sys/user.h>
830 #include "VMAllocate.h"
831 #include <sys/sysctl.h>
832 -#include <sys/sysinfo.h>
833 #include <sys/types.h>
834 #include <sys/user.h>
836 @@ -169,7 +174,7 @@ static size_t computeAvailableMemory()
837 return ((sizeAccordingToKernel + multiple - 1) / multiple) * multiple;
839 return LinuxMemory::singleton().availableMemory;
844 return info.totalram * info.mem_unit;
845 @@ -223,7 +228,11 @@ MemoryStatus memoryStatus()
847 size_t memoryFootprint = 0;
848 if (!sysctl(mib, 4, &info, &infolen, nullptr, 0))
849 +# ifdef __DragonFly__
850 + memoryFootprint = static_cast<size_t>(info.kp_vm_rssize) * vmPageSize();
852 memoryFootprint = static_cast<size_t>(info.ki_rssize) * vmPageSize();
855 double percentInUse = static_cast<double>(memoryFootprint) / static_cast<double>(availableMemory());
859 [FILE:1075:patches/patch-Source_cmake_OptionsCommon.cmake]
860 Using the T option of GNU ar lead to malformed .a archive on NetBSD. Disable it.
862 --- Source/cmake/OptionsCommon.cmake.orig 2021-02-26 09:57:17 UTC
863 +++ Source/cmake/OptionsCommon.cmake
864 @@ -14,10 +14,10 @@ if (USE_THIN_ARCHIVES)
865 elseif ("${AR_ERROR}")
866 message(WARNING "Error from `ar`: ${AR_ERROR}")
867 elseif ("${AR_VERSION}" MATCHES "^GNU ar")
868 - set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>")
869 - set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>")
870 - set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>")
871 - set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>")
872 + set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
873 + set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
874 + set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
875 + set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
881 [FILE:520:patches/patch-Source_cmake_WebKitCompilerFlags.cmake]
882 --- Source/cmake/WebKitCompilerFlags.cmake.orig 2021-03-25 13:27:32 UTC
883 +++ Source/cmake/WebKitCompilerFlags.cmake
884 @@ -235,7 +235,7 @@ if (NOT MSVC)
885 string(REGEX MATCHALL "-fsanitize=[^ ]*" ENABLED_COMPILER_SANITIZERS ${CMAKE_CXX_FLAGS})
888 -if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS)
889 +if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
890 set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
895 [FILE:358:patches/patch-Tools_MiniBrowser_gtk_CMakeLists.txt]
896 --- Tools/MiniBrowser/gtk/CMakeLists.txt.orig 2021-02-26 09:57:17 UTC
897 +++ Tools/MiniBrowser/gtk/CMakeLists.txt
898 @@ -42,6 +42,10 @@ set(MiniBrowser_PRIVATE_LIBRARIES
902 +if (CMAKE_SYSTEM_NAME MATCHES "SunOS")
903 + list(APPEND MiniBrowser_PRIVATE_LIBRARIES intl)
906 set(MiniBrowser_DEPENDENCIES