summaryrefslogtreecommitdiff
path: root/dev-qt/qtwebengine
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtwebengine')
-rw-r--r--dev-qt/qtwebengine/Manifest6
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch30
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch83
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch39
-rw-r--r--dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild282
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."
-}