git: 3227b809dd69 - main - www/qt6-webengine: NEW PORT
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 14 Jan 2023 12:14:20 UTC
The branch main has been updated by kai: URL: https://cgit.FreeBSD.org/ports/commit/?id=3227b809dd69aa15c0798b4e5ffaa5adc9fe0b98 commit 3227b809dd69aa15c0798b4e5ffaa5adc9fe0b98 Author: Kai Knoblich <kai@FreeBSD.org> AuthorDate: 2023-01-14 12:10:38 +0000 Commit: Kai Knoblich <kai@FreeBSD.org> CommitDate: 2023-01-14 12:10:38 +0000 www/qt6-webengine: NEW PORT The Qt WebEngine module provides a web browser engine that makes it easy to embed content from the World Wide Web into your Qt application on platforms that do not have a native web engine. Qt WebEngine provides C++ classes and QML types for rendering HTML, XHTML, and SVG documents, styled using Cascading Style Sheets (CSS) and scripted with JavaScript. HTML documents can be made fully editable by the user through the use of the contenteditable attribute on HTML elements. Most of the patches were taken from Chromium 102.0.5005.115 (6fbdece63f38) and a small portion also from Chromium 105.0.5195.102 (96b9a69e7010) , which has been required since Qt 6.4.1. In contrast to www/qt5-webengine, some things have changed in the build process: * Python 3.x is used * CMake maintains the whole build process at the top. * devel/binutils is no longer required. At last but not least: Many thanks to madpilot for additional tests and hints and to tcberner for the moral support during the last mile! Reviewed by: madpilot, tcberner (kde) Approved by: fluffy (kde) Differential Revision: https://reviews.freebsd.org/D37859 --- Mk/Uses/qt-dist.mk | 4 +- Mk/Uses/qt.mk | 6 +- www/Makefile | 1 + www/qt6-webengine/Makefile | 142 +++++++ www/qt6-webengine/distinfo | 3 + .../files/extra-patch-i386-compress_files_js | 14 + .../files/extra-patch-no-mempcpy-nasm | 11 + www/qt6-webengine/files/patch-CMakeLists.txt | 15 + .../files/patch-cmake_Functions.cmake | 104 ++++++ www/qt6-webengine/files/patch-configure.cmake | 44 +++ .../files/patch-src_3rdparty_chromium_BUILD.gn | 56 +++ .../patch-src_3rdparty_chromium_base_BUILD.gn | 148 ++++++++ ...tion__allocator_address__space__randomization.h | 20 + ...llocator_partition__allocator_page__allocator.h | 11 + ...rtition__allocator_page__allocator__constants.h | 29 ++ ...__allocator_page__allocator__internals__posix.h | 16 + ...rtition__allocator_partition__address__space.cc | 11 + ...ocator_partition__allocator_partition__alloc.cc | 17 + ...partition__allocator_partition__alloc__config.h | 29 ++ ...tition__allocator_partition__alloc__constants.h | 11 + ...llocator_partition__allocator_partition__page.h | 29 ++ ...locator_partition__allocator_partition__root.cc | 38 ++ ...locator_partition__allocator_spinning__mutex.cc | 47 +++ ...llocator_partition__allocator_spinning__mutex.h | 20 + ...or_partition__allocator_starscan_stack_stack.cc | 50 +++ .../patch-src_3rdparty_chromium_base_atomicops.h | 14 + ...rc_3rdparty_chromium_base_base__paths__posix.cc | 98 +++++ ...ch-src_3rdparty_chromium_base_base__switches.cc | 11 + ...tch-src_3rdparty_chromium_base_base__switches.h | 11 + .../files/patch-src_3rdparty_chromium_base_cpu.h | 11 + ...3rdparty_chromium_base_debug_debugger__posix.cc | 68 ++++ ...src_3rdparty_chromium_base_debug_elf__reader.cc | 18 + ...dparty_chromium_base_debug_proc__maps__linux.cc | 11 + ...arty_chromium_base_debug_stack__trace__posix.cc | 38 ++ ...chromium_base_files_file__path__watcher__bsd.cc | 57 +++ ...mium_base_files_file__path__watcher__freebsd.cc | 64 ++++ ...romium_base_files_file__path__watcher__kqueue.h | 10 + ...dparty_chromium_base_files_file__util__posix.cc | 52 +++ ..._base_files_important__file__writer__cleaner.cc | 12 + ...rc_3rdparty_chromium_base_files_scoped__file.cc | 11 + ...ch-src_3rdparty_chromium_base_i18n_icu__util.cc | 20 + ...patch-src_3rdparty_chromium_base_linux__util.cc | 28 ++ ...rty_chromium_base_memory_discardable__memory.cc | 38 ++ ...ium_base_memory_discardable__memory__internal.h | 11 + ...emory_madv__free__discardable__memory__posix.cc | 21 ++ ..._base_memory_platform__shared__memory__region.h | 29 ++ ...mory_platform__shared__memory__region__posix.cc | 29 ++ ...omium_base_message__loop_message__pump__glib.cc | 28 ++ ...rdparty_chromium_base_native__library__posix.cc | 11 + ...rty_chromium_base_posix_can__lower__nice__to.cc | 16 + ...rty_chromium_base_posix_unix__domain__socket.cc | 39 ++ ...patch-src_3rdparty_chromium_base_process_kill.h | 11 + ...c_3rdparty_chromium_base_process_kill__posix.cc | 11 + ...tch-src_3rdparty_chromium_base_process_launch.h | 11 + ...3rdparty_chromium_base_process_launch__posix.cc | 12 + ...ch-src_3rdparty_chromium_base_process_memory.cc | 20 + ...dparty_chromium_base_process_process__handle.cc | 11 + ...rdparty_chromium_base_process_process__handle.h | 11 + ...romium_base_process_process__handle__freebsd.cc | 25 ++ ...romium_base_process_process__handle__openbsd.cc | 89 +++++ ...mium_base_process_process__iterator__freebsd.cc | 51 +++ ...mium_base_process_process__iterator__openbsd.cc | 45 +++ ...party_chromium_base_process_process__metrics.cc | 47 +++ ...dparty_chromium_base_process_process__metrics.h | 119 ++++++ ...omium_base_process_process__metrics__freebsd.cc | 290 ++++++++++++++ ...omium_base_process_process__metrics__openbsd.cc | 212 +++++++++++ ...hromium_base_process_process__metrics__posix.cc | 20 + ...rdparty_chromium_base_process_process__posix.cc | 93 +++++ ...ofiler_stack__sampling__profiler__test__util.cc | 11 + .../patch-src_3rdparty_chromium_base_rand__util.h | 11 + ...src_3rdparty_chromium_base_rand__util__posix.cc | 52 +++ ...arty_chromium_base_synchronization_lock__impl.h | 23 ++ ...h-src_3rdparty_chromium_base_syslog__logging.cc | 20 + ...-src_3rdparty_chromium_base_system_sys__info.cc | 11 + ...h-src_3rdparty_chromium_base_system_sys__info.h | 20 + ...arty_chromium_base_system_sys__info__freebsd.cc | 113 ++++++ ...arty_chromium_base_system_sys__info__openbsd.cc | 94 +++++ ...dparty_chromium_base_system_sys__info__posix.cc | 43 +++ ...y_chromium_base_test_test__file__util__linux.cc | 13 + ...y_chromium_base_test_test__file__util__posix.cc | 11 + ...rty_chromium_base_third__party_libevent_event.h | 14 + ...romium_base_third__party_symbolize_symbolize.cc | 11 + ...arty_chromium_base_threading_platform__thread.h | 11 + ...omium_base_threading_platform__thread__linux.cc | 77 ++++ ...omium_base_threading_platform__thread__posix.cc | 21 ++ ..._base_threading_thread__task__runner__handle.cc | 26 ++ .../patch-src_3rdparty_chromium_base_time_time.cc | 11 + ...ium_base_trace__event_malloc__dump__provider.cc | 31 ++ ...mium_base_trace__event_memory__dump__manager.cc | 11 + ...mium_base_trace__event_process__memory__dump.cc | 20 + ...c_3rdparty_chromium_base_tracing_trace__time.cc | 28 ++ ...rc_3rdparty_chromium_base_tracing_trace__time.h | 11 + ...tch-src_3rdparty_chromium_build_config_BUILD.gn | 22 ++ ...c_3rdparty_chromium_build_config_BUILDCONFIG.gn | 45 +++ ...rdparty_chromium_build_config_compiler_BUILD.gn | 94 +++++ ...arty_chromium_build_config_compiler_pgo_pgo.gni | 11 + ...party_chromium_build_config_linux_pkg-config.py | 11 + ...ch-src_3rdparty_chromium_build_config_ozone.gni | 19 + ...tch-src_3rdparty_chromium_build_config_rust.gni | 11 + ...party_chromium_build_config_v8__target__cpu.gni | 13 + ...c_3rdparty_chromium_build_detect__host__arch.py | 11 + ...-src_3rdparty_chromium_build_gn__run__binary.py | 11 + ...ch-src_3rdparty_chromium_build_linux_chrome.map | 13 + ...c_3rdparty_chromium_build_linux_libpci_BUILD.gn | 53 +++ ...3rdparty_chromium_build_linux_strip__binary.gni | 15 + ..._3rdparty_chromium_build_linux_strip__binary.py | 10 + ...party_chromium_build_linux_unbundle_libevent.gn | 15 + ...rdparty_chromium_build_linux_unbundle_libusb.gn | 27 ++ ...rdparty_chromium_build_linux_unbundle_libxml.gn | 10 + ...mium_build_linux_unbundle_replace__gn__files.py | 10 + ...hromium_build_toolchain_gcc__solink__wrapper.py | 11 + ...rty_chromium_build_toolchain_gcc__toolchain.gni | 35 ++ ...er_media_webrtc_webrtc__event__log__uploader.cc | 11 + ...e_browser_media_webrtc_webrtc__log__uploader.cc | 13 + ...ser_media_webrtc_webrtc__logging__controller.cc | 33 ++ ...wser_media_webrtc_webrtc__logging__controller.h | 20 + ...i_webui_chrome__web__ui__controller__factory.cc | 92 +++++ ...chromium_chrome_common_webui__url__constants.cc | 68 ++++ ..._chromium_chrome_common_webui__url__constants.h | 57 +++ ...omium_components_crash_content_browser_BUILD.gn | 29 ++ ...rty_chromium_components_crash_core_app_BUILD.gn | 52 +++ ...nts_crash_core_app_chrome__crashpad__handler.cc | 12 + ...h_core_browser_crash__upload__list__crashpad.cc | 16 + ..._chromium_components_crash_core_common_BUILD.gn | 20 + ...ents_metrics_drive__metrics__provider__linux.cc | 16 + ...um_components_os__crypt_keyring__util__linux.cc | 17 + ..._components_os__crypt_libsecret__util__linux.cc | 18 + ...party_chromium_components_os__crypt_os__crypt.h | 47 +++ ..._ai_sandbox_screen__ai__sandbox__hook__linux.cc | 18 + ...__ai_sandbox_screen__ai__sandbox__hook__linux.h | 16 + ..._3rdparty_chromium_content_app_content__main.cc | 11 + ...mium_content_app_content__main__runner__impl.cc | 123 ++++++ ...-src_3rdparty_chromium_content_browser_BUILD.gn | 16 + ..._browser_browser__child__process__host__impl.cc | 10 + ...chromium_content_browser_browser__main__loop.cc | 46 +++ ...wser_child__process__launcher__helper__linux.cc | 76 ++++ ..._compositor_viz__process__transport__factory.cc | 11 + ...content_browser_compute__pressure_cpu__probe.cc | 10 + ...wser_devtools_protocol_system__info__handler.cc | 11 + ...ent_browser_download_download__manager__impl.cc | 29 ++ ...font__access_font__enumeration__data__source.cc | 29 ++ ...hromium_content_browser_gpu_compositor__util.cc | 20 + ...omium_content_browser_gpu_gpu__process__host.cc | 28 ++ ...ser_media_frameless__media__interface__proxy.cc | 20 + ...ontent_browser_media_media__interface__proxy.cc | 20 + ...r_media_media__keys__listener__manager__impl.cc | 11 + ...i__plugin__process__host__receiver__bindings.cc | 20 + ...rowser_renderer__host_delegated__frame__host.cc | 11 + ...__host_input_input__device__change__observer.cc | 29 ++ ...renderer__host_pepper_pepper__file__io__host.cc | 20 + ...owser_renderer__host_render__message__filter.cc | 29 ++ ...rowser_renderer__host_render__message__filter.h | 19 + ...r_renderer__host_render__process__host__impl.cc | 37 ++ ...er_renderer__host_render__process__host__impl.h | 11 + ...wser_renderer__host_render__view__host__impl.cc | 11 + ...derer__host_render__widget__host__view__aura.cc | 47 +++ ...nderer__host_render__widget__host__view__aura.h | 11 + ...t_render__widget__host__view__event__handler.cc | 11 + ...hromium_content_browser_sandbox__host__linux.cc | 18 + ...scheduler_responsiveness_jank__monitor__impl.cc | 11 + ...duler_responsiveness_native__event__observer.cc | 20 + ...eduler_responsiveness_native__event__observer.h | 47 +++ ...r_utility__process__host__receiver__bindings.cc | 20 + ...m_content_browser_utility__sandbox__delegate.cc | 42 +++ ...chromium_content_browser_v8__snapshot__files.cc | 11 + ...wser_web__contents_web__contents__view__aura.cc | 29 ++ ...browser_webui_web__ui__main__frame__observer.cc | 38 ++ ..._browser_webui_web__ui__main__frame__observer.h | 20 + ...owser_zygote__host_zygote__host__impl__linux.cc | 70 ++++ ...rowser_zygote__host_zygote__host__impl__linux.h | 25 ++ ...dparty_chromium_content_child_child__process.cc | 11 + ...h-src_3rdparty_chromium_content_common_BUILD.gn | 12 + ..._content_common_mojo__core__library__support.cc | 11 + ...3rdparty_chromium_content_common_user__agent.cc | 28 ++ ...ontent_common_zygote_sandbox__support__linux.cc | 14 + ...-src_3rdparty_chromium_content_gpu_gpu__main.cc | 47 +++ ...romium_content_gpu_gpu__sandbox__hook__linux.cc | 70 ++++ ...t_ppapi__plugin_ppapi__blink__platform__impl.cc | 29 ++ ...nt_ppapi__plugin_ppapi__blink__platform__impl.h | 25 ++ ...um_content_ppapi__plugin_ppapi__plugin__main.cc | 23 ++ ...blic_browser_zygote__host_zygote__host__linux.h | 16 + ...t_public_common_common__param__traits__macros.h | 11 + ...mium_content_public_common_content__features.cc | 50 +++ ...omium_content_public_common_content__features.h | 11 + ...mium_content_public_common_content__switches.cc | 20 + ...omium_content_public_common_content__switches.h | 19 + ...omium_content_public_common_zygote_features.gni | 8 + ...content_renderer_media_render__media__client.cc | 11 + ...omium_content_renderer_render__process__impl.cc | 29 ++ ...romium_content_renderer_render__thread__impl.cc | 47 +++ ...ent_renderer_renderer__blink__platform__impl.cc | 48 +++ ...tent_renderer_renderer__blink__platform__impl.h | 29 ++ ...er_renderer__main__platform__delegate__linux.cc | 18 + ...ch-src_3rdparty_chromium_content_shell_BUILD.gn | 11 + ...mium_content_shell_app_shell__main__delegate.cc | 11 + ...hell_utility_shell__content__utility__client.cc | 20 + ...tch-src_3rdparty_chromium_content_test_BUILD.gn | 20 + ...c_3rdparty_chromium_content_utility_services.cc | 20 + ...ch_speech__recognition__sandbox__hook__linux.cc | 37 ++ ...ech_speech__recognition__sandbox__hook__linux.h | 14 + ...link__platform__with__sandbox__support__impl.cc | 29 ++ ...blink__platform__with__sandbox__support__impl.h | 24 ++ ...party_chromium_content_utility_utility__main.cc | 79 ++++ ...h-src_3rdparty_chromium_content_zygote_BUILD.gn | 11 + ...dparty_chromium_content_zygote_zygote__linux.cc | 15 + ..._chromium_content_zygote_zygote__main__linux.cc | 64 ++++ ...__buffer_common_gpu__memory__buffer__support.cc | 20 + ..._buffer_service_external__vk__image__backing.cc | 20 + ...ared__image__backing__factory__angle__vulkan.cc | 11 + ...shared__image__backing__factory__gl__texture.cc | 11 + ..._service_shared__image__backing__gl__texture.cc | 11 + ...mmand__buffer_service_shared__image__factory.cc | 29 ++ ...ommand__buffer_service_webgpu__decoder__impl.cc | 11 + ...party_chromium_gpu_config_gpu__control__list.cc | 20 + ...dparty_chromium_gpu_config_gpu__test__config.cc | 11 + ..._gpu_ipc_common_gpu__memory__buffer__support.cc | 20 + ...m_gpu_ipc_common_gpu__memory__buffer__support.h | 11 + ..._3rdparty_chromium_gpu_ipc_service_gpu__init.cc | 65 ++++ ...gpu_ipc_service_gpu__memory__buffer__factory.cc | 20 + ...src_3rdparty_chromium_gpu_ipc_service_x__util.h | 16 + ...party_chromium_gpu_vulkan_generate__bindings.py | 11 + ...ty_chromium_gpu_vulkan_vulkan__device__queue.cc | 20 + ...rty_chromium_gpu_vulkan_vulkan__device__queue.h | 11 + ...romium_gpu_vulkan_vulkan__function__pointers.cc | 11 + ...hromium_gpu_vulkan_vulkan__function__pointers.h | 27 ++ ...c_3rdparty_chromium_gpu_vulkan_vulkan__image.cc | 11 + ...rc_3rdparty_chromium_gpu_vulkan_vulkan__image.h | 20 + .../patch-src_3rdparty_chromium_ipc_ipc__channel.h | 11 + ...c_3rdparty_chromium_ipc_ipc__channel__common.cc | 11 + ...src_3rdparty_chromium_ipc_ipc__channel__mojo.cc | 11 + ...rc_3rdparty_chromium_ipc_ipc__message__utils.cc | 11 + ...src_3rdparty_chromium_ipc_ipc__message__utils.h | 11 + .../patch-src_3rdparty_chromium_media_BUILD.gn | 12 + ...atch-src_3rdparty_chromium_media_audio_BUILD.gn | 24 ++ ...romium_media_audio_alsa_audio__manager__alsa.cc | 54 +++ ...rdparty_chromium_media_audio_audio__features.cc | 11 + ...ty_chromium_media_audio_audio__input__device.cc | 11 + ...mium_media_audio_sndio_audio__manager__sndio.cc | 184 +++++++++ ...omium_media_audio_sndio_audio__manager__sndio.h | 69 ++++ ...arty_chromium_media_audio_sndio_sndio__input.cc | 204 ++++++++++ ...party_chromium_media_audio_sndio_sndio__input.h | 94 +++++ ...rty_chromium_media_audio_sndio_sndio__output.cc | 190 ++++++++++ ...arty_chromium_media_audio_sndio_sndio__output.h | 91 +++++ ..._3rdparty_chromium_media_base_audio__latency.cc | 11 + ...3rdparty_chromium_media_base_media__switches.cc | 47 +++ ..._3rdparty_chromium_media_base_media__switches.h | 20 + ...3rdparty_chromium_media_base_scopedfd__helper.h | 11 + ...rdparty_chromium_media_base_supported__types.cc | 11 + ...rc_3rdparty_chromium_media_base_vector__math.cc | 11 + ...rc_3rdparty_chromium_media_base_video__frame.cc | 74 ++++ ...src_3rdparty_chromium_media_base_video__frame.h | 47 +++ ...ideo_create__video__capture__device__factory.cc | 20 + ..._video_fake__video__capture__device__factory.cc | 11 + ..._video_file__video__capture__device__factory.cc | 11 + ...m_media_capture_video_linux_fake__v4l2__impl.cc | 11 + ...um_media_capture_video_linux_fake__v4l2__impl.h | 25 ++ ..._capture_video_linux_v4l2__capture__delegate.cc | 44 +++ ...a_capture_video_linux_v4l2__capture__delegate.h | 15 + ...dia_capture_video_linux_v4l2__capture__device.h | 11 + ...ture_video_linux_v4l2__capture__device__impl.cc | 11 + ...pture_video_linux_v4l2__capture__device__impl.h | 11 + ...linux_video__capture__device__factory__linux.cc | 45 +++ ..._linux_video__capture__device__factory__linux.h | 11 + ...ure_video_video__capture__buffer__pool__impl.cc | 11 + ...capture_video_video__capture__device__client.cc | 11 + ...dparty_chromium_media_gpu_buffer__validation.cc | 29 ++ ..._media_gpu_chromeos_video__decoder__pipeline.cc | 20 + ...gpu_gpu__video__encode__accelerator__factory.cc | 11 + ...dware__video__decoding__sandbox__hook__linux.cc | 26 ++ ...rdware__video__decoding__sandbox__hook__linux.h | 16 + ...romium_media_gpu_vaapi_vaapi__video__decoder.cc | 11 + ...arty_chromium_media_gpu_vaapi_vaapi__wrapper.cc | 11 + ...-src_3rdparty_chromium_media_media__options.gni | 27 ++ ...stable__video__decoder__types__mojom__traits.cc | 29 ++ ..._stable__video__decoder__types__mojom__traits.h | 11 + ...media_mojo_mojom_video__frame__mojom__traits.cc | 11 + ...romium_media_video_fake__gpu__memory__buffer.cc | 38 ++ ...ideo_gpu__memory__buffer__video__frame__pool.cc | 11 + ...ia_video_video__encode__accelerator__adapter.cc | 20 + ...eo_video__encode__accelerator__adapter__test.cc | 11 + ...party_chromium_media_webrtc_audio__processor.cc | 11 + ...party_chromium_media_webrtc_webrtc__features.cc | 11 + .../patch-src_3rdparty_chromium_mojo_core_BUILD.gn | 11 + ...atch-src_3rdparty_chromium_mojo_core_channel.cc | 14 + ...3rdparty_chromium_mojo_core_embedder_features.h | 11 + ...rdparty_chromium_mojo_public_c_system_thunks.cc | 38 ++ ...y_chromium_mojo_public_tools_bindings_mojom.gni | 19 + .../files/patch-src_3rdparty_chromium_net_BUILD.gn | 91 +++++ ..._chromium_net_base_network__change__notifier.cc | 21 ++ ...um_net_base_network__change__notifier__posix.cc | 11 + ..._chromium_net_base_network__interfaces__posix.h | 11 + ...rc_3rdparty_chromium_net_cert_cert__verifier.cc | 11 + ...rdparty_chromium_net_cert_cert__verify__proc.cc | 11 + ...3rdparty_chromium_net_cert_cert__verify__proc.h | 11 + ...romium_net_disk__cache_blockfile_disk__format.h | 12 + ...net_disk__cache_simple_simple__file__tracker.cc | 20 + .../patch-src_3rdparty_chromium_net_dns_BUILD.gn | 31 ++ ...arty_chromium_net_dns_address__sorter__posix.cc | 10 + ...chromium_net_dns_dns__config__service__posix.cc | 26 ++ ...-src_3rdparty_chromium_net_dns_dns__reloader.cc | 18 + ...h-src_3rdparty_chromium_net_dns_dns__reloader.h | 11 + ...atch-src_3rdparty_chromium_net_dns_dns__util.cc | 11 + ...rty_chromium_net_dns_host__resolver__manager.cc | 11 + ...dparty_chromium_net_dns_host__resolver__proc.cc | 22 ++ ...h-src_3rdparty_chromium_net_dns_public_BUILD.gn | 11 + ...dparty_chromium_net_dns_public_resolv__reader.h | 10 + ...ty_chromium_net_dns_public_scoped__res__state.h | 10 + ..._chromium_net_http_http__auth__gssapi__posix.cc | 14 + ...y_chromium_net_http_http__auth__gssapi__posix.h | 12 + ...rty_chromium_net_http_http__network__session.cc | 12 + ...ution_configured__proxy__resolution__service.cc | 29 ++ ...xy__resolution_proxy__config__service__linux.cc | 40 ++ ...c_3rdparty_chromium_net_socket_socket__posix.cc | 11 + ...y_chromium_net_socket_socks5__client__socket.cc | 12 + ...party_chromium_net_socket_tcp__socket__posix.cc | 20 + ...party_chromium_net_socket_udp__socket__posix.cc | 29 ++ ...t_socket_unix__domain__client__socket__posix.cc | 11 + ...party_chromium_net_third__party_quiche_BUILD.gn | 33 ++ ...verify__tool_cert__verify__comparision__tool.cc | 29 ++ ..._tools_cert__verify__tool_cert__verify__tool.cc | 38 ++ ...um_net_tools_quic_quic__http__proxy__backend.cc | 11 + ...ffic__annotation_network__traffic__annotation.h | 20 + ...party_chromium_net_url__request_url__fetcher.cc | 11 + ...dparty_chromium_net_url__request_url__fetcher.h | 11 + ...omium_net_url__request_url__request__context.cc | 11 + ...romium_net_url__request_url__request__context.h | 11 + ..._url__request_url__request__context__builder.cc | 11 + ...nting_mojom_printing__context__mojom__traits.cc | 20 + ...inting_mojom_printing__context__mojom__traits.h | 11 + ...c_3rdparty_chromium_printing_print__settings.cc | 20 + ...rc_3rdparty_chromium_printing_print__settings.h | 38 ++ ...hromium_printing_print__settings__conversion.cc | 11 + ...rdparty_chromium_printing_printing__features.cc | 11 + ...sandbox_print__backend__sandbox__hook__linux.cc | 51 +++ ..._sandbox_print__backend__sandbox__hook__linux.h | 16 + .../patch-src_3rdparty_chromium_sandbox_BUILD.gn | 11 + ...atch-src_3rdparty_chromium_sandbox_features.gni | 11 + ...ch-src_3rdparty_chromium_sandbox_linux_BUILD.gn | 58 +++ ...sandbox_linux_services_init__process__reaper.cc | 15 + ...ium_sandbox_linux_services_libc__interceptor.cc | 21 ++ ...h-src_3rdparty_chromium_sandbox_policy_BUILD.gn | 49 +++ ...rc_3rdparty_chromium_sandbox_policy_features.cc | 14 + ...mium_sandbox_policy_freebsd_sandbox__freebsd.cc | 256 +++++++++++++ ...omium_sandbox_policy_freebsd_sandbox__freebsd.h | 281 ++++++++++++++ ...rty_chromium_sandbox_policy_mojom_sandbox.mojom | 15 + ...mium_sandbox_policy_openbsd_sandbox__openbsd.cc | 416 +++++++++++++++++++++ ...omium_sandbox_policy_openbsd_sandbox__openbsd.h | 285 ++++++++++++++ ...src_3rdparty_chromium_sandbox_policy_sandbox.cc | 22 ++ ...-src_3rdparty_chromium_sandbox_policy_sandbox.h | 22 ++ ...dparty_chromium_sandbox_policy_sandbox__type.cc | 105 ++++++ ...rc_3rdparty_chromium_sandbox_policy_switches.cc | 22 ++ ...src_3rdparty_chromium_sandbox_policy_switches.h | 21 ++ ...m_services_audio_audio__sandbox__hook__linux.cc | 31 ++ ...um_services_audio_audio__sandbox__hook__linux.h | 14 + ...ices_cert__verifier_cert__verifier__creation.cc | 30 ++ ...ices_device_geolocation_location__arbitrator.cc | 11 + ..._3rdparty_chromium_services_device_usb_BUILD.gn | 11 + ...rvices_network_network__sandbox__hook__linux.cc | 26 ++ ...ervices_network_network__sandbox__hook__linux.h | 14 + ..._instrumentation_queued__request__dispatcher.cc | 65 ++++ ...tor_public_cpp_memory__instrumentation_BUILD.gn | 16 + ...ublic_cpp_memory__instrumentation_os__metrics.h | 20 + ...cpp_memory__instrumentation_os__metrics__bsd.cc | 61 +++ ...ty_chromium_skia_ext_SkMemory__new__handler.cpp | 11 + ...mium_third__party_abseil-cpp_absl_base_config.h | 21 ++ ..._party_abseil-cpp_absl_base_internal_sysinfo.cc | 23 ++ ...l-cpp_absl_debugging_internal_elf__mem__image.h | 12 + ...sl_time_internal_cctz_src_time__zone__format.cc | 11 + ...c_3rdparty_chromium_third__party_angle_BUILD.gn | 29 ++ ...romium_third__party_angle_src_common_platform.h | 19 + ...party_angle_src_common_system__utils__posix.cpp | 12 + ...ngle_src_gpu__info__util_SystemInfo__internal.h | 16 + ...ngle_src_gpu__info__util_SystemInfo__libpci.cpp | 90 +++++ ...angle_src_gpu__info__util_SystemInfo__linux.cpp | 35 ++ ...y_angle_src_gpu__info__util_SystemInfo__x11.cpp | 60 +++ ...ium_third__party_angle_src_libANGLE_Display.cpp | 47 +++ ...third__party_angle_src_libANGLE_formatutils.cpp | 11 + ...rty_angle_src_libANGLE_renderer_driver__utils.h | 11 + ...e_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp | 15 + ...e_src_libANGLE_renderer_vulkan_DisplayVk__api.h | 11 + ...party_chromium_third__party_angle_util_BUILD.gn | 11 + ...erences_renderer__preferences__mojom__traits.cc | 11 + ...n_renderer__preferences_renderer__preferences.h | 11 + ...ferences_renderer__preferences__mojom__traits.h | 11 + ...hird__party_blink_public_platform_web__vector.h | 11 + ...rer_bindings_scripts_bind__gen_style__format.py | 11 + ...renderer_build_scripts_run__with__pythonpath.py | 10 + ...blink_renderer_controller_blink__initializer.cc | 35 ++ ...rer_controller_memory__usage__monitor__posix.cc | 21 ++ ...erer_controller_memory__usage__monitor__posix.h | 47 +++ ...link_renderer_core_editing_editing__behavior.cc | 11 + ...blink_renderer_core_exported_web__view__impl.cc | 20 + ...y_blink_renderer_core_frame_web__frame__test.cc | 20 + ...ore_html_canvas_canvas__async__blob__creator.cc | 11 + ...erer_core_inspector_inspector__memory__agent.cc | 11 + ...arty_blink_renderer_core_layout_layout__view.cc | 20 + ...party_blink_renderer_core_paint_paint__layer.cc | 11 + ..._renderer_core_scroll_scrollbar__theme__aura.cc | 20 + ...r_modules_media_audio_audio__device__factory.cc | 11 + ..._audio_audio__renderer__mixer__manager__test.cc | 11 + ...peerconnection_webrtc__audio__renderer__test.cc | 11 + ...odules_webaudio_audio__worklet__thread__test.cc | 11 + ...odules_webgl_webgl__rendering__context__base.cc | 11 + ...modules_webgl_webgl__webcodecs__video__frame.cc | 11 + ...m_third__party_blink_renderer_platform_BUILD.gn | 11 + ...ty_blink_renderer_platform_fonts_font__cache.cc | 20 + ...rty_blink_renderer_platform_fonts_font__cache.h | 47 +++ ...nk_renderer_platform_fonts_font__description.cc | 20 + ..._blink_renderer_platform_fonts_font__metrics.cc | 29 ++ ...er_platform_fonts_font__unique__name__lookup.cc | 20 + ...nderer_platform_fonts_skia_font__cache__skia.cc | 29 ++ ...rer_platform_graphics_begin__frame__provider.cc | 14 + ...er_platform_graphics_video__frame__submitter.cc | 11 + ...derer_platform_runtime__enabled__features.json5 | 62 +++ ...nk_renderer_platform_scheduler_common_thread.cc | 12 + ..._renderer_platform_wtf_container__annotations.h | 11 + ...arty_blink_renderer_platform_wtf_math__extras.h | 12 + ...arty_blink_renderer_platform_wtf_stack__util.cc | 37 ++ ...mium_third__party_boringssl_BUILD.generated.gni | 18 + ...dparty_chromium_third__party_boringssl_BUILD.gn | 11 + ...ty_boringssl_src_crypto_cpu__aarch64__openbsd.c | 60 +++ ...boringssl_src_crypto_fipsmodule_rand_internal.h | 12 + ...y_boringssl_src_crypto_rand__extra_arc4random.c | 36 ++ ...ird__party_boringssl_src_crypto_refcount__c11.c | 12 + ...ird__party_boringssl_src_include_openssl_base.h | 14 + ...d__party_boringssl_src_include_openssl_thread.h | 10 + ...ashpad_crashpad_build_crashpad__buildconfig.gni | 11 + ..._third__party_crashpad_crashpad_client_BUILD.gn | 16 + ...hpad_crashpad_client_crashpad__client__posix.cc | 43 +++ ...ashpad_minidump_minidump__misc__info__writer.cc | 13 + ...ty_crashpad_crashpad_util_misc_address__types.h | 20 + ..._crashpad_crashpad_util_misc_capture__context.h | 22 ++ ...d__party_crashpad_crashpad_util_misc_metrics.cc | 11 + ...hird__party_crashpad_crashpad_util_misc_uuid.cc | 11 + ...crashpad_crashpad_util_posix_close__multiple.cc | 11 + ...rashpad_crashpad_util_posix_drop__privileges.cc | 11 + ...__party_crashpad_crashpad_util_posix_signals.cc | 33 ++ ...ashpad_util_posix_symbolic__constants__posix.cc | 20 + ...arty_dawn_generator_dawn__version__generator.py | 22 ++ ..._party_dawn_include_dawn_native_VulkanBackend.h | 11 + ...um_third__party_dawn_src_dawn_common_Platform.h | 14 + ...party_dawn_src_dawn_native_vulkan_BackendVk.cpp | 11 + ..._chromium_third__party_harfbuzz-ng_harfbuzz.gni | 22 ++ ...um_third__party_libsync_src_include_sync_sync.h | 12 + ...dparty_chromium_third__party_libsync_src_sync.c | 25 ++ ...hromium_third__party_nasm_config_config-linux.h | 29 ++ ...hird__party_pdfium_core_fxcrt_cfx__datetime.cpp | 11 + ...ird__party_pdfium_core_fxge_cfx__fontmapper.cpp | 11 + ...arty_pdfium_core_fxge_linux_fx__linux__impl.cpp | 25 ++ ..._third__party_pdfium_fxjs_fx__date__helpers.cpp | 22 ++ ...fium_xfa_fxfa_parser_cxfa__timezoneprovider.cpp | 41 ++ ..._perfetto_include_perfetto_base_build__config.h | 66 ++++ ..._perfetto_include_perfetto_base_thread__utils.h | 22 ++ ...rd__party_perfetto_include_perfetto_base_time.h | 20 + ..._perfetto_include_perfetto_ext_base_event__fd.h | 11 + ...fetto_include_perfetto_ext_base_thread__utils.h | 15 + ...ium_third__party_perfetto_src_base_event__fd.cc | 22 ++ ...hird__party_perfetto_src_base_periodic__task.cc | 20 + ...third__party_perfetto_src_base_string__utils.cc | 15 + ...d__party_perfetto_src_base_subprocess__posix.cc | 22 ++ ...party_perfetto_src_base_thread__task__runner.cc | 14 + ..._third__party_perfetto_src_base_unix__socket.cc | 26 ++ ...etto_src_tracing_core_tracing__service__impl.cc | 12 + ...y_chromium_third__party_skia_src_core_SkCpu.cpp | 45 +++ ...third__party_skia_src_ports_SkOSFile__posix.cpp | 11 + ...arty_chromium_third__party_wayland_features.gni | 17 + ..._3rdparty_chromium_third__party_webrtc_BUILD.gn | 12 + ...rd__party_webrtc_modules_audio__device_BUILD.gn | 11 + ...__capture_linux_x11_x__server__pixel__buffer.cc | 15 + ...chromium_third__party_webrtc_rtc__base_BUILD.gn | 11 + ...ium_third__party_webrtc_rtc__base_byte__order.h | 11 + ...um_third__party_webrtc_rtc__base_ip__address.cc | 12 + ...romium_third__party_webrtc_rtc__base_network.cc | 15 + ...ty_webrtc_rtc__base_physical__socket__server.cc | 65 ++++ ...rty_webrtc_rtc__base_physical__socket__server.h | 11 + ...rty_webrtc_rtc__base_platform__thread__types.cc | 40 ++ ...webrtc_rtc__base_third__party_sigslot_sigslot.h | 23 ++ ...m_third__party_webrtc_system__wrappers_BUILD.gn | 11 + ...-src_3rdparty_chromium_ui_aura_screen__ozone.cc | 11 + ...h-src_3rdparty_chromium_ui_aura_screen__ozone.h | 11 + ...omium_ui_base_clipboard_clipboard__constants.cc | 11 + ...romium_ui_base_clipboard_clipboard__constants.h | 11 + ...arty_chromium_ui_base_cursor_cursor__factory.cc | 11 + ...party_chromium_ui_base_cursor_cursor__factory.h | 11 + ...agdrop_os__exchange__data__provider__factory.cc | 20 + ...op_os__exchange__data__provider__non__backed.cc | 11 + ...omium_ui_base_ime_dummy__text__input__client.cc | 11 + ...romium_ui_base_ime_dummy__text__input__client.h | 11 + ...romium_ui_base_ime_fake__text__input__client.cc | 11 + ...hromium_ui_base_ime_fake__text__input__client.h | 11 + ..._ui_base_ime_init_input__method__initializer.cc | 38 ++ ...arty_chromium_ui_base_ime_text__input__client.h | 11 + ...y_chromium_ui_base_resource_resource__bundle.cc | 11 + ...3rdparty_chromium_ui_base_ui__base__features.cc | 20 + ...rdparty_chromium_ui_base_webui_web__ui__util.cc | 11 + ...party_chromium_ui_base_x_x11__cursor__loader.cc | 14 + ...rty_chromium_ui_base_x_x11__shm__image__pool.cc | 53 +++ ...atch-src_3rdparty_chromium_ui_color_color__id.h | 11 + ...arty_chromium_ui_color_native__color__mixers.cc | 17 + ...c_3rdparty_chromium_ui_compositor_compositor.cc | 11 + ...rc_3rdparty_chromium_ui_compositor_compositor.h | 11 + ...y_chromium_ui_compositor_compositor__observer.h | 11 + ...atch-src_3rdparty_chromium_ui_display_screen.cc | 11 + ...patch-src_3rdparty_chromium_ui_display_screen.h | 29 ++ ...vents_devices_x11_device__data__manager__x11.cc | 10 + .../patch-src_3rdparty_chromium_ui_events_event.cc | 20 + ..._3rdparty_chromium_ui_events_event__switches.cc | 11 + ...c_3rdparty_chromium_ui_events_event__switches.h | 11 + ...um_ui_events_keycodes_dom_keycode__converter.cc | 38 ++ ...ium_ui_events_keycodes_dom_keycode__converter.h | 11 + .../patch-src_3rdparty_chromium_ui_gfx_BUILD.gn | 11 + ...ch-src_3rdparty_chromium_ui_gfx_canvas__skia.cc | 11 + ...rc_3rdparty_chromium_ui_gfx_codec_png__codec.cc | 11 + ...dparty_chromium_ui_gfx_font__fallback__linux.cc | 11 + ...atch-src_3rdparty_chromium_ui_gfx_font__list.cc | 11 + ...3rdparty_chromium_ui_gfx_font__render__params.h | 20 + ...atch-src_3rdparty_chromium_ui_gfx_font__util.cc | 20 + ...3rdparty_chromium_ui_gfx_gpu__memory__buffer.cc | 11 + ..._3rdparty_chromium_ui_gfx_gpu__memory__buffer.h | 20 + ...hromium_ui_gfx_ipc_gfx__param__traits__macros.h | 44 +++ ..._ui_gfx_linux_client__native__pixmap__dmabuf.cc | 25 ++ ...um_ui_gfx_mojom_buffer__types__mojom__traits.cc | 20 + ...x_mojom_native__handle__types__mojom__traits.cc | 34 ++ ...fx_mojom_native__handle__types__mojom__traits.h | 29 ++ ...party_chromium_ui_gfx_native__pixmap__handle.cc | 58 +++ ...dparty_chromium_ui_gfx_native__pixmap__handle.h | 38 ++ ...rdparty_chromium_ui_gfx_native__widget__types.h | 20 + ...ty_chromium_ui_gfx_render__text__api__fuzzer.cc | 29 ++ .../patch-src_3rdparty_chromium_ui_gfx_switches.cc | 11 + .../patch-src_3rdparty_chromium_ui_gfx_switches.h | 11 + ...rty_chromium_ui_gfx_x_generated__protos_dri3.cc | 11 + ...arty_chromium_ui_gfx_x_generated__protos_shm.cc | 11 + ...src_3rdparty_chromium_ui_gfx_x_xlib__support.cc | 21 ++ .../patch-src_3rdparty_chromium_ui_gl_BUILD.gn | 35 ++ ...c_3rdparty_chromium_ui_gl_generate__bindings.py | 12 + ...hromium_ui_gl_gl__bindings__api__autogen__glx.h | 10 + ...ty_chromium_ui_gl_gl__bindings__autogen__glx.cc | 61 +++ ...rty_chromium_ui_gl_gl__bindings__autogen__glx.h | 43 +++ ...atch-src_3rdparty_chromium_ui_gl_gl__context.cc | 11 + ...tch-src_3rdparty_chromium_ui_gl_gl__features.cc | 11 + ...hromium_ui_gl_gl__image__glx__native__pixmap.cc | 11 + ...hromium_ui_gl_sync__control__vsync__provider.cc | 38 ++ ...chromium_ui_gl_sync__control__vsync__provider.h | 20 + ...tch-src_3rdparty_chromium_ui_gtk_gtk__compat.cc | 50 +++ ..._chromium_ui_gtk_printing_print__dialog__gtk.cc | 11 + ...i_message__center_views_message__popup__view.cc | 11 + ...party_chromium_ui_native__theme_native__theme.h | 11 + ...hromium_ui_native__theme_native__theme__base.cc | 11 + ..._3rdparty_chromium_ui_ozone_common_egl__util.cc | 14 + ...platform_headless_headless__surface__factory.cc | 20 + ..._platform_headless_headless__surface__factory.h | 11 + ..._platform_headless_ozone__platform__headless.cc | 11 + ..._wayland_gpu_vulkan__implementation__wayland.cc | 14 + ...m_ui_ozone_platform_x11_ozone__platform__x11.cc | 11 + ...one_platform_x11_vulkan__implementation__x11.cc | 14 + ...arty_chromium_ui_ozone_public_ozone__platform.h | 11 + ...rm__window_platform__window__init__properties.h | 20 + ...y_chromium_ui_strings_app__locale__settings.grd | 11 + ...ings_translations_app__locale__settings__bn.xtb | 11 + ...ings_translations_app__locale__settings__ja.xtb | 11 + ...ings_translations_app__locale__settings__ko.xtb | 11 + ...ings_translations_app__locale__settings__ml.xtb | 11 + ...ings_translations_app__locale__settings__th.xtb | 11 + ...s_translations_app__locale__settings__zh-CN.xtb | 11 + ...s_translations_app__locale__settings__zh-TW.xtb | 11 + ..._chromium_ui_views_controls_prefix__selector.cc | 11 + ...y_chromium_ui_views_controls_prefix__selector.h | 11 + ...romium_ui_views_controls_textfield_textfield.cc | 64 ++++ ...hromium_ui_views_controls_textfield_textfield.h | 11 + ...party_chromium_ui_views_corewm_tooltip__aura.cc | 11 + ...y_chromium_ui_views_examples_widget__example.cc | 11 + ...party_chromium_ui_views_focus_focus__manager.cc | 20 + ...dparty_chromium_ui_views_linux__ui_linux__ui.cc | 11 + ...rdparty_chromium_ui_views_linux__ui_linux__ui.h | 20 + ...arty_chromium_ui_views_style_platform__style.cc | 20 + ..._ui__controls__factory__desktop__aura__ozone.cc | 20 + ...c_3rdparty_chromium_ui_views_views__delegate.cc | 11 + ...rc_3rdparty_chromium_ui_views_views__delegate.h | 11 + ..._widget_desktop__aura_desktop__screen__ozone.cc | 11 + ...__aura_desktop__window__tree__host__platform.cc | 11 + ...hromium_ui_views_widget_native__widget__aura.cc | 29 ++ ...src_3rdparty_chromium_ui_views_widget_widget.cc | 20 + ...chromium_ui_views_window_custom__frame__view.cc | 11 + ...ty_chromium_ui_views_window_dialog__delegate.cc | 11 + ...y_chromium_ui_views_window_frame__background.cc | 11 + ...c_3rdparty_chromium_ui_webui_resources_js_cr.js | 14 + .../files/patch-src_3rdparty_chromium_v8_BUILD.gn | 45 +++ ...tch-src_3rdparty_chromium_v8_include_v8config.h | 37 ++ .../patch-src_3rdparty_chromium_v8_src_api_api.cc | 20 + ...h-src_3rdparty_chromium_v8_src_base_atomicops.h | 33 ++ ...romium_v8_src_base_platform_platform-freebsd.cc | 32 ++ ...romium_v8_src_base_platform_platform-openbsd.cc | 28 ++ ...chromium_v8_src_base_platform_platform-posix.cc | 53 +++ ...h-src_3rdparty_chromium_v8_src_base_sys-info.cc | 11 + ...piler_backend_ia32_instruction-selector-ia32.cc | 20 + ...rdparty_chromium_v8_src_diagnostics_perf-jit.cc | 11 + ...3rdparty_chromium_v8_src_diagnostics_perf-jit.h | 11 + ...ium_v8_src_trap-handler_handler-inside-posix.cc | 26 ++ ...mium_v8_src_trap-handler_handler-inside-posix.h | 11 + ...rty_chromium_v8_src_trap-handler_trap-handler.h | 11 + ...src_wasm_baseline_ia32_liftoff-assembler-ia32.h | 101 +++++ .../patch-src_3rdparty_chromium_v8_tools_run.py | 11 + ...c_3rdparty_gn_build_build__linux.ninja.template | 11 + .../files/patch-src_3rdparty_gn_build_gen.py | 34 ++ ...h-src_3rdparty_gn_src_base_files_file__posix.cc | 11 + .../files/patch-src_3rdparty_gn_src_gn_version.h | 15 + .../patch-src_3rdparty_gn_src_util_exe__path.cc | 90 +++++ .../files/patch-src_core_CMakeLists.txt | 37 ++ .../files/patch-src_core_api_configure.cmake | 33 ++ .../files/patch-src_core_api_qt__cmdline.cmake | 11 + .../files/patch-src_core_configure.json | 56 +++ .../files/patch-src_host_BUILD.toolchain.gn.in | 13 + .../files/patch-src_pdf_CMakeLists.txt | 20 + www/qt6-webengine/pkg-descr | 8 + www/qt6-webengine/pkg-plist | 411 ++++++++++++++++++++ 615 files changed, 17005 insertions(+), 5 deletions(-) diff --git a/Mk/Uses/qt-dist.mk b/Mk/Uses/qt-dist.mk index 61d215ae0fd9..c8cf63ef5bae 100644 --- a/Mk/Uses/qt-dist.mk +++ b/Mk/Uses/qt-dist.mk @@ -24,9 +24,9 @@ qmake_ARGS?= # empty _COMMON_DISTS= 3d base charts datavis3d declarative imageformats multimedia \ networkauth quick3d quicktimeline remoteobjects scxml sensors \ serialbus serialport svg tools translations virtualkeyboard \ - wayland webchannel websockets + wayland webchannel webengine websockets _QT5_DISTS= connectivity gamepad graphicaleffects location quickcontrols \ - quickcontrols2 script speech webengine webglplugin webview \ + quickcontrols2 script speech webglplugin webview \ x11extras xmlpatterns _QT6_DISTS= 5compat doc languageserver lottie positioning shadertools diff --git a/Mk/Uses/qt.mk b/Mk/Uses/qt.mk index da49ce7bbf4c..79429a8fb583 100644 --- a/Mk/Uses/qt.mk +++ b/Mk/Uses/qt.mk @@ -133,7 +133,7 @@ _QT_MK_POST_INCLUDED= qt.mk _USE_QT_COMMON= 3d charts datavis3d declarative doc imageformats multimedia \ networkauth quick3d quicktimeline remoteobjects scxml \ sensors serialbus serialport svg virtualkeyboard wayland \ - webchannel websockets + webchannel webengine websockets _USE_QT5_ONLY= assistant buildtools concurrent connectivity core dbus \ declarative-test designer diag examples gamepad \ @@ -142,7 +142,7 @@ _USE_QT5_ONLY= assistant buildtools concurrent connectivity core dbus \ qdbus qdbusviewer qdoc qdoc-data qev qmake quickcontrols \ quickcontrols2 script scripttools speech sql sql-mysql sql-odbc \ sql-pgsql sql-sqlite2 sql-sqlite3 sql-tds testlib uiplugin \ - uitools webengine webglplugin webkit websockets-qml webview \ + uitools webglplugin webkit websockets-qml webview \ widgets x11extras xml xmlpatterns . if ${ARCH} == amd64 || ${ARCH} == i386 _USE_QT5_ONLY+= sql-ibase @@ -365,7 +365,7 @@ qt-webchannel_PORT= www/${_QT_RELNAME}-webchannel qt-webchannel_LIB= libQt${_QT_LIBVER}WebChannel.so qt-webengine_PORT= www/${_QT_RELNAME}-webengine -qt-webengine_LIB= libQt${_QT_LIBVER}WebEngine.so +qt-webengine_LIB= libQt${_QT_LIBVER}WebEngineCore.so qt-webglplugin_PORT= www/${_QT_RELNAME}-webglplugin qt-webglplugin_PATH= ${LOCALBASE}/${QT_PLUGINDIR_REL}/platforms/libqwebgl.so diff --git a/www/Makefile b/www/Makefile index fe7e8b59e24e..53d93bb8d57d 100644 --- a/www/Makefile +++ b/www/Makefile @@ -1816,6 +1816,7 @@ SUBDIR += qt5-websockets-qml SUBDIR += qt5-webview SUBDIR += qt6-webchannel + SUBDIR += qt6-webengine SUBDIR += qt6-websockets SUBDIR += quark SUBDIR += qutebrowser diff --git a/www/qt6-webengine/Makefile b/www/qt6-webengine/Makefile new file mode 100644 index 000000000000..b9a0e87c6be4 --- /dev/null +++ b/www/qt6-webengine/Makefile @@ -0,0 +1,142 @@ +# QtWebEngine itself is a very thin layer of Qt code on top of a large part of +# Chromium (everything up to the content/ layer). As such, most of the work in +# this port revolves around taming Chromium and getting it to build on FreeBSD. +# While it does build at the moment, there are several items that should be +# investigated or improved: +# - We are using several stub files, especially in Chromium's base/ and net/ +# layers. We should look at implementing the missing bits instead. +# - We are currently not using any sandboxing mechanism. +# - The process of porting QtWebEngine needs to be documented so we can move to +# newer releases more easily. +# +# Also note that, due to the insane amount of patches this port needs, it tends +# to lag behind the rest of the official Qt6 ones, which is why we set +# QT6_VERSION and DISTINFO_FILE here. + +PORTNAME= webengine +DISTVERSION= ${QT6_VERSION} +CATEGORIES= www +PKGNAMEPREFIX= qt6- + +MAINTAINER= kde@FreeBSD.org +COMMENT= Qt 6 library to render web content + +BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ + ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \ + ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers +LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ + libdbus-1.so:devel/dbus \ + libevent.so:devel/libevent \ + libexpat.so:textproc/expat2 \ + libfontconfig.so:x11-fonts/fontconfig \ + libfreetype.so:print/freetype2 \ + libharfbuzz.so:print/harfbuzz \ + liblcms2.so:graphics/lcms2 \ + libnspr4.so:devel/nspr \ + libnss3.so:security/nss \ + libopenh264.so:multimedia/openh264 \ + libopus.so:audio/opus \ + libpci.so:devel/libpci \ + libpng.so:graphics/png \ + libre2.so:devel/re2 \ + libsnappy.so:archivers/snappy \ + libvpx.so:multimedia/libvpx \ + libwebp.so:graphics/webp \ + libxkbcommon.so:x11/libxkbcommon + +USES= bison cmake gl gnome gperf jpeg localbase:ldflags minizip ninja:build \ + nodejs:build,lts pkgconfig python:build qt-dist:6,webengine xorg +USE_GL= gl +USE_GNOME= glib20 libxml2 libxslt +USE_QT= base declarative:run positioning quick3d:build webchannel +USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xkbfile \ + xrandr xrender xscrnsaver xshmfence xtst + +CMAKE_ON= QT_FEATURE_webengine_system_ffmpeg QT_FEATURE_webengine_proprietary_codecs + +# The build system reads the environment variable $NINJA_PATH to decide whether +# to boostrap ninja or not (and also to invoke it afterwards). CC and CXX are +# read by some Chromium code to determine which compiler to invoke when running +# some configuration tests. +CONFIGURE_ENV+= NINJAFLAGS="-j${MAKE_JOBS_NUMBER}" \ + NINJA_PATH="${LOCALBASE}/bin/ninja" \ + PATH=${CONFIGURE_WRKSRC}/bin:${LOCALBASE}/bin:${PATH} +MAKE_ENV+= CC="${CC}" CXX="${CXX}" \ + C_INCLUDE_PATH=${LOCALBASE}/include \ + CPLUS_INCLUDE_PATH=${LOCALBASE}/include \ + ${CONFIGURE_ENV} +# Avoid running multiple make(1) jobs, but only those. Otherwise the build +# fails intermittently due race conditions if multiple ninja instances are +# running at the same time (mostly for the targets "WebEngineCore" and +# "convert_dict"). +# +# MAKE_JOBS_UNSAFE is too invasive because it also affects the number of jobs +# for ninja(1) and would slow everything down which we don't want. We pass the +# real number of make jobs via MAKE_JOBS_NUMBER to ninja(1) to CONFIGURE_ENV. +DO_MAKE_BUILD= ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} -j1 ${MAKE_ARGS:N${DESTDIRNAME}=*} + +BINARY_ALIAS= python=${PYTHON_CMD} + +# Add extra-patch-no-mempcpy-nasm only when there's no mempcpy() in base. +# Nested variable expansion avoids executing the test when not needed for +# expanding EXTRA_PATCHES. +# mempcpy was introduced in ee37f64cf875255338f917a9da76c643cf59786c +EXTRA_PATCHES+= ${"${:!${GREP} mempcpy ${CROSS_SYSROOT}/usr/include/string.h \ + || ${TRUE}!}" == "":?${PATCHDIR}/extra-patch-no-mempcpy-nasm:} + +DISTINFO_FILE= ${.CURDIR}/distinfo +QT6_VERSION= 6.4.2 + +OPTIONS_DEFAULT= ALSA +OPTIONS_SINGLE= AUDIO +OPTIONS_SINGLE_AUDIO= ALSA PULSEAUDIO SNDIO + +AUDIO_DESC= Audio backend + +# Need the alsa plugins to get sound at runtime, otherwise messages +# that the pcm_oss plugin can't be opened. +ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +ALSA_RUN_DEPENDS= alsa-plugins>=0:audio/alsa-plugins +ALSA_CMAKE_ON= -DQT_FEATURE_webengine_system_alsa:BOOL=ON +ALSA_CMAKE_OFF= -DQT_FEATURE_webengine_system_alsa:BOOL=OFF +PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio +PULSEAUDIO_CMAKE_ON= -DQT_FEATURE_webengine_system_pulseaudio:BOOL=ON +PULSEAUDIO_CMAKE_OFF= -DQT_FEATURE_webengine_system_pulseaudio:BOOL=OFF +SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio +SNDIO_CMAKE_ON= -DQT_FEATURE_webengine_system_sndio:BOOL=ON +SNDIO_CMAKE_OFF= -DQT_FEATURE_webengine_system_sndio:BOOL=OFF + +.include <bsd.port.pre.mk> + +.if ${ARCH} == i386 +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-i386-compress_files_js +.endif + +post-extract: + @${MKDIR} ${WRKSRC}/src/3rdparty/chromium/media/audio/sndio \ + ${WRKSRC}/src/3rdparty/chromium/sandbox/policy/freebsd \ + ${WRKSRC}/src/3rdparty/chromium/sandbox/policy/openbsd + +post-patch: + @${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|' \ + ${WRKSRC}/CMakeLists.txt + @${REINPLACE_CMD} -e 's|%%CPPFLAGS%%|${CPPFLAGS}|;s|%%CXXFLAGS%%|${CXXFLAGS}|;s|%%LDFLAGS%%|${LDFLAGS}|' \ + ${WRKSRC}/src/host/BUILD.toolchain.gn.in + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ + ${WRKSRC}/src/3rdparty/chromium/third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp \ + ${WRKSRC}/src/3rdparty/chromium/third_party/wayland/features.gni + +pre-configure: +# We used to remove bundled libraries to be sure that webengine uses +# system libraries and not shipped ones. +# +# Leads to missing header errors: icu, libvpx, libwebp, re2, snappy, zlib +# No-Op: flac +# +# cd ${WRKSRC} && ${PYTHON_CMD} \ +# ./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] + cd ${WRKSRC}/src/3rdparty/chromium && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ + ./build/linux/unbundle/replace_gn_files.py --system-libraries \ + fontconfig freetype harfbuzz-ng libdrm libevent libpng libxml libxslt openh264 opus || ${FALSE} + +.include <bsd.port.post.mk> diff --git a/www/qt6-webengine/distinfo b/www/qt6-webengine/distinfo new file mode 100644 index 000000000000..f6a54f0fbaf2 --- /dev/null +++ b/www/qt6-webengine/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1673107224 +SHA256 (KDE/Qt/6.4.2/qtwebengine-everywhere-src-6.4.2.tar.xz) = ffa945518d1cc8d9ee73523e8d9c2090844f5a2d9c7eac05c4ad079472a119c9 +SIZE (KDE/Qt/6.4.2/qtwebengine-everywhere-src-6.4.2.tar.xz) = 440538956 diff --git a/www/qt6-webengine/files/extra-patch-i386-compress_files_js b/www/qt6-webengine/files/extra-patch-i386-compress_files_js new file mode 100644 index 000000000000..80ea9a241cf1 --- /dev/null +++ b/www/qt6-webengine/files/extra-patch-i386-compress_files_js @@ -0,0 +1,14 @@ +Reduce Brotli compression on i386 to have more memory available. Otherwise, +node.js stops with either SIGSEGV or SIGABRT after ~530 processed files. + +--- src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/compress_files.js.orig 2023-01-10 09:16:05 UTC ++++ src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/compress_files.js +@@ -52,7 +52,7 @@ async function brotli(sourceData, compressedFilename) + output.write(Buffer.from(brotliConst)); + output.write(Buffer.from(sizeHeader)); + return new Promise((resolve, reject) => { +- pipeline(Readable.from(sourceData), zlib.createBrotliCompress(), output, err => { ++ pipeline(Readable.from(sourceData), zlib.createBrotliCompress({ params: { [zlib.constants.BROTLI_PARAM_QUALITY]: 5 } }), output, err => { + return err ? reject(err) : resolve(); + }); + }); diff --git a/www/qt6-webengine/files/extra-patch-no-mempcpy-nasm b/www/qt6-webengine/files/extra-patch-no-mempcpy-nasm new file mode 100644 index 000000000000..b9b39c0d846a --- /dev/null +++ b/www/qt6-webengine/files/extra-patch-no-mempcpy-nasm @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/nasm/config/config-linux.h.orig 2022-06-08 06:40:31 UTC ++++ src/3rdparty/chromium/third_party/nasm/config/config-linux.h +@@ -336,7 +336,7 @@ + #define HAVE_MEMORY_H 1 + + /* Define to 1 if you have the `mempcpy' function. */ +-#define HAVE_MEMPCPY 1 ++/* #undef HAVE_MEMPCPY */ + + /* Define to 1 if you have a working `mmap' system call. */ + #define HAVE_MMAP 1 diff --git a/www/qt6-webengine/files/patch-CMakeLists.txt b/www/qt6-webengine/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..bf0b352933df --- /dev/null +++ b/www/qt6-webengine/files/patch-CMakeLists.txt @@ -0,0 +1,15 @@ +Set the actual version of www/qt6-webengine, otherwise the version of qt6-base, +which is present in the ports tree, would be assumed and used during +compilation. + +--- CMakeLists.txt.orig 2023-01-06 21:06:32 UTC ++++ CMakeLists.txt +@@ -12,7 +12,7 @@ project(QtWebEngine + find_package(Qt6 6.2 CONFIG REQUIRED COMPONENTS BuildInternals Core) + + project(QtWebEngine +- VERSION ${Qt6Core_VERSION} ++ VERSION %%DISTVERSION%% + DESCRIPTION "QtWebEngine and QtPdf modules" + HOMEPAGE_URL "https://qt.io/" + LANGUAGES CXX C diff --git a/www/qt6-webengine/files/patch-cmake_Functions.cmake b/www/qt6-webengine/files/patch-cmake_Functions.cmake new file mode 100644 index 000000000000..a517ad1cb479 --- /dev/null +++ b/www/qt6-webengine/files/patch-cmake_Functions.cmake @@ -0,0 +1,104 @@ +--- cmake/Functions.cmake.orig 2022-11-08 21:18:48 UTC ++++ cmake/Functions.cmake +@@ -429,7 +429,7 @@ function(add_linker_options target buildDir completeSt + set(archives_rsp "${buildDir}/${ninjaTarget}_archives.rsp") + set(libs_rsp "${buildDir}/${ninjaTarget}_libs.rsp") + set_target_properties(${cmakeTarget} PROPERTIES STATIC_LIBRARY_OPTIONS "@${objects_rsp}") +- if(LINUX) ++ if(LINUX OR FREEBSD) + get_gn_arch(cpu ${TEST_architecture_arch}) + if(CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm" AND ${config} STREQUAL "Debug") + target_link_options(${cmakeTarget} PRIVATE "LINKER:--long-plt") +@@ -667,6 +667,8 @@ function(get_gn_os result) + set(${result} "mac" PARENT_SCOPE) + elseif(IOS) + set(${result} "ios" PARENT_SCOPE) ++ elseif(FREEBSD) ++ set(${result} "freebsd" PARENT_SCOPE) + else() + message(DEBUG "Unrecognized OS") + endif() +@@ -854,7 +856,7 @@ macro(append_build_type_setup) + + extend_gn_list(gnArgArg + ARGS enable_precompiled_headers +- CONDITION BUILD_WITH_PCH AND NOT LINUX ++ CONDITION BUILD_WITH_PCH AND NOT (LINUX OR FREEBSD) + ) + extend_gn_list(gnArgArg + ARGS dcheck_always_on +@@ -902,7 +904,7 @@ macro(append_compiler_linker_sdk_setup) + use_libcxx=true + ) + endif() +- if(DEFINED QT_FEATURE_stdlib_libcpp AND LINUX) ++ if(DEFINED QT_FEATURE_stdlib_libcpp AND (LINUX OR FREEBSD)) + extend_gn_list(gnArgArg ARGS use_libcxx + CONDITION QT_FEATURE_stdlib_libcpp + ) +@@ -930,7 +932,7 @@ macro(append_compiler_linker_sdk_setup) + ) + endif() + get_gn_arch(cpu ${TEST_architecture_arch}) +- if(LINUX AND CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm") ++ if((LINUX OR FREEBSD) AND CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm") + + extend_gn_list_cflag(gnArgArg + ARG arm_tune +@@ -997,7 +999,7 @@ macro(append_toolchain_setup) + endmacro() + *** 20400 LINES SKIPPED ***