dev-qt/qtwebengine: remove old

mhiretskiy
parent 2defab0d1d
commit 87fbb88541

@ -1 +0,0 @@
DIST qtwebengine-everywhere-src-5.12.3.tar.xz 249275648 BLAKE2B 7d2404084a510c62b638dd09736130eeb40e494f9594339afc7df6628878aafed778a2785f6848702d51b3a4ef1dc8b333d5e5eeeeb8f930b4da839eb70bc175 SHA512 5b500ec6653aa6ed70e7826fe394f95c7932eaea5b1b48f6342a6f18294f75e4f954959fa2f42de0685097679389245d2bc80454e8eea202fa18a326d6d5a9a5

@ -1,41 +0,0 @@
Bug: https://bugs.gentoo.org/634220
--- a/src/3rdparty/chromium/v8/BUILD.gn
+++ b/src/3rdparty/chromium/v8/BUILD.gn
@@ -803,6 +803,7 @@
deps = [
":mksnapshot($v8_snapshot_toolchain)",
+ ":run_paxmark",
]
script = "tools/run.py"
@@ -854,6 +855,28 @@
}
}
}
+action("run_paxmark") {
+ visibility = [ ":*" ] # Only targets in this file can depend on this.
+
+ deps = [
+ ":mksnapshot($v8_snapshot_toolchain)",
+ ]
+
+ script = "/usr/sbin/pypaxctl"
+
+ sources = []
+
+ outputs = [
+ "$target_out_dir/mksnapshot",
+ ]
+
+ args = [
+ "-sm",
+ "./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)",
+ "root_out_dir") + "/mksnapshot",
+ root_build_dir),
+ ]
+}
action("v8_dump_build_config") {
script = "tools/testrunner/utils/dump_build_config.py"

@ -1,98 +0,0 @@
From: Antonio Larrosa <alarrosa@suse.com>
Subject: Disable GPU when using nouveau or running on wayland
References: boo#1005323, boo#1060990
Qt WebEngine uses multi-threaded OpenGL, which nouveau does not support.
It also crashes when running on wayland, the cause is not yet known.
Work around these issues by not doing GPU-accelerated rendering in such
cases.
Index: qtwebengine-everywhere-src-5.12.0-alpha/src/core/web_engine_context.cpp
===================================================================
--- qtwebengine-everywhere-src-5.12.0-alpha.orig/src/core/web_engine_context.cpp
+++ qtwebengine-everywhere-src-5.12.0-alpha/src/core/web_engine_context.cpp
@@ -101,6 +101,7 @@
#include <QOffscreenSurface>
#ifndef QT_NO_OPENGL
# include <QOpenGLContext>
+# include <QOpenGLFunctions>
#endif
#include <QQuickWindow>
#include <QStringList>
@@ -162,6 +163,39 @@ void dummyGetPluginCallback(const std::v
}
#endif
+#ifndef QT_NO_OPENGL
+QString openGLVendor()
+{
+ QString vendor;
+
+ QOpenGLContext *oldContext = QOpenGLContext::currentContext();
+ QSurface *oldSurface = 0;
+ if (oldContext)
+ oldSurface = oldContext->surface();
+
+ QScopedPointer<QOffscreenSurface> surface( new QOffscreenSurface );
+ surface->create();
+ QOpenGLContext context;
+ if (!context.create()) {
+ qDebug() << "Error creating openGL context";
+ }
+ else if (!context.makeCurrent(surface.data())) {
+ qDebug() << "Error making openGL context current context";
+ } else {
+ const GLubyte *p;
+ QOpenGLFunctions *f = context.functions();
+ if ((p = f->glGetString(GL_VENDOR)))
+ vendor = QString::fromLatin1(reinterpret_cast<const char *>(p));
+ }
+
+ context.doneCurrent();
+ if (oldContext && oldSurface)
+ oldContext->makeCurrent(oldSurface);
+
+ return vendor;
+}
+#endif
+
} // namespace
namespace QtWebEngineCore {
@@ -440,6 +474,27 @@ WebEngineContext::WebEngineContext()
const char *glType = 0;
#ifndef QT_NO_OPENGL
+ bool disableGpu = qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_GPU");
+
+ if (!qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_WAYLAND_WORKAROUND") && qApp->platformName().startsWith("wayland", Qt::CaseInsensitive))
+ {
+ qWarning() << "Running on wayland. Qt WebEngine will disable usage of the GPU.\n"
+ "Note: you can set the QT_WEBENGINE_DISABLE_WAYLAND_WORKAROUND\n"
+ "environment variable before running this application, but this is \n"
+ "not recommended since this usually causes applications to crash.";
+ disableGpu = true;
+ }
+
+ if (!qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND") && openGLVendor() == QStringLiteral("nouveau"))
+ {
+ qWarning() << "Nouveau openGL driver detected. Qt WebEngine will disable usage of the GPU.\n"
+ "Note: you can set the QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND\n"
+ "environment variable before running this application, but this is \n"
+ "not recommended since this usually causes applications to crash as\n"
+ "Nouveau openGL drivers don't support multithreaded rendering";
+ disableGpu = true;
+ }
+
bool tryGL =
!usingANGLE()
&& (!usingSoftwareDynamicGL()
@@ -450,7 +505,7 @@ WebEngineContext::WebEngineContext()
|| enableWebGLSoftwareRendering
#endif
)
- && !usingQtQuick2DRenderer();
+ && !usingQtQuick2DRenderer() && !disableGpu;
if (tryGL) {
if (qt_gl_global_share_context() && qt_gl_global_share_context()->isValid()) {

@ -1,27 +0,0 @@
From: Jiri Slaby <jslaby@suse.cz>
Date: Thu, 11 Jul 2019 09:35:13 +0200
Subject: fix build after y2038 changes in glibc
Patch-mainline: submitted on 2019/07/11
References: QTBUG-76963
SIOCGSTAMP is defined in linux/sockios.h since kernel 5.2. Include that
file wherever needed.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
chromium/third_party/webrtc/rtc_base/physical_socket_server.cc | 1 +
1 file changed, 1 insertion(+)
--- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/physicalsocketserver.cc
+++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/physicalsocketserver.cc
@@ -67,6 +67,7 @@ typedef void* SockOptArg;
#endif // WEBRTC_POSIX
#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
+#include <linux/sockios.h>
int64_t GetSocketRecvTimestamp(int socket) {
struct timeval tv_ioctl;
--
2.21.0

@ -1,33 +0,0 @@
From 27947d92157b0987ceef9ae31fe0d3e7f8b653df Mon Sep 17 00:00:00 2001
From: Kirill Burtsev <kirill.burtsev@qt.io>
Date: Fri, 23 Aug 2019 15:09:25 +0200
Subject: Fix compilation with system ICU
ICU upstream now requires that ICU4C API macros are used with a
trailing semicolon.
- https://unicode-org.atlassian.net/browse/ICU-20601
- https://github.com/unicode-org/icu/pull/759
Change-Id: Ie05c005ebcded9a228386db5d9abe9863787ec2b
Fixes: QTBUG-78911
Reviewed-by: Jimi Huotari <chiitoo@gentoo.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---
.../blink/renderer/core/dom/document.cc | 2 +-
chromium/third_party/icu/BUILD.gn | 28 +++++++++++++++-------
2 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/chromium/third_party/blink/renderer/core/dom/document.cc b/chromium/third_party/blink/renderer/core/dom/document.cc
index 920dab7c48d..43fd422393c 100644
--- a/src/3rdparty/chromium/third_party/blink/renderer/core/dom/document.cc
+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/dom/document.cc
@@ -6065,7 +6065,7 @@ static ParseQualifiedNameResult ParseQualifiedNameInternal(
for (unsigned i = 0; i < length;) {
UChar32 c;
- U16_NEXT(characters, i, length, c)
+ U16_NEXT(characters, i, length, c);
if (c == ':') {
if (saw_colon)
return ParseQualifiedNameResult(kQNMultipleColons);

@ -1,88 +0,0 @@
From 7ac85fb4cc6f44a21761a591ac497ae3d6bf966d Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
Date: Mon, 23 Sep 2019 13:49:53 +0200
Subject: [PATCH] Fix building with pulseaudio 13
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
The function signature changed though the ABI stayed the same.
Change-Id: I86ca361b5e4f0c523e1031910df438c23beee876
Fixes: QTBUG-77037
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
---
src/3rdparty/chromium/media/audio/pulse/pulse.sigs | 16 ++++++++--------
src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment | 11 +++++++++++
2 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/src/3rdparty/chromium/media/audio/pulse/pulse.sigs b/src/3rdparty/chromium/media/audio/pulse/pulse.sigs
index 8b5888786a9..daaeb149c13 100644
--- a/src/3rdparty/chromium/media/audio/pulse/pulse.sigs
+++ b/src/3rdparty/chromium/media/audio/pulse/pulse.sigs
@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_context* c, uint32_t idx, p
pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
-pa_context_state_t pa_context_get_state(pa_context* c);
+pa_context_state_t pa_context_get_state(const_pa_context_ptr c);
pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
-pa_operation_state_t pa_operation_get_state(pa_operation* o);
+pa_operation_state_t pa_operation_get_state(const_pa_operation_ptr o);
void pa_context_unref(pa_context* c);
void pa_operation_unref(pa_operation* o);
int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_stream_success_cb_t cb, voi
int pa_stream_disconnect(pa_stream* s);
int pa_stream_drop(pa_stream *p);
pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
-uint32_t pa_stream_get_device_index(pa_stream* s);
+uint32_t pa_stream_get_device_index(const_pa_stream_ptr s);
int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
-pa_stream_state_t pa_stream_get_state(pa_stream* p);
+pa_stream_state_t pa_stream_get_state(const_pa_stream_ptr p);
pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
pa_proplist* pa_proplist_new(void);
-int pa_proplist_contains(pa_proplist* p, const char* key);
+int pa_proplist_contains(const_pa_proplist_ptr p, const char* key);
void pa_proplist_free(pa_proplist* p);
-const char* pa_proplist_gets(pa_proplist* p, const char* key);
+const char* pa_proplist_gets(const_pa_proplist_ptr p, const char* key);
int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
-size_t pa_stream_readable_size(pa_stream *p);
+size_t pa_stream_readable_size(const_pa_stream_ptr p);
int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
void pa_stream_unref(pa_stream* s);
-int pa_context_errno(pa_context *c);
+int pa_context_errno(const_pa_context_ptr c);
const char* pa_strerror(int error);
pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
diff --git a/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment b/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment
index 2a2d3e7552b..cdaa841b29f 100644
--- a/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment
+++ b/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment
@@ -5,4 +5,15 @@ extern "C" {
#include <pulse/pulseaudio.h>
+#if PA_MAJOR > 12
+typedef const pa_context* const_pa_context_ptr;
+typedef const pa_operation* const_pa_operation_ptr;
+typedef const pa_proplist* const_pa_proplist_ptr;
+typedef const pa_stream* const_pa_stream_ptr;
+#else
+typedef pa_context* const_pa_context_ptr;
+typedef pa_operation* const_pa_operation_ptr;
+typedef pa_proplist* const_pa_proplist_ptr;
+typedef pa_stream* const_pa_stream_ptr;
+#endif
}
--
2.16.3

@ -1,143 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit multiprocessing pax-utils python-any-r1 qt5-build
DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
KEYWORDS="amd64 arm arm64 x86"
fi
IUSE="alsa bindist designer geolocation jumbo-build pax_kernel pulseaudio
+system-ffmpeg +system-icu widgets"
REQUIRED_USE="designer? ( widgets )"
RDEPEND="
app-arch/snappy:=
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
~dev-qt/qtcore-${PV}
~dev-qt/qtdeclarative-${PV}
~dev-qt/qtgui-${PV}
~dev-qt/qtnetwork-${PV}
~dev-qt/qtprintsupport-${PV}
~dev-qt/qtwebchannel-${PV}[qml]
dev-libs/expat
dev-libs/libevent:=
dev-libs/libxml2[icu]
dev-libs/libxslt
dev-libs/re2:=
media-libs/fontconfig
media-libs/freetype
media-libs/harfbuzz:=
media-libs/lcms:2
media-libs/libjpeg-turbo:=
media-libs/libpng:0=
>=media-libs/libvpx-1.5:=[svc]
media-libs/libwebp:=
media-libs/mesa[egl,X(+)]
media-libs/opus
sys-apps/dbus
sys-apps/pciutils
sys-libs/zlib[minizip]
virtual/libudev
x11-libs/libdrm
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXScrnSaver
x11-libs/libXtst
alsa? ( media-libs/alsa-lib )
designer? ( ~dev-qt/designer-${PV} )
geolocation? ( ~dev-qt/qtpositioning-${PV} )
pulseaudio? ( media-sound/pulseaudio:= )
system-ffmpeg? ( media-video/ffmpeg:0= )
system-icu? ( >=dev-libs/icu-60.2:= )
widgets? (
~dev-qt/qtdeclarative-${PV}[widgets]
~dev-qt/qtwidgets-${PV}
)
"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
>=app-arch/gzip-1.7
dev-util/gperf
dev-util/ninja
dev-util/re2c
sys-devel/bison
pax_kernel? ( sys-apps/elfix )
!!=sys-devel/binutils-2.31.1-r5
!!=sys-devel/binutils-2.32-r0
"
PATCHES+=(
"${FILESDIR}/${PN}-5.12.3-SIOCGSTAMP.patch"
"${FILESDIR}/${PN}-5.12.0-nouveau-disable-gpu.patch" # bug 609752
"${FILESDIR}/${PN}-5.12.5-pulseaudio-13.patch" # bug 694960
"${FILESDIR}/${PN}-5.12.5-icu-65.patch"
)
src_prepare() {
use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.11.2-paxmark-mksnapshot.patch" )
if ! use jumbo-build; then
sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
src/core/config/common.pri || die
fi
# bug 620444 - ensure local headers are used
find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die
qt_use_disable_config alsa webengine-alsa src/core/config/linux.pri
qt_use_disable_config pulseaudio webengine-pulseaudio src/core/config/linux.pri
qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
qt_use_disable_mod geolocation positioning \
mkspecs/features/configure.prf \
src/core/core_chromium.pri \
src/core/core_common.pri
qt_use_disable_mod widgets widgets src/src.pro
qt5-build_src_prepare
}
src_configure() {
export NINJA_PATH=/usr/bin/ninja
export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
local myqmakeargs=(
--
-opus
-printing-and-pdf
-webp
$(usex alsa '-alsa' '')
$(usex bindist '' '-proprietary-codecs')
$(usex pulseaudio '-pulseaudio' '')
$(usex system-ffmpeg '-ffmpeg' '')
$(usex system-icu '-webengine-icu' '')
)
qt5-build_src_configure
}
src_install() {
qt5-build_src_install
# bug 601472
if [[ ! -f ${D%/}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
fi
pax-mark m "${D%/}${QT5_LIBEXECDIR}"/QtWebEngineProcess
}
Loading…
Cancel
Save