guix/gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch
Pierre Langlois 01c4869003
gnu: libmygpo-qt: Fix Qt 5.11 build.
The update to Qt 5.11.0 broke libmygpo-qt. It turned it was using a deprecated
CMake function (qt5_use_moduldes).  Let's pick up two upstream patches that
fix the issue: https://github.com/gpodder/libmygpo-qt/pull/15

As mentioned in the the pull request, there is now a test failure but it looks
harmless.

* gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch,
gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/music.scm (libmygpo-qt)[source]: Add patches.
[arguments]: Build tests but do not run them.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2018-05-27 22:33:01 +03:00

78 lines
3.1 KiB
Diff

From 1b53767b988b339aac8b353327a1542b2a0c0610 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Sun, 15 Apr 2018 22:29:33 +0200
Subject: [PATCH] Fix build with Qt 5.11_beta3 (dropping qt5_use_modules)
---
CMakeLists.txt | 3 ---
src/CMakeLists.txt | 8 ++++++--
tests/CMakeLists.txt | 12 +++++++++---
3 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index eb006d9..fa4b0cb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,9 +34,6 @@ else()
set( QT_DONT_USE_QTGUI TRUE )
include( ${QT_USE_FILE} )
- macro(qt5_use_modules)
- endmacro()
-
macro(qt_wrap_cpp)
qt4_wrap_cpp(${ARGN})
endmacro()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 802125b..253e81e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -79,9 +79,13 @@ QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${LIBMYGPO_QT_MOC_H} )
add_library( ${MYGPO_QT_TARGET_NAME} SHARED ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC_SRC} )
-target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QJSON_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
set_target_properties( ${MYGPO_QT_TARGET_NAME} PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL)
-qt5_use_modules( ${MYGPO_QT_TARGET_NAME} Core Network )
+
+if( NOT BUILD_WITH_QT4 )
+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt5::Core Qt5::Network)
+else()
+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QJSON_LIBRARIES})
+endif()
install( TARGETS ${MYGPO_QT_TARGET_NAME} EXPORT ${MYGPO_QT_TARGET_NAME}Export DESTINATION ${LIB_INSTALL_DIR} )
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index a3e3223..4f77158 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -11,11 +11,15 @@ include_directories( ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CU
# UrlBuilder library
add_library( UrlBuilder ${TESTOBJECTS_SRCDIR}/UrlBuilder.cpp ${TESTOBJECTS_SRCDIR}/Config.cpp )
-qt5_use_modules( UrlBuilder Core )
+if( NOT BUILD_WITH_QT4 )
+ target_link_libraries( UrlBuilder Qt5::Core )
+endif()
# JSONCreator library
QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${TESTOBJECTS_SRCDIR}/EpisodeAction.h ${TESTOBJECTS_SRCDIR}/EpisodeAction_p.h )
add_library( JsonCreator ${TESTOBJECTS_SRCDIR}/JsonCreator.cpp ${TESTOBJECTS_SRCDIR}/EpisodeAction.cpp ${TESTOBJECTS_SRCDIR}/qjsonwrapper/Json.cpp ${LIBMYGPO_QT_MOC_SRC})
-qt5_use_modules( JsonCreator Core Network )
+if( NOT BUILD_WITH_QT4 )
+ target_link_libraries( JsonCreator Qt5::Core Qt5::Network )
+endif()
set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
@@ -25,7 +29,9 @@ macro(add_libmygpo_test _source)
add_executable(${_name} ${_source} ${${_name}_MOC_SRC})
target_link_libraries(${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTNETWORK_LIBRARY})
add_test(${_name}-test ${EXECUTABLE_OUTPUT_PATH}/${_name})
- qt5_use_modules(${_name} Network Test)
+ if( NOT BUILD_WITH_QT4 )
+ target_link_libraries(${_name} Qt5::Network Qt5::Test)
+ endif()
endmacro(add_libmygpo_test)
add_libmygpo_test( UrlBuilderTest.cpp )