commit: 0799fd1cfa911d3c6fd5d2ccbc9e910581a29f4b Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Wed Sep 12 20:17:30 2018 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Wed Sep 12 20:20:39 2018 +0000 URL: https://gitweb.gentoo.org/proj/kde-sunset.git/commit/?id=0799fd1c
media-libs/liblastfm: Add current snapshot with USE=qt4,qt5 multibuild Import from Gentoo ebuild repository. Package-Manager: Portage-2.3.49, Repoman-2.3.10 .../liblastfm-1.1.0_pre20150206-qt-5.11b3.patch | 302 +++++++++++++++++++++ .../liblastfm/liblastfm-1.1.0_pre20150206.ebuild | 87 ++++++ media-libs/liblastfm/metadata.xml | 11 + 3 files changed, 400 insertions(+) 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 0000000..fc0e9b8 --- /dev/null +++ b/media-libs/liblastfm/files/liblastfm-1.1.0_pre20150206-qt-5.11b3.patch @@ -0,0 +1,302 @@ +From 62a08d490a1e75e3ef5d08f3fb37e65c1563e706 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <[email protected]> +Date: Sun, 1 Apr 2018 11:51:42 +0200 +Subject: [PATCH 1/4] Make Qt5 build default and simplify logic, add missing + deps + +--- + CMakeLists.txt | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index be88967..e628611 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,19 +27,19 @@ 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() + + # macro(qt_wrap_ui) +-- +2.17.0 + + +From ff32d56e5e1bd8b1f86a8e9840c778249ff19118 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <[email protected]> +Date: Sun, 1 Apr 2018 11:56:48 +0200 +Subject: [PATCH 2/4] Make use of FeatureSummary + +--- + CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e628611..dcdfd91 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") +@@ -97,3 +98,5 @@ if(BUILD_TESTS) + enable_testing() + add_subdirectory(tests) + endif() ++ ++feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) +-- +2.17.0 + + +From 5762278b29c1ab6559dcca7a1e8fbad1d75134da Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <[email protected]> +Date: Sun, 1 Apr 2018 12:06:48 +0200 +Subject: [PATCH 3/4] Cleanup include dirs + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dcdfd91..52589b5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,10 +38,10 @@ if(NOT BUILD_WITH_QT4) + endif() + + set(LASTFM_LIB_VERSION_SUFFIX 5) +- include_directories(${Qt5Core_INCLUDE_DIRS}) + if(UNIX AND NOT APPLE) + find_package(Qt5DBus REQUIRED CONFIG) + endif() ++ include_directories(Qt5::Core Qt5::Network Qt5::Xml) + + # macro(qt_wrap_ui) + # qt5_wrap_ui(${ARGN}) +-- +2.17.0 + + +From aeb0cbc56376021444a56a984613faacefedfea9 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <[email protected]> +Date: Sun, 15 Apr 2018 21:31:14 +0200 +Subject: [PATCH 4/4] 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 52589b5..c8bc89d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -57,9 +57,6 @@ if(NOT BUILD_WITH_QT4) + # 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 new file mode 100644 index 0000000..ceeabe2 --- /dev/null +++ b/media-libs/liblastfm/liblastfm-1.1.0_pre20150206.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +COMMIT=44331654256df83bc1d3cbb271a8ce3d4c464686 +inherit cmake-utils multibuild vcs-snapshot + +DESCRIPTION="Collection of libraries to integrate Last.fm services" +HOMEPAGE="https://github.com/lastfm/liblastfm" +SRC_URI="https://github.com/lastfm/liblastfm/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +KEYWORDS="amd64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux" +SLOT="0" +IUSE="fingerprint test +qt4 qt5" + +REQUIRED_USE="|| ( qt4 qt5 )" + +COMMON_DEPEND=" + qt4? ( + dev-qt/qtcore:4[ssl] + dev-qt/qtdbus:4 + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtnetwork:5[ssl] + dev-qt/qtxml:5 + ) + fingerprint? ( + media-libs/libsamplerate + sci-libs/fftw:3.0 + qt4? ( dev-qt/qtsql:4 ) + qt5? ( dev-qt/qtsql:5 ) + ) +" +DEPEND="${COMMON_DEPEND} + test? ( + qt4? ( dev-qt/qttest:4 ) + qt5? ( dev-qt/qttest:5 ) + ) +" +RDEPEND="${COMMON_DEPEND} + !<media-libs/lastfmlib-0.4.0 +" + +# 1 of 2 (UrlBuilderTest) is failing, last checked version 1.0.9 +RESTRICT="test" + +PATCHES=( "${FILESDIR}/${P}-qt-5.11b3.patch" ) + +pkg_setup() { + MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) ) +} + +src_configure() { + myconfigure() { + # demos not working + local mycmakeargs=( + -DBUILD_DEMOS=OFF + -DBUILD_FINGERPRINT=$(usex fingerprint) + -DBUILD_TESTS=$(usex test) + ) + if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then + mycmakeargs+=(-DBUILD_WITH_QT4=ON) + fi + if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then + mycmakeargs+=(-DBUILD_WITH_QT4=OFF) + fi + cmake-utils_src_configure + } + + multibuild_foreach_variant myconfigure +} + +src_compile() { + multibuild_foreach_variant cmake-utils_src_compile +} + +src_test() { + multibuild_foreach_variant cmake-utils_src_test +} + +src_install() { + multibuild_foreach_variant cmake-utils_src_install +} diff --git a/media-libs/liblastfm/metadata.xml b/media-libs/liblastfm/metadata.xml new file mode 100644 index 0000000..0ad9360 --- /dev/null +++ b/media-libs/liblastfm/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <use> + <flag name="fingerprint">Build the lastfm-fingerprint library</flag> + </use> + <upstream> + <remote-id type="github">lastfm/liblastfm</remote-id> + </upstream> +</pkgmetadata>
