https://bugs.gentoo.org/964420
https://github.com/owncloud/client/pull/12374

From 61eda498590c5f6633b39bf1e3f95771c2ae0645 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sat, 18 Oct 2025 13:26:13 +0100
Subject: [PATCH] Fix compatibility with extra-cmake-modules-6.19.0

owncloud is not using a custom QQmlExtensionPlugin subclass, so we need
to pass GENERATE_PLUGIN_SOURCE so that a default implementation is generated.

This fixes compatibility with ECM 6.19 since that (correctly) considers plugins
that don't use GENERATE_PLUGIN_SOURCE to be not optional [0]. That causes the
QML engine to try and load the (invalid) plugin:

```
QList(qrc:/qt/qml/org/ownCloud/gui/qml/AccountBar.qml:18:1: Failed to extract plugin
  meta data from '/usr/lib64/qt6/qml/org/ownCloud/gui/libowncloudGuiplugin.so':
    '/usr/lib64/qt6/qml/org/ownCloud/gui/libowncloudGuiplugin.so' is not a Qt plugin (metadata not found)
    import org.ownCloud.gui 1.0
    ^)
```

Pass GENERATE_PLUGIN_SOURCE to fix the startup problem.

[0] commit 4e9b73da40792ece7885924007441880ecc06d8d

Bug: https://bugs.gentoo.org/964420
---
 src/gui/CMakeLists.txt       | 1 +
 src/libsync/CMakeLists.txt   | 1 +
 src/resources/CMakeLists.txt | 1 +
 3 files changed, 3 insertions(+)

diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
index 80a0a6fd90c..355e45737c8 100644
--- a/src/gui/CMakeLists.txt
+++ b/src/gui/CMakeLists.txt
@@ -100,6 +100,7 @@ ecm_add_qml_module(owncloudGui
         URI org.ownCloud.gui
         VERSION 1.0
         NAMESPACE OCC
+        GENERATE_PLUGIN_SOURCE
         QML_FILES
             qml/AccountBar.qml
             qml/AccountButton.qml
diff --git a/src/libsync/CMakeLists.txt b/src/libsync/CMakeLists.txt
index af3d72041cb..531f77e4b88 100644
--- a/src/libsync/CMakeLists.txt
+++ b/src/libsync/CMakeLists.txt
@@ -99,6 +99,7 @@ ecm_add_qml_module(libsync
         URI org.ownCloud.libsync
         VERSION 1.0
         NAMESPACE OCC
+        GENERATE_PLUGIN_SOURCE
 )
 
 ecm_finalize_qml_module(libsync DESTINATION ${KDE_INSTALL_QMLDIR})
diff --git a/src/resources/CMakeLists.txt b/src/resources/CMakeLists.txt
index 7f630a07063..adbd58671ec 100644
--- a/src/resources/CMakeLists.txt
+++ b/src/resources/CMakeLists.txt
@@ -45,6 +45,7 @@ ecm_add_qml_module(owncloudResources
         URI org.ownCloud.resources
         VERSION 1.0
         NAMESPACE OCC
+        GENERATE_PLUGIN_SOURCE
 )
 
 ecm_finalize_qml_module(owncloudResources DESTINATION ${KDE_INSTALL_QMLDIR})
