diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-12-20 01:53:29 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-12-20 01:53:29 +0000 |
commit | 54d0ccbac3b6fbd01dcd252ea006d4e9e62f8e6e (patch) | |
tree | fc8f42b6568c9de11a72455118288dee202ce586 /dev-qt/qtwebengine | |
parent | 3f0a9aff8dc766c410952343d02561aab3eda2b9 (diff) |
gentoo auto-resync : 20:12:2023 - 01:53:29
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r-- | dev-qt/qtwebengine/Manifest | 6 | ||||
-rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch | 30 | ||||
-rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch | 83 | ||||
-rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch | 39 | ||||
-rw-r--r-- | dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild | 282 |
5 files changed, 0 insertions, 440 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index b8d6dd503a1c..d7ab3842b6b6 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -1,22 +1,16 @@ AUX qtwebengine-5.15.11_p20231120-libxml2-2.12.patch 2123 BLAKE2B 9b072e47d6c46fd2da85472dc7d73dded38930c7522e72cc2524a2cf72a117d730ea8743eff7d01d4725738e5db119d611907f97b161a6dfd99b9cb49c047e88 SHA512 43d53e27e5cfb98006546f53194febbf19407f6f00d0c33350b1eaa179484646a49685cc281a2e188571bf9d7b266537ff584a8c327c9ab27bff4b0a10df7f2d AUX qtwebengine-5.15.2-enable-ppc64.patch 1249 BLAKE2B b8b9957bbf848ee8b19e4a7d43f1bfb8c2e63e691f2f0c4b10ef5367bc71b12fb6d161767f7669825e423c08af83e70ff744dd08facf92281c431de90a36847e SHA512 8e29e4e3c2085e5bba9c5a6ce7b366814767bb421132474cae413bba81217a70aec941b09a63d1f914c1e6b9e417b108df236d0b9d39e0df4b4d74111ddcda47 AUX qtwebengine-5.15.2_p20210521-clang-libc++.patch 358 BLAKE2B a03de632ac4e01cf56c52af3a3bd5ff5bcfd525c67bf2e5d960904a9f3b53e1fa18f0e0df380c0cf84f17914fb313a028e26efaefe6ab5057f0d9a9cf2f6f0fd SHA512 6dc3864064d6084e70d4696fda744701c293ee62e9c9088e3247988ffb8085f30c632e94ac19aef715cbd211b21dfcb98691d5809e21cffd9f04bbb8b04cf0da -AUX qtwebengine-6.5.2-cstdint.patch 1082 BLAKE2B 0d3376d82ef1758451c8e9ce56ede52e16be486610431357eea9061e19cd78c8f53b66d46ad969b148ff847d921c78ae25fd329efc5cff776e6c99aa16c2c2fa SHA512 fe88703eb39ba713a166c211b17619fa6e31124339b8736a3c5b511556c5249ab8302d9ec8d8702292a318c5df201a1bd96ac2c82e6742fbc5d3782b7cd0207b -AUX qtwebengine-6.5.2-libcxx17.patch 2548 BLAKE2B bd2ebe5f51505dd20d0fd65a0ad90b7afb106719f5f531c2de95fccc7720255e13dfa7161dda1284fa9da668e81c7df00a59136ed8e355c6ac0f8d335ad76220 SHA512 ec2f96691bd739ad4f3f4d7c0909491ea3a0942e33d701210b368c49c24e99d09c8ea29afeddf6d24678b92d985022dd39e8d05defece0e6a624d794c5f412d8 AUX qtwebengine-6.5.3-icu74.patch 661 BLAKE2B b6cb9697871596331a0faa21451d9927a6dfcabc14ac8a6ff8e47f446dbcf617bb3a231e23f25df4382bf928814fb110a0134a70246a9bafb436f66054dcc98e SHA512 bc9d1613f1b59f4442e355d4b679ea81448d1b6f5e6f3e08e2bba2441a98a4b6ff74917fa9aafae8776eaf7002df86fb0fb34002d421894e5e511b32bbf6878b -AUX qtwebengine-6.5.3-libxml2-2.12.patch 1616 BLAKE2B 0e7cfd4801d1d3f213e41b9491809c3b5d9f15e94f6241fc000da53d20dca9b3fb0a7a91517f7319d5474aed38311631dcb629235a528cf98362084219901bde SHA512 70eeed913b17719da02ca9d1af6d05655d9e6e9557b8a7f433b9a6a66043cd09364ca1d7bd402ce620511a8eb50e47917890185ad5e39d04d0c254d1a374fd50 AUX qtwebengine-6.6.1-gcc14.patch 641 BLAKE2B b2a57b8818861d7e64e16c2a803f57c271001f7ab1f7645548e70e20f5f647a6f8e4ea99e8e965404856d3daf8ca68400cba3ef80872760baaee7bc8daf4cf82 SHA512 4f8bef3b2ddf39747f61af8d9bd88e49f64185d6a6aef15dc66fbf5af54f4dab840357074972d181fea5a96f10a8c00e736163ae12a83b9d2d8246c497ef1fb9 DIST qtwebengine-5.15-ffmpeg-ppc64le.tar.xz 12080 BLAKE2B cfab4f02b8fac8ae7585eda0539f8adf988413aa52503caca3a347a62f75584efb42bcfa4832aadfc51fb98073f4ed3ddfc9701caf570e7186e0e1357af9569f SHA512 e0275ac4eb8d113581fc4fdf42be831903496b6ed95dca5b3d88113107e5453ee8c40df0e2956dd4e343b08e09c57607b1b82a78bf77a780225ff0030a249cef DIST qtwebengine-5.15.10_p20230815-patchset.tar.xz 44880 BLAKE2B 6179ca4ad69f922cfa8ab8528bd571a326b3340f810f05782d808d67b6310de079d84ca6f769bd532f0fe375a702f0d348e02cfbf6b3f2d5c30ac668e1005bef SHA512 a323bdd8afeb41a97febf587bb0994a937c78ed470e077a2b482dca7e04bc4eb9cf75b2d2707236574d6586189ff3d27e42f437930dedd85b47a77e18ffc8fa3 DIST qtwebengine-5.15.11_p20231120.tar.xz 299212012 BLAKE2B 4f9fc9e3f380377f1eeaa8b04c6622c9e25d8b11151cccf7a04ef7dea88e4870db704dda3b303196e40bc8c1c6e76f495f911de5a74769b633952e35718a85de SHA512 2d64edf0ec5322e25a6decfd92a1b1170135c852a8d154d30a336b894bfc4c24f08cb5c88028c68a4f74e6bd6767aaf827a5fa08a82a70fd49e1fa064ee56f27 DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e -DIST qtwebengine-6.5-patchset-1.tar.xz 12936 BLAKE2B f44af36689596da0177f0607cf242d9cce3c376f4a5c28d7902a6b44651ce9272d745a824580268e999c2d58b72424d72eb6027d7461184bf7f04e0223e5195f SHA512 f639eb09d18c19c7b0d422d6acdce62404be0fcce905374c5d47266340191f7ca66875680bb09d80e72db718e34b7dc6e7db5f2f16407a0edb892930513ea407 DIST qtwebengine-6.6-patchset-5.tar.xz 9520 BLAKE2B 28d620841613b2cc677f7742c35c6b8ffc533e26cb3fd85edd455a5450344594a75f790402ac5bc8d19e8e8aa788d0a3244a3a81d127dbebd53e8224798382c1 SHA512 c0bc470fd25c5a835000618618aad7db17994863304140e73e8e261c620aad512453bdf6fbecf99dfb2e267590003a9730fa2c102db9dfdbd5e931ec850f9f05 DIST qtwebengine-6.7-patchset-1.tar.xz 8704 BLAKE2B cc2aff71bedf6f1a5328dc9eb5e54308de806373348c38674e879a8f61a1c6a3eb7948e6fe03ef77160afa7c226f820be1d49d0e0e4c5ef40b118ff788595961 SHA512 5e65a445c8e443257a2a74d4804273a6dca0a951f152cd935f041f51a7fb18c8608511e643deb193194ce4c2d3ec3489fe39c9da5e2eeaa0a047bf246e3da09c -DIST qtwebengine-everywhere-src-6.5.3.tar.xz 412372456 BLAKE2B 131b4baf0267e77e1356568867db26fe86af165ddbd9abb5f2c6121e757011f5e18dfc41b30342eebf5d53f54492a20c1c77309782355b369b73c088d2102814 SHA512 8634eac4931fb27a0ded417de901955774d001dc74dc5779b216519b6b79f0a30f0774224abb14dffef779ca9df1cf384f822f9d5190e4d80b9f6ab0d012bc49 DIST qtwebengine-everywhere-src-6.6.1.tar.xz 421042656 BLAKE2B 6982a1884d66162cc3c8518125c655d60ced9ec9e81670fb2e5b193aab655c4516bbc50d3c774764385fbe372863fdbf3e03a3c35f07dd9c3119880266b3131e SHA512 d1e4f5b664f8aca5e0a5927968be87e29e29172f1256f21dc6a29006258fb2be2be99b5b36c94a08c704580db9fac7defbb37193534129a21ca14a511fcdeea0 EBUILD qtwebengine-5.15.11_p20231120.ebuild 8976 BLAKE2B 1adc0e6d30ddaea9a90ecd59ce1ccd05b448e5bb0b8e75a5b3ae20b2e262d7a73ddbc248e4638500fe43a4441584f4a1a62b2d67cdcc2b84476bac389c48e5bb SHA512 01bc61459b5d2e88cb7745975a1ed348f4a578843444f070103e89786ce72d7f895a8077d6e794a7e7ce29d60a88f8dcf0fbbbbffffc125a78b10176526d5fe9 -EBUILD qtwebengine-6.5.3.ebuild 8451 BLAKE2B df18c7315a557f3f2c17928be65438fb6243fab5fa0c252eb05bb95b598417125c6c7e0391e5b221aa9b81fb8e7abade9067c64d33ffa3b5fef17fc0785d736f SHA512 9209e78fc721da85aa16f32c530de7fac53dc5b000119e11e2e2e6f1d9a5ee26c66f0668239a51e2fe75390b73a76726384d7826e4f1b4c41f6942fb951d0a9a EBUILD qtwebengine-6.6.1.ebuild 8728 BLAKE2B 43b12fff49fa6dda0342e9f3c3896dcff0de2232c779d36da98e6be658852f33067acea88353e73721a91b1306ee22f679546c803d9efe5da1a11e94140afd9f SHA512 084d35fd2a950d45f96683d793a05921c7deffb13824869af14e28be813711ff094ee13073aff8653e5407b037bc66d5a291cf3fa6eec6097609c5e8b5805793 EBUILD qtwebengine-6.6.9999.ebuild 8729 BLAKE2B 3801b285305859a223edaf10f7d96172952e1798d7d85b96dcbac47e5320e5ee9a292ffe62c8379792b4f224d9a95c82b757b6553345f14b46dfb0c53b4905be SHA512 f7fb72da9dc6a1eef52246b8d732a02e25772b82dbbe66410df96d94bff0b9a68438a2e44090737419e2710b5efd19a4a7beb8b1575ca88bbb241ef3d27813ed EBUILD qtwebengine-6.7.9999.ebuild 8694 BLAKE2B 0672f1830d3761d2cba8a07f045eceee95c4a444531422a963d73bf5012b7928c0dcb935fe4c334acdc0a7c3bf1007fcaa83d5c20b716006d32b6e1b1b37f188 SHA512 df3974a2f27e1a9b002cc7161e211703639dcb63187180485ce2f1e3ec6ab8be29b61175f0ed1b4166c4a9e731b6062919cb5ec6ae085d29d8b6e650a4daef6b diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch deleted file mode 100644 index 7de101830553..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch +++ /dev/null @@ -1,30 +0,0 @@ -Patch status: limbo, partially needs upstreaming - -Only manifests as an issue with gcc-13+musl which does not transitively -include cstdint / stdint.h for the int32/64_t usage. - -Partially fixed by [1] (>=chromium-110.0.5434.0) given it removes the -int64_t usage altogether in seed_response.h. - -See also [2] which fixed this for the 87 branch in Qt5. - -[1] https://crrev.com/01e21a077a0354d85e8359195613c2781f67a3a2 -[2] https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/489133 ---- a/src/3rdparty/chromium/components/variations/seed_response.h -+++ b/src/3rdparty/chromium/components/variations/seed_response.h -@@ -7,2 +7,3 @@ - -+#include <cstdint> - #include <string> ---- a/src/3rdparty/chromium/gpu/config/gpu_driver_bug_workarounds.h -+++ b/src/3rdparty/chromium/gpu/config/gpu_driver_bug_workarounds.h -@@ -7,2 +7,3 @@ - -+#include <cstdint> - #include <vector> ---- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/file_wrapper.h -+++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/file_wrapper.h -@@ -16,2 +16,3 @@ - -+#include <cstdint> - #include <string> diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch deleted file mode 100644 index 8acbbf4463ce..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch +++ /dev/null @@ -1,83 +0,0 @@ -Patch status: fixed in >=chromium-116.0.5809.0 - -Backport of [2][3] in order to fix building with libcxx-17 -(and hopefully runtime if upgrade from 16->17 without rebuilding). - -In order to apply cleanly, also needed [4] which seems fine to have. - -[1] https://crbug.com/1449299 -[2] https://crrev.com/9bfbbffdba73668fdb483e5a850911d2b64c35d7 -[3] https://crrev.com/4878976cd7391fbc02f87af4b7fb539b5c1f3817 -[4] https://crrev.com/5b5551edd3961481e617e510276b9f015a35b861 ---- a/src/3rdparty/chromium/base/containers/checked_iterators.h -+++ b/src/3rdparty/chromium/base/containers/checked_iterators.h -@@ -24,4 +24,7 @@ - using reference = T&; - using iterator_category = std::random_access_iterator_tag; -+#if defined(__cpp_lib_ranges) -+ using iterator_concept = std::contiguous_iterator_tag; -+#endif - - // Required for converting constructor below. -@@ -31,8 +34,6 @@ - // Required for certain libc++ algorithm optimizations that are not available - // for NaCl. --#if defined(_LIBCPP_VERSION) && !BUILDFLAG(IS_NACL) - template <typename Ptr> - friend struct std::pointer_traits; --#endif - - constexpr CheckedContiguousIterator() = default; -@@ -147,4 +148,10 @@ - } - -+ constexpr friend CheckedContiguousIterator operator+( -+ difference_type lhs, -+ const CheckedContiguousIterator& rhs) { -+ return rhs + lhs; -+ } -+ - constexpr CheckedContiguousIterator& operator-=(difference_type rhs) { - if (rhs < 0) { -@@ -218,5 +225,4 @@ - } // namespace base - --#if defined(_LIBCPP_VERSION) && !BUILDFLAG(IS_NACL) - // Specialize both std::__is_cpp17_contiguous_iterator and std::pointer_traits - // for CCI in case we compile with libc++ outside of NaCl. The former is -@@ -236,11 +242,28 @@ - // [2] https://wg21.link/std.iterator.tags - // [3] https://wg21.link/pointer.traits.optmem --namespace std { -+ -+#if defined(_LIBCPP_VERSION) -+ -+_LIBCPP_BEGIN_NAMESPACE_STD - - template <typename T> -+struct __is_cpp17_contiguous_iterator; -+template <typename T> - struct __is_cpp17_contiguous_iterator<::base::CheckedContiguousIterator<T>> - : true_type {}; - - template <typename T> -+struct __libcpp_is_contiguous_iterator; -+template <typename T> -+struct __libcpp_is_contiguous_iterator<::base::CheckedContiguousIterator<T>> -+ : true_type {}; -+ -+_LIBCPP_END_NAMESPACE_STD -+ -+#endif -+ -+namespace std { -+ -+template <typename T> - struct pointer_traits<::base::CheckedContiguousIterator<T>> { - using pointer = ::base::CheckedContiguousIterator<T>; -@@ -261,5 +284,4 @@ - - } // namespace std --#endif - - #endif // BASE_CONTAINERS_CHECKED_ITERATORS_H_ diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch deleted file mode 100644 index d725f3209106..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch +++ /dev/null @@ -1,39 +0,0 @@ -Patch status: fixed in >=chromium-121.0.6104.0 with caveat - -Fix build failure[1] with libxml2-2.12 due xmlError changes. - -For convenience, use LIBXML_VERSION like webkit did[2] rather than -chromium's upstream fix[3] which relies on bundled libxml2 always -being 2.12.x (spares having to use has_version). - -When fix lands in qtwebengine, will need to depend on >=libxml2-2.12 -unless Qt decides to do something different considering that cmake -uses system libxml2 by default and it may be too early to enforce it. - -[1] https://bugs.gentoo.org/917601 -[2] https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b -[3] https://crrev.com/871f8ae9b65ce2679b0bc0be36902d65edf0c1e4 ---- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h -+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h -@@ -78,5 +78,9 @@ - void reset(); - -+#if LIBXML_VERSION >= 21200 -+ static void ParseErrorFunc(void* user_data, const xmlError*); -+#else - static void ParseErrorFunc(void* user_data, xmlError*); -+#endif - static void GenericErrorFunc(void* user_data, const char* msg, ...); - ---- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc -+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc -@@ -67,5 +67,9 @@ - } - -+#if LIBXML_VERSION >= 21200 -+void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) { -+#else - void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) { -+#endif - FrameConsole* console = static_cast<FrameConsole*>(user_data); - if (!console) diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild deleted file mode 100644 index 5d33443cde3c..000000000000 --- a/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild +++ /dev/null @@ -1,282 +0,0 @@ -# Copyright 2021-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 3.12 needs QTBUG-117979 (see also QTBUG-115512) -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE="xml(+)" -inherit check-reqs flag-o-matic multiprocessing optfeature -inherit prefix python-any-r1 qt6-build toolchain-funcs - -DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications" -SRC_URI+=" - https://dev.gentoo.org/~ionen/distfiles/${PN}-6.5-patchset-1.tar.xz -" - -if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="amd64" -fi - -IUSE=" - +alsa bindist custom-cflags designer geolocation +jumbo-build kerberos - opengl pdfium pulseaudio qml screencast +system-icu vulkan +widgets -" -REQUIRED_USE=" - designer? ( qml widgets ) -" - -# dlopen: krb5, pciutils, udev -RDEPEND=" - app-arch/snappy:= - dev-libs/expat - dev-libs/libevent:= - dev-libs/libxml2[icu] - dev-libs/libxslt - dev-libs/nspr - dev-libs/nss - ~dev-qt/qtbase-${PV}:6[gui,opengl=,vulkan?,widgets?] - ~dev-qt/qtwebchannel-${PV}:6[qml?] - media-libs/fontconfig - media-libs/freetype - media-libs/harfbuzz:= - media-libs/lcms:2 - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/libvpx:= - media-libs/libwebp:= - media-libs/openjpeg:2= - media-libs/opus - sys-apps/dbus - sys-apps/pciutils - sys-libs/zlib:=[minizip] - virtual/libudev - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libXtst - x11-libs/libxcb:= - x11-libs/libxkbcommon - x11-libs/libxkbfile - alsa? ( media-libs/alsa-lib ) - designer? ( ~dev-qt/qttools-${PV}:6[designer] ) - geolocation? ( ~dev-qt/qtpositioning-${PV}:6 ) - kerberos? ( virtual/krb5 ) - pulseaudio? ( media-libs/libpulse[glib] ) - qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) - screencast? ( - dev-libs/glib:2 - media-libs/mesa[gbm(+)] - media-video/pipewire:= - x11-libs/libdrm - ) - system-icu? ( dev-libs/icu:= ) - widgets? ( ~dev-qt/qtdeclarative-${PV}:6[widgets] ) -" -DEPEND=" - ${RDEPEND} - media-libs/libglvnd - x11-base/xorg-proto - x11-libs/libxshmfence - screencast? ( media-libs/libepoxy[egl(+)] ) - pdfium? ( net-print/cups ) - test? ( - widgets? ( app-text/poppler[cxx(+)] ) - ) -" -BDEPEND=" - $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]') - dev-util/gperf - net-libs/nodejs[ssl] - sys-devel/bison - sys-devel/flex -" - -PATCHES=( "${WORKDIR}"/patches/${PN} ) -[[ ${PV} == 6.9999 ]] || # keep for 6.x.9999 - PATCHES+=( "${WORKDIR}"/patches/chromium ) - -PATCHES+=( - # add extras as needed here, may merge in set if carries across versions - "${FILESDIR}"/${PN}-6.5.2-libcxx17.patch - "${FILESDIR}"/${PN}-6.5.2-cstdint.patch - "${FILESDIR}"/${PN}-6.5.3-icu74.patch - "${FILESDIR}"/${PN}-6.5.3-libxml2-2.12.patch -) - -python_check_deps() { - python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]" -} - -qtwebengine_check-reqs() { - [[ ${MERGE_TYPE} == binary ]] && return - - if is-flagq '-g?(gdb)?([1-9])'; then #307861 - ewarn - ewarn "Used CFLAGS/CXXFLAGS seem to enable debug info (-g or -ggdb), which" - ewarn "is non-trivial with ${PN}. May experience extended compilation" - ewarn "times, increased disk/memory usage, and potentially link failure." - ewarn - ewarn "If run into issues, please try disabling before reporting a bug." - fi - - local CHECKREQS_DISK_BUILD=7G - local CHECKREQS_DISK_USR=220M - - if ! has distcc ${FEATURES}; then #830661 - # assume ~2GB per job or 1.5GB if clang, possible with less - # depending on free memory and *FLAGS, but prefer being safe as - # users having OOM issues with qtwebengine been rather common - tc-is-clang && : 15 || : 20 - local CHECKREQS_MEMORY=$(($(makeopts_jobs)*_/10))G - fi - - check-reqs_${EBUILD_PHASE_FUNC} #570534 -} - -pkg_pretend() { - qtwebengine_check-reqs -} - -pkg_setup() { - qtwebengine_check-reqs - python-any-r1_pkg_setup -} - -src_prepare() { - qt6-build_src_prepare - - # for www-plugins/chrome-binary-plugins (widevine) search paths on prefix - hprefixify -w /Gentoo/ src/core/content_client_qt.cpp - - # store chromium versions, only used in postinst for a warning - local chromium - mapfile -t chromium < CHROMIUM_VERSION || die - [[ ${chromium[1]} =~ ^Based.*:[^0-9]+([0-9.]+$) ]] && - QT6_CHROMIUM_VER=${BASH_REMATCH[1]} || die - [[ ${chromium[2]} =~ ^Patched.+:[^0-9]+([0-9.]+$) ]] && - QT6_CHROMIUM_PATCHES_VER=${BASH_REMATCH[1]} || die -} - -src_configure() { - local mycmakeargs=( - $(qt_feature pdfium qtpdf_build) - $(qt_feature qml qtpdf_quick_build) - $(qt_feature widgets qtpdf_widgets_build) - - -DQT_FEATURE_qtwebengine_build=ON - $(qt_feature qml qtwebengine_quick_build) - $(qt_feature widgets qtwebengine_widgets_build) - - $(cmake_use_find_package designer Qt6Designer) - - $(qt_feature alsa webengine_system_alsa) - $(qt_feature !bindist webengine_proprietary_codecs) - $(qt_feature geolocation webengine_geolocation) - $(qt_feature jumbo-build webengine_jumbo_build) - $(qt_feature kerberos webengine_kerberos) - $(qt_feature pulseaudio webengine_system_pulseaudio) - $(qt_feature screencast webengine_webrtc_pipewire) - $(qt_feature system-icu webengine_system_icu) - $(qt_feature vulkan webengine_vulkan) - -DQT_FEATURE_webengine_embedded_build=OFF - -DQT_FEATURE_webengine_extensions=ON - -DQT_FEATURE_webengine_ozone_x11=ON # needed, cannot do optional X yet - -DQT_FEATURE_webengine_pepper_plugins=ON - -DQT_FEATURE_webengine_printing_and_pdf=ON - -DQT_FEATURE_webengine_spellchecker=ON - -DQT_FEATURE_webengine_webchannel=ON - -DQT_FEATURE_webengine_webrtc=ON - - # needs a modified ffmpeg to be usable, and even then it may not - # cooperate with new major ffmpeg versions (bug #831487) - -DQT_FEATURE_webengine_system_ffmpeg=OFF - - # use bundled re2 to avoid complications, may revisit - # (see discussions in https://github.com/gentoo/gentoo/pull/32281) - -DQT_FEATURE_webengine_system_re2=OFF - - # not necessary to pass these (default), but in case detection fails - $(printf -- '-DQT_FEATURE_webengine_system_%s=ON ' \ - freetype glib harfbuzz lcms2 libevent libjpeg \ - libopenjpeg2 libpci libpng libvpx libwebp libxml \ - minizip opus poppler snappy zlib) - - # TODO: fixup gn cross, or package dev-qt/qtwebengine-gn with =ON - -DINSTALL_GN=OFF - ) - - local mygnargs=( - # prefer no dlopen where possible - link_pulseaudio=true - rtc_link_pipewire=true - ) - - if use !custom-cflags; then - strip-flags # fragile - - if is-flagq '-g?(gdb)?([2-9])'; then #914475 - replace-flags '-g?(gdb)?([2-9])' -g1 - ewarn "-g2+/-ggdb* *FLAGS replaced with -g1 (enable USE=custom-cflags to keep)" - fi - fi - - export NINJA NINJAFLAGS=$(get_NINJAOPTS) - [[ ${NINJA_VERBOSE^^} == OFF ]] || NINJAFLAGS+=" -v" - - local -x EXTRA_GN="${mygnargs[*]} ${EXTRA_GN}" - einfo "Extra Gn args: ${EXTRA_GN}" - - qt6-build_src_configure -} - -src_test() { - if [[ ${EUID} == 0 ]]; then - # almost every tests fail, so skip entirely - ewarn "Skipping tests due to running as root (chromium refuses this configuration)." - return - fi - - local CMAKE_SKIP_TESTS=( - # fails with network sandbox - tst_loadsignals - tst_qquickwebengineview - tst_qwebengineview - # certs verfication seems flaky and gives expiration warnings - tst_qwebengineclientcertificatestore - # test is misperformed when qtbase is built USE=-test? - tst_touchinput - ) - - # prevent using the system's qtwebengine - # (use glob to avoid unnecessary complications with arch dir) - local resources=( "${BUILD_DIR}/src/core/${CMAKE_BUILD_TYPE}/"* ) - [[ -d ${resources[0]} ]] || die "invalid resources path: ${resources[0]}" - local -x QTWEBENGINEPROCESS_PATH=${BUILD_DIR}${QT6_LIBEXECDIR#"${QT6_PREFIX}"}/QtWebEngineProcess - local -x QTWEBENGINE_LOCALES_PATH=${resources[0]}/qtwebengine_locales - local -x QTWEBENGINE_RESOURCES_PATH=${resources[0]} - - # random failures in several tests without -j1 - qt6-build_src_test -j1 -} - -pkg_postinst() { - # plugin may also be found in $HOME if provided by chrome or firefox - use amd64 && - optfeature "Widevine DRM support (protected media playback)" \ - www-plugins/chrome-binary-plugins - - elog - elog "This version of Qt WebEngine is based on Chromium version ${QT6_CHROMIUM_VER}, with" - elog "additional security fixes up to ${QT6_CHROMIUM_PATCHES_VER}. Extensive as it is, the" - elog "list of backports is impossible to evaluate, but always bound to be behind" - elog "Chromium's release schedule." - elog - elog "In addition, various online services may deny service based on an outdated" - elog "user agent version (and/or other checks). Google is already known to do so." - elog - elog "tl;dr your web browsing experience will be compromised." -} |