From a133cf0b93333aa18165d667d85a2a797599d28c Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Mon, 7 Sep 2020 19:48:48 +0200 Subject: dev-libs/libdbusmenu-qt: Import latest version with IUSE="qt4,qt5" This package will most likely reach EOL with Qt5 anyway. Package-Manager: Portage-3.0.5, Repoman-3.0.1 Signed-off-by: Andreas Sturmlechner --- .../libdbusmenu-qt-0.9.3_pre20160218-cmake.patch | 258 +++++++++++++++++++++ .../libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild | 95 ++++++++ 2 files changed, 353 insertions(+) create mode 100644 dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake.patch create mode 100644 dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild (limited to 'dev-libs') 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 new file mode 100644 index 00000000..e4668a52 --- /dev/null +++ b/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake.patch @@ -0,0 +1,258 @@ +From 56669bd4e5ed21cfd2b0f5b94983792396695e5e Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner +Date: Sun, 17 Feb 2019 19:10:55 +0100 +Subject: [PATCH] Use more GNUInstallDirs, fix pkgconfig libdir path, general + cleanup + +--- + CMakeLists.txt | 45 ++++++++++++----------------------- + cmake/modules/FindQJSON.cmake | 2 +- + dbusmenu-qt-config.cmake.in | 2 +- + dbusmenu-qt.pc.in | 6 ++--- + src/CMakeLists.txt | 16 ++++++------- + tests/CMakeLists.txt | 10 ++++---- + tools/testapp/CMakeLists.txt | 2 +- + 7 files changed, 34 insertions(+), 49 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 72cbc45..2d757ec 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.8.11) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules") + + # Build options +-option(WITH_DOC "Build documentation (requires Doxygen)" ON) ++option(WITH_DOC "Build documentation (requires Doxygen)" OFF) + + # Versions + ## Package version +@@ -24,28 +24,8 @@ set(dbusmenu_qt_lib_PATCH_VERSION 0) + + set(dbusmenu_qt_lib_VERSION ${dbusmenu_qt_lib_SOVERSION}.${dbusmenu_qt_lib_API_VERSION}.${dbusmenu_qt_lib_PATCH_VERSION}) + +-# Check if we want to explicitly select the Qt version to be used or autodetect +-if (NOT USE_QT4 AND NOT USE_QT5) +- # Autodetect, prefering Qt5 +- message(STATUS "Autodetecting Qt version to use") +- find_package(Qt5Widgets QUIET) +- if (Qt5Widgets_FOUND) +- set(USE_QT5 TRUE) +- endif() +-endif() +- + # Detect for which Qt version we're building +-if (USE_QT5) +- find_package(Qt5Widgets REQUIRED) +- find_package(Qt5DBus REQUIRED) +- include_directories(${Qt5Widgets_INCLUDE_DIRS} ${Qt5DBus_INCLUDE_DIRS}) +- find_package(Qt5Core REQUIRED) +- set(CMAKE_AUTOMOC ON) +- set(CMAKE_AUTOMOC_RELAXED_MODE ON) +- set(CMAKE_POSITION_INDEPENDENT_CODE ON) +- +- set(QT_SUFFIX "qt5") +-else() ++if (USE_QT4) + find_package(Qt4 REQUIRED) + include_directories( + ${QT_INCLUDE_DIR} +@@ -55,6 +35,14 @@ else() + ) + + set(QT_SUFFIX "qt") ++else() ++ find_package(Qt5 CONFIG REQUIRED Core DBus Widgets) ++ include_directories(${Qt5Widgets_INCLUDE_DIRS} ${Qt5DBus_INCLUDE_DIRS}) ++ set(CMAKE_AUTOMOC ON) ++ set(CMAKE_AUTOMOC_RELAXED_MODE ON) ++ set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++ ++ set(QT_SUFFIX "qt5") + endif() + + include (CheckCXXCompilerFlag) +@@ -76,9 +64,7 @@ endif (__DBUSMENU_HAVE_CXX11) + + include(CMakePackageConfigHelpers) + include(GNUInstallDirs) +-set(LIB_DESTINATION "${CMAKE_INSTALL_LIBDIR}") +-set(CMAKECONFIG_INSTALL_DIR "${LIB_DESTINATION}/cmake/dbusmenu-${QT_SUFFIX}") +-set(INCLUDE_INSTALL_DIR "include/dbusmenu-${QT_SUFFIX}") ++set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX}") + + # dist targets + set(ARCHIVE_NAME libdbusmenu-${QT_SUFFIX}-${dbusmenu_qt_VERSION}) +@@ -103,7 +89,7 @@ add_dependencies(distcheck dist) + configure_file(dbusmenu-qt.pc.in ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc @ONLY) + + install(FILES ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc +- DESTINATION ${LIB_DESTINATION}/pkgconfig ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig + ) + + add_subdirectory(src) +@@ -118,7 +104,7 @@ if(WITH_DOC) + ) + + install(DIRECTORY ${CMAKE_BINARY_DIR}/html/ +- DESTINATION share/doc/libdbusmenu-${QT_SUFFIX}-doc ++ DESTINATION ${CMAKE_INSTALL_DOCDIR} + ) + endif(WITH_DOC) + +@@ -126,8 +112,8 @@ endif(WITH_DOC) + configure_package_config_file( + dbusmenu-qt-config.cmake.in + ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}-config.cmake +- INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-${QT_SUFFIX} + PATH_VARS INCLUDE_INSTALL_DIR + ) + + write_basic_package_version_file( +@@ -140,6 +126,6 @@ write_basic_package_version_file( + install(FILES + ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}-config.cmake + ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}-config-version.cmake +- DESTINATION "${CMAKECONFIG_INSTALL_DIR}" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-${QT_SUFFIX}" + COMPONENT Devel + ) +--- a/cmake/modules/FindQJSON.cmake ++++ b/cmake/modules/FindQJSON.cmake +@@ -34,7 +34,7 @@ else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES) + qjson/parser.h + PATHS + ${PC_QJSON_INCLUDE_DIRS} +- ${INCLUDE_INSTALL_DIR} ++ ${CMAKE_INSTALL_INCLUDEDIR} + ${KDE4_INCLUDE_DIR} + ) + +--- a/dbusmenu-qt.pc.in ++++ b/dbusmenu-qt.pc.in +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ +-exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=@CMAKE_INSTALL_PREFIX@/lib +-includedir=@CMAKE_INSTALL_PREFIX@/include/dbusmenu-@QT_SUFFIX@ ++exec_prefix=${prefix} ++libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/dbusmenu-@QT_SUFFIX@ + + Name: libdbusmenu-@QT_SUFFIX@ + Description: Qt implementation of dbusmenu spec +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -29,7 +29,7 @@ endif (__DBUSMENU_HAVE_CXX11) + # Check whether QIcon::name() exists. It was added in late Qt 4.7 cycle, and is + # not present in betas. + +-if (NOT USE_QT5) ++if (USE_QT4) + set(CMAKE_REQUIRED_INCLUDES "${QT_INCLUDE_DIR}") + set(CMAKE_REQUIRED_LIBRARIES "${QT_QTGUI_LIBRARIES};${QT_QTCORE_LIBRARIES}") + else() +@@ -64,7 +64,7 @@ include_directories( + ${CMAKE_BINARY_DIR}/src + ) + +-if (NOT USE_QT5) ++if (USE_QT4) + qt4_automoc(${dbusmenu_qt_SRCS}) + qt4_add_dbus_adaptor(dbusmenu_qt_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/com.canonical.dbusmenu.xml +@@ -88,7 +88,7 @@ set_target_properties(dbusmenu-${QT_SUFFIX} PROPERTIES + ) + + +-if (NOT USE_QT5) ++if (USE_QT4) + target_link_libraries(dbusmenu-${QT_SUFFIX} + ${QT_QTGUI_LIBRARIES} + ${QT_QTDBUS_LIBRARIES} +@@ -105,23 +105,23 @@ endif() + + # Make sure linking to the target adds dbusmenu-qt install directory + target_include_directories(dbusmenu-${QT_SUFFIX} +- INTERFACE "$") ++ INTERFACE "$") + + install(TARGETS dbusmenu-${QT_SUFFIX} + EXPORT dbusmenu-${QT_SUFFIX}-targets +- LIBRARY DESTINATION ${LIB_DESTINATION} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION bin + ) + + install(EXPORT dbusmenu-${QT_SUFFIX}-targets +- DESTINATION ${CMAKECONFIG_INSTALL_DIR}) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-${QT_SUFFIX}) + + install(DIRECTORY . +- DESTINATION ${INCLUDE_INSTALL_DIR} ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX} + FILES_MATCHING PATTERN "*.h" + PATTERN "*_p.h" EXCLUDE + ) + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dbusmenu_version.h +- DESTINATION ${INCLUDE_INSTALL_DIR} ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX} + ) +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -1,9 +1,9 @@ +-if (NOT USE_QT5) ++if (USE_QT4) + qt4_automoc(slowmenu.cpp) + endif() + add_executable(slowmenu slowmenu.cpp) + +-if (NOT USE_QT5) ++if (USE_QT4) + target_link_libraries(slowmenu + ${QT_QTGUI_LIBRARIES} + ${QT_QTDBUS_LIBRARIES} +@@ -77,7 +77,7 @@ set(dbusmenuexportertest_SRCS + testutils.cpp + ) + +-if (NOT USE_QT5) ++if (USE_QT4) + qt4_automoc(${dbusmenuexportertest_SRCS}) + endif() + +@@ -94,7 +94,7 @@ set(dbusmenuimportertest_SRCS + testutils.cpp + ) + +-if (NOT USE_QT5) ++if (USE_QT4) + qt4_automoc(${dbusmenuimportertest_SRCS}) + endif() + +@@ -110,7 +110,7 @@ set(dbusmenushortcuttest_SRCS + dbusmenushortcuttest.cpp + ) + +-if (NOT USE_QT5) ++if (USE_QT4) + qt4_automoc(${dbusmenushortcuttest_SRCS}) + endif() + +--- a/tools/testapp/CMakeLists.txt ++++ b/tools/testapp/CMakeLists.txt +@@ -4,7 +4,7 @@ set(qtapp_SRCS + + add_executable(dbusmenubench-qtapp ${qtapp_SRCS}) + +-if (NOT USE_QT5) ++if (USE_QT4) + # Qt4 + include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/../../src +-- +2.20.1 + 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 new file mode 100644 index 00000000..9540f7de --- /dev/null +++ b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake +MY_PV=${PV/_pre/+16.04.} +inherit cmake-multilib multibuild + +DESCRIPTION="Library providing Qt implementation of DBusMenu specification" +HOMEPAGE="https://launchpad.net/libdbusmenu-qt/" +SRC_URI="https://launchpad.net/ubuntu/+archive/primary/+files/${PN}_${MY_PV}.orig.tar.gz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux" +IUSE="+qt4 qt5" + +REQUIRED_USE="|| ( qt4 qt5 )" + +DEPEND=" + qt4? ( + >=dev-qt/qtcore-4.8.6:4[${MULTILIB_USEDEP}] + >=dev-qt/qtdbus-4.8.6:4[${MULTILIB_USEDEP}] + >=dev-qt/qtgui-4.8.6:4[${MULTILIB_USEDEP}] + ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) +" +RDEPEND="${DEPEND}" + +S="${WORKDIR}"/${PN}-${MY_PV} + +PATCHES=( "${FILESDIR}/${P}-cmake.patch" ) + +pkg_setup() { + MULTIBUILD_VARIANTS=( $(usex qt4 4) $(usex qt5 5) ) +} + +src_prepare() { + cmake_src_prepare + + cmake_comment_add_subdirectory tools + # tests fail due to missing connection to dbus + cmake_comment_add_subdirectory tests +} + +multilib_src_configure() { + local mycmakeargs=( + -DWITH_DOC=OFF + ) + [[ ${QT_MULTIBUILD_VARIANT} = 4 ]] && mycmakeargs+=( + -DUSE_QT4=ON + -DQT_QMAKE_EXECUTABLE="/usr/$(get_libdir)/qt${QT_MULTIBUILD_VARIANT}/bin/qmake" + ) + cmake_src_configure +} + +src_configure() { + myconfigure() { + local QT_MULTIBUILD_VARIANT=${MULTIBUILD_VARIANT} + if [[ ${MULTIBUILD_VARIANT} = 4 ]] ; then + cmake-multilib_src_configure + elif [[ ${MULTIBUILD_VARIANT} = 5 ]] ; then + multilib_src_configure + fi + } + multibuild_foreach_variant myconfigure +} + +src_compile() { + mycompile() { + if [[ ${MULTIBUILD_VARIANT} = 4 ]] ; then + cmake-multilib_src_compile + elif [[ ${MULTIBUILD_VARIANT} = 5 ]] ; then + cmake_src_compile + fi + } + multibuild_foreach_variant mycompile +} + +src_install() { + myinstall() { + if [[ ${MULTIBUILD_VARIANT} = 4 ]] ; then + cmake-multilib_src_install + elif [[ ${MULTIBUILD_VARIANT} = 5 ]] ; then + cmake_src_install + fi + } + multibuild_foreach_variant myinstall +} -- cgit v1.2.3-65-gdbad