Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
61a977ec34 | ||
|
624a3c54f4 | ||
|
5efd916a84 | ||
|
a8b2620e03 | ||
|
2cdbb4e8ab |
9
.gitignore
vendored
9
.gitignore
vendored
@ -1,4 +1,7 @@
|
||||
/qtwebengine-opensource-src-5.6.0-beta-clean.tar.xz
|
||||
/qtwebengine-opensource-src-5.6.0-rc-clean.tar.xz
|
||||
/qtwebengine-opensource-src-5.6.0-clean.tar.xz
|
||||
/qtwebengine-opensource-src-5.6.1-clean.tar.xz
|
||||
/qtwebengine-opensource-src-5.6.2-clean.tar.xz
|
||||
/qtwebengine-opensource-src-5.6.3-ee719ad313e564d4e6f06d74b313ae179169466f-clean.tar.xz
|
||||
/qtwebengine-opensource-src-5.7.0-clean.tar.xz
|
||||
/qtwebengine-opensource-src-5.7.1-clean.tar.xz
|
||||
/qtwebengine-opensource-src-5.9.0-clean.tar.xz
|
||||
/qtwebengine-opensource-src-5.9.1-clean.tar.xz
|
||||
|
@ -22,12 +22,12 @@
|
||||
|
||||
where=`pwd`
|
||||
|
||||
generated_files=`./process_ffmpeg_gyp.py $1`
|
||||
generated_files=`./get_free_ffmpeg_source_files.py $1 0`
|
||||
generated_files_headers="${generated_files//.c/.h}"
|
||||
generated_files_headers="${generated_files_headers//.S/.h}"
|
||||
generated_files_headers="${generated_files_headers//.asm/.h}"
|
||||
|
||||
cd $1
|
||||
cd $1/third_party/ffmpeg
|
||||
|
||||
header_files=" libavutil/x86/asm.h \
|
||||
libavutil/x86/bswap.h \
|
||||
@ -38,6 +38,7 @@ header_files=" libavutil/x86/asm.h \
|
||||
libavutil/x86/timer.h \
|
||||
libavutil/aarch64/asm.S \
|
||||
libavutil/aarch64/bswap.h \
|
||||
libavutil/aarch64/timer.h \
|
||||
libavutil/arm/asm.S \
|
||||
libavutil/arm/bswap.h \
|
||||
libavutil/arm/cpu.h \
|
||||
@ -45,6 +46,8 @@ header_files=" libavutil/x86/asm.h \
|
||||
libavutil/arm/intmath.h \
|
||||
libavutil/arm/intreadwrite.h \
|
||||
libavutil/arm/timer.h \
|
||||
libavutil/aes_internal.h \
|
||||
libavutil/atomic.h \
|
||||
libavutil/atomic_gcc.h \
|
||||
libavutil/attributes.h \
|
||||
libavutil/audio_fifo.h \
|
||||
@ -64,8 +67,10 @@ header_files=" libavutil/x86/asm.h \
|
||||
libavutil/lls.h \
|
||||
libavutil/lzo.h \
|
||||
libavutil/macros.h \
|
||||
libavutil/mem_internal.h \
|
||||
libavutil/old_pix_fmts.h \
|
||||
libavutil/pixfmt.h \
|
||||
libavutil/qsort.h \
|
||||
libavutil/replaygain.h \
|
||||
libavutil/softfloat_tables.h \
|
||||
libavutil/thread.h \
|
||||
@ -194,6 +199,7 @@ manual_files=" libavutil/x86/x86inc.asm \
|
||||
libavcodec/hpel_template.c \
|
||||
libavcodec/hpeldsp_template.c \
|
||||
libavcodec/mdct_template.c \
|
||||
libavcodec/pel_template.c \
|
||||
libavcodec/videodsp_template.c \
|
||||
libavcodec/h264pred.c \
|
||||
libavcodec/hpeldsp.c \
|
||||
@ -208,14 +214,18 @@ manual_files=" libavutil/x86/x86inc.asm \
|
||||
chromium/ffmpeg_stub_headers.fragment \
|
||||
chromium/ffmpegsumo.sigs"
|
||||
|
||||
other_files=" Changelog \
|
||||
other_files=" BUILD.gn \
|
||||
Changelog \
|
||||
COPYING.GPLv2 \
|
||||
COPYING.GPLv3 \
|
||||
COPYING.LGPLv2.1 \
|
||||
COPYING.LGPLv3 \
|
||||
CREDITS \
|
||||
ffmpeg_generated.gypi \
|
||||
CREDITS.chromium \
|
||||
ffmpeg.gyp \
|
||||
ffmpeg_generated.gypi \
|
||||
ffmpeg_generated.gni \
|
||||
ffmpeg_options.gni \
|
||||
ffmpegsumo.ver \
|
||||
INSTALL \
|
||||
LICENSE \
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2015 Kevin Kofler <Kevin@tigcc.ticalc.org>
|
||||
# Copyright 2015-2016 Kevin Kofler <Kevin@tigcc.ticalc.org>
|
||||
# Permission is hereby granted, free of charge, to any person obtaining
|
||||
# a copy of this software and associated documentation files (the
|
||||
# "Software"), to deal in the Software without restriction, including
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
if [ -z "$1" ] ; then
|
||||
echo "usage: ./clean_qtwebengine.sh VERSION"
|
||||
echo "e.g.: ./clean_qtwebengine.sh 5.6.0"
|
||||
echo "e.g.: ./clean_qtwebengine.sh 5.7.0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -55,7 +55,10 @@ else
|
||||
fi
|
||||
|
||||
echo "running clean_ffmpeg.sh"
|
||||
./clean_ffmpeg.sh "$DIRNAME/src/3rdparty/chromium/third_party/ffmpeg" || exit $?
|
||||
./clean_ffmpeg.sh "$DIRNAME/src/3rdparty/chromium" || exit $?
|
||||
|
||||
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 $?
|
||||
|
73
get_free_ffmpeg_source_files.py
Executable file
73
get_free_ffmpeg_source_files.py
Executable file
@ -0,0 +1,73 @@
|
||||
#!/usr/bin/python
|
||||
# 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
|
||||
# "Software"), to deal in the Software without restriction, including
|
||||
# without limitation the rights to use, copy, modify, merge, publish,
|
||||
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||
# permit persons to whom the Software is furnished to do so, subject to
|
||||
# the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
import sys
|
||||
import re
|
||||
|
||||
def append_sources (input_sources, output_sources):
|
||||
|
||||
# Get the source files.
|
||||
source_files = re.findall(r"\"(.*?)\"", input_sources)
|
||||
output_sources += source_files
|
||||
|
||||
|
||||
def parse_sources(input_sources, output_sources, arch_not_arm):
|
||||
|
||||
# Get the type of sources in one group and sources itself in the other one.
|
||||
blocks = re.findall(r"(ffmpeg[^\s]*).*?\[(.*?)]", input_sources, re.DOTALL)
|
||||
for block in blocks:
|
||||
if (arch_not_arm):
|
||||
if not 'ffmpeg_gas_sources' in block[0]:
|
||||
append_sources (block[1], output_sources)
|
||||
else:
|
||||
append_sources (block[1], output_sources)
|
||||
|
||||
|
||||
def parse_ffmpeg_gyni_file(gyni_path, arch_not_arm):
|
||||
|
||||
with open(gyni_path, "r") as input_file:
|
||||
content = input_file.read().replace('\n', '')
|
||||
|
||||
output_sources = []
|
||||
# Get all the sections.
|
||||
sections = re.findall(r"if (.*?})", content, re.DOTALL)
|
||||
for section in sections:
|
||||
# Get all the conditions (first group) and sources (second group)for the
|
||||
# current section.
|
||||
blocks = re.findall(r"(\(.*?\))\s\{(.*?)\}", section, re.DOTALL)
|
||||
for block in blocks:
|
||||
conditions = re.findall(r"\(?\((.*?)\)", block[0])
|
||||
for condition in conditions:
|
||||
limitations = ['is_linux', 'ffmpeg_branding == "Chromium"']
|
||||
if all(limitation in condition for limitation in limitations):
|
||||
if (arch_not_arm):
|
||||
if ('x64' in condition) or ('x86' in condition):
|
||||
parse_sources (block[1], output_sources, arch_not_arm)
|
||||
else:
|
||||
parse_sources (block[1], output_sources, arch_not_arm)
|
||||
|
||||
print ' '.join(output_sources)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
path = "%s/third_party/ffmpeg/ffmpeg_generated.gni" % sys.argv[1]
|
||||
parse_ffmpeg_gyni_file (path, False if sys.argv[2] == "0" else True)
|
@ -1,43 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
# Copyright 2013 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
|
||||
# "Software"), to deal in the Software without restriction, including
|
||||
# without limitation the rights to use, copy, modify, merge, publish,
|
||||
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||
# permit persons to whom the Software is furnished to do so, subject to
|
||||
# the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
import sys
|
||||
import re
|
||||
|
||||
if __name__ == "__main__":
|
||||
path = "%s/ffmpeg_generated.gypi" % sys.argv[1]
|
||||
with open(path, "r") as input_file:
|
||||
content = input_file.read().replace('\n', '')
|
||||
|
||||
brandings = ['ChromeOS', 'ChromiumOS', 'win', 'Chrome']
|
||||
output_duplicates = []
|
||||
sections = re.findall('\[([^\}]*)\]', content)
|
||||
for section in sections:
|
||||
condition = re.findall("'([^']*)'", section)
|
||||
if not any(x in condition[0] for x in brandings):
|
||||
for source_file in condition[1:]:
|
||||
output_duplicates.append(
|
||||
source_file.replace('<(shared_generated_dir)/', ''))
|
||||
|
||||
output = list(set(output_duplicates))
|
||||
output.remove('c_sources')
|
||||
output.remove('asm_sources')
|
||||
print ' '.join(output)
|
@ -10,71 +10,101 @@
|
||||
%global docs 1
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} > 22
|
||||
# need libvpx >= 1.4.0
|
||||
%if 0%{?fedora} > 23
|
||||
# need libvpx >= 1.5.0
|
||||
%global use_system_libvpx 1
|
||||
%endif
|
||||
%if 0%{?fedora} || 0%{?rhel} > 6
|
||||
# need libwebp >= 0.4.3
|
||||
%if 0%{?fedora} > 23
|
||||
# need libwebp >= 0.5.0
|
||||
%global use_system_libwebp 1
|
||||
%endif
|
||||
|
||||
#global prerelease rc
|
||||
# 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
|
||||
|
||||
%global snaphash ee719ad313e564d4e6f06d74b313ae179169466f
|
||||
%global snapdate 20170712
|
||||
|
||||
# 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$
|
||||
# and designer plugins
|
||||
%global __provides_exclude_from ^%{_qt5_plugindir}/.*\\.so$
|
||||
|
||||
Summary: Qt5 - QtWebEngine components
|
||||
Name: qt5-qtwebengine
|
||||
Version: 5.6.1
|
||||
Release: 3%{?dist}
|
||||
Version: 5.6.3
|
||||
Release: 0.2.%{snapdate}git%(c=%{snaphash}; echo ${c:0:14})%{?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
|
||||
# snapshot from the git repository
|
||||
# cleaned tarball with patent-encumbered codecs removed from the bundled FFmpeg
|
||||
# wget http://download.qt.io/official_releases/qt/5.6/5.6.1/submodules/qtwebengine-opensource-src-5.6.1.tar.xz
|
||||
# ./clean_qtwebengine.sh 5.6.1
|
||||
Source0: qtwebengine-opensource-src-%{version}-clean.tar.xz
|
||||
# ./snapshot_qtwebengine.sh ee719ad313e564d4e6f06d74b313ae179169466f 5.6.3
|
||||
Source0: qtwebengine-opensource-src-%{version}-%{snaphash}-clean.tar.xz
|
||||
# cleanup scripts used above
|
||||
Source1: clean_qtwebengine.sh
|
||||
Source2: clean_ffmpeg.sh
|
||||
Source3: process_ffmpeg_gyp.py
|
||||
# do not compile with -Wno-format, which also bypasses -Werror-format-security
|
||||
Patch0: qtwebengine-opensource-src-5.6.0-beta-no-format.patch
|
||||
Source3: get_free_ffmpeg_source_files.py
|
||||
Source4: snapshot_qtwebengine.sh
|
||||
# some tweaks to linux.pri (system libs, link libpci, run unbundling script)
|
||||
Patch1: qtwebengine-opensource-src-5.6.1-linux-pri.patch
|
||||
Patch0: qtwebengine-opensource-src-5.7.0-linux-pri.patch
|
||||
# quick hack to avoid checking for the nonexistent icudtl.dat and silence the
|
||||
# resulting warnings - not upstreamable as is because it removes the fallback
|
||||
# mechanism for the ICU data directory (which is not used in our builds because
|
||||
# we use the system ICU, which embeds the data statically) completely
|
||||
Patch2: qtwebengine-opensource-src-5.6.0-no-icudtl-dat.patch
|
||||
Patch1: qtwebengine-opensource-src-5.6.0-no-icudtl-dat.patch
|
||||
# fix extractCFlag to also look in QMAKE_CFLAGS_RELEASE, needed to detect the
|
||||
# ARM flags with our %%qmake_qt5 macro, including for the next patch
|
||||
Patch3: qtwebengine-opensource-src-5.6.0-beta-fix-extractcflag.patch
|
||||
# disable NEON vector instructions on ARM for now, the NEON code FTBFS due to
|
||||
Patch2: qtwebengine-opensource-src-5.6.0-beta-fix-extractcflag.patch
|
||||
# disable NEON vector instructions on ARM where the NEON code FTBFS due to
|
||||
# GCC bug https://bugzilla.redhat.com/show_bug.cgi?id=1282495
|
||||
Patch4: qtwebengine-opensource-src-5.6.0-beta-no-neon.patch
|
||||
# otherwise, we use the arm-fpu-fix below instead (which this patch contains)
|
||||
Patch3: qtwebengine-opensource-src-5.7.1-no-neon.patch
|
||||
# use the system NSPR prtime (based on Debian patch)
|
||||
# We already depend on NSPR, so it is useless to copy these functions here.
|
||||
# Debian uses this just fine, and I don't see relevant modifications either.
|
||||
Patch5: qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime.patch
|
||||
Patch4: qtwebengine-opensource-src-5.7.0-system-nspr-prtime.patch
|
||||
# use the system ICU UTF functions
|
||||
# We already depend on ICU, so it is useless to copy these functions here.
|
||||
# I checked the history of that directory, and other than the renames I am
|
||||
# undoing, there were no modifications at all. Must be applied after Patch5.
|
||||
Patch6: qtwebengine-opensource-src-5.6.0-beta-system-icu-utf.patch
|
||||
Patch5: qtwebengine-opensource-src-5.7.0-system-icu-utf.patch
|
||||
# do not require SSE2 on i686
|
||||
# cumulative revert of upstream reviews 187423002, 308003004, 511773002 (parts
|
||||
# relevant to QtWebEngine only), 516543004, 1152053004 and 1161853008, along
|
||||
# with some custom fixes and improvements
|
||||
# also build V8 shared and twice on i686 (once for x87, once for SSE2)
|
||||
Patch7: qtwebengine-opensource-src-5.6.1-no-sse2.patch
|
||||
Patch6: qtwebengine-opensource-src-5.7.0-no-sse2.patch
|
||||
# fix ARM NEON handling in webrtc gyp files
|
||||
# Fix video_processing.gypi to only build NEON files when actually requested
|
||||
# (i.e., not if arm_neon=0 arm_neon_optional=0).
|
||||
Patch7: qtwebengine-opensource-src-5.7.0-webrtc-neon.patch
|
||||
# don't require the time zone detection API backported from ICU 55 (thanks spot)
|
||||
Patch8: qtwebengine-opensource-src-5.6.0-beta-system-icu54.patch
|
||||
# fix missing ARM -mfpu setting (see the comment in the no-neon patch above)
|
||||
Patch9: qtwebengine-opensource-src-5.7.1-arm-fpu-fix.patch
|
||||
# remove Android dependencies from openmax_dl ARM NEON detection (detect.c)
|
||||
Patch10: qtwebengine-opensource-src-5.7.1-openmax-dl-neon.patch
|
||||
# chromium-skia: build SkUtilsArm.cpp also on non-Android ARM
|
||||
Patch11: qtwebengine-opensource-src-5.7.1-skia-neon.patch
|
||||
# webrtc: backport https://codereview.webrtc.org/1820133002/ "Implement CPU
|
||||
# feature detection for ARM Linux." and enable the detection also for Chromium
|
||||
Patch12: qtwebengine-opensource-src-5.7.1-webrtc-neon-detect.patch
|
||||
|
||||
# security patches from codereview.qt-project.org (Qt Gerrit):
|
||||
# [Backport] CVE-2017-5052 - https://codereview.qt-project.org/#/c/200312/
|
||||
Patch100: qtwebengine-chromium-CVE-2017-5052.patch
|
||||
# [Backport] CVE-2017-5054 - https://codereview.qt-project.org/#/c/200313/
|
||||
Patch101: qtwebengine-chromium-CVE-2017-5054.patch
|
||||
# Fix broken debug build - https://codereview.qt-project.org/#/c/200401/
|
||||
Patch102: qtwebengine-chromium-CVE-2017-5054-debug.patch
|
||||
|
||||
# the architectures theoretically supported by the version of V8 used (#1298011)
|
||||
# You may need some minor patching to build on one of the secondary
|
||||
@ -84,17 +114,18 @@ Patch7: qtwebengine-opensource-src-5.6.1-no-sse2.patch
|
||||
# * put #1298011 onto your ExcludeArch tracker.
|
||||
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 mips mipsel mips64el
|
||||
|
||||
BuildRequires: qt5-qtbase-devel >= %{version}
|
||||
BuildRequires: qt5-qtbase-devel
|
||||
BuildRequires: qt5-qtbase-private-devel
|
||||
# TODO: check of = is really needed or if >= would be good enough -- rex
|
||||
%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
|
||||
BuildRequires: qt5-qtdeclarative-devel >= %{version}
|
||||
BuildRequires: qt5-qtxmlpatterns-devel >= %{version}
|
||||
BuildRequires: qt5-qtlocation-devel >= %{version}
|
||||
BuildRequires: qt5-qtsensors-devel >= %{version}
|
||||
BuildRequires: qt5-qtwebchannel-devel >= %{version}
|
||||
BuildRequires: qt5-qttools-static >= %{version}
|
||||
BuildRequires: qt5-qtdeclarative-devel
|
||||
BuildRequires: qt5-qtxmlpatterns-devel
|
||||
BuildRequires: qt5-qtlocation-devel
|
||||
BuildRequires: qt5-qtsensors-devel
|
||||
BuildRequires: qt5-qtwebchannel-devel
|
||||
BuildRequires: qt5-qttools-static
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: cmake
|
||||
BuildRequires: bison
|
||||
BuildRequires: git-core
|
||||
BuildRequires: gperf
|
||||
@ -115,7 +146,7 @@ BuildRequires: pkgconfig(egl)
|
||||
BuildRequires: pkgconfig(libpng)
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
%if 0%{?use_system_libwebp}
|
||||
BuildRequires: pkgconfig(libwebp) >= 0.4.3
|
||||
BuildRequires: pkgconfig(libwebp) >= 0.5.0
|
||||
%endif
|
||||
BuildRequires: pkgconfig(harfbuzz)
|
||||
BuildRequires: pkgconfig(jsoncpp)
|
||||
@ -148,7 +179,7 @@ BuildRequires: pkgconfig(libsrtp)
|
||||
BuildRequires: perl
|
||||
BuildRequires: python
|
||||
%if 0%{?use_system_libvpx}
|
||||
BuildRequires: pkgconfig(vpx) >= 1.4.0
|
||||
BuildRequires: pkgconfig(vpx) >= 1.5.0
|
||||
%endif
|
||||
|
||||
# extra (non-upstream) functions needed, see
|
||||
@ -169,8 +200,8 @@ BuildRequires: pkgconfig(vpx) >= 1.4.0
|
||||
# Of course, Chromium itself is bundled. It cannot be unbundled because it is
|
||||
# not a library, but forked (modified) application code.
|
||||
# Some security fixes are backported, see:
|
||||
# http://code.qt.io/cgit/qt/qtwebengine-chromium.git/log/?h=45-based
|
||||
Provides: bundled(chromium) = 45
|
||||
# http://code.qt.io/cgit/qt/qtwebengine-chromium.git/log/?h=49-based
|
||||
Provides: bundled(chromium) = 49
|
||||
|
||||
# Bundled in src/3rdparty/chromium/third_party:
|
||||
# Check src/3rdparty/chromium/third_party/*/README.chromium for version numbers,
|
||||
@ -182,28 +213,33 @@ Provides: bundled(angle) = 2422
|
||||
# completely and produces only ERR_SSL_PROTOCOL_ERROR errors:
|
||||
# http://kaosx.us/phpBB3/viewtopic.php?t=1235
|
||||
# https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1520568
|
||||
# So we have to do what Chromium 47 now defaults to: a "chimera build", i.e.,
|
||||
# use the BoringSSL code and the system NSS certificates.
|
||||
# So we have to do what Chromium now defaults to (since 47): a "chimera build",
|
||||
# i.e., use the BoringSSL code and the system NSS certificates.
|
||||
Provides: bundled(boringssl)
|
||||
Provides: bundled(brotli)
|
||||
# Don't get too excited. MPEG and other legally problematic stuff is stripped
|
||||
# out. See clean_qtwebengine.sh, clean_ffmpeg.sh, and process_ffmpeg_gyp.py.
|
||||
# out. See clean_qtwebengine.sh, clean_ffmpeg.sh, and
|
||||
# get_free_ffmpeg_source_files.py.
|
||||
# see src/3rdparty/chromium/third_party/ffmpeg/Changelog for the version number
|
||||
Provides: bundled(ffmpeg) = 2.7
|
||||
Provides: bundled(ffmpeg) = 2.8
|
||||
Provides: bundled(iccjpeg)
|
||||
# bundled as "khronos", headers only
|
||||
Provides: bundled(khronos_headers)
|
||||
# bundled as "leveldatabase"
|
||||
Provides: bundled(leveldb) = r80
|
||||
Provides: bundled(libjingle) = 9564
|
||||
Provides: bundled(leveldb)
|
||||
Provides: bundled(libjingle) = 11250
|
||||
%if !0%{?use_system_libvpx}
|
||||
Provides: bundled(libvpx) = 1.4.0
|
||||
# bundled as "libvpx_new"
|
||||
# the version in README.chromium is wrong, see
|
||||
# src/3rdparty/chromium/third_party/libvpx_new/source/libvpx/CHANGELOG for the
|
||||
# real version number
|
||||
Provides: bundled(libvpx) = 1.5.0
|
||||
%endif
|
||||
%if !0%{?use_system_libwebp}
|
||||
Provides: bundled(libwebp) = 0.4.3
|
||||
Provides: bundled(libwebp) = 0.5.0
|
||||
%endif
|
||||
Provides: bundled(libXNVCtrl) = 302.17
|
||||
Provides: bundled(libyuv) = 1444
|
||||
Provides: bundled(libyuv) = 1563
|
||||
Provides: bundled(modp_b64)
|
||||
Provides: bundled(mojo)
|
||||
# headers only
|
||||
@ -211,12 +247,12 @@ Provides: bundled(npapi)
|
||||
Provides: bundled(openmax_dl) = 1.0.2
|
||||
Provides: bundled(ots)
|
||||
Provides: bundled(qcms) = 4
|
||||
Provides: bundled(sfntly) = 0-0.1.svn111
|
||||
Provides: bundled(sfntly)
|
||||
Provides: bundled(skia)
|
||||
# bundled as "smhasher"
|
||||
Provides: bundled(SMHasher) = 0-0.1.svn147
|
||||
Provides: bundled(sqlite) = 3.8.7.4
|
||||
Provides: bundled(usrsctp) = 0-0.1.svn9045
|
||||
Provides: bundled(usrsctp)
|
||||
Provides: bundled(webrtc) = 90
|
||||
%ifarch %{ix86} x86_64
|
||||
# header (for assembly) only
|
||||
@ -250,12 +286,12 @@ Provides: bundled(nsURLParsers)
|
||||
|
||||
# Bundled outside of third_party, apparently not considered as such by Chromium:
|
||||
# see src/3rdparty/chromium/v8/include/v8_version.h for the version number
|
||||
Provides: bundled(v8) = 4.5.103.35
|
||||
Provides: bundled(v8) = 4.9.385.33
|
||||
# bundled by v8 (src/3rdparty/chromium/v8/src/third_party/fdlibm)
|
||||
# see src/3rdparty/chromium/v8/src/third_party/fdlibm/README.v8 for the version
|
||||
Provides: bundled(fdlibm) = 5.3
|
||||
|
||||
%{?_qt5_version:Requires: qt5-qtbase%{?_isa} >= %{_qt5_version}}
|
||||
%{?_qt5_version:Requires: qt5-qtbase%{?_isa} = %{_qt5_version}}
|
||||
|
||||
|
||||
%description
|
||||
@ -289,14 +325,25 @@ BuildArch: noarch
|
||||
|
||||
%prep
|
||||
%setup -q -n %{qt_module}-opensource-src-%{version}%{?prerelease:-%{prerelease}}
|
||||
%patch0 -p1 -b .no-format
|
||||
%patch1 -p1 -b .linux-pri
|
||||
%patch2 -p1 -b .no-icudtl-dat
|
||||
%patch3 -p1 -b .fix-extractcflag
|
||||
%patch4 -p1 -b .no-neon
|
||||
%patch5 -p1 -b .system-nspr-prtime
|
||||
%patch6 -p1 -b .system-icu-utf
|
||||
%patch7 -p1 -b .no-sse2
|
||||
%patch100 -p1 -b .CVE-2017-5052
|
||||
%patch101 -p1 -b .CVE-2017-5054
|
||||
%patch102 -p1 -b .CVE-2017-5054-debug
|
||||
%patch0 -p1 -b .linux-pri
|
||||
%patch1 -p1 -b .no-icudtl-dat
|
||||
%patch2 -p1 -b .fix-extractcflag
|
||||
%if 0%{?arm_neon}
|
||||
%patch9 -p1 -b .arm-fpu-fix
|
||||
%else
|
||||
%patch3 -p1 -b .no-neon
|
||||
%endif
|
||||
%patch4 -p1 -b .system-nspr-prtime
|
||||
%patch5 -p1 -b .system-icu-utf
|
||||
%patch6 -p1 -b .no-sse2
|
||||
%patch7 -p1 -b .webrtc-neon
|
||||
%patch8 -p1 -b .system-icu54
|
||||
%patch10 -p1 -b .openmax-dl-neon
|
||||
%patch11 -p1 -b .skia-neon
|
||||
%patch12 -p1 -b .webrtc-neon-detect
|
||||
# fix // in #include in content/renderer/gpu to avoid debugedit failure
|
||||
sed -i -e 's!gpu//!gpu/!g' \
|
||||
src/3rdparty/chromium/content/renderer/gpu/compositor_forwarding_message_filter.cc
|
||||
@ -307,17 +354,25 @@ sed -i -e 's!\./!!g' \
|
||||
|
||||
# http://bugzilla.redhat.com/1337585
|
||||
# can't just delete, but we'll overwrite with system headers to be on the safe side
|
||||
cp -bv /usr/include/re2/*.h src/3rdparty/chromium/third_party/re2/re2/
|
||||
cp -bv /usr/include/re2/*.h src/3rdparty/chromium/third_party/re2/src/re2/
|
||||
|
||||
%ifnarch x86_64
|
||||
# most arches run out of memory with full debuginfo, so use -g1 on non-x86_64
|
||||
sed -i -e 's/=-g$/=-g1/g' src/core/gyp_run.pro
|
||||
%endif
|
||||
|
||||
# copy the Chromium license so it is installed with the appropriate name
|
||||
cp -p src/3rdparty/chromium/LICENSE LICENSE.Chromium
|
||||
|
||||
%build
|
||||
export STRIP=strip
|
||||
export NINJAFLAGS="-v %{_smp_mflags}"
|
||||
export NINJA_PATH=%{_bindir}/ninja-build
|
||||
export CFLAGS="%{optflags}"
|
||||
%ifnarch x86_64
|
||||
# most arches run out of memory with full debuginfo, so use -g1 on non-x86_64
|
||||
export CFLAGS=`echo "$CFLAGS" | sed -e 's/ -g / -g1 /g'`
|
||||
%endif
|
||||
export CXXFLAGS="%{optflags} -fno-delete-null-pointer-checks"
|
||||
%ifnarch x86_64
|
||||
# most arches run out of memory with full debuginfo, so use -g1 on non-x86_64
|
||||
@ -327,7 +382,13 @@ export CXXFLAGS=`echo "$CXXFLAGS" | sed -e 's/ -g / -g1 /g'`
|
||||
mkdir %{_target_platform}
|
||||
pushd %{_target_platform}
|
||||
|
||||
%{qmake_qt5} CONFIG+="webcore_debug v8base_debug force_debug_info" WEBENGINE_CONFIG+="use_system_icu" ..
|
||||
%{qmake_qt5} CONFIG+="webcore_debug v8base_debug force_debug_info" WEBENGINE_CONFIG+="use_system_icu use_system_protobuf" ..
|
||||
|
||||
# if we keep these set here, gyp picks up duplicate flags
|
||||
unset CFLAGS
|
||||
export CFLAGS
|
||||
unset CXXFLAGS
|
||||
export CXXFLAGS
|
||||
|
||||
# workaround, disable parallel compilation as it fails to compile in brew
|
||||
make %{?_smp_mflags}
|
||||
@ -356,10 +417,16 @@ for prl_file in libQt5*.prl ; do
|
||||
done
|
||||
popd
|
||||
|
||||
# adjust cmake dep(s) to allow for using the same Qt5 that was used to build it
|
||||
# (which is 5.6.2, whereas this is a snapshot of 5.6.3)
|
||||
sed -i -e "s|%{version} \${_Qt5WebEngine|%{_qt5_version} \${_Qt5WebEngine|" \
|
||||
%{buildroot}%{_qt5_libdir}/cmake/Qt5WebEngine*/Qt5WebEngine*Config.cmake
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%license LICENSE.* src/webengine/doc/src/qtwebengine-3rdparty.qdoc
|
||||
%{_qt5_libdir}/libQt5*.so.*
|
||||
%{_qt5_libdir}/qt5/qml/*
|
||||
%{_qt5_libdir}/qt5/libexec/QtWebEngineProcess
|
||||
@ -442,6 +509,37 @@ popd
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Jul 27 2017 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.6.3-0.2.20170712gitee719ad313e564
|
||||
- Add the backports fixing CVE-2017-5052 and CVE-2017-5054 from Qt Gerrit
|
||||
|
||||
* Sat Jul 15 2017 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.6.3-0.1.20170712gitee719ad313e564
|
||||
- Update to 5.6 branch revision ee719ad313e564d4e6f06d74b313ae179169466f
|
||||
- Sync FFmpeg cleaning scripts from 5.7, upstream backported its Chromium
|
||||
- Update version numbers of bundled stuff
|
||||
- Update system libvpx/libwebp version requirements (now F24+ only)
|
||||
- Drop no-format patch, fixed upstream (they stopped passing -Wno-format)
|
||||
- Rebase linux-pri patch (use_system_protobuf is now a qmake flag)
|
||||
- Rebase system-nspr-prtime, system-icu-utf and no-sse2 patches
|
||||
- Fix ARM NEON handling in webrtc gyp files (honor arm_neon=0)
|
||||
- Restore system-icu54 patch, the fix was lost upstream
|
||||
- Rebase no-neon patch, add new arm-fpu-fix patch where no-neon not wanted
|
||||
- Remove Android dependencies from openmax_dl ARM NEON detection (detect.c)
|
||||
- chromium-skia: build SkUtilsArm.cpp also on non-Android ARM
|
||||
- webrtc: backport CPU feature detection for ARM Linux, enable it for Chromium
|
||||
- Enable arm_neon now that #1282495 is fixed
|
||||
- BR: cmake (for cmake autoprovides support mostly)
|
||||
- Set CFLAGS, unset both CFLAGS and CXXFLAGS between qmake and make
|
||||
- Ship the license files
|
||||
- Filter (designer) plugin provides
|
||||
- Change qt5-qtbase dependency from >= to =, remove version from the BR
|
||||
- Qt5WebEngine*Config.cmake: fix when using Qt < %%version (#1438877)
|
||||
|
||||
* Wed Nov 02 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.2-1
|
||||
- 5.6.2
|
||||
|
||||
* Sun Jul 31 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-4
|
||||
- BR: cmake (for cmake autoprovides mostly)
|
||||
|
||||
* Tue Jun 14 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-3
|
||||
- rebuild (glibc)
|
||||
|
||||
|
58
qtwebengine-chromium-CVE-2017-5052.patch
Normal file
58
qtwebengine-chromium-CVE-2017-5052.patch
Normal file
@ -0,0 +1,58 @@
|
||||
From 2c15cc053c4bbb8a3ad3bf9b52c0502cd0a632f8 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Klocek <michal.klocek@qt.io>
|
||||
Date: Tue, 18 Jul 2017 13:33:07 +0200
|
||||
Subject: [PATCH] [Backport] CVE-2017-5052
|
||||
|
||||
Search the entire subtree when looking for the end of an inline continuation chain.
|
||||
|
||||
Inlines may be nested, so we may not find the last inline in the chain as a
|
||||
direct child of the anonymous blocks. We need to search the entire subtree.
|
||||
Don't do this with anonymous blocks that wrap block children (the block-level
|
||||
DOM children of the inline-level objects), though. We're not going to find
|
||||
anything interesting there.
|
||||
|
||||
This fix is speculative; the original bug report didn't come with a test case.
|
||||
|
||||
BUG=662767
|
||||
|
||||
Review-Url: https://codereview.chromium.org/2738503004
|
||||
Cr-Commit-Position: refs/heads/master@{#455420}
|
||||
(cherry picked from commit e72c8c06b956706b54648589f807086d17340831)
|
||||
|
||||
Review-Url: https://codereview.chromium.org/2769703003 .
|
||||
Cr-Commit-Position: refs/branch-heads/2987@{#862}
|
||||
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}
|
||||
|
||||
Change-Id: Ia89df9909da88b8891ae89fc18ffdc9d042c8eaa
|
||||
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||
---
|
||||
chromium/third_party/WebKit/Source/core/layout/LayoutInline.cpp | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/core/layout/LayoutInline.cpp b/src/3rdparty/chromium/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
||||
index 618a4ed..665b1e1 100644
|
||||
--- a/src/3rdparty/chromium/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
||||
+++ b/src/3rdparty/chromium/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
||||
@@ -1029,11 +1029,18 @@ LayoutRect LayoutInline::absoluteClippedOverflowRect() const
|
||||
endContinuation = nextContinuation;
|
||||
|
||||
for (LayoutBlock* currBlock = containingBlock(); currBlock && currBlock->isAnonymousBlock(); currBlock = toLayoutBlock(currBlock->nextSibling())) {
|
||||
+ bool walkChildrenOnly = !currBlock->childrenInline();
|
||||
for (LayoutObject* curr = currBlock->firstChild(); curr; curr = curr->nextSibling()) {
|
||||
LayoutRect rect(curr->clippedOverflowRectForPaintInvalidation(view()));
|
||||
context(FloatRect(rect));
|
||||
- if (curr == endContinuation)
|
||||
+ if (walkChildrenOnly)
|
||||
+ continue;
|
||||
+ for (LayoutObject* walker = curr; walker;
|
||||
+ walker = walker->nextInPreOrder(curr)) {
|
||||
+ if (walker != endContinuation)
|
||||
+ continue;
|
||||
return LayoutRect(enclosingIntRect(floatResult));
|
||||
+ }
|
||||
}
|
||||
}
|
||||
return LayoutRect();
|
||||
--
|
||||
2.7.4
|
||||
|
39
qtwebengine-chromium-CVE-2017-5054-debug.patch
Normal file
39
qtwebengine-chromium-CVE-2017-5054-debug.patch
Normal file
@ -0,0 +1,39 @@
|
||||
From 4854a4fa365527b57f66f72eab1c07cfc5b2b9fd Mon Sep 17 00:00:00 2001
|
||||
From: Michal Klocek <michal.klocek@qt.io>
|
||||
Date: Wed, 19 Jul 2017 16:43:04 +0200
|
||||
Subject: [PATCH] Fix broken debug build introduced in security backport
|
||||
|
||||
Fix DCHECK to call HasSufficientCapacity instead of
|
||||
HasSufficientCapacityToAdd (introduced in chromium's v8 a76d133f769).
|
||||
Avoid right-shifting a negative integer in HasSufficientCapacity.
|
||||
|
||||
Change-Id: Id5370803896814f7536d7a026985b27e689c902e
|
||||
---
|
||||
chromium/v8/src/objects.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/3rdparty/chromium/v8/src/objects.cc b/src/3rdparty/chromium/v8/src/objects.cc
|
||||
index 9b463de..673a219 100644
|
||||
--- a/src/3rdparty/chromium/v8/src/objects.cc
|
||||
+++ b/src/3rdparty/chromium/v8/src/objects.cc
|
||||
@@ -17281,7 +17281,7 @@ bool HashTable<Derived, Shape, Key>::HasSufficientCapacity(int n) {
|
||||
// Return true if:
|
||||
// 50% is still free after adding n elements and
|
||||
// at most 50% of the free elements are deleted elements.
|
||||
- if (nod <= (capacity - nof) >> 1) {
|
||||
+ if ((nof < capacity) && ((nod <= (capacity - nof) >> 1))) {
|
||||
int needed_free = nof >> 1;
|
||||
if (nof + needed_free <= capacity) return true;
|
||||
}
|
||||
@@ -18171,7 +18171,7 @@ Handle<Derived> Dictionary<Derived, Shape, Key>::NewEmpty(
|
||||
Isolate* isolate, PretenureFlag pretenure) {
|
||||
Handle<Derived> dict = DerivedHashTable::New(isolate, 1, pretenure);
|
||||
// Attempt to add one element to the empty dictionary must cause reallocation.
|
||||
- DCHECK(!dict->HasSufficientCapacityToAdd(1));
|
||||
+ DCHECK(!dict->HasSufficientCapacity(1));
|
||||
// Initialize the next enumeration index.
|
||||
dict->SetNextEnumerationIndex(PropertyDetails::kInitialIndex);
|
||||
return dict;
|
||||
--
|
||||
2.7.4
|
||||
|
145
qtwebengine-chromium-CVE-2017-5054.patch
Normal file
145
qtwebengine-chromium-CVE-2017-5054.patch
Normal file
@ -0,0 +1,145 @@
|
||||
From 9966a98c2c90603a7ed3c7bd61609d441b782116 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Klocek <michal.klocek@qt.io>
|
||||
Date: Tue, 16 May 2017 13:04:46 +0200
|
||||
Subject: [PATCH] [Backport] CVE-2017-5054
|
||||
|
||||
Merged: [runtime] Ensure that canonical empty dictionaries reallocate upon addition.
|
||||
|
||||
Revision: 17ac7c5f4d712c914030e1fb7247d2083b04b929
|
||||
|
||||
BUG=chromium:699166
|
||||
LOG=N
|
||||
NOTRY=true
|
||||
NOPRESUBMIT=true
|
||||
NOTREECHECKS=true
|
||||
|
||||
Reviewed-on: https://chromium-review.googlesource.com/456703
|
||||
Reviewed-by: Igor Sheludko <ishell@chromium.org>
|
||||
Cr-Commit-Position: refs/branch-heads/5.8@{#35}
|
||||
Cr-Branched-From: eda659cc5e307f20ac1ad542ba12ab32eaf4c7ef-refs/heads/5.8.283@{#1}
|
||||
Cr-Branched-From: 4310cd02d2160b1457baed81a2f40063eb264a21-refs/heads/master@{#43429}
|
||||
|
||||
Change-Id: Icb1453cc24519319992629b13846cb46d7e9fc85
|
||||
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||
---
|
||||
chromium/v8/src/heap/heap.cc | 4 ++--
|
||||
chromium/v8/src/objects.cc | 26 +++++++++++++++++++++++++-
|
||||
chromium/v8/src/objects.h | 7 +++++++
|
||||
3 files changed, 34 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/3rdparty/chromium/v8/src/heap/heap.cc b/src/3rdparty/chromium/v8/src/heap/heap.cc
|
||||
index 7983d47..f93adb8 100644
|
||||
--- a/src/3rdparty/chromium/v8/src/heap/heap.cc
|
||||
+++ b/src/3rdparty/chromium/v8/src/heap/heap.cc
|
||||
@@ -2753,7 +2753,7 @@ void Heap::CreateInitialObjects() {
|
||||
set_intrinsic_function_names(*intrinsic_names);
|
||||
|
||||
Handle<NameDictionary> empty_properties_dictionary =
|
||||
- NameDictionary::New(isolate(), 0, TENURED);
|
||||
+ NameDictionary::NewEmpty(isolate(), TENURED);
|
||||
empty_properties_dictionary->SetRequiresCopyOnCapacityChange();
|
||||
set_empty_properties_dictionary(*empty_properties_dictionary);
|
||||
|
||||
@@ -2850,7 +2850,7 @@ void Heap::CreateInitialObjects() {
|
||||
set_script_list(Smi::FromInt(0));
|
||||
|
||||
Handle<SeededNumberDictionary> slow_element_dictionary =
|
||||
- SeededNumberDictionary::New(isolate(), 0, TENURED);
|
||||
+ SeededNumberDictionary::NewEmpty(isolate(), TENURED);
|
||||
slow_element_dictionary->set_requires_slow_elements();
|
||||
set_empty_slow_element_dictionary(*slow_element_dictionary);
|
||||
|
||||
diff --git a/src/3rdparty/chromium/v8/src/objects.cc b/src/3rdparty/chromium/v8/src/objects.cc
|
||||
index 5601768..9b463de 100644
|
||||
--- a/src/3rdparty/chromium/v8/src/objects.cc
|
||||
+++ b/src/3rdparty/chromium/v8/src/objects.cc
|
||||
@@ -17082,7 +17082,13 @@ Handle<Derived> HashTable<Derived, Shape, Key>::New(
|
||||
if (capacity > HashTable::kMaxCapacity) {
|
||||
v8::internal::Heap::FatalProcessOutOfMemory("invalid table size", true);
|
||||
}
|
||||
+ return New(isolate, capacity, pretenure);
|
||||
+}
|
||||
|
||||
+template <typename Derived, typename Shape, typename Key>
|
||||
+Handle<Derived> HashTable<Derived, Shape, Key>::New(Isolate* isolate,
|
||||
+ int capacity,
|
||||
+ PretenureFlag pretenure) {
|
||||
Factory* factory = isolate->factory();
|
||||
int length = EntryToIndex(capacity);
|
||||
Handle<FixedArray> array = factory->NewFixedArray(length, pretenure);
|
||||
@@ -17095,7 +17101,6 @@ Handle<Derived> HashTable<Derived, Shape, Key>::New(
|
||||
return table;
|
||||
}
|
||||
|
||||
-
|
||||
// Find entry for key otherwise return kNotFound.
|
||||
template <typename Derived, typename Shape>
|
||||
int NameDictionaryBase<Derived, Shape>::FindEntry(Handle<Name> key) {
|
||||
@@ -17363,6 +17368,10 @@ template Handle<SeededNumberDictionary>
|
||||
Dictionary<SeededNumberDictionary, SeededNumberDictionaryShape, uint32_t>::
|
||||
New(Isolate*, int at_least_space_for, PretenureFlag pretenure);
|
||||
|
||||
+template Handle<SeededNumberDictionary>
|
||||
+Dictionary<SeededNumberDictionary, SeededNumberDictionaryShape,
|
||||
+ uint32_t>::NewEmpty(Isolate*, PretenureFlag pretenure);
|
||||
+
|
||||
template Handle<UnseededNumberDictionary>
|
||||
Dictionary<UnseededNumberDictionary, UnseededNumberDictionaryShape, uint32_t>::
|
||||
New(Isolate*, int at_least_space_for, PretenureFlag pretenure);
|
||||
@@ -17371,6 +17380,10 @@ template Handle<NameDictionary>
|
||||
Dictionary<NameDictionary, NameDictionaryShape, Handle<Name> >::
|
||||
New(Isolate*, int n, PretenureFlag pretenure);
|
||||
|
||||
+template Handle<NameDictionary>
|
||||
+Dictionary<NameDictionary, NameDictionaryShape, Handle<Name>>::NewEmpty(
|
||||
+ Isolate*, PretenureFlag pretenure);
|
||||
+
|
||||
template Handle<GlobalDictionary>
|
||||
Dictionary<GlobalDictionary, GlobalDictionaryShape, Handle<Name> >::New(
|
||||
Isolate*, int n, PretenureFlag pretenure);
|
||||
@@ -18154,6 +18167,17 @@ Handle<FixedArray> Dictionary<Derived, Shape, Key>::BuildIterationIndicesArray(
|
||||
|
||||
|
||||
template <typename Derived, typename Shape, typename Key>
|
||||
+Handle<Derived> Dictionary<Derived, Shape, Key>::NewEmpty(
|
||||
+ Isolate* isolate, PretenureFlag pretenure) {
|
||||
+ Handle<Derived> dict = DerivedHashTable::New(isolate, 1, pretenure);
|
||||
+ // Attempt to add one element to the empty dictionary must cause reallocation.
|
||||
+ DCHECK(!dict->HasSufficientCapacityToAdd(1));
|
||||
+ // Initialize the next enumeration index.
|
||||
+ dict->SetNextEnumerationIndex(PropertyDetails::kInitialIndex);
|
||||
+ return dict;
|
||||
+}
|
||||
+
|
||||
+template <typename Derived, typename Shape, typename Key>
|
||||
Handle<FixedArray>
|
||||
Dictionary<Derived, Shape, Key>::GenerateNewEnumerationIndices(
|
||||
Handle<Derived> dictionary) {
|
||||
diff --git a/src/3rdparty/chromium/v8/src/objects.h b/src/3rdparty/chromium/v8/src/objects.h
|
||||
index d737a18..151ab52 100644
|
||||
--- a/src/3rdparty/chromium/v8/src/objects.h
|
||||
+++ b/src/3rdparty/chromium/v8/src/objects.h
|
||||
@@ -3199,6 +3199,9 @@ class HashTable : public HashTableBase {
|
||||
protected:
|
||||
friend class ObjectHashTable;
|
||||
|
||||
+ MUST_USE_RESULT static Handle<Derived> New(Isolate* isolate, int capacity,
|
||||
+ PretenureFlag pretenure);
|
||||
+
|
||||
// Find the entry at which to insert element with the given key that
|
||||
// has the given hash value.
|
||||
uint32_t FindInsertionEntry(uint32_t hash);
|
||||
@@ -3415,6 +3418,10 @@ class Dictionary: public HashTable<Derived, Shape, Key> {
|
||||
int at_least_space_for,
|
||||
PretenureFlag pretenure = NOT_TENURED);
|
||||
|
||||
+ // Creates an dictionary with minimal possible capacity.
|
||||
+ MUST_USE_RESULT static Handle<Derived> NewEmpty(
|
||||
+ Isolate* isolate, PretenureFlag pretenure = NOT_TENURED);
|
||||
+
|
||||
// Ensures that a new dictionary is created when the capacity is checked.
|
||||
void SetRequiresCopyOnCapacityChange();
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,30 +0,0 @@
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/build/common.gypi qtwebengine-opensource-src-5.6.0-beta-no-format/src/3rdparty/chromium/build/common.gypi
|
||||
--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/build/common.gypi 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-no-format/src/3rdparty/chromium/build/common.gypi 2016-01-05 05:58:55.336938182 +0100
|
||||
@@ -3142,11 +3142,6 @@
|
||||
# Don't warn about hash_map in third-party code.
|
||||
'-Wno-deprecated',
|
||||
],
|
||||
- 'cflags': [
|
||||
- # Don't warn about printf format problems.
|
||||
- # This is off by default in gcc but on in Ubuntu's gcc(!).
|
||||
- '-Wno-format',
|
||||
- ],
|
||||
'cflags_cc!': [
|
||||
# Necessary because llvm.org/PR10448 is WONTFIX (crbug.com/90453).
|
||||
'-Wsign-compare',
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/build/config/compiler/BUILD.gn qtwebengine-opensource-src-5.6.0-beta-no-format/src/3rdparty/chromium/build/config/compiler/BUILD.gn
|
||||
--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/build/config/compiler/BUILD.gn 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-no-format/src/3rdparty/chromium/build/config/compiler/BUILD.gn 2016-01-05 05:58:55.362938322 +0100
|
||||
@@ -1013,11 +1013,6 @@
|
||||
}
|
||||
|
||||
if (is_linux || is_android) {
|
||||
- cflags += [
|
||||
- # Don't warn about printf format problems. This is off by default in gcc
|
||||
- # but on in Ubuntu's gcc(!).
|
||||
- "-Wno-format",
|
||||
- ]
|
||||
cflags_cc += [
|
||||
# Don't warn about hash_map in third-party code.
|
||||
"-Wno-deprecated",
|
12
qtwebengine-opensource-src-5.6.0-beta-system-icu54.patch
Normal file
12
qtwebengine-opensource-src-5.6.0-beta-system-icu54.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/content/browser/time_zone_monitor.cc qtwebengine-opensource-src-5.6.0-beta-system-icu54/src/3rdparty/chromium/content/browser/time_zone_monitor.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/content/browser/time_zone_monitor.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu54/src/3rdparty/chromium/content/browser/time_zone_monitor.cc 2016-01-08 23:40:36.387525597 +0100
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
void TimeZoneMonitor::NotifyRenderers() {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
-#if defined(OS_CHROMEOS) || U_ICU_VERSION_MAJOR_NUM < 54
|
||||
+#if defined(OS_CHROMEOS) || U_ICU_VERSION_MAJOR_NUM < 55
|
||||
// On CrOS and older ICU versions, ICU's default tz is already set to a new zone.
|
||||
// No need to redetect it with detectHostTimeZone().
|
||||
scoped_ptr<icu::TimeZone> new_zone(icu::TimeZone::createDefault());
|
@ -1,49 +0,0 @@
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/base.gypi qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi
|
||||
--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/base.gypi 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi 2016-01-12 03:01:20.875004550 +0100
|
||||
@@ -623,8 +623,6 @@
|
||||
'third_party/dmg_fp/g_fmt.cc',
|
||||
'third_party/icu/icu_utf.cc',
|
||||
'third_party/icu/icu_utf.h',
|
||||
- 'third_party/nspr/prtime.cc',
|
||||
- 'third_party/nspr/prtime.h',
|
||||
'third_party/superfasthash/superfasthash.c',
|
||||
'third_party/xdg_mime/xdgmime.h',
|
||||
'thread_task_runner_handle.cc',
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/BUILD.gn qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn
|
||||
--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/BUILD.gn 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn 2016-01-12 03:03:08.040591492 +0100
|
||||
@@ -506,8 +506,6 @@
|
||||
"third_party/dmg_fp/g_fmt.cc",
|
||||
"third_party/icu/icu_utf.cc",
|
||||
"third_party/icu/icu_utf.h",
|
||||
- "third_party/nspr/prtime.cc",
|
||||
- "third_party/nspr/prtime.h",
|
||||
"third_party/superfasthash/superfasthash.c",
|
||||
"thread_task_runner_handle.cc",
|
||||
"thread_task_runner_handle.h",
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/time/pr_time_unittest.cc qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/time/pr_time_unittest.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/time/pr_time_unittest.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/time/pr_time_unittest.cc 2016-01-12 03:01:20.876004555 +0100
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <time.h>
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
-#include "base/third_party/nspr/prtime.h"
|
||||
+#include <nspr4/prtime.h>
|
||||
#include "base/time/time.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/time/time.cc qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/time/time.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/base/time/time.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/time/time.cc 2016-01-12 03:01:20.877004561 +0100
|
||||
@@ -13,7 +13,8 @@
|
||||
#include "base/lazy_instance.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/strings/stringprintf.h"
|
||||
-#include "base/third_party/nspr/prtime.h"
|
||||
+
|
||||
+#include <nspr4/prtime.h>
|
||||
|
||||
namespace base {
|
||||
|
@ -1,15 +1,13 @@
|
||||
diff -ur qtwebengine-opensource-src-5.6.1/src/core/config/linux.pri qtwebengine-opensource-src-5.6.1-linux-pri/src/core/config/linux.pri
|
||||
--- qtwebengine-opensource-src-5.6.1/src/core/config/linux.pri 2016-05-26 20:01:25.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.6.1-linux-pri/src/core/config/linux.pri 2016-06-11 01:17:26.494650774 +0200
|
||||
@@ -46,3 +46,25 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.0/src/core/config/linux.pri qtwebengine-opensource-src-5.7.0-linux-pri/src/core/config/linux.pri
|
||||
--- qtwebengine-opensource-src-5.7.0/src/core/config/linux.pri 2016-06-07 06:20:06.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-linux-pri/src/core/config/linux.pri 2016-07-17 22:18:17.312471202 +0200
|
||||
@@ -46,3 +46,22 @@
|
||||
use?(system_icu): GYP_CONFIG += use_system_icu=1 icu_use_data_file_flag=0
|
||||
use?(system_ffmpeg): GYP_CONFIG += use_system_ffmpeg=1
|
||||
|
||||
use?(system_protobuf): GYP_CONFIG += use_system_protobuf=1
|
||||
+
|
||||
+# some more system packages, that are not checked for for some reason
|
||||
+GYP_CONFIG += \
|
||||
+ use_system_expat=1 \
|
||||
+ use_system_re2=1 \
|
||||
+ use_system_protobuf=1
|
||||
+GYP_CONFIG += use_system_re2=1
|
||||
+
|
||||
+# yasm is only used on x86, and passing use_system_yasm makes the build fail on
|
||||
+# other architectures (e.g., ARM), so make it conditional on the architecture
|
||||
@ -23,7 +21,6 @@ diff -ur qtwebengine-opensource-src-5.6.1/src/core/config/linux.pri qtwebengine-
|
||||
+# run the unbundling script Chromium provides
|
||||
+CHROMIUM_SRC_DIR = "$$QTWEBENGINE_ROOT/$$getChromiumSrcDir()"
|
||||
+R_G_F_PY = "$$CHROMIUM_SRC_DIR/build/linux/unbundle/replace_gyp_files.py"
|
||||
+R_G_F_PY_ARGS =
|
||||
+for (config, GYP_CONFIG): R_G_F_PY_ARGS += "-D $$config"
|
||||
+R_G_F_PY_ARGS = "-D use_system_re2=1"
|
||||
+log("Running python $$R_G_F_PY $$R_G_F_PY_ARGS$${EOL}")
|
||||
+!system("python $$R_G_F_PY $$R_G_F_PY_ARGS"): error("-- unbundling failed")
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/base.gypi
|
||||
--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi 2016-01-12 03:01:20.875004550 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/base.gypi 2016-01-12 03:04:12.789946122 +0100
|
||||
@@ -621,8 +621,6 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/base.gypi
|
||||
--- qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi 2016-07-17 16:52:03.641799106 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/base.gypi 2016-07-17 17:20:50.666600419 +0200
|
||||
@@ -632,8 +632,6 @@
|
||||
'third_party/dmg_fp/dmg_fp.h',
|
||||
'third_party/dmg_fp/dtoa_wrapper.cc',
|
||||
'third_party/dmg_fp/g_fmt.cc',
|
||||
@ -10,10 +10,10 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
'third_party/superfasthash/superfasthash.c',
|
||||
'third_party/xdg_mime/xdgmime.h',
|
||||
'thread_task_runner_handle.cc',
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/BUILD.gn
|
||||
--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn 2016-01-12 03:03:08.040591492 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/BUILD.gn 2016-01-12 03:04:27.209025094 +0100
|
||||
@@ -504,8 +504,6 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/BUILD.gn
|
||||
--- qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn 2016-07-17 16:52:03.642799111 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/BUILD.gn 2016-07-17 17:20:50.667600425 +0200
|
||||
@@ -741,8 +741,6 @@
|
||||
"third_party/dmg_fp/dmg_fp.h",
|
||||
"third_party/dmg_fp/dtoa_wrapper.cc",
|
||||
"third_party/dmg_fp/g_fmt.cc",
|
||||
@ -22,10 +22,10 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
"third_party/superfasthash/superfasthash.c",
|
||||
"thread_task_runner_handle.cc",
|
||||
"thread_task_runner_handle.h",
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/files/file_path.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/files/file_path.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/files/file_path.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/files/file_path.cc 2016-01-12 03:09:08.430565334 +0100
|
||||
@@ -20,7 +20,7 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/files/file_path.cc qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/files/file_path.cc
|
||||
--- qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/files/file_path.cc 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/files/file_path.cc 2016-07-17 17:20:50.668600430 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
#if defined(OS_MACOSX)
|
||||
#include "base/mac/scoped_cftyperef.h"
|
||||
@ -34,7 +34,7 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
#endif
|
||||
|
||||
#if defined(OS_WIN)
|
||||
@@ -1140,9 +1140,9 @@
|
||||
@@ -1138,9 +1138,9 @@
|
||||
int* index) {
|
||||
int codepoint = 0;
|
||||
while (*index < length && codepoint == 0) {
|
||||
@ -46,10 +46,10 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
DCHECK_GT(codepoint, 0);
|
||||
if (codepoint > 0) {
|
||||
// Check if there is a subtable for this upper byte.
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/json/json_parser.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/json/json_parser.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/json/json_parser.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/json/json_parser.cc 2016-01-12 03:12:23.701634827 +0100
|
||||
@@ -14,7 +14,7 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/json/json_parser.cc qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/json/json_parser.cc
|
||||
--- qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/json/json_parser.cc 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/json/json_parser.cc 2016-07-17 17:25:23.443128277 +0200
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "base/strings/stringprintf.h"
|
||||
#include "base/strings/utf_string_conversion_utils.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
@ -58,8 +58,8 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
#include "base/values.h"
|
||||
|
||||
namespace base {
|
||||
@@ -616,8 +616,8 @@
|
||||
int32 next_char = 0;
|
||||
@@ -625,8 +625,8 @@
|
||||
int32_t next_char = 0;
|
||||
|
||||
while (CanConsume(1)) {
|
||||
- pos_ = start_pos_ + index_; // CBU8_NEXT is postcrement.
|
||||
@ -69,7 +69,7 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
if (next_char < 0 || !IsValidCharacter(next_char)) {
|
||||
ReportError(JSONReader::JSON_UNSUPPORTED_ENCODING, 1);
|
||||
return false;
|
||||
@@ -710,7 +710,7 @@
|
||||
@@ -719,7 +719,7 @@
|
||||
return false;
|
||||
}
|
||||
} else if (next_char == '"') {
|
||||
@ -78,7 +78,7 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
out->Swap(&string);
|
||||
return true;
|
||||
} else {
|
||||
@@ -750,10 +750,10 @@
|
||||
@@ -759,10 +759,10 @@
|
||||
|
||||
// If this is a high surrogate, consume the next code unit to get the
|
||||
// low surrogate.
|
||||
@ -91,7 +91,7 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
return false;
|
||||
|
||||
// Make sure that the token has more characters to consume the
|
||||
@@ -770,24 +770,24 @@
|
||||
@@ -779,24 +779,24 @@
|
||||
|
||||
NextNChars(3);
|
||||
|
||||
@ -100,10 +100,9 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
return false;
|
||||
}
|
||||
|
||||
- uint32 code_point = CBU16_GET_SUPPLEMENTARY(code_unit16_high,
|
||||
- code_unit16_low);
|
||||
+ uint32 code_point = U16_GET_SUPPLEMENTARY(code_unit16_high,
|
||||
+ code_unit16_low);
|
||||
uint32_t code_point =
|
||||
- CBU16_GET_SUPPLEMENTARY(code_unit16_high, code_unit16_low);
|
||||
+ U16_GET_SUPPLEMENTARY(code_unit16_high, code_unit16_low);
|
||||
if (!IsValidCharacter(code_point))
|
||||
return false;
|
||||
|
||||
@ -122,7 +121,7 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
}
|
||||
|
||||
dest_string->append(code_unit8);
|
||||
@@ -804,9 +804,9 @@
|
||||
@@ -813,9 +813,9 @@
|
||||
} else {
|
||||
char utf8_units[4] = { 0 };
|
||||
int offset = 0;
|
||||
@ -134,10 +133,10 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
// zero terminated at this point. |offset| contains the correct length.
|
||||
dest->AppendString(std::string(utf8_units, offset));
|
||||
}
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/json/string_escape.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/json/string_escape.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/json/string_escape.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/json/string_escape.cc 2016-01-12 03:12:46.093757468 +0100
|
||||
@@ -10,7 +10,7 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/json/string_escape.cc qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/json/string_escape.cc
|
||||
--- qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/json/string_escape.cc 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/json/string_escape.cc 2016-07-17 17:20:50.668600430 +0200
|
||||
@@ -14,7 +14,7 @@
|
||||
#include "base/strings/stringprintf.h"
|
||||
#include "base/strings/utf_string_conversion_utils.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
@ -146,9 +145,9 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
|
||||
namespace base {
|
||||
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/pattern.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/pattern.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/pattern.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/pattern.cc 2016-01-12 03:14:17.884254687 +0100
|
||||
diff -ur qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/pattern.cc qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/strings/pattern.cc
|
||||
--- qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/pattern.cc 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/strings/pattern.cc 2016-07-17 17:20:50.669600436 +0200
|
||||
@@ -4,13 +4,13 @@
|
||||
|
||||
#include "base/strings/pattern.h"
|
||||
@ -204,10 +203,10 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
*p += offset;
|
||||
return c;
|
||||
}
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_split.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/string_split.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_split.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/string_split.cc 2016-01-12 03:14:39.106365912 +0100
|
||||
@@ -6,7 +6,7 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_split.cc qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_split.cc
|
||||
--- qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_split.cc 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_split.cc 2016-07-17 17:20:50.669600436 +0200
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#include "base/logging.h"
|
||||
#include "base/strings/string_util.h"
|
||||
@ -216,28 +215,10 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
|
||||
namespace base {
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
void SplitString(const string16& str,
|
||||
char16 c,
|
||||
std::vector<string16>* result) {
|
||||
- DCHECK(CBU16_IS_SINGLE(c));
|
||||
+ DCHECK(U16_IS_SINGLE(c));
|
||||
*result = SplitStringT<string16, string16, char16>(
|
||||
str, c, TRIM_WHITESPACE, SPLIT_WANT_ALL);
|
||||
|
||||
@@ -274,7 +274,7 @@
|
||||
void SplitStringDontTrim(StringPiece16 str,
|
||||
char16 c,
|
||||
std::vector<string16>* result) {
|
||||
- DCHECK(CBU16_IS_SINGLE(c));
|
||||
+ DCHECK(U16_IS_SINGLE(c));
|
||||
*result = SplitStringT<string16, string16, char16>(
|
||||
str, c, KEEP_WHITESPACE, SPLIT_WANT_ALL);
|
||||
}
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_util.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/string_util.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_util.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/string_util.cc 2016-01-12 03:15:00.981480560 +0100
|
||||
@@ -24,7 +24,7 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_util.cc qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_util.cc
|
||||
--- qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_util.cc 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_util.cc 2016-07-17 17:29:39.032552674 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
#include "base/strings/string_split.h"
|
||||
#include "base/strings/utf_string_conversion_utils.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
@ -245,15 +226,15 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
+#include <unicode/utf.h>
|
||||
#include "build/build_config.h"
|
||||
|
||||
// Remove when this entire file is in the base namespace.
|
||||
@@ -274,19 +274,19 @@
|
||||
return;
|
||||
namespace base {
|
||||
@@ -358,19 +358,19 @@
|
||||
}
|
||||
DCHECK_LE(byte_size, static_cast<uint32>(kint32max));
|
||||
- // Note: This cast is necessary because CBU8_NEXT uses int32s.
|
||||
+ // Note: This cast is necessary because U8_NEXT uses int32s.
|
||||
int32 truncation_length = static_cast<int32>(byte_size);
|
||||
int32 char_index = truncation_length - 1;
|
||||
DCHECK_LE(byte_size,
|
||||
static_cast<uint32_t>(std::numeric_limits<int32_t>::max()));
|
||||
- // Note: This cast is necessary because CBU8_NEXT uses int32_ts.
|
||||
+ // Note: This cast is necessary because U8_NEXT uses int32_ts.
|
||||
int32_t truncation_length = static_cast<int32_t>(byte_size);
|
||||
int32_t char_index = truncation_length - 1;
|
||||
const char* data = input.data();
|
||||
|
||||
- // Using CBU8, we will move backwards from the truncation point
|
||||
@ -262,7 +243,7 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
// character. Once a full UTF8 character is found, we will
|
||||
// truncate the string to the end of that character.
|
||||
while (char_index >= 0) {
|
||||
int32 prev = char_index;
|
||||
int32_t prev = char_index;
|
||||
- base_icu::UChar32 code_point = 0;
|
||||
- CBU8_NEXT(data, char_index, truncation_length, code_point);
|
||||
+ UChar32 code_point = 0;
|
||||
@ -270,18 +251,18 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
if (!IsValidCharacter(code_point) ||
|
||||
!IsValidCodepoint(code_point)) {
|
||||
char_index = prev - 1;
|
||||
@@ -447,7 +447,7 @@
|
||||
@@ -523,7 +523,7 @@
|
||||
|
||||
while (char_index < src_len) {
|
||||
int32 code_point;
|
||||
int32_t code_point;
|
||||
- CBU8_NEXT(src, char_index, src_len, code_point);
|
||||
+ U8_NEXT(src, char_index, src_len, code_point);
|
||||
if (!IsValidCharacter(code_point))
|
||||
return false;
|
||||
}
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc 2016-01-12 03:15:27.384618939 +0100
|
||||
diff -ur qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc
|
||||
--- qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc 2016-07-17 17:31:29.363164013 +0200
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include "base/strings/utf_string_conversion_utils.h"
|
||||
@ -294,16 +275,16 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
@@ -18,7 +18,7 @@
|
||||
// use a signed type for code_point. But this function returns false
|
||||
// on error anyway, so code_point_out is unsigned.
|
||||
int32 code_point;
|
||||
int32_t code_point;
|
||||
- CBU8_NEXT(src, *char_index, src_len, code_point);
|
||||
+ U8_NEXT(src, *char_index, src_len, code_point);
|
||||
*code_point_out = static_cast<uint32>(code_point);
|
||||
*code_point_out = static_cast<uint32_t>(code_point);
|
||||
|
||||
// The ICU macro above moves to the next char, we want to point to the last
|
||||
@@ -33,16 +33,16 @@
|
||||
int32 src_len,
|
||||
int32* char_index,
|
||||
uint32* code_point) {
|
||||
int32_t src_len,
|
||||
int32_t* char_index,
|
||||
uint32_t* code_point) {
|
||||
- if (CBU16_IS_SURROGATE(src[*char_index])) {
|
||||
- if (!CBU16_IS_SURROGATE_LEAD(src[*char_index]) ||
|
||||
+ if (U16_IS_SURROGATE(src[*char_index])) {
|
||||
@ -342,7 +323,7 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
return char_offset - original_char_offset;
|
||||
}
|
||||
|
||||
size_t WriteUnicodeCharacter(uint32 code_point, string16* output) {
|
||||
size_t WriteUnicodeCharacter(uint32_t code_point, string16* output) {
|
||||
- if (CBU16_LENGTH(code_point) == 1) {
|
||||
+ if (U16_LENGTH(code_point) == 1) {
|
||||
// Thie code point is in the Basic Multilingual Plane (BMP).
|
||||
@ -360,9 +341,9 @@ diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/c
|
||||
}
|
||||
|
||||
// Generalized Unicode converter -----------------------------------------------
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc
|
||||
--- qtwebengine-opensource-src-5.6.0-beta-system-nspr-prtime/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc 2015-12-10 18:17:21.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-system-icu-utf/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc 2016-01-12 03:15:51.205743785 +0100
|
||||
diff -ur qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc
|
||||
--- qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-icu-utf/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc 2016-07-17 17:20:50.687600537 +0200
|
||||
@@ -5,13 +5,13 @@
|
||||
#include "ui/gfx/utf16_indexing.h"
|
||||
|
48
qtwebengine-opensource-src-5.7.0-system-nspr-prtime.patch
Normal file
48
qtwebengine-opensource-src-5.7.0-system-nspr-prtime.patch
Normal file
@ -0,0 +1,48 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/base/base.gypi qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi
|
||||
--- qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/base/base.gypi 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/base.gypi 2016-07-17 16:52:03.641799106 +0200
|
||||
@@ -634,8 +634,6 @@
|
||||
'third_party/dmg_fp/g_fmt.cc',
|
||||
'third_party/icu/icu_utf.cc',
|
||||
'third_party/icu/icu_utf.h',
|
||||
- 'third_party/nspr/prtime.cc',
|
||||
- 'third_party/nspr/prtime.h',
|
||||
'third_party/superfasthash/superfasthash.c',
|
||||
'third_party/xdg_mime/xdgmime.h',
|
||||
'thread_task_runner_handle.cc',
|
||||
diff -ur qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/base/BUILD.gn qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn
|
||||
--- qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/base/BUILD.gn 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn 2016-07-17 16:52:03.642799111 +0200
|
||||
@@ -743,8 +743,6 @@
|
||||
"third_party/dmg_fp/g_fmt.cc",
|
||||
"third_party/icu/icu_utf.cc",
|
||||
"third_party/icu/icu_utf.h",
|
||||
- "third_party/nspr/prtime.cc",
|
||||
- "third_party/nspr/prtime.h",
|
||||
"third_party/superfasthash/superfasthash.c",
|
||||
"thread_task_runner_handle.cc",
|
||||
"thread_task_runner_handle.h",
|
||||
diff -ur qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/base/time/pr_time_unittest.cc qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/time/pr_time_unittest.cc
|
||||
--- qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/base/time/pr_time_unittest.cc 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/time/pr_time_unittest.cc 2016-07-17 16:55:11.749868819 +0200
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/macros.h"
|
||||
-#include "base/third_party/nspr/prtime.h"
|
||||
+#include <nspr4/prtime.h>
|
||||
#include "base/time/time.h"
|
||||
#include "build/build_config.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
diff -ur qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/base/time/time.cc qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/time/time.cc
|
||||
--- qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/base/time/time.cc 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-system-nspr-prtime/src/3rdparty/chromium/base/time/time.cc 2016-07-17 16:55:54.895115802 +0200
|
||||
@@ -14,7 +14,7 @@
|
||||
#include "base/logging.h"
|
||||
#include "base/macros.h"
|
||||
#include "base/strings/stringprintf.h"
|
||||
-#include "base/third_party/nspr/prtime.h"
|
||||
+#include <nspr4/prtime.h>
|
||||
#include "build/build_config.h"
|
||||
|
||||
namespace base {
|
21
qtwebengine-opensource-src-5.7.0-webrtc-neon.patch
Normal file
21
qtwebengine-opensource-src-5.7.0-webrtc-neon.patch
Normal file
@ -0,0 +1,21 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/webrtc/modules/video_processing/video_processing.gypi qtwebengine-opensource-src-5.7.0-webrtc-neon/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 2016-05-26 15:53:47.000000000 +0200
|
||||
+++ qtwebengine-opensource-src-5.7.0-webrtc-neon/src/3rdparty/chromium/third_party/webrtc/modules/video_processing/video_processing.gypi 2016-07-18 14:29:24.841980563 +0200
|
||||
@@ -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',
|
12
qtwebengine-opensource-src-5.7.1-arm-fpu-fix.patch
Normal file
12
qtwebengine-opensource-src-5.7.1-arm-fpu-fix.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.1/src/core/gyp_run.pro qtwebengine-opensource-src-5.7.1-arm-fpu-fix/src/core/gyp_run.pro
|
||||
--- qtwebengine-opensource-src-5.7.1/src/core/gyp_run.pro 2016-11-09 06:28:31.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.7.1-arm-fpu-fix/src/core/gyp_run.pro 2016-12-03 16:38:33.531711958 +0100
|
||||
@@ -80,7 +80,7 @@
|
||||
# we use arm_neon_optional for ARMv7 and newer and let chromium decide
|
||||
# about the mfpu option.
|
||||
contains(MFPU, ".*neon.*"): GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=1
|
||||
- else:!lessThan(MARMV, 7): GYP_CONFIG += arm_neon=0 arm_neon_optional=1
|
||||
+ else:!lessThan(MARMV, 7): GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=0 arm_neon_optional=1
|
||||
else: GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=0 arm_neon_optional=0
|
||||
} else {
|
||||
# Chromium defaults to arm_neon=1, Qt does not.
|
@ -1,15 +1,15 @@
|
||||
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/core/gyp_run.pro qtwebengine-opensource-src-5.6.0-beta-no-neon/src/core/gyp_run.pro
|
||||
--- qtwebengine-opensource-src-5.6.0-beta/src/core/gyp_run.pro 2015-12-14 16:27:24.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.6.0-beta-no-neon/src/core/gyp_run.pro 2016-01-10 17:48:45.689954050 +0100
|
||||
@@ -74,7 +74,10 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.1/src/core/gyp_run.pro qtwebengine-opensource-src-5.7.1-no-neon/src/core/gyp_run.pro
|
||||
--- qtwebengine-opensource-src-5.7.1/src/core/gyp_run.pro 2016-11-09 06:28:31.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.7.1-no-neon/src/core/gyp_run.pro 2016-12-03 16:36:39.039443117 +0100
|
||||
@@ -80,7 +80,10 @@
|
||||
# we use arm_neon_optional for ARMv7 and newer and let chromium decide
|
||||
# about the mfpu option.
|
||||
contains(MFPU, "neon")|contains(MFPU, "neon-vfpv4"): GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=1
|
||||
contains(MFPU, ".*neon.*"): GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=1
|
||||
- else:!lessThan(MARMV, 7): GYP_CONFIG += arm_neon=0 arm_neon_optional=1
|
||||
+ # Disable NEON entirely for now, because it fails to build:
|
||||
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1282495
|
||||
+ # (This line was also missing the required arm_fpu flag, which I added.)
|
||||
+ # else:!lessThan(MARMV, 7): GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=0 arm_neon_optional=1
|
||||
else: GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=0 arm_neon_optional=0
|
||||
}
|
||||
|
||||
} else {
|
||||
# Chromium defaults to arm_neon=1, Qt does not.
|
98
qtwebengine-opensource-src-5.7.1-openmax-dl-neon.patch
Normal file
98
qtwebengine-opensource-src-5.7.1-openmax-dl-neon.patch
Normal file
@ -0,0 +1,98 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/openmax_dl/dl/dl.gyp qtwebengine-opensource-src-5.7.1-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/dl.gyp
|
||||
--- qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/openmax_dl/dl/dl.gyp 2016-11-07 15:46:18.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.7.1-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/dl.gyp 2016-12-03 22:50:19.369158276 +0100
|
||||
@@ -219,15 +219,6 @@
|
||||
'conditions': [
|
||||
['arm_neon_optional==1', {
|
||||
# Run-time NEON detection.
|
||||
- 'dependencies': [
|
||||
- '../../../build/android/ndk.gyp:cpu_features',
|
||||
- ],
|
||||
- 'link_settings' : {
|
||||
- 'libraries': [
|
||||
- # To get the __android_log_print routine
|
||||
- '-llog',
|
||||
- ],
|
||||
- },
|
||||
'sources': [
|
||||
# Detection routine
|
||||
'sp/src/arm/detect.c',
|
||||
diff -ur qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c qtwebengine-opensource-src-5.7.1-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c
|
||||
--- qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c 2016-11-07 15:46:18.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.7.1-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c 2016-12-03 22:48:13.745095083 +0100
|
||||
@@ -9,13 +9,57 @@
|
||||
*
|
||||
*/
|
||||
|
||||
-#include <cpu-features.h>
|
||||
-
|
||||
-#include "android/log.h"
|
||||
#include "dl/sp/api/omxSP.h"
|
||||
|
||||
+// For ArmCpuCaps()
|
||||
+#include <stdio.h>
|
||||
+#include <string.h>
|
||||
+
|
||||
+// based on libvpx arm_cpudetect.c
|
||||
+static int ArmCpuCaps(const char* cpuinfo_name) {
|
||||
+ char cpuinfo_line[512];
|
||||
+ FILE* f = fopen(cpuinfo_name, "r");
|
||||
+ if (!f) {
|
||||
+ // Assume Neon if /proc/cpuinfo is unavailable.
|
||||
+ // This will occur for Chrome sandbox for Pepper or Render process.
|
||||
+ return 1;
|
||||
+ }
|
||||
+ while (fgets(cpuinfo_line, sizeof(cpuinfo_line) - 1, f)) {
|
||||
+ if (memcmp(cpuinfo_line, "Features", 8) == 0) {
|
||||
+ char* p = strstr(cpuinfo_line, " neon");
|
||||
+ if (p && (p[5] == ' ' || p[5] == '\n')) {
|
||||
+ fclose(f);
|
||||
+ return 1;
|
||||
+ }
|
||||
+ // aarch64 uses asimd for Neon.
|
||||
+ p = strstr(cpuinfo_line, " asimd");
|
||||
+ if (p && (p[6] == ' ' || p[6] == '\n')) {
|
||||
+ fclose(f);
|
||||
+ return 1;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ fclose(f);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
int omxSP_HasArmNeon() {
|
||||
- return (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0;
|
||||
+#if defined(__arm__) || defined(__aarch64__)
|
||||
+// gcc -mfpu=neon defines __ARM_NEON__
|
||||
+// __ARM_NEON__ generates code that requires Neon. NaCL also requires Neon.
|
||||
+// For Linux, /proc/cpuinfo can be tested but without that assume Neon.
|
||||
+#if defined(__ARM_NEON__) || defined(__native_client__) || !defined(__linux__)
|
||||
+ return 1;
|
||||
+// For aarch64(arm64), /proc/cpuinfo's feature is not complete, e.g. no neon
|
||||
+// flag in it.
|
||||
+// So for aarch64, neon enabling is hard coded here.
|
||||
+#elif defined(__aarch64__)
|
||||
+ return 1;
|
||||
+#else
|
||||
+ // Linux arm parse text file for neon detect.
|
||||
+ return ArmCpuCaps("/proc/cpuinfo");
|
||||
+#endif
|
||||
+#endif // __arm__
|
||||
}
|
||||
|
||||
static void SetFFTRoutines() {
|
||||
@@ -24,13 +68,9 @@
|
||||
* forward and inverse FFTs
|
||||
*/
|
||||
if (omxSP_HasArmNeon()) {
|
||||
- __android_log_print(ANDROID_LOG_INFO, "OpenMAX DL FFT",
|
||||
- "Using NEON FFT");
|
||||
omxSP_FFTFwd_RToCCS_F32 = omxSP_FFTFwd_RToCCS_F32_Sfs;
|
||||
omxSP_FFTInv_CCSToR_F32 = omxSP_FFTInv_CCSToR_F32_Sfs;
|
||||
} else {
|
||||
- __android_log_print(ANDROID_LOG_INFO, "OpenMAX DL FFT",
|
||||
- "Using non-NEON FFT");
|
||||
omxSP_FFTFwd_RToCCS_F32 = omxSP_FFTFwd_RToCCS_F32_Sfs_vfp;
|
||||
omxSP_FFTInv_CCSToR_F32 = omxSP_FFTInv_CCSToR_F32_Sfs_vfp;
|
||||
}
|
15
qtwebengine-opensource-src-5.7.1-skia-neon.patch
Normal file
15
qtwebengine-opensource-src-5.7.1-skia-neon.patch
Normal file
@ -0,0 +1,15 @@
|
||||
diff -ur qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/skia/skia_library.gypi qtwebengine-opensource-src-5.7.1-skia-neon/src/3rdparty/chromium/skia/skia_library.gypi
|
||||
--- qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/skia/skia_library.gypi 2016-11-07 15:46:18.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.7.1-skia-neon/src/3rdparty/chromium/skia/skia_library.gypi 2016-12-04 14:34:12.531877529 +0100
|
||||
@@ -159,6 +159,11 @@
|
||||
'../build/android/ndk.gyp:cpu_features',
|
||||
],
|
||||
}],
|
||||
+ [ 'OS != "android" and target_arch == "arm"', {
|
||||
+ 'sources': [
|
||||
+ '../third_party/skia/src/core/SkUtilsArm.cpp',
|
||||
+ ],
|
||||
+ }],
|
||||
[ 'desktop_linux == 1 or chromeos == 1 or qt_os=="embedded_linux"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:fontconfig',
|
159
qtwebengine-opensource-src-5.7.1-webrtc-neon-detect.patch
Normal file
159
qtwebengine-opensource-src-5.7.1-webrtc-neon-detect.patch
Normal file
@ -0,0 +1,159 @@
|
||||
diff -Nur qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/webrtc/system_wrappers/BUILD.gn qtwebengine-opensource-src-5.7.1-webrtc-neon-detect/src/3rdparty/chromium/third_party/webrtc/system_wrappers/BUILD.gn
|
||||
--- qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/webrtc/system_wrappers/BUILD.gn 2016-11-07 15:46:18.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.7.1-webrtc-neon-detect/src/3rdparty/chromium/third_party/webrtc/system_wrappers/BUILD.gn 2016-12-04 15:06:23.886224907 +0100
|
||||
@@ -133,6 +133,8 @@
|
||||
#"WEBRTC_CLOCK_TYPE_REALTIME",
|
||||
]
|
||||
|
||||
+ deps += [ ":cpu_features_linux" ]
|
||||
+
|
||||
libs += [ "rt" ]
|
||||
}
|
||||
|
||||
@@ -206,3 +208,14 @@
|
||||
]
|
||||
}
|
||||
}
|
||||
+
|
||||
+if (is_linux) {
|
||||
+ source_set("cpu_features_linux") {
|
||||
+ sources = [
|
||||
+ "source/cpu_features_linux.c",
|
||||
+ ]
|
||||
+
|
||||
+ configs += [ "..:common_config" ]
|
||||
+ public_configs = [ "..:common_inherited_config" ]
|
||||
+ }
|
||||
+}
|
||||
diff -Nur qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/webrtc/system_wrappers/cpu_features_webrtc.gyp qtwebengine-opensource-src-5.7.1-webrtc-neon-detect/src/3rdparty/chromium/third_party/webrtc/system_wrappers/cpu_features_webrtc.gyp
|
||||
--- qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/webrtc/system_wrappers/cpu_features_webrtc.gyp 2016-11-07 15:46:18.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.7.1-webrtc-neon-detect/src/3rdparty/chromium/third_party/webrtc/system_wrappers/cpu_features_webrtc.gyp 2016-12-04 15:05:24.150142787 +0100
|
||||
@@ -7,6 +7,7 @@
|
||||
# be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
{
|
||||
+ 'includes': [ '../build/common.gypi', ],
|
||||
'conditions': [
|
||||
['OS=="android"', {
|
||||
'targets': [
|
||||
@@ -21,6 +22,20 @@
|
||||
],
|
||||
},
|
||||
],
|
||||
+ }],
|
||||
+ ['OS=="linux"', {
|
||||
+ 'targets': [
|
||||
+ {
|
||||
+ 'target_name': 'cpu_features_linux',
|
||||
+ 'type': 'static_library',
|
||||
+ 'sources': [
|
||||
+ 'source/cpu_features_linux.c',
|
||||
+ ],
|
||||
+ 'dependencies': [
|
||||
+ '<(webrtc_root)/common.gyp:webrtc_common',
|
||||
+ ],
|
||||
+ },
|
||||
+ ],
|
||||
}],
|
||||
], # conditions
|
||||
}
|
||||
diff -Nur qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/webrtc/system_wrappers/source/cpu_features_linux.c qtwebengine-opensource-src-5.7.1-webrtc-neon-detect/src/3rdparty/chromium/third_party/webrtc/system_wrappers/source/cpu_features_linux.c
|
||||
--- qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/webrtc/system_wrappers/source/cpu_features_linux.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.7.1-webrtc-neon-detect/src/3rdparty/chromium/third_party/webrtc/system_wrappers/source/cpu_features_linux.c 2016-12-04 15:05:24.150142787 +0100
|
||||
@@ -0,0 +1,83 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
|
||||
+ *
|
||||
+ * Use of this source code is governed by a BSD-style license
|
||||
+ * that can be found in the LICENSE file in the root of the source
|
||||
+ * tree. An additional intellectual property rights grant can be found
|
||||
+ * in the file PATENTS. All contributing project authors may
|
||||
+ * be found in the AUTHORS file in the root of the source tree.
|
||||
+ */
|
||||
+
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <features.h>
|
||||
+#if __GLIBC_PREREQ(2, 16)
|
||||
+#include <sys/auxv.h>
|
||||
+#else
|
||||
+#include <fcntl.h>
|
||||
+#include <unistd.h>
|
||||
+#include <errno.h>
|
||||
+#include <link.h>
|
||||
+#endif
|
||||
+#include "webrtc/system_wrappers/include/cpu_features_wrapper.h"
|
||||
+
|
||||
+#if defined(WEBRTC_ARCH_ARM_FAMILY)
|
||||
+#include <asm/hwcap.h>
|
||||
+
|
||||
+uint64_t WebRtc_GetCPUFeaturesARM(void) {
|
||||
+ uint64_t result = 0;
|
||||
+ int architecture = 0;
|
||||
+ unsigned long hwcap = 0;
|
||||
+ const char* platform = NULL;
|
||||
+#if __GLIBC_PREREQ(2, 16)
|
||||
+ hwcap = getauxval(AT_HWCAP);
|
||||
+ platform = (const char*)getauxval(AT_PLATFORM);
|
||||
+#else
|
||||
+ ElfW(auxv_t) auxv;
|
||||
+ int fd = open("/proc/self/auxv", O_RDONLY);
|
||||
+ if (fd >= 0) {
|
||||
+ while (hwcap == 0 || platform == NULL) {
|
||||
+ if (read(fd, &auxv, sizeof(auxv)) < (ssize_t)sizeof(auxv)) {
|
||||
+ if (errno == EINTR)
|
||||
+ continue;
|
||||
+ break;
|
||||
+ }
|
||||
+ switch (auxv.a_type) {
|
||||
+ case AT_HWCAP:
|
||||
+ hwcap = auxv.a_un.a_val;
|
||||
+ break;
|
||||
+ case AT_PLATFORM:
|
||||
+ platform = (const char*)auxv.a_un.a_val;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ close(fd);
|
||||
+ }
|
||||
+#endif // __GLIBC_PREREQ(2,16)
|
||||
+#if defined(__aarch64__)
|
||||
+ architecture = 8;
|
||||
+ if ((hwcap & HWCAP_FP) != 0)
|
||||
+ result |= kCPUFeatureVFPv3;
|
||||
+ if ((hwcap & HWCAP_ASIMD) != 0)
|
||||
+ result |= kCPUFeatureNEON;
|
||||
+#else
|
||||
+ if (platform != NULL) {
|
||||
+ /* expect a string in the form "v6l" or "v7l", etc.
|
||||
+ */
|
||||
+ if (platform[0] == 'v' && '0' <= platform[1] && platform[1] <= '9' &&
|
||||
+ (platform[2] == 'l' || platform[2] == 'b')) {
|
||||
+ architecture = platform[1] - '0';
|
||||
+ }
|
||||
+ }
|
||||
+ if ((hwcap & HWCAP_VFPv3) != 0)
|
||||
+ result |= kCPUFeatureVFPv3;
|
||||
+ if ((hwcap & HWCAP_NEON) != 0)
|
||||
+ result |= kCPUFeatureNEON;
|
||||
+#endif
|
||||
+ if (architecture >= 7)
|
||||
+ result |= kCPUFeatureARMv7;
|
||||
+ if (architecture >= 6)
|
||||
+ result |= kCPUFeatureLDREXSTREX;
|
||||
+ return result;
|
||||
+}
|
||||
+#endif // WEBRTC_ARCH_ARM_FAMILY
|
||||
diff -Nur qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/webrtc/system_wrappers/system_wrappers.gyp qtwebengine-opensource-src-5.7.1-webrtc-neon-detect/src/3rdparty/chromium/third_party/webrtc/system_wrappers/system_wrappers.gyp
|
||||
--- qtwebengine-opensource-src-5.7.1/src/3rdparty/chromium/third_party/webrtc/system_wrappers/system_wrappers.gyp 2016-11-07 15:46:18.000000000 +0100
|
||||
+++ qtwebengine-opensource-src-5.7.1-webrtc-neon-detect/src/3rdparty/chromium/third_party/webrtc/system_wrappers/system_wrappers.gyp 2016-12-04 15:09:09.323684522 +0100
|
||||
@@ -143,6 +143,9 @@
|
||||
# Define this if the Linux system does not support CLOCK_MONOTONIC.
|
||||
#'WEBRTC_CLOCK_TYPE_REALTIME',
|
||||
],
|
||||
+ 'dependencies': [
|
||||
+ 'cpu_features_webrtc.gyp:cpu_features_linux',
|
||||
+ ],
|
||||
'link_settings': {
|
||||
'libraries': [ '-lrt', ],
|
||||
},
|
70
snapshot_qtwebengine.sh
Executable file
70
snapshot_qtwebengine.sh
Executable file
@ -0,0 +1,70 @@
|
||||
#!/bin/bash
|
||||
# Copyright 2017 Kevin Kofler <Kevin@tigcc.ticalc.org>
|
||||
# Permission is hereby granted, free of charge, to any person obtaining
|
||||
# a copy of this software and associated documentation files (the
|
||||
# "Software"), to deal in the Software without restriction, including
|
||||
# without limitation the rights to use, copy, modify, merge, publish,
|
||||
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||
# permit persons to whom the Software is furnished to do so, subject to
|
||||
# the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
if [ -z "$2" ] ; then
|
||||
echo "usage: ./snapshot_qtwebengine.sh COMMIT VERSION"
|
||||
echo "e.g.: ./snapshot_qtwebengine.sh ee719ad313e564d4e6f06d74b313ae179169466f 5.6.3"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
COMMIT="$1"
|
||||
VERSION="$2"
|
||||
|
||||
SRCDIRNAME="qtwebengine-git"
|
||||
DIRNAME="qtwebengine-opensource-src-$VERSION"
|
||||
|
||||
echo "checking out git://code.qt.io/qt/qtwebengine.git"
|
||||
rm -rf "$SRCDIRNAME" || exit $?
|
||||
git clone --recurse-submodules git://code.qt.io/qt/qtwebengine.git \
|
||||
"$SRCDIRNAME" || exit $?
|
||||
|
||||
echo "exporting revision $COMMIT to $DIRNAME"
|
||||
rm -rf "$DIRNAME" || exit $?
|
||||
BASEDIR=`pwd`
|
||||
cd "$SRCDIRNAME" || exit $?
|
||||
git reset --hard "$COMMIT" || exit $?
|
||||
git archive --format=tar --prefix="$DIRNAME/" "$COMMIT" | tar -x -C "$BASEDIR" \
|
||||
|| exit $?
|
||||
git submodule foreach --recursive \
|
||||
'git archive --format=tar --prefix="'"$DIRNAME"'/$path/" "$sha1" | tar -x -C "'"$BASEDIR"'"' \
|
||||
|| exit $?
|
||||
cd .. || exit $?
|
||||
rm -rf "$SRCDIRNAME" || exit $?
|
||||
|
||||
echo "running syncqt.pl in $DIRNAME"
|
||||
cd "$DIRNAME" || exit $?
|
||||
syncqt.pl -version "$VERSION" sync.profile || exit $?
|
||||
cd .. || exit $?
|
||||
|
||||
echo "creating $DIRNAME.tar.xz"
|
||||
XZ_OPT="-9 -f" tar cJf "$DIRNAME.tar.xz" "$DIRNAME" || exit $?
|
||||
|
||||
echo "running ./clean_qtwebengine.sh $VERSION"
|
||||
./clean_qtwebengine.sh "$VERSION" || exit $?
|
||||
|
||||
echo "renaming $DIRNAME.tar.xz to $DIRNAME-$COMMIT.tar.xz"
|
||||
mv "$DIRNAME.tar.xz" "$DIRNAME-$COMMIT.tar.xz" || exit $?
|
||||
|
||||
echo "renaming $DIRNAME-clean.tar.xz to $DIRNAME-$COMMIT-clean.tar.xz"
|
||||
mv "$DIRNAME-clean.tar.xz" "$DIRNAME-$COMMIT-clean.tar.xz" || exit $?
|
||||
|
||||
echo "done"
|
||||
exit 0
|
2
sources
2
sources
@ -1 +1 @@
|
||||
0d74f61291d3f79473801a2d73397164 qtwebengine-opensource-src-5.6.1-clean.tar.xz
|
||||
SHA512 (qtwebengine-opensource-src-5.6.3-ee719ad313e564d4e6f06d74b313ae179169466f-clean.tar.xz) = e013c3059188420ca2a3aaca6037a2f8fd57d435d53857cf3f5c076adfdb7038c6778e6c3c13ca89ba4bc288d776c47a61889fdfcba5a70e729cbedca7212228
|
||||
|
Loading…
Reference in New Issue
Block a user