Update to 5.7.0
* Sat Jul 16 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.7.0-1 - Update to 5.7.0 - Update version numbers of bundled stuff - Update system libvpx/libwebp version requirements (now F24+ only) TODO: rebase patches
This commit is contained in:
parent
3eab3a62ce
commit
778be18d72
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@
|
||||
/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.7.0-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 \
|
||||
@ -45,6 +45,7 @@ header_files=" libavutil/x86/asm.h \
|
||||
libavutil/arm/intmath.h \
|
||||
libavutil/arm/intreadwrite.h \
|
||||
libavutil/arm/timer.h \
|
||||
libavutil/atomic.h \
|
||||
libavutil/atomic_gcc.h \
|
||||
libavutil/attributes.h \
|
||||
libavutil/audio_fifo.h \
|
||||
@ -66,6 +67,7 @@ header_files=" libavutil/x86/asm.h \
|
||||
libavutil/macros.h \
|
||||
libavutil/old_pix_fmts.h \
|
||||
libavutil/pixfmt.h \
|
||||
libavutil/qsort.h \
|
||||
libavutil/replaygain.h \
|
||||
libavutil/softfloat_tables.h \
|
||||
libavutil/thread.h \
|
||||
@ -194,6 +196,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 +211,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,7 @@ 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 "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,12 +10,12 @@
|
||||
%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
|
||||
|
||||
@ -29,8 +29,8 @@
|
||||
|
||||
Summary: Qt5 - QtWebEngine components
|
||||
Name: qt5-qtwebengine
|
||||
Version: 5.6.1
|
||||
Release: 3%{?dist}
|
||||
Version: 5.7.0
|
||||
Release: 1%{?dist}
|
||||
|
||||
# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
|
||||
# See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html
|
||||
@ -38,13 +38,13 @@ Release: 3%{?dist}
|
||||
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
|
||||
URL: http://www.qt.io
|
||||
# cleaned tarball with patent-encumbered codecs removed from the bundled FFmpeg
|
||||
# wget http://download.qt.io/official_releases/qt/5.6/5.6.1/submodules/qtwebengine-opensource-src-5.6.1.tar.xz
|
||||
# ./clean_qtwebengine.sh 5.6.1
|
||||
# wget http://download.qt.io/official_releases/qt/5.7/5.7.0/submodules/qtwebengine-opensource-src-5.7.0.tar.xz
|
||||
# ./clean_qtwebengine.sh 5.7.0
|
||||
Source0: qtwebengine-opensource-src-%{version}-clean.tar.xz
|
||||
# cleanup scripts used above
|
||||
Source1: clean_qtwebengine.sh
|
||||
Source2: clean_ffmpeg.sh
|
||||
Source3: process_ffmpeg_gyp.py
|
||||
Source3: get_free_ffmpeg_source_files.py
|
||||
# do not compile with -Wno-format, which also bypasses -Werror-format-security
|
||||
Patch0: qtwebengine-opensource-src-5.6.0-beta-no-format.patch
|
||||
# some tweaks to linux.pri (system libs, link libpci, run unbundling script)
|
||||
@ -115,7 +115,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 +148,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 +169,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 +182,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 +216,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,7 +255,7 @@ 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
|
||||
@ -442,6 +447,11 @@ popd
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Jul 16 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.7.0-1
|
||||
- Update to 5.7.0
|
||||
- Update version numbers of bundled stuff
|
||||
- Update system libvpx/libwebp version requirements (now F24+ only)
|
||||
|
||||
* Tue Jun 14 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-3
|
||||
- rebuild (glibc)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user