forked from pool/libqt5-qtwebengine
Accepting request 500324 from KDE:Qt5
- Remove patch that is apparently not enough for aarch64: * gn-add-aarch64.patch - Update descriptions. - Use find -exec's "+" strategy. - Update to 5.9.0 final - Disable usage of system ICU on TW as ICU 59 is not supported and patches do not apply - Update to 5.9.0 RC: * For more details please see: http://lists.qt-project.org/pipermail/announce/2017-May/000115.html and https://wiki.qt.io/New_Features_in_Qt_5.9 - Remove patches, now upstream: * fix-chromium-gcc7.patch * use-fno-delete-null-pointer-checks-with-gcc-6.diff * webrtc-build-with-neon.patch - Refresh patches: * armv6-ffmpeg-no-thumb.patch * disable-gpu-when-using-nouveau-boo-1005323.diff - Support new build system, which does not support manual unbundling anymore - Add patch to allow building on aarch64: * gn-add-aarch64.patch - Reorder rpm sections OBS-URL: https://build.opensuse.org/request/show/500324 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtwebengine?expand=0&rev=19
This commit is contained in:
parent
1415eb4333
commit
d1b9b593e1
@ -1,8 +1,8 @@
|
||||
Index: qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
|
||||
Index: qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
|
||||
===================================================================
|
||||
--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
|
||||
+++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
|
||||
@@ -551,7 +551,7 @@
|
||||
--- qtwebengine-opensource-src-5.8.0.orig/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
|
||||
+++ qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
|
||||
@@ -550,7 +550,7 @@
|
||||
#define CONFIG_PIC 1
|
||||
#define CONFIG_POD2MAN 1
|
||||
#define CONFIG_RAISE_MAJOR 0
|
||||
|
@ -1,19 +1,20 @@
|
||||
Index: qtwebengine-opensource-src-5.7.1/src/core/web_engine_context.cpp
|
||||
Index: qtwebengine-opensource-src-5.9.0-beta4/src/core/web_engine_context.cpp
|
||||
===================================================================
|
||||
--- qtwebengine-opensource-src-5.7.1.orig/src/core/web_engine_context.cpp
|
||||
+++ qtwebengine-opensource-src-5.7.1/src/core/web_engine_context.cpp
|
||||
@@ -88,6 +88,7 @@
|
||||
#include <QGuiApplication>
|
||||
--- qtwebengine-opensource-src-5.9.0-beta4.orig/src/core/web_engine_context.cpp
|
||||
+++ qtwebengine-opensource-src-5.9.0-beta4/src/core/web_engine_context.cpp
|
||||
@@ -90,6 +90,7 @@
|
||||
#include <QOffscreenSurface>
|
||||
#include <QOpenGLContext>
|
||||
+#include <QOpenGLFunctions>
|
||||
#ifndef QT_NO_OPENGL
|
||||
# include <QOpenGLContext>
|
||||
+# include <QOpenGLFunctions>
|
||||
#endif
|
||||
#include <QQuickWindow>
|
||||
#include <QStringList>
|
||||
#include <QSurfaceFormat>
|
||||
#include <QVector>
|
||||
@@ -162,6 +163,37 @@ void dummyGetPluginCallback(const std::v
|
||||
@@ -177,6 +178,39 @@ void dummyGetPluginCallback(const std::v
|
||||
}
|
||||
#endif
|
||||
|
||||
+#ifndef QT_NO_OPENGL
|
||||
+QString openGLVendor()
|
||||
+{
|
||||
+ QString vendor;
|
||||
@ -44,14 +45,16 @@ Index: qtwebengine-opensource-src-5.7.1/src/core/web_engine_context.cpp
|
||||
+
|
||||
+ return vendor;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
} // namespace
|
||||
|
||||
namespace QtWebEngineCore {
|
||||
@@ -309,8 +341,20 @@ WebEngineContext::WebEngineContext()
|
||||
|
||||
@@ -339,9 +373,23 @@ WebEngineContext::WebEngineContext()
|
||||
|
||||
GLContextHelper::initialize();
|
||||
|
||||
|
||||
+#ifndef QT_NO_OPENGL
|
||||
+ bool disableGpu = qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_GPU");
|
||||
+
|
||||
+ if (!qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND") && openGLVendor() == QStringLiteral("nouveau"))
|
||||
@ -63,8 +66,10 @@ Index: qtwebengine-opensource-src-5.7.1/src/core/web_engine_context.cpp
|
||||
+ "Nouveau openGL drivers don't support multithreaded rendering";
|
||||
+ disableGpu = true;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
const char *glType = 0;
|
||||
#ifndef QT_NO_OPENGL
|
||||
- if (!usingANGLE() && !usingSoftwareDynamicGL() && !usingQtQuick2DRenderer()) {
|
||||
+ if (!usingANGLE() && !usingSoftwareDynamicGL() && !usingQtQuick2DRenderer() && !disableGpu) {
|
||||
if (qt_gl_global_share_context() && qt_gl_global_share_context()->isValid()) {
|
||||
|
@ -1,119 +0,0 @@
|
||||
From 64fdd317d4127142ad9e967197a2df6ac81ef55f Mon Sep 17 00:00:00 2001
|
||||
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||
Date: Wed, 29 Mar 2017 17:42:18 +0200
|
||||
Subject: [PATCH] Fix build with GCC 7.0
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fixes some ambiguities and outright wrong code GCC 7 doesn't accept but
|
||||
earlier compilers did.
|
||||
|
||||
Task-number:QTBUG-59776
|
||||
Change-Id: I012f121842ac6cde49db0d571efc62aabe2115e3
|
||||
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
||||
---
|
||||
src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h | 2 +-
|
||||
src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h | 2 ++
|
||||
src/3rdparty/chromium/v8/src/objects-body-descriptors.h | 2 +-
|
||||
src/3rdparty/chromium/v8/src/objects-inl.h | 19 +++++++++++++++++++
|
||||
src/3rdparty/chromium/v8/src/objects.h | 16 ++--------------
|
||||
5 files changed, 25 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h b/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h
|
||||
index 5bd29d5..c94a5ac 100644
|
||||
--- a/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h
|
||||
+++ b/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h
|
||||
@@ -34,7 +34,7 @@ class InterfacePtrInfo {
|
||||
|
||||
InterfacePtrInfo& operator=(InterfacePtrInfo&& other) {
|
||||
if (this != &other) {
|
||||
- handle_ = other.handle_.Pass();
|
||||
+ handle_ = std::move(other.handle_);
|
||||
version_ = other.version_;
|
||||
other.version_ = 0u;
|
||||
}
|
||||
diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
|
||||
index 58d97fb..839c7df 100644
|
||||
--- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
|
||||
+++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
|
||||
@@ -495,6 +495,8 @@ inline LinkedHashSet<T, U, V, W>& LinkedHashSet<T, U, V, W>::operator=(const Lin
|
||||
return *this;
|
||||
}
|
||||
|
||||
+inline void swapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b);
|
||||
+
|
||||
template<typename T, typename U, typename V, typename W>
|
||||
inline void LinkedHashSet<T, U, V, W>::swap(LinkedHashSet& other)
|
||||
{
|
||||
diff --git a/src/3rdparty/chromium/v8/src/objects-body-descriptors.h b/src/3rdparty/chromium/v8/src/objects-body-descriptors.h
|
||||
index 91cb888..a1c3634 100644
|
||||
--- a/src/3rdparty/chromium/v8/src/objects-body-descriptors.h
|
||||
+++ b/src/3rdparty/chromium/v8/src/objects-body-descriptors.h
|
||||
@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public BodyDescriptorBase {
|
||||
|
||||
template <typename StaticVisitor>
|
||||
static inline void IterateBody(HeapObject* obj, int object_size) {
|
||||
- IterateBody(obj);
|
||||
+ IterateBody<StaticVisitor>(obj);
|
||||
}
|
||||
};
|
||||
|
||||
diff --git a/src/3rdparty/chromium/v8/src/objects-inl.h b/src/3rdparty/chromium/v8/src/objects-inl.h
|
||||
index 177c029..baca18d 100644
|
||||
--- a/src/3rdparty/chromium/v8/src/objects-inl.h
|
||||
+++ b/src/3rdparty/chromium/v8/src/objects-inl.h
|
||||
@@ -3122,6 +3122,25 @@ void HashTableBase::SetNumberOfDeletedElements(int nod) {
|
||||
|
||||
|
||||
template <typename Derived, typename Shape, typename Key>
|
||||
+inline uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) {
|
||||
+ if (Shape::UsesSeed) {
|
||||
+ return Shape::SeededHash(key, GetHeap()->HashSeed());
|
||||
+ } else {
|
||||
+ return Shape::Hash(key);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+template <typename Derived, typename Shape, typename Key>
|
||||
+inline uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key, Object* object) {
|
||||
+ if (Shape::UsesSeed) {
|
||||
+ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
|
||||
+ } else {
|
||||
+ return Shape::HashForObject(key, object);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
+template <typename Derived, typename Shape, typename Key>
|
||||
int HashTable<Derived, Shape, Key>::FindEntry(Key key) {
|
||||
return FindEntry(GetIsolate(), key);
|
||||
}
|
||||
diff --git a/src/3rdparty/chromium/v8/src/objects.h b/src/3rdparty/chromium/v8/src/objects.h
|
||||
index 0111c71..d737a18 100644
|
||||
--- a/src/3rdparty/chromium/v8/src/objects.h
|
||||
+++ b/src/3rdparty/chromium/v8/src/objects.h
|
||||
@@ -3157,21 +3157,9 @@ template <typename Derived, typename Shape, typename Key>
|
||||
class HashTable : public HashTableBase {
|
||||
public:
|
||||
// Wrapper methods
|
||||
- inline uint32_t Hash(Key key) {
|
||||
- if (Shape::UsesSeed) {
|
||||
- return Shape::SeededHash(key, GetHeap()->HashSeed());
|
||||
- } else {
|
||||
- return Shape::Hash(key);
|
||||
- }
|
||||
- }
|
||||
+ inline uint32_t Hash(Key key);
|
||||
|
||||
- inline uint32_t HashForObject(Key key, Object* object) {
|
||||
- if (Shape::UsesSeed) {
|
||||
- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
|
||||
- } else {
|
||||
- return Shape::HashForObject(key, object);
|
||||
- }
|
||||
- }
|
||||
+ inline uint32_t HashForObject(Key key, Object* object);
|
||||
|
||||
// Returns a new HashTable object.
|
||||
MUST_USE_RESULT static Handle<Derived> New(
|
@ -1,3 +1,46 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 1 07:58:09 UTC 2017 - fabian@ritter-vogt.de
|
||||
|
||||
- Remove patch that is apparently not enough for aarch64:
|
||||
* gn-add-aarch64.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 1 07:49:42 UTC 2017 - jengelh@inai.de
|
||||
|
||||
- Update descriptions.
|
||||
- Use find -exec's "+" strategy.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 31 07:05:31 UTC 2017 - fabian@ritter-vogt.de
|
||||
|
||||
- Update to 5.9.0 final
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 30 14:32:33 UTC 2017 - fabian@ritter-vogt.de
|
||||
|
||||
- Disable usage of system ICU on TW as ICU 59 is not supported
|
||||
and patches do not apply
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 24 19:16:41 UTC 2017 - fabian@ritter-vogt.de
|
||||
|
||||
- Update to 5.9.0 RC:
|
||||
* For more details please see:
|
||||
http://lists.qt-project.org/pipermail/announce/2017-May/000115.html
|
||||
and https://wiki.qt.io/New_Features_in_Qt_5.9
|
||||
- Remove patches, now upstream:
|
||||
* fix-chromium-gcc7.patch
|
||||
* use-fno-delete-null-pointer-checks-with-gcc-6.diff
|
||||
* webrtc-build-with-neon.patch
|
||||
- Refresh patches:
|
||||
* armv6-ffmpeg-no-thumb.patch
|
||||
* disable-gpu-when-using-nouveau-boo-1005323.diff
|
||||
- Support new build system, which does not support manual unbundling
|
||||
anymore
|
||||
- Add patch to allow building on aarch64:
|
||||
* gn-add-aarch64.patch
|
||||
- Reorder rpm sections
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 15 14:07:24 UTC 2017 - fabian@ritter-vogt.de
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package libqt5-qtwebengine
|
||||
#
|
||||
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -18,29 +18,48 @@
|
||||
|
||||
%define qt5_snapshot 0
|
||||
|
||||
%if %{?suse_version} <= 1320
|
||||
%bcond_with system_vpx
|
||||
%else
|
||||
%bcond_without system_vpx
|
||||
%endif
|
||||
%if %{?suse_version} < 1330
|
||||
%bcond_with system_icu
|
||||
%else
|
||||
# Change to without once ICU 59 in TW is supported
|
||||
%bcond_with system_icu
|
||||
%endif
|
||||
%if %{?suse_version} >= 1320 || (%{?suse_version} == 1315 && 0%{?leap_version} >= 420200)
|
||||
%bcond_without system_minizip
|
||||
%else
|
||||
%bcond_with system_minizip
|
||||
%endif
|
||||
# This is just overall condition to contain everything we can't provide on SLE12
|
||||
%if 0%{?suse_version} >= 1320 || 0%{?is_opensuse}
|
||||
%bcond_with sle_bundles
|
||||
%bcond_without system_harfbuzz
|
||||
%else
|
||||
%bcond_without sle_bundles
|
||||
%bcond_with system_harfbuzz
|
||||
%endif
|
||||
|
||||
Name: libqt5-qtwebengine
|
||||
Version: 5.7.1
|
||||
Version: 5.9.0
|
||||
Release: 0
|
||||
Summary: Qt 5 WebEngine Library
|
||||
License: SUSE-LGPL-2.1-with-digia-exception-1.1 or GPL-3.0
|
||||
Group: Development/Libraries/X11
|
||||
Url: http://qt.digia.com
|
||||
Url: https://www.qt.io
|
||||
%define base_name libqt5
|
||||
%define real_version 5.7.1
|
||||
%define so_version 5.7.1
|
||||
%define real_version 5.9.0
|
||||
%define so_version 5.9.0
|
||||
%define tar_version qtwebengine-opensource-src-%{real_version}
|
||||
Source: %{tar_version}.tar.xz
|
||||
Source: https://download.qt.io/official_releases/qt/5.9/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||
Source1: baselibs.conf
|
||||
# PATCH-FIX-UPSTREAM: use-fno-delete-null-pointer-checks-with-gcc-6.diff - Fix crashes when using GCC6
|
||||
Patch0: use-fno-delete-null-pointer-checks-with-gcc-6.diff
|
||||
# PATCH-FIX-UPSTREAM armv6-ffmpeg-no-thumb.patch - Fix ffmpeg configuration for armv6
|
||||
Patch2: armv6-ffmpeg-no-thumb.patch
|
||||
# PATCH-FIX-UPSTREAM webrtc-build-with-neon.patch - Properly configure webrtc for neon support
|
||||
Patch3: webrtc-build-with-neon.patch
|
||||
# PATCH-FIX-UPSTREAM disable-gpu-when-using-nouveau-boo-1005323.diff -- Detect nouveau opengl drivers and disable gpu usage to work around nouveau crashing
|
||||
Patch5: disable-gpu-when-using-nouveau-boo-1005323.diff
|
||||
# PATCH-FIX-UPSTREAM fix-chromium-gcc7.patch -- Fix build failure with GCC 7
|
||||
Patch6: fix-chromium-gcc7.patch
|
||||
# http://www.chromium.org/blink not ported to PowerPC
|
||||
ExcludeArch: ppc ppc64 ppc64le s390 s390x
|
||||
# Try to fix i586 MemoryErrors with rpmlint
|
||||
@ -50,6 +69,8 @@ BuildRequires: fdupes
|
||||
BuildRequires: flac-devel
|
||||
BuildRequires: flex
|
||||
BuildRequires: gperf
|
||||
# It really wants a commit hash, even if it's not in a .git checkout...
|
||||
BuildRequires: git-core
|
||||
BuildRequires: hunspell-devel
|
||||
BuildRequires: krb5
|
||||
BuildRequires: krb5-devel
|
||||
@ -61,6 +82,7 @@ BuildRequires: libpng-devel
|
||||
BuildRequires: libqt5-qtbase-private-headers-devel >= %{version}
|
||||
BuildRequires: libqt5-qtdeclarative-private-headers-devel >= %{version}
|
||||
BuildRequires: libqt5-qttools-private-headers-devel >= %{version}
|
||||
BuildRequires: libqt5-qtlocation-private-headers-devel >= %{version}
|
||||
BuildRequires: libqt5-qtwebchannel-private-headers-devel >= %{version}
|
||||
BuildRequires: libqt5-qtxmlpatterns-private-headers-devel >= %{version}
|
||||
BuildRequires: pam-devel
|
||||
@ -118,7 +140,6 @@ BuildRequires: pkgconfig(pangocairo)
|
||||
BuildRequires: pkgconfig(pangoft2)
|
||||
BuildRequires: pkgconfig(protobuf)
|
||||
BuildRequires: pkgconfig(speex)
|
||||
BuildRequires: pkgconfig(vpx)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(xcomposite)
|
||||
BuildRequires: pkgconfig(xcursor)
|
||||
@ -132,6 +153,21 @@ BuildRequires: pkgconfig(xscrnsaver)
|
||||
BuildRequires: pkgconfig(xt)
|
||||
BuildRequires: pkgconfig(xtst)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
%if !%{with sle_bundles}
|
||||
BuildRequires: yasm-devel
|
||||
%endif
|
||||
%if %{with system_minizip}
|
||||
BuildRequires: pkgconfig(minizip)
|
||||
%endif
|
||||
%if %{with system_harfbuzz}
|
||||
BuildRequires: pkgconfig(harfbuzz) >= 1.2.0
|
||||
%endif
|
||||
%if %{with system_icu}
|
||||
BuildRequires: pkgconfig(icu-i18n) >= 54.0
|
||||
%endif
|
||||
%if %{with system_vpx}
|
||||
BuildRequires: pkgconfig(vpx) >= 1.4.0
|
||||
%endif
|
||||
%if %qt5_snapshot
|
||||
#to create the forwarding headers
|
||||
BuildRequires: perl
|
||||
@ -142,27 +178,29 @@ BuildRequires: perl
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
Qt is a set of libraries for developing applications.
|
||||
Qt WebEngine provides functionality for rendering regions of dynamic
|
||||
web content.
|
||||
|
||||
%prep
|
||||
%setup -q -n qtwebengine-opensource-src-%{real_version}
|
||||
sed -i 's|$(STRIP)|strip|g' src/core/core_module.pro
|
||||
%patch0 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
The functionality in Qt WebEngine is divided into the following
|
||||
modules:
|
||||
|
||||
* QtWebEngineCore: Provides public API shared by both QtWebEngine and
|
||||
QtWebEngineWidgets
|
||||
* QtWebEngine: Provides QML types for rendering web content within a
|
||||
QML application
|
||||
* QtWebEngineWidgets: Provides a web browser engine as well as C++
|
||||
classes to render and interact with web content
|
||||
|
||||
%package devel
|
||||
Summary: Qt Development Kit
|
||||
Summary: Development files for the Qt5 WebEngine library
|
||||
Group: Development/Libraries/X11
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description devel
|
||||
You need this package, if you want to compile programs with qtsensors.
|
||||
You need this package if you want to compile programs with qtsensors.
|
||||
|
||||
%package private-headers-devel
|
||||
Summary: Non-ABI stable experimental API
|
||||
Summary: Non-ABI stable experimental API for the Qt5 WebEngine library
|
||||
Group: Development/Libraries/C and C++
|
||||
BuildArch: noarch
|
||||
Requires: %{name}-devel = %{version}
|
||||
@ -181,65 +219,34 @@ Group: Development/Libraries/X11
|
||||
Recommends: %{name}-devel
|
||||
|
||||
%description examples
|
||||
Examples for libqt5-qtwebengine module.
|
||||
Examples for the libqt5-qtwebengine module.
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
%prep
|
||||
%setup -q -n qtwebengine-opensource-src-%{real_version}
|
||||
sed -i 's|$(STRIP)|strip|g' src/core/core_module.pro
|
||||
%patch2 -p1
|
||||
%patch5 -p1
|
||||
|
||||
%build
|
||||
sed -i 's|contains(QT_CONFIG, system-jpeg): REQUIRED_PACKAGES += libjpeg||g' tools/qmake/mkspecs/features/configure.prf
|
||||
%if %qt5_snapshot
|
||||
#force the configure script to generate the forwarding headers (it checks whether .git directory exists)
|
||||
mkdir .git
|
||||
%endif
|
||||
myconf+=" -Duse_system_expat=1
|
||||
-Duse_system_flac=1
|
||||
%if 0%{?suse_version} >= 1315
|
||||
-Duse_system_jsoncpp=1
|
||||
%endif
|
||||
-Duse_system_libevent=1
|
||||
-Duse_system_libjpeg=1
|
||||
-Duse_system_libpng=1
|
||||
-Duse_system_libusb=1
|
||||
-Duse_system_libxml=1
|
||||
-Duse_system_libxslt=1
|
||||
-Duse_system_opus=1
|
||||
-Duse_system_snappy=1
|
||||
-Duse_system_speex=1"
|
||||
|
||||
# gyp files for these 2 system libs are using some magical chromium tool which doesn't exist in qtwebengine tarball
|
||||
# building with system zlib needs system minizip, which we don't have in openSUSE (yet)
|
||||
# gen/shim_headers/re2/target/third_party/re2/re2/re2.h:8:21: fatal error: re2/re2.h: No such file or directory
|
||||
# ../../../src/3rdparty/chromium/media/filters/vpx_video_decoder.cc:270:58: error: 'vpx_codec_set_frame_buffer_functions' was not declared in this scope
|
||||
# /home/abuild/rpmbuild/BUILD/qtwebengine-opensource-src-5.4.1/src/core/Release/../../../src/3rdparty/chromium/third_party/WebKit/Source/modules/webdatabase/sqlite/SQLiteFileSystemPosix.cpp:79: undefined reference to `chromium_sqlite3_destroy_reusable_file_handle'
|
||||
%if 0
|
||||
myconf+=" -Duse_system_harfbuzz=1
|
||||
-Duse_system_icu=1
|
||||
-Duse_system_libwebp=1
|
||||
-Duse_system_libvpx=1
|
||||
-Duse_system_openssl=1
|
||||
-Duse_system_re2=1
|
||||
-Duse_system_zlib=1
|
||||
-Duse_system_sqlite=1"
|
||||
%endif
|
||||
|
||||
%ifarch armv6l armv6hl
|
||||
# Tell src/core/gyp_run.pro to configure for armv6, hard float, no neon
|
||||
RPM_OPT_FLAGS+=" -march=armv6zk -mfloat-abi=hard -mfpu=vfp"
|
||||
%endif
|
||||
|
||||
pushd src/3rdparty/chromium/
|
||||
build/linux/unbundle/replace_gyp_files.py $myconf
|
||||
popd
|
||||
|
||||
export CXXFLAGS+=" -fno-delete-null-pointer-checks"
|
||||
%ifnarch x86_64
|
||||
RPM_OPT_FLAGS="$RPM_OPT_FLAGS "
|
||||
export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-g / }
|
||||
%endif
|
||||
%qmake5 QMAKE_CFLAGS="$RPM_OPT_FLAGS" \
|
||||
QMAKE_CFLAGS+="$RPM_OPT_FLAGS" \
|
||||
%if %{with system_icu}
|
||||
WEBENGINE_CONFIG+=use_system_icu \
|
||||
%endif
|
||||
QMAKE_LFLAGS+="-Wl,--no-keep-memory -Wl,--hash-size=31 -Wl,--reduce-memory-overheads"
|
||||
|
||||
%make_jobs
|
||||
@ -247,15 +254,19 @@ export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-g / }
|
||||
%install
|
||||
%qmake5_install
|
||||
#cat %{buildroot}/%{_libdir}/pkgconfig/Qt*Web*.pc
|
||||
find %{buildroot}/%{_libdir} -type f -name '*la' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} \;
|
||||
find %{buildroot}/%{_libdir} -type f -name '*pc' -print -exec perl -pi -e "s, -L$RPM_BUILD_DIR/?\S+,,g" {} \; -exec sed -i -e "s,^moc_location=.*,moc_location=%libqt5_bindir/moc," -e "s,uic_location=.*,uic_location=%libqt5_bindir/uic," {} \;
|
||||
find %{buildroot}/%{_libdir} -type f -name '*pc' -exec sed -i -e "/^RPM_BUILD_DIR/d" {} \;
|
||||
find %{buildroot}/%{_libdir} -type f -name '*la' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} +
|
||||
find %{buildroot}/%{_libdir} -type f -name '*pc' -print -exec perl -pi -e "s, -L$RPM_BUILD_DIR/?\S+,,g" {} + -exec sed -i -e "s,^moc_location=.*,moc_location=%libqt5_bindir/moc," -e "s,uic_location=.*,uic_location=%libqt5_bindir/uic," {} +
|
||||
find %{buildroot}/%{_libdir} -type f -name '*pc' -exec sed -i -e "/^RPM_BUILD_DIR/d" {} +
|
||||
sed -i '/^Libs.private/d' %{buildroot}%{_libdir}/pkgconfig/Qt*Web*.pc
|
||||
# kill .la files
|
||||
rm -f %{buildroot}%{_libqt5_libdir}/lib*.la
|
||||
# webenginecore expects icudatl.dat at this location
|
||||
# ln -sf %{_datadir}/icu/*/icudt*l.dat %{buildroot}%{_datadir}/qt5/icudtl.dat
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,755)
|
||||
%doc LICENSE.*
|
||||
@ -265,6 +276,7 @@ rm -f %{buildroot}%{_libqt5_libdir}/lib*.la
|
||||
%{_libqt5_libexecdir}/QtWebEngineProcess
|
||||
%{_libqt5_archdatadir}/qml/QtWebEngine/
|
||||
%{_libqt5_plugindir}/designer/
|
||||
%{_libqt5_bindir}/qwebengine_convert_dict
|
||||
|
||||
%files private-headers-devel
|
||||
%defattr(-,root,root,755)
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2101883e3d632b50133a14e3bbdc1d4d649e405c9618f2eef1b72a7b821ccc2b
|
||||
size 163782564
|
3
qtwebengine-opensource-src-5.9.0.tar.xz
Normal file
3
qtwebengine-opensource-src-5.9.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2ed4a579b0fc89c586ed84f131f8c64f6fb70f3126711138ce68f1290ac2b820
|
||||
size 217995696
|
@ -1,51 +0,0 @@
|
||||
From d03c8ccab741952fee6bd54fb56a878c7cc4ca97 Mon Sep 17 00:00:00 2001
|
||||
From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
||||
Date: Fri, 10 Jun 2016 13:26:22 +0200
|
||||
Subject: [PATCH] Use -fno-delete-null-pointer-checks with gcc 6
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=utf8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
V8 is not safe for removing null pointer checks. Until it is, we need
|
||||
to disable optimizations in GCC that assume it is not doing something
|
||||
wrong.
|
||||
|
||||
This patch only enables it for v8, and requires it to be activated
|
||||
by qtwebengine.
|
||||
|
||||
Change-Id: I9da15ecf85719f211ba921a620e9d195eff26178
|
||||
Task-number: QTBUG-53956
|
||||
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
||||
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
||||
---
|
||||
chromium/v8/build/toolchain.gypi | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/src/3rdparty/chromium/v8/build/toolchain.gypi b/src/3rdparty/chromium/v8/build/toolchain.gypi
|
||||
index 15d6014..2c6fbf6 100644
|
||||
--- a/src/3rdparty/chromium/v8/build/toolchain.gypi
|
||||
+++ b/src/3rdparty/chromium/v8/build/toolchain.gypi
|
||||
@@ -72,6 +72,10 @@
|
||||
# Some versions of GCC 4.5 seem to need -fno-strict-aliasing.
|
||||
'v8_no_strict_aliasing%': 0,
|
||||
|
||||
+ # V8 needs support for illegal null this pointers, and must disable
|
||||
+ # optimizations in GCC 6 that relies on correct behavior.
|
||||
+ 'v8_no_delete_null_pointer_checks%': 0,
|
||||
+
|
||||
# Chrome needs this definition unconditionally. For standalone V8 builds,
|
||||
# it's handled in build/standalone.gypi.
|
||||
'want_separate_host_toolset%': 1,
|
||||
@@ -1066,6 +1070,9 @@
|
||||
[ 'v8_no_strict_aliasing==1', {
|
||||
'cflags': [ '-fno-strict-aliasing' ],
|
||||
}],
|
||||
+ [ 'v8_no_delete_null_pointer_checks==1', {
|
||||
+ 'cflags_cc': [ '-fno-delete-null-pointer-checks' ],
|
||||
+ }],
|
||||
], # conditions
|
||||
}],
|
||||
['OS=="solaris"', {
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,22 +0,0 @@
|
||||
Index: qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/webrtc/modules/video_processing/video_processing.gypi
|
||||
===================================================================
|
||||
--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/webrtc/modules/video_processing/video_processing.gypi
|
||||
+++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/webrtc/modules/video_processing/video_processing.gypi
|
||||
@@ -47,7 +47,7 @@
|
||||
['target_arch=="ia32" or target_arch=="x64"', {
|
||||
'dependencies': [ 'video_processing_sse2', ],
|
||||
}],
|
||||
- ['target_arch=="arm" or target_arch == "arm64"', {
|
||||
+ ['build_with_neon==1', {
|
||||
'dependencies': [ 'video_processing_neon', ],
|
||||
}],
|
||||
],
|
||||
@@ -77,7 +77,7 @@
|
||||
},
|
||||
],
|
||||
}],
|
||||
- ['target_arch=="arm" or target_arch == "arm64"', {
|
||||
+ ['build_with_neon==1', {
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'video_processing_neon',
|
Loading…
Reference in New Issue
Block a user