From 94f8c4ca5404340e4fbf850ebc9c6017e2ab3c3d Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 24 Jul 2018 10:54:50 -0500 Subject: [PATCH] backport some pkgconfig-related upstream fixes use %ldconfig_scriptlets --- ...e-dir-in-the-generated-pkg-config-fi.patch | 33 +++ 0016-cmake-Import-ECMEnableSanitizers.patch | 204 ++++++++++++++++++ ...neratePkgConfigFile-to-latest-versio.patch | 156 ++++++++++++++ qt5-qtwebkit.spec | 28 ++- 4 files changed, 414 insertions(+), 7 deletions(-) create mode 100644 0012-cmake-Fix-include-dir-in-the-generated-pkg-config-fi.patch create mode 100644 0016-cmake-Import-ECMEnableSanitizers.patch create mode 100644 0111-ECM-Update-ECMGeneratePkgConfigFile-to-latest-versio.patch diff --git a/0012-cmake-Fix-include-dir-in-the-generated-pkg-config-fi.patch b/0012-cmake-Fix-include-dir-in-the-generated-pkg-config-fi.patch new file mode 100644 index 0000000..48056e6 --- /dev/null +++ b/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/0016-cmake-Import-ECMEnableSanitizers.patch b/0016-cmake-Import-ECMEnableSanitizers.patch new file mode 100644 index 0000000..da4d426 --- /dev/null +++ b/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/0111-ECM-Update-ECMGeneratePkgConfigFile-to-latest-versio.patch b/0111-ECM-Update-ECMGeneratePkgConfigFile-to-latest-versio.patch new file mode 100644 index 0000000..9b5c02d --- /dev/null +++ b/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/qt5-qtwebkit.spec b/qt5-qtwebkit.spec index e07e7a2..1dfb030 100644 --- a/qt5-qtwebkit.spec +++ b/qt5-qtwebkit.spec @@ -15,7 +15,7 @@ Name: qt5-%{qt_module} Version: 5.212.0 -Release: 0.25.%{?prerel}%{?dist} +Release: 0.26.%{?prerel}%{?dist} Summary: Qt5 - QtWebKit components License: LGPLv2 and BSD @@ -37,8 +37,14 @@ 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 @@ -175,12 +181,13 @@ cmake -DPORT=Qt \ 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 +#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 '/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 @@ -200,10 +207,13 @@ sed -i "s,Libs: -L%{_qt5_libdir}/qt5/../ -lQt5WebKitWidgets,Libs: -L%{_qt5_libdi %add_to_license_files Source/WTF/wtf/dtoa/LICENSE -%post -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)" -%postun -p /sbin/ldconfig +%ldconfig_scriptlets %files %license LICENSE.LGPLv21 _license_files/* @@ -232,6 +242,10 @@ sed -i "s,Libs: -L%{_qt5_libdir}/qt5/../ -lQt5WebKitWidgets,Libs: -L%{_qt5_libdi %changelog +* 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