From c273d44195c2ff5431917110668389e69672e62d Mon Sep 17 00:00:00 2001 From: Rmys Date: Mon, 6 Nov 2023 12:03:08 +0300 Subject: [PATCH] polkit-qt6 new package kf6 --- desktop/toolkit/qt5/polkit-qt/actions.py | 22 +- .../qt5/polkit-qt/files/fd1bc295.patch | 367 ++++++++++++++++++ desktop/toolkit/qt5/polkit-qt/pspec.xml | 32 +- 3 files changed, 414 insertions(+), 7 deletions(-) create mode 100644 desktop/toolkit/qt5/polkit-qt/files/fd1bc295.patch diff --git a/desktop/toolkit/qt5/polkit-qt/actions.py b/desktop/toolkit/qt5/polkit-qt/actions.py index af98355718..6f3cbaba2d 100755 --- a/desktop/toolkit/qt5/polkit-qt/actions.py +++ b/desktop/toolkit/qt5/polkit-qt/actions.py @@ -9,18 +9,28 @@ from pisi.actionsapi import pisitools from pisi.actionsapi import shelltools def setup(): - shelltools.makedirs("build") - shelltools.cd("build") - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + cmaketools.configure("-B build5 -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_DESTINATION=/usr/lib", sourceDir="..") + -DLIB_DESTINATION=/usr/lib") + + cmaketools.configure("-B build6 -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DQT_MAJOR_VERSION=6 \ + -DLIB_DESTINATION=/usr/lib") def build(): - shelltools.cd("build") + shelltools.cd("build5") + cmaketools.make() + + shelltools.cd("../build6") cmaketools.make() def install(): - shelltools.cd("build") + shelltools.cd("build5") cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) + + shelltools.cd("../build6") + cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) + shelltools.cd("..") pisitools.dodoc("AUTHORS", "TODO", "README*") diff --git a/desktop/toolkit/qt5/polkit-qt/files/fd1bc295.patch b/desktop/toolkit/qt5/polkit-qt/files/fd1bc295.patch new file mode 100644 index 0000000000..93ede3f941 --- /dev/null +++ b/desktop/toolkit/qt5/polkit-qt/files/fd1bc295.patch @@ -0,0 +1,367 @@ +From fd1bc29594c6dee8b65c294c1c8595349f5cfdb2 Mon Sep 17 00:00:00 2001 +From: Ahmad Samir +Date: Sun, 5 Dec 2021 20:41:08 +0200 +Subject: [PATCH] Change CMake code to enable building against Qt 5 or 6 + +- forward declaring QStringList doesn't work with Qt6, instead #include it + (for Qt6 we could use 'using QStringList = QList' but that wouldn't + work with Qt5, and it's not worth an #ifdef, QStringList is common in Qt + and KDE code anyway) +- Add a copy constructor to PolkitQt1::Details, required because of QMetaType + and the QESDP d-pointer + +By default this builds with Qt5, to build with Qt6 pass -DQT_MAJOR_VERSION=6 +to cmake. +--- + CMakeLists.txt | 28 ++++++++++++++++------------ + agent/CMakeLists.txt | 4 ++-- + core/CMakeLists.txt | 4 ++-- + core/polkitqt1-authority.h | 2 +- + core/polkitqt1-details.cpp | 2 ++ + core/polkitqt1-details.h | 5 +++++ + examples/CMakeLists.txt | 14 +++++++------- + examples/agent/CMakeLists.txt | 4 ++-- + gui/CMakeLists.txt | 6 +++--- + polkit-qt5-agent-1.pc.cmake | 2 +- + polkit-qt5-core-1.pc.cmake | 2 +- + polkit-qt5-gui-1.pc.cmake | 2 +- + polkit-qt6-1.pc.cmake | 11 +++++++++++ + polkit-qt6-agent-1.pc.cmake | 11 +++++++++++ + polkit-qt6-core-1.pc.cmake | 11 +++++++++++ + polkit-qt6-gui-1.pc.cmake | 11 +++++++++++ + test/CMakeLists.txt | 8 ++++---- + 17 files changed, 91 insertions(+), 36 deletions(-) + create mode 100644 polkit-qt6-1.pc.cmake + create mode 100644 polkit-qt6-agent-1.pc.cmake + create mode 100644 polkit-qt6-core-1.pc.cmake + create mode 100644 polkit-qt6-gui-1.pc.cmake + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dd0977e..166c177 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,19 +24,23 @@ include(FeatureSummary) + set(REQUIRED_QT_VERSION 5.5.0) + set(CMAKE_CXX_STANDARD 11) + +-find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core DBus Widgets) ++if (NOT QT_MAJOR_VERSION) ++ set(QT_MAJOR_VERSION "5") ++endif() ++ ++find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core DBus Widgets) + + find_package(PkgConfig REQUIRED) + +-set(POLKITQT-1_PCNAME "polkit-qt5-1") +-set(POLKITQT-1_CORE_PCNAME "polkit-qt5-core-1") +-set(POLKITQT-1_GUI_PCNAME "polkit-qt5-gui-1") +-set(POLKITQT-1_AGENT_PCNAME "polkit-qt5-agent-1") +-set(POLKITQT-1_CAMEL_NAME "PolkitQt5-1") +-set(POLKITQT-1_EXAMPLE "polkit-example-qt5") +-set(POLKITQT-1_EXAMPLE_HELPER "polkit-example-helper-qt5") +-set(POLKITQT-1_AGENT_EXAMPLE "polkit-agent-example-qt5") +-set(POLKITQT-1_INCLUDE_PATH "polkit-qt5-1") ++set(POLKITQT-1_PCNAME "polkit-qt${QT_MAJOR_VERSION}-1") ++set(POLKITQT-1_CORE_PCNAME "polkit-qt${QT_MAJOR_VERSION}-core-1") ++set(POLKITQT-1_GUI_PCNAME "polkit-qt${QT_MAJOR_VERSION}-gui-1") ++set(POLKITQT-1_AGENT_PCNAME "polkit-qt${QT_MAJOR_VERSION}-agent-1") ++set(POLKITQT-1_CAMEL_NAME "PolkitQt${QT_MAJOR_VERSION}-1") ++set(POLKITQT-1_EXAMPLE "polkit-example-qt${QT_MAJOR_VERSION}") ++set(POLKITQT-1_EXAMPLE_HELPER "polkit-example-helper-qt${QT_MAJOR_VERSION}") ++set(POLKITQT-1_AGENT_EXAMPLE "polkit-agent-example-qt${QT_MAJOR_VERSION}") ++set(POLKITQT-1_INCLUDE_PATH "polkit-qt${QT_MAJOR_VERSION}-1") + + pkg_check_modules(POLKIT_GOBJECT polkit-gobject-1 REQUIRED IMPORTED_TARGET) + pkg_check_modules(POLKIT_AGENT polkit-agent-1 REQUIRED IMPORTED_TARGET) +@@ -168,13 +172,13 @@ install(EXPORT ${POLKITQT-1_CAMEL_NAME}Export FILE ${POLKITQT-1_CAMEL_NAME}Targe + + option(BUILD_EXAMPLES "Builds a set of examples for polkit-qt-1" OFF) + if (BUILD_EXAMPLES) +- find_package(Qt5Xml ${REQUIRED_QT_VERSION} REQUIRED) ++ find_package(Qt${QT_MAJOR_VERSION}Xml ${REQUIRED_QT_VERSION} REQUIRED) + add_subdirectory(examples) + endif (BUILD_EXAMPLES) + + option(BUILD_TEST "Builds unit tests for polkit-qt-1" OFF) + if (BUILD_TEST) +- find_package(Qt5Test ${REQUIRED_QT_VERSION} REQUIRED) ++ find_package(Qt${QT_MAJOR_VERSION}Test ${REQUIRED_QT_VERSION} REQUIRED) + add_subdirectory(test) + endif (BUILD_TEST) + +diff --git a/agent/CMakeLists.txt b/agent/CMakeLists.txt +index 1a86cd8..ba95bfe 100644 +--- a/agent/CMakeLists.txt ++++ b/agent/CMakeLists.txt +@@ -14,10 +14,10 @@ generate_export_header(${POLKITQT-1_AGENT_PCNAME} + + target_link_libraries(${POLKITQT-1_AGENT_PCNAME} + PUBLIC +- Qt5::Core ++ Qt${QT_MAJOR_VERSION}::Core + ${POLKITQT-1_CORE_PCNAME} + PRIVATE +- Qt5::Core ++ Qt${QT_MAJOR_VERSION}::Core + PkgConfig::POLKIT_AGENT + PkgConfig::GOBJECT + ) +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index 8225871..29bccc7 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -17,9 +17,9 @@ generate_export_header(${POLKITQT-1_CORE_PCNAME} + + target_link_libraries(${POLKITQT-1_CORE_PCNAME} + PUBLIC +- Qt5::Core ++ Qt${QT_MAJOR_VERSION}::Core + PRIVATE +- Qt5::DBus ++ Qt${QT_MAJOR_VERSION}::DBus + PkgConfig::POLKIT_GOBJECT + PkgConfig::GLIB2 + PkgConfig::GOBJECT +diff --git a/core/polkitqt1-authority.h b/core/polkitqt1-authority.h +index 43527b0..d2d66ba 100644 +--- a/core/polkitqt1-authority.h ++++ b/core/polkitqt1-authority.h +@@ -19,9 +19,9 @@ + + #include + #include ++#include + + typedef struct _PolkitAuthority PolkitAuthority; +-class QStringList; + + /** + * \namespace PolkitQt1 PolkitQt +diff --git a/core/polkitqt1-details.cpp b/core/polkitqt1-details.cpp +index 50568ff..b5be7ee 100644 +--- a/core/polkitqt1-details.cpp ++++ b/core/polkitqt1-details.cpp +@@ -56,6 +56,8 @@ Details::~Details() + { + } + ++Details::Details(const Details &other) = default; ++ + Details& Details::operator=(const PolkitQt1::Details& other) + { + d = other.d; +diff --git a/core/polkitqt1-details.h b/core/polkitqt1-details.h +index 7fb8448..59dfcb6 100644 +--- a/core/polkitqt1-details.h ++++ b/core/polkitqt1-details.h +@@ -48,6 +48,11 @@ public: + */ + explicit Details(PolkitDetails *pkDetails); + ++ /** ++ * Copy constructor. ++ */ ++ Details(const Details &other); ++ + ~Details(); + + Details &operator=(const Details &other); +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index 229e97a..32577af 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -11,9 +11,9 @@ target_sources(${POLKITQT-1_EXAMPLE} PRIVATE + ) + + target_link_libraries(${POLKITQT-1_EXAMPLE} +- Qt5::Core +- Qt5::DBus +- Qt5::Widgets ++ Qt${QT_MAJOR_VERSION}::Core ++ Qt${QT_MAJOR_VERSION}::DBus ++ Qt${QT_MAJOR_VERSION}::Widgets + ${POLKITQT-1_GUI_PCNAME} + ${POLKITQT-1_CORE_PCNAME} + ) +@@ -34,7 +34,7 @@ endmacro(dbus_add_activation_system_service _sources) + + add_executable(${POLKITQT-1_EXAMPLE_HELPER}) + +-qt5_add_dbus_adaptor(polkit_example_helper_dbus_SRCS ++qt_add_dbus_adaptor(polkit_example_helper_dbus_SRCS + org.qt.policykit.examples.xml + PkExampleHelper.h + PkExampleHelper +@@ -48,9 +48,9 @@ target_sources(${POLKITQT-1_EXAMPLE_HELPER} PRIVATE + + # see our helper is pretty small :D + target_link_libraries(${POLKITQT-1_EXAMPLE_HELPER} +- Qt5::Core +- Qt5::Xml +- Qt5::DBus ++ Qt${QT_MAJOR_VERSION}::Core ++ Qt${QT_MAJOR_VERSION}::Xml ++ Qt${QT_MAJOR_VERSION}::DBus + ${POLKITQT-1_GUI_PCNAME} + ) + +diff --git a/examples/agent/CMakeLists.txt b/examples/agent/CMakeLists.txt +index 020c686..130ac4e 100644 +--- a/examples/agent/CMakeLists.txt ++++ b/examples/agent/CMakeLists.txt +@@ -7,8 +7,8 @@ target_sources(${POLKITQT-1_AGENT_EXAMPLE} PRIVATE + ) + + target_link_libraries(${POLKITQT-1_AGENT_EXAMPLE} +- Qt5::Core +- Qt5::Widgets ++ Qt${QT_MAJOR_VERSION}::Core ++ Qt${QT_MAJOR_VERSION}::Widgets + ${POLKITQT-1_AGENT_PCNAME} + ${POLKITQT-1_CORE_PCNAME} + PkgConfig::POLKIT_AGENT +diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt +index c22deba..69ec1f6 100644 +--- a/gui/CMakeLists.txt ++++ b/gui/CMakeLists.txt +@@ -15,10 +15,10 @@ generate_export_header(${POLKITQT-1_CORE_PCNAME} + target_link_libraries(${POLKITQT-1_GUI_PCNAME} + PUBLIC + ${POLKITQT-1_CORE_PCNAME} +- Qt5::Widgets ++ Qt${QT_MAJOR_VERSION}::Widgets + PRIVATE +- Qt5::Core +- Qt5::DBus ++ Qt${QT_MAJOR_VERSION}::Core ++ Qt${QT_MAJOR_VERSION}::DBus + ) + + set_target_properties(${POLKITQT-1_GUI_PCNAME} PROPERTIES VERSION ${POLKITQT-1_LIBRARY_VERSION} +diff --git a/polkit-qt5-agent-1.pc.cmake b/polkit-qt5-agent-1.pc.cmake +index 709a24e..60b22d5 100644 +--- a/polkit-qt5-agent-1.pc.cmake ++++ b/polkit-qt5-agent-1.pc.cmake +@@ -6,6 +6,6 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + Name: @POLKITQT-1_AGENT_PCNAME@ + Description: Convenience library for using polkit Agent with a Qt-styled API + Version: @POLKITQT-1_VERSION_STRING@ +-Requires: Qt5Core Qt5Gui ++Requires: Qt@QT_MAJOR_VERSION@Core Qt@QT_MAJOR_VERSION@Gui + Libs: -L${libdir} -l@POLKITQT-1_AGENT_PCNAME@ + Cflags: -I${includedir} +diff --git a/polkit-qt5-core-1.pc.cmake b/polkit-qt5-core-1.pc.cmake +index 588f267..2f5d562 100644 +--- a/polkit-qt5-core-1.pc.cmake ++++ b/polkit-qt5-core-1.pc.cmake +@@ -6,6 +6,6 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + Name: @POLKITQT-1_CORE_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API, non-GUI classes + Version: @POLKITQT-1_VERSION_STRING@ +-Requires: Qt5Core ++Requires: Qt@QT_MAJOR_VERSION@Core + Libs: -L${libdir} -l@POLKITQT-1_CORE_PCNAME@ + Cflags: -I${includedir} +diff --git a/polkit-qt5-gui-1.pc.cmake b/polkit-qt5-gui-1.pc.cmake +index 1c012dd..1d208fb 100644 +--- a/polkit-qt5-gui-1.pc.cmake ++++ b/polkit-qt5-gui-1.pc.cmake +@@ -6,6 +6,6 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + Name: @POLKITQT-1_GUI_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API, GUI classes + Version: @POLKITQT-1_VERSION_STRING@ +-Requires: Qt5Core Qt5Gui @POLKITQT-1_CORE_PCNAME@ ++Requires: Qt@QT_MAJOR_VERSION@Core Qt@QT_MAJOR_VERSION@Gui @POLKITQT-1_CORE_PCNAME@ + Libs: -L${libdir} -l@POLKITQT-1_GUI_PCNAME@ + Cflags: -I${includedir} +diff --git a/polkit-qt6-1.pc.cmake b/polkit-qt6-1.pc.cmake +new file mode 100644 +index 0000000..ba8e46e +--- /dev/null ++++ b/polkit-qt6-1.pc.cmake +@@ -0,0 +1,11 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=@CMAKE_INSTALL_PREFIX@ ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++ ++Name: @POLKITQT-1_PCNAME@ ++Description: Convenience library for using polkit with a Qt-styled API ++Version: @POLKITQT-1_VERSION_STRING@ ++Requires: @POLKITQT-1_CORE_PCNAME@ @POLKITQT-1_GUI_PCNAME@ @POLKITQT-1_AGENT_PCNAME@ ++Libs: -L${libdir} -l@POLKITQT-1_CORE_PCNAME@ -l@POLKITQT-1_GUI_PCNAME@ -l@POLKITQT-1_AGENT_PCNAME@ ++Cflags: -I${includedir} +diff --git a/polkit-qt6-agent-1.pc.cmake b/polkit-qt6-agent-1.pc.cmake +new file mode 100644 +index 0000000..60b22d5 +--- /dev/null ++++ b/polkit-qt6-agent-1.pc.cmake +@@ -0,0 +1,11 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=@CMAKE_INSTALL_PREFIX@ ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++ ++Name: @POLKITQT-1_AGENT_PCNAME@ ++Description: Convenience library for using polkit Agent with a Qt-styled API ++Version: @POLKITQT-1_VERSION_STRING@ ++Requires: Qt@QT_MAJOR_VERSION@Core Qt@QT_MAJOR_VERSION@Gui ++Libs: -L${libdir} -l@POLKITQT-1_AGENT_PCNAME@ ++Cflags: -I${includedir} +diff --git a/polkit-qt6-core-1.pc.cmake b/polkit-qt6-core-1.pc.cmake +new file mode 100644 +index 0000000..2f5d562 +--- /dev/null ++++ b/polkit-qt6-core-1.pc.cmake +@@ -0,0 +1,11 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=@CMAKE_INSTALL_PREFIX@ ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++ ++Name: @POLKITQT-1_CORE_PCNAME@ ++Description: Convenience library for using polkit with a Qt-styled API, non-GUI classes ++Version: @POLKITQT-1_VERSION_STRING@ ++Requires: Qt@QT_MAJOR_VERSION@Core ++Libs: -L${libdir} -l@POLKITQT-1_CORE_PCNAME@ ++Cflags: -I${includedir} +diff --git a/polkit-qt6-gui-1.pc.cmake b/polkit-qt6-gui-1.pc.cmake +new file mode 100644 +index 0000000..1d208fb +--- /dev/null ++++ b/polkit-qt6-gui-1.pc.cmake +@@ -0,0 +1,11 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=@CMAKE_INSTALL_PREFIX@ ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++ ++Name: @POLKITQT-1_GUI_PCNAME@ ++Description: Convenience library for using polkit with a Qt-styled API, GUI classes ++Version: @POLKITQT-1_VERSION_STRING@ ++Requires: Qt@QT_MAJOR_VERSION@Core Qt@QT_MAJOR_VERSION@Gui @POLKITQT-1_CORE_PCNAME@ ++Libs: -L${libdir} -l@POLKITQT-1_GUI_PCNAME@ ++Cflags: -I${includedir} +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 8403d7b..d587034 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -5,10 +5,10 @@ add_executable(polkit-qt-test + ) + + target_link_libraries(polkit-qt-test +- Qt5::Core +- Qt5::DBus +- Qt5::Test +- Qt5::Widgets ++ Qt${QT_MAJOR_VERSION}::Core ++ Qt${QT_MAJOR_VERSION}::DBus ++ Qt${QT_MAJOR_VERSION}::Test ++ Qt${QT_MAJOR_VERSION}::Widgets + ${POLKITQT-1_CORE_PCNAME} + ${POLKITQT-1_AGENT_PCNAME} + ) +-- +GitLab + diff --git a/desktop/toolkit/qt5/polkit-qt/pspec.xml b/desktop/toolkit/qt5/polkit-qt/pspec.xml index b2158cc865..93e0288b23 100755 --- a/desktop/toolkit/qt5/polkit-qt/pspec.xml +++ b/desktop/toolkit/qt5/polkit-qt/pspec.xml @@ -12,6 +12,7 @@ A library that allows developers to access PolicyKit API with a nice Qt-style API https://download.kde.org/stable/polkit-qt-1/polkit-qt-1-0.114.0.tar.xz + qt6-base-devel qt5-base-devel glib2-devel polkit-devel @@ -19,7 +20,7 @@ cmake - + fd1bc295.patch @@ -46,10 +47,39 @@ /usr/lib/pkgconfig + /usr/lib/cmake/PolkitQt5-1 /usr/include/polkit-qt5-1 + + polkit-qt6 + + qt6-base + glib2 + polkit + libgcc + + + /usr/lib/libpolkit-qt6* + + + + + polkit-qt6-devel + + polkit-qt6 + qt6-base-devel + glib2-devel + polkit-devel + + + /usr/lib/pkgconfig/polkit-qt6* + /usr/lib/cmake/PolkitQt6-1 + /usr/include/polkit-qt6-1 + + + 2023-10-07