diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2018-06-03 13:17:25 +0300 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2018-06-03 15:49:50 +0300 |
commit | 68ddfb2e8d43de248a64a9baf34ff7002053ede6 (patch) | |
tree | 2b8453771ee1a0ca66d33c4f010288f145da5458 /gnu/packages/patches | |
parent | 4edc431b0f1a8893e950a3ee6c2fdebe9d5a6f7a (diff) | |
download | gnu-guix-68ddfb2e8d43de248a64a9baf34ff7002053ede6.tar gnu-guix-68ddfb2e8d43de248a64a9baf34ff7002053ede6.tar.gz |
gnu: quassel: Fix building with Qt 5.11.
* gnu/packages/irc.scm (quassel)[sources]: Add patch. Return #t from
snippet.
* gnu/packages/patches/quassel-qt-5.11.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r-- | gnu/packages/patches/quassel-qt-5.11.patch | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/gnu/packages/patches/quassel-qt-5.11.patch b/gnu/packages/patches/quassel-qt-5.11.patch new file mode 100644 index 0000000000..545f8b7610 --- /dev/null +++ b/gnu/packages/patches/quassel-qt-5.11.patch @@ -0,0 +1,72 @@ +https://github.com/quassel/quassel/commit/92f4dca367c3a6f0536a1e0f3fbb44bb6ed4da62.patch +This can be removed after quassel 0.12.5. + +From 92f4dca367c3a6f0536a1e0f3fbb44bb6ed4da62 Mon Sep 17 00:00:00 2001 +From: Manuel Nickschas <sputnick@quassel-irc.org> +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) |