Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kidletime for openSUSE:Factory 
checked in at 2022-10-11 18:00:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kidletime (Old)
 and      /work/SRC/openSUSE:Factory/.kidletime.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kidletime"

Tue Oct 11 18:00:01 2022 rev:108 rq:1009001 version:5.99.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kidletime/kidletime.changes      2022-09-13 
15:10:19.092799549 +0200
+++ /work/SRC/openSUSE:Factory/.kidletime.new.2275/kidletime.changes    
2022-10-11 18:01:53.601730155 +0200
@@ -1,0 +2,13 @@
+Sat Oct  1 15:55:50 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr>
+
+- Update to 5.99.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/5/5.99.0
+- Changes since 5.98.0:
+  * .gitlab-ci.yml: enable static builds
+  * Add Qt6 windows CI support
+  * Add native wayland plugin
+  * xsyncbasedpoller ctor initialize m_sync_event
+
+-------------------------------------------------------------------

Old:
----
  kidletime-5.98.0.tar.xz
  kidletime-5.98.0.tar.xz.sig

New:
----
  kidletime-5.99.0.tar.xz
  kidletime-5.99.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kidletime.spec ++++++
--- /var/tmp/diff_new_pack.5AzRcX/_old  2022-10-11 18:01:55.285732877 +0200
+++ /var/tmp/diff_new_pack.5AzRcX/_new  2022-10-11 18:01:55.293732890 +0200
@@ -17,7 +17,7 @@
 
 
 %define lname   libKF5IdleTime5
-%define _tar_path 5.98
+%define _tar_path 5.99
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
@@ -25,7 +25,7 @@
 # Only needed for the package signature condition
 %bcond_without released
 Name:           kidletime
-Version:        5.98.0
+Version:        5.99.0
 Release:        0
 Summary:        User and system idle time reporting singleton
 License:        LGPL-2.1-or-later


++++++ kidletime-5.98.0.tar.xz -> kidletime-5.99.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kidletime-5.98.0/.gitlab-ci.yml 
new/kidletime-5.99.0/.gitlab-ci.yml
--- old/kidletime-5.98.0/.gitlab-ci.yml 2022-09-05 11:27:02.000000000 +0200
+++ new/kidletime-5.99.0/.gitlab-ci.yml 2022-10-01 15:17:27.000000000 +0200
@@ -3,7 +3,10 @@
 
 include:
   - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml
-  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux-static.yml
   - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux-qt6.yml
-  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/windows.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml
   - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd-qt6.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/windows.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/windows-static.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/windows-qt6.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kidletime-5.98.0/.kde-ci.yml 
new/kidletime-5.99.0/.kde-ci.yml
--- old/kidletime-5.98.0/.kde-ci.yml    2022-09-05 11:27:02.000000000 +0200
+++ new/kidletime-5.99.0/.kde-ci.yml    2022-10-01 15:17:27.000000000 +0200
@@ -3,6 +3,10 @@
   'require':
     'frameworks/extra-cmake-modules': '@same'
 
+- 'on': ['Linux', 'FreeBSD']
+  'require':
+    'libraries/plasma-wayland-protocols': '@latest'
+
 Options:
   test-before-installing: True
   require-passing-tests-on: [ 'Linux', 'FreeBSD', 'Windows' ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kidletime-5.98.0/CMakeLists.txt 
new/kidletime-5.99.0/CMakeLists.txt
--- old/kidletime-5.98.0/CMakeLists.txt 2022-09-05 11:27:02.000000000 +0200
+++ new/kidletime-5.99.0/CMakeLists.txt 2022-10-01 15:17:27.000000000 +0200
@@ -1,11 +1,11 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(KF_VERSION "5.98.0") # handled by release scripts
+set(KF_VERSION "5.99.0") # handled by release scripts
 project(KIdleTime VERSION ${KF_VERSION})
 
 # ECM setup
 include(FeatureSummary)
-find_package(ECM 5.98.0  NO_MODULE)
+find_package(ECM 5.99.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL "https://commits.kde.org/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
@@ -40,6 +40,7 @@
 if(NOT APPLE)
     find_package(X11)
     find_package(XCB COMPONENTS XCB)
+    find_package(Qt${QT_MAJOR_VERSION}WaylandClient ${REQUIRED_QT_VERSION} 
CONFIG)
 endif()
 
 if(X11_FOUND)
@@ -76,6 +77,12 @@
     set(HAVE_X11 FALSE)
 endif()
 
+if(Qt5WaylandClient_FOUND)
+    find_package(QtWaylandScanner REQUIRED)
+    find_package(Wayland 1.9 REQUIRED Client)
+    find_package(PlasmaWaylandProtocols 1.6.0 CONFIG REQUIRED)
+endif()
+
 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of 
deprecated API excluded from the build [default=0].")
 
 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt 
Assistant, Qt Creator & KDevelop)" OFF)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kidletime-5.98.0/src/CMakeLists.txt 
new/kidletime-5.99.0/src/CMakeLists.txt
--- old/kidletime-5.98.0/src/CMakeLists.txt     2022-09-05 11:27:02.000000000 
+0200
+++ new/kidletime-5.99.0/src/CMakeLists.txt     2022-10-01 15:17:27.000000000 
+0200
@@ -61,7 +61,7 @@
         Devel
 )
 
-install(TARGETS KF5IdleTime EXPORT KF5IdleTimeTargets 
${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
+install(TARGETS KF5IdleTime EXPORT KF5IdleTimeTargets 
${KF_INSTALL_TARGETS_DEFAULT_ARGS})
 
 
 ecm_qt_install_logging_categories(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kidletime-5.98.0/src/plugins/CMakeLists.txt 
new/kidletime-5.99.0/src/plugins/CMakeLists.txt
--- old/kidletime-5.98.0/src/plugins/CMakeLists.txt     2022-09-05 
11:27:02.000000000 +0200
+++ new/kidletime-5.99.0/src/plugins/CMakeLists.txt     2022-10-01 
15:17:27.000000000 +0200
@@ -14,3 +14,7 @@
         add_subdirectory(xsync)
     endif()
 endif()
+
+if (Qt5WaylandClient_FOUND)
+    add_subdirectory(wayland)
+endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kidletime-5.98.0/src/plugins/wayland/CMakeLists.txt 
new/kidletime-5.99.0/src/plugins/wayland/CMakeLists.txt
--- old/kidletime-5.98.0/src/plugins/wayland/CMakeLists.txt     1970-01-01 
01:00:00.000000000 +0100
+++ new/kidletime-5.99.0/src/plugins/wayland/CMakeLists.txt     2022-10-01 
15:17:27.000000000 +0200
@@ -0,0 +1,25 @@
+add_library(KF5IdleTimeWaylandPlugin MODULE)
+if (QT_MAJOR_VERSION EQUAL "5")
+    ecm_add_qtwayland_client_protocol(idletime_plugin_SRCS
+        PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/idle.xml
+        BASENAME idle
+    )
+else()
+    qt6_generate_wayland_protocol_client_sources(KF5IdleTimeWaylandPlugin FILES
+        ${PLASMA_WAYLAND_PROTOCOLS_DIR}/idle.xml)
+endif()
+target_sources(KF5IdleTimeWaylandPlugin PRIVATE poller.cpp 
${idletime_plugin_SRCS})
+
+target_link_libraries(KF5IdleTimeWaylandPlugin
+    KF5::IdleTime
+    Qt${QT_MAJOR_VERSION}::WaylandClient
+    Qt${QT_MAJOR_VERSION}::GuiPrivate
+    Wayland::Client
+)
+
+install(
+    TARGETS
+        KF5IdleTimeWaylandPlugin
+    DESTINATION
+        ${KDE_INSTALL_PLUGINDIR}/kf5/org.kde.kidletime.platforms/
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kidletime-5.98.0/src/plugins/wayland/poller.cpp 
new/kidletime-5.99.0/src/plugins/wayland/poller.cpp
--- old/kidletime-5.98.0/src/plugins/wayland/poller.cpp 1970-01-01 
01:00:00.000000000 +0100
+++ new/kidletime-5.99.0/src/plugins/wayland/poller.cpp 2022-10-01 
15:17:27.000000000 +0200
@@ -0,0 +1,163 @@
+/*
+    SPDX-FileCopyrightText: 2021 David Edmundson <davidedmund...@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
+*/
+#include "poller.h"
+
+#include <QDebug>
+#include <QGuiApplication>
+#include <QLoggingCategory>
+#include <QWaylandClientExtensionTemplate>
+#include <QtWaylandClient/QtWaylandClientVersion>
+
+#include <qpa/qplatformnativeinterface.h>
+
+#include "qwayland-idle.h"
+
+Q_DECLARE_LOGGING_CATEGORY(POLLER)
+Q_LOGGING_CATEGORY(POLLER, "kf5idletime_wayland")
+
+class IdleTimeout : public QObject, public QtWayland::org_kde_kwin_idle_timeout
+{
+    Q_OBJECT
+public:
+    IdleTimeout(struct ::org_kde_kwin_idle_timeout* object)
+        : QObject()
+        , QtWayland::org_kde_kwin_idle_timeout(object)
+    {}
+
+    ~IdleTimeout() {
+        release();
+    }
+Q_SIGNALS:
+    void idle();
+    void resumeFromIdle();
+protected:
+    void org_kde_kwin_idle_timeout_idle() override {
+        Q_EMIT idle();
+    }
+    void org_kde_kwin_idle_timeout_resumed() override {
+        Q_EMIT resumeFromIdle();
+    }
+};
+
+class IdleManager : public QWaylandClientExtensionTemplate<IdleManager>, 
public QtWayland::org_kde_kwin_idle
+{
+public:
+    IdleManager()
+        : QWaylandClientExtensionTemplate<IdleManager>(1)
+    {
+#if QTWAYLANDCLIENT_VERSION >= QT_VERSION_CHECK(6, 2, 0)
+        initialize();
+#else
+        // QWaylandClientExtensionTemplate invokes this with a 
QueuedConnection but we want shortcuts
+        // to be inhibited immediately.
+        QMetaObject::invokeMethod(this, "addRegistryListener");
+#endif
+    }
+};
+
+Poller::Poller(QObject *parent)
+    : AbstractSystemPoller(parent)
+    , m_idleManager(new IdleManager)
+{
+
+}
+
+Poller::~Poller() = default;
+
+bool Poller::isAvailable()
+{
+    return m_idleManager->isActive();
+}
+
+void Poller::addTimeout(int nextTimeout)
+{
+    if (m_timeouts.contains(nextTimeout)) {
+        return;
+    }
+
+    auto timeout = createTimeout(nextTimeout);
+    if (!timeout) {
+        return;
+    }
+
+    connect(timeout, &IdleTimeout::idle, this, [this, nextTimeout] {
+        Q_EMIT timeoutReached(nextTimeout);
+    });
+    connect(timeout, &IdleTimeout::resumeFromIdle, this, 
&Poller::resumingFromIdle);
+    m_timeouts.insert(nextTimeout, QSharedPointer<IdleTimeout>(timeout));
+}
+
+void Poller::removeTimeout(int nextTimeout)
+{
+    m_timeouts.remove(nextTimeout);
+}
+
+QList<int> Poller::timeouts() const
+{
+    return QList<int>();
+}
+
+void Poller::catchIdleEvent()
+{
+    if (m_catchResumeTimeout) {
+        // already setup
+        return;
+    }
+    if (!isAvailable()) {
+        return;
+    }
+
+    m_catchResumeTimeout.reset(createTimeout(0));
+    if (!m_catchResumeTimeout) {
+        return;
+    }
+    connect(m_catchResumeTimeout.get(), &IdleTimeout::resumeFromIdle, this, 
[this] {
+        stopCatchingIdleEvents();
+        Q_EMIT resumingFromIdle();
+    });
+}
+
+void Poller::stopCatchingIdleEvents()
+{
+    m_catchResumeTimeout.reset();
+}
+
+int Poller::forcePollRequest()
+{
+    qCWarning(POLLER) << "This plugin does not support polling idle time";
+    return 0;
+}
+
+void Poller::simulateUserActivity()
+{
+    // the timeout value doesn't matter as we're just calling one method on it 
then deleting
+    QScopedPointer<IdleTimeout> timeout(createTimeout(UINT_MAX));
+    if (timeout) {
+        timeout->simulate_user_activity();
+    }
+}
+
+IdleTimeout* Poller::createTimeout(int timeout)
+{
+    if (!isAvailable()) {
+        return nullptr;
+    }
+
+    QPlatformNativeInterface *nativeInterface = 
qGuiApp->platformNativeInterface();
+    if (!nativeInterface) {
+        return nullptr;
+    }
+    auto seat = static_cast<wl_seat 
*>(nativeInterface->nativeResourceForIntegration("wl_seat"));
+    if (!seat) {
+        return nullptr;
+    }
+
+    return new IdleTimeout(m_idleManager->get_idle_timeout(seat, timeout));
+}
+
+
+
+#include "poller.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kidletime-5.98.0/src/plugins/wayland/poller.h 
new/kidletime-5.99.0/src/plugins/wayland/poller.h
--- old/kidletime-5.98.0/src/plugins/wayland/poller.h   1970-01-01 
01:00:00.000000000 +0100
+++ new/kidletime-5.99.0/src/plugins/wayland/poller.h   2022-10-01 
15:17:27.000000000 +0200
@@ -0,0 +1,49 @@
+/*
+    SPDX-FileCopyrightText: 2021 David Edmundson <davidedmund...@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
+*/
+#pragma once
+
+#include "abstractsystempoller.h"
+
+#include <QHash>
+#include <memory>
+
+class IdleManager;
+class IdleTimeout;
+
+class Poller : public AbstractSystemPoller
+{
+    Q_OBJECT
+    Q_PLUGIN_METADATA(IID "org.kde.kidletime.AbstractSystemPoller" FILE 
"wayland.json")
+    Q_INTERFACES(AbstractSystemPoller)
+
+public:
+    explicit Poller(QObject *parent = nullptr);
+    ~Poller() override;
+
+    bool isAvailable() override;
+    bool setUpPoller() override {
+        return true;
+    }
+    void unloadPoller() override {}
+
+public Q_SLOTS:
+    void addTimeout(int nextTimeout) override;
+    void removeTimeout(int nextTimeout) override;
+    QList<int> timeouts() const override;
+    int forcePollRequest() override;
+    void catchIdleEvent() override;
+    void stopCatchingIdleEvents() override;
+    void simulateUserActivity() override;
+
+private:
+    bool initWayland();
+    IdleTimeout* createTimeout(int timeout);
+
+    QScopedPointer<IdleManager> m_idleManager;
+    QHash<int, QSharedPointer<IdleTimeout>> m_timeouts;
+    QScopedPointer<IdleTimeout> m_catchResumeTimeout;
+
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kidletime-5.98.0/src/plugins/wayland/wayland.json 
new/kidletime-5.99.0/src/plugins/wayland/wayland.json
--- old/kidletime-5.98.0/src/plugins/wayland/wayland.json       1970-01-01 
01:00:00.000000000 +0100
+++ new/kidletime-5.99.0/src/plugins/wayland/wayland.json       2022-10-01 
15:17:27.000000000 +0200
@@ -0,0 +1,3 @@
+{
+    "platforms": ["wayland", "wayland-egl"]
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kidletime-5.98.0/src/plugins/xsync/xsyncbasedpoller.cpp 
new/kidletime-5.99.0/src/plugins/xsync/xsyncbasedpoller.cpp
--- old/kidletime-5.98.0/src/plugins/xsync/xsyncbasedpoller.cpp 2022-09-05 
11:27:02.000000000 +0200
+++ new/kidletime-5.99.0/src/plugins/xsync/xsyncbasedpoller.cpp 2022-10-01 
15:17:27.000000000 +0200
@@ -68,6 +68,7 @@
     , m_display(QX11Info::display())
 #endif
     , m_xcb_connection(nullptr)
+    , m_sync_event(0)
     , m_idleCounter(None)
     , m_resetAlarm(None)
     , m_available(true)

Reply via email to