* Under the hood runs Chromium 83.0.4103.122 with security fixes up to version 86.0.4240.183 and patches were taken from r540991 of www/chromium. * Also adjust some patches to avoid hardcoding of ${LOCALBASE} and remove a redundant blank line. Changelog: * [QTBUG-84632] Warn about QtWebengineProcess launching from network share on Windows. * [QTBUG-85363] Handle non-ASCII names for PulseAudio * [QTBUG-85494] Fix regression crash when not handling QQuickWebEngineNewViewRequest * [QTBUG-85817] Fix crashes on resize * [QTBUG-86672] Fix remapped menu key being mapped back to menu key * [QTBUG-86945] Fix crash when opening a PDF in debug build on windows. * [QTBUG-87129] Mention node.js build-time dependency * The QtWebEngineProcess now has a version number * The old compositor has been removed and can no longer be restored using command line argument.
Details
- Reviewers
kai - Group Reviewers
kde - Commits
- rP558439: www/qt5-webengine: Update to 5.15.2
Builds fine on:
- 11.4-RELEASE amd64 i386
- 12.1-RELEASE amd64 i386
- 12.2-RELEASE amd64 i386
- 13.0-CURRENT@r366935 amd64 i386
with either ALSA/PULSE/SNDIO options enabled and with/without DEBUG. On i386 the DEBUG builds fails as expected due limited memory.
Run time tests:
- Rendering of various sites works
- Audio/Video playback (ALSA) works
- Webcam/Microphone works with falkon and otter-browser
Remarks:
- On i386 platforms Mk/Scripts/qa.sh yields following warning:
====> Running Q/A tests (stage-qa) Warning: /wrkdirs/usr/ports/www/qt5-webengine/work/stage/usr/local/lib/qt5/libQt5WebEngineCore.so.5.15.2 doesn't have a SONAME.
It seems to be a false positive which is caused by set -o pipefail and the behavior of grep -q when processing large files. I created a PoC for further review which can be obtained here: https://people.freebsd.org/~kai/poc_qa_check_for_SONAME_on_i386.txt
Open Items:
- Build and test on a native aarch64 system. When compiling in a 13.0-CURRENT aarch64 jail on a amd64 system, it emits following error message:
[11151/21252] ACTION //v8:run_mksnapshot_default(/wrkdirs/usr/ports/www/qt5-webengine/work/.build/src/toolchain:target) FAILED: gen/v8/embedded.S gen/v8/snapshot.cc /wrkdirs/usr/ports/www/qt5-webengine/work/.build/bin/python ../../../../qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/ v8/tools/run.py ./mksnapshot --turbo_instruction_scheduling --target_os=freebsd --target_arch=arm64 --embedded_src gen/v8/embedded.S -- embedded_variant Default --random-seed 314159265 --startup_src gen/v8/snapshot.cc --no-native-code-counters ninja: build stopped: subcommand failed.
On further investigation with another build cycle it seems a issue with QEMU so I'm out of luck here as I don't own a native arm64 platform at the moment:
# cd /wrkdirs/usr/ports/www/qt5-webengine/work/.build/src/core/release # ./mksnapshot --turbo_instruction_scheduling --target_os=freebsd --target_arch=arm64 --embedded_src gen/v8/embedded.S --embedded_variant Default --random-seed 314159265 --startup_src gen/v8/snapshot.cc --no-native-code-counters qemu: uncaught target signal 4 (Illegal instruction) - core dumped Illegal instruction
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Moin moin
Awesome work as always :) -- I noticed one little thing while reading the wall of patches :P
www/qt5-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc | ||
---|---|---|
8 | ^ this is maybe no longer necessary, as FreeBSD now has /etc/os-release (or at least 13 (1300060) and 12 (no idea when it was merged)). |
Removed another hardcoding of ${LOCALBASE} in linux_util.cc as pointed out by @tcberner.
www/qt5-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc | ||
---|---|---|
8 | Good catch, thanks! :) |
I had tried again to build it on 13.0-CURRENT aarch64, but without success (see also updated test plan for further details). It may still be possible to build the whole thing on a native aarch64 platform. I also tend to put an entry in UPDATING again to keep the number of bug reports down due failed builds with non-poudriere environments.
If there are no other issues/suggestions apart from the build issue with aarch64, everything should be ready now.