commit:     0bce8f1535155dca761076e62d97917a483d9554
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 15 20:09:32 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 15 20:52:07 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bce8f15

media-libs/liblastfm: Fix build with Qt 5.11_beta3

Package-Manager: Portage-2.3.28, Repoman-2.3.9

 .../files/liblastfm-1.1.0_pre20150206-cmake.patch  |  97 ++++++++++
 .../liblastfm-1.1.0_pre20150206-qt-5.11b3.patch    | 196 +++++++++++++++++++++
 .../liblastfm/liblastfm-1.1.0_pre20150206.ebuild   |   5 +
 3 files changed, 298 insertions(+)

diff --git a/media-libs/liblastfm/files/liblastfm-1.1.0_pre20150206-cmake.patch 
b/media-libs/liblastfm/files/liblastfm-1.1.0_pre20150206-cmake.patch
new file mode 100644
index 00000000000..a42baf0ca30
--- /dev/null
+++ b/media-libs/liblastfm/files/liblastfm-1.1.0_pre20150206-cmake.patch
@@ -0,0 +1,97 @@
+From 8703c12d7a177627fab4a2f67018d01cc7bf0808 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <[email protected]>
+Date: Sun, 1 Apr 2018 11:51:42 +0200
+Subject: [PATCH 1/3] Make Qt5 build default and simplify logic, add missing
+ deps
+
+---
+ CMakeLists.txt | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index be88967..a8c81dd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -27,16 +27,12 @@ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" 
"${PROJECT_SOURCE_DIR}/cmake/Module
+ # setup qt stuff
+ set(CMAKE_AUTOMOC ON)
+ 
+-option(BUILD_WITH_QT4 "Build liblastfm with Qt4 no matter if Qt5 was found" 
OFF)
++option(BUILD_WITH_QT4 "Build liblastfm with Qt4" OFF)
+ 
+-if( NOT BUILD_WITH_QT4 )
+-    # try Qt5 first, and prefer that if found
+-    find_package(Qt5Core QUIET)
+-endif()
++if(NOT BUILD_WITH_QT4)
++    find_package(Qt5 CONFIG REQUIRED Core Network Sql Xml)
+ 
+-if(Qt5Core_DIR)
+     set(LASTFM_LIB_VERSION_SUFFIX 5)
+-    message(STATUS "Found Qt5! Please keep in mind, this is highly 
experimental and not our main development target..")
+     include_directories(${Qt5Core_INCLUDE_DIRS})
+     if(UNIX AND NOT APPLE)
+         find_package(Qt5DBus REQUIRED)
+-- 
+2.16.3
+
+
+From 22f6900552839bc90c0fc68b62707d42544eaccf Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <[email protected]>
+Date: Sun, 1 Apr 2018 11:56:48 +0200
+Subject: [PATCH 2/3] Make use of FeatureSummary
+
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a8c81dd..d5fd5b1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -20,6 +20,7 @@ option(BUILD_TESTS "Build liblastfm tests" ON)
+ 
+ # installation dirs
+ include(GNUInstallDirs)
++include(FeatureSummary)
+ 
+ #cmake module path
+ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" 
"${PROJECT_SOURCE_DIR}/cmake/Modules")
+@@ -93,3 +94,5 @@ if(BUILD_TESTS)
+     enable_testing()
+     add_subdirectory(tests)
+ endif()
++
++feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+-- 
+2.16.3
+
+
+From bf3ee28f1aa5de7a3f3f5a3077adc97804e27b0e Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <[email protected]>
+Date: Sun, 1 Apr 2018 12:06:48 +0200
+Subject: [PATCH 3/3] Cleanup include dirs
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d5fd5b1..ef7fdd5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,10 +34,10 @@ if(NOT BUILD_WITH_QT4)
+     find_package(Qt5 CONFIG REQUIRED Core Network Sql Xml)
+ 
+     set(LASTFM_LIB_VERSION_SUFFIX 5)
+-    include_directories(${Qt5Core_INCLUDE_DIRS})
+     if(UNIX AND NOT APPLE)
+         find_package(Qt5DBus REQUIRED)
+     endif()
++    include_directories(Qt5::Core Qt5::Network Qt5::Xml)
+ 
+ #     macro(qt_wrap_ui)
+ #         qt5_wrap_ui(${ARGN})
+-- 
+2.16.3
+

diff --git 
a/media-libs/liblastfm/files/liblastfm-1.1.0_pre20150206-qt-5.11b3.patch 
b/media-libs/liblastfm/files/liblastfm-1.1.0_pre20150206-qt-5.11b3.patch
new file mode 100644
index 00000000000..dfbd694ed3d
--- /dev/null
+++ b/media-libs/liblastfm/files/liblastfm-1.1.0_pre20150206-qt-5.11b3.patch
@@ -0,0 +1,196 @@
+From 5d6ef4c27804a43b26dffcb46d6b27523a1ca340 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <[email protected]>
+Date: Sun, 15 Apr 2018 21:31:14 +0200
+Subject: [PATCH] Fix build with Qt 5.11_beta3 (drop qt5_use_modules)
+
+---
+ CMakeLists.txt                 |  3 --
+ src/CMakeLists.txt             | 63 +++++++++++++++++++---------------
+ src/fingerprint/CMakeLists.txt | 20 ++++++-----
+ tests/lastfm_add_test.cmake    | 16 +++++----
+ 4 files changed, 55 insertions(+), 47 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index be88967..57da635 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -56,9 +56,6 @@ if(Qt5Core_DIR)
+ #     endmacro()
+ else()
+     find_package(Qt4 COMPONENTS QtCore QtNetwork QtXml REQUIRED)
+-
+-    macro(qt5_use_modules)
+-    endmacro()
+ endif()
+ 
+ 
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 0f872fb..22ce506 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -3,16 +3,6 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/global.h.in 
${CMAKE_CURRENT_BINARY_DI
+ 
+ add_definitions(${QT_DEFINITIONS})
+ include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})
+-set(liblastfm_LIBRARIES
+-    ${QT_QTCORE_LIBRARY}
+-    ${QT_QTNETWORK_LIBRARY}
+-    ${QT_QTXML_LIBRARY}
+-)
+-
+-list(APPEND liblastfm_QT5_MODULES
+-    Xml
+-    Network
+-)
+ 
+ set(liblastfm_SOURCES
+         ws.cpp
+@@ -49,15 +39,11 @@ if(WIN32)
+     if(NOT MINGW)
+         add_definitions("-D_ATL_DLL -D_CRT_SECURE_NO_WARNINGS")
+ 
+-        list(APPEND liblastfm_SOURCES
++        set(liblastfm_SOURCES ${liblastfm_SOURCES}
+             win/WNetworkConnectionMonitor_win.cpp
+             win/WmiSink.cpp
+             win/NdisEvents.cpp
+         )
+-        list(APPEND liblastfm_LIBRARIES
+-            winhttp
+-            wbemuuid
+-        )
+     endif()
+ endif()
+ 
+@@ -67,30 +53,51 @@ if(APPLE)
+     #set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5)
+     #set(CMAKE_OSX_SYSROOT 
"/Developer/SDKs/MacOSX${CMAKE_OSX_DEPLOYMENT_TARGET}.sdk")
+ 
+-    list(APPEND liblastfm_SOURCES
++    set(liblastfm_SOURCES ${liblastfm_SOURCES}
+         mac/MNetworkConnectionMonitor_mac.cpp
+     )
+-
+-    find_library(SYSTEMCONFIGURATION_LIBRARY SystemConfiguration)
+-    find_library(COREFOUNDATION_LIBRARY CoreFoundation)
+-    list(APPEND liblastfm_LIBRARIES
+-        ${COREFOUNDATION_LIBRARY}
+-        ${SYSTEMCONFIGURATION_LIBRARY}
+-    )
+ endif()
+ 
+ if(UNIX AND NOT APPLE)
+-    list(APPEND liblastfm_SOURCES
++    set(liblastfm_SOURCES ${liblastfm_SOURCES}
+         linux/LNetworkConnectionMonitor_linux.cpp
+     )
+-    list(APPEND liblastfm_LIBRARIES ${QT_QTDBUS_LIBRARY})
+-    list(APPEND liblastfm_QT5_MODULES DBus)
+ endif()
+ 
+ add_library(${LASTFM_LIB_TARGET_NAME} SHARED ${liblastfm_SOURCES})
+-qt5_use_modules(${LASTFM_LIB_TARGET_NAME} ${liblastfm_QT5_MODULES})
+ 
+-target_link_libraries(${LASTFM_LIB_TARGET_NAME} ${liblastfm_LIBRARIES})
++if(Qt5Core_DIR)
++    target_link_libraries(${LASTFM_LIB_TARGET_NAME} Qt5::Network Qt5::Xml)
++    if(UNIX AND NOT APPLE)
++        target_link_libraries(${LASTFM_LIB_TARGET_NAME} Qt5::DBus)
++    endif()
++else()
++    target_link_libraries(${LASTFM_LIB_TARGET_NAME}
++        ${QT_QTCORE_LIBRARY}
++        ${QT_QTNETWORK_LIBRARY}
++        ${QT_QTXML_LIBRARY}
++    )
++    if(UNIX AND NOT APPLE)
++        target_link_libraries(${LASTFM_LIB_TARGET_NAME} ${QT_QTDBUS_LIBRARY})
++    endif()
++endif()
++
++if(WIN32 AND NOT MINGW)
++    target_link_libraries(${LASTFM_LIB_TARGET_NAME}
++        winhttp
++        wbemuuid
++    )
++endif()
++
++if(APPLE)
++    find_library(SYSTEMCONFIGURATION_LIBRARY SystemConfiguration)
++    find_library(COREFOUNDATION_LIBRARY CoreFoundation)
++    target_link_libraries(${LASTFM_LIB_TARGET_NAME}
++        ${COREFOUNDATION_LIBRARY}
++        ${SYSTEMCONFIGURATION_LIBRARY}
++    )
++endif()
++
+ set_target_properties(${LASTFM_LIB_TARGET_NAME} PROPERTIES
+     VERSION ${LASTFM_VERSION_STRING}
+     SOVERSION ${LASTFM_SOVERSION}
+diff --git a/src/fingerprint/CMakeLists.txt b/src/fingerprint/CMakeLists.txt
+index 126f8d9..4a74e0d 100644
+--- a/src/fingerprint/CMakeLists.txt
++++ b/src/fingerprint/CMakeLists.txt
+@@ -26,21 +26,23 @@ set(lastfm_fingerprint_HEADERS
+ 
+ add_library(${FINGERPRINT_LIB_TARGET_NAME} SHARED 
${lastfm_fingerprint_SOURCES})
+ 
+-target_link_libraries(${FINGERPRINT_LIB_TARGET_NAME}
+-    ${LASTFM_LIB_TARGET_NAME}
+-    ${QT_QTSQL_LIBRARY}
+-    ${QT_QTCORE_LIBRARY}
+-    ${LIBSAMPLERATE_LIBRARY}
+-    ${LIBFFTW3_LIBRARY}
+-)
+-
+ set_target_properties(${FINGERPRINT_LIB_TARGET_NAME} PROPERTIES
+     COMPILE_DEFINITIONS LASTFM_FINGERPRINT_LIB
+     VERSION ${LASTFM_VERSION_STRING}
+     SOVERSION ${LASTFM_SOVERSION}
+ )
+ 
+-qt5_use_modules(${FINGERPRINT_LIB_TARGET_NAME} Network Sql Xml)
++target_link_libraries(${FINGERPRINT_LIB_TARGET_NAME}
++    ${LASTFM_LIB_TARGET_NAME}
++    ${LIBSAMPLERATE_LIBRARY}
++    ${LIBFFTW3_LIBRARY}
++)
++
++if(Qt5Core_DIR)
++    target_link_libraries(${FINGERPRINT_LIB_TARGET_NAME} Qt5::Network 
Qt5::Sql Qt5::Xml)
++else()
++    target_link_libraries(${FINGERPRINT_LIB_TARGET_NAME} ${QT_QTCORE_LIBRARY} 
${QT_QTSQL_LIBRARY})
++endif()
+ 
+ install(TARGETS ${FINGERPRINT_LIB_TARGET_NAME}
+     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+diff --git a/tests/lastfm_add_test.cmake b/tests/lastfm_add_test.cmake
+index a4a1686..2f0664d 100644
+--- a/tests/lastfm_add_test.cmake
++++ b/tests/lastfm_add_test.cmake
+@@ -6,13 +6,15 @@ macro(lastfm_add_test test_class)
+     configure_file(Test${LASTFM_TEST_CLASS}.h Test${LASTFM_TEST_CLASS}.h)
+     add_executable(${LASTFM_TEST_CLASS}Test Test${LASTFM_TEST_CLASS}.cpp)
+ 
+-    qt5_use_modules(${LASTFM_TEST_CLASS}Test Core Test Xml Network)
+-
+-    target_link_libraries(${LASTFM_TEST_CLASS}Test
+-        ${LASTFM_LIB_TARGET_NAME}
+-        ${QT_QTTEST_LIBRARY}
+-        ${QT_QTCORE_LIBRARY}
+-    )
++    if(Qt5Core_DIR)
++        target_link_libraries(${LASTFM_TEST_CLASS}Test Qt5::Core Qt5::Test 
Qt5::Xml Qt5::Network
++            ${LASTFM_LIB_TARGET_NAME}
++        )
++    else()
++        target_link_libraries(${LASTFM_TEST_CLASS}Test ${QT_QTCORE_LIBRARY} 
${QT_QTTEST_LIBRARY}
++            ${LASTFM_LIB_TARGET_NAME}
++        )
++    endif()
+ 
+     add_test(NAME ${LASTFM_TEST_CLASS}Test COMMAND ${LASTFM_TEST_CLASS}Test)
+ endmacro()
+-- 
+2.17.0
+

diff --git a/media-libs/liblastfm/liblastfm-1.1.0_pre20150206.ebuild 
b/media-libs/liblastfm/liblastfm-1.1.0_pre20150206.ebuild
index 07c936ffe14..6e0926da102 100644
--- a/media-libs/liblastfm/liblastfm-1.1.0_pre20150206.ebuild
+++ b/media-libs/liblastfm/liblastfm-1.1.0_pre20150206.ebuild
@@ -33,6 +33,11 @@ DEPEND="${RDEPEND}
 # 1 of 2 (UrlBuilderTest) is failing, last checked version 1.0.9
 RESTRICT="test"
 
+PATCHES=(
+       "${FILESDIR}/${P}-cmake.patch"
+       "${FILESDIR}/${P}-qt-5.11b3.patch"
+)
+
 src_configure() {
        # demos not working
        local mycmakeargs=(

Reply via email to