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.30.6.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.30.6
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.17.14
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 -DSUPPRESS_ASSERT:BOOL=ON
81 -DUSE_SYSTEMD:BOOL=OFF
82 -DUSE_GSTREAMER_GL:BOOL=OFF
83 VAR_OPSYS[sunos]= CMAKE_ARGS=-DUSE_LD_GOLD:BOOL=OFF
85 [GTK3].DESCRIPTION= Build GTK+3 variant
86 [GTK3].MAKEFILE_ON= BROWSER_PLUGIN_DIR={{LOCALBASE}}/lib/browser_plugins/symlinks/webkit-gtk3
89 ${REINPLACE_CMD} -e 's|/usr/lib/browser/plugins|${BROWSER_PLUGINS_DIR}|' \
90 ${WRKSRC}/Source/WebKit/Shared/Plugins/unix/PluginSearchPath.cpp
91 echo 'add_compile_definitions("U_DEFINE_FALSE_AND_TRUE=1")' \
92 >> ${WRKSRC}/Source/WTF/wtf/CMakeLists.txt
95 (cd ${STAGEDIR}${PREFIX}/bin && \
96 ${LN} -s ../libexec/webkit2gtk-4.0/jsc jsc-4 && \
97 ${LN} -s ../libexec/webkit2gtk-4.0/MiniBrowser MiniBrowser-4)
98 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so.*.*
99 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/webkit2gtk-4.0/injected-bundle/*.so
100 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/webkit2gtk-4.0/*
101 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/WebKitWebDriver
104 ${REINPLACE_CMD} -e '/USE_FILE_LOCK/ s|1|0|' \
105 ${WRKSRC}/Source/WTF/wtf/PlatformUse.h \
106 ${WRKSRC}/Source/WebCore/config.h
108 [FILE:576:descriptions/desc.primary]
109 WebKitGTK+ is a full-featured port of the WebKit rendering engine, suitable
110 for projects requiring any kind of web integration, from hybrid HTML/CSS
111 applications to full-fledged web browsers. It offers WebKit's full
112 functionality and is useful in a wide range of systems from desktop
113 computers to embedded systems like phones, tablets, and televisions.
115 WebKitGTK+ is made by a lively community of developers and designers,
116 who hope to bring the web platform to everyone. It's the official web
117 engine of the GNOME platform and is used in browsers such as Epiphany
122 50736ec7a91770b5939d715196e5fe7209b93efcdeef425b24dc51fb8e9d7c1e 22311524 webkitgtk-2.30.6.tar.xz
125 [FILE:6319:manifests/plist.primary]
127 MiniBrowser-%%WKAPIMAJOR%%
130 include/webkitgtk-%%WKAPI%%/JavaScriptCore/
139 include/webkitgtk-%%WKAPI%%/jsc/
151 include/webkitgtk-%%WKAPI%%/webkit2/
152 WebKitApplicationInfo.h
153 WebKitAuthenticationRequest.h
155 WebKitAutomationSession.h
156 WebKitBackForwardList.h
157 WebKitBackForwardListItem.h
158 WebKitColorChooserRequest.h
159 WebKitConsoleMessage.h
161 WebKitContextMenuActions.h
162 WebKitContextMenuItem.h
163 WebKitCookieManager.h
166 WebKitDeviceInfoPermissionRequest.h
168 WebKitEditingCommands.h
172 WebKitFaviconDatabase.h
173 WebKitFileChooserRequest.h
174 WebKitFindController.h
175 WebKitFormSubmissionRequest.h
176 WebKitForwardDeclarations.h
178 WebKitGeolocationManager.h
179 WebKitGeolocationPermissionRequest.h
180 WebKitHitTestResult.h
181 WebKitInputMethodContext.h
182 WebKitInstallMissingMediaPluginsPermissionRequest.h
183 WebKitJavascriptResult.h
185 WebKitNavigationAction.h
186 WebKitNavigationPolicyDecision.h
187 WebKitNetworkProxySettings.h
189 WebKitNotificationPermissionRequest.h
191 WebKitOptionMenuItem.h
192 WebKitPermissionRequest.h
194 WebKitPointerLockPermissionRequest.h
195 WebKitPolicyDecision.h
196 WebKitPrintCustomWidget.h
197 WebKitPrintOperation.h
198 WebKitResponsePolicyDecision.h
201 WebKitSecurityManager.h
202 WebKitSecurityOrigin.h
206 WebKitURISchemeRequest.h
209 WebKitUserContentFilterStore.h
210 WebKitUserContentManager.h
211 WebKitUserMediaPermissionRequest.h
217 WebKitWebExtensionAutocleanups.h
218 WebKitWebHitTestResult.h
221 WebKitWebProcessEnumTypes.h
225 WebKitWebViewSessionState.h
227 WebKitWebsiteDataAccessPermissionRequest.h
228 WebKitWebsiteDataManager.h
229 WebKitWebsitePolicies.h
230 WebKitWindowProperties.h
231 webkit-web-extension.h
233 include/webkitgtk-%%WKAPI%%/webkitdom/
236 WebKitDOMCDATASection.h
238 WebKitDOMCSSRuleList.h
239 WebKitDOMCSSStyleDeclaration.h
240 WebKitDOMCSSStyleSheet.h
242 WebKitDOMCharacterData.h
243 WebKitDOMClientRect.h
244 WebKitDOMClientRectList.h
247 WebKitDOMCustomUnstable.h
248 WebKitDOMDOMImplementation.h
249 WebKitDOMDOMSelection.h
250 WebKitDOMDOMTokenList.h
252 WebKitDOMDOMWindowUnstable.h
253 WebKitDOMDeprecated.h
255 WebKitDOMDocumentFragment.h
256 WebKitDOMDocumentFragmentUnstable.h
257 WebKitDOMDocumentType.h
258 WebKitDOMDocumentUnstable.h
260 WebKitDOMElementUnstable.h
262 WebKitDOMEventTarget.h
265 WebKitDOMHTMLAnchorElement.h
266 WebKitDOMHTMLAppletElement.h
267 WebKitDOMHTMLAreaElement.h
268 WebKitDOMHTMLBRElement.h
269 WebKitDOMHTMLBaseElement.h
270 WebKitDOMHTMLBodyElement.h
271 WebKitDOMHTMLButtonElement.h
272 WebKitDOMHTMLCanvasElement.h
273 WebKitDOMHTMLCollection.h
274 WebKitDOMHTMLDListElement.h
275 WebKitDOMHTMLDirectoryElement.h
276 WebKitDOMHTMLDivElement.h
277 WebKitDOMHTMLDocument.h
278 WebKitDOMHTMLElement.h
279 WebKitDOMHTMLElementUnstable.h
280 WebKitDOMHTMLEmbedElement.h
281 WebKitDOMHTMLFieldSetElement.h
282 WebKitDOMHTMLFontElement.h
283 WebKitDOMHTMLFormElement.h
284 WebKitDOMHTMLFrameElement.h
285 WebKitDOMHTMLFrameSetElement.h
286 WebKitDOMHTMLHRElement.h
287 WebKitDOMHTMLHeadElement.h
288 WebKitDOMHTMLHeadingElement.h
289 WebKitDOMHTMLHtmlElement.h
290 WebKitDOMHTMLIFrameElement.h
291 WebKitDOMHTMLImageElement.h
292 WebKitDOMHTMLInputElement.h
293 WebKitDOMHTMLLIElement.h
294 WebKitDOMHTMLLabelElement.h
295 WebKitDOMHTMLLegendElement.h
296 WebKitDOMHTMLLinkElement.h
297 WebKitDOMHTMLMapElement.h
298 WebKitDOMHTMLMarqueeElement.h
299 WebKitDOMHTMLMenuElement.h
300 WebKitDOMHTMLMetaElement.h
301 WebKitDOMHTMLModElement.h
302 WebKitDOMHTMLOListElement.h
303 WebKitDOMHTMLObjectElement.h
304 WebKitDOMHTMLOptGroupElement.h
305 WebKitDOMHTMLOptionElement.h
306 WebKitDOMHTMLOptionsCollection.h
307 WebKitDOMHTMLParagraphElement.h
308 WebKitDOMHTMLParamElement.h
309 WebKitDOMHTMLPreElement.h
310 WebKitDOMHTMLQuoteElement.h
311 WebKitDOMHTMLScriptElement.h
312 WebKitDOMHTMLSelectElement.h
313 WebKitDOMHTMLStyleElement.h
314 WebKitDOMHTMLTableCaptionElement.h
315 WebKitDOMHTMLTableCellElement.h
316 WebKitDOMHTMLTableColElement.h
317 WebKitDOMHTMLTableElement.h
318 WebKitDOMHTMLTableRowElement.h
319 WebKitDOMHTMLTableSectionElement.h
320 WebKitDOMHTMLTextAreaElement.h
321 WebKitDOMHTMLTitleElement.h
322 WebKitDOMHTMLUListElement.h
323 WebKitDOMKeyboardEvent.h
325 WebKitDOMMouseEvent.h
326 WebKitDOMNamedNodeMap.h
328 WebKitDOMNodeFilter.h
329 WebKitDOMNodeIterator.h
332 WebKitDOMProcessingInstruction.h
334 WebKitDOMRangeUnstable.h
335 WebKitDOMStyleSheet.h
336 WebKitDOMStyleSheetList.h
338 WebKitDOMTreeWalker.h
340 WebKitDOMWheelEvent.h
341 WebKitDOMXPathExpression.h
342 WebKitDOMXPathNSResolver.h
343 WebKitDOMXPathResult.h
345 webkitdomautocleanups.h
348 libjavascriptcoregtk-%%WKAPI%%.so
349 libjavascriptcoregtk-%%WKAPI%%.so.%%JSSOMAJOR%%
350 libjavascriptcoregtk-%%WKAPI%%.so.%%JSSOVERSION%%
351 libwebkit2gtk-%%WKAPI%%.so
352 libwebkit2gtk-%%WKAPI%%.so.%%SOMAJOR%%
353 libwebkit2gtk-%%WKAPI%%.so.%%SOVERSION%%
354 lib/girepository-1.0/
355 JavaScriptCore-%%WKAPI%%.typelib
356 WebKit2-%%WKAPI%%.typelib
357 WebKit2WebExtension-%%WKAPI%%.typelib
359 javascriptcoregtk-%%WKAPI%%.pc
360 webkit2gtk-%%WKAPI%%.pc
361 webkit2gtk-web-extension-%%WKAPI%%.pc
362 lib/webkit2gtk-%%WKAPI%%/injected-bundle/libwebkit2gtkinjectedbundle.so
363 libexec/webkit2gtk-%%WKAPI%%/
370 JavaScriptCore-%%WKAPI%%.gir
371 WebKit2-%%WKAPI%%.gir
372 WebKit2WebExtension-%%WKAPI%%.gir
375 [FILE:2566:manifests/plist.nls]
376 share/locale/ar/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
377 share/locale/as/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
378 share/locale/bg/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
379 share/locale/ca/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
380 share/locale/cs/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
381 share/locale/da/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
382 share/locale/de/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
383 share/locale/el/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
384 share/locale/en_CA/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
385 share/locale/en_GB/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
386 share/locale/eo/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
387 share/locale/es/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
388 share/locale/et/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
389 share/locale/eu/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
390 share/locale/fi/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
391 share/locale/fr/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
392 share/locale/gl/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
393 share/locale/gu/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
394 share/locale/he/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
395 share/locale/hi/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
396 share/locale/hu/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
397 share/locale/id/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
398 share/locale/it/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
399 share/locale/ja/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
400 share/locale/kn/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
401 share/locale/ko/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
402 share/locale/lt/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
403 share/locale/lv/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
404 share/locale/ml/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
405 share/locale/mr/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
406 share/locale/nb/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
407 share/locale/nl/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
408 share/locale/or/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
409 share/locale/pa/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
410 share/locale/pl/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
411 share/locale/pt/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
412 share/locale/pt_BR/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
413 share/locale/ro/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
414 share/locale/ru/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
415 share/locale/sl/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
416 share/locale/sr/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
417 share/locale/sr@latin/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
418 share/locale/sv/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
419 share/locale/ta/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
420 share/locale/te/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
421 share/locale/tr/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
422 share/locale/uk/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
423 share/locale/vi/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
424 share/locale/zh_CN/LC_MESSAGES/WebKit2GTK-%%WKAPI%%.mo
427 [FILE:433:patches/patch-CMakeLists.txt]
428 --- CMakeLists.txt.orig 2020-08-12 09:17:37 UTC
430 @@ -179,6 +179,11 @@ if (ENABLE_API_TESTS)
434 +if (SUPPRESS_ASSERT)
435 + add_definitions(-DNDEBUG=1)
436 + add_definitions(-D__OPTIMIZE__)
439 # -----------------------------------------------------------------------------
440 # Add module directories
441 # -----------------------------------------------------------------------------
444 [FILE:534:patches/patch-Source_JavaScriptCore_assembler_ARM64Assembler.h]
445 --- Source/JavaScriptCore/assembler/ARM64Assembler.h.orig 2021-02-01 09:29:55 UTC
446 +++ Source/JavaScriptCore/assembler/ARM64Assembler.h
447 @@ -2827,6 +2827,8 @@ public:
448 sys_cache_control(kCacheFunctionPrepareForExecution, code, size);
450 zx_cache_flush(code, size, ZX_CACHE_FLUSH_INSN);
451 +#elif OS(FREEBSD) || OS(NETBSD)
452 + __clear_cache(code, reinterpret_cast<char*>(code) + size);
454 size_t page = pageSize();
455 uintptr_t current = reinterpret_cast<uintptr_t>(code);
458 [FILE:597:patches/patch-Source_ThirdParty_ANGLE_src_common_aligned__memory.cpp]
459 --- Source/ThirdParty/ANGLE/src/common/aligned_memory.cpp.orig 2020-08-12 09:17:53 UTC
460 +++ Source/ThirdParty/ANGLE/src/common/aligned_memory.cpp
461 @@ -33,7 +33,7 @@ void *AlignedAlloc(size_t size, size_t a
462 // memalign() on Android returns pointers which can safely be used with
463 // free(), so we can use it instead. Issue filed to document this:
464 // http://code.google.com/p/android/issues/detail?id=35391
465 -#elif defined(ANGLE_PLATFORM_ANDROID)
466 +#elif defined(ANGLE_PLATFORM_ANDROID) || defined(__sun__)
467 ptr = memalign(alignment, size);
469 if (posix_memalign(&ptr, alignment, size))
472 [FILE:506:patches/patch-Source_ThirdParty_ANGLE_src_common_third__party_smhasher_src_PMurHash.cpp]
473 --- Source/ThirdParty/ANGLE/src/common/third_party/smhasher/src/PMurHash.cpp.orig 2020-08-12 09:17:53 UTC
474 +++ Source/ThirdParty/ANGLE/src/common/third_party/smhasher/src/PMurHash.cpp
475 @@ -48,6 +48,9 @@ on big endian machines, or a byte-by-byt
476 -----------------------------------------------------------------------------*/
478 #include "PMurHash.h"
480 +#define __BYTE_ORDER __LITTLE_ENDIAN
484 /* I used ugly type names in the header to avoid potential conflicts with
487 [FILE:561:patches/patch-Source_WTF_wtf_Assertions.h]
488 $NetBSD: patch-Source_WTF_wtf_Assertions.h,v 1.1 2021/01/12 15:21:31 jperkin Exp $
490 Use regular static_assert on SunOS.
492 --- Source/WTF/wtf/Assertions.h.orig 2020-08-12 09:17:54 UTC
493 +++ Source/WTF/wtf/Assertions.h
494 @@ -452,7 +452,7 @@ constexpr bool assertionFailureDueToUnre
497 #ifndef COMPILE_ASSERT
498 -#if COMPILER_SUPPORTS(C_STATIC_ASSERT)
499 +#if COMPILER_SUPPORTS(C_STATIC_ASSERT) && !defined(__sun)
500 /* Unlike static_assert below, this also works in plain C code. */
501 #define COMPILE_ASSERT(exp, name) _Static_assert((exp), #name)
505 [FILE:638:patches/patch-Source_WTF_wtf_FastMalloc.cpp]
506 --- Source/WTF/wtf/FastMalloc.cpp.orig 2020-08-12 09:17:54 UTC
507 +++ Source/WTF/wtf/FastMalloc.cpp
508 @@ -160,7 +160,11 @@ void* fastAlignedMalloc(size_t alignment
510 ASSERT_IS_WITHIN_LIMIT(size);
513 + p = memalign(alignment, size);
515 posix_memalign(&p, alignment, size);
520 @@ -170,7 +174,11 @@ void* tryFastAlignedMalloc(size_t alignm
522 FAIL_IF_EXCEEDS_LIMIT(size);
525 + p = memalign(alignment, size);
527 posix_memalign(&p, alignment, size);
534 [FILE:502:patches/patch-Source_WTF_wtf_FileSystem.cpp]
535 $NetBSD: patch-Source_WTF_wtf_FileSystem.cpp,v 1.3 2020/09/11 14:47:35 leot Exp $
537 Support MAP_FILE if unavailable.
539 --- Source/WTF/wtf/FileSystem.cpp.orig 2020-08-12 09:17:54 UTC
540 +++ Source/WTF/wtf/FileSystem.cpp
541 @@ -339,6 +339,9 @@ bool MappedFileData::mapFileHandle(Platf
548 void* data = mmap(0, size, pageProtection, MAP_FILE | (mapMode == MappedFileMode::Shared ? MAP_SHARED : MAP_PRIVATE), fd, 0);
550 if (data == MAP_FAILED) {
553 [FILE:534:patches/patch-Source_WTF_wtf_MemoryPressureHandler.cpp]
554 --- Source/WTF/wtf/MemoryPressureHandler.cpp.orig 2020-08-12 09:17:54 UTC
555 +++ Source/WTF/wtf/MemoryPressureHandler.cpp
556 @@ -53,7 +53,7 @@ MemoryPressureHandler& MemoryPressureHan
559 MemoryPressureHandler::MemoryPressureHandler()
560 -#if OS(LINUX) || OS(FREEBSD)
561 +#if OS(LINUX) || OS(FREEBSD) || defined(__DragonFly__)
562 : m_holdOffTimer(RunLoop::main(), this, &MemoryPressureHandler::holdOffTimerFired)
564 : m_windowsMeasurementTimer(RunLoop::main(), this, &MemoryPressureHandler::windowsMeasurementTimerFired)
567 [FILE:644:patches/patch-Source_WTF_wtf_MemoryPressureHandler.h]
568 --- Source/WTF/wtf/MemoryPressureHandler.h.orig 2020-08-12 09:17:54 UTC
569 +++ Source/WTF/wtf/MemoryPressureHandler.h
570 @@ -66,7 +66,7 @@ public:
572 WTF_EXPORT_PRIVATE void setShouldUsePeriodicMemoryMonitor(bool);
574 -#if OS(LINUX) || OS(FREEBSD)
575 +#if OS(LINUX) || OS(FREEBSD) || defined(__DragonFly__)
576 WTF_EXPORT_PRIVATE void triggerMemoryPressureEvent(bool isCritical);
579 @@ -200,7 +200,7 @@ private:
580 Win32Handle m_lowMemoryHandle;
583 -#if OS(LINUX) || OS(FREEBSD)
584 +#if OS(LINUX) || OS(FREEBSD) || defined(__DragonFly__)
585 RunLoop::Timer<MemoryPressureHandler> m_holdOffTimer;
586 void holdOffTimerFired();
590 [FILE:326:patches/patch-Source_WTF_wtf_NumberOfCores.cpp]
591 --- Source/WTF/wtf/NumberOfCores.cpp.orig 2020-08-12 09:17:54 UTC
592 +++ Source/WTF/wtf/NumberOfCores.cpp
595 #include <sys/sysctl.h>
596 #elif OS(LINUX) || OS(AIX) || OS(OPENBSD) || OS(NETBSD) || OS(FREEBSD)
597 +#include <stdio.h> // sscanf
603 [FILE:390:patches/patch-Source_WTF_wtf_PlatformGTK.cmake]
604 --- Source/WTF/wtf/PlatformGTK.cmake.orig 2020-08-12 09:17:54 UTC
605 +++ Source/WTF/wtf/PlatformGTK.cmake
606 @@ -50,7 +50,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "Linux")
608 unix/MemoryPressureHandlerUnix.cpp
610 -elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
611 +elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD|DragonFly")
612 list(APPEND WTF_SOURCES
613 generic/MemoryFootprintGeneric.cpp
617 [FILE:599:patches/patch-Source_WTF_wtf_RAMSize.cpp]
618 --- Source/WTF/wtf/RAMSize.cpp.orig 2020-08-12 09:17:54 UTC
619 +++ Source/WTF/wtf/RAMSize.cpp
622 #include <sys/sysinfo.h>
625 +# include <unistd.h>
628 #include <bmalloc/bmalloc.h>
630 @@ -58,6 +61,8 @@ static size_t computeRAMSize()
633 return si.totalram * si.mem_unit;
634 +#elif defined __sun__
635 + return (sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE));
637 #error "Missing a platform specific way of determining the available RAM"
638 #endif // OS(LINUX) || OS(FREEBSD)
641 [FILE:582:patches/patch-Source_WTF_wtf_StackBounds.cpp]
642 $NetBSD: patch-Source_WTF_wtf_StackBounds.cpp,v 1.2 2018/10/24 18:31:07 leot Exp $
644 SunOS does not have pthread_getattr_np.
646 --- Source/WTF/wtf/StackBounds.cpp.orig 2020-08-12 09:17:54 UTC
647 +++ Source/WTF/wtf/StackBounds.cpp
648 @@ -90,6 +90,7 @@ StackBounds StackBounds::newThreadStackB
649 #if HAVE(PTHREAD_NP_H) || OS(NETBSD)
650 // e.g. on FreeBSD 5.4, neundorf@kde.org
651 pthread_attr_get_np(thread, &sattr);
652 +#elif defined(__sun__)
654 // FIXME: this function is non-portable; other POSIX systems may have different np alternatives
655 pthread_getattr_np(thread, &sattr);
658 [FILE:1426:patches/patch-Source_WTF_wtf_unix_MemoryPressureHandlerUnix.cpp]
659 --- Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cpp.orig 2020-08-12 09:17:54 UTC
660 +++ Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cpp
663 #include <wtf/MemoryPressureHandler.h>
665 +#if OS(FREEBSD) || defined(__DragonFly__)
671 #include <wtf/MainThread.h>
672 #include <wtf/MemoryFootprint.h>
676 #include <wtf/linux/CurrentProcessMemoryStatus.h>
678 +#elif OS(FREEBSD) || defined(__DragonFly__)
679 #include <sys/sysctl.h>
680 #include <sys/types.h>
681 #include <sys/user.h>
682 @@ -116,7 +120,7 @@ static size_t processMemoryUsage()
683 ProcessMemoryStatus memoryStatus;
684 currentProcessMemoryStatus(memoryStatus);
685 return (memoryStatus.resident - memoryStatus.shared);
687 +#elif OS(FREEBSD) || defined(__DragonFly__)
688 static size_t pageSize = sysconf(_SC_PAGE_SIZE);
689 struct kinfo_proc info;
690 size_t infolen = sizeof(info);
691 @@ -130,7 +134,11 @@ static size_t processMemoryUsage()
692 if (sysctl(mib, 4, &info, &infolen, nullptr, 0))
695 +# ifdef __DragonFly__
696 + return static_cast<size_t>(info.kp_vm_rssize - info.kp_vm_tsize) * pageSize;
698 return static_cast<size_t>(info.ki_rssize - info.ki_tsize) * pageSize;
701 #error "Missing a platform specific way of determining the memory usage"
705 [FILE:610:patches/patch-Source_WebCore_platform_graphics_cpu_arm_filters_FELightingNEON.cpp]
706 --- Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp.orig 2020-08-12 09:17:55 UTC
707 +++ Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
708 @@ -403,7 +403,7 @@ TOSTRING(neonDrawLighting) ":" NL
709 "vmin.f32 " TMP2_D0 ", " TMP2_D0 ", " CONST_ONE_HI_D NL
710 "vmul.f32 " TMP3_Q ", " COLOR_Q ", " TMP2_D0 "[1]" NL
711 "vcvt.u32.f32 " TMP3_Q ", " TMP3_Q NL
712 - "vmov.u32 r2, r3, " TMP3_S0 ", " TMP3_S1 NL
713 + "vmov r2, r3, " TMP3_S0 ", " TMP3_S1 NL
714 // The color values are stored in-place.
715 "strb r2, [" PIXELS_R ", #-11]" NL
716 "strb r3, [" PIXELS_R ", #-10]" NL
719 [FILE:396:patches/patch-Source_WebCore_platform_graphics_egl_GLContextEGL.cpp]
720 --- Source/WebCore/platform/graphics/egl/GLContextEGL.cpp.orig 2020-08-12 09:17:55 UTC
721 +++ Source/WebCore/platform/graphics/egl/GLContextEGL.cpp
723 #include "OpenGLShims.h"
726 +#include <X11/Xlib.h>
728 #if ENABLE(ACCELERATED_2D_CANVAS)
729 // cairo-gl.h includes some definitions from GLX that conflict with
730 // the ones provided by us. Since GLContextEGL doesn't use any GLX
733 [FILE:328:patches/patch-Source_WebCore_platform_network_DNS.h]
734 --- Source/WebCore/platform/network/DNS.h.orig 2020-08-12 09:17:55 UTC
735 +++ Source/WebCore/platform/network/DNS.h
737 #include <ws2tcpip.h>
739 #include <netinet/in.h>
740 +# if defined __DragonFly__ || defined __FreeBSD__ || defined __sun__
741 +# include <sys/socket.h>
745 #include <wtf/Forward.h>
748 [FILE:336:patches/patch-Source_WebDriver_PlatformGTK.cmake]
749 --- Source/WebDriver/PlatformGTK.cmake.orig 2020-08-12 09:17:56 UTC
750 +++ Source/WebDriver/PlatformGTK.cmake
751 @@ -5,6 +5,7 @@ add_definitions(-DLIBEXECDIR="${CMAKE_IN
752 list(APPEND WebDriver_SYSTEM_INCLUDE_DIRECTORIES
753 "${GLIB_INCLUDE_DIRS}"
754 "${LIBSOUP_INCLUDE_DIRS}"
755 + "${ICU_INCLUDE_DIRS}"
758 list(APPEND WebDriver_SOURCES
761 [FILE:507:patches/patch-Source_WebKit_CMakeLists.txt]
762 $NetBSD: patch-Source_WebKit_CMakeLists.txt,v 1.1 2018/05/16 18:55:45 jperkin Exp $
764 SunOS requires libsocket.
766 --- Source/WebKit/CMakeLists.txt.orig 2021-02-01 09:22:03 UTC
767 +++ Source/WebKit/CMakeLists.txt
768 @@ -353,6 +353,10 @@ if (UNIX)
772 +if (CMAKE_SYSTEM_NAME MATCHES "SunOS")
773 + list(APPEND WebKit_LIBRARIES socket)
776 macro(ADD_WEBKIT_PREFIX_HEADER _target)
777 if (WebKit_USE_PREFIX_HEADER)
778 get_target_property(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS)
781 [FILE:551:patches/patch-Source_WebKit_PlatformGTK.cmake]
782 --- Source/WebKit/PlatformGTK.cmake.orig 2021-02-01 09:28:25 UTC
783 +++ Source/WebKit/PlatformGTK.cmake
784 @@ -24,7 +24,7 @@ add_definitions(-DLOCALEDIR="${CMAKE_INS
785 add_definitions(-DDATADIR="${CMAKE_INSTALL_FULL_DATADIR}")
786 add_definitions(-DLIBDIR="${LIB_INSTALL_DIR}")
788 -if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
789 +if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin|SunOS")
790 WEBKIT_ADD_TARGET_PROPERTIES(WebKit LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/webkitglib-symbols.map")
795 [FILE:1241:patches/patch-Source_WebKit_Platform_IPC_unix_ConnectionUnix.cpp]
796 $NetBSD: patch-Source_WebKit_Platform_IPC_unix_ConnectionUnix.cpp,v 1.3 2021/01/12 15:21:31 jperkin Exp $
798 On NetBSD we see "Error sending IPC message: Message too long" due to
799 the use of sendmsg with a large message body (EMSGSIZE).
801 WebKit already uses shared memory to communicate the message body when
802 the message is too large, so force it to always use this method to avoid
803 encountering EMSGSIZE.
805 --- Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp.orig 2020-08-12 09:17:56 UTC
806 +++ Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp
809 #endif // SOCK_SEQPACKET
811 +#ifndef MSG_NOSIGNAL
812 +#define MSG_NOSIGNAL 0
817 static const size_t messageMaxSize = 4096;
818 @@ -417,8 +421,12 @@ bool Connection::sendOutgoingMessage(std
823 size_t messageSizeWithBodyInline = sizeof(MessageInfo) + (outputMessage.attachments().size() * sizeof(AttachmentInfo)) + outputMessage.bodySize();
824 if (messageSizeWithBodyInline > messageMaxSize && outputMessage.bodySize()) {
828 RefPtr<WebKit::SharedMemory> oolMessageBody = WebKit::SharedMemory::allocate(encoder->bufferSize());
833 [FILE:792:patches/patch-Source_WebKit_Platform_unix_SharedMemoryUnix.cpp]
834 --- Source/WebKit/Platform/unix/SharedMemoryUnix.cpp.orig 2020-08-12 09:17:56 UTC
835 +++ Source/WebKit/Platform/unix/SharedMemoryUnix.cpp
836 @@ -137,7 +137,13 @@ static int createSharedMemory()
839 for (int tries = 0; fileDescriptor == -1 && tries < 10; ++tries) {
840 - String name = String("/WK2SharedMemory.") + String::number(static_cast<unsigned>(WTF::randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)));
842 +#ifdef __DragonFly__
843 + String("/tmp/WK2SharedMemory.")
845 + String("/WK2SharedMemory.")
847 + + String::number(static_cast<unsigned>(WTF::randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)));
848 tempName = name.utf8();
853 [FILE:1374:patches/patch-Source_bmalloc_bmalloc_AvailableMemory.cpp]
854 Add DragonFly support
855 FreeBSD 11 doesn't have sysinfo.h like DragonFly doesn't
857 --- Source/bmalloc/bmalloc/AvailableMemory.cpp.orig 2020-08-12 09:17:57 UTC
858 +++ Source/bmalloc/bmalloc/AvailableMemory.cpp
863 +#elif defined(__DragonFly__)
864 +#include "VMAllocate.h"
865 +#include <sys/sysctl.h>
866 +#include <sys/kinfo.h>
867 +#include <sys/types.h>
868 +#include <sys/user.h>
870 #include "VMAllocate.h"
871 #include <sys/sysctl.h>
872 -#include <sys/sysinfo.h>
873 #include <sys/types.h>
874 #include <sys/user.h>
876 @@ -169,7 +174,7 @@ static size_t computeAvailableMemory()
877 return ((sizeAccordingToKernel + multiple - 1) / multiple) * multiple;
879 return LinuxMemory::singleton().availableMemory;
884 return info.totalram * info.mem_unit;
885 @@ -223,7 +228,11 @@ MemoryStatus memoryStatus()
887 size_t memoryFootprint = 0;
888 if (!sysctl(mib, 4, &info, &infolen, nullptr, 0))
889 +# ifdef __DragonFly__
890 + memoryFootprint = static_cast<size_t>(info.kp_vm_rssize) * vmPageSize();
892 memoryFootprint = static_cast<size_t>(info.ki_rssize) * vmPageSize();
895 double percentInUse = static_cast<double>(memoryFootprint) / static_cast<double>(availableMemory());
899 [FILE:1183:patches/patch-Source_cmake_OptionsCommon.cmake]
900 $NetBSD: patch-Source_cmake_OptionsCommon.cmake,v 1.4 2018/04/09 08:33:48 wiz Exp $
902 Using the T option of GNU ar lead to malformed .a archive on NetBSD. Disable it.
904 --- Source/cmake/OptionsCommon.cmake.orig 2020-08-12 09:17:57 UTC
905 +++ Source/cmake/OptionsCommon.cmake
906 @@ -9,10 +9,10 @@ option(USE_THIN_ARCHIVES "Produce all st
907 if (USE_THIN_ARCHIVES)
908 execute_process(COMMAND ${CMAKE_AR} -V OUTPUT_VARIABLE AR_VERSION)
909 if ("${AR_VERSION}" MATCHES "^GNU ar")
910 - set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>")
911 - set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>")
912 - set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>")
913 - set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>")
914 + set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
915 + set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
916 + set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
917 + set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
923 [FILE:520:patches/patch-Source_cmake_WebKitCompilerFlags.cmake]
924 --- Source/cmake/WebKitCompilerFlags.cmake.orig 2020-08-12 09:17:57 UTC
925 +++ Source/cmake/WebKitCompilerFlags.cmake
926 @@ -232,7 +232,7 @@ if (NOT MSVC)
927 string(REGEX MATCHALL "-fsanitize=[^ ]*" ENABLED_COMPILER_SANITIZERS ${CMAKE_CXX_FLAGS})
930 -if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS)
931 +if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
932 set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
937 [FILE:358:patches/patch-Tools_MiniBrowser_gtk_CMakeLists.txt]
938 --- Tools/MiniBrowser/gtk/CMakeLists.txt.orig 2020-08-12 09:17:57 UTC
939 +++ Tools/MiniBrowser/gtk/CMakeLists.txt
940 @@ -42,6 +42,10 @@ set(MiniBrowser_PRIVATE_LIBRARIES
944 +if (CMAKE_SYSTEM_NAME MATCHES "SunOS")
945 + list(APPEND MiniBrowser_PRIVATE_LIBRARIES intl)
948 set(MiniBrowser_DEPENDENCIES