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.4.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.4
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.8
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 00ce2d3f798d7bc5e9039d9059f0c3c974d51de38c8b716f00e94452a177d3fd 23327956 webkitgtk-2.32.4.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-09-16 07:05:37 UTC
444 +++ Source/JavaScriptCore/assembler/ARM64Assembler.h
445 @@ -2943,6 +2943,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:868:patches/patch-Source_WebCore_Modules_fetch_FetchBodyConsumer.cpp]
680 --- Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp.orig 2021-02-26 09:57:10 UTC
681 +++ Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp
683 #include <wtf/StringExtras.h>
684 #include <wtf/URLParser.h>
687 +static void *memmem(
688 + const void *big, size_t big_len,
689 + const void *little, size_t little_len)
691 + const char *bp = (const char *)big;
692 + const char *lp = (const char *)little;
695 + if (big_len < little_len || little_len == 0 || big_len == 0)
698 + while (big_len > 0) {
699 + for (l = 0; l < little_len; l++) {
700 + if (bp[l] != lp[l])
703 + if (l == little_len)
714 static inline Ref<Blob> blobFromData(ScriptExecutionContext* context, const unsigned char* data, unsigned length, const String& contentType)
717 [FILE:610:patches/patch-Source_WebCore_platform_graphics_cpu_arm_filters_FELightingNEON.cpp]
718 --- Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp.orig 2021-02-26 09:57:13 UTC
719 +++ Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
720 @@ -403,7 +403,7 @@ TOSTRING(neonDrawLighting) ":" NL
721 "vmin.f32 " TMP2_D0 ", " TMP2_D0 ", " CONST_ONE_HI_D NL
722 "vmul.f32 " TMP3_Q ", " COLOR_Q ", " TMP2_D0 "[1]" NL
723 "vcvt.u32.f32 " TMP3_Q ", " TMP3_Q NL
724 - "vmov.u32 r2, r3, " TMP3_S0 ", " TMP3_S1 NL
725 + "vmov r2, r3, " TMP3_S0 ", " TMP3_S1 NL
726 // The color values are stored in-place.
727 "strb r2, [" PIXELS_R ", #-11]" NL
728 "strb r3, [" PIXELS_R ", #-10]" NL
731 [FILE:328:patches/patch-Source_WebCore_platform_network_DNS.h]
732 --- Source/WebCore/platform/network/DNS.h.orig 2021-02-26 09:57:13 UTC
733 +++ Source/WebCore/platform/network/DNS.h
735 #include <ws2tcpip.h>
737 #include <netinet/in.h>
738 +# if defined __DragonFly__ || defined __FreeBSD__ || defined __sun__
739 +# include <sys/socket.h>
743 #include <wtf/Forward.h>
746 [FILE:336:patches/patch-Source_WebDriver_PlatformGTK.cmake]
747 --- Source/WebDriver/PlatformGTK.cmake.orig 2021-02-26 09:57:15 UTC
748 +++ Source/WebDriver/PlatformGTK.cmake
749 @@ -5,6 +5,7 @@ add_definitions(-DLIBEXECDIR="${CMAKE_IN
750 list(APPEND WebDriver_SYSTEM_INCLUDE_DIRECTORIES
751 "${GLIB_INCLUDE_DIRS}"
752 "${LIBSOUP_INCLUDE_DIRS}"
753 + "${ICU_INCLUDE_DIRS}"
756 list(APPEND WebDriver_SOURCES
759 [FILE:507:patches/patch-Source_WebKit_CMakeLists.txt]
760 $NetBSD: patch-Source_WebKit_CMakeLists.txt,v 1.1 2018/05/16 18:55:45 jperkin Exp $
762 SunOS requires libsocket.
764 --- Source/WebKit/CMakeLists.txt.orig 2021-03-25 13:27:32 UTC
765 +++ Source/WebKit/CMakeLists.txt
766 @@ -362,6 +362,10 @@ if (UNIX)
770 +if (CMAKE_SYSTEM_NAME MATCHES "SunOS")
771 + list(APPEND WebKit_LIBRARIES socket)
774 macro(ADD_WEBKIT_PREFIX_HEADER _target)
775 if (WebKit_USE_PREFIX_HEADER)
776 get_target_property(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS)
779 [FILE:551:patches/patch-Source_WebKit_PlatformGTK.cmake]
780 --- Source/WebKit/PlatformGTK.cmake.orig 2021-05-05 05:46:35 UTC
781 +++ Source/WebKit/PlatformGTK.cmake
782 @@ -23,7 +23,7 @@ add_definitions(-DLOCALEDIR="${CMAKE_INS
783 add_definitions(-DDATADIR="${CMAKE_INSTALL_FULL_DATADIR}")
784 add_definitions(-DLIBDIR="${LIB_INSTALL_DIR}")
786 -if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
787 +if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin|SunOS")
788 WEBKIT_ADD_TARGET_PROPERTIES(WebKit LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/webkitglib-symbols.map")
793 [FILE:1241:patches/patch-Source_WebKit_Platform_IPC_unix_ConnectionUnix.cpp]
794 $NetBSD: patch-Source_WebKit_Platform_IPC_unix_ConnectionUnix.cpp,v 1.3 2021/01/12 15:21:31 jperkin Exp $
796 On NetBSD we see "Error sending IPC message: Message too long" due to
797 the use of sendmsg with a large message body (EMSGSIZE).
799 WebKit already uses shared memory to communicate the message body when
800 the message is too large, so force it to always use this method to avoid
801 encountering EMSGSIZE.
803 --- Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp.orig 2021-02-26 09:57:15 UTC
804 +++ Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp
807 #endif // SOCK_SEQPACKET
809 +#ifndef MSG_NOSIGNAL
810 +#define MSG_NOSIGNAL 0
815 static const size_t messageMaxSize = 4096;
816 @@ -434,8 +438,12 @@ bool Connection::sendOutgoingMessage(std
821 size_t messageSizeWithBodyInline = sizeof(MessageInfo) + (outputMessage.attachments().size() * sizeof(AttachmentInfo)) + outputMessage.bodySize();
822 if (messageSizeWithBodyInline > messageMaxSize && outputMessage.bodySize()) {
826 RefPtr<WebKit::SharedMemory> oolMessageBody = WebKit::SharedMemory::allocate(encoder->bufferSize());
831 [FILE:792:patches/patch-Source_WebKit_Platform_unix_SharedMemoryUnix.cpp]
832 --- Source/WebKit/Platform/unix/SharedMemoryUnix.cpp.orig 2021-02-26 09:57:15 UTC
833 +++ Source/WebKit/Platform/unix/SharedMemoryUnix.cpp
834 @@ -147,7 +147,13 @@ static int createSharedMemory()
837 for (int tries = 0; fileDescriptor == -1 && tries < 10; ++tries) {
838 - String name = String("/WK2SharedMemory.") + String::number(static_cast<unsigned>(WTF::randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)));
840 +#ifdef __DragonFly__
841 + String("/tmp/WK2SharedMemory.")
843 + String("/WK2SharedMemory.")
845 + + String::number(static_cast<unsigned>(WTF::randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)));
846 tempName = name.utf8();
851 [FILE:1374:patches/patch-Source_bmalloc_bmalloc_AvailableMemory.cpp]
852 Add DragonFly support
853 FreeBSD 11 doesn't have sysinfo.h like DragonFly doesn't
855 --- Source/bmalloc/bmalloc/AvailableMemory.cpp.orig 2021-02-26 09:57:17 UTC
856 +++ Source/bmalloc/bmalloc/AvailableMemory.cpp
861 +#elif defined(__DragonFly__)
862 +#include "VMAllocate.h"
863 +#include <sys/sysctl.h>
864 +#include <sys/kinfo.h>
865 +#include <sys/types.h>
866 +#include <sys/user.h>
868 #include "VMAllocate.h"
869 #include <sys/sysctl.h>
870 -#include <sys/sysinfo.h>
871 #include <sys/types.h>
872 #include <sys/user.h>
874 @@ -169,7 +174,7 @@ static size_t computeAvailableMemory()
875 return ((sizeAccordingToKernel + multiple - 1) / multiple) * multiple;
877 return LinuxMemory::singleton().availableMemory;
882 return info.totalram * info.mem_unit;
883 @@ -223,7 +228,11 @@ MemoryStatus memoryStatus()
885 size_t memoryFootprint = 0;
886 if (!sysctl(mib, 4, &info, &infolen, nullptr, 0))
887 +# ifdef __DragonFly__
888 + memoryFootprint = static_cast<size_t>(info.kp_vm_rssize) * vmPageSize();
890 memoryFootprint = static_cast<size_t>(info.ki_rssize) * vmPageSize();
893 double percentInUse = static_cast<double>(memoryFootprint) / static_cast<double>(availableMemory());
897 [FILE:1075:patches/patch-Source_cmake_OptionsCommon.cmake]
898 Using the T option of GNU ar lead to malformed .a archive on NetBSD. Disable it.
900 --- Source/cmake/OptionsCommon.cmake.orig 2021-02-26 09:57:17 UTC
901 +++ Source/cmake/OptionsCommon.cmake
902 @@ -14,10 +14,10 @@ if (USE_THIN_ARCHIVES)
903 elseif ("${AR_ERROR}")
904 message(WARNING "Error from `ar`: ${AR_ERROR}")
905 elseif ("${AR_VERSION}" MATCHES "^GNU ar")
906 - set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>")
907 - set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>")
908 - set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>")
909 - set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>")
910 + set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
911 + set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
912 + set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
913 + set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
919 [FILE:520:patches/patch-Source_cmake_WebKitCompilerFlags.cmake]
920 --- Source/cmake/WebKitCompilerFlags.cmake.orig 2021-03-25 13:27:32 UTC
921 +++ Source/cmake/WebKitCompilerFlags.cmake
922 @@ -235,7 +235,7 @@ if (NOT MSVC)
923 string(REGEX MATCHALL "-fsanitize=[^ ]*" ENABLED_COMPILER_SANITIZERS ${CMAKE_CXX_FLAGS})
926 -if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS)
927 +if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
928 set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
933 [FILE:358:patches/patch-Tools_MiniBrowser_gtk_CMakeLists.txt]
934 --- Tools/MiniBrowser/gtk/CMakeLists.txt.orig 2021-02-26 09:57:17 UTC
935 +++ Tools/MiniBrowser/gtk/CMakeLists.txt
936 @@ -42,6 +42,10 @@ set(MiniBrowser_PRIVATE_LIBRARIES
940 +if (CMAKE_SYSTEM_NAME MATCHES "SunOS")
941 + list(APPEND MiniBrowser_PRIVATE_LIBRARIES intl)
944 set(MiniBrowser_DEPENDENCIES