Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/kde-sunset:master commit in: media-libs/liblastfm/, media-libs/liblastfm/files/
Date: Wed, 12 Sep 2018 20:42:03
Message-Id: 1536783639.0799fd1cfa911d3c6fd5d2ccbc9e910581a29f4b.asturm@gentoo
1 commit: 0799fd1cfa911d3c6fd5d2ccbc9e910581a29f4b
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Wed Sep 12 20:17:30 2018 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 12 20:20:39 2018 +0000
6 URL: https://gitweb.gentoo.org/proj/kde-sunset.git/commit/?id=0799fd1c
7
8 media-libs/liblastfm: Add current snapshot with USE=qt4,qt5 multibuild
9
10 Import from Gentoo ebuild repository.
11
12 Package-Manager: Portage-2.3.49, Repoman-2.3.10
13
14 .../liblastfm-1.1.0_pre20150206-qt-5.11b3.patch | 302 +++++++++++++++++++++
15 .../liblastfm/liblastfm-1.1.0_pre20150206.ebuild | 87 ++++++
16 media-libs/liblastfm/metadata.xml | 11 +
17 3 files changed, 400 insertions(+)
18
19 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
20 new file mode 100644
21 index 0000000..fc0e9b8
22 --- /dev/null
23 +++ b/media-libs/liblastfm/files/liblastfm-1.1.0_pre20150206-qt-5.11b3.patch
24 @@ -0,0 +1,302 @@
25 +From 62a08d490a1e75e3ef5d08f3fb37e65c1563e706 Mon Sep 17 00:00:00 2001
26 +From: Andreas Sturmlechner <andreas.sturmlechner@×××××.com>
27 +Date: Sun, 1 Apr 2018 11:51:42 +0200
28 +Subject: [PATCH 1/4] Make Qt5 build default and simplify logic, add missing
29 + deps
30 +
31 +---
32 + CMakeLists.txt | 16 ++++++++--------
33 + 1 file changed, 8 insertions(+), 8 deletions(-)
34 +
35 +diff --git a/CMakeLists.txt b/CMakeLists.txt
36 +index be88967..e628611 100644
37 +--- a/CMakeLists.txt
38 ++++ b/CMakeLists.txt
39 +@@ -27,19 +27,19 @@ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${PROJECT_SOURCE_DIR}/cmake/Module
40 + # setup qt stuff
41 + set(CMAKE_AUTOMOC ON)
42 +
43 +-option(BUILD_WITH_QT4 "Build liblastfm with Qt4 no matter if Qt5 was found" OFF)
44 ++option(BUILD_WITH_QT4 "Build liblastfm with Qt4" OFF)
45 +
46 +-if( NOT BUILD_WITH_QT4 )
47 +- # try Qt5 first, and prefer that if found
48 +- find_package(Qt5Core QUIET)
49 +-endif()
50 ++if(NOT BUILD_WITH_QT4)
51 ++ find_package(Qt5 REQUIRED COMPONENTS Core Network Xml CONFIG)
52 ++
53 ++ if(BUILD_FINGERPRINT)
54 ++ find_package(Qt5Sql REQUIRED CONFIG)
55 ++ endif()
56 +
57 +-if(Qt5Core_DIR)
58 + set(LASTFM_LIB_VERSION_SUFFIX 5)
59 +- message(STATUS "Found Qt5! Please keep in mind, this is highly experimental and not our main development target..")
60 + include_directories(${Qt5Core_INCLUDE_DIRS})
61 + if(UNIX AND NOT APPLE)
62 +- find_package(Qt5DBus REQUIRED)
63 ++ find_package(Qt5DBus REQUIRED CONFIG)
64 + endif()
65 +
66 + # macro(qt_wrap_ui)
67 +--
68 +2.17.0
69 +
70 +
71 +From ff32d56e5e1bd8b1f86a8e9840c778249ff19118 Mon Sep 17 00:00:00 2001
72 +From: Andreas Sturmlechner <andreas.sturmlechner@×××××.com>
73 +Date: Sun, 1 Apr 2018 11:56:48 +0200
74 +Subject: [PATCH 2/4] Make use of FeatureSummary
75 +
76 +---
77 + CMakeLists.txt | 3 +++
78 + 1 file changed, 3 insertions(+)
79 +
80 +diff --git a/CMakeLists.txt b/CMakeLists.txt
81 +index e628611..dcdfd91 100644
82 +--- a/CMakeLists.txt
83 ++++ b/CMakeLists.txt
84 +@@ -20,6 +20,7 @@ option(BUILD_TESTS "Build liblastfm tests" ON)
85 +
86 + # installation dirs
87 + include(GNUInstallDirs)
88 ++include(FeatureSummary)
89 +
90 + #cmake module path
91 + set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${PROJECT_SOURCE_DIR}/cmake/Modules")
92 +@@ -97,3 +98,5 @@ if(BUILD_TESTS)
93 + enable_testing()
94 + add_subdirectory(tests)
95 + endif()
96 ++
97 ++feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
98 +--
99 +2.17.0
100 +
101 +
102 +From 5762278b29c1ab6559dcca7a1e8fbad1d75134da Mon Sep 17 00:00:00 2001
103 +From: Andreas Sturmlechner <andreas.sturmlechner@×××××.com>
104 +Date: Sun, 1 Apr 2018 12:06:48 +0200
105 +Subject: [PATCH 3/4] Cleanup include dirs
106 +
107 +---
108 + CMakeLists.txt | 2 +-
109 + 1 file changed, 1 insertion(+), 1 deletion(-)
110 +
111 +diff --git a/CMakeLists.txt b/CMakeLists.txt
112 +index dcdfd91..52589b5 100644
113 +--- a/CMakeLists.txt
114 ++++ b/CMakeLists.txt
115 +@@ -38,10 +38,10 @@ if(NOT BUILD_WITH_QT4)
116 + endif()
117 +
118 + set(LASTFM_LIB_VERSION_SUFFIX 5)
119 +- include_directories(${Qt5Core_INCLUDE_DIRS})
120 + if(UNIX AND NOT APPLE)
121 + find_package(Qt5DBus REQUIRED CONFIG)
122 + endif()
123 ++ include_directories(Qt5::Core Qt5::Network Qt5::Xml)
124 +
125 + # macro(qt_wrap_ui)
126 + # qt5_wrap_ui(${ARGN})
127 +--
128 +2.17.0
129 +
130 +
131 +From aeb0cbc56376021444a56a984613faacefedfea9 Mon Sep 17 00:00:00 2001
132 +From: Andreas Sturmlechner <andreas.sturmlechner@×××××.com>
133 +Date: Sun, 15 Apr 2018 21:31:14 +0200
134 +Subject: [PATCH 4/4] Fix build with Qt 5.11_beta3 (drop qt5_use_modules)
135 +
136 +---
137 + CMakeLists.txt | 3 --
138 + src/CMakeLists.txt | 63 +++++++++++++++++++---------------
139 + src/fingerprint/CMakeLists.txt | 20 ++++++-----
140 + tests/lastfm_add_test.cmake | 16 +++++----
141 + 4 files changed, 55 insertions(+), 47 deletions(-)
142 +
143 +diff --git a/CMakeLists.txt b/CMakeLists.txt
144 +index 52589b5..c8bc89d 100644
145 +--- a/CMakeLists.txt
146 ++++ b/CMakeLists.txt
147 +@@ -57,9 +57,6 @@ if(NOT BUILD_WITH_QT4)
148 + # endmacro()
149 + else()
150 + find_package(Qt4 COMPONENTS QtCore QtNetwork QtXml REQUIRED)
151 +-
152 +- macro(qt5_use_modules)
153 +- endmacro()
154 + endif()
155 +
156 +
157 +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
158 +index 0f872fb..22ce506 100644
159 +--- a/src/CMakeLists.txt
160 ++++ b/src/CMakeLists.txt
161 +@@ -3,16 +3,6 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/global.h.in ${CMAKE_CURRENT_BINARY_DI
162 +
163 + add_definitions(${QT_DEFINITIONS})
164 + include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})
165 +-set(liblastfm_LIBRARIES
166 +- ${QT_QTCORE_LIBRARY}
167 +- ${QT_QTNETWORK_LIBRARY}
168 +- ${QT_QTXML_LIBRARY}
169 +-)
170 +-
171 +-list(APPEND liblastfm_QT5_MODULES
172 +- Xml
173 +- Network
174 +-)
175 +
176 + set(liblastfm_SOURCES
177 + ws.cpp
178 +@@ -49,15 +39,11 @@ if(WIN32)
179 + if(NOT MINGW)
180 + add_definitions("-D_ATL_DLL -D_CRT_SECURE_NO_WARNINGS")
181 +
182 +- list(APPEND liblastfm_SOURCES
183 ++ set(liblastfm_SOURCES ${liblastfm_SOURCES}
184 + win/WNetworkConnectionMonitor_win.cpp
185 + win/WmiSink.cpp
186 + win/NdisEvents.cpp
187 + )
188 +- list(APPEND liblastfm_LIBRARIES
189 +- winhttp
190 +- wbemuuid
191 +- )
192 + endif()
193 + endif()
194 +
195 +@@ -67,30 +53,51 @@ if(APPLE)
196 + #set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5)
197 + #set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX${CMAKE_OSX_DEPLOYMENT_TARGET}.sdk")
198 +
199 +- list(APPEND liblastfm_SOURCES
200 ++ set(liblastfm_SOURCES ${liblastfm_SOURCES}
201 + mac/MNetworkConnectionMonitor_mac.cpp
202 + )
203 +-
204 +- find_library(SYSTEMCONFIGURATION_LIBRARY SystemConfiguration)
205 +- find_library(COREFOUNDATION_LIBRARY CoreFoundation)
206 +- list(APPEND liblastfm_LIBRARIES
207 +- ${COREFOUNDATION_LIBRARY}
208 +- ${SYSTEMCONFIGURATION_LIBRARY}
209 +- )
210 + endif()
211 +
212 + if(UNIX AND NOT APPLE)
213 +- list(APPEND liblastfm_SOURCES
214 ++ set(liblastfm_SOURCES ${liblastfm_SOURCES}
215 + linux/LNetworkConnectionMonitor_linux.cpp
216 + )
217 +- list(APPEND liblastfm_LIBRARIES ${QT_QTDBUS_LIBRARY})
218 +- list(APPEND liblastfm_QT5_MODULES DBus)
219 + endif()
220 +
221 + add_library(${LASTFM_LIB_TARGET_NAME} SHARED ${liblastfm_SOURCES})
222 +-qt5_use_modules(${LASTFM_LIB_TARGET_NAME} ${liblastfm_QT5_MODULES})
223 +
224 +-target_link_libraries(${LASTFM_LIB_TARGET_NAME} ${liblastfm_LIBRARIES})
225 ++if(Qt5Core_DIR)
226 ++ target_link_libraries(${LASTFM_LIB_TARGET_NAME} Qt5::Network Qt5::Xml)
227 ++ if(UNIX AND NOT APPLE)
228 ++ target_link_libraries(${LASTFM_LIB_TARGET_NAME} Qt5::DBus)
229 ++ endif()
230 ++else()
231 ++ target_link_libraries(${LASTFM_LIB_TARGET_NAME}
232 ++ ${QT_QTCORE_LIBRARY}
233 ++ ${QT_QTNETWORK_LIBRARY}
234 ++ ${QT_QTXML_LIBRARY}
235 ++ )
236 ++ if(UNIX AND NOT APPLE)
237 ++ target_link_libraries(${LASTFM_LIB_TARGET_NAME} ${QT_QTDBUS_LIBRARY})
238 ++ endif()
239 ++endif()
240 ++
241 ++if(WIN32 AND NOT MINGW)
242 ++ target_link_libraries(${LASTFM_LIB_TARGET_NAME}
243 ++ winhttp
244 ++ wbemuuid
245 ++ )
246 ++endif()
247 ++
248 ++if(APPLE)
249 ++ find_library(SYSTEMCONFIGURATION_LIBRARY SystemConfiguration)
250 ++ find_library(COREFOUNDATION_LIBRARY CoreFoundation)
251 ++ target_link_libraries(${LASTFM_LIB_TARGET_NAME}
252 ++ ${COREFOUNDATION_LIBRARY}
253 ++ ${SYSTEMCONFIGURATION_LIBRARY}
254 ++ )
255 ++endif()
256 ++
257 + set_target_properties(${LASTFM_LIB_TARGET_NAME} PROPERTIES
258 + VERSION ${LASTFM_VERSION_STRING}
259 + SOVERSION ${LASTFM_SOVERSION}
260 +diff --git a/src/fingerprint/CMakeLists.txt b/src/fingerprint/CMakeLists.txt
261 +index 126f8d9..4a74e0d 100644
262 +--- a/src/fingerprint/CMakeLists.txt
263 ++++ b/src/fingerprint/CMakeLists.txt
264 +@@ -26,21 +26,23 @@ set(lastfm_fingerprint_HEADERS
265 +
266 + add_library(${FINGERPRINT_LIB_TARGET_NAME} SHARED ${lastfm_fingerprint_SOURCES})
267 +
268 +-target_link_libraries(${FINGERPRINT_LIB_TARGET_NAME}
269 +- ${LASTFM_LIB_TARGET_NAME}
270 +- ${QT_QTSQL_LIBRARY}
271 +- ${QT_QTCORE_LIBRARY}
272 +- ${LIBSAMPLERATE_LIBRARY}
273 +- ${LIBFFTW3_LIBRARY}
274 +-)
275 +-
276 + set_target_properties(${FINGERPRINT_LIB_TARGET_NAME} PROPERTIES
277 + COMPILE_DEFINITIONS LASTFM_FINGERPRINT_LIB
278 + VERSION ${LASTFM_VERSION_STRING}
279 + SOVERSION ${LASTFM_SOVERSION}
280 + )
281 +
282 +-qt5_use_modules(${FINGERPRINT_LIB_TARGET_NAME} Network Sql Xml)
283 ++target_link_libraries(${FINGERPRINT_LIB_TARGET_NAME}
284 ++ ${LASTFM_LIB_TARGET_NAME}
285 ++ ${LIBSAMPLERATE_LIBRARY}
286 ++ ${LIBFFTW3_LIBRARY}
287 ++)
288 ++
289 ++if(Qt5Core_DIR)
290 ++ target_link_libraries(${FINGERPRINT_LIB_TARGET_NAME} Qt5::Network Qt5::Sql Qt5::Xml)
291 ++else()
292 ++ target_link_libraries(${FINGERPRINT_LIB_TARGET_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTSQL_LIBRARY})
293 ++endif()
294 +
295 + install(TARGETS ${FINGERPRINT_LIB_TARGET_NAME}
296 + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
297 +diff --git a/tests/lastfm_add_test.cmake b/tests/lastfm_add_test.cmake
298 +index a4a1686..2f0664d 100644
299 +--- a/tests/lastfm_add_test.cmake
300 ++++ b/tests/lastfm_add_test.cmake
301 +@@ -6,13 +6,15 @@ macro(lastfm_add_test test_class)
302 + configure_file(Test${LASTFM_TEST_CLASS}.h Test${LASTFM_TEST_CLASS}.h)
303 + add_executable(${LASTFM_TEST_CLASS}Test Test${LASTFM_TEST_CLASS}.cpp)
304 +
305 +- qt5_use_modules(${LASTFM_TEST_CLASS}Test Core Test Xml Network)
306 +-
307 +- target_link_libraries(${LASTFM_TEST_CLASS}Test
308 +- ${LASTFM_LIB_TARGET_NAME}
309 +- ${QT_QTTEST_LIBRARY}
310 +- ${QT_QTCORE_LIBRARY}
311 +- )
312 ++ if(Qt5Core_DIR)
313 ++ target_link_libraries(${LASTFM_TEST_CLASS}Test Qt5::Core Qt5::Test Qt5::Xml Qt5::Network
314 ++ ${LASTFM_LIB_TARGET_NAME}
315 ++ )
316 ++ else()
317 ++ target_link_libraries(${LASTFM_TEST_CLASS}Test ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY}
318 ++ ${LASTFM_LIB_TARGET_NAME}
319 ++ )
320 ++ endif()
321 +
322 + add_test(NAME ${LASTFM_TEST_CLASS}Test COMMAND ${LASTFM_TEST_CLASS}Test)
323 + endmacro()
324 +--
325 +2.17.0
326 +
327
328 diff --git a/media-libs/liblastfm/liblastfm-1.1.0_pre20150206.ebuild b/media-libs/liblastfm/liblastfm-1.1.0_pre20150206.ebuild
329 new file mode 100644
330 index 0000000..ceeabe2
331 --- /dev/null
332 +++ b/media-libs/liblastfm/liblastfm-1.1.0_pre20150206.ebuild
333 @@ -0,0 +1,87 @@
334 +# Copyright 1999-2018 Gentoo Foundation
335 +# Distributed under the terms of the GNU General Public License v2
336 +
337 +EAPI=6
338 +
339 +COMMIT=44331654256df83bc1d3cbb271a8ce3d4c464686
340 +inherit cmake-utils multibuild vcs-snapshot
341 +
342 +DESCRIPTION="Collection of libraries to integrate Last.fm services"
343 +HOMEPAGE="https://github.com/lastfm/liblastfm"
344 +SRC_URI="https://github.com/lastfm/liblastfm/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
345 +
346 +LICENSE="GPL-3"
347 +KEYWORDS="amd64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
348 +SLOT="0"
349 +IUSE="fingerprint test +qt4 qt5"
350 +
351 +REQUIRED_USE="|| ( qt4 qt5 )"
352 +
353 +COMMON_DEPEND="
354 + qt4? (
355 + dev-qt/qtcore:4[ssl]
356 + dev-qt/qtdbus:4
357 + )
358 + qt5? (
359 + dev-qt/qtcore:5
360 + dev-qt/qtdbus:5
361 + dev-qt/qtnetwork:5[ssl]
362 + dev-qt/qtxml:5
363 + )
364 + fingerprint? (
365 + media-libs/libsamplerate
366 + sci-libs/fftw:3.0
367 + qt4? ( dev-qt/qtsql:4 )
368 + qt5? ( dev-qt/qtsql:5 )
369 + )
370 +"
371 +DEPEND="${COMMON_DEPEND}
372 + test? (
373 + qt4? ( dev-qt/qttest:4 )
374 + qt5? ( dev-qt/qttest:5 )
375 + )
376 +"
377 +RDEPEND="${COMMON_DEPEND}
378 + !<media-libs/lastfmlib-0.4.0
379 +"
380 +
381 +# 1 of 2 (UrlBuilderTest) is failing, last checked version 1.0.9
382 +RESTRICT="test"
383 +
384 +PATCHES=( "${FILESDIR}/${P}-qt-5.11b3.patch" )
385 +
386 +pkg_setup() {
387 + MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
388 +}
389 +
390 +src_configure() {
391 + myconfigure() {
392 + # demos not working
393 + local mycmakeargs=(
394 + -DBUILD_DEMOS=OFF
395 + -DBUILD_FINGERPRINT=$(usex fingerprint)
396 + -DBUILD_TESTS=$(usex test)
397 + )
398 + if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
399 + mycmakeargs+=(-DBUILD_WITH_QT4=ON)
400 + fi
401 + if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
402 + mycmakeargs+=(-DBUILD_WITH_QT4=OFF)
403 + fi
404 + cmake-utils_src_configure
405 + }
406 +
407 + multibuild_foreach_variant myconfigure
408 +}
409 +
410 +src_compile() {
411 + multibuild_foreach_variant cmake-utils_src_compile
412 +}
413 +
414 +src_test() {
415 + multibuild_foreach_variant cmake-utils_src_test
416 +}
417 +
418 +src_install() {
419 + multibuild_foreach_variant cmake-utils_src_install
420 +}
421
422 diff --git a/media-libs/liblastfm/metadata.xml b/media-libs/liblastfm/metadata.xml
423 new file mode 100644
424 index 0000000..0ad9360
425 --- /dev/null
426 +++ b/media-libs/liblastfm/metadata.xml
427 @@ -0,0 +1,11 @@
428 +<?xml version="1.0" encoding="UTF-8"?>
429 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
430 +<pkgmetadata>
431 + <!-- maintainer-needed -->
432 + <use>
433 + <flag name="fingerprint">Build the lastfm-fingerprint library</flag>
434 + </use>
435 + <upstream>
436 + <remote-id type="github">lastfm/liblastfm</remote-id>
437 + </upstream>
438 +</pkgmetadata>