Gentoo Archives: gentoo-commits

From: Jimi Huotari <chiitoo@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/
Date: Sun, 19 Mar 2023 13:09:50
Message-Id: 1679231202.d4f5f5958ce0fc56fd92c32c9d4523edabd62a1f.chiitoo@gentoo
1 commit: d4f5f5958ce0fc56fd92c32c9d4523edabd62a1f
2 Author: Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
3 AuthorDate: Sun Mar 19 11:27:15 2023 +0000
4 Commit: Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
5 CommitDate: Sun Mar 19 13:06:42 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4f5f595
7
8 dev-qt/qtwebengine: add 6.4.3
9
10 Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
11
12 dev-qt/qtwebengine/Manifest | 1 +
13 dev-qt/qtwebengine/qtwebengine-6.4.3.ebuild | 252 ++++++++++++++++++++++++++++
14 2 files changed, 253 insertions(+)
15
16 diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
17 index 9c51541e07a1..ff91ecba4e92 100644
18 --- a/dev-qt/qtwebengine/Manifest
19 +++ b/dev-qt/qtwebengine/Manifest
20 @@ -3,3 +3,4 @@ DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d140687
21 DIST qtwebengine-5.15.3_p20220406-patchset.tar.xz 35480 BLAKE2B ce6aeebbb3255196611130d04ee7a3907ba45d6d2a283f2433e2176cf67e473e74137b180de0a9998762cc54439bb06825815e81e9f95f9413ce2956ac9308b7 SHA512 47e29a1429dce2db324929af91c8ef8421c75ae48f5a491db71b434f8017a5b1e7475e9938989e331e8e012220852848565242e09747892e1a8a8d3ab7386840
22 DIST qtwebengine-5.15.8_p20230112.tar.xz 320881876 BLAKE2B 681fb4e2c6dfb80f1f2839092bbbd891a0a0d68f6b31dbdfe8693b8ea9a0ecd9611ba692b0565f32fc2ad199de715cf61e333d796df618572f79d9ed88545ffb SHA512 1806e7a3134579a5cfc0c932cc95ffb15edc515c2ff32b01eee9de8245938f95301610cd7b57451a07a9e38451111973b88c1d64a03f1371e58106bf202b143e
23 DIST qtwebengine-everywhere-src-6.4.2.tar.xz 440538956 BLAKE2B df94e0e8e22d11614d0d35002c0e404e6735d75e7b43bef1bfd3d5e1230a997625fe8471d8a9154798cc1f9b9c296c2b697ec70fba0428d509d1352d6d3fafee SHA512 47b184a690d4fa5ccccaa3533903068df7b28825aeb16b7c75e3c7cc29fe0cfdf07501c5f0311926c22852f626b0cd59c836d44527261dc7d5c1efbf7e15439b
24 +DIST qtwebengine-everywhere-src-6.4.3.tar.xz 440562844 BLAKE2B 86155ffbb12bef9dad461c2bb0dc4fce53b269c6f9f61cd1ec49cc25bb0516dcfc903ce8b48751c9c47614d448c2cd290f3f313d5fdfe0a3643534fa7e2e9f3f SHA512 e9e8bdeac942350bf779a9fabfb59ffdfec366ec23cb1c58fa416a777c9399bfa9828107f6a1c079414a8aa52a35d0547e3bd673053d994e19308e11733e0d39
25
26 diff --git a/dev-qt/qtwebengine/qtwebengine-6.4.3.ebuild b/dev-qt/qtwebengine/qtwebengine-6.4.3.ebuild
27 new file mode 100644
28 index 000000000000..0e845c7f19a8
29 --- /dev/null
30 +++ b/dev-qt/qtwebengine/qtwebengine-6.4.3.ebuild
31 @@ -0,0 +1,252 @@
32 +# Copyright 2021-2023 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=8
36 +
37 +PYTHON_COMPAT=( python3_{9..11} )
38 +PYTHON_REQ_USE="xml(+)"
39 +CHROMIUM_VER="102.0.5005.177"
40 +CHROMIUM_PATCHES_VER="110.0.5481.78"
41 +
42 +inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt6-build
43 +
44 +DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
45 +
46 +if [[ ${QT6_BUILD_TYPE} == release ]]; then
47 + KEYWORDS="~amd64"
48 +fi
49 +
50 +IUSE="
51 + alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast
52 + +system-ffmpeg +system-icu widgets
53 +"
54 +REQUIRED_USE="designer? ( widgets )"
55 +
56 +BDEPEND="
57 + $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
58 + dev-util/gperf
59 + dev-util/ninja
60 + dev-util/re2c
61 + net-libs/nodejs[ssl]
62 + sys-devel/bison
63 + sys-devel/flex
64 +"
65 +RDEPEND="
66 + app-arch/snappy:=
67 + dev-libs/glib:2
68 + dev-libs/nspr
69 + dev-libs/nss
70 + dev-libs/expat
71 + dev-libs/libevent:=
72 + dev-libs/libxml2[icu]
73 + dev-libs/libxslt
74 + dev-libs/re2:=
75 + =dev-qt/qtdeclarative-${PV}*
76 + =dev-qt/qtwebchannel-${PV}*
77 + media-libs/fontconfig
78 + media-libs/freetype
79 + media-libs/harfbuzz:=
80 + media-libs/lcms:2
81 + media-libs/libjpeg-turbo:=
82 + media-libs/libpng:=
83 + >=media-libs/libvpx-1.5:=[svc(+)]
84 + media-libs/libwebp:=
85 + media-libs/opus
86 + sys-apps/dbus
87 + sys-apps/pciutils
88 + sys-libs/zlib[minizip]
89 + virtual/libudev
90 + x11-libs/libdrm
91 + x11-libs/libX11
92 + x11-libs/libXcomposite
93 + x11-libs/libXcursor
94 + x11-libs/libxcb:=
95 + x11-libs/libXdamage
96 + x11-libs/libXext
97 + x11-libs/libXfixes
98 + x11-libs/libXi
99 + x11-libs/libxkbcommon
100 + x11-libs/libxkbfile
101 + x11-libs/libXrandr
102 + x11-libs/libXrender
103 + x11-libs/libXScrnSaver
104 + x11-libs/libxshmfence:=
105 + x11-libs/libXtst
106 + alsa? ( media-libs/alsa-lib )
107 + geolocation? ( =dev-qt/qtpositioning-${PV}* )
108 + kerberos? ( virtual/krb5 )
109 + pulseaudio? ( media-libs/libpulse:= )
110 + screencast? ( media-video/pipewire:= )
111 + system-ffmpeg? ( <media-video/ffmpeg-5:= )
112 + system-icu? ( >=dev-libs/icu-69.1:= )
113 + widgets? (
114 + =dev-qt/qtbase-${PV}*[widgets]
115 + )
116 +"
117 +DEPEND="${RDEPEND}
118 + media-libs/libglvnd
119 +"
120 +
121 +python_check_deps() {
122 + python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
123 +}
124 +
125 +qtwebengine_check-reqs() {
126 + # bug #307861
127 + eshopts_push -s extglob
128 + if is-flagq '-g?(gdb)?([1-9])'; then
129 + ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
130 + ewarn "You may experience really long compilation times and/or increased memory usage."
131 + ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
132 + fi
133 + eshopts_pop
134 +
135 + [[ ${MERGE_TYPE} == binary ]] && return
136 +
137 + # (check-reqs added for bug #570534)
138 + #
139 + # Estimate the amount of RAM required
140 + # Multiplier is *10 because Bash doesn't do floating point maths.
141 + # Let's crudely assume ~2GB per compiler job for GCC.
142 + local multiplier=20
143 +
144 + # And call it ~1.5GB for Clang.
145 + if tc-is-clang ; then
146 + multiplier=15
147 + fi
148 +
149 + local CHECKREQS_DISK_BUILD="7G"
150 + local CHECKREQS_DISK_USR="150M"
151 + if ! has "distcc" ${FEATURES} ; then
152 + # bug #830661
153 + # Not super realistic to come up with good estimates for distcc right now
154 + local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
155 + fi
156 +
157 + check-reqs_${EBUILD_PHASE_FUNC}
158 +}
159 +
160 +pkg_pretend() {
161 + qtwebengine_check-reqs
162 +}
163 +
164 +pkg_setup() {
165 + qtwebengine_check-reqs
166 + python-any-r1_pkg_setup
167 +}
168 +
169 +pkg_preinst() {
170 + elog "This version of Qt WebEngine is based on Chromium version ${CHROMIUM_VER}, with"
171 + elog "additional security fixes up to ${CHROMIUM_PATCHES_VER}. Extensive as it is, the"
172 + elog "list of backports is impossible to evaluate, but always bound to be behind"
173 + elog "Chromium's release schedule."
174 + elog "In addition, various online services may deny service based on an outdated"
175 + elog "user agent version (and/or other checks). Google is already known to do so."
176 + elog
177 + elog "tldr: Your web browsing experience will be compromised."
178 +}
179 +
180 +src_unpack() {
181 + # bug 307861
182 + eshopts_push -s extglob
183 + if is-flagq '-g?(gdb)?([1-9])'; then
184 + ewarn
185 + ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
186 + ewarn "You may experience really long compilation times and/or increased memory usage."
187 + ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
188 + ewarn
189 + fi
190 + eshopts_pop
191 +
192 + case ${QT6_BUILD_TYPE} in
193 + live) git-r3_src_unpack ;&
194 + release) default ;;
195 + esac
196 +}
197 +
198 +src_prepare() {
199 + # bug 620444 - ensure local headers are used
200 + find . -type f -name "*.pr[fio]" -exec \
201 + sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' {} + || die
202 +
203 + if use system-icu; then
204 + # Sanity check to ensure that bundled copy of ICU is not used.
205 + # Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
206 + # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
207 + # If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
208 + # shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
209 + # src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
210 + local file
211 + while read file; do
212 + echo "#error This file should not be used!" > "${file}" || die
213 + done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
214 + fi
215 +
216 + qt6-build_src_prepare
217 +}
218 +
219 +src_configure() {
220 + export NINJA_PATH="${BROOT}"/usr/bin/ninja
221 + export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
222 +
223 + local mycmakeargs=(
224 + #-DQT_FEATURE_accessibility=off
225 + #-DQT_FEATURE_force_asserts=off
226 + #-DQT_FEATURE_opengl=off
227 + #-DQT_FEATURE_printer=off
228 + -DQT_FEATURE_qtpdf_build=off
229 + -DQT_FEATURE_qtpdf_quick_build=off
230 + -DQT_FEATURE_qtpdf_widgets_build=off
231 + -DQT_FEATURE_qtwebengine_build=on
232 + -DQT_FEATURE_qtwebengine_quick_build=on
233 + -DQT_FEATURE_qtwebengine_widgets_build=on
234 + #-DQT_FEATURE_ssl=off
235 + #-DQT_FEATURE_static=off
236 + #-DQT_FEATURE_system_zlib=off
237 + #-DQT_FEATURE_system_png=off
238 + #-DQT_FEATURE_system_jpeg=off
239 + #-DQT_FEATURE_system_freetype=off
240 + #-DQT_FEATURE_system_harfbuzz=off
241 + #-DQT_FEATURE_use_gold_linker=off
242 + #-DQT_FEATURE_use_lld_linker=off
243 + -DQT_FEATURE_webengine_embedded_build=off
244 + -DQT_FEATURE_webengine_extensions=on
245 + #-DQT_FEATURE_webengine_full_debug_info=$(usex debug)
246 + -DQT_FEATURE_webengine_geolocation=$(usex geolocation on off)
247 + -DQT_FEATURE_webengine_jumbo_build=$(usex jumbo-build)
248 + #-DQT_FEATURE_webengine_jumbo_file_merge_limit
249 + -DQT_FEATURE_webengine_kerberos=$(usex kerberos on off)
250 + -DQT_FEATURE_webengine_native_spellchecker=off
251 + -DQT_FEATURE_webengine_ozone_x11=on
252 + -DQT_FEATURE_webengine_pepper_plugins=on
253 + -DQT_FEATURE_webengine_proprietary_codecs=$(usex bindist off on)
254 + -DQT_FEATURE_webengine_printing_and_pdf=on
255 + -DQT_FEATURE_webengine_sanitizer=on
256 + -DQT_FEATURE_webengine_spellchecker=on
257 + -DQT_FEATURE_webengine_system_opus=on
258 + -DQT_FEATURE_webengine_system_libwebp=on
259 + -DQT_FEATURE_webengine_system_alsa=$(usex alsa on off)
260 + -DQT_FEATURE_webengine_system_ffmpeg=$(usex system-ffmpeg)
261 + -DQT_FEATURE_webengine_system_icu=$(usex system-icu)
262 + -DQT_FEATURE_webengine_system_libevent=on
263 + -DQT_FEATURE_webengine_system_libpci=on
264 + -DQT_FEATURE_webengine_system_libpng=on
265 + -DQT_FEATURE_webengine_system_pulseaudio=$(usex pulseaudio on off)
266 + -DQT_FEATURE_webengine_system_zlib=on
267 + -DQT_FEATURE_webengine_webchannel=on
268 + -DQT_FEATURE_webengine_webrtc=on
269 + -DQT_FEATURE_webengine_webrtc_pipewire=$(usex screencast on off)
270 + #-DQT_FEATURE_xcb=off
271 + )
272 +
273 + qt6-build_src_configure
274 +}
275 +
276 +src_install() {
277 + qt6-build_src_install
278 +
279 + # bug 601472
280 + if [[ ! -f ${D}${QT6_LIBDIR}/libQt6WebEngine.so ]]; then
281 + die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
282 + fi
283 +}