Compare commits

...

33 Commits

Author SHA1 Message Date
Rex Dieter
f28b232cf1 rebuild (qt5) 2020-04-04 18:46:59 -05:00
Rex Dieter
b1bd8b7ca1 5.14.2 2020-04-01 10:00:37 -05:00
Rex Dieter
b9477d7e18 %build: drop -k used for prior debugging 2020-03-26 07:22:53 -05:00
Rex Dieter
99752bf654 aarch64 fixes 2020-03-26 07:22:39 -05:00
Rex Dieter
80db037745 update for 5.14.1, use threads for xz 2020-03-26 07:22:11 -05:00
Rex Dieter
f9cf1a6ce6 5.14.1
use_system_icu on f32+
drop upstreamed patches
2020-03-25 11:17:16 -05:00
Ankur Sinha (Ankur Sinha Gmail)
52761a3da1
Add patch: Allow restricted clock_nanosleep in Linux sandbox
References:
- https://bugreports.qt.io/browse/QTBUG-81313
- https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/292352
- https://bugzilla.redhat.com/show_bug.cgi?id=1812482
- https://bugzilla.redhat.com/show_bug.cgi?id=1773289
2020-03-25 14:25:03 +00:00
Kevin Kofler
86c8573d0d Delete another unused remnant of the defunct no-sse2 patch.
The (misleadingly-named) condition %if 0%{?sse2} (which really meant:
do we want to build both an SSE2 and a non-SSE2 version?) has been
always false for a while now. Hence, delete it from the file list.
2020-02-26 11:35:46 +01:00
Troy Dawson
56139b5892 Move use_system_libwebp back out of %if 2020-02-21 11:32:32 -08:00
Troy Dawson
a71afe3eb0 Patch 3rd party chromium, fix FTBFS (#1799084) 2020-02-21 08:34:58 -08:00
Fedora Release Engineering
e061628edd - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 17:00:10 +00:00
Kevin Kofler
7af3e8d732 Remove obsolete libv8.so Provides/Requires excludes.
We no longer ship a libv8.so, ever since the no-sse2 patch was dropped.
2020-01-14 19:35:11 +01:00
Than Ngo
3f2a0d25e7 merged Pull-Request, keep ppc files in ffmpeg 2020-01-08 13:02:38 +01:00
Dan Horák
32de271bb5 keep ppc files in ffmpeg 2020-01-08 11:29:56 +01:00
Jan Grulich
c3c921f328 Use python2 2019-12-10 12:50:53 +01:00
Jan Grulich
8662bd6fa6 Fix build 2019-12-10 07:32:14 +01:00
Jan Grulich
66fb455074 Rebase patches 2019-12-09 21:51:23 +01:00
Jan Grulich
be1aee4524 5.13.2 2019-12-09 21:30:35 +01:00
Rex Dieter
b992294189 +changelog 2019-12-02 15:05:02 -06:00
Rex Dieter
b8567790e7 explicitly omit QtWebEngineCore.la from packaging 2019-12-02 15:04:33 -06:00
Rex Dieter
7ac0c5530a explicitly omit QtWebEngineCore.la from packaging 2019-10-02 13:52:43 -05:00
Kevin Kofler
05a52d121d Fix build on F29.
%{__python2} is not defined out of the box on F29.
2019-10-02 17:58:37 +02:00
Rex Dieter
7a09077c55 5.12.5 2019-09-26 15:07:11 -05:00
Jan Grulich
daf3331526 Fix build++ 2019-09-25 11:16:54 +02:00
Jan Grulich
910879a088 Fix build 2019-09-25 06:51:27 +02:00
Jan Grulich
167ab2f1d8 rebuild (qt5) 2019-09-24 21:07:15 +02:00
Miro Hrončok
2f1aa8a27c Adjust Python 2 BuildRequires to make it work both before and after python2 retirement 2019-08-26 14:11:17 +02:00
Rex Dieter
c7d8f26d98 document fesco exception to allow python2 use 2019-08-21 10:45:09 -05:00
Rex Dieter
e328399f3c rebuild (re2) 2019-08-14 11:01:03 -05:00
Rex Dieter
d26d4f2572 CONFIG+=link_pulseaudio 2019-08-12 10:51:10 -05:00
Rex Dieter
4be2cf030b build using bundled pulse headers, workaround FTBFS bug #1729806 2019-08-09 14:02:09 -05:00
Rex Dieter
699cae7fdb rebuild (re2, #1672014#c10) 2019-08-07 13:11:07 -05:00
Fedora Release Engineering
f1ad736e1e - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 17:52:49 +00:00
21 changed files with 304 additions and 210 deletions

6
.gitignore vendored
View File

@ -5,3 +5,9 @@
/qtwebengine-everywhere-src-5.12.2-clean.tar.xz
/qtwebengine-everywhere-src-5.12.3-clean.tar.xz
/qtwebengine-everywhere-src-5.12.4-clean.tar.xz
/pulseaudio-12.2-headers.tar.gz
/qtwebengine-everywhere-src-5.12.5-clean.tar.xz
/qtwebengine-everywhere-src-5.12.6-clean.tar.xz
/qtwebengine-everywhere-src-5.13.2-clean.tar.xz
/qtwebengine-everywhere-src-5.14.1-clean.tar.xz
/qtwebengine-everywhere-src-5.14.2-clean.tar.xz

View File

@ -1,34 +0,0 @@
From e8eec84aac0dc626770a483d503f7b16ab0dbe70 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
Date: Fri, 7 Jun 2019 14:18:23 +0200
Subject: [PATCH 1/3] Fix changing should_override_user_agent_in_new_tabs_
It wouldn't be updated if the custom user-agent didn't change.
Change-Id: Ic31ef485e2cb84903f9b48cb9ad5f9f1a723eb92
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
---
chromium/content/browser/web_contents/web_contents_impl.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/chromium/content/browser/web_contents/web_contents_impl.cc b/chromium/content/browser/web_contents/web_contents_impl.cc
index a2659263737..4c127f835d6 100644
--- a/chromium/content/browser/web_contents/web_contents_impl.cc
+++ b/chromium/content/browser/web_contents/web_contents_impl.cc
@@ -1230,11 +1230,11 @@ WebUI* WebContentsImpl::GetCommittedWebUI() const {
void WebContentsImpl::SetUserAgentOverride(const std::string& override,
bool override_in_new_tabs) {
+ should_override_user_agent_in_new_tabs_ = override_in_new_tabs;
+
if (GetUserAgentOverride() == override)
return;
- should_override_user_agent_in_new_tabs_ = override_in_new_tabs;
-
renderer_preferences_.user_agent_override = override;
// Send the new override string to the renderer.
--
2.21.0

View File

@ -1,30 +0,0 @@
From 6f3c15d2319ca11c2e31076292f5733baf64d991 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
Date: Tue, 18 Jun 2019 10:29:48 +0200
Subject: [PATCH 2/3] Bump V8 patch level
Otherwise it might use outdated script caches.
Change-Id: I839c6a11c3e1991f232972ad2d87fe6318256307
Fixes: QTBUG-72532
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
---
chromium/v8/include/v8-version.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chromium/v8/include/v8-version.h b/chromium/v8/include/v8-version.h
index 3e703039517..8dacc30c340 100644
--- a/chromium/v8/include/v8-version.h
+++ b/chromium/v8/include/v8-version.h
@@ -11,7 +11,7 @@
#define V8_MAJOR_VERSION 6
#define V8_MINOR_VERSION 9
#define V8_BUILD_NUMBER 427
-#define V8_PATCH_LEVEL 31
+#define V8_PATCH_LEVEL 32
// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
--
2.21.0

View File

@ -1,31 +0,0 @@
From 2323dc924a3b107647f9e5f0bdbcfc44b9713195 Mon Sep 17 00:00:00 2001
From: Michal Klocek <michal.klocek@qt.io>
Date: Thu, 20 Jun 2019 09:09:53 +0200
Subject: [PATCH 3/3] Fix segfaults with arm 32bit on metrics
Gcc 6 seems to misscompile pair's template constructor
in std::map emplace, use converting move constructor instead.
Fixes: QTBUG-75097
Change-Id: Ia50dc9eadb58f713432c0228a4a5aed73b275f32
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---
chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc b/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc
index 6685a5816db..5c5380e007e 100644
--- a/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc
+++ b/chromium/services/metrics/public/cpp/ukm_entry_builder_base.cc
@@ -23,7 +23,7 @@ UkmEntryBuilderBase::~UkmEntryBuilderBase() = default;
void UkmEntryBuilderBase::SetMetricInternal(uint64_t metric_hash,
int64_t value) {
- entry_->metrics.emplace(metric_hash, value);
+ entry_->metrics.emplace(std::make_pair(metric_hash, value));
}
void UkmEntryBuilderBase::Record(UkmRecorder* recorder) {
--
2.21.0

View File

@ -1,35 +0,0 @@
From c041711febbee334ce5369f25cfae3f560819855 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@qt.io>
Date: Tue, 16 Jan 2018 14:09:50 +0100
Subject: [PATCH 027/230] Fix compilation of simplebrowser example
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Previously qstyle.h was included indirectly through the uic
generated code, but this got changed in qtbase
commit 058474884c2505a8a0.
Task-number: QTBUG-65793
Change-Id: I56a1cd045d53b268999d728f6907ee8d952ba6e9
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
---
examples/webenginewidgets/simplebrowser/webpage.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/examples/webenginewidgets/simplebrowser/webpage.cpp b/examples/webenginewidgets/simplebrowser/webpage.cpp
index 3b78b861..90395641 100644
--- a/examples/webenginewidgets/simplebrowser/webpage.cpp
+++ b/examples/webenginewidgets/simplebrowser/webpage.cpp
@@ -56,6 +56,7 @@
#include "webview.h"
#include <QAuthenticator>
#include <QMessageBox>
+#include <QStyle>
WebPage::WebPage(QWebEngineProfile *profile, QObject *parent)
: QWebEnginePage(profile, parent)
--
2.17.0

View File

@ -46,6 +46,12 @@ header_files=" libavutil/x86/asm.h \
libavutil/arm/intmath.h \
libavutil/arm/intreadwrite.h \
libavutil/arm/timer.h \
libavutil/ppc/cpu.h \
libavutil/ppc/float_dsp_altivec.h \
libavutil/ppc/float_dsp_vsx.h \
libavutil/ppc/intreadwrite.h \
libavutil/ppc/timer.h \
libavutil/ppc/util_altivec.h \
libavutil/aes_internal.h \
libavutil/atomic.h \
libavutil/atomic_gcc.h \
@ -85,6 +91,8 @@ header_files=" libavutil/x86/asm.h \
libavutil/time_internal.h \
libavutil/version.h \
libavutil/x86_cpu.h
libavcodec/aarch64/neon.S \
libavcodec/aarch64/vp8dsp.h \
libavcodec/x86/constants.h \
libavcodec/x86/dsputil_x86.h \
libavcodec/x86/fft.h \
@ -99,6 +107,9 @@ header_files=" libavutil/x86/asm.h \
libavcodec/arm/vp56_arith.h \
libavcodec/arm/vp8.h \
libavcodec/arm/vp8dsp.h \
libavcodec/ppc/fft_vsx.h \
libavcodec/ppc/hpeldsp_altivec.h \
libavcodec/ppc/mathops.h \
libavcodec/aac_ac3_parser.h \
libavcodec/ac3_parser_internal.h \
libavcodec/ac3.h \
@ -146,12 +157,14 @@ header_files=" libavutil/x86/asm.h \
libavcodec/old_codec_ids.h \
libavcodec/options_table.h \
libavcodec/opus_celt.h \
libavcodec/opusdsp.h \
libavcodec/opus_pvq.h \
libavcodec/opus_rc.h \
libavcodec/pcm_tablegen.h \
libavcodec/pel_template.c \
libavcodec/pixblockdsp.h \
libavcodec/pixels.h \
libavcodec/png.h \
libavcodec/pthread_internal.h \
libavcodec/put_bits.h \
libavcodec/qpeldsp.h \
@ -169,6 +182,7 @@ header_files=" libavutil/x86/asm.h \
libavcodec/vorbisdsp.h \
libavcodec/vp3data.h \
libavcodec/vp3dsp.h \
libavcodec/vp4data.h \
libavcodec/vp56.h \
libavcodec/vp56dsp.h \
libavcodec/vp8data.h \
@ -267,9 +281,24 @@ manual_files=" libavutil/x86/x86inc.asm \
libavcodec/aarch64/h264pred_neon.S \
libavcodec/aarch64/mdct_neon.S \
libavcodec/aarch64/vorbisdsp_neon.S \
libavcodec/aarch64/vp8dsp_neon.S \
libavcodec/arm/vorbisdsp_neon.S \
libavcodec/arm/mdct_neon.S \
libavcodec/arm/fft_neon.S \
libavcodec/arm/vp8dsp_neon.S \
libavutil/ppc/cpu.c \
libavutil/ppc/float_dsp_altivec.c \
libavutil/ppc/float_dsp_init.c \
libavutil/ppc/float_dsp_vsx.c \
libavcodec/ppc/fft_altivec.S \
libavcodec/ppc/fft_init.c \
libavcodec/ppc/fft_vsx.c \
libavcodec/ppc/hpeldsp_altivec.c \
libavcodec/ppc/mpegaudiodsp_altivec.c \
libavcodec/ppc/videodsp.c \
libavcodec/ppc/vorbisdsp_altivec.c \
libavcodec/ppc/vp3dsp_altivec.c \
libavcodec/ppc/vp8dsp_altivec.c \
chromium/ffmpeg_stub_headers.fragment \
chromium/ffmpegsumo.sigs"

View File

@ -21,7 +21,7 @@
if [ -z "$1" ] ; then
echo "usage: ./clean_qtwebengine.sh VERSION"
echo "e.g.: ./clean_qtwebengine.sh 5.11.1"
echo "e.g.: ./clean_qtwebengine.sh 5.14.1"
exit 1
fi
@ -32,7 +32,7 @@ rm -rf "$DIRNAME" || exit $?
if [ -f "$DIRNAME.tar.xz" ] ; then
echo "unpacking $DIRNAME.tar.xz"
tar xJf "$DIRNAME.tar.xz" || exit $?
XZ_OPT="-T 4" tar xJf "$DIRNAME.tar.xz" || exit $?
elif [ -f "$DIRNAME.tar.bz2" ] ; then
echo "unpacking $DIRNAME.tar.bz2"
tar xjf "$DIRNAME.tar.bz2" || exit $?
@ -61,7 +61,7 @@ echo "ripping out openh264 sources"
rm -rf "$DIRNAME/src/3rdparty/chromium/third_party/openh264/src" || exit $?
echo "repacking as $DIRNAME-clean.tar.xz"
XZ_OPT="-9 -f" tar cJf "$DIRNAME-clean.tar.xz" "$DIRNAME" || exit $?
XZ_OPT="-9 -T 4" tar cJf "$DIRNAME-clean.tar.xz" "$DIRNAME" || exit $?
echo "removing $DIRNAME"
rm -rf "$DIRNAME" || exit $?

View File

@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/python2
# Copyright 2015 Tomas Popela <tpopela@redhat.com>
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the

View File

@ -6,13 +6,18 @@
# where qt5-qttools (qt5-doctools) builds are not yet available
%global docs 1
%if 0%{?fedora} > 29
%if 0%{?fedora}
# need libvpx >= 1.8.0 (need commit 297dfd869609d7c3c5cd5faa3ebc7b43a394434e)
%global use_system_libvpx 1
%endif
# need libwebp >= 0.6.0
%global use_system_libwebp 1
%if 0%{?fedora} > 31
# need libicu >= 64, only currently available on f32+
%global use_system_libicu 1
%endif
# NEON support on ARM (detected at runtime) - disable this if you are hitting
# FTBFS due to e.g. GCC bug https://bugzilla.redhat.com/show_bug.cgi?id=1282495
#global arm_neon 1
@ -36,27 +41,24 @@
%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
# exclude plugins (all architectures) and libv8.so (i686, it's static everywhere
# else)
%global __provides_exclude ^lib.*plugin\\.so.*|libv8\\.so$
# exclude libv8.so (i686, it's static everywhere else)
%global __requires_exclude ^libv8\\.so$
# exclude plugins
%global __provides_exclude ^lib.*plugin\\.so.*$
# and designer plugins
%global __provides_exclude_from ^%{_qt5_plugindir}/.*\\.so$
Summary: Qt5 - QtWebEngine components
Name: qt5-qtwebengine
Version: 5.12.4
Release: 5%{?dist}
Version: 5.14.2
Release: 2%{?dist}
# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
# See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html
# The other licenses are from Chromium and the code it bundles
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: http://www.qt.io
# cleaned tarball with patent-encumbered codecs removed from the bundled FFmpeg
# wget http://download.qt.io/official_releases/qt/5.12/5.12.3/submodules/qtwebengine-everywhere-src-5.12.3.tar.xz
# ./clean_qtwebengine.sh 5.12.2
# leaned tarball with patent-encumbered codecs removed from the bundled FFmpeg
# wget http://download.qt.io/official_releases/qt/5.14/5.14.2/submodules/qtwebengine-everywhere-src-5.14.2.tar.xz
# ./clean_qtwebengine.sh 5.14.2
Source0: qtwebengine-everywhere-src-%{version}-clean.tar.xz
# cleanup scripts used above
Source1: clean_qtwebengine.sh
@ -65,6 +67,9 @@ Source3: get_free_ffmpeg_source_files.py
# macros
Source10: macros.qt5-qtwebengine
# pulseaudio headers
Source20: pulseaudio-12.2-headers.tar.gz
# some tweaks to linux.pri (system yasm, link libpci, run unbundling script)
Patch0: qtwebengine-everywhere-src-5.10.0-linux-pri.patch
# quick hack to avoid checking for the nonexistent icudtl.dat and silence the
@ -80,18 +85,23 @@ Patch2: qtwebengine-opensource-src-5.12.4-fix-extractcflag.patch
Patch3: qtwebengine-opensource-src-5.9.0-no-neon.patch
# workaround FTBFS against kernel-headers-5.2.0+
Patch4: qtwebengine-SIOCGSTAMP.patch
# fix build when using qt < 5.14
Patch5: qtwebengine-5.14-1-QT_DEPRECATED_VERSION.patch
# remove Android dependencies from openmax_dl ARM NEON detection (detect.c)
Patch10: qtwebengine-opensource-src-5.9.0-openmax-dl-neon.patch
# Force verbose output from the GN bootstrap process
Patch21: qtwebengine-everywhere-src-5.12.0-gn-bootstrap-verbose.patch
# Fix/workaround FTBFS on aarch64 with newer glibc
Patch24: qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch
# Use Python2
Patch26: qtwebengine-everywhere-5.13.2-use-python2.patch
# Fix missing include in chromium
Patch27: qtwebengine-everywhere-5.13.2-fix-chromium-headers.patch
# Fix gcc10 FTBFS
Patch29: qtwebengine-everywhere-5.14.1-gcc10.patch
## Upstream patches:
# qtwebengine-chromium
Patch101: 0001-Fix-changing-should_override_user_agent_in_new_tabs_.patch
Patch102: 0002-Bump-V8-patch-level.patch
Patch103: 0003-Fix-segfaults-with-arm-32bit-on-metrics.patch
# handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches
ExclusiveArch: %{qt5_qtwebengine_arches}
@ -118,7 +128,9 @@ BuildRequires: libstdc++-static
BuildRequires: git-core
BuildRequires: gperf
BuildRequires: krb5-devel
BuildRequires: libicu-devel
%if 0%{?use_system_libicu}
BuildRequires: libicu-devel >= 64
%endif
BuildRequires: libjpeg-devel
BuildRequires: re2-devel
BuildRequires: snappy-devel
@ -170,7 +182,15 @@ BuildRequires: pkgconfig(lcms2)
## https://bugreports.qt.io/browse/QTBUG-59094
#BuildRequires: pkgconfig(libxslt) pkgconfig(libxml-2.0)
BuildRequires: perl-interpreter
BuildRequires: python2-devel
# fesco exception to allow python2 use: https://pagure.io/fesco/issue/2208
# per https://fedoraproject.org/wiki/Changes/RetirePython2#FESCo_exceptions
# Only the interpreter is needed
%if 0%{?fedora} > 29 || 0%{?rhel} > 8
BuildRequires: %{__python2}
%else
BuildRequires: python2
BuildRequires: python2-rpm-macros
%endif
%if 0%{?use_system_libvpx}
BuildRequires: pkgconfig(vpx) >= 1.7.0
%endif
@ -344,28 +364,33 @@ BuildArch: noarch
%prep
%setup -q -n %{qt_module}-everywhere-src-%{version}%{?prerelease:-%{prerelease}}
%setup -q -n %{qt_module}-everywhere-src-%{version}%{?prerelease:-%{prerelease}} -a20
mv pulse src/3rdparty/chromium/
pushd src/3rdparty/chromium
%patch101 -p2 -b .0001
%patch102 -p2 -b .0002
%patch103 -p2 -b .0003
popd
%patch0 -p1 -b .linux-pri
%if 0%{?use_system_libicu}
%patch1 -p1 -b .no-icudtl-dat
%endif
%patch2 -p1 -b .fix-extractcflag
%if !0%{?arm_neon}
%patch3 -p1 -b .no-neon
%endif
%patch4 -p1 -b .SIOCGSTAMP
%patch5 -p1 -b .QT_DEPRECATED_VERSION
## upstream patches
%patch10 -p1 -b .openmax-dl-neon
#patch10 -p1 -b .openmax-dl-neon
## NEEDSWORK
#patch21 -p1 -b .gn-bootstrap-verbose
%patch24 -p1 -b .aarch64-new-stat
%patch26 -p1 -b .use-python2
%patch27 -p1 -b .fix-chromium
%patch29 -p1 -b .gcc10
# the xkbcommon config/feature was renamed in 5.12, so need to adjust QT_CONFIG references
# when building on older Qt releases
@ -420,8 +445,9 @@ export NINJAFLAGS="%{__ninja_common_opts}"
export NINJA_PATH=%{__ninja}
%{qmake_qt5} \
CONFIG+="%{debug_config}" \
QMAKE_EXTRA_ARGS+="-system-webengine-icu" \
%{?debug_config:CONFIG+="%{debug_config}}" \
CONFIG+="link_pulseaudio" \
%{?use_system_libicu:QMAKE_EXTRA_ARGS+="-system-webengine-icu"} \
QMAKE_EXTRA_ARGS+="-webengine-kerberos" \
.
@ -467,6 +493,8 @@ for prl_file in libQt5*.prl ; do
sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file}
fi
done
# explicitly omit, at least until there's a real library installed associated with it -- rex
rm -fv Qt5WebEngineCore.la
popd
mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir}
@ -497,13 +525,11 @@ done
%{_qt5_bindir}/qwebengine_convert_dict
%{_qt5_libdir}/qt5/qml/*
%{_qt5_libdir}/qt5/libexec/QtWebEngineProcess
#ifarch %{ix86}
%if 0%{?sse2}
# shared V8 library and its SSE2 version
%{_qt5_libdir}/qtwebengine/
%endif
%{_qt5_plugindir}/designer/libqwebengineview.so
%dir %{_qt5_datadir}/resources/
%if ! 0%{?use_system_libicu}
%{_qt5_datadir}/resources/icudtl.dat
%endif
%{_qt5_datadir}/resources/qtwebengine_resources_100p.pak
%{_qt5_datadir}/resources/qtwebengine_resources_200p.pak
%{_qt5_datadir}/resources/qtwebengine_resources.pak
@ -568,6 +594,7 @@ done
%{_qt5_headerdir}/Qt*/
%{_qt5_libdir}/libQt5*.so
%{_qt5_libdir}/libQt5*.prl
#{_qt5_libdir}/Qt5WebEngineCore.la
%{_qt5_libdir}/cmake/Qt5*/
%{_qt5_libdir}/pkgconfig/Qt5*.pc
%{_qt5_archdatadir}/mkspecs/modules/*.pri
@ -585,6 +612,54 @@ done
%changelog
* Sat Apr 04 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.14.2-2
- rebuild (qt5)
* Wed Apr 01 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.14.2-1
- 5.14.2
* Wed Mar 25 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.14.1-1
- 5.14.1
- use_system_icu on f32+
- drop upstreamed patches
* Wed Mar 25 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 5.13.2-4
- Add patch to allow clock_nanosleep in Linux sandbox (Chromium)
* Fri Feb 21 2020 Troy Dawson <tdawson@redhat.com> - 5.13.2-3
- Patch 3rd party chromium, fix FTBFS (#1799084)
* Wed Jan 08 2020 Than Ngo <than@redhat.com> - 5.13.2-2
- merged Pull-Request, keep ppc files in ffmpeg
* Mon Dec 09 2019 Jan Grulich <jgrulich@redhat.com> - 5.13.2-1
- 5.13.2
* Mon Dec 02 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.6-1
- 5.12.6
* Wed Oct 02 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.5-2
- explicitly omit QtWebEngineCore.la from packaging
* Thu Sep 26 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.5-1
- 5.12.5
* Tue Sep 24 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.4-10
- rebuild (qt5)
* Wed Aug 14 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.4-9
- rebuild (re2)
* Mon Aug 12 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.4-8
- CONFIG+=link_pulseaudio
* Wed Aug 07 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.4-7
- rebuild (re2, #1672014#c10)
- build using bundled pulse headers, workaround FTBFS bug #1729806
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.12.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jun 26 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.4-5
- pull in some upstream fixes

View File

@ -0,0 +1,17 @@
diff -up qtwebengine-everywhere-src-5.14.1.orig/src/webenginewidgets/api/qwebenginedownloaditem.h.QT_DEPRECATED qtwebengine-everywhere-src-5.14.1.orig/src/webenginewidgets/api/qwebenginedownloaditem.h
--- qtwebengine-everywhere-src-5.14.1.orig/src/webenginewidgets/api/qwebenginedownloaditem.h.QT_DEPRECATED 2020-01-20 05:17:16.000000000 -0600
+++ qtwebengine-everywhere-src-5.14.1.orig/src/webenginewidgets/api/qwebenginedownloaditem.h 2020-03-24 15:42:03.558394148 -0500
@@ -119,9 +119,13 @@ public:
QUrl url() const;
QString mimeType() const;
#if QT_DEPRECATED_SINCE(5, 14)
+#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
QT_DEPRECATED_VERSION_X(5, 14, "Use downloadDirectory() and downloadFileName() instead")
+#endif
QString path() const;
+#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
QT_DEPRECATED_VERSION_X(5, 14, "Use setDownloadDirectory() and setDownloadFileName() instead")
+#endif
void setPath(QString path);
#endif
bool isFinished() const;

View File

@ -1,11 +1,11 @@
diff --git a/src/3rdparty/chromium/third_party/webrtc/rtc_base/physicalsocketserver.cc b/src/3rdparty/chromium/third_party/webrtc/rtc_base/physicalsocketserver.cc
index ca7849917..31c5f7697 100644
--- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/physicalsocketserver.cc
+++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/physicalsocketserver.cc
@@ -69,6 +69,11 @@ typedef void* SockOptArg;
diff --git a/src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc b/src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
index c38d7fdfa..0a8b0fd8b 100644
--- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
+++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
@@ -72,6 +72,11 @@ typedef void* SockOptArg;
#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
+// Seems that kernel 5.2.0 renames this define to SIOCGSTAMP_OLD
+#ifndef SIOCGSTAMP
+#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */

View File

@ -0,0 +1,39 @@
From 033c7aa2da1bc78347765d60c15843ece02ef4d8 Mon Sep 17 00:00:00 2001
From: Troy Dawson <tdawson@redhat.com>
Date: Tue, 11 Feb 2020 15:43:30 -0800
Subject: [PATCH] fix chromium headers
---
.../chromium/cc/base/list_container_helper.cc | 250 -----------------
.../chromium/cc/base/list_container_helper.h | 254 ++++++++++++++++++
.../aec3/clockdrift_detector.h | 1 +
.../modules/video_coding/decoding_state.h | 1 +
4 files changed, 256 insertions(+), 250 deletions(-)
diff --git a/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h b/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
index 22528c948..69e624e8b 100644
--- a/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+++ b/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
@@ -12,6 +12,7 @@
#define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
#include <array>
+#include <cstddef>
namespace webrtc {
diff --git a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
index b87fb2d03..ec972949d 100644
--- a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
+++ b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
@@ -11,6 +11,7 @@
#ifndef MODULES_VIDEO_CODING_DECODING_STATE_H_
#define MODULES_VIDEO_CODING_DECODING_STATE_H_
+#include <cstdint>
#include <map>
#include <set>
#include <vector>
--
2.24.1

View File

@ -0,0 +1,13 @@
diff --git a/src/webengine/module.pro b/src/webengine/module.pro
index 49a1086b2..afc89d49e 100644
--- a/src/webengine/module.pro
+++ b/src/webengine/module.pro
@@ -76,7 +76,7 @@ qtConfig(webengine-testsupport) {
python = $$pythonPathForShell()
chromium_attributions.commands = \
cd $$shell_quote($$shell_path($$PWD/../3rdparty)) && \
- $$python chromium/tools/licenses.py \
+ python2 chromium/tools/licenses.py \
--file-template ../../tools/about_credits.tmpl \
--entry-template ../../tools/about_credits_entry.tmpl credits \
$$shell_quote($$shell_path($$OUT_PWD/chromium_attributions.qdoc))

View File

@ -0,0 +1,35 @@
diff -up qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.cc.gcc10 qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.cc
diff -up qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h.gcc10 qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h
--- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h.gcc10 2020-01-20 04:37:42.000000000 -0600
+++ qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h 2020-03-25 08:19:35.628534572 -0500
@@ -6,6 +6,7 @@
#define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_
#include <array>
+#include <cstdlib>
#include "media/base/media_export.h"
#include "media/cdm/api/content_decryption_module.h"
diff -up qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h.gcc10 qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h
--- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h.gcc10 2020-01-20 04:37:42.000000000 -0600
+++ qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h 2020-03-17 16:59:11.432193734 -0500
@@ -18,6 +18,7 @@
#define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
#include <functional>
+#include <cstdint>
#include "perfetto/base/export.h"
diff -up qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h.gcc10 qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h
--- qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h.gcc10 2020-01-20 04:37:42.000000000 -0600
+++ qtwebengine-everywhere-src-5.14.1.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h 2020-03-25 09:37:13.373280961 -0500
@@ -11,6 +11,8 @@
#ifndef CALL_RTX_RECEIVE_STREAM_H_
#define CALL_RTX_RECEIVE_STREAM_H_
+#include <cstdlib>
+#include <cstdint>
#include <map>
#include "call/rtp_packet_sink_interface.h"

View File

@ -1,6 +1,6 @@
diff -ur qtwebengine-everywhere-src-5.10.0/src/core/config/linux.pri qtwebengine-everywhere-src-5.10.0-linux-pri/src/core/config/linux.pri
--- qtwebengine-everywhere-src-5.10.0/src/core/config/linux.pri 2017-11-29 09:42:29.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-linux-pri/src/core/config/linux.pri 2017-12-25 12:07:40.262411459 +0100
diff -ur qtwebengine-everywhere-src-5.10.0/src/buildtools/config/linux.pri qtwebengine-everywhere-src-5.10.0-linux-pri/src/buildtools/config/linux.pri
--- qtwebengine-everywhere-src-5.10.0/src/buildtools/config/linux.pri 2017-11-29 09:42:29.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-linux-pri/src/buildtools/config/linux.pri 2017-12-25 12:07:40.262411459 +0100
@@ -157,3 +157,19 @@
#qtConfig(webengine-system-jsoncpp): gn_args += use_system_jsoncpp=true
#qtConfig(webengine-system-libsrtp: gn_args += use_system_libsrtp=true

View File

@ -1,9 +1,10 @@
diff -up qtwebengine-everywhere-src-5.11.0/src/core/web_engine_library_info.cpp.no-icudtl-dat qtwebengine-everywhere-src-5.11.0/src/core/web_engine_library_info.cpp
--- qtwebengine-everywhere-src-5.11.0/src/core/web_engine_library_info.cpp.no-icudtl-dat 2018-06-14 09:23:48.931195271 -0500
+++ qtwebengine-everywhere-src-5.11.0/src/core/web_engine_library_info.cpp 2018-06-14 09:27:26.248014325 -0500
@@ -258,28 +258,12 @@ QString dictionariesPath()
diff --git a/src/core/web_engine_library_info.cpp b/src/core/web_engine_library_info.cpp
index 1c8316430..a1c27d28f 100644
--- a/src/core/web_engine_library_info.cpp
+++ b/src/core/web_engine_library_info.cpp
@@ -259,29 +259,12 @@ QString dictionariesPath()
QString icuDataPath()
QString resourcesDataPath()
{
- static bool initialized = false;
static QString potentialResourcesPath =
@ -14,19 +15,20 @@ diff -up qtwebengine-everywhere-src-5.11.0/src/core/web_engine_library_info.cpp.
#endif
- if (!initialized) {
- initialized = true;
- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/icudtl.dat"))) {
- qWarning("Qt WebEngine ICU data not found at %s. Trying parent directory...", qPrintable(potentialResourcesPath));
- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/qtwebengine_resources.pak"))) {
- qWarning("Qt WebEngine resources not found at %s. Trying parent directory...", qPrintable(potentialResourcesPath));
- potentialResourcesPath = QLibraryInfo::location(QLibraryInfo::DataPath);
- }
- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/icudtl.dat"))) {
- qWarning("Qt WebEngine ICU data not found at %s. Trying application directory...", qPrintable(potentialResourcesPath));
- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/qtwebengine_resources.pak"))) {
- qWarning("Qt WebEngine resources not found at %s. Trying application directory...", qPrintable(potentialResourcesPath));
- potentialResourcesPath = QCoreApplication::applicationDirPath();
- }
- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/icudtl.dat"))) {
- qWarning("Qt WebEngine ICU data not found at %s. Trying fallback directory... The application MAY NOT work.", qPrintable(potentialResourcesPath));
- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/qtwebengine_resources.pak"))) {
- qWarning("Qt WebEngine resources not found at %s. Trying fallback directory... The application MAY NOT work.", qPrintable(potentialResourcesPath));
- potentialResourcesPath = fallbackDir();
- }
- }
-
return potentialResourcesPath;
}
} // namespace

View File

@ -1,12 +1,13 @@
diff -up qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro.gn-bootstrap-verbose qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro
--- qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro.gn-bootstrap-verbose 2018-12-07 09:53:18.262171677 -0600
+++ qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro 2018-12-07 09:57:53.246646133 -0600
diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
index b6bf9cfc4..30f92e6ac 100644
--- a/src/buildtools/gn.pro
+++ b/src/buildtools/gn.pro
@@ -18,7 +18,7 @@ build_pass|!debug_and_release {
src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT")
gn_bootstrap = $$system_path($$absolute_path(gn/build/gen.py, $$src_3rd_party_dir))
- gn_configure = $$system_quote($$gn_bootstrap) --no-last-commit-position --out-path $$out_path
+ gn_configure = $$system_quote($$gn_bootstrap) --verbose --no-last-commit-position --out-path $$out_path
!system("$$pythonPathForSystem() $$gn_configure") {
error("GN generation error!")
}
- gn_gen_args = --no-last-commit-position --out-path $$out_path \
+ gn_gen_args = --no-last-commit-position --verbose --out-path $$out_path \
--cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
--ld \"$$which($$QMAKE_LINK)\"

View File

@ -1,7 +1,7 @@
diff --git a/src/core/config/functions.pri b/src/core/config/functions.pri
diff --git a/src/buildtools/config/functions.pri b/src/buildtools/config/functions.pri
index 8c11faa16..191d3d623 100644
--- a/src/core/config/functions.pri
+++ b/src/core/config/functions.pri
--- a/src/buildtools/config/functions.pri
+++ b/src/buildrools/config/functions.pri
@@ -1,5 +1,5 @@
defineReplace(qtwebengine_extractCFlag) {
- CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS

View File

@ -1,7 +1,8 @@
diff -ur qtwebengine-opensource-src-5.9.0/src/core/config/linux.pri qtwebengine-opensource-src-5.9.0-no-neon/src/core/config/linux.pri
--- qtwebengine-opensource-src-5.9.0/src/core/config/linux.pri 2017-05-19 06:22:04.000000000 +0200
+++ qtwebengine-opensource-src-5.9.0-no-neon/src/core/config/linux.pri 2017-06-08 00:55:22.257781563 +0200
@@ -70,7 +70,9 @@
diff --git a/src/buildtools/config/linux.pri b/src/buildtools/config/linux.pri
index f45c418fe..f6c7b714e 100644
--- a/src/buildtools/config/linux.pri
+++ b/src/buildtools/config/linux.pri
@@ -87,7 +87,9 @@ contains(QT_ARCH, "arm") {
gn_args += arm_use_neon=false
# If the toolchain does not explicitly specify to use NEON instructions
# we use arm_neon_optional for ARMv7

View File

@ -1,19 +1,24 @@
diff -ur qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn qtwebengine-opensource-src-5.9.0-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn
--- qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn 2017-05-18 16:51:44.000000000 +0200
+++ qtwebengine-opensource-src-5.9.0-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn 2017-06-10 02:41:10.317340598 +0200
@@ -196,9 +196,6 @@
diff --git a/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn b/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn
index 96a59c7c7..d5470f284 100644
--- a/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn
+++ b/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn
@@ -208,12 +208,6 @@ if (current_cpu == "arm") {
]
if (arm_optionally_use_neon) {
# Run-time NEON detection.
- deps = [ "//third_party/android_tools:cpu_features" ]
- deps = [
- "//third_party/android_tools:cpu_features",
- ]
-
- # To get the __android_log_print routine
- libs = [ "log" ]
# Detection routine
sources += [ "sp/src/arm/detect.c" ]
}
diff -ur qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c qtwebengine-opensource-src-5.9.0-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c
--- qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c 2017-05-18 16:51:44.000000000 +0200
+++ qtwebengine-opensource-src-5.9.0-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c 2017-06-10 02:38:30.593809570 +0200
diff --git a/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c b/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c
index 57bfe4089..94a3f7ddc 100644
--- a/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c
+++ b/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c
@@ -9,13 +9,57 @@
*
*/
@ -76,7 +81,7 @@ diff -ur qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/open
}
static void SetFFTRoutines() {
@@ -24,13 +68,9 @@
@@ -24,13 +68,9 @@ static void SetFFTRoutines() {
* forward and inverse FFTs
*/
if (omxSP_HasArmNeon()) {

View File

@ -1 +1,2 @@
SHA512 (qtwebengine-everywhere-src-5.12.4-clean.tar.xz) = 6ac76ef0fde00763a407363e1ce79d883d827020580c0ec712ae1b2f1262d9daf2a1039c44f271ac4b498acaa9af1c1dcdb7367bcf3a6b97acdc9d8973b3cd18
SHA512 (pulseaudio-12.2-headers.tar.gz) = a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be
SHA512 (qtwebengine-everywhere-src-5.14.2-clean.tar.xz) = 1b946115ac7fba2db6f2807bca5b8911147c164ed19aa13e46bd030a3317f484b2241150cad59ab071da5fd000fc003a81ccc93a68ef3f34a997ff8c4a7d113a