diff --git a/SOURCES/0012-cmake-Fix-include-dir-in-the-generated-pkg-config-fi.patch b/SOURCES/0012-cmake-Fix-include-dir-in-the-generated-pkg-config-fi.patch new file mode 100644 index 0000000..48056e6 --- /dev/null +++ b/SOURCES/0012-cmake-Fix-include-dir-in-the-generated-pkg-config-fi.patch @@ -0,0 +1,33 @@ +From fbd1de045999d1e5b5dcae7ac6c1e674ac0044fe Mon Sep 17 00:00:00 2001 +From: Dmitry Shachnev +Date: Sat, 24 Feb 2018 15:09:53 +0300 +Subject: [PATCH 12/14] [cmake] Fix include dir in the generated pkg-config + files + +--- + Source/WebKit/PlatformQt.cmake | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake +index 6fe440be800..28976b611cd 100644 +--- a/Source/WebKit/PlatformQt.cmake ++++ b/Source/WebKit/PlatformQt.cmake +@@ -503,6 +503,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) + ecm_generate_pkgconfig_file( + BASE_NAME Qt5WebKit + DESCRIPTION "Qt WebKit module" ++ INCLUDE_INSTALL_DIR "${KDE_INSTALL_INCLUDEDIR}/QtWebKit" + DEPS "${WEBKIT_PKGCONGIG_DEPS}" + FILENAME_VAR WebKit_PKGCONFIG_FILENAME + ) +@@ -728,6 +729,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) + ecm_generate_pkgconfig_file( + BASE_NAME Qt5WebKitWidgets + DESCRIPTION "Qt WebKitWidgets module" ++ INCLUDE_INSTALL_DIR "${KDE_INSTALL_INCLUDEDIR}/QtWebKitWidgets" + DEPS "${WEBKITWIDGETS_PKGCONFIG_DEPS}" + FILENAME_VAR WebKitWidgets_PKGCONFIG_FILENAME + ) +-- +2.17.1 + diff --git a/SOURCES/0016-cmake-Import-ECMEnableSanitizers.patch b/SOURCES/0016-cmake-Import-ECMEnableSanitizers.patch new file mode 100644 index 0000000..da4d426 --- /dev/null +++ b/SOURCES/0016-cmake-Import-ECMEnableSanitizers.patch @@ -0,0 +1,204 @@ +From 4ef333ab0b60ca86e9a44cae0b77d1f752892a94 Mon Sep 17 00:00:00 2001 +From: Konstantin Tokarev +Date: Tue, 27 Jun 2017 16:34:00 +0300 +Subject: [PATCH 016/143] [cmake] Import ECMEnableSanitizers + +Change-Id: I1417511f0734e8d03bf8d55c5766b57388ed5504 +--- + Source/cmake/ECMEnableSanitizers.cmake | 173 +++++++++++++++++++++++++ + Source/cmake/OptionsQt.cmake | 1 + + 2 files changed, 174 insertions(+) + create mode 100644 Source/cmake/ECMEnableSanitizers.cmake + +diff --git a/Source/cmake/ECMEnableSanitizers.cmake b/Source/cmake/ECMEnableSanitizers.cmake +new file mode 100644 +index 00000000000..06cc0b66d86 +--- /dev/null ++++ b/Source/cmake/ECMEnableSanitizers.cmake +@@ -0,0 +1,173 @@ ++#.rst: ++# ECMEnableSanitizers ++# ------------------- ++# ++# Enable compiler sanitizer flags. ++# ++# The following sanitizers are supported: ++# ++# - Address Sanitizer ++# - Memory Sanitizer ++# - Thread Sanitizer ++# - Leak Sanitizer ++# - Undefined Behaviour Sanitizer ++# ++# All of them are implemented in Clang, depending on your version, and ++# there is an work in progress in GCC, where some of them are currently ++# implemented. ++# ++# This module will check your current compiler version to see if it ++# supports the sanitizers that you want to enable ++# ++# Usage ++# ===== ++# ++# Simply add:: ++# ++# include(ECMEnableSanitizers) ++# ++# to your ``CMakeLists.txt``. Note that this module is included in ++# KDECompilerSettings, so projects using that module do not need to also ++# include this one. ++# ++# The sanitizers are not enabled by default. Instead, you must set ++# ``ECM_ENABLE_SANITIZERS`` (either in your ``CMakeLists.txt`` or on the ++# command line) to a semicolon-separated list of sanitizers you wish to enable. ++# The options are: ++# ++# - address ++# - memory ++# - thread ++# - leak ++# - undefined ++# ++# The sanitizers "address", "memory" and "thread" are mutually exclusive. You ++# cannot enable two of them in the same build. ++# ++# "leak" requires the "address" sanitizer. ++# ++# .. note:: ++# ++# To reduce the overhead induced by the instrumentation of the sanitizers, it ++# is advised to enable compiler optimizations (``-O1`` or higher). ++# ++# Example ++# ======= ++# ++# This is an example of usage:: ++# ++# mkdir build ++# cd build ++# cmake -DECM_ENABLE_SANITIZERS='address;leak;undefined' .. ++# ++# .. note:: ++# ++# Most of the sanitizers will require Clang. To enable it, use:: ++# ++# -DCMAKE_CXX_COMPILER=clang++ ++# ++# Since 1.3.0. ++ ++#============================================================================= ++# Copyright 2014 Mathieu Tarral ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions ++# are met: ++# ++# 1. Redistributions of source code must retain the copyright ++# notice, this list of conditions and the following disclaimer. ++# 2. Redistributions in binary form must reproduce the copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# 3. The name of the author may not be used to endorse or promote products ++# derived from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++# MACRO check_compiler_version ++#----------------------------- ++macro (check_compiler_version gcc_required_version clang_required_version) ++ if ( ++ ( ++ CMAKE_CXX_COMPILER_ID MATCHES "GNU" ++ AND ++ CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${gcc_required_version} ++ ) ++ OR ++ ( ++ CMAKE_CXX_COMPILER_ID MATCHES "Clang" ++ AND ++ CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${clang_required_version} ++ ) ++ ) ++ # error ! ++ message(FATAL_ERROR "You ask to enable the sanitizer ${CUR_SANITIZER}, ++ but your compiler ${CMAKE_CXX_COMPILER_ID} version ${CMAKE_CXX_COMPILER_VERSION} ++ does not support it ! ++ You should use at least GCC ${gcc_required_version} or Clang ${clang_required_version} ++ (99.99 means not implemented yet)") ++ endif () ++endmacro () ++ ++# MACRO check_compiler_support ++#------------------------------ ++macro (enable_sanitizer_flags sanitize_option) ++ if (${sanitize_option} MATCHES "address") ++ check_compiler_version("4.8" "3.1") ++ set(XSAN_COMPILE_FLAGS "-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls") ++ set(XSAN_LINKER_FLAGS "asan") ++ elseif (${sanitize_option} MATCHES "thread") ++ check_compiler_version("4.8" "3.1") ++ set(XSAN_COMPILE_FLAGS "-fsanitize=thread") ++ set(XSAN_LINKER_FLAGS "tsan") ++ elseif (${sanitize_option} MATCHES "memory") ++ check_compiler_version("99.99" "3.1") ++ set(XSAN_COMPILE_FLAGS "-fsanitize=memory") ++ elseif (${sanitize_option} MATCHES "leak") ++ check_compiler_version("4.9" "3.4") ++ set(XSAN_COMPILE_FLAGS "-fsanitize=leak") ++ set(XSAN_LINKER_FLAGS "lsan") ++ elseif (${sanitize_option} MATCHES "undefined") ++ check_compiler_version("4.9" "3.1") ++ set(XSAN_COMPILE_FLAGS "-fsanitize=undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls") ++ else () ++ message(FATAL_ERROR "Compiler sanitizer option \"${sanitize_option}\" not supported.") ++ endif () ++endmacro () ++ ++if (ECM_ENABLE_SANITIZERS) ++ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") ++ # for each element of the ECM_ENABLE_SANITIZERS list ++ foreach ( CUR_SANITIZER ${ECM_ENABLE_SANITIZERS} ) ++ # lowercase filter ++ string(TOLOWER ${CUR_SANITIZER} CUR_SANITIZER) ++ # check option and enable appropriate flags ++ enable_sanitizer_flags ( ${CUR_SANITIZER} ) ++ # TODO: GCC will not link pthread library if enabled ASan ++ if(CMAKE_C_COMPILER_ID MATCHES "Clang") ++ set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${XSAN_COMPILE_FLAGS}" ) ++ endif() ++ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${XSAN_COMPILE_FLAGS}" ) ++ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") ++ link_libraries(${XSAN_LINKER_FLAGS}) ++ endif() ++ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") ++ string(REPLACE "-Wl,--no-undefined" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") ++ string(REPLACE "-Wl,--no-undefined" "" CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}") ++ endif () ++ endforeach() ++ else() ++ message(STATUS "Tried to enable sanitizers (-DECM_ENABLE_SANITIZERS=${ECM_ENABLE_SANITIZERS}), \ ++but compiler (${CMAKE_CXX_COMPILER_ID}) does not have sanitizer support") ++ endif() ++endif() +diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake +index 463a091c787..0835e47aa72 100644 +--- a/Source/cmake/OptionsQt.cmake ++++ b/Source/cmake/OptionsQt.cmake +@@ -1,4 +1,5 @@ + include(FeatureSummary) ++include(ECMEnableSanitizers) + include(ECMPackageConfigHelpers) + + set(ECM_MODULE_DIR ${CMAKE_MODULE_PATH}) +-- +2.17.1 + diff --git a/SOURCES/0031-Disable-ES6-Proxy-object.patch b/SOURCES/0031-Disable-ES6-Proxy-object.patch new file mode 100644 index 0000000..bd2d57e --- /dev/null +++ b/SOURCES/0031-Disable-ES6-Proxy-object.patch @@ -0,0 +1,24 @@ +From 5648446933f52fe479d0a9006f6393a81a790116 Mon Sep 17 00:00:00 2001 +From: Konstantin Tokarev +Date: Thu, 25 May 2017 00:49:22 +0300 +Subject: [PATCH 031/143] Disable ES6 Proxy object + +Change-Id: Ifd6404e254b242afa8dd563c03f9588b4b05ab93 +--- + Source/JavaScriptCore/runtime/JSGlobalObject.cpp | 3 + + 91 files changed, 17 insertions(+), 1379 deletions(-) +diff --git a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp b/Source/JavaScriptCore/runtime/JSGlobalObject.cpp +index 9e613a21215..7d57590b4c5 100644 +--- a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp ++++ b/Source/JavaScriptCore/runtime/JSGlobalObject.cpp +@@ -458,7 +458,10 @@ m_ ## lowerName ## Prototype->putDirectWithoutTransition(vm, vm.propertyNames->c + putDirectWithoutTransition(vm, vm.propertyNames->TypeError, m_typeErrorConstructor.get(), DontEnum); + putDirectWithoutTransition(vm, vm.propertyNames->URIError, m_URIErrorConstructor.get(), DontEnum); + ++#if !PLATFORM(QT) ++ // Disable ES6 Proxy because our implementation is not compliant with what real world code expects + putDirectWithoutTransition(vm, vm.propertyNames->Proxy, ProxyConstructor::create(vm, ProxyConstructor::createStructure(vm, this, m_functionPrototype.get())), DontEnum); ++#endif + + + #define PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName) \ diff --git a/SOURCES/0111-ECM-Update-ECMGeneratePkgConfigFile-to-latest-versio.patch b/SOURCES/0111-ECM-Update-ECMGeneratePkgConfigFile-to-latest-versio.patch new file mode 100644 index 0000000..9b5c02d --- /dev/null +++ b/SOURCES/0111-ECM-Update-ECMGeneratePkgConfigFile-to-latest-versio.patch @@ -0,0 +1,156 @@ +From 0325d51c4a2a05fb11b93f0c99d1d08976aac47d Mon Sep 17 00:00:00 2001 +From: Konstantin Tokarev +Date: Thu, 28 Dec 2017 02:22:58 +0300 +Subject: [PATCH 111/143] [ECM] Update ECMGeneratePkgConfigFile to latest + version, fill in DESCRIPTION + +Change-Id: Ib9252a02badeb2be4d8da74c9ab38195ded92afd +--- + Source/WebKit/PlatformQt.cmake | 2 + + Source/cmake/ECMGeneratePkgConfigFile.cmake | 60 ++++++++++++++++----- + 2 files changed, 50 insertions(+), 12 deletions(-) + +diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake +index cf5f3670040..909efc00dba 100644 +--- a/Source/WebKit/PlatformQt.cmake ++++ b/Source/WebKit/PlatformQt.cmake +@@ -502,6 +502,7 @@ endif () + if (NOT MACOS_BUILD_FRAMEWORKS) + ecm_generate_pkgconfig_file( + BASE_NAME Qt5WebKit ++ DESCRIPTION "Qt WebKit module" + DEPS "${WEBKIT_PKGCONGIG_DEPS}" + FILENAME_VAR WebKit_PKGCONFIG_FILENAME + ) +@@ -726,6 +727,7 @@ install( + if (NOT MACOS_BUILD_FRAMEWORKS) + ecm_generate_pkgconfig_file( + BASE_NAME Qt5WebKitWidgets ++ DESCRIPTION "Qt WebKitWidgets module" + DEPS "${WEBKITWIDGETS_PKGCONFIG_DEPS}" + FILENAME_VAR WebKitWidgets_PKGCONFIG_FILENAME + ) +diff --git a/Source/cmake/ECMGeneratePkgConfigFile.cmake b/Source/cmake/ECMGeneratePkgConfigFile.cmake +index b4e68663038..09d7e2b476d 100644 +--- a/Source/cmake/ECMGeneratePkgConfigFile.cmake ++++ b/Source/cmake/ECMGeneratePkgConfigFile.cmake +@@ -16,6 +16,7 @@ + # [INCLUDE_INSTALL_DIR ] + # [LIB_INSTALL_DIR ] + # [DEFINES -D...] ++# [DESCRIPTION ] + # [INSTALL]) + # + # ``BASE_NAME`` is the name of the module. It's the name projects will use to +@@ -42,6 +43,10 @@ + # ``DEFINES`` is a list of preprocessor defines that it is recommended users of + # the library pass to the compiler when using it. + # ++# ``DESCRIPTION`` describes what this library is. If it's not specified, CMake ++# will first try to get the description from the metainfo.yaml file or will ++# create one based on ``LIB_NAME``. ++# + # ``INSTALL`` will cause the module to be installed to the ``pkgconfig`` + # subdirectory of ``LIB_INSTALL_DIR``, unless the ``ECM_PKGCONFIG_INSTALL_DIR`` + # cache variable is set to something different. Note that the first call to +@@ -66,24 +71,39 @@ + # ) + # + # Since 1.3.0. ++# ``DESCRIPTION`` available since 5.1.41 ++# + + #============================================================================= + # Copyright 2014 Aleix Pol Gonzalez + # Copyright 2014 David Faure + # +-# Distributed under the OSI-approved BSD License (the "License"); +-# see accompanying file COPYING-CMAKE-SCRIPTS for details. +-# +-# This software is distributed WITHOUT ANY WARRANTY; without even the +-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +-# See the License for more information. +-#============================================================================= +-# (To distribute this file outside of extra-cmake-modules, substitute the full +-# License text for the above reference.) ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions ++# are met: ++# ++# 1. Redistributions of source code must retain the copyright ++# notice, this list of conditions and the following disclaimer. ++# 2. Redistributions in binary form must reproduce the copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# 3. The name of the author may not be used to endorse or promote products ++# derived from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + function(ECM_GENERATE_PKGCONFIG_FILE) + set(options INSTALL) +- set(oneValueArgs BASE_NAME LIB_NAME FILENAME_VAR INCLUDE_INSTALL_DIR LIB_INSTALL_DIR) ++ set(oneValueArgs BASE_NAME LIB_NAME FILENAME_VAR INCLUDE_INSTALL_DIR LIB_INSTALL_DIR DESCRIPTION) + set(multiValueArgs DEPS DEFINES) + + cmake_parse_arguments(EGPF "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) +@@ -119,6 +139,17 @@ function(ECM_GENERATE_PKGCONFIG_FILE) + set(EGPF_LIB_INSTALL_DIR "lib") + endif() + endif() ++ if(NOT EGPF_DESCRIPTION) ++ if(EXISTS ${CMAKE_SOURCE_DIR}/metainfo.yaml) ++ file(STRINGS "${CMAKE_SOURCE_DIR}/metainfo.yaml" _EGPF_METAINFO_DESCRIPTION_STRING REGEX "^description:.*$") ++ if(_EGPF_METAINFO_DESCRIPTION_STRING) ++ string(REGEX REPLACE "^description:[ ]*(.*)" "\\1" EGPF_DESCRIPTION ${_EGPF_METAINFO_DESCRIPTION_STRING}) ++ endif() ++ endif() ++ if("${EGPF_DESCRIPTION}" STREQUAL "") ++ set(EGPF_DESCRIPTION "${EGPF_LIB_NAME} library.") ++ endif() ++ endif() + + set(PKGCONFIG_TARGET_BASENAME ${EGPF_BASE_NAME}) + set(PKGCONFIG_TARGET_LIBNAME ${EGPF_LIB_NAME}) +@@ -135,6 +166,7 @@ function(ECM_GENERATE_PKGCONFIG_FILE) + else() + set(PKGCONFIG_TARGET_LIBS "${CMAKE_INSTALL_PREFIX}/${EGPF_LIB_INSTALL_DIR}") + endif() ++ set(PKGCONFIG_TARGET_DESCRIPTION "${EGPF_DESCRIPTION}") + set(PKGCONFIG_TARGET_DEFINES "") + if(EGPF_DEFINES) + set(PKGCONFIG_TARGET_DEFINES "${EGPF_DEFINE}") +@@ -148,6 +180,7 @@ function(ECM_GENERATE_PKGCONFIG_FILE) + file(WRITE ${PKGCONFIG_FILENAME} + " + Name: ${PKGCONFIG_TARGET_LIBNAME} ++Description: ${PKGCONFIG_TARGET_DESCRIPTION} + Version: ${PROJECT_VERSION} + Libs: -L${CMAKE_INSTALL_PREFIX}/${EGPF_LIB_INSTALL_DIR} -l${PKGCONFIG_TARGET_LIBNAME} + Cflags: ${PKGCONFIG_TARGET_INCLUDES} ${PKGCONFIG_TARGET_DEFINES} +@@ -156,8 +189,11 @@ Requires: ${PKGCONFIG_TARGET_DEPS} + ) + + if(EGPF_INSTALL) +- set(ECM_PKGCONFIG_INSTALL_DIR "${EGPF_LIB_INSTALL_DIR}/pkgconfig" CACHE PATH "The directory where pkgconfig will be installed to.") ++ if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") ++ set(ECM_PKGCONFIG_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig" CACHE PATH "The directory where pkgconfig will be installed to.") ++ else() ++ set(ECM_PKGCONFIG_INSTALL_DIR "${EGPF_LIB_INSTALL_DIR}/pkgconfig" CACHE PATH "The directory where pkgconfig will be installed to.") ++ endif() + install(FILES ${PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR}) + endif() + endfunction() +- +-- +2.17.1 + diff --git a/SOURCES/qt5-qtwebkit-5.212.0-alpha2-fix-pagewidth.patch b/SOURCES/qt5-qtwebkit-5.212.0-alpha2-fix-pagewidth.patch new file mode 100644 index 0000000..0837b91 --- /dev/null +++ b/SOURCES/qt5-qtwebkit-5.212.0-alpha2-fix-pagewidth.patch @@ -0,0 +1,12 @@ +diff -Naur qtwebkit/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp qtwebkit.new/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp +--- qtwebkit/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp 2017-10-23 17:25:58.941518553 +0200 ++++ qtwebkit.new/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp 2017-10-23 17:27:44.223917497 +0200 +@@ -961,6 +961,8 @@ + FrameView* view = frame->view(); + ASSERT(view); + view->resize(size); ++ if (view->needsLayout()) ++ view->layout(); + view->adjustViewSize(); + } + diff --git a/SOURCES/qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference.patch b/SOURCES/qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference.patch new file mode 100644 index 0000000..4cf7ae4 --- /dev/null +++ b/SOURCES/qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference.patch @@ -0,0 +1,15 @@ +diff -ur qtwebkit-5.212.0-alpha2/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp +--- qtwebkit-5.212.0-alpha2/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp 2017-06-09 16:11:36.000000000 +0200 ++++ qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp 2017-10-24 21:44:40.504943501 +0200 +@@ -390,7 +390,10 @@ + + QString QWebPageAdapter::selectedHtml() const + { +- return page->focusController().focusedOrMainFrame().editor().selectedRange()->toHTML(); ++ RefPtr range = page->focusController().focusedOrMainFrame().editor().selectedRange(); ++ if (!range) ++ return QString(); ++ return range->toHTML(); + } + + bool QWebPageAdapter::isContentEditable() const diff --git a/SOURCES/qtwebkit-5.212.0_cmake_cmp0071.patch b/SOURCES/qtwebkit-5.212.0_cmake_cmp0071.patch new file mode 100644 index 0000000..b42af57 --- /dev/null +++ b/SOURCES/qtwebkit-5.212.0_cmake_cmp0071.patch @@ -0,0 +1,32 @@ +Index: qtwebkit-5.212.0-alpha2/CMakeLists.txt +=================================================================== +--- qtwebkit-5.212.0-alpha2.orig/CMakeLists.txt ++++ qtwebkit-5.212.0-alpha2/CMakeLists.txt +@@ -6,6 +6,11 @@ if (POLICY CMP0058) + cmake_policy(SET CMP0058 NEW) + endif () + ++# Explicitly process generated files with AUTOMOC. ++if (POLICY CMP0071) ++ cmake_policy(SET CMP0071 NEW) ++endif () ++ + set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake") + + if (NOT DEFINED ENABLE_WEBKIT) +Index: qtwebkit-5.212.0-alpha2/Source/WebKit/CMakeLists.txt +=================================================================== +--- qtwebkit-5.212.0-alpha2.orig/Source/WebKit/CMakeLists.txt ++++ qtwebkit-5.212.0-alpha2/Source/WebKit/CMakeLists.txt +@@ -1,6 +1,11 @@ + cmake_minimum_required(VERSION 2.8.12) + include(WebKitCommon) + ++# Explicitly process generated files with AUTOMOC. ++if (POLICY CMP0071) ++ cmake_policy(SET CMP0071 NEW) ++endif () ++ + set(WebKit_SOURCES + Storage/StorageAreaImpl.cpp + Storage/StorageAreaSync.cpp diff --git a/SOURCES/qtwebkit-5.212.0_fix_missing_sources.patch b/SOURCES/qtwebkit-5.212.0_fix_missing_sources.patch new file mode 100644 index 0000000..ca372a2 --- /dev/null +++ b/SOURCES/qtwebkit-5.212.0_fix_missing_sources.patch @@ -0,0 +1,20 @@ +Index: qtwebkit-5.212.0-alpha2/Source/WebKit/PlatformQt.cmake +=================================================================== +--- qtwebkit-5.212.0-alpha2.orig/Source/WebKit/PlatformQt.cmake ++++ qtwebkit-5.212.0-alpha2/Source/WebKit/PlatformQt.cmake +@@ -786,6 +786,7 @@ if (COMPILER_IS_GCC_OR_CLANG) + set_source_files_properties( + qt/Api/qwebdatabase.cpp + qt/Api/qwebelement.cpp ++ qt/Api/qwebfullscreenrequest.cpp + qt/Api/qwebhistory.cpp + qt/Api/qwebhistoryinterface.cpp + qt/Api/qwebpluginfactory.cpp +@@ -795,7 +796,6 @@ if (COMPILER_IS_GCC_OR_CLANG) + + qt/WidgetApi/qgraphicswebview.cpp + qt/WidgetApi/qwebframe.cpp +- qt/WidgetApi/qwebfullscreenrequest.cpp + qt/WidgetApi/qwebinspector.cpp + qt/WidgetApi/qwebpage.cpp + qt/WidgetApi/qwebview.cpp diff --git a/SPECS/qt5-qtwebkit.spec b/SPECS/qt5-qtwebkit.spec index 514f015..9fcc693 100644 --- a/SPECS/qt5-qtwebkit.spec +++ b/SPECS/qt5-qtwebkit.spec @@ -1,91 +1,117 @@ +%undefine _annotated_build %global qt_module qtwebkit %global _hardened_build 1 -Summary: Qt5 - QtWebKit components -Name: qt5-qtwebkit -Version: 5.9.1 -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 -License: LGPLv2 with exceptions or GPLv3 with exceptions -Source0: https://download.qt.io/official_releases/qt/5.9/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz - -## downstream patches -# Search /usr/lib{,64}/mozilla/plugins-wrapped for browser plugins too -Patch1: qtwebkit-opensource-src-5.2.0-pluginpath.patch - -# smaller debuginfo s/-g/-g1/ (debian uses -gstabs) to avoid 4gb size limit -Patch3: qtwebkit-opensource-src-5.0.1-debuginfo.patch - -# tweak linker flags to minimize memory usage on "small" platforms -Patch4: qtwebkit-opensource-src-5.2.0-save_memory.patch - -# Add AArch64 support -Patch7: 0001-Add-ARM-64-support.patch +%global prerel alpha2 +%global prerel_tag -%{prerel} + +## NOTE: Lots of files in various subdirectories have the same name (such as +## "LICENSE") so this short macro allows us to distinguish them by using their +## directory names (from the source tree) as prefixes for the files. +%global add_to_license_files() \ + mkdir -p _license_files ; \ + cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') + +Name: qt5-%{qt_module} +Version: 5.212.0 +Release: 0.30.%{?prerel}%{?dist} +Summary: Qt5 - QtWebKit components + +License: LGPLv2 and BSD +URL: https://github.com/annulen/webkit +Source0: %{url}/releases/download/%{qt_module}-%{version}%{?prerel_tag}/%{qt_module}-%{version}%{?prerel_tag}.tar.xz + +# Upstream patch to fix pagewidth issue with trojita +# https://github.com/annulen/webkit/issues/511 +# https://github.com/annulen/webkit/commit/6faf11215e1af27d35e921ae669aa0251a01a1ab +# https://github.com/annulen/webkit/commit/76420459a13d9440b41864c93cb4ebb404bdab55 +Patch0: qt5-qtwebkit-5.212.0-alpha2-fix-pagewidth.patch + +# Patch from Kevin Kofler to fix https://github.com/annulen/webkit/issues/573 +Patch1: qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference.patch + +# Patch for new CMake policy CMP0071 to explicitly use old behaviour. +Patch2: qtwebkit-5.212.0_cmake_cmp0071.patch + +# Patch to fix for missing source file. +Patch3: qtwebkit-5.212.0_fix_missing_sources.patch + +## upstream patches (qtwebkit-5.212 branch) +Patch16: 0016-cmake-Import-ECMEnableSanitizers.patch +# disable ES6 Proxy +Patch31: 0031-Disable-ES6-Proxy-object.patch +Patch111: 0111-ECM-Update-ECMGeneratePkgConfigFile-to-latest-versio.patch + +## upstream patches (qtwebkit-stable branch) +Patch212: 0012-cmake-Fix-include-dir-in-the-generated-pkg-config-fi.patch + +BuildRequires: bison +BuildRequires: cmake +BuildRequires: flex +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: gperf +BuildRequires: pkgconfig(gstreamer-1.0) +BuildRequires: pkgconfig(gstreamer-app-1.0) +BuildRequires: hyphen-devel +BuildRequires: pkgconfig(icu-i18n) pkgconfig(icu-uc) +BuildRequires: libjpeg-devel +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(xcomposite) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(libxslt) +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(gstreamer-gl-1.0) +BuildRequires: pkgconfig(gstreamer-mpegts-1.0) +BuildRequires: perl-generators +BuildRequires: python2 +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qtdeclarative-devel +%if ! 0%{?bootstrap} +BuildRequires: qt5-qtlocation-devel +BuildRequires: qt5-qtsensors-devel +BuildRequires: qt5-qtwebchannel-devel +%endif +BuildRequires: pkgconfig(ruby) +BuildRequires: rubygems +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(zlib) +# workaround bad embedded png files, https://bugzilla.redhat.com/1639422 +BuildRequires: findutils +BuildRequires: pngcrush + +BuildRequires: qt5-qtbase-private-devel +%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} +BuildRequires: qt5-qtdeclarative-private-devel +%{?_qt5:Requires: qt5-qtdeclarative%{?_isa} = %{_qt5_version}} -# truly madly deeply no rpath please, kthxbye -Patch8: qtwebkit-opensource-src-5.2.1-no_rpath.patch # filter qml provides %global __provides_exclude_from ^%{_qt5_archdatadir}/qml/.*\\.so$ -BuildRequires: qt5-qtbase-devel >= %{version} -BuildRequires: qt5-qtdeclarative-devel >= %{version} -%if ! 0%{?bootstrap} -BuildRequires: pkgconfig(Qt5Sensors) -BuildRequires: pkgconfig(Qt5Location) -BuildRequires: pkgconfig(Qt5WebChannel) -%endif -BuildRequires: bison -BuildRequires: flex -BuildRequires: gperf -BuildRequires: libicu-devel -BuildRequires: libjpeg-devel -BuildRequires: pkgconfig(gio-2.0) pkgconfig(glib-2.0) -BuildRequires: pkgconfig(fontconfig) -BuildRequires: pkgconfig(gl) -# gstreamer media support -%if 0%{?fedora} > 20 || 0%{?rhel} > 7 -BuildRequires: pkgconfig(gstreamer-1.0) pkgconfig(gstreamer-app-1.0) -%else -BuildRequires: pkgconfig(gstreamer-0.10) pkgconfig(gstreamer-app-0.10) -%endif -BuildRequires: pkgconfig(libpng) -BuildRequires: pkgconfig(libpcre) -BuildRequires: pkgconfig(libudev) -%if 0%{?fedora} || 0%{?rhel} > 6 -BuildRequires: pkgconfig(libwebp) -%endif -BuildRequires: pkgconfig(libxslt) -BuildRequires: pkgconfig(sqlite3) -BuildRequires: pkgconfig(xcomposite) pkgconfig(xrender) -BuildRequires: perl perl(version) -BuildRequires: perl(Digest::MD5) perl(Text::ParseWords) perl(Getopt::Long) -BuildRequires: python -BuildRequires: ruby rubygems -%if 0%{?fedora} -BuildRequires: rubypick -%endif -BuildRequires: zlib-devel +# We're supposed to specify versions here, but these crap Google libs don't do +# normal releases. Accordingly, they're not suitable to be system libs. +Provides: bundled(angle) +Provides: bundled(brotli) +Provides: bundled(woff2) -BuildRequires: qt5-qtbase-private-devel -%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} -BuildRequires: qt5-qtdeclarative-private-devel -%{?_qt5:Requires: qt5-qtdeclarative%{?_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} -%description devel -%{summary}. +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: qt5-qtbase-devel%{?_isa} +Requires: qt5-qtdeclarative-devel%{?_isa} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. %if 0%{?docs} %package doc @@ -93,89 +119,128 @@ Summary: API documentation for %{name} BuildRequires: qt5-qdoc BuildRequires: qt5-qhelpgenerator BuildArch: noarch + %description doc %{summary}. %endif %prep -%setup -q -n %{qt_module}-opensource-src-%{version} - -%patch1 -p1 -b .pluginpath -%patch3 -p1 -b .debuginfo -%patch4 -p1 -b .save_memory -%patch7 -p1 -b .aarch64 -%patch8 -p1 -b .no_rpath - -echo "nuke bundled code..." -# nuke bundled code -mkdir Source/ThirdParty/orig -mv Source/ThirdParty/{gtest/,qunit/} \ - Source/ThirdParty/orig/ +%autosetup -p1 -n %{qt_module}-%{version}%{?prerel_tag} -if [ ! -d include ]; then -syncqt.pl -version %{version} Source/sync.profile -fi +# find/fix pngs with "libpng warning: iCCP: known incorrect sRGB profile" +find -name \*.png | xargs -n3 pngcrush -ow -fix %build -mkdir %{_target_platform} -pushd %{_target_platform} +# The following changes of optflags ietc. are adapted from webkitgtk4 package, which +# is mostly similar to this one... +# +# Increase the DIE limit so our debuginfo packages could be size optimized. +# Decreases the size for x86_64 from ~5G to ~1.1G. +# https://bugzilla.redhat.com/show_bug.cgi?id=1456261 +%global _dwz_max_die_limit 250000000 + +# Decrease debuginfo even on ix86 because of: +# https://bugs.webkit.org/show_bug.cgi?id=140176 +%ifarch s390 s390x %{arm} %{ix86} ppc %{power64} %{mips} +# Decrease debuginfo verbosity to reduce memory consumption even more +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') +%endif -%{qmake_qt5} .. \ -#%ifnarch %{arm} %{ix86} x86_64 - DEFINES+=ENABLE_JIT=0 DEFINES+=ENABLE_YARR_JIT=0 -#%endif +%ifarch ppc +# Use linker flag -relax to get WebKit build under ppc(32) with JIT disabled +%global optflags %{optflags} -Wl,-relax +%endif -# workaround, disable parallel compilation as it fails to compile in brew -#make %{?_smp_mflags} -make -j3 +CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; +CXXFLAGS="${CXXFLAGS:-%optflags} -fpermissive" ; export CXXFLAGS ; +%{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;} +# We cannot use default cmake macro here as it overwrites some settings queried +# by qtwebkit cmake from qmake +cmake -DPORT=Qt \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_TOOLS=OFF \ + -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \ + -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ +%ifarch s390 s390x ppc %{power64} + -DENABLE_JIT=OFF \ +%endif +%ifarch s390 s390x ppc %{power64} + -DUSE_SYSTEM_MALLOC=ON \ +%endif +%if 0%{?docs} + -DGENERATE_DOCUMENTATION=ON \ +%endif + . + +%make_build %if 0%{?docs} -make %{?_smp_mflags} docs +%make_build docs %endif -popd %install -make install INSTALL_ROOT=%{buildroot} -C %{_target_platform} +%make_install -%if 0%{?docs} -make install_docs INSTALL_ROOT=%{buildroot} -C %{_target_platform} -%endif +find %{buildroot} -name '*.la' -exec rm -f {} ';' + +# fix pkgconfig files +#sed -i '/Name/a Description: Qt5 WebKit module' %{buildroot}%{_libdir}/pkgconfig/Qt5WebKit.pc +#sed -i "s,Cflags: -I%{_qt5_libdir}/qt5/../../include/qt5/Qt5WebKit,Cflags: -I%{_qt5_headerdir}/QtWebKit,g" %{buildroot}%{_libdir}/pkgconfig/Qt5WebKit.pc +# strictly speaking, this isn't *wrong*, but can made more readable, so let's do that +sed -i "s,Libs: -L%{_qt5_libdir}/qt5/../ -lQt5WebKit,Libs: -L%{_qt5_libdir} -lQt5WebKit ,g" %{buildroot}%{_libdir}/pkgconfig/Qt5WebKit.pc + +#sed -i '/Name/a Description: Qt5 WebKitWidgets module' %{buildroot}%{_libdir}/pkgconfig/Qt5WebKitWidgets.pc +#sed -i "s,Cflags: -I%{_qt5_libdir}/qt5/../../include/qt5/Qt5WebKitWidgets,Cflags: -I%{_qt5_headerdir}/QtWebKitWidgets,g" %{buildroot}%{_libdir}/pkgconfig/Qt5WebKitWidgets.pc +sed -i "s,Libs: -L%{_qt5_libdir}/qt5/../ -lQt5WebKitWidgets,Libs: -L%{_qt5_libdir} -lQt5WebKitWidgets ,g" %{buildroot}%{_libdir}/pkgconfig/Qt5WebKitWidgets.pc + +# Finally, copy over and rename various files for %%license inclusion +%add_to_license_files Source/JavaScriptCore/COPYING.LIB +%add_to_license_files Source/JavaScriptCore/icu/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/compiler/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/murmurhash/LICENSE +%add_to_license_files Source/WebCore/icu/LICENSE +%add_to_license_files Source/WebCore/LICENSE-APPLE +%add_to_license_files Source/WebCore/LICENSE-LGPL-2 +%add_to_license_files Source/WebCore/LICENSE-LGPL-2.1 +%add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE +%add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE +%add_to_license_files Source/WTF/icu/LICENSE +%add_to_license_files Source/WTF/wtf/dtoa/COPYING +%add_to_license_files Source/WTF/wtf/dtoa/LICENSE -## .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 - -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig + +%check +# verify Qt5WebKit cflags non-use of -I/.../Qt5WebKit +export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig +test -z "$(pkg-config --cflags Qt5WebKit | grep Qt5WebKit)" + + +%ldconfig_scriptlets %files -%license Source/WebCore/LICENSE* -%doc ChangeLog* VERSION +%license LICENSE.LGPLv21 _license_files/* %{_qt5_libdir}/libQt5WebKit.so.5* %{_qt5_libdir}/libQt5WebKitWidgets.so.5* +%{_qt5_libexecdir}/QtWebDatabaseProcess +%{_qt5_libexecdir}/QtWebNetworkProcess %{_qt5_libexecdir}/QtWebPluginProcess %{_qt5_libexecdir}/QtWebProcess %{_qt5_archdatadir}/qml/QtWebKit/ + %files devel %{_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%{?docs} %files doc %{_qt5_docdir}/qtwebkit.qch @@ -184,8 +249,100 @@ popd %changelog -* Fri Apr 27 2018 Rex Dieter - 5.9.1-1 -- 5.9.1 (epel7) +* Sat Nov 24 2018 Rex Dieter - 5.212.0-0.30.alpha +- QtWebkit bundles malformed PNG files (#1639422) + +* Fri Sep 21 2018 Jan Grulich - 5.212.0-0.29.alpha2 +- rebuild (qt5) + +* Tue Aug 21 2018 Rex Dieter - 5.212.0-0.28.alpha2 +- revert to real package names for core qt5 deps + +* Wed Jul 25 2018 Christian Dersch - 5.212.0-0.27.alpha2 +- Disable annobin for now, workaround for RHBZ #1608549 + +* Tue Jul 24 2018 Rex Dieter - 5.212.0-0.26.alpha2 +- backport some pkgconfig-related upstream fixes +- use %%ldconfig_scriptlets + +* Sat Jul 14 2018 Fedora Release Engineering - 5.212.0-0.25.alpha2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jul 10 2018 Pete Walter - 5.212.0-0.24.alpha2 +- Rebuild for ICU 62 + +* Wed Jun 20 2018 Rex Dieter - 5.212.0-0.23.alpha2 +- rebuild (qt5) + +* Sun May 27 2018 Rex Dieter - 5.212.0-0.22.alpha2 +- rebuild (qt5) +- workaround gcc8 FTBFS with -fpermissive (#1582954) + +* Mon Apr 30 2018 Pete Walter - 5.212.0-0.21.alpha2 +- Rebuild for ICU 61.1 + +* Fri Feb 23 2018 Rex Dieter - 5.212.0-0.20.alpha2 +- Bad ES6 Proxy object for QT platform breaks scudcloud (#1513091) + +* Wed Feb 14 2018 Jan Grulich - 5.212.0-0.19.alpha2 +- rebuild (qt5) + +* Fri Feb 09 2018 Fedora Release Engineering - 5.212.0-0.18.alpha2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Dec 20 2017 Jan Grulich - 5.212.0-0.17.alpha2 +- rebuild (qt5) + +* Thu Nov 30 2017 Pete Walter - 5.212.0-0.16.alpha2 +- Rebuild for ICU 60.1 + +* Sun Nov 26 2017 Björn Esser - 5.212.0-0.15.alpha2 +- Add patch2 to fix CMake warnings +- Add patch3 to fix build (missing src file caused by typo) +- Add missing BuildRequires + +* Sun Nov 26 2017 Rex Dieter - 5.212.0-0.14.alpha2 +- rebuild (qt5) + +* Thu Oct 26 2017 Vít Ondruch - 5.212.0-0.13.alpha2 +- Drop explicit dependency on rubypick. + +* Tue Oct 24 2017 Christian Dersch - 5.212.0-0.12.alpha2 +- Added patch to fix null pointer dereference (#1470778) + +* Mon Oct 23 2017 Christian Dersch - 5.212.0-0.11.alpha2 +- Added patch to fix issue with pagewidth (#1502332) + +* Mon Oct 09 2017 Rex Dieter - 5.212.0-0.10.alpha2 +- rebuild (qt5) + +* Thu Aug 03 2017 Fedora Release Engineering - 5.212.0-0.9.alpha2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 5.212.0-0.8.alpha2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jul 20 2017 Rex Dieter - 5.212.0-0.7.alpha2 +- rebuild against newer gcc/ppc64le (#1470692) + +* Wed Jul 19 2017 Rex Dieter - 5.212.0-0.6.alpha2 +- rebuild (qt-5.9.1) + +* Mon Jul 10 2017 Christian Dersch - 5.212.0-0.5.alpha2 +- replaced ugly pkgconfig provides workaround with proper pkgconfig fixes +- general spec fixes + +* Thu Jun 22 2017 Christian Dersch - 5.212.0-0.4.alpha2 +- BR: pkg-config + +* Wed Jun 21 2017 Christian Dersch - 5.212.0-0.3.alpha2 +- ensure that we do a release build + +* Wed Jun 21 2017 Christian Dersch - 5.212.0-0.2.alpha2 +- few spec adjustments + +* Sun Jun 18 2017 Christian Dersch - 5.212.0-0.1.alpha2 +- switch to maintained annulen branch of qtwebkit * Sat Jun 10 2017 Rex Dieter - 5.9.0-1 - 5.9.0 (final)