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: dev-libs/libdbusmenu-qt/files/, dev-libs/libdbusmenu-qt/
Date: Mon, 07 Sep 2020 17:54:30
Message-Id: 1599500928.a133cf0b93333aa18165d667d85a2a797599d28c.asturm@gentoo
1 commit: a133cf0b93333aa18165d667d85a2a797599d28c
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 7 17:48:48 2020 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 7 17:48:48 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/kde-sunset.git/commit/?id=a133cf0b
7
8 dev-libs/libdbusmenu-qt: Import latest version with IUSE="qt4,qt5"
9
10 This package will most likely reach EOL with Qt5 anyway.
11
12 Package-Manager: Portage-3.0.5, Repoman-3.0.1
13 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
14
15 .../libdbusmenu-qt-0.9.3_pre20160218-cmake.patch | 258 +++++++++++++++++++++
16 .../libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild | 95 ++++++++
17 2 files changed, 353 insertions(+)
18
19 diff --git a/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake.patch b/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake.patch
20 new file mode 100644
21 index 00000000..e4668a52
22 --- /dev/null
23 +++ b/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake.patch
24 @@ -0,0 +1,258 @@
25 +From 56669bd4e5ed21cfd2b0f5b94983792396695e5e Mon Sep 17 00:00:00 2001
26 +From: Andreas Sturmlechner <andreas.sturmlechner@×××××.com>
27 +Date: Sun, 17 Feb 2019 19:10:55 +0100
28 +Subject: [PATCH] Use more GNUInstallDirs, fix pkgconfig libdir path, general
29 + cleanup
30 +
31 +---
32 + CMakeLists.txt | 45 ++++++++++++-----------------------
33 + cmake/modules/FindQJSON.cmake | 2 +-
34 + dbusmenu-qt-config.cmake.in | 2 +-
35 + dbusmenu-qt.pc.in | 6 ++---
36 + src/CMakeLists.txt | 16 ++++++-------
37 + tests/CMakeLists.txt | 10 ++++----
38 + tools/testapp/CMakeLists.txt | 2 +-
39 + 7 files changed, 34 insertions(+), 49 deletions(-)
40 +
41 +diff --git a/CMakeLists.txt b/CMakeLists.txt
42 +index 72cbc45..2d757ec 100644
43 +--- a/CMakeLists.txt
44 ++++ b/CMakeLists.txt
45 +@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.8.11)
46 + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules")
47 +
48 + # Build options
49 +-option(WITH_DOC "Build documentation (requires Doxygen)" ON)
50 ++option(WITH_DOC "Build documentation (requires Doxygen)" OFF)
51 +
52 + # Versions
53 + ## Package version
54 +@@ -24,28 +24,8 @@ set(dbusmenu_qt_lib_PATCH_VERSION 0)
55 +
56 + set(dbusmenu_qt_lib_VERSION ${dbusmenu_qt_lib_SOVERSION}.${dbusmenu_qt_lib_API_VERSION}.${dbusmenu_qt_lib_PATCH_VERSION})
57 +
58 +-# Check if we want to explicitly select the Qt version to be used or autodetect
59 +-if (NOT USE_QT4 AND NOT USE_QT5)
60 +- # Autodetect, prefering Qt5
61 +- message(STATUS "Autodetecting Qt version to use")
62 +- find_package(Qt5Widgets QUIET)
63 +- if (Qt5Widgets_FOUND)
64 +- set(USE_QT5 TRUE)
65 +- endif()
66 +-endif()
67 +-
68 + # Detect for which Qt version we're building
69 +-if (USE_QT5)
70 +- find_package(Qt5Widgets REQUIRED)
71 +- find_package(Qt5DBus REQUIRED)
72 +- include_directories(${Qt5Widgets_INCLUDE_DIRS} ${Qt5DBus_INCLUDE_DIRS})
73 +- find_package(Qt5Core REQUIRED)
74 +- set(CMAKE_AUTOMOC ON)
75 +- set(CMAKE_AUTOMOC_RELAXED_MODE ON)
76 +- set(CMAKE_POSITION_INDEPENDENT_CODE ON)
77 +-
78 +- set(QT_SUFFIX "qt5")
79 +-else()
80 ++if (USE_QT4)
81 + find_package(Qt4 REQUIRED)
82 + include_directories(
83 + ${QT_INCLUDE_DIR}
84 +@@ -55,6 +35,14 @@ else()
85 + )
86 +
87 + set(QT_SUFFIX "qt")
88 ++else()
89 ++ find_package(Qt5 CONFIG REQUIRED Core DBus Widgets)
90 ++ include_directories(${Qt5Widgets_INCLUDE_DIRS} ${Qt5DBus_INCLUDE_DIRS})
91 ++ set(CMAKE_AUTOMOC ON)
92 ++ set(CMAKE_AUTOMOC_RELAXED_MODE ON)
93 ++ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
94 ++
95 ++ set(QT_SUFFIX "qt5")
96 + endif()
97 +
98 + include (CheckCXXCompilerFlag)
99 +@@ -76,9 +64,7 @@ endif (__DBUSMENU_HAVE_CXX11)
100 +
101 + include(CMakePackageConfigHelpers)
102 + include(GNUInstallDirs)
103 +-set(LIB_DESTINATION "${CMAKE_INSTALL_LIBDIR}")
104 +-set(CMAKECONFIG_INSTALL_DIR "${LIB_DESTINATION}/cmake/dbusmenu-${QT_SUFFIX}")
105 +-set(INCLUDE_INSTALL_DIR "include/dbusmenu-${QT_SUFFIX}")
106 ++set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX}")
107 +
108 + # dist targets
109 + set(ARCHIVE_NAME libdbusmenu-${QT_SUFFIX}-${dbusmenu_qt_VERSION})
110 +@@ -103,7 +89,7 @@ add_dependencies(distcheck dist)
111 + configure_file(dbusmenu-qt.pc.in ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc @ONLY)
112 +
113 + install(FILES ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc
114 +- DESTINATION ${LIB_DESTINATION}/pkgconfig
115 ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
116 + )
117 +
118 + add_subdirectory(src)
119 +@@ -118,7 +104,7 @@ if(WITH_DOC)
120 + )
121 +
122 + install(DIRECTORY ${CMAKE_BINARY_DIR}/html/
123 +- DESTINATION share/doc/libdbusmenu-${QT_SUFFIX}-doc
124 ++ DESTINATION ${CMAKE_INSTALL_DOCDIR}
125 + )
126 + endif(WITH_DOC)
127 +
128 +@@ -126,8 +112,8 @@ endif(WITH_DOC)
129 + configure_package_config_file(
130 + dbusmenu-qt-config.cmake.in
131 + ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}-config.cmake
132 +- INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
133 ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-${QT_SUFFIX}
134 + PATH_VARS INCLUDE_INSTALL_DIR
135 + )
136 +
137 + write_basic_package_version_file(
138 +@@ -140,6 +126,6 @@ write_basic_package_version_file(
139 + install(FILES
140 + ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}-config.cmake
141 + ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}-config-version.cmake
142 +- DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
143 ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-${QT_SUFFIX}"
144 + COMPONENT Devel
145 + )
146 +--- a/cmake/modules/FindQJSON.cmake
147 ++++ b/cmake/modules/FindQJSON.cmake
148 +@@ -34,7 +34,7 @@ else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
149 + qjson/parser.h
150 + PATHS
151 + ${PC_QJSON_INCLUDE_DIRS}
152 +- ${INCLUDE_INSTALL_DIR}
153 ++ ${CMAKE_INSTALL_INCLUDEDIR}
154 + ${KDE4_INCLUDE_DIR}
155 + )
156 +
157 +--- a/dbusmenu-qt.pc.in
158 ++++ b/dbusmenu-qt.pc.in
159 +@@ -1,7 +1,7 @@
160 + prefix=@CMAKE_INSTALL_PREFIX@
161 +-exec_prefix=@CMAKE_INSTALL_PREFIX@
162 +-libdir=@CMAKE_INSTALL_PREFIX@/lib
163 +-includedir=@CMAKE_INSTALL_PREFIX@/include/dbusmenu-@QT_SUFFIX@
164 ++exec_prefix=${prefix}
165 ++libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
166 ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/dbusmenu-@QT_SUFFIX@
167 +
168 + Name: libdbusmenu-@QT_SUFFIX@
169 + Description: Qt implementation of dbusmenu spec
170 +--- a/src/CMakeLists.txt
171 ++++ b/src/CMakeLists.txt
172 +@@ -29,7 +29,7 @@ endif (__DBUSMENU_HAVE_CXX11)
173 + # Check whether QIcon::name() exists. It was added in late Qt 4.7 cycle, and is
174 + # not present in betas.
175 +
176 +-if (NOT USE_QT5)
177 ++if (USE_QT4)
178 + set(CMAKE_REQUIRED_INCLUDES "${QT_INCLUDE_DIR}")
179 + set(CMAKE_REQUIRED_LIBRARIES "${QT_QTGUI_LIBRARIES};${QT_QTCORE_LIBRARIES}")
180 + else()
181 +@@ -64,7 +64,7 @@ include_directories(
182 + ${CMAKE_BINARY_DIR}/src
183 + )
184 +
185 +-if (NOT USE_QT5)
186 ++if (USE_QT4)
187 + qt4_automoc(${dbusmenu_qt_SRCS})
188 + qt4_add_dbus_adaptor(dbusmenu_qt_SRCS
189 + ${CMAKE_CURRENT_SOURCE_DIR}/com.canonical.dbusmenu.xml
190 +@@ -88,7 +88,7 @@ set_target_properties(dbusmenu-${QT_SUFFIX} PROPERTIES
191 + )
192 +
193 +
194 +-if (NOT USE_QT5)
195 ++if (USE_QT4)
196 + target_link_libraries(dbusmenu-${QT_SUFFIX}
197 + ${QT_QTGUI_LIBRARIES}
198 + ${QT_QTDBUS_LIBRARIES}
199 +@@ -105,23 +105,23 @@ endif()
200 +
201 + # Make sure linking to the target adds dbusmenu-qt install directory
202 + target_include_directories(dbusmenu-${QT_SUFFIX}
203 +- INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")
204 ++ INTERFACE "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX}>")
205 +
206 + install(TARGETS dbusmenu-${QT_SUFFIX}
207 + EXPORT dbusmenu-${QT_SUFFIX}-targets
208 +- LIBRARY DESTINATION ${LIB_DESTINATION}
209 ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
210 + RUNTIME DESTINATION bin
211 + )
212 +
213 + install(EXPORT dbusmenu-${QT_SUFFIX}-targets
214 +- DESTINATION ${CMAKECONFIG_INSTALL_DIR})
215 ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-${QT_SUFFIX})
216 +
217 + install(DIRECTORY .
218 +- DESTINATION ${INCLUDE_INSTALL_DIR}
219 ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX}
220 + FILES_MATCHING PATTERN "*.h"
221 + PATTERN "*_p.h" EXCLUDE
222 + )
223 +
224 + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dbusmenu_version.h
225 +- DESTINATION ${INCLUDE_INSTALL_DIR}
226 ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX}
227 + )
228 +--- a/tests/CMakeLists.txt
229 ++++ b/tests/CMakeLists.txt
230 +@@ -1,9 +1,9 @@
231 +-if (NOT USE_QT5)
232 ++if (USE_QT4)
233 + qt4_automoc(slowmenu.cpp)
234 + endif()
235 + add_executable(slowmenu slowmenu.cpp)
236 +
237 +-if (NOT USE_QT5)
238 ++if (USE_QT4)
239 + target_link_libraries(slowmenu
240 + ${QT_QTGUI_LIBRARIES}
241 + ${QT_QTDBUS_LIBRARIES}
242 +@@ -77,7 +77,7 @@ set(dbusmenuexportertest_SRCS
243 + testutils.cpp
244 + )
245 +
246 +-if (NOT USE_QT5)
247 ++if (USE_QT4)
248 + qt4_automoc(${dbusmenuexportertest_SRCS})
249 + endif()
250 +
251 +@@ -94,7 +94,7 @@ set(dbusmenuimportertest_SRCS
252 + testutils.cpp
253 + )
254 +
255 +-if (NOT USE_QT5)
256 ++if (USE_QT4)
257 + qt4_automoc(${dbusmenuimportertest_SRCS})
258 + endif()
259 +
260 +@@ -110,7 +110,7 @@ set(dbusmenushortcuttest_SRCS
261 + dbusmenushortcuttest.cpp
262 + )
263 +
264 +-if (NOT USE_QT5)
265 ++if (USE_QT4)
266 + qt4_automoc(${dbusmenushortcuttest_SRCS})
267 + endif()
268 +
269 +--- a/tools/testapp/CMakeLists.txt
270 ++++ b/tools/testapp/CMakeLists.txt
271 +@@ -4,7 +4,7 @@ set(qtapp_SRCS
272 +
273 + add_executable(dbusmenubench-qtapp ${qtapp_SRCS})
274 +
275 +-if (NOT USE_QT5)
276 ++if (USE_QT4)
277 + # Qt4
278 + include_directories(
279 + ${CMAKE_CURRENT_SOURCE_DIR}/../../src
280 +--
281 +2.20.1
282 +
283
284 diff --git a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild
285 new file mode 100644
286 index 00000000..9540f7de
287 --- /dev/null
288 +++ b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild
289 @@ -0,0 +1,95 @@
290 +# Copyright 1999-2020 Gentoo Authors
291 +# Distributed under the terms of the GNU General Public License v2
292 +
293 +EAPI=7
294 +
295 +CMAKE_ECLASS=cmake
296 +MY_PV=${PV/_pre/+16.04.}
297 +inherit cmake-multilib multibuild
298 +
299 +DESCRIPTION="Library providing Qt implementation of DBusMenu specification"
300 +HOMEPAGE="https://launchpad.net/libdbusmenu-qt/"
301 +SRC_URI="https://launchpad.net/ubuntu/+archive/primary/+files/${PN}_${MY_PV}.orig.tar.gz"
302 +
303 +LICENSE="LGPL-2"
304 +SLOT="0"
305 +KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
306 +IUSE="+qt4 qt5"
307 +
308 +REQUIRED_USE="|| ( qt4 qt5 )"
309 +
310 +DEPEND="
311 + qt4? (
312 + >=dev-qt/qtcore-4.8.6:4[${MULTILIB_USEDEP}]
313 + >=dev-qt/qtdbus-4.8.6:4[${MULTILIB_USEDEP}]
314 + >=dev-qt/qtgui-4.8.6:4[${MULTILIB_USEDEP}]
315 + )
316 + qt5? (
317 + dev-qt/qtcore:5
318 + dev-qt/qtdbus:5
319 + dev-qt/qtgui:5
320 + dev-qt/qtwidgets:5
321 + )
322 +"
323 +RDEPEND="${DEPEND}"
324 +
325 +S="${WORKDIR}"/${PN}-${MY_PV}
326 +
327 +PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
328 +
329 +pkg_setup() {
330 + MULTIBUILD_VARIANTS=( $(usex qt4 4) $(usex qt5 5) )
331 +}
332 +
333 +src_prepare() {
334 + cmake_src_prepare
335 +
336 + cmake_comment_add_subdirectory tools
337 + # tests fail due to missing connection to dbus
338 + cmake_comment_add_subdirectory tests
339 +}
340 +
341 +multilib_src_configure() {
342 + local mycmakeargs=(
343 + -DWITH_DOC=OFF
344 + )
345 + [[ ${QT_MULTIBUILD_VARIANT} = 4 ]] && mycmakeargs+=(
346 + -DUSE_QT4=ON
347 + -DQT_QMAKE_EXECUTABLE="/usr/$(get_libdir)/qt${QT_MULTIBUILD_VARIANT}/bin/qmake"
348 + )
349 + cmake_src_configure
350 +}
351 +
352 +src_configure() {
353 + myconfigure() {
354 + local QT_MULTIBUILD_VARIANT=${MULTIBUILD_VARIANT}
355 + if [[ ${MULTIBUILD_VARIANT} = 4 ]] ; then
356 + cmake-multilib_src_configure
357 + elif [[ ${MULTIBUILD_VARIANT} = 5 ]] ; then
358 + multilib_src_configure
359 + fi
360 + }
361 + multibuild_foreach_variant myconfigure
362 +}
363 +
364 +src_compile() {
365 + mycompile() {
366 + if [[ ${MULTIBUILD_VARIANT} = 4 ]] ; then
367 + cmake-multilib_src_compile
368 + elif [[ ${MULTIBUILD_VARIANT} = 5 ]] ; then
369 + cmake_src_compile
370 + fi
371 + }
372 + multibuild_foreach_variant mycompile
373 +}
374 +
375 +src_install() {
376 + myinstall() {
377 + if [[ ${MULTIBUILD_VARIANT} = 4 ]] ; then
378 + cmake-multilib_src_install
379 + elif [[ ${MULTIBUILD_VARIANT} = 5 ]] ; then
380 + cmake_src_install
381 + fi
382 + }
383 + multibuild_foreach_variant myinstall
384 +}