1 |
commit: b70d10d2259fa7c4a100ebb90f47719c40eb2cb8 |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Apr 9 13:40:33 2022 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Apr 9 13:40:51 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/qt.git/commit/?id=b70d10d2 |
7 |
|
8 |
dev-qt/qtwebengine: Support build w/ py3, IUSE=screencast, fix ffmpeg5 |
9 |
|
10 |
${PN}-5.15.3_p20220406-patchset contains patches to drop catapult as well. |
11 |
|
12 |
Bug: https://bugs.gentoo.org/698988 |
13 |
Thanks-to: Jimi Huotari <chiitoo <AT> gentoo.org> |
14 |
Package-Manager: Portage-3.0.30, Repoman-3.0.3 |
15 |
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> |
16 |
|
17 |
dev-qt/qtwebengine/Manifest | 1 + |
18 |
... => qtwebengine-5.15.3_p20220406-ffmpeg5.patch} | 32 +++++++++++----------- |
19 |
dev-qt/qtwebengine/metadata.xml | 1 + |
20 |
dev-qt/qtwebengine/qtwebengine-5.15.3.9999.ebuild | 12 +++++--- |
21 |
4 files changed, 26 insertions(+), 20 deletions(-) |
22 |
|
23 |
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest |
24 |
index 3d567b3b..1673d115 100644 |
25 |
--- a/dev-qt/qtwebengine/Manifest |
26 |
+++ b/dev-qt/qtwebengine/Manifest |
27 |
@@ -1,4 +1,5 @@ |
28 |
DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e |
29 |
DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89 |
30 |
+DIST qtwebengine-5.15.3_p20220406-patchset.tar.xz 35480 BLAKE2B ce6aeebbb3255196611130d04ee7a3907ba45d6d2a283f2433e2176cf67e473e74137b180de0a9998762cc54439bb06825815e81e9f95f9413ce2956ac9308b7 SHA512 47e29a1429dce2db324929af91c8ef8421c75ae48f5a491db71b434f8017a5b1e7475e9938989e331e8e012220852848565242e09747892e1a8a8d3ab7386840 |
31 |
DIST qtwebengine-everywhere-src-6.2.3.tar.xz 369703936 BLAKE2B 2418cc900b8fde42bb5753fef554525bfd3cc4bbe5a2f07a1daae626309c6d29da0eb2a173612924a27b4c85d3bdf1e0d3f57ffd6a4703a6a66fb36e235f3cd1 SHA512 8b2c8decbff025d756c1c083ff6c734b3edfb50613d8bdf9c272468c41c8ba89d22164ca440073fb706b735668bb8b0d30a166305a140f61a3acb3b46def4e01 |
32 |
DIST qtwebengine-everywhere-src-6.2.4.tar.xz 369689936 BLAKE2B ab38c0af341393c95188ccbe498953e8b47c78a75f0aa3695defbb80981ec77702ff8a42c78fcf9c90ad21a8f4b3147b9d199e6b7fea49af5d1b0b1af821fbe1 SHA512 b76aa6f0b5aa33a178bcf6ebd0256776f5aa20eb763599b0ccd2b6fc544bf8a189a12fbf8f0e0d7414c99e6975b20d9127f6a53bc6126904d487efb6d472008f |
33 |
|
34 |
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220330-ffmpeg5.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220406-ffmpeg5.patch |
35 |
similarity index 87% |
36 |
rename from dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220330-ffmpeg5.patch |
37 |
rename to dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220406-ffmpeg5.patch |
38 |
index d85c1985..15c19266 100644 |
39 |
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220330-ffmpeg5.patch |
40 |
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.3_p20220406-ffmpeg5.patch |
41 |
@@ -16,8 +16,8 @@ Subject: [PATCH] Fix build with ffmpeg 5 |
42 |
|
43 |
diff --git a/chromium/media/ffmpeg/ffmpeg_common.h b/chromium/media/ffmpeg/ffmpeg_common.h |
44 |
index 2734a485cbd..70b1877a43c 100644 |
45 |
---- a/chromium/media/ffmpeg/ffmpeg_common.h |
46 |
-+++ b/chromium/media/ffmpeg/ffmpeg_common.h |
47 |
+--- a/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h |
48 |
++++ b/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h |
49 |
@@ -29,6 +29,7 @@ extern "C" { |
50 |
#include <libavformat/avformat.h> |
51 |
#include <libavformat/avio.h> |
52 |
@@ -28,8 +28,8 @@ index 2734a485cbd..70b1877a43c 100644 |
53 |
#include <libavutil/mastering_display_metadata.h> |
54 |
diff --git a/chromium/media/filters/audio_file_reader.cc b/chromium/media/filters/audio_file_reader.cc |
55 |
index cb81d920def..bd73908d0ca 100644 |
56 |
---- a/chromium/media/filters/audio_file_reader.cc |
57 |
-+++ b/chromium/media/filters/audio_file_reader.cc |
58 |
+--- a/src/3rdparty/chromium/media/filters/audio_file_reader.cc |
59 |
++++ b/src/3rdparty/chromium/media/filters/audio_file_reader.cc |
60 |
@@ -85,7 +85,7 @@ bool AudioFileReader::OpenDemuxer() { |
61 |
} |
62 |
|
63 |
@@ -41,8 +41,8 @@ index cb81d920def..bd73908d0ca 100644 |
64 |
if (codec_context_->sample_fmt == AV_SAMPLE_FMT_S16P) |
65 |
diff --git a/chromium/media/filters/ffmpeg_audio_decoder.cc b/chromium/media/filters/ffmpeg_audio_decoder.cc |
66 |
index 0d825ed791b..72fac6167ef 100644 |
67 |
---- a/chromium/media/filters/ffmpeg_audio_decoder.cc |
68 |
-+++ b/chromium/media/filters/ffmpeg_audio_decoder.cc |
69 |
+--- a/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc |
70 |
++++ b/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc |
71 |
@@ -329,7 +329,7 @@ bool FFmpegAudioDecoder::ConfigureDecoder(const AudioDecoderConfig& config) { |
72 |
} |
73 |
} |
74 |
@@ -54,8 +54,8 @@ index 0d825ed791b..72fac6167ef 100644 |
75 |
DLOG(ERROR) << "Could not initialize audio decoder: " |
76 |
diff --git a/chromium/media/filters/ffmpeg_demuxer.cc b/chromium/media/filters/ffmpeg_demuxer.cc |
77 |
index d34db63f3ef..427565b00c1 100644 |
78 |
---- a/chromium/media/filters/ffmpeg_demuxer.cc |
79 |
-+++ b/chromium/media/filters/ffmpeg_demuxer.cc |
80 |
+--- a/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc |
81 |
++++ b/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc |
82 |
@@ -98,12 +98,12 @@ static base::TimeDelta ExtractStartTime(AVStream* stream) { |
83 |
|
84 |
// Next try to use the first DTS value, for codecs where we know PTS == DTS |
85 |
@@ -105,8 +105,8 @@ index d34db63f3ef..427565b00c1 100644 |
86 |
packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size)); |
87 |
diff --git a/chromium/media/filters/ffmpeg_glue.cc b/chromium/media/filters/ffmpeg_glue.cc |
88 |
index 0ef3521473d..8483ecc348f 100644 |
89 |
---- a/chromium/media/filters/ffmpeg_glue.cc |
90 |
-+++ b/chromium/media/filters/ffmpeg_glue.cc |
91 |
+--- a/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc |
92 |
++++ b/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc |
93 |
@@ -59,7 +59,6 @@ static int64_t AVIOSeekOperation(void* opaque, int64_t offset, int whence) { |
94 |
} |
95 |
|
96 |
@@ -127,8 +127,8 @@ index 0ef3521473d..8483ecc348f 100644 |
97 |
format_context_->error_recognition |= AV_EF_EXPLODE; |
98 |
diff --git a/chromium/media/filters/ffmpeg_video_decoder.cc b/chromium/media/filters/ffmpeg_video_decoder.cc |
99 |
index ef12477ee89..7996606f5f9 100644 |
100 |
---- a/chromium/media/filters/ffmpeg_video_decoder.cc |
101 |
-+++ b/chromium/media/filters/ffmpeg_video_decoder.cc |
102 |
+--- a/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc |
103 |
++++ b/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc |
104 |
@@ -391,7 +391,7 @@ bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config, |
105 |
if (decode_nalus_) |
106 |
codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS; |
107 |
@@ -140,8 +140,8 @@ index ef12477ee89..7996606f5f9 100644 |
108 |
return false; |
109 |
diff --git a/chromium/media/filters/media_file_checker.cc b/chromium/media/filters/media_file_checker.cc |
110 |
index 59c2a2fc618..1a9872c7acb 100644 |
111 |
---- a/chromium/media/filters/media_file_checker.cc |
112 |
-+++ b/chromium/media/filters/media_file_checker.cc |
113 |
+--- a/src/3rdparty/chromium/media/filters/media_file_checker.cc |
114 |
++++ b/src/3rdparty/chromium/media/filters/media_file_checker.cc |
115 |
@@ -68,7 +68,7 @@ bool MediaFileChecker::Start(base::TimeDelta check_time) { |
116 |
auto context = AVStreamToAVCodecContext(format_context->streams[i]); |
117 |
if (!context) |
118 |
@@ -153,8 +153,8 @@ index 59c2a2fc618..1a9872c7acb 100644 |
119 |
stream_contexts[i] = {std::move(context), std::move(loop)}; |
120 |
diff --git a/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc b/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc |
121 |
index 9002b874611..d12fade8b63 100644 |
122 |
---- a/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc |
123 |
-+++ b/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc |
124 |
+--- a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc |
125 |
++++ b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc |
126 |
@@ -203,7 +203,7 @@ int32_t H264DecoderImpl::InitDecode(const VideoCodec* codec_settings, |
127 |
// a pointer |this|. |
128 |
av_context_->opaque = this; |
129 |
|
130 |
diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml |
131 |
index 0bc98db9..6912e8aa 100644 |
132 |
--- a/dev-qt/qtwebengine/metadata.xml |
133 |
+++ b/dev-qt/qtwebengine/metadata.xml |
134 |
@@ -15,6 +15,7 @@ |
135 |
<flag name="geolocation">Enable physical position determination via <pkg>dev-qt/qtpositioning</pkg></flag> |
136 |
<flag name="jumbo-build">Combine source files to speed up build process.</flag> |
137 |
<flag name="pipewire">Enable PipeWire support for WebRTC.</flag> |
138 |
+ <flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag> |
139 |
<flag name="system-ffmpeg">Use the system-wide <pkg>media-video/ffmpeg</pkg> instead of bundled.</flag> |
140 |
<flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg> instead of bundled.</flag> |
141 |
<flag name="widgets">Enable QtWidgets support</flag> |
142 |
|
143 |
diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.3.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.3.9999.ebuild |
144 |
index b755d163..8d3e80b6 100644 |
145 |
--- a/dev-qt/qtwebengine/qtwebengine-5.15.3.9999.ebuild |
146 |
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.3.9999.ebuild |
147 |
@@ -3,7 +3,7 @@ |
148 |
|
149 |
EAPI=8 |
150 |
|
151 |
-PYTHON_COMPAT=( python2_7 ) |
152 |
+PYTHON_COMPAT=( python3_{9,10} ) |
153 |
PYTHON_REQ_USE="xml(+)" |
154 |
inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt5-build toolchain-funcs |
155 |
|
156 |
@@ -28,9 +28,10 @@ fi |
157 |
|
158 |
# ppc64 patchset based on https://github.com/chromium-ppc64le releases |
159 |
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-5.15.2_p20211019-jumbo-build.patch.bz2 |
160 |
+ https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15.3_p20220406-patchset.tar.xz |
161 |
ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-r1-chromium87-ppc64le.tar.xz )" |
162 |
|
163 |
-IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio +system-ffmpeg +system-icu widgets" |
164 |
+IUSE="alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast +system-ffmpeg +system-icu widgets" |
165 |
REQUIRED_USE="designer? ( widgets )" |
166 |
|
167 |
RDEPEND=" |
168 |
@@ -80,6 +81,7 @@ RDEPEND=" |
169 |
geolocation? ( =dev-qt/qtpositioning-${QT5_PV}* ) |
170 |
kerberos? ( virtual/krb5 ) |
171 |
pulseaudio? ( media-sound/pulseaudio:= ) |
172 |
+ screencast? ( media-video/pipewire:= ) |
173 |
system-ffmpeg? ( media-video/ffmpeg:0= ) |
174 |
system-icu? ( >=dev-libs/icu-69.1:= ) |
175 |
widgets? ( |
176 |
@@ -106,8 +108,9 @@ PATCHES=( |
177 |
"${FILESDIR}/${PN}-5.15.2_p20210224-chromium-87-v8-icu68.patch" # downstream, bug 757606 |
178 |
"${FILESDIR}/${PN}-5.15.2_p20210224-disable-git.patch" # downstream snapshot fix |
179 |
"${FILESDIR}/${PN}-5.15.2_p20211015-pdfium-system-lcms2.patch" # by Debian, QTBUG-61746 |
180 |
- "${FILESDIR}/${PN}-5.15.3_p20220329-clang14.patch" # fixes build with clang 14 |
181 |
+ "${FILESDIR}/${PN}-5.15.3_p20220329-clang14.patch" # by FreeBSD, bug 836604 |
182 |
"${WORKDIR}/${PN}-5.15.2_p20211019-jumbo-build.patch" # bug 813957 |
183 |
+ "${WORKDIR}/${PN}-5.15.3_p20220406-patchset" # bug 698988 (py2--), pipewire-3 |
184 |
) |
185 |
|
186 |
qtwebengine_check-reqs() { |
187 |
@@ -200,7 +203,7 @@ src_prepare() { |
188 |
fi |
189 |
|
190 |
if use system-ffmpeg && has_version '>=media-video/ffmpeg-5'; then |
191 |
- eapply "${FILESDIR}/${PN}-5.15.3_p20220330-ffmpeg5.patch" # by Archlinux, bug 831437 |
192 |
+ eapply "${FILESDIR}/${PN}-5.15.3_p20220406-ffmpeg5.patch" # by Archlinux, bug 831437 |
193 |
fi |
194 |
|
195 |
qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri |
196 |
@@ -243,6 +246,7 @@ src_configure() { |
197 |
$(qt_use geolocation webengine-geolocation) |
198 |
$(qt_use kerberos webengine-kerberos) |
199 |
$(qt_use pulseaudio) |
200 |
+ $(usex screencast -webengine-webrtc-pipewire '') |
201 |
$(usex system-ffmpeg -system-ffmpeg -qt-ffmpeg) |
202 |
$(qt_use system-icu webengine-icu) |
203 |
) |