* 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.
		
			
				
	
	
		
			72 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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)
 |