1 |
commit: 9a20720cd91737be4b926c242608ee06f1d31a5c |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Feb 21 15:36:51 2021 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon May 3 06:25:54 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a20720c |
7 |
|
8 |
dev-qt/qtwebengine: 5.15.2_p20210421 bump, fix build with GCC-11 |
9 |
|
10 |
Snapshotted at: |
11 |
Branch: 5.15.4 |
12 |
Commit: 0d4ca9cfb0d6e538172005e1c4b0b3a021b1c18c |
13 |
|
14 |
Submodule qtwebengine-chromium.git: |
15 |
Branch: 87-based |
16 |
Commit: 3f594ea1afb8b18c864715a796ef21099d432a13 |
17 |
|
18 |
Package-Manager: Portage-3.0.18, Repoman-3.0.2 |
19 |
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> |
20 |
|
21 |
dev-qt/qtwebengine/Manifest | 1 + |
22 |
.../qtwebengine-5.15.2_p20210421.ebuild | 216 +++++++++++++++++++++ |
23 |
2 files changed, 217 insertions(+) |
24 |
|
25 |
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest |
26 |
index 8f706a89789..c90cb18e7b0 100644 |
27 |
--- a/dev-qt/qtwebengine/Manifest |
28 |
+++ b/dev-qt/qtwebengine/Manifest |
29 |
@@ -1,3 +1,4 @@ |
30 |
DIST qtwebengine-5.15.2-chromium87-ppc64le.tar.xz 28536 BLAKE2B 98f8e01e7026d9df1d30ae453d4394d3c4ad04c0620a2496235d45f5f1080c2280e040826cde7f72d9771bfc80d0c3df56c9dcbe4f763cec432ad56de37d64c5 SHA512 c90a76f44a9d720624016fd082ab3036f12e13b9789e869ebaf5e4774afca7d4187faf187f365f696d1a7eda05ca75516556ee9d291cdb3408d57cc4b23e2654 |
31 |
DIST qtwebengine-5.15.2_p20210224.tar.xz 320052028 BLAKE2B a1ebaae7cf114041576f4920de1e484bea70c715a470e83e7c47bd8ff95480fc4e408bba173990480732bd464a9eb07d304f4afdb90d943c0a8cbe1e8299df84 SHA512 939292511703f3a6d758d38f1c860ffacd003be65761b19f23e8817bf1121cb9e6351216f737126d8defb1c97ca877e1c6f352e7cfee8e9289274d0793348b51 |
32 |
DIST qtwebengine-5.15.2_p20210406.tar.xz 320144324 BLAKE2B 45aafc32f4642fee5525f0504d61ed47c3085d5eff566271701805942ce5fcb2233655111592059775991da5b89dc1702031373f6ff171722ed163265d894daa SHA512 c4a0d5fec3247c04acc447c1c819d1e5dcb1d3c0cbb57a87a5cfa5c0c2b765e82c9f75a7297ba57303df5e1004d75dc554ffd70e24ecb8655126136672f38fdb |
33 |
+DIST qtwebengine-5.15.2_p20210421.tar.xz 320142308 BLAKE2B 1ed6e3daad8e8da7336c1575f524f1474eb043a44a86eebdc2375e9a01dbb21a4bf622b01525c627ff5846bb375b19617ca78f418749d6e4ce53b376da0b8317 SHA512 3a57cc8eb1aab086ae2ef69b1b1eaac47827d1f460ff53d5954b0dcb6753cc0e5fb24db490ea186141e6659e26a59862e8096126450a9fde6ed1230c00e4ceaa |
34 |
|
35 |
diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild |
36 |
new file mode 100644 |
37 |
index 00000000000..3aaec6f3807 |
38 |
--- /dev/null |
39 |
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210421.ebuild |
40 |
@@ -0,0 +1,216 @@ |
41 |
+# Copyright 1999-2021 Gentoo Authors |
42 |
+# Distributed under the terms of the GNU General Public License v2 |
43 |
+ |
44 |
+EAPI=7 |
45 |
+ |
46 |
+PYTHON_COMPAT=( python2_7 ) |
47 |
+QTVER=$(ver_cut 1-3) |
48 |
+inherit estack flag-o-matic multiprocessing python-any-r1 qt5-build |
49 |
+ |
50 |
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications" |
51 |
+HOMEPAGE="https://www.qt.io/" |
52 |
+ |
53 |
+if [[ ${QT5_BUILD_TYPE} == release ]]; then |
54 |
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" |
55 |
+ if [[ ${PV} == ${QTVER}_p* ]]; then |
56 |
+ SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz" |
57 |
+ S="${WORKDIR}/${P}" |
58 |
+ QT5_BUILD_DIR="${S}_build" |
59 |
+ fi |
60 |
+else |
61 |
+ EGIT_BRANCH="5.15" |
62 |
+ EGIT_REPO_URI=( |
63 |
+ "https://code.qt.io/qt/${QT5_MODULE}.git" |
64 |
+ "https://github.com/qt/${QT5_MODULE}.git" |
65 |
+ ) |
66 |
+ inherit git-r3 |
67 |
+fi |
68 |
+ |
69 |
+# patchset based on https://github.com/chromium-ppc64le releases |
70 |
+SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-chromium87-ppc64le.tar.xz )" |
71 |
+ |
72 |
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets" |
73 |
+REQUIRED_USE="designer? ( widgets )" |
74 |
+ |
75 |
+RDEPEND=" |
76 |
+ app-arch/snappy:= |
77 |
+ dev-libs/glib:2 |
78 |
+ dev-libs/nspr |
79 |
+ dev-libs/nss |
80 |
+ dev-libs/expat |
81 |
+ dev-libs/libevent:= |
82 |
+ dev-libs/libxml2[icu] |
83 |
+ dev-libs/libxslt |
84 |
+ dev-libs/re2:= |
85 |
+ ~dev-qt/qtcore-${QTVER} |
86 |
+ ~dev-qt/qtdeclarative-${QTVER} |
87 |
+ ~dev-qt/qtgui-${QTVER} |
88 |
+ ~dev-qt/qtnetwork-${QTVER} |
89 |
+ ~dev-qt/qtprintsupport-${QTVER} |
90 |
+ ~dev-qt/qtwebchannel-${QTVER}[qml] |
91 |
+ media-libs/fontconfig |
92 |
+ media-libs/freetype |
93 |
+ media-libs/harfbuzz:= |
94 |
+ media-libs/lcms:2 |
95 |
+ media-libs/libjpeg-turbo:= |
96 |
+ media-libs/libpng:0= |
97 |
+ >=media-libs/libvpx-1.5:=[svc(+)] |
98 |
+ media-libs/libwebp:= |
99 |
+ media-libs/mesa[egl,X(+)] |
100 |
+ media-libs/opus |
101 |
+ sys-apps/dbus |
102 |
+ sys-apps/pciutils |
103 |
+ sys-libs/zlib[minizip] |
104 |
+ virtual/libudev |
105 |
+ x11-libs/libdrm |
106 |
+ x11-libs/libX11 |
107 |
+ x11-libs/libXcomposite |
108 |
+ x11-libs/libXcursor |
109 |
+ x11-libs/libXdamage |
110 |
+ x11-libs/libXext |
111 |
+ x11-libs/libXfixes |
112 |
+ x11-libs/libXi |
113 |
+ x11-libs/libXrandr |
114 |
+ x11-libs/libXrender |
115 |
+ x11-libs/libXScrnSaver |
116 |
+ x11-libs/libXtst |
117 |
+ alsa? ( media-libs/alsa-lib ) |
118 |
+ designer? ( ~dev-qt/designer-${QTVER} ) |
119 |
+ geolocation? ( ~dev-qt/qtpositioning-${QTVER} ) |
120 |
+ kerberos? ( virtual/krb5 ) |
121 |
+ pulseaudio? ( media-sound/pulseaudio:= ) |
122 |
+ system-ffmpeg? ( media-video/ffmpeg:0= ) |
123 |
+ system-icu? ( >=dev-libs/icu-68.2:= ) |
124 |
+ widgets? ( |
125 |
+ ~dev-qt/qtdeclarative-${QTVER}[widgets] |
126 |
+ ~dev-qt/qtwidgets-${QTVER} |
127 |
+ ) |
128 |
+" |
129 |
+DEPEND="${RDEPEND}" |
130 |
+BDEPEND=" |
131 |
+ ${PYTHON_DEPS} |
132 |
+ dev-util/gperf |
133 |
+ dev-util/ninja |
134 |
+ dev-util/re2c |
135 |
+ net-libs/nodejs[ssl] |
136 |
+ sys-devel/bison |
137 |
+" |
138 |
+ |
139 |
+PATCHES=( |
140 |
+ "${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" # bug 695446 |
141 |
+ "${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606 |
142 |
+ "${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix |
143 |
+ "${FILESDIR}/${PN}-5.15.2_p20210406-glibc-2.33.patch" # by Fedora, bug 769989 |
144 |
+ "${FILESDIR}/${PN}-5.15.2_p20210406-gcc11.patch" # by Fedora, bug 768261 |
145 |
+ "${FILESDIR}/${PN}-5.15.2_p20210406-icu69.patch" # bug 781236 |
146 |
+) |
147 |
+ |
148 |
+src_unpack() { |
149 |
+ # bug 307861 |
150 |
+ eshopts_push -s extglob |
151 |
+ if is-flagq '-g?(gdb)?([1-9])'; then |
152 |
+ ewarn |
153 |
+ ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)." |
154 |
+ ewarn "You may experience really long compilation times and/or increased memory usage." |
155 |
+ ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug." |
156 |
+ ewarn |
157 |
+ fi |
158 |
+ eshopts_pop |
159 |
+ |
160 |
+ case ${QT5_BUILD_TYPE} in |
161 |
+ live) git-r3_src_unpack ;& |
162 |
+ release) default ;; |
163 |
+ esac |
164 |
+} |
165 |
+ |
166 |
+src_prepare() { |
167 |
+ if [[ ${PV} == ${QTVER}_p* ]]; then |
168 |
+ # This is made from git, and for some reason will fail w/o .git directories. |
169 |
+ mkdir -p .git src/3rdparty/chromium/.git || die |
170 |
+ |
171 |
+ # We need to make sure this integrates well into Qt 5.15.2 installation. |
172 |
+ # Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it. |
173 |
+ sed -e "/^MODULE_VERSION/s/5.*/${QTVER}/" -i .qmake.conf || die |
174 |
+ fi |
175 |
+ |
176 |
+ # QTBUG-88657 - jumbo-build could still make trouble |
177 |
+ if ! use jumbo-build; then |
178 |
+ sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \ |
179 |
+ src/buildtools/config/common.pri || die |
180 |
+ fi |
181 |
+ |
182 |
+ # bug 630834 - pass appropriate options to ninja when building GN |
183 |
+ sed -e "s/\['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \ |
184 |
+ -i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die |
185 |
+ |
186 |
+ # bug 620444 - ensure local headers are used |
187 |
+ find "${S}" -type f -name "*.pr[fio]" | \ |
188 |
+ xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die |
189 |
+ |
190 |
+ if use system-icu; then |
191 |
+ # Sanity check to ensure that bundled copy of ICU is not used. |
192 |
+ # Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because |
193 |
+ # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system. |
194 |
+ # If usage of headers of bundled copy of ICU occurs, then lists of shim headers in |
195 |
+ # shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in |
196 |
+ # src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated. |
197 |
+ local file |
198 |
+ while read file; do |
199 |
+ echo "#error This file should not be used!" > "${file}" || die |
200 |
+ done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null) |
201 |
+ fi |
202 |
+ |
203 |
+ qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri |
204 |
+ qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri |
205 |
+ |
206 |
+ qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro |
207 |
+ |
208 |
+ qt_use_disable_mod widgets widgets src/src.pro |
209 |
+ |
210 |
+ qt5-build_src_prepare |
211 |
+ |
212 |
+ # we need to generate ppc64 stuff because upstream does not ship it yet |
213 |
+ if use ppc64; then |
214 |
+ einfo "Patching for ppc64le and generating build files" |
215 |
+ eapply "${FILESDIR}/qtwebengine-5.15.2-enable-ppc64.patch" |
216 |
+ pushd src/3rdparty/chromium > /dev/null || die |
217 |
+ eapply -p0 "${WORKDIR}/${PN}-ppc64le" |
218 |
+ popd > /dev/null || die |
219 |
+ pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die |
220 |
+ mkdir -vp source/config/linux/ppc64 || die |
221 |
+ mkdir -p source/libvpx/test || die |
222 |
+ touch source/libvpx/test/test.mk || die |
223 |
+ ./generate_gni.sh || die |
224 |
+ popd >/dev/null || die |
225 |
+ fi |
226 |
+} |
227 |
+ |
228 |
+src_configure() { |
229 |
+ export NINJA_PATH=/usr/bin/ninja |
230 |
+ export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}" |
231 |
+ |
232 |
+ local myqmakeargs=( |
233 |
+ -- |
234 |
+ -no-build-qtpdf |
235 |
+ -printing-and-pdf |
236 |
+ -system-opus |
237 |
+ -system-webp |
238 |
+ $(usex alsa '-alsa' '-no-alsa') |
239 |
+ $(usex bindist '-no-proprietary-codecs' '-proprietary-codecs') |
240 |
+ $(usex geolocation '-webengine-geolocation' '-no-webengine-geolocation') |
241 |
+ $(usex kerberos '-webengine-kerberos' '-no-webengine-kerberos') |
242 |
+ $(usex pulseaudio '-pulseaudio' '-no-pulseaudio') |
243 |
+ $(usex system-ffmpeg '-system-ffmpeg' '-qt-ffmpeg') |
244 |
+ $(usex system-icu '-webengine-icu' '-no-webengine-icu') |
245 |
+ ) |
246 |
+ qt5-build_src_configure |
247 |
+} |
248 |
+ |
249 |
+src_install() { |
250 |
+ qt5-build_src_install |
251 |
+ |
252 |
+ # bug 601472 |
253 |
+ if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then |
254 |
+ die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/" |
255 |
+ fi |
256 |
+} |