From 5c9bc8b0ccf604dc7e167a22d08b408e93eb605e34dfc8391e11cb322d62384c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Sat, 23 Jun 2018 06:32:01 +0000 Subject: [PATCH] Accepting request 618544 from home:wolfi323:branches:KDE:Extra - Add Fix-build-with-Qt5.11.patch to fix build with Qt 5.11 OBS-URL: https://build.opensuse.org/request/show/618544 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/quassel?expand=0&rev=64 --- Fix-build-with-Qt5.11.patch | 69 +++++++++++++++++++++++++++++++++++++ quassel.changes | 5 +++ quassel.spec | 3 ++ 3 files changed, 77 insertions(+) create mode 100644 Fix-build-with-Qt5.11.patch diff --git a/Fix-build-with-Qt5.11.patch b/Fix-build-with-Qt5.11.patch new file mode 100644 index 0000000..f5a8c12 --- /dev/null +++ b/Fix-build-with-Qt5.11.patch @@ -0,0 +1,69 @@ +From 92f4dca367c3a6f0536a1e0f3fbb44bb6ed4da62 Mon Sep 17 00:00:00 2001 +From: Manuel Nickschas +Date: Thu, 3 May 2018 23:19:34 +0200 +Subject: [PATCH] cmake: Fix build with Qt 5.11 + +Qt 5.11 removes the qt5_use_modules function, so add a copy. If +present, the Qt-provided function will be used instead. + +Closes GH-355. +--- + cmake/QuasselMacros.cmake | 38 ++++++++++++++++++++++++++++++++++++++ + 1 file changed, 38 insertions(+) + +diff --git a/cmake/QuasselMacros.cmake b/cmake/QuasselMacros.cmake +index 652c0042d..d77ba1cfb 100644 +--- a/cmake/QuasselMacros.cmake ++++ b/cmake/QuasselMacros.cmake +@@ -5,6 +5,9 @@ + # The qt4_use_modules function was taken from CMake's Qt4Macros.cmake: + # (C) 2005-2009 Kitware, Inc. + # ++# The qt5_use_modules function was taken from Qt 5.10.1 (and modified): ++# (C) 2005-2011 Kitware, Inc. ++# + # Redistribution and use is allowed according to the terms of the BSD license. + # For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +@@ -43,6 +46,41 @@ function(qt4_use_modules _target _link_type) + endforeach() + endfunction() + ++# Qt 5.11 removed the qt5_use_modules function, so we need to provide it until we can switch to a modern CMake version. ++# If present, the Qt-provided version will be used automatically instead. ++function(qt5_use_modules _target _link_type) ++ if (NOT TARGET ${_target}) ++ message(FATAL_ERROR "The first argument to qt5_use_modules must be an existing target.") ++ endif() ++ if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE" ) ++ set(_qt5_modules ${ARGN}) ++ set(_qt5_link_type ${_link_type}) ++ else() ++ set(_qt5_modules ${_link_type} ${ARGN}) ++ endif() ++ ++ if ("${_qt5_modules}" STREQUAL "") ++ message(FATAL_ERROR "qt5_use_modules requires at least one Qt module to use.") ++ endif() ++ foreach(_module ${_qt5_modules}) ++ if (NOT Qt5${_module}_FOUND) ++ find_package(Qt5${_module} PATHS "${_Qt5_COMPONENT_PATH}" NO_DEFAULT_PATH) ++ if (NOT Qt5${_module}_FOUND) ++ message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.") ++ endif() ++ endif() ++ target_link_libraries(${_target} ${_qt5_link_type} ${Qt5${_module}_LIBRARIES}) ++ set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_module}_INCLUDE_DIRS}) ++ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_module}_COMPILE_DEFINITIONS}) ++ if (Qt5_POSITION_INDEPENDENT_CODE ++ AND (CMAKE_VERSION VERSION_LESS 2.8.12 ++ AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU" ++ OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0))) ++ set_property(TARGET ${_target} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE}) ++ endif() ++ endforeach() ++endfunction() ++ + # Some wrappers for simplifying dual-Qt support + + function(qt_use_modules) diff --git a/quassel.changes b/quassel.changes index 7e64b2e..478c293 100644 --- a/quassel.changes +++ b/quassel.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Jun 22 17:44:58 UTC 2018 - wbauer@tmo.at + +- Add Fix-build-with-Qt5.11.patch to fix build with Qt 5.11 + ------------------------------------------------------------------- Fri May 11 10:50:50 UTC 2018 - mchandras@suse.de diff --git a/quassel.spec b/quassel.spec index f1bac1a..368ad4a 100644 --- a/quassel.spec +++ b/quassel.spec @@ -35,6 +35,8 @@ Source4: %{name}.SuSEfirewall2 Source5: quassel-rpmlintrc # PATCH-FIX-SUSE: Set the correct libraries and compiler flags in order to use qglobal.h in check_cxx_source_compiles function Patch0: quassel-set-required-libs-and-flags.patch +# PATCH-FIX-UPSTREAM +Patch1: Fix-build-with-Qt5.11.patch BuildRequires: cmake >= 2.8.10 BuildRequires: extra-cmake-modules BuildRequires: fdupes @@ -149,6 +151,7 @@ This contains common parts shared by %{name} and %{name}-client. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build FAKE_BUILDDATE=$(LC_ALL=C date -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')