www/qt6-webengine: fix build with libc++ 17
Building www/qt6-webengine with libc++ 17 results in the following
compile errors:
In file included from gen/base/base_jumbo_2.cc:7:
In file included from ./../../../../../qtwebengine-everywhere-src-6.5.3/src/3rdparty/chromium/base/check.cc:17:
In file included from ../../../../../qtwebengine-everywhere-src-6.5.3/src/3rdparty/chromium/base/debug/crash_logging.h:16:
In file included from ../../../../../qtwebengine-everywhere-src-6.5.3/src/3rdparty/chromium/base/strings/string_number_conversions.h:15:
In file included from ../../../../../qtwebengine-everywhere-src-6.5.3/src/3rdparty/chromium/base/containers/span.h:18:
../../../../../qtwebengine-everywhere-src-6.5.3/src/3rdparty/chromium/base/containers/checked_iterators.h:241:8: error: no template named '__is_cpp17_contiguous_iterator'; did you mean '__libcpp_is_contiguous_iterator'?
241 | struct __is_cpp17_contiguous_iterator<::base::CheckedContiguousIterator<T>>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| __libcpp_is_contiguous_iterator
/usr/include/c++/v1/__iterator/iterator_traits.h:476:8: note: '__libcpp_is_contiguous_iterator' declared here
476 | struct __libcpp_is_contiguous_iterator : _Or<
| ^This is because the copy of chromium in qt6-webengine is missing an
upstream fix for recent libc++ changes, in particular:
https://chromium.googlesource.com/chromium/src/+/9bfbbffdba73668fdb483e5a850911d2b64c35d7
and its dependency:
https://chromium.googlesource.com/chromium/src/+/5b5551edd3961481e617e510276b9f015a35b861
Apply these patches to work around the compile error.
PR: 273753
MFH: 2023Q4