backport some pkgconfig-related upstream fixes
use %ldconfig_scriptlets
This commit is contained in:
parent
56d03a6014
commit
94f8c4ca54
@ -0,0 +1,33 @@
|
|||||||
|
From fbd1de045999d1e5b5dcae7ac6c1e674ac0044fe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dmitry Shachnev <mitya57@gmail.com>
|
||||||
|
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
|
||||||
|
|
204
0016-cmake-Import-ECMEnableSanitizers.patch
Normal file
204
0016-cmake-Import-ECMEnableSanitizers.patch
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
From 4ef333ab0b60ca86e9a44cae0b77d1f752892a94 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Konstantin Tokarev <annulen@yandex.ru>
|
||||||
|
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 <mathieu.tarral@gmail.com>
|
||||||
|
+#
|
||||||
|
+# 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
|
||||||
|
|
156
0111-ECM-Update-ECMGeneratePkgConfigFile-to-latest-versio.patch
Normal file
156
0111-ECM-Update-ECMGeneratePkgConfigFile-to-latest-versio.patch
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
From 0325d51c4a2a05fb11b93f0c99d1d08976aac47d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Konstantin Tokarev <annulen@yandex.ru>
|
||||||
|
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 <dir>]
|
||||||
|
# [LIB_INSTALL_DIR <dir>]
|
||||||
|
# [DEFINES -D<variable=value>...]
|
||||||
|
+# [DESCRIPTION <library 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 <aleixpol@kde.org>
|
||||||
|
# Copyright 2014 David Faure <faure@kde.org>
|
||||||
|
#
|
||||||
|
-# 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
|
||||||
|
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
Name: qt5-%{qt_module}
|
Name: qt5-%{qt_module}
|
||||||
Version: 5.212.0
|
Version: 5.212.0
|
||||||
Release: 0.25.%{?prerel}%{?dist}
|
Release: 0.26.%{?prerel}%{?dist}
|
||||||
Summary: Qt5 - QtWebKit components
|
Summary: Qt5 - QtWebKit components
|
||||||
|
|
||||||
License: LGPLv2 and BSD
|
License: LGPLv2 and BSD
|
||||||
@ -37,8 +37,14 @@ Patch2: qtwebkit-5.212.0_cmake_cmp0071.patch
|
|||||||
# Patch to fix for missing source file.
|
# Patch to fix for missing source file.
|
||||||
Patch3: qtwebkit-5.212.0_fix_missing_sources.patch
|
Patch3: qtwebkit-5.212.0_fix_missing_sources.patch
|
||||||
|
|
||||||
|
## upstream patches (qtwebkit-5.212 branch)
|
||||||
|
Patch16: 0016-cmake-Import-ECMEnableSanitizers.patch
|
||||||
# disable ES6 Proxy
|
# disable ES6 Proxy
|
||||||
Patch31: 0031-Disable-ES6-Proxy-object.patch
|
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: bison
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
@ -175,12 +181,13 @@ cmake -DPORT=Qt \
|
|||||||
find %{buildroot} -name '*.la' -exec rm -f {} ';'
|
find %{buildroot} -name '*.la' -exec rm -f {} ';'
|
||||||
|
|
||||||
# fix pkgconfig files
|
# fix pkgconfig files
|
||||||
sed -i '/Name/a Description: Qt5 WebKit module' %{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
|
#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 "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 '/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,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
|
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
|
# 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
|
%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
|
%files
|
||||||
%license LICENSE.LGPLv21 _license_files/*
|
%license LICENSE.LGPLv21 _license_files/*
|
||||||
@ -232,6 +242,10 @@ sed -i "s,Libs: -L%{_qt5_libdir}/qt5/../ -lQt5WebKitWidgets,Libs: -L%{_qt5_libdi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jul 24 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.212.0-0.26.alpha2
|
||||||
|
- backport some pkgconfig-related upstream fixes
|
||||||
|
- use %%ldconfig_scriptlets
|
||||||
|
|
||||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.212.0-0.25.alpha2
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.212.0-0.25.alpha2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user