commit 4d10099fc956f3ed2589090444b3d62122961aa4 Author: tigro Date: Mon Jul 24 12:15:41 2023 +0300 import qt5-qtwebengine-5.15.8-5.el9 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1db91cb --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/qtwebengine-everywhere-src-5.15.8-clean.tar.xz +SOURCES/pulseaudio-12.2-headers.tar.gz diff --git a/.qt5-qtwebengine.metadata b/.qt5-qtwebengine.metadata new file mode 100644 index 0000000..7abd20f --- /dev/null +++ b/.qt5-qtwebengine.metadata @@ -0,0 +1,2 @@ +819159cdf887fad47185f20f66c0166e40bfb481 SOURCES/qtwebengine-everywhere-src-5.15.8-clean.tar.xz +1d7e3218c2863e2ccbe281ad8633b6a5ea2cde0b SOURCES/pulseaudio-12.2-headers.tar.gz diff --git a/SOURCES/chromium-angle-nullptr.patch b/SOURCES/chromium-angle-nullptr.patch new file mode 100644 index 0000000..78ae389 --- /dev/null +++ b/SOURCES/chromium-angle-nullptr.patch @@ -0,0 +1,12 @@ +diff -up qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/angle/src/common/utilities.cpp.nullptr qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/angle/src/common/utilities.cpp +--- qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/angle/src/common/utilities.cpp.nullptr 2021-12-15 10:09:27.000000000 -0600 ++++ qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/angle/src/common/utilities.cpp 2022-01-19 08:52:02.659577615 -0600 +@@ -254,7 +254,7 @@ std::string GetGLSLTypeString(GLenum typ + return "mat4"; + default: + UNREACHABLE(); +- return nullptr; ++ return ""; + } + } + diff --git a/SOURCES/chromium-hunspell-nullptr.patch b/SOURCES/chromium-hunspell-nullptr.patch new file mode 100644 index 0000000..b215049 --- /dev/null +++ b/SOURCES/chromium-hunspell-nullptr.patch @@ -0,0 +1,12 @@ +diff -up qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/hunspell/src/hunspell/hunspell.cxx.nullptr qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/hunspell/src/hunspell/hunspell.cxx +--- qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/hunspell/src/hunspell/hunspell.cxx.nullptr 2021-12-15 10:09:27.000000000 -0600 ++++ qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/hunspell/src/hunspell/hunspell.cxx 2022-01-19 10:30:40.845051982 -0600 +@@ -1725,7 +1725,7 @@ std::string HunspellImpl::get_xml_par(co + if (end == '>') + end = '<'; + else if (end != '\'' && end != '"') +- return 0; // bad XML ++ return dest; // bad XML + for (par++; *par != '\0' && *par != end; ++par) { + dest.push_back(*par); + } diff --git a/SOURCES/clean_ffmpeg.sh b/SOURCES/clean_ffmpeg.sh new file mode 100755 index 0000000..360f330 --- /dev/null +++ b/SOURCES/clean_ffmpeg.sh @@ -0,0 +1,364 @@ +#!/bin/bash +# Copyright 2013 Tomas Popela +# Copyright 2016-2017 Kevin Kofler +# 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. + +where=`pwd` + +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/third_party/ffmpeg + +header_files=" libavutil/x86/asm.h \ + libavutil/x86/bswap.h \ + libavutil/x86/cpu.h \ + libavutil/x86/emms.h \ + libavutil/x86/intmath.h \ + libavutil/x86/intreadwrite.h \ + libavutil/x86/timer.h \ + libavutil/aarch64/asm.S \ + libavutil/aarch64/bswap.h \ + libavutil/aarch64/cpu.h \ + libavutil/aarch64/timer.h \ + libavutil/arm/asm.S \ + libavutil/arm/bswap.h \ + libavutil/arm/cpu.h \ + libavutil/arm/float_dsp_arm.h \ + libavutil/arm/intmath.h \ + libavutil/arm/intreadwrite.h \ + libavutil/arm/timer.h \ + libavutil/ppc/cpu.h \ + libavutil/ppc/float_dsp_altivec.h \ + libavutil/ppc/float_dsp_vsx.h \ + libavutil/ppc/intreadwrite.h \ + libavutil/ppc/timer.h \ + libavutil/ppc/util_altivec.h \ + libavutil/aes_internal.h \ + libavutil/atomic.h \ + libavutil/atomic_gcc.h \ + libavutil/attributes.h \ + libavutil/audio_fifo.h \ + libavutil/avassert.h \ + libavutil/avutil.h \ + libavutil/bswap.h \ + libavutil/buffer_internal.h \ + libavcodec/bsf_internal.h \ + libavcodec/codec.h \ + libavcodec/codec_desc.h \ + libavcodec/codec_id.h \ + libavcodec/codec_par.h \ + libavcodec/decode.h \ + libavcodec/hwconfig.h \ + libavcodec/internal.h \ + libavcodec/packet.h \ + libavcodec/packet_internal.h \ + libavutil/common.h \ + libavutil/colorspace.h \ + libavutil/cpu_internal.h \ + libavutil/cpu.h \ + libavutil/dynarray.h \ + libavutil/ffmath.h \ + libavutil/fixed_dsp.h \ + libavutil/float_dsp.h \ + libavutil/hwcontext_internal.h \ + libavutil/imgutils.h \ + libavutil/imgutils_internal.h \ + libavutil/internal.h \ + libavutil/intfloat.h \ + libavutil/intreadwrite.h \ + libavutil/libm.h \ + libavutil/lls.h \ + libavutil/lzo.h \ + libavutil/macros.h \ + libavutil/mem_internal.h \ + libavcodec/mlp_parse.h \ + libavutil/old_pix_fmts.h \ + libavutil/pixfmt.h \ + libavutil/qsort.h \ + libavutil/replaygain.h \ + libavutil/softfloat_tables.h \ + libavutil/thread.h \ + libavutil/timer.h \ + libavutil/timestamp.h \ + libavutil/time_internal.h \ + libavutil/tx_priv.h \ + libavutil/tx_template.c \ + libavutil/version.h \ + libavutil/x86_cpu.h + libavcodec/aarch64/neon.S \ + libavcodec/aarch64/vp8dsp.h \ + libavcodec/x86/constants.h \ + libavcodec/x86/dsputil_x86.h \ + libavcodec/x86/fft.h \ + libavcodec/x86/fpel.h \ + libavcodec/x86/hpeldsp.h \ + libavcodec/x86/inline_asm.h \ + libavcodec/x86/mathops.h \ + libavcodec/x86/vp56_arith.h \ + libavcodec/arm/mathops.h \ + libavcodec/arm/neon.S \ + libavcodec/arm/videodsp_arm.h \ + libavcodec/arm/vp56_arith.h \ + libavcodec/arm/vp8.h \ + libavcodec/arm/vp8dsp.h \ + libavcodec/ppc/fft_vsx.h \ + libavcodec/ppc/hpeldsp_altivec.h \ + libavcodec/ppc/mathops.h \ + libavcodec/aac_ac3_parser.h \ + libavcodec/ac3_parser_internal.h \ + libavcodec/ac3.h \ + libavcodec/adts_header.h \ + libavcodec/avcodec.h \ + libavcodec/blockdsp.h \ + libavcodec/bytestream.h \ + libavcodec/dct.h \ + libavcodec/dct32.h \ + libavcodec/dsputil.h \ + libavcodec/dv_profile_internal.h \ + libavcodec/error_resilience.h \ + libavcodec/fdctdsp.h \ + libavcodec/flac.h \ + libavcodec/flacdsp.h \ + libavcodec/fft.h \ + libavcodec/fft-internal.h \ + libavcodec/fft_table.h \ + libavcodec/frame_thread_encoder.h \ + libavcodec/get_bits.h \ + libavcodec/h263dsp.h \ + libavcodec/h264chroma.h \ + libavcodec/h264pred.h \ + libavcodec/hpeldsp.h \ + libavcodec/hwaccel.h \ + libavcodec/hwaccels.h \ + libavcodec/idctdsp.h \ + libavcodec/internal.h \ + libavcodec/mathops.h \ + libavcodec/mdct15.h \ + libavcodec/me_cmp.h \ + libavcodec/motion_est.h \ + libavcodec/mpegaudio_tablegen.h \ + libavcodec/mpegaudiodectab.h \ + libavcodec/mpegaudiodsp.h \ + libavcodec/mpeg12.h \ + libavcodec/mpeg12data.h \ + libavcodec/mpeg12vlc.h \ + libavcodec/mpegpicture.h \ + libavcodec/mpegutils.h \ + libavcodec/mpegvideo.h \ + libavcodec/mpegvideodata.h \ + libavcodec/mpegvideodsp.h \ + libavcodec/mpegvideoencdsp.h \ + libavcodec/old_codec_ids.h \ + libavcodec/options_table.h \ + libavcodec/opus_celt.h \ + libavcodec/opusdsp.h \ + libavcodec/opus_pvq.h \ + libavcodec/opus_rc.h \ + libavcodec/pcm_tablegen.h \ + libavcodec/pel_template.c \ + libavcodec/pixblockdsp.h \ + libavcodec/pixels.h \ + libavcodec/png.h \ + libavcodec/pthread_internal.h \ + libavcodec/put_bits.h \ + libavcodec/qpeldsp.h \ + libavcodec/ratecontrol.h \ + libavcodec/rectangle.h \ + libavcodec/rl.h \ + libavcodec/rnd_avg.h \ + libavcodec/thread.h \ + libavcodec/tpel_template.c \ + libavcodec/unary.h \ + libavcodec/version.h \ + libavcodec/videodsp.h \ + libavcodec/vlc.h \ + libavcodec/vorbis_parser_internal.h \ + libavcodec/vorbisdsp.h \ + libavcodec/vp3data.h \ + libavcodec/vp3dsp.h \ + libavcodec/vp4data.h \ + libavcodec/vp56.h \ + libavcodec/vp56dsp.h \ + libavcodec/vp8data.h \ + libavcodec/vp8.h \ + libavcodec/vp8dsp.h \ + libavformat/audiointerleave.h \ + libavformat/avio_internal.h \ + libavformat/avformat.h \ + libavformat/dv.h \ + libavformat/internal.h \ + libavformat/pcm.h \ + libavformat/rdt.h \ + libavformat/rtp.h \ + libavformat/rtpdec.h \ + libavformat/spdif.h \ + libavformat/srtp.h \ + libavformat/options_table.h \ + libavformat/version.h \ + libavformat/w64.h \ + libswresample/swresample.h \ + libswresample/version.h \ + compat/va_copy.h " + +manual_files=" libavutil/x86/x86inc.asm \ + libavutil/x86/x86util.asm \ + libavcodec/x86/hpeldsp_rnd_template.c \ + libavcodec/x86/rnd_template.c \ + libavcodec/x86/autorename_libavcodec_x86_videodsp_init.c \ + libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c \ + libavcodec/x86/constants.c \ + libavcodec/x86/fft_init.c \ + libavcodec/x86/h264_intrapred_init.c \ + libavcodec/x86/hpeldsp_init.c \ + libavcodec/x86/videodsp_init.c \ + libavcodec/x86/vorbisdsp_init.c \ + libavcodec/x86/vp3dsp_init.c \ + libavcodec/x86/vp8dsp_init.c \ + libavutil/x86/autorename_libavutil_x86_cpu.c \ + libavutil/x86/autorename_libavutil_x86_float_dsp_init.c \ + libavutil/x86/cpu.c \ + libavutil/x86/float_dsp_init.c \ + libavutil/x86/lls_init.c \ + libavcodec/x86/deinterlace.asm \ + libavcodec/x86/fft.asm \ + libavcodec/x86/fpel.asm \ + libavcodec/x86/h264_intrapred.asm \ + libavcodec/x86/h264_intrapred_10bit.asm \ + libavcodec/x86/hpeldsp.asm \ + libavcodec/x86/videodsp.asm \ + libavcodec/x86/vorbisdsp.asm \ + libavcodec/x86/vp3dsp.asm \ + libavcodec/x86/vp8dsp.asm \ + libavcodec/x86/vp8dsp_loopfilter.asm \ + libavutil/x86/cpuid.asm \ + libavutil/x86/float_dsp.asm \ + libavutil/x86/lls.asm \ + libavcodec/bit_depth_template.c \ + libavcodec/dct32_template.c \ + libavcodec/fft_template.c \ + libavcodec/h264pred_template.c \ + libavcodec/hpel_template.c \ + libavcodec/hpeldsp_template.c \ + libavcodec/mdct_template.c \ + libavcodec/mpegaudiodec_template.c \ + libavcodec/mpegaudiodsp_template.c + libavcodec/mpegaudiodsp.c \ + libavcodec/videodsp_template.c \ + libavcodec/flacdec.c \ + libavcodec/flacdsp.c \ + libavcodec/flacdsp_template.c \ + libavcodec/flacdsp_lpc_template.c \ + libavcodec/h264pred.c \ + libavcodec/hpeldsp.c \ + libavcodec/videodsp.c \ + libavcodec/vorbisdsp.c \ + libavcodec/vp3.c \ + libavcodec/vp3_parser.c \ + libavcodec/vp3dsp.c \ + libavcodec/vp56rac.c \ + libavcodec/vp8.c \ + libavcodec/vp8_parser.c \ + libavcodec/vp8dsp.c \ + libavutil/cpu.c \ + libavutil/fixed_dsp.c \ + libavutil/float_dsp.c \ + libavutil/imgutils.c \ + libavutil/aarch64/cpu.c \ + libavutil/aarch64/float_dsp_neon.S \ + libavutil/arm/cpu.c \ + libavutil/arm/float_dsp_neon.S \ + libavformat/options.c \ + libavformat/pcm.c \ + libavformat/utils.c \ + libavcodec/utils.c \ + libavcodec/aarch64/fft_neon.S \ + libavcodec/aarch64/hpeldsp_neon.S \ + libavcodec/aarch64/h264pred_neon.S \ + libavcodec/aarch64/mdct_neon.S \ + libavcodec/aarch64/vorbisdsp_neon.S \ + libavcodec/aarch64/vp8dsp_neon.S \ + libavcodec/arm/vorbisdsp_neon.S \ + libavcodec/arm/mdct_neon.S \ + libavcodec/arm/fft_neon.S \ + libavcodec/arm/vp8dsp_neon.S \ + libavutil/ppc/cpu.c \ + libavutil/ppc/float_dsp_altivec.c \ + libavutil/ppc/float_dsp_init.c \ + libavutil/ppc/float_dsp_vsx.c \ + libavcodec/ppc/fft_altivec.S \ + libavcodec/ppc/fft_init.c \ + libavcodec/ppc/fft_vsx.c \ + libavcodec/ppc/hpeldsp_altivec.c \ + libavcodec/ppc/mpegaudiodsp_altivec.c \ + libavcodec/ppc/videodsp.c \ + libavcodec/ppc/vorbisdsp_altivec.c \ + libavcodec/ppc/vp3dsp_altivec.c \ + libavcodec/ppc/vp8dsp_altivec.c \ + chromium/ffmpeg_stub_headers.fragment \ + chromium/ffmpegsumo.sigs" + +other_files=" BUILD.gn \ + Changelog \ + COPYING.GPLv2 \ + COPYING.GPLv3 \ + COPYING.LGPLv2.1 \ + COPYING.LGPLv3 \ + CREDITS \ + CREDITS.chromium \ + ffmpeg.gyp \ + ffmpeg_generated.gypi \ + ffmpeg_generated.gni \ + ffmpeg_options.gni \ + ffmpegsumo.ver \ + INSTALL \ + LICENSE \ + MAINTAINERS \ + OWNERS \ + README \ + README.chromium \ + RELEASE \ + xcode_hack.c " + +files=$generated_files$manual_files$other_files$generated_files_headers$header_files + +for f in $files +do + dir_name=`dirname $f`/ + if [[ $dir_name == ./ ]]; then + dir_name= + else + mkdir -p ../tmp_ffmpeg/$dir_name + fi + + cp -p $f ../tmp_ffmpeg/$dir_name 2>/dev/null +done + +# whole directory +mkdir -p ../tmp_ffmpeg/chromium +cp -pr chromium/config ../tmp_ffmpeg/chromium/ + +cd .. +rm -rf ffmpeg +mv tmp_ffmpeg ffmpeg + +cd $where diff --git a/SOURCES/clean_qtwebengine.sh b/SOURCES/clean_qtwebengine.sh new file mode 100755 index 0000000..17f77fa --- /dev/null +++ b/SOURCES/clean_qtwebengine.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# Copyright 2015-2017 Kevin Kofler +# 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 "$1" ] ; then + echo "usage: ./clean_qtwebengine.sh VERSION" + echo "e.g.: ./clean_qtwebengine.sh 5.15.8" + exit 1 +fi + +DIRNAME="qtwebengine-everywhere-src-$1" + +echo "removing $DIRNAME" +rm -rf "$DIRNAME" || exit $? + +if [ -f "$DIRNAME.tar.xz" ] ; then + echo "unpacking $DIRNAME.tar.xz" + XZ_OPT="-T 4" tar xJf "$DIRNAME.tar.xz" || exit $? +elif [ -f "$DIRNAME.tar.bz2" ] ; then + echo "unpacking $DIRNAME.tar.bz2" + tar xjf "$DIRNAME.tar.bz2" || exit $? +elif [ -f "$DIRNAME.tar.gz" ] ; then + echo "unpacking $DIRNAME.tar.gz" + tar xzf "$DIRNAME.tar.gz" || exit $? +elif [ -f "$DIRNAME.7z" ] ; then + echo "unpacking $DIRNAME.7z" + if type 7za >/dev/null 2>/dev/null ; then + 7za x "$DIRNAME.7z" || exit $? + elif type 7z >/dev/null 2>/dev/null ; then + 7z x "$DIRNAME.7z" || exit $? + else + echo "error: p7zip required" + exit 1 + fi +else + echo "error: no archive for $DIRNAME found" + exit 1 +fi + +echo "running clean_ffmpeg.sh" +./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="-8 -T 2" tar cJf "$DIRNAME-clean.tar.xz" "$DIRNAME" || exit $? + +echo "removing $DIRNAME" +rm -rf "$DIRNAME" || exit $? + +echo "done" +exit 0 diff --git a/SOURCES/get_free_ffmpeg_source_files.py b/SOURCES/get_free_ffmpeg_source_files.py new file mode 100755 index 0000000..390ee3f --- /dev/null +++ b/SOURCES/get_free_ffmpeg_source_files.py @@ -0,0 +1,82 @@ +#!/usr/bin/python3 +# Copyright 2015 Tomas Popela +# 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]) + inserted = False + for condition in conditions: + if inserted: + break + limitations = ['ffmpeg_branding == "Chrome"', 'ffmpeg_branding == "ChromeOS"'] + if ('use_linux_config' in condition) and not any(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) + inserted = True + else: + parse_sources (block[1], output_sources, arch_not_arm) + inserted = True + + if len(output_sources) == 0: + sys.stderr.write("Something went wrong, no sources parsed!\n") + sys.exit(1) + + 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) diff --git a/SOURCES/macros.qt5-qtwebengine b/SOURCES/macros.qt5-qtwebengine new file mode 100644 index 0000000..5b2f86b --- /dev/null +++ b/SOURCES/macros.qt5-qtwebengine @@ -0,0 +1,4 @@ +%_qt5_qtwebengine @@NAME@@ +%_qt5_qtwebengine_epoch @@EPOCH@@ +%_qt5_qtwebengine_version @@VERSION@@ +%_qt5_qtwebengine_evr @@EVR@@ diff --git a/SOURCES/python2.7-2.7.18-19.el9.1.aarch64.rpm b/SOURCES/python2.7-2.7.18-19.el9.1.aarch64.rpm new file mode 100644 index 0000000..6a2a592 Binary files /dev/null and b/SOURCES/python2.7-2.7.18-19.el9.1.aarch64.rpm differ diff --git a/SOURCES/python2.7-2.7.18-19.el9.1.src.rpm b/SOURCES/python2.7-2.7.18-19.el9.1.src.rpm new file mode 100644 index 0000000..6fc955f Binary files /dev/null and b/SOURCES/python2.7-2.7.18-19.el9.1.src.rpm differ diff --git a/SOURCES/python2.7-2.7.18-19.el9.1.x86_64.rpm b/SOURCES/python2.7-2.7.18-19.el9.1.x86_64.rpm new file mode 100644 index 0000000..f2d73d8 Binary files /dev/null and b/SOURCES/python2.7-2.7.18-19.el9.1.x86_64.rpm differ diff --git a/SOURCES/qtwebengine-5.15.0-QT_DEPRECATED_VERSION.patch b/SOURCES/qtwebengine-5.15.0-QT_DEPRECATED_VERSION.patch new file mode 100644 index 0000000..3771308 --- /dev/null +++ b/SOURCES/qtwebengine-5.15.0-QT_DEPRECATED_VERSION.patch @@ -0,0 +1,17 @@ +diff -up qtwebengine-everywhere-src-5.15.5/src/webenginewidgets/api/qwebenginedownloaditem.h.QT_DEPRECATED_VERSION qtwebengine-everywhere-src-5.15.5/src/webenginewidgets/api/qwebenginedownloaditem.h +--- qtwebengine-everywhere-src-5.15.5/src/webenginewidgets/api/qwebenginedownloaditem.h.QT_DEPRECATED_VERSION 2021-06-24 07:34:27.991417071 -0500 ++++ qtwebengine-everywhere-src-5.15.5/src/webenginewidgets/api/qwebenginedownloaditem.h 2021-06-24 07:36:28.996937357 -0500 +@@ -120,9 +120,13 @@ public: + QString mimeType() const; + #if QT_DEPRECATED_SINCE(5, 14) + #if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) ++#if QT_VERSION >= QT_VERSION_CHECK(5,14,0) + QT_DEPRECATED_VERSION_X(5, 14, "Use downloadDirectory() and downloadFileName() instead") ++#endif + QString path() const; ++#if QT_VERSION >= QT_VERSION_CHECK(5,14,0) + QT_DEPRECATED_VERSION_X(5, 14, "Use setDownloadDirectory() and setDownloadFileName() instead") ++#endif + void setPath(QString path); + #else + QT_DEPRECATED_X("Use downloadDirectory() and downloadFileName() instead") diff --git a/SOURCES/qtwebengine-SIOCGSTAMP.patch b/SOURCES/qtwebengine-SIOCGSTAMP.patch new file mode 100644 index 0000000..7609f85 --- /dev/null +++ b/SOURCES/qtwebengine-SIOCGSTAMP.patch @@ -0,0 +1,16 @@ +diff --git a/src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc b/src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc +index c38d7fdfa..0a8b0fd8b 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc ++++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc +@@ -72,6 +72,11 @@ typedef void* SockOptArg; + + #if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) + ++// Seems that kernel 5.2.0 renames this define to SIOCGSTAMP_OLD ++#ifndef SIOCGSTAMP ++#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */ ++#endif ++ + int64_t GetSocketRecvTimestamp(int socket) { + struct timeval tv_ioctl; + int ret = ioctl(socket, SIOCGSTAMP, &tv_ioctl); diff --git a/SOURCES/qtwebengine-everywhere-5.15.5-use-python2.patch b/SOURCES/qtwebengine-everywhere-5.15.5-use-python2.patch new file mode 100644 index 0000000..9626d27 --- /dev/null +++ b/SOURCES/qtwebengine-everywhere-5.15.5-use-python2.patch @@ -0,0 +1,35 @@ +diff --git a/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py b/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py +index 8af373102..b551c0fe2 100644 +--- a/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py ++++ b/src/3rdparty/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py +@@ -83,7 +83,7 @@ def _MinifyJS(input_js): + + with tempfile.NamedTemporaryFile() as _: + args = [ +- 'python', ++ 'python2', + rjsmin_path + ] + p = subprocess.Popen(args, +@@ -203,7 +203,7 @@ def _MinifyCSS(css_text): + os.path.join(py_vulcanize_path, 'third_party', 'rcssmin', 'rcssmin.py')) + + with tempfile.NamedTemporaryFile() as _: +- rcssmin_args = ['python', rcssmin_path] ++ rcssmin_args = ['python2', rcssmin_path] + p = subprocess.Popen(rcssmin_args, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, +diff --git a/src/webengine/module.pro b/src/webengine/module.pro +index 49a1086b2..afc89d49e 100644 +--- a/src/webengine/module.pro ++++ b/src/webengine/module.pro +@@ -76,7 +76,7 @@ qtConfig(webengine-testsupport) { + python = $$pythonPathForShell() + chromium_attributions.commands = \ + cd $$shell_quote($$shell_path($$PWD/../3rdparty)) && \ +- $$python chromium/tools/licenses.py \ ++ python2 chromium/tools/licenses.py \ + --file-template ../../tools/about_credits.tmpl \ + --entry-template ../../tools/about_credits_entry.tmpl credits \ + $$shell_quote($$shell_path($$OUT_PWD/chromium_attributions.qdoc)) diff --git a/SOURCES/qtwebengine-everywhere-5.15.8-libpipewire-0.3.patch b/SOURCES/qtwebengine-everywhere-5.15.8-libpipewire-0.3.patch new file mode 100644 index 0000000..c9e4686 --- /dev/null +++ b/SOURCES/qtwebengine-everywhere-5.15.8-libpipewire-0.3.patch @@ -0,0 +1,24 @@ +diff -up qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn.libpipewire-0.3 qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn +--- qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn.libpipewire-0.3 2021-12-15 10:09:27.000000000 -0600 ++++ qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/BUILD.gn 2022-02-18 09:43:31.402923179 -0600 +@@ -202,7 +202,7 @@ if (is_linux || is_chromeos) { + + if (rtc_link_pipewire) { + pkg_config("pipewire") { +- packages = [ "libpipewire-0.2" ] ++ packages = [ "libpipewire-0.3" ] + } + } else { + # When libpipewire is not directly linked, use stubs to allow for dlopening of +diff -up qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni.libpipewire-0.3 qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni +--- qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni.libpipewire-0.3 2021-12-15 10:09:27.000000000 -0600 ++++ qtwebengine-everywhere-src-5.15.8/src/3rdparty/chromium/third_party/webrtc/webrtc.gni 2022-02-18 12:35:13.895009491 -0600 +@@ -115,7 +115,7 @@ declare_args() { + rtc_use_pipewire = is_desktop_linux && use_sysroot + + # Set this to link PipeWire directly instead of using the dlopen. +- rtc_link_pipewire = false ++ rtc_link_pipewire = true + + # Enable to use the Mozilla internal settings. + build_with_mozilla = false diff --git a/SOURCES/qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch b/SOURCES/qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch new file mode 100644 index 0000000..2b17be4 --- /dev/null +++ b/SOURCES/qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch @@ -0,0 +1,12 @@ +diff -up qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h.aarch64-new-stat qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h +--- qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h.aarch64-new-stat 2018-11-19 12:55:45.000000000 -0600 ++++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h 2018-12-08 21:16:39.931896244 -0600 +@@ -5,6 +5,8 @@ + #ifndef SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ + #define SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ + ++#define __ARCH_WANT_NEW_STAT ++ + #include + + #if !defined(__NR_io_setup) diff --git a/SOURCES/qtwebengine-everywhere-src-5.15.0-no-icudtl-dat.patch b/SOURCES/qtwebengine-everywhere-src-5.15.0-no-icudtl-dat.patch new file mode 100644 index 0000000..a83367e --- /dev/null +++ b/SOURCES/qtwebengine-everywhere-src-5.15.0-no-icudtl-dat.patch @@ -0,0 +1,33 @@ +diff -up qtwebengine-everywhere-src-5.15.5/src/core/web_engine_library_info.cpp.no-icudtl-dat qtwebengine-everywhere-src-5.15.5/src/core/web_engine_library_info.cpp +--- qtwebengine-everywhere-src-5.15.5/src/core/web_engine_library_info.cpp.no-icudtl-dat 2021-06-24 07:26:58.976486102 -0500 ++++ qtwebengine-everywhere-src-5.15.5/src/core/web_engine_library_info.cpp 2021-06-24 07:32:19.272863523 -0500 +@@ -273,7 +273,6 @@ QString dictionariesPath() + + QString resourcesDataPath() + { +- static bool initialized = false; + static QString potentialResourcesPath = + #if defined(OS_MAC) && defined(QT_MAC_FRAMEWORK_BUILD) + getResourcesPath(frameworkBundle()); +@@ -282,21 +281,6 @@ QString resourcesDataPath() + #else + QLibraryInfo::location(QLibraryInfo::DataPath) % QLatin1String("/resources"); + #endif +- if (!initialized) { +- initialized = true; +- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/qtwebengine_resources.pak"))) { +- qWarning("Qt WebEngine resources not found at %s. Trying parent directory...", qPrintable(potentialResourcesPath)); +- potentialResourcesPath = QLibraryInfo::location(QLibraryInfo::DataPath); +- } +- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/qtwebengine_resources.pak"))) { +- qWarning("Qt WebEngine resources not found at %s. Trying application directory...", qPrintable(potentialResourcesPath)); +- potentialResourcesPath = QCoreApplication::applicationDirPath(); +- } +- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/qtwebengine_resources.pak"))) { +- qWarning("Qt WebEngine resources not found at %s. Trying fallback directory... The application MAY NOT work.", qPrintable(potentialResourcesPath)); +- potentialResourcesPath = fallbackDir(); +- } +- } + + return potentialResourcesPath; + } diff --git a/SOURCES/qtwebengine-everywhere-src-5.15.5-TRUE.patch b/SOURCES/qtwebengine-everywhere-src-5.15.5-TRUE.patch new file mode 100644 index 0000000..b61c923 --- /dev/null +++ b/SOURCES/qtwebengine-everywhere-src-5.15.5-TRUE.patch @@ -0,0 +1,12 @@ +diff -up qtwebengine-everywhere-src-5.15.5/src/3rdparty/chromium/third_party/libxml/src/encoding.c.TRUE qtwebengine-everywhere-src-5.15.5/src/3rdparty/chromium/third_party/libxml/src/encoding.c +--- qtwebengine-everywhere-src-5.15.5/src/3rdparty/chromium/third_party/libxml/src/encoding.c.TRUE 2021-05-28 07:05:45.000000000 -0500 ++++ qtwebengine-everywhere-src-5.15.5/src/3rdparty/chromium/third_party/libxml/src/encoding.c 2021-06-24 09:44:41.592468805 -0500 +@@ -2004,7 +2004,7 @@ xmlEncOutputChunk(xmlCharEncodingHandler + #ifdef LIBXML_ICU_ENABLED + else if (handler->uconv_out != NULL) { + ret = xmlUconvWrapper(handler->uconv_out, 0, out, outlen, in, inlen, +- TRUE); ++ 1); + } + #endif /* LIBXML_ICU_ENABLED */ + else { diff --git a/SOURCES/qtwebengine-opensource-src-5.12.4-fix-extractcflag.patch b/SOURCES/qtwebengine-opensource-src-5.12.4-fix-extractcflag.patch new file mode 100644 index 0000000..fcbc6b5 --- /dev/null +++ b/SOURCES/qtwebengine-opensource-src-5.12.4-fix-extractcflag.patch @@ -0,0 +1,11 @@ +diff --git a/src/buildtools/config/functions.pri b/src/buildtools/config/functions.pri +index 8c11faa16..191d3d623 100644 +--- a/src/buildtools/config/functions.pri ++++ b/src/buildrools/config/functions.pri +@@ -1,5 +1,5 @@ + defineReplace(qtwebengine_extractCFlag) { +- CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS ++ CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS $$QMAKE_CFLAGS_RELEASE + OPTION = $$find(CFLAGS, $$1) + OPTION = $$split(OPTION, =) + PARAM = $$member(OPTION, 1) diff --git a/SOURCES/qtwebengine-opensource-src-5.9.0-no-neon.patch b/SOURCES/qtwebengine-opensource-src-5.9.0-no-neon.patch new file mode 100644 index 0000000..308c5bc --- /dev/null +++ b/SOURCES/qtwebengine-opensource-src-5.9.0-no-neon.patch @@ -0,0 +1,15 @@ +diff --git a/src/buildtools/config/linux.pri b/src/buildtools/config/linux.pri +index f45c418fe..f6c7b714e 100644 +--- a/src/buildtools/config/linux.pri ++++ b/src/buildtools/config/linux.pri +@@ -87,7 +87,9 @@ contains(QT_ARCH, "arm") { + gn_args += arm_use_neon=false + # If the toolchain does not explicitly specify to use NEON instructions + # we use arm_neon_optional for ARMv7 +- equals(MARMV, 7): gn_args += arm_optionally_use_neon=true ++ # Disable NEON entirely for now, if set in the specfile, e.g., to ++ # work around some build failure. ++ # equals(MARMV, 7): gn_args += arm_optionally_use_neon=true + } + } + diff --git a/SOURCES/qtwebengine-release.sh b/SOURCES/qtwebengine-release.sh new file mode 100755 index 0000000..a05c100 --- /dev/null +++ b/SOURCES/qtwebengine-release.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -x +VERSION=5.15.8 +CHROMIUMHASH=`wget https://code.qt.io/cgit/qt/qtwebengine.git/tree/src/3rdparty?h=$VERSION -q --content-on-error -O - | grep "Bad object name: " | sed 's/^.*Bad object name: \([0-9a-f]\{40\}\).*$/\1/g'` +rm -rf qtwebengine-$VERSION qtwebengine-$VERSION.tar.gz qtwebengine-chromium-$CHROMIUMHASH qtwebengine-chromium-$CHROMIUMHASH.tar.gz qtwebengine-everywhere-src-$VERSION +wget https://github.com/qt/qtwebengine/archive/$VERSION.tar.gz -O qtwebengine-$VERSION.tar.gz || exit $? +tar xzf qtwebengine-$VERSION.tar.gz || exit $? +wget https://github.com/qt/qtwebengine-chromium/archive/$CHROMIUMHASH.tar.gz -O qtwebengine-chromium-$CHROMIUMHASH.tar.gz || exit $? +tar xzf qtwebengine-chromium-$CHROMIUMHASH.tar.gz || exit $? +mv qtwebengine-$VERSION qtwebengine-everywhere-src-$VERSION || exit $? +(cd qtwebengine-everywhere-src-$VERSION ; syncqt.pl -version $VERSION ) || exit $? +rmdir qtwebengine-everywhere-src-$VERSION/src/3rdparty || exit $? +mv qtwebengine-chromium-$CHROMIUMHASH qtwebengine-everywhere-src-$VERSION/src/3rdparty || exit $? +XZ_OPT="-9 -T2" tar cJf qtwebengine-everywhere-src-$VERSION.tar.xz qtwebengine-everywhere-src-$VERSION || exit $? +rm -rf qtwebengine-$VERSION qtwebengine-$VERSION.tar.gz qtwebengine-chromium-$CHROMIUMHASH qtwebengine-chromium-$CHROMIUMHASH.tar.gz qtwebengine-everywhere-src-$VERSION diff --git a/SPECS/qt5-qtwebengine.spec b/SPECS/qt5-qtwebengine.spec new file mode 100644 index 0000000..98a67cc --- /dev/null +++ b/SPECS/qt5-qtwebengine.spec @@ -0,0 +1,1341 @@ +%global qt_module qtwebengine + +%global _hardened_build 1 + +# package-notes causes FTBFS (#2043178) +%undefine _package_note_file + +# define to build docs, may need to undef this for bootstrapping +# where qt5-qttools (qt5-doctools) builds are not yet available +%global docs 0 + +%if 0%{?fedora} +# need libvpx >= 1.8.0 (need commit 297dfd869609d7c3c5cd5faa3ebc7b43a394434e) +%global use_system_libvpx 1 +# For screen sharing on Wayland, currently Fedora only thing - no epel +#global pipewire 1 +%endif +%if 0%{?fedora} > 30 || 0%{?epel} > 7 +# need libwebp >= 0.6.0 +%global use_system_libwebp 1 +%global use_system_jsoncpp 1 +%if 0%{?rhel} && 0%{?rhel} == 9 +%global use_system_re2 0 +%else +%global use_system_re2 1 +%endif +%endif + +%if 0%{?fedora} > 32 +# need libicu >= 65, only currently available on f33+ +%global use_system_libicu 1 +%endif + +# NEON support on ARM (detected at runtime) - disable this if you are hitting +# FTBFS due to e.g. GCC bug https://bugzilla.redhat.com/show_bug.cgi?id=1282495 +#global arm_neon 1 + +# the QMake CONFIG flags to force debugging information to be produced in +# release builds, and for all parts of the code +%ifarch %{arm} aarch64 +# the ARM builder runs out of memory during linking with the full setting below, +# so omit debugging information for the parts upstream deems it dispensable for +# (webcore, v8base) +%global debug_config %{nil} +%else +%global debug_config force_debug_info +# webcore_debug v8base_debug +%endif + +#global prerelease rc + +# spellchecking dictionary directory +%global _qtwebengine_dictionaries_dir %{_qt5_datadir}/qtwebengine_dictionaries + +%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) + +# exclude plugins +%global __provides_exclude ^lib.*plugin\\.so.*$ +# and designer plugins +%global __provides_exclude_from ^%{_qt5_plugindir}/.*\\.so$ + +Summary: Qt5 - QtWebEngine components +Name: qt5-qtwebengine +Version: 5.15.8 +Release: 5%{?dist} + +# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details +# See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html +# The other licenses are from Chromium and the code it bundles +License: (LGPLv2 with exceptions or GPLv3 with exceptions) and BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) +URL: http://www.qt.io +# cleaned tarball with patent-encumbered codecs removed from the bundled FFmpeg +# ./qtwebengine-release.sh +# ./clean_qtwebengine.sh 5.15.1 +Source0: qtwebengine-everywhere-src-%{version}-clean.tar.xz +# release script used above +Source1: qtwebengine-release.sh +# cleanup scripts used above +Source2: clean_qtwebengine.sh +Source3: clean_ffmpeg.sh +Source4: get_free_ffmpeg_source_files.py +# macros +Source10: macros.qt5-qtwebengine + +# pulseaudio headers +Source20: pulseaudio-12.2-headers.tar.gz + +## Python2 Sources +## src.rpm is Fedora spec with tests and tkinter turned off +## binary rpms have been built on epel9 +Source100: python2.7-2.7.18-19.el9.1.src.rpm +Source101: python2.7-2.7.18-19.el9.1.aarch64.rpm +Source102: python2.7-2.7.18-19.el9.1.x86_64.rpm + +# 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 +Patch1: qtwebengine-everywhere-src-5.15.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 +Patch2: qtwebengine-opensource-src-5.12.4-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 +Patch3: qtwebengine-opensource-src-5.9.0-no-neon.patch +# workaround FTBFS against kernel-headers-5.2.0+ +Patch4: qtwebengine-SIOCGSTAMP.patch +# fix build when using qt < 5.14 +Patch5: qtwebengine-5.15.0-QT_DEPRECATED_VERSION.patch +# gcc-12 FTBFS "use of deleted function" +Patch6: chromium-angle-nullptr.patch +Patch7: chromium-hunspell-nullptr.patch +Patch8: qtwebengine-everywhere-5.15.8-libpipewire-0.3.patch +# Fix/workaround FTBFS on aarch64 with newer glibc +Patch24: qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch +# Use Python2 +Patch26: qtwebengine-everywhere-5.15.5-use-python2.patch +# FTBFS TRUE/FALSE undeclared +Patch31: qtwebengine-everywhere-src-5.15.5-TRUE.patch + +## Upstream patches: + +%if 0%{?fedora} || 0%{?epel} > 7 +# handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches +ExclusiveArch: %{qt5_qtwebengine_arches} +%endif + +BuildRequires: make +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 +BuildRequires: qt5-qtxmlpatterns-devel +BuildRequires: qt5-qtlocation-devel +BuildRequires: qt5-qtsensors-devel +BuildRequires: qt5-qtsvg-devel +BuildRequires: qt5-qtwebchannel-devel +BuildRequires: qt5-qttools-static +# for examples? +BuildRequires: qt5-qtquickcontrols2-devel +BuildRequires: ninja-build +BuildRequires: cmake +BuildRequires: bison +BuildRequires: flex +BuildRequires: gcc-c++ +# gn links statically (for now) +BuildRequires: libstdc++-static +BuildRequires: git-core +BuildRequires: gperf +BuildRequires: krb5-devel +%if 0%{?use_system_libicu} +BuildRequires: libicu-devel >= 65 +%endif +BuildRequires: libjpeg-devel +BuildRequires: nodejs +%if 0%{?use_system_re2} +BuildRequires: re2-devel +%endif +%if 0%{?pipewire} +BuildRequires: pkgconfig(libpipewire-0.3) +%endif +BuildRequires: snappy-devel +BuildRequires: pkgconfig(expat) +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(egl) +%if 0%{?use_system_jsoncpp} +BuildRequires: pkgconfig(jsoncpp) +%endif +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libudev) +%if 0%{?use_system_libwebp} +BuildRequires: pkgconfig(libwebp) >= 0.6.0 +%endif +BuildRequires: pkgconfig(harfbuzz) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(libevent) +BuildRequires: pkgconfig(poppler-cpp) +BuildRequires: pkgconfig(zlib) +%if 0%{?fedora} && 0%{?fedora} < 30 +BuildRequires: pkgconfig(minizip) +%else +BuildConflicts: minizip-devel +Provides: bundled(minizip) = 1.2 +%endif +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xfixes) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xdamage) +BuildRequires: pkgconfig(xcomposite) +BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(xscrnsaver) +BuildRequires: pkgconfig(libcap) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(libpci) +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(nss) +BuildRequires: pkgconfig(lcms2) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(xkbfile) +## https://bugreports.qt.io/browse/QTBUG-59094 +## requires libxml2 built with icu support +#BuildRequires: pkgconfig(libxslt) pkgconfig(libxml-2.0) +BuildRequires: perl-interpreter +# fesco exception to allow python2 use: https://pagure.io/fesco/issue/2208 +# per https://fedoraproject.org/wiki/Changes/RetirePython2#FESCo_exceptions +# Only the interpreter is needed +%if 0%{?fedora} > 29 || 0%{?rhel} > 8 +%if 0%{?rhel} && 0%{?rhel} == 9 +BuildRequires: %{__python3} +%else +BuildRequires: %{__python2} +%endif +%else +BuildRequires: python2 +BuildRequires: python2-rpm-macros +%endif +%if 0%{?use_system_libvpx} +BuildRequires: pkgconfig(vpx) >= 1.8.0 +%endif +# For python on EPEL9, These get pulled in via python2 +BuildRequires: libtirpc +BuildRequires: libnsl2 +BuildRequires: python-rpm-macros + +# extra (non-upstream) functions needed, see +# src/3rdparty/chromium/third_party/sqlite/README.chromium for details +#BuildRequires: pkgconfig(sqlite3) + +## Various bundled libraries that Chromium does not support unbundling :-( +## Only the parts actually built are listed. +## Query for candidates: +## grep third_party/ build.log | sed 's!third_party/!\nthird_party/!g' | \ +## grep third_party/ | sed 's!^third_party/!!g' | sed 's!/.*$!!g' | \ +## sed 's/\;.*$//g' | sed 's/ .*$//g' | sort | uniq | less +## some false positives where only shim headers are generated for some reason +## some false positives with dummy placeholder dirs (swiftshader, widevine) +## some false negatives where a header-only library is bundled (e.g. x86inc) +## Spot's chromium.spec also has a list that I checked. + +# Of course, Chromium itself is bundled. It cannot be unbundled because it is +# not a library, but forked (modified) application code. +Provides: bundled(chromium) = 87.0.4280.144 + +# Bundled in src/3rdparty/chromium/third_party: +# Check src/3rdparty/chromium/third_party/*/README.chromium for version numbers, +# except where specified otherwise. +# Note that many of those libraries are git snapshots, so version numbers are +# necessarily approximate. +# Also note that the list is probably not complete anymore due to Chromium +# adding more and more bundled stuff at every release, some of which (but not +# all) is actually built in QtWebEngine. +# src/3rdparty/chromium/third_party/angle/doc/ChoosingANGLEBranch.md points to +# http://omahaproxy.appspot.com/deps.json?version=87.0.4280.144 chromium_branch +Provides: bundled(angle) = 2422 +# Google's fork of OpenSSL +# We cannot build against NSS instead because it no longer works with NSS 3.21: +# HTTPS on, ironically, Google's sites (Google, YouTube, etc.) stops working +# 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 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 +# get_free_ffmpeg_source_files.py. +# see src/3rdparty/chromium/third_party/ffmpeg/Changelog for the version number +Provides: bundled(ffmpeg) = 4.3 +Provides: bundled(hunspell) = 1.6.0 +Provides: bundled(iccjpeg) +# bundled as "khronos", headers only +Provides: bundled(khronos_headers) +# bundled as "leveldatabase" +Provides: bundled(leveldb) = 1.22 +# bundled as "libjingle_xmpp" +Provides: bundled(libjingle) +# see src/3rdparty/chromium/third_party/libsrtp/CHANGES for the version number +Provides: bundled(libsrtp) = 2.2.0 +%if !0%{?use_system_libvpx} +Provides: bundled(libvpx) = 1.8.2 +%endif +%if !0%{?use_system_libwebp} +Provides: bundled(libwebp) = 1.1.0-28-g55a080e5 +%endif +# bundled as "libxml" +# see src/3rdparty/chromium/third_party/libxml/linux/include/libxml/xmlversion.h +# post 2.9.9 snapshot?, 2.9.9-0b3c64d9f2f3e9ce1a98d8f19ee7a763c87e27d5 +Provides: bundled(libxml2) = 2.9.10 +# see src/3rdparty/chromium/third_party/libxslt/linux/config.h for version +Provides: bundled(libxslt) = 1.1.34 +Provides: bundled(libXNVCtrl) = 302.17 +Provides: bundled(libyuv) = 1768 +Provides: bundled(modp_b64) +Provides: bundled(ots) +Provides: bundled(re2) +# see src/3rdparty/chromium/third_party/protobuf/CHANGES.txt for the version +Provides: bundled(protobuf) = 3.9.0 +Provides: bundled(qcms) = 4 +Provides: bundled(skia) +# bundled as "smhasher" +Provides: bundled(SMHasher) = 0-147 +Provides: bundled(sqlite) = 3.35.5 +Provides: bundled(usrsctp) +Provides: bundled(webrtc) = 90 + +%ifarch %{ix86} x86_64 +# bundled by ffmpeg and libvpx: +# header (for assembly) only +Provides: bundled(x86inc) +%endif + +# Bundled in src/3rdparty/chromium/base/third_party: +# Check src/3rdparty/chromium/third_party/base/*/README.chromium for version +# numbers, except where specified otherwise. +Provides: bundled(dynamic_annotations) = 4384 +Provides: bundled(superfasthash) = 0 +Provides: bundled(symbolize) +# bundled as "valgrind", headers only +Provides: bundled(valgrind.h) +# bundled as "xdg_mime" +Provides: bundled(xdg-mime) +# bundled as "xdg_user_dirs" +Provides: bundled(xdg-user-dirs) = 0.10 + +# Bundled in src/3rdparty/chromium/net/third_party: +# Check src/3rdparty/chromium/third_party/net/*/README.chromium for version +# numbers, except where specified otherwise. +Provides: bundled(mozilla_security_manager) = 1.9.2 + +# Bundled in src/3rdparty/chromium/url/third_party: +# Check src/3rdparty/chromium/third_party/url/*/README.chromium for version +# numbers, except where specified otherwise. +# bundled as "mozilla", file renamed and modified +Provides: bundled(nsURLParsers) + +# Bundled outside of third_party, apparently not considered as such by Chromium: +Provides: bundled(mojo) +# see src/3rdparty/chromium/v8/include/v8_version.h for the version number +Provides: bundled(v8) = 8.7.220.35 +# bundled by v8 (src/3rdparty/chromium/v8/src/base/ieee754.cc) +# The version number is 5.3, the last version that upstream released, years ago: +# http://www.netlib.org/fdlibm/readme +Provides: bundled(fdlibm) = 5.3 + +%{?_qt5_version:Requires: qt5-qtbase%{?_isa} = %{_qt5_version}} + +%if 0%{?use_system_icu} +# Those versions were built with bundled ICU and want the data file. +Conflicts: qt5-qtwebengine-freeworld < 5.15.2-2 +%endif + +%if 0%{?rhel} == 7 +BuildRequires: devtoolset-7-toolchain +%endif + +%description +%{summary}. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: qt5-qtbase-devel%{?_isa} +Requires: qt5-qtdeclarative-devel%{?_isa} +# not arch'd for now, see if can get away with avoiding multilib'ing -- rex +Requires: %{name}-devtools = %{version}-%{release} +%description devel +%{summary}. + +%package devtools +Summary: WebEngine devtools_resources +Requires: %{name}%{?_isa} = %{version}-%{release} +%description devtools +Support for remote debugging. + +%package examples +Summary: Example files for %{name} + +%description examples +%{summary}. + + +%if 0%{?docs} +%package doc +Summary: API documentation for %{name} +BuildRequires: qt5-qdoc +BuildRequires: qt5-qhelpgenerator +BuildRequires: qt5-qtbase-doc +Requires: qt5-qtbase-doc +BuildRequires: qt5-qtxmlpatterns-doc +Requires: qt5-qtxmlpatterns-doc +BuildRequires: qt5-qtdeclarative-doc +Requires: qt5-qtdeclarative-doc +BuildArch: noarch +%description doc +%{summary}. +%endif + + +%prep +%setup -q -n %{qt_module}-everywhere-src-%{version}%{?prerelease:-%{prerelease}} -a20 + +mv pulse src/3rdparty/chromium/ + +pushd src/3rdparty/chromium +popd + +%if 0%{?epel:1} +# Install python2 from rpms +mkdir python2 +pushd python2 +%ifarch aarch64 +rpm2cpio %{SOURCE101} | cpio -idm +%endif +%ifarch x86_64 +rpm2cpio %{SOURCE102} | cpio -idm +%endif +popd +%endif + +%if 0%{?use_system_libicu} +%patch1 -p1 -b .no-icudtl-dat +%endif +%patch2 -p1 -b .fix-extractcflag +%if !0%{?arm_neon} +%patch3 -p1 -b .no-neon +%endif +%patch4 -p1 -b .SIOCGSTAMP +%patch5 -p1 -b .QT_DEPRECATED_VERSION +%patch6 -p1 -b .angle_nullptr +%patch7 -p1 -b .hunspell_nullptr +#if 0%{?pipewire} +%patch8 -p1 -b .libpipewire-0.3 +#endif + +## upstream patches +%patch24 -p1 -b .aarch64-new-stat +%patch26 -p1 -b .use-python2 +%patch31 -p1 -b .TRUE + +# delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we +# never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS +sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \ + src/3rdparty/chromium/build/toolchain/linux/BUILD.gn + +%if 0%{?use_system_re2} +# 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/src/re2/ +%endif + +%if 0 +#ifarch x86_64 +# enable this to force -g2 on x86_64 (most arches run out of memory with -g2) +# DISABLED BECAUSE OF: +# /usr/lib/rpm/find-debuginfo.sh: line 188: 3619 Segmentation fault +# (core dumped) eu-strip --remove-comment $r $g -f "$1" "$2" +sed -i -e 's/symbol_level=1/symbol_level=2/g' src/core/config/common.pri +%endif + +%if 0%{?docs} +# generate qtwebengine-3rdparty.qdoc, it is missing from the tarball +pushd src/3rdparty +%{__python3} chromium/tools/licenses.py \ + --file-template ../../tools/about_credits.tmpl \ + --entry-template ../../tools/about_credits_entry.tmpl \ + credits >../webengine/doc/src/qtwebengine-3rdparty.qdoc +popd +%endif + +# copy the Chromium license so it is installed with the appropriate name +cp -p src/3rdparty/chromium/LICENSE LICENSE.Chromium + +# consider doing this as part of the tarball creation step instead? rdieter +# fix/workaround +# fatal error: QtWebEngineCore/qtwebenginecoreglobal.h: No such file or directory +if [ ! -f "./include/QtWebEngineCore/qtwebenginecoreglobal.h" ]; then +%_qt5_bindir/syncqt.pl -version %{version} +fi + +# abort if this doesn't get created by syncqt.pl +test -f "./include/QtWebEngineCore/qtwebenginecoreglobal.h" + + +%build +%if 0%{?rhel} == 7 +. /opt/rh/devtoolset-7/enable +%endif + +# python2 path +export PATH=$(pwd)/python2/usr/bin:$PATH +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/python2/usr/lib64 + +export STRIP=strip +export NINJAFLAGS="%{__ninja_common_opts}" +export NINJA_PATH=%{__ninja} + +%{qmake_qt5} \ + %{?debug_config:CONFIG+="%{debug_config}}" \ + CONFIG+="link_pulseaudio use_gold_linker" \ + %{?use_system_libicu:QMAKE_EXTRA_ARGS+="-system-webengine-icu"} \ + QMAKE_EXTRA_ARGS+="-webengine-kerberos" \ + %{?pipewire:QMAKE_EXTRA_ARGS+="-webengine-webrtc-pipewire"} \ + . + +# avoid %%make_build for now, the -O flag buffers output from intermediate build steps done via ninja +make %{?_smp_mflags} + +%if 0%{?docs} +%make_build docs +%endif + +%install +make install INSTALL_ROOT=%{buildroot} + +%if 0%{?docs} +make install_docs INSTALL_ROOT=%{buildroot} +%endif + +# rpm macros +install -p -m644 -D %{SOURCE10} \ + %{buildroot}%{rpm_macros_dir}/macros.qt5-qtwebengine +sed -i \ + -e "s|@@NAME@@|%{name}|g" \ + -e "s|@@EPOCH@@|%{?epoch}%{!?epoch:0}|g" \ + -e "s|@@VERSION@@|%{version}|g" \ + -e "s|@@EVR@@|%{?epoch:%{epoch:}}%{version}-%{release}|g" \ + %{buildroot}%{rpm_macros_dir}/macros.qt5-qtwebengine + +## .prl/.la file love +# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs +pushd %{buildroot}%{_qt5_libdir} +for prl_file in libQt5*.prl ; do + sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file} + if [ -f "$(basename ${prl_file} .prl).so" ]; then + rm -fv "$(basename ${prl_file} .prl).la" + sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file} + fi +done +# explicitly omit, at least until there's a real library installed associated with it -- rex +rm -fv Qt5WebEngineCore.la +popd + +mkdir -p %{buildroot}%{_qtwebengine_dictionaries_dir} + +# adjust cmake dep(s) to allow for using the same Qt5 that was used to build it +# using the lesser of %%version, %%_qt5_version +%global lesser_version $(echo -e "%{version}\\n%{_qt5_version}" | sort -V | head -1) +sed -i -e "s|%{version} \${_Qt5WebEngine|%{lesser_version} \${_Qt5WebEngine|" \ + %{buildroot}%{_qt5_libdir}/cmake/Qt5WebEngine*/Qt5WebEngine*Config.cmake + + +%ldconfig_scriptlets + +%filetriggerin -- %{_datadir}/myspell +while read filename ; do + case "$filename" in + *.dic) + bdicname=%{_qtwebengine_dictionaries_dir}/`basename -s .dic "$filename"`.bdic + %{_qt5_bindir}/qwebengine_convert_dict "$filename" "$bdicname" &> /dev/null || : + ;; + esac +done + +%files +%license LICENSE.* +%if 0%{?docs} +%license src/webengine/doc/src/qtwebengine-3rdparty.qdoc +%endif +%{_qt5_libdir}/libQt5*.so.* +%{_qt5_bindir}/qwebengine_convert_dict +%{_qt5_libdir}/qt5/qml/* +%{_qt5_libdir}/qt5/libexec/QtWebEngineProcess +%{_qt5_plugindir}/designer/libqwebengineview.so +%{_qt5_plugindir}/imageformats/libqpdf.so +%dir %{_qt5_datadir}/resources/ +%if ! 0%{?use_system_libicu} +%{_qt5_datadir}/resources/icudtl.dat +%endif +%{_qt5_datadir}/resources/qtwebengine_resources_100p.pak +%{_qt5_datadir}/resources/qtwebengine_resources_200p.pak +%{_qt5_datadir}/resources/qtwebengine_resources.pak +%dir %{_qtwebengine_dictionaries_dir} +%dir %{_qt5_translationdir}/qtwebengine_locales +%lang(am) %{_qt5_translationdir}/qtwebengine_locales/am.pak +%lang(ar) %{_qt5_translationdir}/qtwebengine_locales/ar.pak +%lang(bg) %{_qt5_translationdir}/qtwebengine_locales/bg.pak +%lang(bn) %{_qt5_translationdir}/qtwebengine_locales/bn.pak +%lang(ca) %{_qt5_translationdir}/qtwebengine_locales/ca.pak +%lang(cs) %{_qt5_translationdir}/qtwebengine_locales/cs.pak +%lang(da) %{_qt5_translationdir}/qtwebengine_locales/da.pak +%lang(de) %{_qt5_translationdir}/qtwebengine_locales/de.pak +%lang(el) %{_qt5_translationdir}/qtwebengine_locales/el.pak +%lang(en) %{_qt5_translationdir}/qtwebengine_locales/en-GB.pak +%lang(en) %{_qt5_translationdir}/qtwebengine_locales/en-US.pak +%lang(es) %{_qt5_translationdir}/qtwebengine_locales/es-419.pak +%lang(es) %{_qt5_translationdir}/qtwebengine_locales/es.pak +%lang(et) %{_qt5_translationdir}/qtwebengine_locales/et.pak +%lang(fa) %{_qt5_translationdir}/qtwebengine_locales/fa.pak +%lang(fi) %{_qt5_translationdir}/qtwebengine_locales/fi.pak +%lang(fil) %{_qt5_translationdir}/qtwebengine_locales/fil.pak +%lang(fr) %{_qt5_translationdir}/qtwebengine_locales/fr.pak +%lang(gu) %{_qt5_translationdir}/qtwebengine_locales/gu.pak +%lang(he) %{_qt5_translationdir}/qtwebengine_locales/he.pak +%lang(hi) %{_qt5_translationdir}/qtwebengine_locales/hi.pak +%lang(hr) %{_qt5_translationdir}/qtwebengine_locales/hr.pak +%lang(hu) %{_qt5_translationdir}/qtwebengine_locales/hu.pak +%lang(id) %{_qt5_translationdir}/qtwebengine_locales/id.pak +%lang(it) %{_qt5_translationdir}/qtwebengine_locales/it.pak +%lang(ja) %{_qt5_translationdir}/qtwebengine_locales/ja.pak +%lang(kn) %{_qt5_translationdir}/qtwebengine_locales/kn.pak +%lang(ko) %{_qt5_translationdir}/qtwebengine_locales/ko.pak +%lang(lt) %{_qt5_translationdir}/qtwebengine_locales/lt.pak +%lang(lv) %{_qt5_translationdir}/qtwebengine_locales/lv.pak +%lang(ml) %{_qt5_translationdir}/qtwebengine_locales/ml.pak +%lang(mr) %{_qt5_translationdir}/qtwebengine_locales/mr.pak +%lang(ms) %{_qt5_translationdir}/qtwebengine_locales/ms.pak +%lang(nb) %{_qt5_translationdir}/qtwebengine_locales/nb.pak +%lang(nl) %{_qt5_translationdir}/qtwebengine_locales/nl.pak +%lang(pl) %{_qt5_translationdir}/qtwebengine_locales/pl.pak +%lang(pt_BR) %{_qt5_translationdir}/qtwebengine_locales/pt-BR.pak +%lang(pt_PT) %{_qt5_translationdir}/qtwebengine_locales/pt-PT.pak +%lang(ro) %{_qt5_translationdir}/qtwebengine_locales/ro.pak +%lang(ru) %{_qt5_translationdir}/qtwebengine_locales/ru.pak +%lang(sk) %{_qt5_translationdir}/qtwebengine_locales/sk.pak +%lang(sl) %{_qt5_translationdir}/qtwebengine_locales/sl.pak +%lang(sr) %{_qt5_translationdir}/qtwebengine_locales/sr.pak +%lang(sv) %{_qt5_translationdir}/qtwebengine_locales/sv.pak +%lang(sw) %{_qt5_translationdir}/qtwebengine_locales/sw.pak +%lang(ta) %{_qt5_translationdir}/qtwebengine_locales/ta.pak +%lang(te) %{_qt5_translationdir}/qtwebengine_locales/te.pak +%lang(th) %{_qt5_translationdir}/qtwebengine_locales/th.pak +%lang(tr) %{_qt5_translationdir}/qtwebengine_locales/tr.pak +%lang(uk) %{_qt5_translationdir}/qtwebengine_locales/uk.pak +%lang(vi) %{_qt5_translationdir}/qtwebengine_locales/vi.pak +%lang(zh_CN) %{_qt5_translationdir}/qtwebengine_locales/zh-CN.pak +%lang(zh_TW) %{_qt5_translationdir}/qtwebengine_locales/zh-TW.pak + +%files devel +%{rpm_macros_dir}/macros.qt5-qtwebengine +%{_qt5_headerdir}/Qt*/ +%{_qt5_libdir}/libQt5*.so +%{_qt5_libdir}/libQt5*.prl +%{_qt5_libdir}/cmake/Qt5*/ +%{_qt5_libdir}/pkgconfig/Qt5*.pc +%{_qt5_archdatadir}/mkspecs/modules/*.pri + +%files devtools +%{_qt5_datadir}/resources/qtwebengine_devtools_resources.pak + +%files examples +%{_qt5_examplesdir}/ + +%if 0%{?docs} +%files doc +%{_qt5_docdir}/* +%endif + + +%changelog +* Mon Jul 24 2023 Arkady L. Shane - 5.15.8-5 +- Rebuilt for MSVSphere 9.2 + +* Wed Mar 09 2022 Jan Grulich - 5.15.8-5 +- Rebuild (qt5) + +* Thu Feb 17 2022 Rex Dieter - 5.15.8-4 +- Screen sharing support under Wayland (#2054690) + +* Tue Feb 01 2022 Troy Dawson - 5.15.8-3.1 +- Specifically for epel9 only, until things switch to python3 +- Bundle python2 for building only +- Bundled re2 +- No docs + +* Thu Jan 27 2022 Tom Callaway - 5.15.8-3 +- rebuild for libvpx + +* Sun Jan 23 2022 Kevin Kofler - 5.15.8-2 +- Update Provides: bundled(*) version numbers, remove ones dropped upstream +- Restore Provides: bundled(protobuf), unbundling support dropped years ago +- Remove no longer used BuildRequires: yasm and pkgconfig(protobuf) + +* Tue Jan 11 2022 Rex Dieter - 5.15.8-1 +- 5.15.8 +- %%undefine _package_note_file (#2043178) + +* Sat Jan 08 2022 Miro Hrončok - 5.15.6-3 +- Rebuilt for libre2.so.9 + +* Mon Sep 20 2021 Rex Dieter - 5.15.6-2 +- patch use of deprecated harfbuzz apis + +* Fri Sep 03 2021 Rex Dieter - 5.15.6-1 +- 5.15.6 + +* Thu Aug 12 2021 Troy Dawson - 5.15.5-3 +- Fix use-python2.patch + +* Fri Jul 23 2021 Fedora Release Engineering - 5.15.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jun 23 2021 Rex Dieter - 5.15.5-1 +- 5.15.5 + +* Wed Jun 16 2021 Rex Dieter - 5.15.2-12 +- workaround SIGSTKSZ FTBFS (#1945595) +- workaround 'TRUE'/'FALSE' was not declared in this scope + +* Thu May 20 2021 Pete Walter - 5.15.2-11 +- Rebuild for ICU 69 + +* Mon May 10 2021 Jonathan Wakely - 5.15.2-10 +- Rebuilt for removed libstdc++ symbols (#1937698) + +* Tue Mar 30 2021 Jonathan Wakely - 5.15.2-9 +- Rebuilt for removed libstdc++ symbol (#1937698) + +* Tue Jan 26 2021 Kevin Kofler - 5.15.2-8 +- Add versioned Conflicts with -freeworld built against bundled ICU (#1920379) + +* Sat Jan 23 2021 Kevin Kofler - 5.15.2-7 +- Fix sandbox issue on 32-bit architectures with glibc >= 2.31 (from Debian) + +* Sat Jan 23 2021 Kevin Kofler - 5.15.2-6 +- Reenable system ICU on F33+, ICU 67 supported since 5.15.1 according to Debian + +* Wed Jan 20 2021 Kevin Kofler - 5.15.2-5 +- Fix sandbox issue breaking text rendering with glibc 2.33 (#1904652) + +* Wed Dec 30 2020 Mattia Verga - 5.15.2-4 +- Rebuild for gcc bugfix upgrade + +* Fri Dec 04 2020 Jeff Law - 5.15.2-3 +- Fix another missing #include for gcc-11 + +* Tue Nov 24 07:55:13 CET 2020 Jan Grulich - 5.15.2-2 +- Rebuild for qtbase with -no-reduce-relocations option + +* Fri Nov 20 09:12:35 CET 2020 Jan Grulich - 5.15.2-1 +- 5.15.2 + +* Wed Nov 04 2020 Jeff Law - 5.15.1-3 +- Fix missing #includes for gcc-11 + +* Wed Sep 23 12:52:56 CEST 2020 Jan Grulich - 5.15.1-2 +- Rebuild (libevent) + +* Fri Sep 11 2020 Jan Grulich - 5.15.1-1 +- 5.15.1 + +* Fri Sep 04 2020 Than Ngo - 5.15.0-4 +- Fix FTBFS + +* Sat Aug 01 2020 Fedora Release Engineering - 5.15.0-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 5.15.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jun 10 2020 Rex Dieter - 5.15.0-1 +- 5.15.0 +- f33's icu-67.x currently not compatible, use bundled icu + +* Sat Apr 04 2020 Rex Dieter - 5.14.2-2 +- rebuild (qt5) + +* Wed Apr 01 2020 Rex Dieter - 5.14.2-1 +- 5.14.2 + +* Wed Mar 25 2020 Rex Dieter - 5.14.1-1 +- 5.14.1 +- use_system_icu on f32+ +- drop upstreamed patches + +* Wed Mar 25 2020 Ankur Sinha - 5.13.2-4 +- Add patch to allow clock_nanosleep in Linux sandbox (Chromium) + +* Fri Feb 21 2020 Troy Dawson - 5.13.2-3 +- Patch 3rd party chromium, fix FTBFS (#1799084) + +* Wed Jan 08 2020 Than Ngo - 5.13.2-2 +- merged Pull-Request, keep ppc files in ffmpeg + +* Mon Dec 09 2019 Jan Grulich - 5.13.2-1 +- 5.13.2 + +* Mon Dec 02 2019 Rex Dieter - 5.12.6-1 +- 5.12.6 + +* Wed Oct 02 2019 Rex Dieter - 5.12.5-2 +- explicitly omit QtWebEngineCore.la from packaging + +* Thu Sep 26 2019 Rex Dieter - 5.12.5-1 +- 5.12.5 + +* Tue Sep 24 2019 Jan Grulich - 5.12.4-10 +- rebuild (qt5) + +* Wed Aug 14 2019 Rex Dieter - 5.12.4-9 +- rebuild (re2) + +* Mon Aug 12 2019 Rex Dieter - 5.12.4-8 +- CONFIG+=link_pulseaudio + +* Wed Aug 07 2019 Rex Dieter - 5.12.4-7 +- rebuild (re2, #1672014#c10) +- build using bundled pulse headers, workaround FTBFS bug #1729806 + +* Fri Jul 26 2019 Fedora Release Engineering - 5.12.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jun 26 2019 Rex Dieter - 5.12.4-5 +- pull in some upstream fixes + +* Tue Jun 25 2019 Rex Dieter - 5.12.4-4 +- rebuild (qt5) + +* Tue Jun 18 2019 Rex Dieter - 5.12.4-3 +- fix-extractcflag.patch rebased + +* Mon Jun 17 2019 Rex Dieter - 5.12.4-2 +- rebuild (qt5) + +* Mon Jun 17 2019 Rex Dieter - 5.12.4-1 +- 5.12.4 + +* Tue Jun 11 2019 Jan Grulich - 5.12.3-4 +- rebuild (qt5) + +* Tue Jun 04 2019 Jan Grulich - 5.12.3-3 +- rebuild (qt5) + +* Sun May 12 2019 Rex Dieter - 5.12.3-2 +- rebuild (icu) + +* Thu Apr 18 2019 Rex Dieter - 5.12.3-1 +- 5.12.3 + +* Mon Mar 25 2019 Rex Dieter - 5.12.2-2 +- revert bundled libxml2/libxslt + +* Mon Mar 25 2019 Rex Dieter - 5.12.2-1 +- 5.12.2 +- use system libxml2/libxslt + +* Sun Feb 24 2019 Rex Dieter - 5.12.1-1 +- 5.12.1 +- enable kerberos support + +* Tue Feb 05 2019 Björn Esser - 5.11.3-5 +- rebuilt (libvpx) + +* Sat Feb 02 2019 Fedora Release Engineering - 5.11.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 03 2019 Rex Dieter - 5.11.3-3 +- -devtools subpkg, workaround multilib conflicts (#1663299) + +* Tue Dec 11 2018 Rex Dieter - 5.11.3-2 +- rebuild (Qt5) + +* Tue Dec 04 2018 Rex Dieter - 5.11.3-1 +- 5.11.3 + +* Wed Sep 26 2018 Rex Dieter - 5.11.2-2 +- avoid using %%make_build for now + +* Mon Sep 24 2018 Rex Dieter - 5.11.2-1 +- 5.11.2 + +* Mon Sep 24 2018 Rex Dieter - 5.11.1-8 +- use bundled minizip on f30+ (#1632196) + +* Fri Sep 21 2018 Jan Grulich - 5.11.1-7 +- rebuild (qt5) + +* Tue Sep 18 2018 Rex Dieter - 5.11.1-6 +- cleaner (imo) minizip deps, workaround rhbz#1630448 + +* Tue Aug 28 2018 Patrik Novotný - 5.11.1-5 +- change requires to minizip-compat(-devel), rhbz#1609830, rhbz#1615381 + +* Sun Jul 15 2018 Rex Dieter - 5.11.1-4 +- BR: /usr/bin/python + +* Sat Jul 14 2018 Fedora Release Engineering - 5.11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jul 10 2018 Pete Walter - 5.11.1-2 +- Rebuild for ICU 62 + +* Fri Jun 22 2018 Rex Dieter - 5.11.1-1 +- 5.11.1 + +* Wed Jun 20 2018 Rex Dieter - 5.11.0-2 +- rebuild (qt5) + +* Thu Jun 14 2018 Rex Dieter - 5.11.0-1 +- 5.11.0 +- drop shadow build (to match other qt5 packages where it has been problematic) +- drop upstreamed patches +- rebase no-icudtl-dat.patch +- pull in upstream gcc8 FTBFS fix +- update clean_ffmpeg whitelist +- patches needswork: system-nspr-prtime,system-icu-utf,no-sse2,skia-neon,icu59 +- minimal debug/debuginfo (for now) +- use macros %%make_build %%ldconfig_scriptlets %%__ninja %%__ninja_common_opts + +* Sun May 27 2018 Rex Dieter - 5.10.1-7 +- rebuild (qt5 5.11.0) +- Add patch by spot from the Fedora Chromium RPM for FTBFS with GCC 8 on i686 +- include 0027-Fix-compilation-of-simplebrowser-example.patch (5.11 branch) + +* Mon Apr 30 2018 Pete Walter - 5.10.1-6 +- Rebuild for ICU 61.1 + +* Sun Mar 18 2018 Iryna Shcherbina - 5.10.1-5 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Sun Mar 18 2018 Kevin Kofler - 5.10.1-4 +- Fix (from 5.9.5) for incomplete, ineffective fix for CVE-2018-6033 in 5.10.1 + +* Sat Mar 17 2018 Kevin Kofler - 5.10.1-3 +- Forward-port security backports from 5.9.5 LTS (up to Chromium 65.0.3325.146) + +* Fri Feb 23 2018 Kevin Kofler - 5.10.1-2 +- Drop -fabi-version=11 workaround, gcc-8.0.1-0.16.fc28 should fix this + +* Sun Feb 18 2018 Kevin Kofler - 5.10.1-1 +- Update to 5.10.1 +- Rediff (unfuzz) no-sse2 patch + +* Fri Feb 16 2018 Rex Dieter - 5.10.0-6 +- workaround FTBFS, build with -fabi-version=11 (#1545918) + +* Sat Feb 10 2018 Kevin Kofler - 5.10.0-5 +- Reenable system libvpx on F28+, Rawhide (future F28) has libvpx 1.7.0 now + +* Fri Feb 09 2018 Fedora Release Engineering - 5.10.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Jan 26 2018 Tom Callaway - 5.10.0-3 +- rebuild for new libvpx + +* Sat Dec 30 2017 Rex Dieter - 5.10.0-2 +- rebuild (qt-5.10.0) + +* Thu Dec 28 2017 Kevin Kofler - 5.10.0-1 +- Update to 5.10.0 +- Update version numbers of bundled stuff +- Drop support for Fedora < 26 (in particular, WEBENGINE_CONFIG F25 workarounds) +- Drop qt57 patch, support for Qt 5.7 was completely dropped upstream +- Update get_free_ffmpeg_source_files.py from Fedora Chromium packaging +- Update clean_ffmpeg.sh whitelist (sync from Fedora Chromium packaging) +- clean_qtwebengine.sh: Update for the changed tarball naming scheme +- Use QMAKE_EXTRA_ARGS instead of the removed WEBENGINE_CONFIG +- Rebase linux-pri, system-nspr-prtime, system-icu-utf, no-sse2, skia-neon and + gn-bootstrap-verbose patches +- In particular, restore the removed V8 x87 backend in the no-sse2 patch +- Re-backport no-aspirational-scripts from upstream (undo 5.9 backport) +- Disable system libvpx support for now, requires unreleased libvpx (1.6.2+) +- Add new BuildRequires: flex (required) and pkgconfig(lcms2) (unbundled) +- Forward-port missing parts of 5.9 ICU>=59 build fix (QTBUG-60886, QTBUG-65090) +- Reduce debugging info on ARM also on F27+ (as on F26- since 5.9.0) + +* Tue Dec 19 2017 Rex Dieter - 5.9.3-5 +- properly escape newline in lesser_version hack + +* Thu Dec 14 2017 Rex Dieter - 5.9.3-4 +- adjust Qt5WebEngineCoreConfig.cmake unconditionally + +* Sat Dec 02 2017 Kevin Kofler - 5.9.3-3 +- Drop support for Unicode "aspirational scripts", fixes #error with ICU >= 60 + +* Thu Nov 30 2017 Pete Walter - 5.9.3-2 +- Rebuild for ICU 60.1 + +* Sun Nov 26 2017 Kevin Kofler - 5.9.3-1 +- Update to 5.9.3 +- Enable docs on F27 + +* Sun Nov 26 2017 Rex Dieter - 5.9.2-3 +- rebuild (qt5) + +* Sat Oct 14 2017 Kevin Kofler - 5.9.2-2 +- linux-pri patch: Do not call the Chromium unbundling script on re2, + QtWebEngine now auto-detects and uses the system re2 out of the box +- Drop system-re2 patch (patching the no longer used unbundle/re2.gn), the + QtWebEngine re2/BUILD.gn is already correct +- Explicitly force use_system_re2, the autodetection does not work on F25 +- Fix FTBFS with Qt 5.7 + +* Tue Oct 10 2017 Rex Dieter - 5.9.2-1 +- Update to 5.9.2 +- Add BuildRequires: qt5-qtquickcontrols2-devel for the examples +- Rebase linux-pri patch +- Drop qt57 and qtbug-61521 patches, fixed upstream +- arm-fpu-fix patch: Drop the host tools hunk added in 5.9.0-2, fixed upstream + +* Mon Oct 09 2017 Rex Dieter - 5.9.1-5 +- rebuild (qt5) + +* Thu Aug 03 2017 Fedora Release Engineering - 5.9.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 5.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Jul 19 2017 Rex Dieter - 5.9.1-2 +- rebuild (qt5) + +* Sat Jul 01 2017 Kevin Kofler - 5.9.1-1 +- Update to 5.9.1 +- Rebase qtbug-61521 patch (drop the parts that are already in 5.9.1) +- Drop backported GN aarch64 patches already included in 5.9.1 +- no-sse2 patch: Upstream added 2 examples, add -Wl,-rpath-link to them too + +* Mon Jun 26 2017 Kevin Kofler - 5.9.0-4 +- Add a hunk to the QTBUG-61521 fix according to the upstream review + +* Sun Jun 25 2017 Kevin Kofler - 5.9.0-3 +- Fix broken binary compatibility for C memory management functions (incomplete + upstream fix for QTBUG-60565) (QTBUG-61521) + +* Tue Jun 13 2017 Kevin Kofler - 5.9.0-2 +- arm-fpu-fix patch: Also build the host tools (i.e., GN) with the correct FPU + +* Mon Jun 12 2017 Kevin Kofler - 5.9.0-1 +- Update to 5.9.0 +- Update version numbers of bundled stuff +- Use bundled libsrtp and protobuf, Chromium dropped unbundling support for them +- Use bundled libxml2 and libxslt, QtWebEngine 5.9 requires a libxml2 built with + ICU due to https://bugreports.qt.io/browse/QTBUG-59094, Fedora libxml2 is not +- Add missing Provides: bundled(hunspell) for the spellchecking added in 5.8 +- Rebase linux-pri, no-neon, system-icu-utf, no-sse2, arm-fpu-fix, + openmax-dl-neon and webrtc-neon-detect patches (port to GN) +- Sync system-nspr-prtime patch with Debian (they ported it to GN) +- Rebase fix-extractcflag patch +- Restore NEON runtime detection in Skia, drop old skia-neon patch (rewritten) +- Drop webrtc-neon, v8-gcc7, pdfium-gcc7, wtf-gcc7, fix-open-in-new-tab and + fix-dead-keys patches, fixed upstream +- Update system libvpx/libwebp version requirements (libvpx now F25+ only) +- Drop the flag hacks (-g1 -fno-delete-null-pointer-checks), fixed upstream +- Force verbose output from the GN bootstrap process +- Backport upstream patch to fix GN FTBFS on aarch64 (QTBUG-61128) +- Backport patch to fix FTBFS with GCC on aarch64 from upstream Chromium +- Fix src/3rdparty/chromium/build/linux/unbundle/re2.gn +- Delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn +- Reduce debugging info on ARM on F26- + +* Sat May 13 2017 Rex Dieter - 5.8.0-14 +- fix rpm macros + +* Thu May 11 2017 Rex Dieter - 5.8.0-13 +- apply Qt5WebEngineCoreConfig.cmake hack only on < f27 + +* Wed May 10 2017 Rex Dieter - 5.8.0-12 +- rebuild (Qt-5.9), disable docs for f27+ + +* Fri Apr 28 2017 Kevin Kofler - 5.8.0-11 +- Backport upstream fix for non-functional dead keys in text fields + +* Tue Apr 25 2017 Kevin Kofler - 5.8.0-10 +- Backport upstream fix for blank pages when a link opens in a new tab + +* Mon Apr 17 2017 Rex Dieter - 5.8.0-9 +- +macros.qt5-qtwebengine + +* Mon Apr 10 2017 Rex Dieter - 5.8.0-8 +- Qt5WebEngineCoreConfig.cmake: fix when using Qt < %%version (#1438877) + +* Tue Apr 04 2017 Kevin Kofler - 5.8.0-7 +- File trigger: silence qwebengine_convert_dict output and ignore its exit code + +* Mon Apr 03 2017 Rex Dieter - 5.8.0-6 +- build docs on all archs + +* Fri Mar 31 2017 Kevin Kofler - 5.8.0-5 +- Enable use_spellchecker explicitly so that it is also enabled on Qt 5.7 +- Use file triggers to automatically convert system hunspell dictionaries + +* Fri Mar 31 2017 Kevin Kofler - 5.8.0-4 +- Fix no-sse2 patch FTBFS (on i686) + +* Thu Mar 30 2017 Rex Dieter - 5.8.0-3 +- make buildable against qt5 < 5.8 too + +* Tue Mar 07 2017 Kevin Kofler - 5.8.0-2 +- Fix FTBFS in the WTF part of Blink/WebKit with GCC 7 + +* Mon Mar 06 2017 Kevin Kofler - 5.8.0-1 +- Update to 5.8.0 +- Update version numbers of bundled stuff +- Rebase (unfuzz) system-nspr-prtime and system-icu-utf patches +- Drop system-icu54 patch, ICU 5.4 no longer supported +- Rebase the webrtc-neon-detect patch (backported portions no longer needed) +- Rebase the no-sse2 patch +- Update clean_ffmpeg.sh: autorename* files now #include the unrenamed ones +- Update -docs BuildRequires and Requires (Helio Castro) +- Fix FTBFS in V8 with GCC 7 (by Ben Noordhuis, backported from Chromium RPM) +- Fix FTBFS in PDFium with GCC 7: backport upstream cleanup removing that code +- Generate qtwebengine-3rdparty.qdoc, it is missing from the tarball +- Work around missing qt5_qtwebengine_arches macro on F24 +- Upstream added a qwebengine_convert_dict executable, package it + +* Sat Feb 11 2017 Fedora Release Engineering - 5.7.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 01 2017 Sandro Mani - 5.7.1-7 +- Rebuild (libwebp) + +* Thu Jan 26 2017 Orion Poplawski - 5.7.1-6 +- Rebuild for protobuf 3.2.0 + +* Mon Jan 02 2017 Rex Dieter - 5.7.1-5 +- filter (designer) plugin provides + +* Thu Dec 08 2016 Kevin Kofler - 5.7.1-4 +- Respun tarball (now really includes the page margin fix) +- Change qt5-qtbase dependency from >= to = + +* Sun Dec 04 2016 Kevin Kofler - 5.7.1-3 +- Ship the license files + +* Sun Dec 04 2016 Kevin Kofler - 5.7.1-2 +- clean_qtwebengine.sh: Rip out openh264 sources +- Rebase no-neon patch, add new arm-fpu-fix patch where no-neon not wanted +- Try enabling arm_neon unconditionally, #1282495 should be fixed even in F23 +- Remove Android dependencies from openmax_dl ARM NEON detection (detect.c) +- Set CFLAGS, unset both CFLAGS and CXXFLAGS between qmake and make +- chromium-skia: build SkUtilsArm.cpp also on non-Android ARM +- webrtc: backport CPU feature detection for ARM Linux, enable it for Chromium + +* Thu Nov 10 2016 Helio Chissini de Castro - 5.7.1-1 +- New upstream version + +* Wed Sep 14 2016 Rex Dieter - 5.7.0-8 +- ExclusiveArch: %%{qt5_qtwebengine_arches} (defined by qt5-srpm-macros) + +* Fri Sep 09 2016 Kevin Kofler - 5.7.0-7 +- apply the correct page margins from the QPageLayout to Chromium printing + +* Sat Aug 13 2016 Kevin Kofler - 5.7.0-6 +- Fix crash when building against glibc 2.24 (#1364781) (upstream patch) + +* Sun Jul 31 2016 Rex Dieter - 5.7.0-5 +- BR: cmake (for cmake autoprovides support mostly) + +* Tue Jul 26 2016 Kevin Kofler - 5.7.0-4 +- Restore system-icu54 patch, the fix was lost upstream + +* Sat Jul 23 2016 Christian Dersch - 5.7.0-3 +- Rebuilt for libvpx.so.4 soname bump + +* Wed Jul 20 2016 Kevin Kofler - 5.7.0-2 +- clean_ffmpeg.sh: Whitelist libavutil/aarch64/timer.h (#1358428) + +* Mon Jul 18 2016 Kevin Kofler - 5.7.0-1 +- Update to 5.7.0 +- 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) + +* Tue Jun 14 2016 Rex Dieter - 5.6.1-3 +- rebuild (glibc) + +* Sun Jun 12 2016 Rex Dieter - 5.6.1-2 +- add versioned qt5-qtbase runtime dep + +* Sat Jun 11 2016 Kevin Kofler - 5.6.1-1 +- Update to 5.6.1 +- Rebase linux-pri patch (drop the parts already fixed upstream) +- Drop backported chimera-nss-init patch, already applied upstream +- Rebase no-sse2 patch (the core_module.pro change) +- Add the new designer/libqwebengineview.so plugin to the file list + +* Mon Jun 06 2016 Rex Dieter - 5.6.0-8 +- workaround stackmashing runtime errors in re2-related bundled headers (#1337585) + +* Sat May 21 2016 Rex Dieter - 5.6.0-7 +- rebuild (pciutuils) + +* Wed May 18 2016 Rex Dieter 5.6.0-6 +- BR: git-core + +* Fri Apr 15 2016 David Tardon - 5.6.0-5 +- rebuild for ICU 57.1 + +* Fri Apr 08 2016 Than Ngo - 5.6.0-4 +- drop ppc ppc64 ppc64le from ExclusiveArch, it's not supported yet + +* Thu Mar 24 2016 Kevin Kofler - 5.6.0-3 +- Build with CONFIG+="webcore_debug v8base_debug force_debug_info" +- Force -fno-delete-null-pointer-checks through CXXFLAGS, Qt flags not used here +- Use -g1 instead of -g on non-x86_64 to avoid memory exhaustion +- Work around debugedit failure by removing "./" from #line commands and + changing "//" to "/" in an #include command + +* Fri Mar 18 2016 Kevin Kofler - 5.6.0-2 +- Avoid checking for the nonexistent icudtl.dat and silence the warnings + +* Thu Mar 17 2016 Kevin Kofler - 5.6.0-1 +- Update to 5.6.0 (final) +- Drop system-icu54 patch, fixed upstream + +* Thu Feb 25 2016 Kevin Kofler - 5.6.0-0.19.rc +- Update to 5.6.0 RC +- Rebase linux-pri and no-sse2 patches +- Remove BuildRequires pkgconfig(flac), pkgconfig(speex), no longer needed +- Update file list for 5.6.0 RC (resources now in resources/ subdirectory) +- Tag translations with correct %%lang tags + +* Wed Feb 24 2016 Kevin Kofler - 5.6.0-0.18.beta +- no-sse2 patch: Fix FFT (RealFourier) in webrtc on non-SSE2 x86 + +* Tue Feb 23 2016 Kevin Kofler - 5.6.0-0.17.beta +- Fix FTBFS on aarch64: Respin tarball with fixed clean_ffmpeg.sh (#1310753). + +* Thu Feb 04 2016 Fedora Release Engineering - 5.6.0-0.16.beta +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 19 2016 Kevin Kofler - 5.6.0-0.15.beta +- Build V8 as a shared library on i686 to allow for swappable backends +- Build both the x87 version and the SSE2 version of V8 on i686 +- Add the private library directory to the file list on i686 +- Add Provides/Requires filtering for libv8.so (i686) and for plugins + +* Sun Jan 17 2016 Kevin Kofler - 5.6.0-0.14.beta +- Do not require SSE2 on i686 + +* Thu Jan 14 2016 Kevin Kofler - 5.6.0-0.13.beta +- Drop nss321 backport (and the related nss-headers patch), it did not help +- Do an NSS/BoringSSL "chimera build" as will be the default in Chromium 47 +- Update License accordingly (add "OpenSSL") +- Fix the "chimera build" to call EnsureNSSHttpIOInit (backport from Chromium) + +* Wed Jan 13 2016 Kevin Kofler - 5.6.0-0.12.beta +- Update forked NSS SSL code to 3.21, match system NSS (backport from Chromium) + +* Wed Jan 13 2016 Kevin Kofler - 5.6.0-0.11.beta +- Add an (optimistic) ExclusiveArch list because of V8 (tracking bug: #1298011) + +* Tue Jan 12 2016 Kevin Kofler - 5.6.0-0.10.beta +- Unbundle prtime.cc, use the system NSPR instead (which is already required) +- Unbundle icu_utf.cc, use the system ICU instead (which is already required) + +* Mon Jan 11 2016 Kevin Kofler - 5.6.0-0.9.beta +- linux-pri.patch: Set icu_use_data_file_flag=0 for system ICU + +* Mon Jan 11 2016 Kevin Kofler - 5.6.0-0.8.beta +- Build against the system libvpx also on F23 (1.4.0), worked in Copr + +* Mon Jan 11 2016 Kevin Kofler - 5.6.0-0.7.beta +- Use the system libvpx on F24+ (1.5.0) +- Fixes to Provides: bundled(*): libwebp if bundled, x86inc only on x86 + +* Sun Jan 10 2016 Kevin Kofler - 5.6.0-0.6.beta +- Fix extractCFlag to also look in QMAKE_CFLAGS_RELEASE (needed for ARM) +- Fix FTBFS on ARM: Disable NEON due to #1282495 (GCC bug) + +* Sat Jan 09 2016 Kevin Kofler - 5.6.0-0.5.beta +- Fix FTBFS on ARM: linux-pri patch: Set use_system_yasm only on x86_64 and i386 +- Fix FTBFS on ARM: Respin tarball with: clean_ffmpeg.sh: Add missing ARM files + +* Sat Jan 09 2016 Kevin Kofler - 5.6.0-0.4.beta.1 +- Use more specific BuildRequires for docs (thanks to rdieter) +- Fix FTBFS against ICU 54 (F22/F23), thanks to spot for the Chromium fix + +* Fri Jan 08 2016 Kevin Kofler - 5.6.0-0.4.beta +- Fix License tag +- Use %%_qt5_examplesdir macro +- Add Provides: bundled(*) for all the bundled libraries that I found + +* Wed Jan 06 2016 Kevin Kofler - 5.6.0-0.3.beta +- linux-pri patch: Add use_system_protobuf, went missing in the 5.6 rebase + +* Wed Jan 06 2016 Kevin Kofler - 5.6.0-0.2.beta +- linux-pri patch: Add missing newline at the end of the log line +- Use export for NINJA_PATH (fixes system ninja-build use) + +* Wed Jan 06 2016 Kevin Kofler - 5.6.0-0.1.beta +- Readd BR pkgconfig(jsoncpp) because linux.pri now checks for it +- BR yasm only on x86 (i686, x86_64) +- Add dot at the end of %%description +- Rebase no-format patch +- Replace unbundle-gyp.patch with new linux-pri.patch +- Use system ninja-build instead of the bundled one +- Run the unbundling script replace_gyp_files.py in linux.pri rather than here +- Update file list for 5.6.0-beta (no more libffmpegsumo since Chromium 45) + +* Tue Jan 05 2016 Kevin Kofler - 5.5.1-4 +- Remove unused BRs flex, libgcrypt-devel, bzip2-devel, pkgconfig(gio-2.0), + pkgconfig(hunspell), pkgconfig(libpcre), pkgconfig(libssl), + pkgconfig(libcrypto), pkgconfig(jsoncpp), pkgconfig(libmtp), + pkgconfig(libexif), pkgconfig(liblzma), pkgconfig(cairo), pkgconfig(libusb), + perl(version), perl(Digest::MD5), perl(Text::ParseWords), ruby +- Add missing explicit BRs on pkgconfig(x11), pkgconfig(xext), + pkgconfig(xfixes), pkgconfig(xdamage), pkgconfig(egl) +- Fix BR pkgconfig(flac++) to pkgconfig(flac) (libFLAC++ not used, only libFLAC) +- Fix BR python-devel to python +- Remove unused -Duse_system_openssl=1 flag (QtWebEngine uses NSS instead) +- Remove unused -Duse_system_jsoncpp=1 and -Duse_system_libusb=1 flags + +* Mon Jan 04 2016 Kevin Kofler - 5.5.1-3 +- Update file list for 5.5.1 (add qtwebengine_resources_[12]00p.pak) + +* Mon Jan 04 2016 Kevin Kofler - 5.5.1-2 +- Add missing explicit BRs on pkgconfig(expat) and pkgconfig(libxml-2.0) +- Remove unused BR v8-devel (cannot currently be unbundled) + +* Thu Dec 24 2015 Kevin Kofler - 5.5.1-1 +- Update to 5.5.1 +- Remove patent-encumbered codecs in the bundled FFmpeg from the tarball + +* Fri Jul 17 2015 Helio Chissini de Castro - 5.5.0-2 +- Update with unbundle flags. Adapted from original 5.4 Suse package +- Disable vpx and sqlite as unbundle due some compilation issues +- Enable verbose build + +* Fri Jul 17 2015 Helio Chissini de Castro - 5.5.0-1 +- Initial spec + +* Thu Jun 25 2015 Helio Chissini de Castro - 5.5.0-0.2.rc +- Update for official RC1 released packages