Page MenuHomeFreeBSD

www/qt5-webengine: Update to 5.15.2
ClosedPublic

Authored by kai on Dec 12 2020, 12:09 PM.

Details

Reviewers
kai
Group Reviewers
kde
Commits
rP558439: www/qt5-webengine: Update to 5.15.2
Summary
* 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.
Test Plan

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
Unit Tests Skipped

Event Timeline

kai requested review of this revision.Dec 12 2020, 12:09 PM

Moin moin

Awesome work as always :) -- I noticed one little thing while reading the wall of patches :P

Macro seemslegit:

www/qt5-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc
7

^ 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)).
But probably fine to let it in until 11 is dead. But it should likely be %%LOCALBASE%% as in the other places :)

Removed another hardcoding of ${LOCALBASE} in linux_util.cc as pointed out by @tcberner.

kai marked an inline comment as done.Dec 12 2020, 11:52 PM
kai added inline comments.
www/qt5-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc
7

Good catch, thanks! :)

kai marked an inline comment as done.Dec 18 2020, 5:34 PM

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.

In D27587#618545, @kai wrote:

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.

Ship it :)

Set review as approved as noted by @tcberner .

This revision is now accepted and ready to land.Dec 27 2020, 1:36 PM

Manually close this review as www/qt5-webengine was updated to 5.15.2 in rP558439 .