aboutsummaryrefslogtreecommitdiff
path: root/libraries/liblastfm-qt5/fix-lastfm-options.patch
diff options
context:
space:
mode:
authorPouria Rezaei <Pouria.rz@outlook.com>2024-07-26 11:43:15 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2024-07-26 11:46:39 +0700
commit9c17b14385f9372c257756050df82d615dcb391d (patch)
tree364e1c4ae0d58db08f2cf5dd68ce033c25200af0 /libraries/liblastfm-qt5/fix-lastfm-options.patch
parenta35e67b463e63612f98b67a87d743058f9ab3c5c (diff)
libraries/liblastfm-qt5: Added (Qt C++ library for the Last.fm).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'libraries/liblastfm-qt5/fix-lastfm-options.patch')
-rw-r--r--libraries/liblastfm-qt5/fix-lastfm-options.patch269
1 files changed, 269 insertions, 0 deletions
diff --git a/libraries/liblastfm-qt5/fix-lastfm-options.patch b/libraries/liblastfm-qt5/fix-lastfm-options.patch
new file mode 100644
index 0000000000..5cffead036
--- /dev/null
+++ b/libraries/liblastfm-qt5/fix-lastfm-options.patch
@@ -0,0 +1,269 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index be88967..c8bc89d 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")
+@@ -27,20 +28,20 @@ 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 REQUIRED COMPONENTS Core Network Xml CONFIG)
++
++ if(BUILD_FINGERPRINT)
++ find_package(Qt5Sql REQUIRED CONFIG)
++ endif()
+
+-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)
++ find_package(Qt5DBus REQUIRED CONFIG)
+ endif()
++ include_directories(Qt5::Core Qt5::Network Qt5::Xml)
+
+ # macro(qt_wrap_ui)
+ # qt5_wrap_ui(${ARGN})
+@@ -56,9 +57,6 @@ if(Qt5Core_DIR)
+ # endmacro()
+ else()
+ find_package(Qt4 COMPONENTS QtCore QtNetwork QtXml REQUIRED)
+-
+- macro(qt5_use_modules)
+- endmacro()
+ endif()
+
+
+@@ -97,3 +95,5 @@ if(BUILD_TESTS)
+ enable_testing()
+ add_subdirectory(tests)
+ endif()
++
++feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+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/src/fingerprint/Fingerprint.cpp b/src/fingerprint/Fingerprint.cpp
+index 55f77a4..3817fce 100644
+--- a/src/fingerprint/Fingerprint.cpp
++++ b/src/fingerprint/Fingerprint.cpp
+@@ -94,7 +94,7 @@ lastfm::Fingerprint::data() const
+
+
+ void
+-lastfm::Fingerprint::generate( FingerprintableSource* ms ) throw( Error )
++lastfm::Fingerprint::generate( FingerprintableSource* ms )
+ {
+ //TODO throw if we can't get required metadata from the track object
+
+@@ -306,7 +306,7 @@ lastfm::Fingerprint::submit() const
+
+
+ void
+-lastfm::Fingerprint::decode( QNetworkReply* reply, bool* complete_fingerprint_requested ) throw( Error )
++lastfm::Fingerprint::decode( QNetworkReply* reply, bool* complete_fingerprint_requested )
+ {
+ // The response data will consist of a number and a string.
+ // The number is the fpid and the string is either FOUND or NEW
+diff --git a/src/fingerprint/Fingerprint.h b/src/fingerprint/Fingerprint.h
+index 537d08c..9ac0dbd 100644
+--- a/src/fingerprint/Fingerprint.h
++++ b/src/fingerprint/Fingerprint.h
+@@ -71,7 +71,7 @@ namespace lastfm
+ };
+
+ /** This is CPU intensive, do it in a thread in your GUI application */
+- void generate( FingerprintableSource* ) throw( Error );
++ void generate( FingerprintableSource* );
+
+ /** Submits the fingerprint data to Last.fm in order to get a FingerprintId
+ * back. You need to wait for the QNetworkReply to finish before you can
+@@ -82,7 +82,7 @@ namespace lastfm
+ * will be valid. Otherwise we will throw. You always get a valid id
+ * or a throw.
+ */
+- void decode( QNetworkReply*, bool* lastfm_needs_a_complete_fingerprint = 0 ) throw( Error );
++ void decode( QNetworkReply*, bool* lastfm_needs_a_complete_fingerprint = 0 );
+ };
+
+
+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()