diff --git a/SOURCES/0001-CMake-Split-static-library-exports-into-their-own-ex.patch b/SOURCES/0001-CMake-Split-static-library-exports-into-their-own-ex.patch new file mode 100644 index 0000000..903821e --- /dev/null +++ b/SOURCES/0001-CMake-Split-static-library-exports-into-their-own-ex.patch @@ -0,0 +1,86 @@ +From f9e66a883e1fb748e6ac826fde188efaae249361 Mon Sep 17 00:00:00 2001 +From: Tom Stellard +Date: Sat, 29 Apr 2017 02:03:23 +0000 +Subject: [PATCH] CMake: Split static library exports into their own export + file + +Summary: +This is to better support distros which split the static libraries into +their own package. + +The current problem is that any project the includes LLVMConfig.cmake +will fail to configure unless the static libraries are installed. This +is because LLVMConfig.cmake includes LLVMExports.cmake, which throws an +error if it can't find files linked to one of the exported targets. + +This patch resolves the problem by putting the static library targets +into their own export file, LLVMStaticExports.cmake. This file +is optionally included by LLVMConfig.cmake, so distros can put this +new file in their static library package to make LLVMConfig.cmake +no longer depend on these libraries when they are not installed. + +Reviewers: beanz, mgorny, chapuni + +Subscribers: llvm-commits + +Differential Revision: https://reviews.llvm.org/D32668 +--- + cmake/modules/AddLLVM.cmake | 6 +++++- + cmake/modules/CMakeLists.txt | 3 +++ + cmake/modules/LLVMConfig.cmake.in | 2 ++ + 3 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index fd5627e..78f106f 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -635,7 +635,11 @@ macro(add_llvm_library name) + + if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR + NOT LLVM_DISTRIBUTION_COMPONENTS) +- set(export_to_llvmexports EXPORT LLVMExports) ++ if (ARG_SHARED) ++ set(export_to_llvmexports EXPORT LLVMExports) ++ else() ++ set(export_to_llvmexports EXPORT LLVMStaticExports) ++ endif() + set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True) + endif() + +diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt +index 6074e83..e9fcb11 100644 +--- a/cmake/modules/CMakeLists.txt ++++ b/cmake/modules/CMakeLists.txt +@@ -91,6 +91,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}") + set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin") + set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake") + set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}") ++set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake") + configure_file( + LLVMConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake +@@ -107,6 +108,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + if(llvm_has_exports) + install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} + COMPONENT cmake-exports) ++ install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} ++ COMPONENT cmake-exports) + endif() + + install(FILES +diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in +index 0772016..f471625 100644 +--- a/cmake/modules/LLVMConfig.cmake.in ++++ b/cmake/modules/LLVMConfig.cmake.in +@@ -78,6 +78,8 @@ if(NOT TARGET LLVMSupport) + set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@") + include("@LLVM_CONFIG_EXPORTS_FILE@") + @llvm_config_include_buildtree_only_exports@ ++ ++ include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL) + endif() + + # By creating intrinsics_gen here, subprojects that depend on LLVM's +-- +1.8.3.1 + diff --git a/SOURCES/0001-CMake-Split-test-binary-exports-into-their-own-expor.patch b/SOURCES/0001-CMake-Split-test-binary-exports-into-their-own-expor.patch new file mode 100644 index 0000000..a3801ff --- /dev/null +++ b/SOURCES/0001-CMake-Split-test-binary-exports-into-their-own-expor.patch @@ -0,0 +1,65 @@ +From 9d496e978f59e153bb76e92229d5a524d92dee04 Mon Sep 17 00:00:00 2001 +From: Tom Stellard +Date: Tue, 10 Sep 2019 13:33:48 -0700 +Subject: [PATCH] CMake: Split test binary exports into their own export file + +--- + llvm/cmake/modules/AddLLVM.cmake | 7 ++++++- + llvm/cmake/modules/CMakeLists.txt | 3 +++ + llvm/cmake/modules/LLVMConfig.cmake.in | 1 + + 3 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake +index 200fc45..9eec7a7 100644 +--- a/llvm/cmake/modules/AddLLVM.cmake ++++ b/llvm/cmake/modules/AddLLVM.cmake +@@ -953,7 +953,12 @@ macro(add_llvm_utility name) + set(export_to_llvmexports) + if (${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR + NOT LLVM_DISTRIBUTION_COMPONENTS) +- set(export_to_llvmexports EXPORT LLVMExports) ++ if (${name} STREQUAL "not" OR ${name} STREQUAL "count" OR ++ ${name} STREQUAL "yaml-bench" OR ${name} STREQUAL "lli-child-target") ++ set(export_to_llvmexports EXPORT LLVMTestExports) ++ else() ++ set(export_to_llvmexports EXPORT LLVMExports) ++ endif() + set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True) + endif() + +diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt +index dc982d2..c861f45 100644 +--- a/llvm/cmake/modules/CMakeLists.txt ++++ b/llvm/cmake/modules/CMakeLists.txt +@@ -106,6 +106,7 @@ set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin") + set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake") + set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}") + set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake") ++set(LLVM_CONFIG_TEST_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMTestExports.cmake") + configure_file( + LLVMConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake +@@ -124,6 +125,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + COMPONENT cmake-exports) + install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} + COMPONENT cmake-exports) ++ install(EXPORT LLVMTestExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} ++ COMPONENT cmake-exports) + endif() + + install(FILES +diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in +index 6ef54a0..d81b09a 100644 +--- a/llvm/cmake/modules/LLVMConfig.cmake.in ++++ b/llvm/cmake/modules/LLVMConfig.cmake.in +@@ -91,6 +91,7 @@ if(NOT TARGET LLVMSupport) + @llvm_config_include_buildtree_only_exports@ + + include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL) ++ include("@LLVM_CONFIG_TEST_EXPORTS_FILE@" OPTIONAL) + endif() + + # By creating intrinsics_gen here, subprojects that depend on LLVM's +-- +1.8.3.1 + diff --git a/SOURCES/assistant.desktop b/SOURCES/assistant.desktop index ce7d337..fe52c7d 100644 --- a/SOURCES/assistant.desktop +++ b/SOURCES/assistant.desktop @@ -1,9 +1,9 @@ [Desktop Entry] -Name=Qt4 Assistant +Name=Qt5 Assistant GenericName=Documentation viewer -Comment=Shows Qt4 documentation and examples -Exec=assistant-qt4 -Icon=assistant +Comment=Shows Qt5 documentation and examples +Exec=assistant-qt5 +Icon=assistant-qt5 Terminal=false Type=Application Categories=Qt;Development;Documentation; diff --git a/SOURCES/clean_ffmpeg.sh b/SOURCES/clean_ffmpeg.sh new file mode 100755 index 0000000..ab775a4 --- /dev/null +++ b/SOURCES/clean_ffmpeg.sh @@ -0,0 +1,320 @@ +#!/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/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/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 \ + 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 \ + 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/version.h \ + libavutil/x86_cpu.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/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/opus_pvq.h \ + libavcodec/opus_rc.h \ + libavcodec/pcm_tablegen.h \ + libavcodec/pel_template.c \ + libavcodec/pixblockdsp.h \ + libavcodec/pixels.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/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/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/arm/vorbisdsp_neon.S \ + libavcodec/arm/mdct_neon.S \ + libavcodec/arm/fft_neon.S \ + 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..e134704 --- /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.11.1" + 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" + 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="-9 -f" tar cJf "$DIRNAME-clean.tar.xz" "$DIRNAME" || exit $? + +echo "removing $DIRNAME" +rm -rf "$DIRNAME" || exit $? + +echo "done" +exit 0 diff --git a/SOURCES/designer.desktop b/SOURCES/designer.desktop index d8c2f4d..1c3087b 100644 --- a/SOURCES/designer.desktop +++ b/SOURCES/designer.desktop @@ -1,9 +1,9 @@ [Desktop Entry] -Name=Qt4 Designer +Name=Qt5 Designer GenericName=Interface Designer -Comment=Design GUIs for Qt4 applications -Exec=designer-qt4 -Icon=designer +Comment=Design GUIs for Qt5 applications +Exec=designer-qt5 +Icon=designer-qt5 MimeType=application/x-designer; Terminal=false Type=Application diff --git a/SOURCES/get_free_ffmpeg_source_files.py b/SOURCES/get_free_ffmpeg_source_files.py new file mode 100755 index 0000000..899e774 --- /dev/null +++ b/SOURCES/get_free_ffmpeg_source_files.py @@ -0,0 +1,82 @@ +#!/usr/bin/python2 +# 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/hans-gpg-key.asc b/SOURCES/hans-gpg-key.asc new file mode 100644 index 0000000..4b3cdde --- /dev/null +++ b/SOURCES/hans-gpg-key.asc @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFS+1SABEACnmkESkY7eZq0GhDjbkWpKmURGk9+ycsfAhA44NqUvf4tk1GPM +5SkJ/fYedYZJaDVhIp98fHgucD0O+vjOzghtgwtITusYjiPHPFBd/MN+MQqSEAP+ +LUa/kjHLjgyXxKhFUIDGVaDWL5tKOA7/AQKl1TyJ8lz89NHQoUHFsF/hu10+qhJe +V65d32MXFehIUSvegh8DrPuExrliSiORO4HOhuc6151dWA4YBWVg4rX5kfKrGMMT +pTWnSSZtgoRhkKW2Ey8cmZUqPuUJIfWyeNVu1e4SFtAivLvu/Ymz2WBJcNA1ZlTr +RCOR5SIRgZ453pQnI/Bzna2nnJ/TV1gGJIGRahj/ini0cs2x1CILfS/YJQ3rWGGo +OxwG0BVmPk0cmLVtyTq8gUPwxcPUd6WcBKhot3TDMlrffZACnQwQjlVjk5S1dEEz +atUfpEuNitU9WOM4jr/gjv36ZNCOWm95YwLhsuci/NddBN8HXhyvs+zYTVZEXa2W +l/FqOdQsQqZBcJjjWckGKhESdd7934+cesGD3O8KaeSGxww7slJrS0+6QJ8oBoAB +P/WCn/y2AiY2syEKp3wYIGJyAbsm542zMZ4nc7pYfSu49mcyhQQICmqN5QvOyYUx +OSqwbAOUNtlOyeRLZNIKoXtTqWDEu5aEiDROTw6Rkq+dIcxPNgOLdeQ3HwARAQAB +tCFIYW5zIFdlbm5ib3JnIDxoYW5zQGNocm9taXVtLm9yZz6JAlUEEwECAD8CGwMG +CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAFiEEtsj5goK5ROOw1cJTD8MELjRa0F0F +Alpd+i0FCQ8FJo0ACgkQD8MELjRa0F3X3A//dBQLm6GmXlQFjxZbukTw0lZsevFR +M/6ljZTxp7bsC+HFzYoaCKv6rikaWzytxk//SOaLKrB4Z9HjAlpBMtyLl2Hk7tcZ +bPpFafNmQ+4KgWNjLXCvt9se8BGrQvGQUrbE6YowbXa2YIgxIVEncFzIECAsp/+N +xbMcZN5/X1PJxKi/N22gP4nn47muN6L3pKez3CXgWnhGYSc7BuD5ALWYH7yMYUem +d4jlXfu5xkBIqirj1arIYC9wmF4ldbLNDPuracc8LmXcSqa5Rpao0s4iVzAD+tkX +vE/73m3rhepwBXxrfk0McXuI9aucf5h4/KkIBzZsaJ6JM1tzlrJzzjaBKJF9OI5T +jA0qTxdGzdPztS8gPaPcMkRFfh9ti0ZDx4VeF3s8sOtmMRHeGEWfxqUAbBUbwFsa +JDu/+8/VO4KijfcuUi8tqJ/JHeosCuGE7TM93LwJu6ZcqMYOPDROE/hsnGm0ZU92 +xedu+07/X1ESHkSFPoaSHD5/DCNa/tXIyJZ8X7gF3eoDP5mSmrJqIqsOBR9WOVYv +dI8i0GHTXbrZj8WXdoS+N8wlyMLLbAS2jvTe7M5RoqbLz4ABOUUnLVoEE0CiccVZ +bW75BPxOfaD0szbinAeX6HDPI7St0MbKrRPjuDXjD0JVkLqFINtZfYLGMLss4tgn +suefr0Bo9ISwG3u5Ag0EVL7VIAEQAOxBxrQesChjrCqKjY5PnSsSYpeb4froucrC +898AFw2DgN/Zz+W7wtSTbtz/GRcCurjzZvN7o2rCuNk0j0+s1sgZZm2BdldlabLy ++UF/kSW1rb5qhfXcGGubu48OMdtSfok9lOc0Q1L4HNlGE4lUBkZzmI7Ykqfl+Bwr +m9rpi54g4ua9PIiiHIAmMoZIcbtOG1KaDr6CoXRk/3g2ZiGUwhq3jFGroiBsKEap +2FJ1bh5NJk2Eg8pV7fMOF7hUQKBZrNOtIPu8hA5WEgku3U3VYjRSI3SDi6QXnDL+ +xHxajiWpKtF3JjZh8y/CCTD8PyP34YjfZuFmkdske5cdx6H0V2UCiH453ncgFVdQ +DXkY4n+0MTzhy2xu0IVVnBxYDYNhi+3MjTHJd9C4xMi9t+5IuEvDAPhgfZjDpQak +EPz6hVmgj0mlKIgRilBRK9/kOxky9utBpGk3jEJGru/hKNloFNspoYtY6zATAr8E +cOgoCFQE0nIktcg3wF9+OCEnV28/a7XZwUZ7Gl/qfOHtdr374wo8kd8R3V8d2G9q +5w0/uCV9NNQ0fGWZDPDoYt6wnPL6gZv/nJM8oZY+u0rC24WwScZIniaryC4JHDas +Ahr2S2CtgCvBgslK6f3gD16KHxPZMBpX73TzOYIhMEP/vXgVJbUD6dYht+U9c4Oh +EDJown0dABEBAAGJAjwEGAECACYCGwwWIQS2yPmCgrlE47DVwlMPwwQuNFrQXQUC +Wl36SwUJDwUmqwAKCRAPwwQuNFrQXT1/D/9YpRDNgaJl3YVDtVZoeQwh7BQ6ULZT +eXFPogYkF2j3VWg8s9UmAs4sg/4a+9KLSantXjX+JFsRv0lQe5Gr/Vl8VQ4LKEXB +fiGmSivjIZ7eopdd3YP2w6G5T3SA4d2CQfsg4rnJPnXIjzKNiSOi368ybnt9fL0Y +2r2aqLTmP6Y7issDUO+J1TW1XHm349JPR0Hl4cTuNnWm4JuX2m2CJEc5XBlDAha9 +pUVs+J5C2D0UFFkyeOzeJPwy6x5ApWHm84n8AjhQSpu1qRKxKXdwei6tkQWWMHui ++TgSY/zCkmD9/oY15Ei5avJ4WgIbTLJUoZMi70riPmU8ThjpzA7S+Nk0g7rMPq+X +l1whjKU/u0udlsrIJjzkh6ftqKUmIkbxYTpjhnEujNrEr5m2S6Z6x3y9E5QagBMR +dxRhfk+HbyACcP/p9rXOzl4M291DoKeAAH70GHniGxyNs9rAoMr/hD5XW/Wrz3dc +KMc2s555E6MZILE2ZiolcRn+bYOMPZtWlbx98t8uqMf49gY4FGQBZAwPglMrx7mr +m7HTIiXahThQGOJg6izJDAD5RwSEGlAcL28T8KAuM6CLLkhlBfQwiKsUBNnh9r8w +V3lB+pV0GhL+3i077gTYfZBRwLzjFdhm9xUKEaZ6rN1BX9lzix4eSNK5nln0jUq1 +67H2IH//2sf8dw== +=ADVe +-----END PGP PUBLIC KEY BLOCK----- diff --git a/SOURCES/linguist.desktop b/SOURCES/linguist.desktop index 713d711..a924e1d 100644 --- a/SOURCES/linguist.desktop +++ b/SOURCES/linguist.desktop @@ -1,9 +1,9 @@ [Desktop Entry] -Name=Qt4 Linguist +Name=Qt5 Linguist GenericName=Translation tool -Comment=Add translations to Qt4 applications -Exec=linguist-qt4 -Icon=linguist +Comment=Add translations to Qt5 applications +Exec=linguist-qt5 +Icon=linguist-qt5 MimeType=text/vnd.trolltech.linguist;application/x-linguist; Terminal=false Type=Application diff --git a/SOURCES/lit.fedora.cfg.py b/SOURCES/lit.fedora.cfg.py new file mode 100644 index 0000000..1c918b4 --- /dev/null +++ b/SOURCES/lit.fedora.cfg.py @@ -0,0 +1,17 @@ + +config.llvm_tools_dir = '/usr/bin' +config.llvm_shlib_dir = '%(llvm_shlib_dir)s' % lit_config.params + +if hasattr(config, 'host_triple'): + # This means we are running lit regression tests + + # Regression tests write output to this directory, so we need to be able to specify + # a temp directory when invoking lit. e.g. lit -Dllvm_obj_root=/tmp/lit + config.llvm_obj_root = "%(llvm_obj_root)s" % lit_config.params + lit_config.load_config(config, '%(llvm_test_root)s/lit.cfg.py' % lit_config.params) +else: + # This means we are running lit unit tests + + # For unit tests, llvm_obj_root is used to find the unit test binaries. + config.llvm_obj_root = '%(llvm_unittest_bindir)s' % lit_config.params + lit_config.load_config(config, '%(llvm_test_root)s/Unit/lit.cfg.py' % lit_config.params) diff --git a/SOURCES/llvm-10.0.0.src.tar.xz.sig b/SOURCES/llvm-10.0.0.src.tar.xz.sig new file mode 100644 index 0000000..00138e7 Binary files /dev/null and b/SOURCES/llvm-10.0.0.src.tar.xz.sig differ 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/qdbusviewer.desktop b/SOURCES/qdbusviewer.desktop index b22ac1d..188da47 100644 --- a/SOURCES/qdbusviewer.desktop +++ b/SOURCES/qdbusviewer.desktop @@ -1,9 +1,9 @@ [Desktop Entry] -Name=Qt4 QDbusViewer +Name=Qt5 QDbusViewer GenericName=D-Bus Debugger Comment=Debug D-Bus applications -Exec=qdbusviewer -Icon=qdbusviewer +Exec=qdbusviewer-qt5 +Icon=qdbusviewer-qt5 Terminal=false Type=Application Categories=Qt;Development;Debugger; diff --git a/SOURCES/qtwebengine-SIOCGSTAMP.patch b/SOURCES/qtwebengine-SIOCGSTAMP.patch new file mode 100644 index 0000000..0b9df9b --- /dev/null +++ b/SOURCES/qtwebengine-SIOCGSTAMP.patch @@ -0,0 +1,16 @@ +diff --git a/src/3rdparty/chromium/third_party/webrtc/rtc_base/physicalsocketserver.cc b/src/3rdparty/chromium/third_party/webrtc/rtc_base/physicalsocketserver.cc +index ca7849917..31c5f7697 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/physicalsocketserver.cc ++++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/physicalsocketserver.cc +@@ -69,6 +69,11 @@ typedef void* SockOptArg; + + #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-src-5.10.0-linux-pri.patch b/SOURCES/qtwebengine-everywhere-src-5.10.0-linux-pri.patch new file mode 100644 index 0000000..4bcd376 --- /dev/null +++ b/SOURCES/qtwebengine-everywhere-src-5.10.0-linux-pri.patch @@ -0,0 +1,23 @@ +diff -ur qtwebengine-everywhere-src-5.10.0/src/core/config/linux.pri qtwebengine-everywhere-src-5.10.0-linux-pri/src/core/config/linux.pri +--- qtwebengine-everywhere-src-5.10.0/src/core/config/linux.pri 2017-11-29 09:42:29.000000000 +0100 ++++ qtwebengine-everywhere-src-5.10.0-linux-pri/src/core/config/linux.pri 2017-12-25 12:07:40.262411459 +0100 +@@ -157,3 +157,19 @@ + #qtConfig(webengine-system-jsoncpp): gn_args += use_system_jsoncpp=true + #qtConfig(webengine-system-libsrtp: gn_args += use_system_libsrtp=true + } ++ ++# yasm is only used on x86, and passing use_system_yasm makes the build fail on ++# other architectures (e.g., ARM), so make it conditional on the architecture ++contains(QT_ARCH, "x86_64")|contains(QT_ARCH, "i386") { ++ gn_args += use_system_yasm=true ++} ++ ++# link libpci instead of dlopening it, our Qt packaging depends on it anyway ++gn_args += linux_link_libpci=true ++ ++# run the unbundling script Chromium provides ++CHROMIUM_SRC_DIR = "$$QTWEBENGINE_ROOT/$$getChromiumSrcDir()" ++R_G_F_PY = "$$CHROMIUM_SRC_DIR/build/linux/unbundle/replace_gn_files.py" ++R_G_F_PY_ARGS = "--system-libraries yasm" ++log("Running python2 $$R_G_F_PY $$R_G_F_PY_ARGS$${EOL}") ++!system("python2 $$R_G_F_PY $$R_G_F_PY_ARGS"): error("-- unbundling failed") diff --git a/SOURCES/qtwebengine-everywhere-src-5.11.0-no-icudtl-dat.patch b/SOURCES/qtwebengine-everywhere-src-5.11.0-no-icudtl-dat.patch new file mode 100644 index 0000000..59da86e --- /dev/null +++ b/SOURCES/qtwebengine-everywhere-src-5.11.0-no-icudtl-dat.patch @@ -0,0 +1,32 @@ +diff -up qtwebengine-everywhere-src-5.11.0/src/core/web_engine_library_info.cpp.no-icudtl-dat qtwebengine-everywhere-src-5.11.0/src/core/web_engine_library_info.cpp +--- qtwebengine-everywhere-src-5.11.0/src/core/web_engine_library_info.cpp.no-icudtl-dat 2018-06-14 09:23:48.931195271 -0500 ++++ qtwebengine-everywhere-src-5.11.0/src/core/web_engine_library_info.cpp 2018-06-14 09:27:26.248014325 -0500 +@@ -258,28 +258,12 @@ QString dictionariesPath() + + QString icuDataPath() + { +- static bool initialized = false; + static QString potentialResourcesPath = + #if defined(OS_MACOSX) && defined(QT_MAC_FRAMEWORK_BUILD) + getResourcesPath(frameworkBundle()); + #else + QLibraryInfo::location(QLibraryInfo::DataPath) % QLatin1String("/resources"); + #endif +- if (!initialized) { +- initialized = true; +- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/icudtl.dat"))) { +- qWarning("Qt WebEngine ICU data not found at %s. Trying parent directory...", qPrintable(potentialResourcesPath)); +- potentialResourcesPath = QLibraryInfo::location(QLibraryInfo::DataPath); +- } +- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/icudtl.dat"))) { +- qWarning("Qt WebEngine ICU data not found at %s. Trying application directory...", qPrintable(potentialResourcesPath)); +- potentialResourcesPath = QCoreApplication::applicationDirPath(); +- } +- if (!QFileInfo::exists(potentialResourcesPath % QLatin1String("/icudtl.dat"))) { +- qWarning("Qt WebEngine ICU data not found at %s. Trying fallback directory... The application MAY NOT work.", qPrintable(potentialResourcesPath)); +- potentialResourcesPath = fallbackDir(); +- } +- } + + return potentialResourcesPath; + } 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.12.0-gn-bootstrap-verbose.patch b/SOURCES/qtwebengine-everywhere-src-5.12.0-gn-bootstrap-verbose.patch new file mode 100644 index 0000000..9d4cadb --- /dev/null +++ b/SOURCES/qtwebengine-everywhere-src-5.12.0-gn-bootstrap-verbose.patch @@ -0,0 +1,12 @@ +diff -up qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro.gn-bootstrap-verbose qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro +--- qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro.gn-bootstrap-verbose 2018-12-07 09:53:18.262171677 -0600 ++++ qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro 2018-12-07 09:57:53.246646133 -0600 +@@ -18,7 +18,7 @@ build_pass|!debug_and_release { + src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT") + gn_bootstrap = $$system_path($$absolute_path(gn/build/gen.py, $$src_3rd_party_dir)) + +- gn_configure = $$system_quote($$gn_bootstrap) --no-last-commit-position --out-path $$out_path ++ gn_configure = $$system_quote($$gn_bootstrap) --verbose --no-last-commit-position --out-path $$out_path + !system("$$pythonPathForSystem() $$gn_configure") { + error("GN generation error!") + } 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..fbbf6fc --- /dev/null +++ b/SOURCES/qtwebengine-opensource-src-5.12.4-fix-extractcflag.patch @@ -0,0 +1,11 @@ +diff --git a/src/core/config/functions.pri b/src/core/config/functions.pri +index 8c11faa16..191d3d623 100644 +--- a/src/core/config/functions.pri ++++ b/src/core/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..0fc7395 --- /dev/null +++ b/SOURCES/qtwebengine-opensource-src-5.9.0-no-neon.patch @@ -0,0 +1,14 @@ +diff -ur qtwebengine-opensource-src-5.9.0/src/core/config/linux.pri qtwebengine-opensource-src-5.9.0-no-neon/src/core/config/linux.pri +--- qtwebengine-opensource-src-5.9.0/src/core/config/linux.pri 2017-05-19 06:22:04.000000000 +0200 ++++ qtwebengine-opensource-src-5.9.0-no-neon/src/core/config/linux.pri 2017-06-08 00:55:22.257781563 +0200 +@@ -70,7 +70,9 @@ + 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-opensource-src-5.9.0-openmax-dl-neon.patch b/SOURCES/qtwebengine-opensource-src-5.9.0-openmax-dl-neon.patch new file mode 100644 index 0000000..fd11fae --- /dev/null +++ b/SOURCES/qtwebengine-opensource-src-5.9.0-openmax-dl-neon.patch @@ -0,0 +1,92 @@ +diff -ur qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn qtwebengine-opensource-src-5.9.0-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn +--- qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn 2017-05-18 16:51:44.000000000 +0200 ++++ qtwebengine-opensource-src-5.9.0-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn 2017-06-10 02:41:10.317340598 +0200 +@@ -196,9 +196,6 @@ + ] + if (arm_optionally_use_neon) { + # Run-time NEON detection. +- deps = [ "//third_party/android_tools:cpu_features" ] +- # To get the __android_log_print routine +- libs = [ "log" ] + # Detection routine + sources += [ "sp/src/arm/detect.c" ] + } +diff -ur qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c qtwebengine-opensource-src-5.9.0-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c +--- qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c 2017-05-18 16:51:44.000000000 +0200 ++++ qtwebengine-opensource-src-5.9.0-openmax-dl-neon/src/3rdparty/chromium/third_party/openmax_dl/dl/sp/src/arm/detect.c 2017-06-10 02:38:30.593809570 +0200 +@@ -9,13 +9,57 @@ + * + */ + +-#include +- +-#include "android/log.h" + #include "dl/sp/api/omxSP.h" + ++// For ArmCpuCaps() ++#include ++#include ++ ++// based on libvpx arm_cpudetect.c ++static int ArmCpuCaps(const char* cpuinfo_name) { ++ char cpuinfo_line[512]; ++ FILE* f = fopen(cpuinfo_name, "r"); ++ if (!f) { ++ // Assume Neon if /proc/cpuinfo is unavailable. ++ // This will occur for Chrome sandbox for Pepper or Render process. ++ return 1; ++ } ++ while (fgets(cpuinfo_line, sizeof(cpuinfo_line) - 1, f)) { ++ if (memcmp(cpuinfo_line, "Features", 8) == 0) { ++ char* p = strstr(cpuinfo_line, " neon"); ++ if (p && (p[5] == ' ' || p[5] == '\n')) { ++ fclose(f); ++ return 1; ++ } ++ // aarch64 uses asimd for Neon. ++ p = strstr(cpuinfo_line, " asimd"); ++ if (p && (p[6] == ' ' || p[6] == '\n')) { ++ fclose(f); ++ return 1; ++ } ++ } ++ } ++ fclose(f); ++ return 0; ++} ++ + int omxSP_HasArmNeon() { +- return (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0; ++#if defined(__arm__) || defined(__aarch64__) ++// gcc -mfpu=neon defines __ARM_NEON__ ++// __ARM_NEON__ generates code that requires Neon. NaCL also requires Neon. ++// For Linux, /proc/cpuinfo can be tested but without that assume Neon. ++#if defined(__ARM_NEON__) || defined(__native_client__) || !defined(__linux__) ++ return 1; ++// For aarch64(arm64), /proc/cpuinfo's feature is not complete, e.g. no neon ++// flag in it. ++// So for aarch64, neon enabling is hard coded here. ++#elif defined(__aarch64__) ++ return 1; ++#else ++ // Linux arm parse text file for neon detect. ++ return ArmCpuCaps("/proc/cpuinfo"); ++#endif ++#endif // __arm__ + } + + static void SetFFTRoutines() { +@@ -24,13 +68,9 @@ + * forward and inverse FFTs + */ + if (omxSP_HasArmNeon()) { +- __android_log_print(ANDROID_LOG_INFO, "OpenMAX DL FFT", +- "Using NEON FFT"); + omxSP_FFTFwd_RToCCS_F32 = omxSP_FFTFwd_RToCCS_F32_Sfs; + omxSP_FFTInv_CCSToR_F32 = omxSP_FFTInv_CCSToR_F32_Sfs; + } else { +- __android_log_print(ANDROID_LOG_INFO, "OpenMAX DL FFT", +- "Using non-NEON FFT"); + omxSP_FFTFwd_RToCCS_F32 = omxSP_FFTFwd_RToCCS_F32_Sfs_vfp; + omxSP_FFTInv_CCSToR_F32 = omxSP_FFTInv_CCSToR_F32_Sfs_vfp; + } diff --git a/SOURCES/run-lit-tests b/SOURCES/run-lit-tests new file mode 100755 index 0000000..46c1815 --- /dev/null +++ b/SOURCES/run-lit-tests @@ -0,0 +1,39 @@ +#!/bin/bash + +usage() { + echo "usage: `basename $0` [OPTIONS]" + echo " --threads NUM The number of threads to use for running tests." +} + +threads_arg='' + +while [ $# -gt 0 ]; do + case $1 in + --threads) + shift + threads_arg="--threads $1" + ;; + * ) + echo "unknown option: $1" + echo "" + usage + exit 1 + ;; + esac + shift +done + +set -xe + +TOOLS_DIR=/usr/lib64/llvm +cd $(mktemp -d) +ln -s /usr/include include +tar -xzf /usr/share/llvm/src/test.tar.gz +PATH=$PATH:$TOOLS_DIR lit -v -s $threads_arg test \ + -DFileCheck=$TOOLS_DIR/FileCheck \ + -Dcount=$TOOLS_DIR/count \ + -Dnot=$TOOLS_DIR/not \ + -Dlli-child-target=$TOOLS_DIR/lli-child-target \ + -Dllvm-isel-fuzzer=$TOOLS_DIR/llvm-isel-fuzzer \ + -Dllvm-opt-fuzzer=$TOOLS_DIR/llvm-opt-fuzzer \ + -Dyaml-bench=$TOOLS_DIR/yaml-bench diff --git a/SPECS/qt5-qtdoc.spec b/SPECS/qt5-qtdoc.spec index 14c2bc1..92a36cc 100644 --- a/SPECS/qt5-qtdoc.spec +++ b/SPECS/qt5-qtdoc.spec @@ -1,35 +1,40 @@ - %global qt_module qtdoc -#define prerelease - Summary: Main Qt5 Reference Documentation Name: qt5-%{qt_module} -Version: 5.9.2 +Version: 5.14.2 Release: 1%{?dist} License: GFDL Url: http://www.qt.io -Source0: http://download.qt.io/official_releases/qt/5.9/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz +%global majmin %(echo %{version} | cut -d. -f1-2) +Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submodules/%{qt_module}-everywhere-src-%{version}.tar.xz + BuildArch: noarch %global _qt5_qmake %{_bindir}/qmake-qt5 -BuildRequires: qt5-qtbase-devel >= %{version} +# recently made unversioned, could re-add >= %%majmin if needed -- rex +BuildRequires: qt5-qtbase-devel BuildRequires: qt5-doctools BuildRequires: qt5-qtbase-doc +Obsoletes: qt5-qtdoc-doc < 5.9.3 +Provides: qt5-qtdoc-doc = %{version}-%{release} + %description QtDoc contains the main Qt Reference Documentation, which includes overviews, Qt topics, and examples not specific to any Qt module. %prep -%setup -q -n %{qt_module}-opensource-src-%{version} +%setup -q -n %{qt_module}-everywhere-src-%{version} %build %{qmake_qt5} -make docs %{?_smp_mflags} + +%make_build docs + %install make install_docs INSTALL_ROOT=%{buildroot} @@ -39,32 +44,93 @@ make install_docs INSTALL_ROOT=%{buildroot} %doc LICENSE.FDL %{_qt5_docdir}/qtdoc.qch %{_qt5_docdir}/qtdoc/ +%{_qt5_docdir}/qtcmake.qch +%{_qt5_docdir}/qtcmake/ %changelog -* Fri Oct 06 2017 Jan Grulich - 5.9.2-1 -- Update to 5.9.2 - Resolves: bz#1482779 +* Sat Apr 04 2020 Rex Dieter - 5.14.2-1 +- 5.14.2 + +* Thu Jan 30 2020 Fedora Release Engineering - 5.13.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Dec 09 2019 Jan Grulich - 5.13.2-1 +- 5.13.2 + +* Tue Sep 24 2019 Jan Grulich - 5.12.5-1 +- 5.12.5 + +* Fri Jul 26 2019 Fedora Release Engineering - 5.12.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jun 14 2019 Jan Grulich - 5.12.4-1 +- 5.12.4 + +* Tue Jun 04 2019 Jan Grulich - 5.12.3-1 +- 5.12.3 + +* Fri Feb 15 2019 Rex Dieter - 5.12.1-1 +- 5.12.1 + +* Sat Feb 02 2019 Fedora Release Engineering - 5.11.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Dec 07 2018 Rex Dieter - 5.11.3-1 +- 5.11.3 + +* Fri Sep 21 2018 Jan Grulich - 5.11.2-1 +- 5.11.2 + +* Sat Jul 14 2018 Fedora Release Engineering - 5.11.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Rex Dieter - 5.11.1-1 +- 5.11.1 + +* Sun May 27 2018 Rex Dieter - 5.11.0-1 +- 5.11.0 +- use %%make_build +- use unversioned BR: qt5-qtbase-devel + +* Wed Feb 14 2018 Jan Grulich - 5.10.1-1 +- 5.10.1 + +* Fri Feb 09 2018 Fedora Release Engineering - 5.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Dec 19 2017 Jan Grulich - 5.10.0-1 +- 5.10.0 + +* Mon Dec 04 2017 Rex Dieter - 5.9.3-2 +- Obsoletes/Provides: qt5-qtdoc-doc (#1520355) + +* Thu Nov 23 2017 Jan Grulich - 5.9.3-1 +- 5.9.3 + +* Tue Oct 10 2017 Jan Grulich - 5.9.2-1 +- 5.9.2 + +* Thu Jul 27 2017 Fedora Release Engineering - 5.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jan 30 2017 Helio Chissini de Castro - 5.8.0-1 +- New upstream version -* Mon Aug 28 2017 Jan Grulich - 5.9.1-1 -- Update to 5.9.1 - Resolves: bz#1482779 +* Wed Nov 09 2016 Helio Chissini de Castro - 5.7.1-1 +- New upstream version -* Wed Jan 11 2017 Jan Grulich - 5.6.2-1 -- Update to 5.6.2 - Resolves: bz#1384818 +* Tue Jun 14 2016 Helio Chissini de Castro - 5.7.0-1 +- Qt 5.7.0 release -* Tue Aug 30 2016 Jan Grulich - 5.6.1-10 -- Increase build version to have newer version than in EPEL - Resolves: bz#1317401 +* Mon Jun 13 2016 Helio Chissini de Castro - 5.7.0-0.1 +- Prepare for 5.7.0 -* Wed Jun 08 2016 Jan Grulich - 5.6.1-1 +* Thu Jun 09 2016 Jan Grulich - 5.6.1-1 - Update to 5.6.1 - Resolves: bz#1317401 -* Thu Apr 07 2016 Jan Grulich - 5.6.0-2 -- Initial version for RHEL - Resolves: bz#1317401 +* Fri Mar 18 2016 Rex Dieter - 5.6.0-2 +- rebuild * Mon Mar 14 2016 Helio Chissini de Castro - 5.6.0-1 - 5.6.0 final release diff --git a/SPECS/qt5-qttools.spec b/SPECS/qt5-qttools.spec index 7d859cb..4b6a57f 100644 --- a/SPECS/qt5-qttools.spec +++ b/SPECS/qt5-qttools.spec @@ -1,24 +1,21 @@ %global qt_module qttools -# define to build docs, need to undef this for bootstrapping -# where qt5-qttools builds are not yet available -# only primary archs (for now), allow secondary to bootstrap -# global bootstrap 1 +#global bootstrap 1 %if ! 0%{?bootstrap} -%ifarch %{arm} %{ix86} x86_64 -%define docs 1 -%endif +## don't enable until crasher fixed: https://bugzilla.redhat.com/show_bug.cgi?id=1470778 +#global webkit 1 %endif Summary: Qt5 - QtTool components Name: qt5-qttools -Version: 5.9.2 +Version: 5.12.5 Release: 1%{?dist} License: LGPLv3 or LGPLv2 Url: http://www.qt.io -Source0: http://download.qt.io/official_releases/qt/5.9/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz +%global majmin %(echo %{version} | cut -d. -f1-2) +Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submodules/%{qt_module}-everywhere-src-%{version}.tar.xz # help lrelease/lupdate use/prefer qmake-qt5 # https://bugzilla.redhat.com/show_bug.cgi?id=1009893 @@ -39,16 +36,26 @@ Source23: qdbusviewer.desktop BuildRequires: cmake %endif BuildRequires: desktop-file-utils +BuildRequires: /usr/bin/file +BuildRequires: qt5-rpm-macros >= %{version} + +BuildRequires: qt5-qtbase-private-devel BuildRequires: qt5-qtbase-static >= %{version} BuildRequires: qt5-qtdeclarative-static >= %{version} +BuildRequires: pkgconfig(Qt5Qml) +# libQt5DBus.so.5(Qt_5_PRIVATE_API) +%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} + +%if 0%{?bootstrap} +%global no_examples CONFIG-=compile_examples +Obsoletes: %{name}-examples < %{version}-%{release} +%else +# for qdoc +BuildRequires: clang-devel llvm-devel +%endif Requires: %{name}-common = %{version}-%{release} -%{?_qt5:Requires: %{_qt5}%{?_isa} >= %{_qt5_version}} - -# when -libs were split out, for multilib upgrade path -Obsoletes: qt5-tools < 5.4.0-0.2 - %description %{summary}. @@ -56,6 +63,9 @@ Obsoletes: qt5-tools < 5.4.0-0.2 Summary: Common files for %{name} BuildArch: noarch Obsoletes: qt5-qttools-libs-clucene < 5.9.0 +%if ! 0%{?webkit} +Obsoletes: qt5-designer-plugin-webkit < 5.9.0 +%endif %description common %{summary}. @@ -65,11 +75,10 @@ Requires: %{name} = %{version}-%{release} Requires: %{name}-libs-designer%{?_isa} = %{version}-%{release} Requires: %{name}-libs-designercomponents%{?_isa} = %{version}-%{release} Requires: %{name}-libs-help%{?_isa} = %{version}-%{release} -Requires: qt5-qtbase-devel%{?_isa} -Requires: qt5-qdoc = %{version}-%{release} -Requires: qt5-qhelpgenerator = %{version}-%{release} +Requires: qt5-doctools = %{version}-%{release} Requires: qt5-designer = %{version}-%{release} Requires: qt5-linguist = %{version}-%{release} +Requires: qt5-qtbase-devel%{?_isa} %description devel %{summary}. @@ -82,16 +91,12 @@ Requires: %{name}-devel%{?_isa} = %{version}-%{release} %package libs-designer Summary: Qt5 Designer runtime library Requires: %{name}-common = %{version}-%{release} -# when split happened -Conflicts: qt5-tools < 5.4.0-0.2 %description libs-designer %{summary}. %package libs-designercomponents Summary: Qt5 Designer Components runtime library Requires: %{name}-common = %{version}-%{release} -# when split happened -Conflicts: qt5-tools < 5.4.0-0.2 %description libs-designercomponents %{summary}. @@ -116,6 +121,15 @@ Requires: %{name}-libs-designercomponents%{?_isa} = %{version}-%{release} %description -n qt5-designer %{summary}. +%if 0%{?webkit} +%package -n qt5-designer-plugin-webkit +Summary: Qt5 designer plugin for WebKit +BuildRequires: pkgconfig(Qt5WebKitWidgets) +Requires: %{name}-libs-designer%{?_isa} = %{version}-%{release} +%description -n qt5-designer-plugin-webkit +%{summary}. +%endif + %package -n qt5-linguist Summary: Qt5 Linguist Tools Requires: %{name}-common = %{version}-%{release} @@ -130,30 +144,6 @@ Requires: %{name}-common = %{version}-%{release} QDbusviewer can be used to inspect D-Bus objects of running programs and invoke methods on those objects. -%package -n qt5-qhelpgenerator -Summary: Qt5 Help generator tool -Requires: %{name}-libs-help%{?_isa} = %{version}-%{release} -%{?_qt5:Requires: %{_qt5}%{?_isa} >= %{_qt5_version}} -%description -n qt5-qhelpgenerator - -%package -n qt5-qdoc -Summary: Qt5 documentation generator -Requires: %{name}%{?_isa} = %{version}-%{release} -%description -n qt5-qdoc -%{summary}. - -%if 0%{?docs} -%package doc -Summary: API documentation for %{name} -BuildRequires: qt5-qdoc -BuildRequires: qt5-qhelpgenerator -BuildArch: noarch -Conflicts: qt5-qtbase-doc < 5.6.0 - -%description doc -%{summary}. -%endif - %package -n qt5-doctools Summary: Qt5 doc tools package Provides: qt5-qdoc = %{version} @@ -167,7 +157,6 @@ Requires: qt5-qtattributionsscanner = %{version} %description -n qt5-doctools %{summary}. - %package examples Summary: Programming examples for %{name} Requires: %{name}-common = %{version}-%{release} @@ -176,7 +165,7 @@ Requires: %{name}-common = %{version}-%{release} %prep -%setup -q -n %{qt_module}-opensource-src-%{version} +%setup -q -n %{qt_module}-everywhere-src-%{version} %patch2 -p1 -b .qmake-qt5 %ifarch %{mips32} %patch4 -p1 -b .libatomic @@ -184,23 +173,16 @@ Requires: %{name}-common = %{version}-%{release} %build -%{qmake_qt5} - -make %{?_smp_mflags} +%{qmake_qt5} \ + %{?no_examples} -%if 0%{?docs} -make %{?_smp_mflags} docs -%endif +%make_build %install make install INSTALL_ROOT=%{buildroot} -%if 0%{?docs} -make install_docs INSTALL_ROOT=%{buildroot} -%endif - -# Add desktop files, --vendor=qt4 helps avoid possible conflicts with qt3/qt4 +# Add desktop files, --vendor=... helps avoid possible conflicts with qt3/qt4 desktop-file-install \ --dir=%{buildroot}%{_datadir}/applications \ --vendor="qt5" \ @@ -209,7 +191,7 @@ desktop-file-install \ # icons install -m644 -p -D src/assistant/assistant/images/assistant.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/assistant-qt5.png install -m644 -p -D src/assistant/assistant/images/assistant-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/assistant-qt5.png -install -m644 -p -D src/designer/src/designer/images/designer.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/designer-qt5.png +install -m644 -p -D src/designer/src/designer/images/designer.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/designer-qt5.png install -m644 -p -D src/qdbus/qdbusviewer/images/qdbusviewer.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/qdbusviewer-qt5.png install -m644 -p -D src/qdbus/qdbusviewer/images/qdbusviewer-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/qdbusviewer-qt5.png # linguist icons @@ -218,12 +200,12 @@ for icon in src/linguist/linguist/images/icons/linguist-*-32.png ; do install -p -m644 -D ${icon} %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/linguist-qt5.png done -# hardlink files to %{_bindir}, add -qt5 postfix to not conflict +# hardlink files to {_bindir}, add -qt5 postfix to not conflict mkdir %{buildroot}%{_bindir} pushd %{buildroot}%{_qt5_bindir} for i in * ; do case "${i}" in - assistant|designer|lconvert|linguist|lrelease|lupdate|pixeltool|qcollectiongenerator|qdbus|qdbusviewer|qhelpconverter|qhelpgenerator|qtplugininfo) + assistant|designer|lconvert|linguist|lrelease|lupdate|pixeltool|qcollectiongenerator|qdbus|qdbusviewer|qhelpconverter|qhelpgenerator|qtplugininfo|qtattributionsscanner) ln -v ${i} %{buildroot}%{_bindir}/${i}-qt5 ln -sv ${i} ${i}-qt5 ;; @@ -264,6 +246,19 @@ pushd tests/auto/cmake/%{_target_platform} cmake .. ctest --output-on-failure ||: popd + + +# check icon resolutions +pushd %{buildroot}%{_datadir}/icons +for RES in $(ls hicolor); do + for APP in designer assistant linguist qdbusviewer; do + if [ -e hicolor/$RES/apps/${APP}*.* ]; then + file hicolor/$RES/apps/${APP}*.* | grep "$(echo $RES | sed 's/x/ x /')" + fi + done +done +popd + %endif @@ -277,22 +272,26 @@ popd %files common %license LICENSE.LGPL* -%post libs-designer -p /sbin/ldconfig -%postun libs-designer -p /sbin/ldconfig +%pre libs-designer -p /sbin/ldconfig +%post libs-designer -p /sbin/ldconfig + %files libs-designer %{_qt5_libdir}/libQt5Designer.so.5* %dir %{_qt5_libdir}/cmake/Qt5Designer/ -%post libs-designercomponents -p /sbin/ldconfig -%postun libs-designercomponents -p /sbin/ldconfig +%pre libs-designercomponents -p /sbin/ldconfig +%post libs-designercomponents -p /sbin/ldconfig + %files libs-designercomponents %{_qt5_libdir}/libQt5DesignerComponents.so.5* -%post libs-help -p /sbin/ldconfig -%postun libs-help -p /sbin/ldconfig +%pre libs-help -p /sbin/ldconfig +%post libs-help -p /sbin/ldconfig + %files libs-help %{_qt5_libdir}/libQt5Help.so.5* +%if 0%{?rhel} && 0%{?rhel} <= 7 %post -n qt5-assistant touch --no-create %{_datadir}/icons/hicolor ||: @@ -304,6 +303,7 @@ if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor ||: gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||: fi +%endif %files -n qt5-assistant %{_bindir}/assistant-qt5 @@ -311,6 +311,7 @@ fi %{_datadir}/applications/*assistant.desktop %{_datadir}/icons/hicolor/*/apps/assistant*.* +%if 0%{?rhel} && 0%{?rhel} <= 7 %post -n qt5-doctools touch --no-create %{_datadir}/icons/hicolor ||: @@ -322,15 +323,19 @@ if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor ||: gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||: fi +%endif %files -n qt5-doctools -%{_bindir}/qdoc* -%{_qt5_bindir}/qdoc* +#%{_bindir}/qdoc* +#%{_qt5_bindir}/qdoc* +%{_bindir}/qdistancefieldgenerator* %{_bindir}/qhelpgenerator* +%{_qt5_bindir}/qdistancefieldgenerator* %{_qt5_bindir}/qhelpgenerator* -%{_bindir}/qtattributionsscanner +%{_bindir}/qtattributionsscanner-qt5 %{_qt5_bindir}/qtattributionsscanner* +%if 0%{?rhel} && 0%{?rhel} <= 7 %post -n qt5-designer touch --no-create %{_datadir}/icons/hicolor ||: @@ -343,15 +348,13 @@ if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor ||: gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||: fi +%endif %files -n qt5-designer %{_bindir}/designer* %{_qt5_bindir}/designer* %{_datadir}/applications/*designer.desktop %{_datadir}/icons/hicolor/*/apps/designer*.* -%{_qt5_plugindir}/designer/* -%dir %{_qt5_libdir}/cmake/Qt5Designer -%{_qt5_libdir}/cmake/Qt5Designer/Qt5Designer_* %if 0%{?webkit} %files -n qt5-designer-plugin-webkit @@ -359,6 +362,7 @@ fi %{_qt5_libdir}/cmake/Qt5Designer/Qt5Designer_QWebViewPlugin.cmake %endif +%if 0%{?rhel} && 0%{?rhel} <= 7 %post -n qt5-linguist touch --no-create %{_datadir}/icons/hicolor ||: @@ -371,6 +375,7 @@ if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor ||: gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||: fi +%endif %files -n qt5-linguist %{_bindir}/linguist* @@ -391,6 +396,7 @@ fi %{_qt5_libdir}/cmake/Qt5LinguistTools/Qt5LinguistToolsConfig*.cmake %{_qt5_libdir}/cmake/Qt5LinguistTools/Qt5LinguistToolsMacros.cmake +%if 0%{?rhel} && 0%{?rhel} <= 7 %post -n qt5-qdbusviewer touch --no-create %{_datadir}/icons/hicolor ||: @@ -402,6 +408,7 @@ if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor ||: gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||: fi +%endif %files -n qt5-qdbusviewer %{_bindir}/qdbusviewer* @@ -409,17 +416,16 @@ fi %{_datadir}/applications/*qdbusviewer.desktop %{_datadir}/icons/hicolor/*/apps/qdbusviewer*.* - %files devel %{_bindir}/pixeltool* %{_bindir}/qcollectiongenerator* -%{_bindir}/qhelpconverter* +#{_bindir}/qhelpconverter* %{_bindir}/qtdiag* %{_bindir}/qtplugininfo* %{_qt5_bindir}/pixeltool* %{_qt5_bindir}/qtdiag* %{_qt5_bindir}/qcollectiongenerator* -%{_qt5_bindir}/qhelpconverter* +#{_qt5_bindir}/qhelpconverter* %{_qt5_bindir}/qtplugininfo* %{_qt5_headerdir}/QtDesigner/ %{_qt5_headerdir}/QtDesignerComponents/ @@ -429,12 +435,15 @@ fi %{_qt5_libdir}/libQt5Designer*.so %{_qt5_libdir}/libQt5Help.prl %{_qt5_libdir}/libQt5Help.so +%{_qt5_libdir}/Qt5UiPlugin.la +%{_qt5_libdir}/libQt5UiPlugin.prl %{_qt5_libdir}/cmake/Qt5Designer/Qt5DesignerConfig*.cmake %dir %{_qt5_libdir}/cmake/Qt5Help/ %{_qt5_libdir}/cmake/Qt5Help/Qt5HelpConfig*.cmake %{_qt5_libdir}/cmake/Qt5UiPlugin/ %{_qt5_libdir}/pkgconfig/Qt5Designer.pc %{_qt5_libdir}/pkgconfig/Qt5Help.pc +%{_qt5_libdir}/pkgconfig/Qt5UiPlugin.pc %{_qt5_archdatadir}/mkspecs/modules/qt_lib_designer.pri %{_qt5_archdatadir}/mkspecs/modules/qt_lib_designer_private.pri %{_qt5_archdatadir}/mkspecs/modules/qt_lib_designercomponents_private.pri @@ -451,59 +460,154 @@ fi %{_qt5_archdatadir}/mkspecs/modules/qt_lib_uitools.pri %{_qt5_archdatadir}/mkspecs/modules/qt_lib_uitools_private.pri -%if 0%{?docs} -%files doc -%license LICENSE.FDL -%{_qt5_docdir}/qtassistant.qch -%{_qt5_docdir}/qtassistant/ -%{_qt5_docdir}/qtdesigner.qch -%{_qt5_docdir}/qtdesigner/ -%{_qt5_docdir}/qdoc.qch -%{_qt5_docdir}/qdoc/ -%{_qt5_docdir}/qthelp.qch -%{_qt5_docdir}/qthelp/ -%{_qt5_docdir}/qtlinguist.qch -%{_qt5_docdir}/qtlinguist/ -%{_qt5_docdir}/qtuitools.qch -%{_qt5_docdir}/qtuitools/ -%endif - +%if ! 0%{?no_examples:1} %files examples -#%{_qt5_examplesdir}/ +%{_qt5_examplesdir}/ +%{_qt5_plugindir}/designer/* +%dir %{_qt5_libdir}/cmake/Qt5Designer +%{_qt5_libdir}/cmake/Qt5Designer/Qt5Designer_* +%endif %changelog -* Fri Oct 06 2017 Jan Grulich - 5.9.2-1 -- Update to 5.9.2 - Resolves: bz#1482790 +* Tue Sep 24 2019 Jan Grulich - 5.12.5-1 +- 5.12.5 + +* Fri Jul 26 2019 Fedora Release Engineering - 5.12.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jun 14 2019 Jan Grulich - 5.12.4-1 +- 5.12.4 + +* Tue Jun 04 2019 Jan Grulich - 5.12.3-1 +- 5.12.3 + +* Fri Feb 15 2019 Rex Dieter - 5.12.1-1 +- 5.12.1 +- better bootstrap support (examples) + +* Sat Feb 02 2019 Fedora Release Engineering - 5.11.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Dec 07 2018 Rex Dieter - 5.11.3-1 +- 5.11.3 + +* Fri Sep 21 2018 Jan Grulich - 5.11.2-1 +- 5.11.2 + +* Sat Jul 14 2018 Fedora Release Engineering - 5.11.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jun 20 2018 Rex Dieter - 5.11.1-1 +- 5.11.1 + +* Sat May 26 2018 Rex Dieter - 5.11.0-1 +- 5.11.0 +- use %%make_build + +* Thu Mar 08 2018 Rex Dieter - 5.10.1-2 +- BR: qt5-rpm-macros + +* Tue Feb 13 2018 Jan Grulich - 5.10.1-1 +- 5.10.1 + +* Fri Feb 09 2018 Fedora Release Engineering - 5.10.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 31 2018 Igor Gnatenko - 5.10.0-2 +- Remove obsolete scriptlets + +* Tue Dec 19 2017 Jan Grulich - 5.10.0-1 +- 5.10.0 + +* Thu Nov 23 2017 Jan Grulich - 5.9.3-1 +- 5.9.3 + +* Fri Oct 27 2017 Miro Hrončok - 5.9.2-3 +- Qt 5 Designer has 128x128 icon in 32x32 folder (#1400972) + +* Tue Oct 17 2017 Rex Dieter - 5.9.2-2 +- BR: qt5-qtbase-private-devel + +* Mon Oct 09 2017 Jan Grulich - 5.9.2-1 +- 5.9.2 + +* Fri Sep 29 2017 Rex Dieter - 5.9.1-4 +- Obsoletes: qt5-designer-plugin-webkit (upgrade path when webkit support is not enabled) +- resurrect bootstrap macro (commented) + +* Thu Aug 03 2017 Fedora Release Engineering - 5.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 5.9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Jul 19 2017 Rex Dieter - 5.9.1-1 +- 5.9.1 + +* Fri Jun 16 2017 Rex Dieter - 5.9.0-3 +- drop shadow/out-of-tree builds (#1456211,QTBUG-37417) + +* Fri Jun 02 2017 Rex Dieter - 5.9.0-2 +- rebuild + +* Wed May 31 2017 Helio Chissini de Castro - 5.9.0-1 +- Upstream official release + +* Fri May 26 2017 Helio Chissini de Castro - 5.9.0-0.1.rc +- Upstream Release Candidate retagged + +* Tue May 23 2017 Rex Dieter - 5.9.0-0.4.beta3 +- fix Release, Obsoletes: qt5-qttools-libs-clucene (#1454531) + +* Tue May 09 2017 Helio Chissini de Castro - 5.9.0-0.beta.3 +- Upstream beta 3 + +* Fri Mar 31 2017 Rex Dieter - 5.8.0-6 +- -devel: restore Requires: qt5-designer qt5-linguist + +* Thu Mar 30 2017 Rex Dieter - 5.8.0-5 +- de-bootstrap + +* Mon Mar 27 2017 Rex Dieter - 5.8.0-4 +- bootstrap 5.8.0 (rawhide) +- Created a meta package called qt5-doctools to avoid the mess of multiple tools + +* Tue Mar 21 2017 Rex Dieter - 5.7.1-6 +- -assistant: Provides: bundled(clucene09) (f26+) + +* Fri Feb 17 2017 Rex Dieter - 5.7.1-5 +- disable system_lucene on f26+ (#1424227, #1424046) + +* Sat Feb 11 2017 Fedora Release Engineering - 5.7.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sat Dec 10 2016 Rex Dieter - 5.7.1-4 +- 5.7.1 dec5 snapshot + +* Fri Dec 02 2016 Rex Dieter - 5.7.1-3 +- Qt 5 Designer has 128x128 icon in 32x32 folder (#1400972) -* Mon Sep 04 2017 Jan Grulich - 5.9.1-2 -- Enable documentation - Resolves: bz#1482790 +* Thu Dec 01 2016 Rex Dieter - 5.7.1-2 +- de-bootstrap, enable -doc/-webkit -* Wed Aug 23 2017 Jan Grulich - 5.9.1-1 -- Update to 5.9.1 - Resolves: bz#1482790 +* Wed Nov 23 2016 Helio Chissini de Castro - 5.7.1-1 +- New upstream version -* Wed Jan 11 2017 Jan Grulich - 5.6.2-1 -- Update to 5.6.2 - Resolves: bz#1384836 +* Mon Nov 21 2016 Rex Dieter - 5.7.0-4 +- -static: move qt_lib_uitools*.pri here (#1396836) -* Tue Aug 30 2016 Jan Grulich - 5.6.1-10 -- Increase build version to have newer version than in EPEL - Resolves: bz#1317413 +* Fri Aug 12 2016 Michal Toman - 5.7.0-3 +- Add explicit -latomic on 32-bit MIPS -* Wed Jun 08 2016 Jan Grulich - 5.6.1-1 -- Update to 5.6.1 - Resolves: bz#1317413 +* Mon Jul 04 2016 Helio Chissini de Castro - 5.7.0-2 +- Compiled with gcc -* Wed Apr 13 2016 Jan Grulich - 5.6.0-5 -- Enable documentation - Resolves: bz#1317413 +* Tue Jun 14 2016 Helio Chissini de Castro - 5.7.0-1 +- Qt 5.7.0 release -* Thu Apr 07 2016 Jan Grulich - 5.6.0-4 -- Initial version for RHEL - Resolves: bz#1317413 +* Mon Jun 13 2016 Helio Chissini de Castro - 5.7.0-0.1 +- Prepare 5.7.0 * Sun Mar 20 2016 Rex Dieter - 5.6.0-3 - rebuild @@ -701,7 +805,7 @@ fi - %%check: first try * Tue Sep 10 2013 Rex Dieter 5.1.1-2 -- ExclusiveArch: %{ix86} x86_64 %{arm} +- ExclusiveArch: {ix86} x86_64 {arm} - epel-6 love * Wed Aug 28 2013 Rex Dieter 5.1.1-1 diff --git a/SPECS/qt5-qtwebengine.spec b/SPECS/qt5-qtwebengine.spec new file mode 100644 index 0000000..06b46c5 --- /dev/null +++ b/SPECS/qt5-qtwebengine.spec @@ -0,0 +1,1126 @@ +%global qt_module qtwebengine + +%global _hardened_build 1 + +# define to build docs, need to undef this for bootstrapping +# where qt5-qttools (qt5-doctools) builds are not yet available +%global docs 0 + +# need libvpx >= 1.8.0 (need commit 297dfd869609d7c3c5cd5faa3ebc7b43a394434e) +%global use_system_libvpx 0 +# need libwebp >= 0.6.0 +%global use_system_libwebp 0 + +# 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 (all architectures) and libv8.so (i686, it's static everywhere +# else) +%global __provides_exclude ^lib.*plugin\\.so.*|libv8\\.so$ +# exclude libv8.so (i686, it's static everywhere else) +%global __requires_exclude ^libv8\\.so$ +# and designer plugins +%global __provides_exclude_from ^%{_qt5_plugindir}/.*\\.so$ + +Summary: Qt5 - QtWebEngine components +Name: qt5-qtwebengine +Version: 5.12.5 +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 +# The other licenses are from Chromium and the code it bundles +License: (LGPLv2 with exceptions or GPLv3 with exceptions) and BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2) +URL: http://www.qt.io +# cleaned tarball with patent-encumbered codecs removed from the bundled FFmpeg +# wget http://download.qt.io/official_releases/qt/5.12/5.12.5/submodules/qtwebengine-everywhere-src-5.12.5.tar.xz +# ./clean_qtwebengine.sh 5.12.5 +Source0: qtwebengine-everywhere-src-%{version}-clean.tar.xz +# cleanup scripts used above +Source1: clean_qtwebengine.sh +Source2: clean_ffmpeg.sh +Source3: get_free_ffmpeg_source_files.py +# macros +Source10: macros.qt5-qtwebengine + +# pulseaudio headers +Source20: pulseaudio-12.2-headers.tar.gz + +# some tweaks to linux.pri (system yasm, link libpci, run unbundling script) +Patch0: qtwebengine-everywhere-src-5.10.0-linux-pri.patch +# quick hack to avoid checking for the nonexistent icudtl.dat and silence the +# 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.11.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 +# remove Android dependencies from openmax_dl ARM NEON detection (detect.c) +Patch10: qtwebengine-opensource-src-5.9.0-openmax-dl-neon.patch +# Force verbose output from the GN bootstrap process +Patch21: qtwebengine-everywhere-src-5.12.0-gn-bootstrap-verbose.patch +# Fix/workaround FTBFS on aarch64 with newer glibc +Patch24: qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch + +## Upstream patches: +# qtwebengine-chromium + +# handled by qt5-srpm-macros, which defines %%qt5_qtwebengine_arches +ExclusiveArch: %{qt5_qtwebengine_arches} + +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-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 +BuildRequires: libicu-devel +BuildRequires: libjpeg-devel +BuildRequires: re2-devel +BuildRequires: snappy-devel +%ifarch %{ix86} x86_64 +BuildRequires: yasm +%endif +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) +BuildRequires: pkgconfig(jsoncpp) +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(protobuf) +BuildRequires: pkgconfig(libevent) +BuildRequires: pkgconfig(zlib) +%if 0%{?fedora} && 0%{?fedora} < 30 +BuildRequires: pkgconfig(minizip) +%else +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) +## https://bugreports.qt.io/browse/QTBUG-59094 +#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 +BuildRequires: %{__python2} +%if 0%{?use_system_libvpx} +BuildRequires: pkgconfig(vpx) >= 1.7.0 +%endif + +# 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. +# Some security fixes (up to version 64.0.3282.140) are backported, see: +# http://code.qt.io/cgit/qt/qtwebengine-chromium.git/log/?h=61-based +# see dist/changes-5.10.1 for the version numbers (base, security fixes) and for +# a list of CVEs fixed by the added security backports +# See Patch101 for additional fixes applied (up to version 65.0.3325.146) +Provides: bundled(chromium) = 61.0.3163.140 + +# Bundled in src/3rdparty/chromium/third_party: +# Check src/3rdparty/chromium/third_party/*/README.chromium for version numbers, +# except where specified otherwise. +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) = 3.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.20 +# bundled as "libjingle_xmpp" +Provides: bundled(libjingle) +# see src/3rdparty/chromium/third_party/libsrtp/CHANGES for the version number +Provides: bundled(libsrtp) = 2.1.0 +%if !0%{?use_system_libvpx} +# claims "Version: 1.6.0", but according to the fine print, this is actually a +# snapshot from master from after the 1.6.1 release +Provides: bundled(libvpx) = 1.6.1 +%endif +%if !0%{?use_system_libwebp} +Provides: bundled(libwebp) = 0.6.0 +%endif +# bundled as "libxml" +# see src/3rdparty/chromium/third_party/libxml/linux/include/libxml/xmlversion.h +Provides: bundled(libxml2) = 2.9.4 +# see src/3rdparty/chromium/third_party/libxslt/linux/config.h for version +Provides: bundled(libxslt) = 1.1.29 +Provides: bundled(libXNVCtrl) = 302.17 +Provides: bundled(libyuv) = 1658 +Provides: bundled(modp_b64) +Provides: bundled(openmax_dl) = 1.0.2 +Provides: bundled(ots) +# see src/3rdparty/chromium/third_party/protobuf/CHANGES.txt for the version +#Provides: bundled(protobuf) = 3.0.0-0.1.beta3 +Provides: bundled(qcms) = 4 +Provides: bundled(sfntly) +Provides: bundled(skia) +# bundled as "smhasher" +Provides: bundled(SMHasher) = 0-0.1.svn147 +Provides: bundled(sqlite) = 3.20 +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(dmg_fp) +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) = 6.1.534.44 +# 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}} + + +%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 + +%patch0 -p1 -b .linux-pri +%patch1 -p1 -b .no-icudtl-dat +%patch2 -p1 -b .fix-extractcflag +%if !0%{?arm_neon} +%patch3 -p1 -b .no-neon +%endif +%patch4 -p1 -b .SIOCGSTAMP + +## upstream patches + +%patch10 -p1 -b .openmax-dl-neon +## NEEDSWORK +#patch21 -p1 -b .gn-bootstrap-verbose +%patch24 -p1 -b .aarch64-new-stat + +# the xkbcommon config/feature was renamed in 5.12, so need to adjust QT_CONFIG references +# when building on older Qt releases +%if "%{_qt5_version}" < "5.12.0" +sed -i -e 's|QT_CONFIG(xkbcommon)|QT_CONFIG(xkbcommon_evdev)|g' src/core/web_event_factory.cpp +%endif + +# fix // in #include in content/renderer/gpu to avoid debugedit failure +#sed -i -e 's!gpu//!gpu/!g' \ +# src/3rdparty/chromium/content/renderer/gpu/compositor_forwarding_message_filter.cc +# and another one in 2 files in WebRTC +sed -i -e 's!audio_processing//!audio_processing/!g' \ + src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/utility/ooura_fft.cc \ + src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc +# remove ./ from #line commands in ANGLE to avoid debugedit failure (?) +sed -i -e 's!\./!!g' \ + src/3rdparty/chromium/third_party/angle/src/compiler/preprocessor/Tokenizer.cpp \ + src/3rdparty/chromium/third_party/angle/src/compiler/translator/glslang_lex.cpp +# 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 + +# 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/ + +%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 + +# generate qtwebengine-3rdparty.qdoc, it is missing from the tarball +pushd src/3rdparty +%{__python2} 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 + +# copy the Chromium license so it is installed with the appropriate name +cp -p src/3rdparty/chromium/LICENSE LICENSE.Chromium + + +%build +export STRIP=strip +export NINJAFLAGS="%{__ninja_common_opts}" +export NINJA_PATH=%{__ninja} + +%{qmake_qt5} \ + %{?debug_config:CONFIG+="%{debug_config}}" \ + CONFIG+="link_pulseaudio" \ + QMAKE_EXTRA_ARGS+="-system-webengine-icu" \ + QMAKE_EXTRA_ARGS+="-webengine-kerberos" \ + . + +# 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 + +# hardlink files to {_bindir} +#mkdir -p %{buildroot}%{_bindir} +#pushd %{buildroot}%{_qt5_bindir} +#for i in * ; do +# ln -v ${i} %{buildroot}%{_bindir}/${i} +#done +#popd + +## .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 +#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 + + +%pre -p /sbin/ldconfig +%post -p /sbin/ldconfig + +%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.* src/webengine/doc/src/qtwebengine-3rdparty.qdoc +%{_qt5_libdir}/libQt5*.so.* +%{_bindir}/qwebengine_convert_dict +%{_qt5_bindir}/qwebengine_convert_dict +%{_qt5_libdir}/qt5/qml/* +%{_qt5_libdir}/qt5/libexec/QtWebEngineProcess +ifarch %{ix86} +%if 0%{?sse2} +# shared V8 library and its SSE2 version +%{_qt5_libdir}/qtwebengine/ +%endif +%{_qt5_plugindir}/designer/libqwebengineview.so +%dir %{_qt5_datadir}/resources/ +%{_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}/Qt5WebEngineCore.la +%{_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 +* 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 diff --git a/SPECS/qt5-qtxmlpatterns.spec b/SPECS/qt5-qtxmlpatterns.spec new file mode 100644 index 0000000..aac0884 --- /dev/null +++ b/SPECS/qt5-qtxmlpatterns.spec @@ -0,0 +1,390 @@ +%global qt_module qtxmlpatterns + +#global bootstrap 1 + +Summary: Qt5 - QtXmlPatterns component +Name: qt5-%{qt_module} +Version: 5.12.5 +Release: 1%{?dist} +# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details +License: LGPLv2 with exceptions or GPLv3 with exceptions +Url: http://www.qt.io +%global majmin %(echo %{version} | cut -d. -f1-2) +Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submodules/%{qt_module}-everywhere-src-%{version}.tar.xz + +BuildRequires: qt5-qtbase-devel >= %{version} +BuildRequires: qt5-qtbase-private-devel +#libQt5Core.so.5(Qt_5_PRIVATE_API)(64bit) +%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} + +%if 0%{?bootstrap} +Obsoletes: %{name}-examples < %{version}-%{release} +%global no_examples CONFIG-=compile_examples +%else +BuildRequires: qt5-qtdeclarative-devel +%global qml 1 +%endif + +%description +The Qt XML Patterns module provides support for XPath, XQuery, XSLT, +and XML Schema validation. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: qt5-qtbase-devel%{?_isa} +%description devel +%{summary}. + +%package examples +Summary: Programming examples for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +%description examples +%{summary}. + + +%prep +%autosetup -n %{qt_module}-everywhere-src-%{version} -p1 + + +%build +%{qmake_qt5} \ + %{?no_examples} + +%make_build + + +%install +make install INSTALL_ROOT=%{buildroot} + +# put non-conflicting binaries with -qt5 postfix in {_bindir} +mkdir %{buildroot}%{_bindir} +pushd %{buildroot}%{_qt5_bindir} +for i in * ; do + case "${i}" in + xmlpatterns|xmlpatternsvalidator) + ln -v ${i} %{buildroot}%{_bindir}/${i}-qt5 + ln -sv ${i} ${i}-qt5 + ;; + *) + ln -v ${i} %{buildroot}%{_bindir}/${i} + ;; + esac +done +popd + +## .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 +popd + + +%pre -p /sbin/ldconfig +%post -p /sbin/ldconfig + + +%files +%license LICENSE.LGPL* +%{_qt5_libdir}/libQt5XmlPatterns.so.5* +# consider subpkg to make boostrapping easier? -- rex +%if 0%{?qml} +%{_qt5_archdatadir}/qml/QtQuick/XmlListModel/ +%endif + +%files devel +%{_qt5_bindir}/xmlpatterns* +%{_bindir}/xmlpatterns* +%{_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 + +%if !0%{?no_examples:1} +%files examples +%{_qt5_examplesdir}/ +%endif + + +%changelog +* Tue Sep 24 2019 Jan Grulich - 5.12.5-1 +- 5.12.5 + +* Fri Jul 26 2019 Fedora Release Engineering - 5.12.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jun 14 2019 Jan Grulich - 5.12.4-1 +- 5.12.4 + +* Tue Jun 04 2019 Jan Grulich - 5.12.3-1 +- 5.12.3 + +* Tue Mar 05 2019 Rex Dieter - 5.12.1-2 +- de-bootstrap (#1685456) + +* Mon Feb 04 2019 Rex Dieter - 5.12.1-1 +- 5.12.1 +- bootstrap support + +* Sat Feb 02 2019 Fedora Release Engineering - 5.11.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Dec 07 2018 Rex Dieter - 5.11.3-1 +- 5.11.3 + +* Fri Sep 21 2018 Jan Grulich - 5.11.2-1 +- 5.11.2 + +* Sat Jul 14 2018 Fedora Release Engineering - 5.11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sat Jun 30 2018 Rex Dieter - 5.11.1-2 +- rebuild + +* Tue Jun 19 2018 Rex Dieter - 5.11.1-1 +- 5.11.1 + +* Wed May 23 2018 Rex Dieter - 5.11.0-1 +- 5.11.0 + +* Tue Feb 13 2018 Jan Grulich - 5.10.1-1 +- 5.10.1 + +* Fri Feb 09 2018 Fedora Release Engineering - 5.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Dec 19 2017 Jan Grulich - 5.10.0-1 +- 5.10.0 + +* Thu Nov 23 2017 Jan Grulich - 5.9.3-1 +- 5.9.3 + +* Tue Oct 17 2017 Rex Dieter - 5.9.2-2 +- BR: qt5-qtbase-private-devel, use %%autosetup + +* Mon Oct 09 2017 Jan Grulich - 5.9.2-1 +- 5.9.2 + +* Thu Aug 03 2017 Fedora Release Engineering - 5.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 5.9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Jul 19 2017 Rex Dieter - 5.9.1-1 +- 5.9.1 + +* Fri Jun 16 2017 Rex Dieter - 5.9.0-2 +- drop shadow/out-of-tree builds (#1456211,QTBUG-37417) + +* Wed May 31 2017 Helio Chissini de Castro - 5.9.0-1 +- Upstream official release + +* Fri May 26 2017 Helio Chissini de Castro - 5.9.0-0.1.rc +- Upstream Release Candidate retagged + +* Wed May 24 2017 Helio Chissini de Castro - 5.9.0-0.rc.1 +- Upstream Release Candidate 1 + +* Fri May 05 2017 Helio Chissini de Castro - 5.9.0-0.beta.3 +- New upstream beta3 release + +* Sun Apr 16 2017 Helio Chissini de Castro - 5.9.0-0.beta.1 +- New upstream beta release + +* Mon Apr 03 2017 Rex Dieter - 5.8.0-4 +- build -doc on all archs + +* Thu Mar 30 2017 Rex Dieter - 5.8.0-3 +- de-bootstrap + +* Wed Mar 29 2017 Rex Dieter - 5.8.0-2 +- bootstrap + +* Fri Jan 27 2017 Helio Chissini de Castro - 5.8.0-2 +- Add qt5-qtbase-doc as requires to doc creation. + +* Fri Jan 27 2017 Helio Chissini de Castro - 5.8.0-1 +- New upstream version + +* Sat Dec 10 2016 Rex Dieter - 5.7.1-4 +- drop BR: cmake (handled by qt5-rpm-macros now) + +* Fri Dec 09 2016 Rex Dieter - 5.7.1-3 +- rebuild + +* Fri Dec 09 2016 Rex Dieter - 5.7.1-2 +- 5.7.1 dec5 snapshot + +* Wed Nov 09 2016 Helio Chissini de Castro - 5.7.1-1 +- New upstream version + +* Mon Jul 04 2016 Helio Chissini de Castro - 5.7.0-2 +- Compiled with gcc + +* Tue Jun 14 2016 Helio Chissini de Castro - 5.7.0-1 +- Qt 5.7.0 release + +* Thu Jun 09 2016 Helio Chissini de Castro - 5.7.0-0.1 +- Prepare 5.7.0 release + +* Thu Jun 09 2016 Jan Grulich - 5.6.1-1 +- Update to 5.6.1 + +* Sun Mar 20 2016 Rex Dieter - 5.6.0-4 +- rebuild + +* Fri Mar 18 2016 Rex Dieter - 5.6.0-3 +- de-bootstap + +* Fri Mar 18 2016 Rex Dieter - 5.6.0-2 +- rebuild + +* Mon Mar 14 2016 Helio Chissini de Castro - 5.6.0-1 +- 5.6.0 release + +* Tue Feb 23 2016 Helio Chissini de Castro - 5.6.0-0.10.rc +- Update to final RC + +* Mon Feb 15 2016 Helio Chissini de Castro - 5.6.0-0.9.rc +- Integrate RC builds. + +* Thu Feb 04 2016 Fedora Release Engineering - 5.6.0-0.8.beta3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Dec 28 2015 Rex Dieter 5.6.0-0.7.beta3 +- update source URL, BR: cmake, use %%license + +* Mon Dec 21 2015 Helio Chissini de Castro - 5.6.0-0.6 +- Update to final beta3 release + +* Thu Dec 10 2015 Helio Chissini de Castro - 5.6.0-0.5 +- Official beta3 release + +* Sat Dec 05 2015 Rex Dieter 5.6.0-0.4 +- (re)enable bootstrap + +* Sat Dec 05 2015 Helio Chissini de Castro - 5.6.0-0.2 +- Beta 2 + +* Tue Nov 03 2015 Helio Chissini de Castro - 5.6.0-0.1 +- Start to implement 5.6.0 beta3 + +* Thu Oct 15 2015 Helio Chissini de Castro - 5.5.1-2 +- Update to final release 5.5.1 + +* Tue Sep 29 2015 Helio Chissini de Castro - 5.5.1-1 +- Update to Qt 5.5.1 RC1 + +* Wed Jul 29 2015 Rex Dieter 5.5.0-3 +- -docs: BuildRequires: qt5-qhelpgenerator, standardize bootstrapping + +* Thu Jul 16 2015 Rex Dieter 5.5.0-2 +- tighten qtbase dep (#1233829) + +* Wed Jul 1 2015 Helio Chissini de Castro 5.5.0-1 +- New final upstream release Qt 5.5.0 + +* Mon Jun 29 2015 Helio Chissini de Castro - 5.5.0-0.3.rc +- Second round of builds now with bootstrap enabled due new qttools + +* Thu Jun 25 2015 Helio Chissini de Castro - 5.5.0-0.2.rc +- Update for official RC1 released packages + +* Wed Jun 17 2015 Daniel Vrátil - 5.5.0-0.1.rc +- Qt 5.5.0 RC1 + +* Wed Jun 03 2015 Jan Grulich - 5.4.2-1 +- 5.4.2 + +* Sat May 02 2015 Kalev Lember - 5.4.1-3 +- Rebuilt for GCC 5 C++11 ABI change + +* Fri Feb 27 2015 Rex Dieter - 5.4.1-2 +- rebuild (gcc5) + +* Tue Feb 24 2015 Jan Grulich 5.4.1-1 +- 5.4.1 + +* Mon Feb 16 2015 Rex Dieter 5.4.0-2 +- rebuild (gcc5) + +* Wed Dec 10 2014 Rex Dieter 5.4.0-1 +- 5.4.0 (final) + +* Fri Nov 28 2014 Rex Dieter 5.4.0-0.3.rc +- 5.4.0-rc + +* Mon Nov 03 2014 Rex Dieter 5.4.0-0.2.beta3 +- out-of-tree build, use %%qmake_qt5 + +* Sat Oct 18 2014 Rex Dieter 5.4.0-0.1.beta3 +- 5.4.0-beta3 + +* Tue Sep 16 2014 Rex Dieter 5.3.2-1 +- 5.3.2 + +* Sun Aug 17 2014 Fedora Release Engineering - 5.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jun 17 2014 Jan Grulich - 5.3.1-1 +- 5.3.1 + +* Sun Jun 08 2014 Fedora Release Engineering - 5.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 21 2014 Jan Grulich - 5.3.0-1 +- 5.3.0 + +* Mon May 05 2014 Rex Dieter 5.2.1-2 +- use standard (same as qtbase) .prl sanitation + +* Wed Feb 05 2014 Rex Dieter 5.2.1-1 +- 5.2.1 + +* Mon Jan 27 2014 Rex Dieter 5.2.0-3 +- -examples subpkg + +* Tue Jan 14 2014 Rex Dieter 5.2.0-2 +- epel7 bootstrapped + +* Thu Dec 12 2013 Rex Dieter 5.2.0-1 +- 5.2.0 + +* Mon Dec 02 2013 Rex Dieter 5.2.0-0.10.rc1 +- 5.2.0-rc1 + +* Sun Nov 10 2013 Rex Dieter 5.2.0-0.4.beta31 +- rebuild (arm/qreal) + +* Thu Oct 24 2013 Rex Dieter 5.2.0-0.3.beta31 +- 5.2.0-beta31 + +* Wed Oct 16 2013 Rex Dieter 5.2.0-0.2.alpha +- bootstrap ppc + +* Wed Oct 02 2013 Rex Dieter 5.2.0-0.1.alpha +- 5.2.0-alpha +- -doc subpkg + +* Wed Aug 28 2013 Rex Dieter 5.1.1-1 +- 5.1.1 + +* Sat Aug 17 2013 Rex Dieter 5.0.2-2 +- %%doc LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt +- update Source URL + +* Thu Apr 11 2013 Rex Dieter 5.0.2-1 +- 5.0.2 + +* Sat Feb 23 2013 Rex Dieter 5.0.1-1 +- first try +