[packages/accounts-qml-module] - new, based on Mageia

witekfl witekfl at pld-linux.org
Sat Mar 14 09:40:49 CET 2026


commit c2f2bc5f41b294746e2069bbd55d1939f8015576
Author: Witold Filipczyk <witekfl at poczta.onet.pl>
Date:   Sat Mar 14 09:40:19 2026 +0100

    - new, based on Mageia

 ...ocs-option-to-skip-building-documentation.patch |  25 ++
 0002-Build-add-qmltypes-file-to-repository.patch   | 241 +++++++++++
 0003-Fix-compilation-with-Qt-5.13.patch            |  72 ++++
 0004-Fix-build-failure-with-GCC-12.patch           |  30 ++
 ...me-Ubuntu.Components-to-Lomiri.Components.patch |  27 ++
 0006-Rename-QML-plugin-to-SSO.OnlineAccounts.patch | 455 +++++++++++++++++++++
 0007-Generate-plugin.qmltypes-during-build.patch   | 230 +++++++++++
 0008-Use-C++17-when-building-for-Qt6.patch         |  32 ++
 0009-Remove-Werror.patch                           |  28 ++
 ...-signon_accounts-for-the-right-Qt-version.patch |  56 +++
 accounts-qml-module.spec                           |  97 +++++
 11 files changed, 1293 insertions(+)
---
diff --git a/accounts-qml-module.spec b/accounts-qml-module.spec
new file mode 100644
index 0000000..df0f212
--- /dev/null
+++ b/accounts-qml-module.spec
@@ -0,0 +1,97 @@
+#
+# Please do not update/rebuild/touch this package before asking first
+# to mikala and/or neoclust and/or daviddavid
+# This package is part of the KDE Stack.
+#
+
+Summary:	QML module to manage the user's online accounts
+Name:		accounts-qml-module
+Version:	0.7
+Release:	1
+License:	LGPL v2+
+Group:		Libraries
+URL:		https://gitlab.com/accounts-sso/accounts-qml-module
+Source0:	https://gitlab.com/accounts-sso/accounts-qml-module/-/archive/VERSION_%{version}/%{name}-VERSION_%{version}.tar.bz2
+# Source0-md5:	17f735646b47d42b5bfebaf85a561484
+## upstream patches
+# PATCH-FIX-UPSTREAM
+Patch1:		0001-add-a-CONFIG_no_docs-option-to-skip-building-documentation.patch
+Patch2:		0002-Build-add-qmltypes-file-to-repository.patch
+# PATCH-FIX-UPSTREAM
+Patch3:		0003-Fix-compilation-with-Qt-5.13.patch
+Patch4:		0004-Fix-build-failure-with-GCC-12.patch
+Patch5:		0005-examples_rename-Ubuntu.Components-to-Lomiri.Components.patch
+Patch6:		0006-Rename-QML-plugin-to-SSO.OnlineAccounts.patch
+Patch7:		0007-Generate-plugin.qmltypes-during-build.patch
+Patch8:		0008-Use-C++17-when-building-for-Qt6.patch
+Patch9:		0009-Remove-Werror.patch
+Patch10:	0010-Find-signon_accounts-for-the-right-Qt-version.patch
+BuildRequires:	rpmbuild(macros) >= 1.164
+BuildRequires:	tar >= 1:1.22
+BuildRequires:	xz
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define		qt6dir		%{_libdir}/qt6
+
+
+#BuildRequires:	cmake(AccountsQt6)
+#BuildRequires:	cmake(Qt6Core)
+#BuildRequires:	cmake(Qt6Gui)
+#BuildRequires:	cmake(Qt6Help)
+#BuildRequires:	cmake(Qt6Network)
+#BuildRequires:	cmake(Qt6Qml)
+#BuildRequires:	cmake(Qt6Test)
+#BuildRequires:	cmake(Qt6Xml)
+#BuildRequires:	cmake(SignOnQt6)
+
+%description
+This QML module provides an API to manage the user's online accounts
+and get their authentication data. It's a tiny wrapper around the
+Qt-based APIs of libaccounts-qt and libsignon-qt.
+
+#------------------------------------------------------------------------------
+
+%package doc
+Summary:	Documentation for %{name}
+BuildArch:	noarch
+
+%description doc
+This package contains the developer documentation for
+accounts-qml-module.
+
+%files doc
+%defattr(644,root,root,755)
+%doc %{_datadir}/%{name}/
+
+
+#------------------------------------------------------------------------------
+
+%prep
+%setup -q -n %{name}-VERSION_%{version}
+%patch -P1 -p1
+%patch -P2 -p1
+%patch -P3 -p1
+%patch -P4 -p1
+%patch -P5 -p1
+%patch -P6 -p1
+%patch -P7 -p1
+%patch -P8 -p1
+%patch -P9 -p1
+%patch -P10 -p1
+
+%build
+%qmake_qt6
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+%{__make} install \
+	DESTDIR=$RPM_BUILD_ROOT INSTALL_ROOT=$RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc README.md
+%{_libdir}/qt6/qml/SSO
+
+%clean
+rm -rf $RPM_BUILD_ROOT
diff --git a/0001-add-a-CONFIG_no_docs-option-to-skip-building-documentation.patch b/0001-add-a-CONFIG_no_docs-option-to-skip-building-documentation.patch
new file mode 100644
index 0000000..7189d64
--- /dev/null
+++ b/0001-add-a-CONFIG_no_docs-option-to-skip-building-documentation.patch
@@ -0,0 +1,25 @@
+From ef02ba470f4e915248e71de562ed105c88485f67 Mon Sep 17 00:00:00 2001
+From: Alberto Mardegan <mardy at users.sourceforge.net>
+Date: Tue, 9 Jan 2018 18:22:40 +0300
+Subject: [PATCH] Build: add a CONFIG+=no_docs option to skip building
+ documentation
+
+---
+ accounts-qml-module.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/accounts-qml-module.pro b/accounts-qml-module.pro
+index 236366b..1e1d62c 100644
+--- a/accounts-qml-module.pro
++++ b/accounts-qml-module.pro
+@@ -1,6 +1,6 @@
+ include(common-vars.pri)
+ include(common-project-config.pri)
+-include(doc/doc.pri)
++!CONFIG(no_docs): include(doc/doc.pri)
+ 
+ TEMPLATE = subdirs
+ CONFIG += ordered
+-- 
+2.24.1
+
diff --git a/0002-Build-add-qmltypes-file-to-repository.patch b/0002-Build-add-qmltypes-file-to-repository.patch
new file mode 100644
index 0000000..d9f3784
--- /dev/null
+++ b/0002-Build-add-qmltypes-file-to-repository.patch
@@ -0,0 +1,241 @@
+From 678c493a083a92d1fda2375f5d2e37c00c7b9a7e Mon Sep 17 00:00:00 2001
+From: Alberto Mardegan <mardy at users.sourceforge.net>
+Date: Tue, 9 Jan 2018 18:23:57 +0300
+Subject: [PATCH] Build: add qmltypes file to repository
+
+Generating the file at build time is troublesome when cross-compiling.
+It's better to add the generated file to the repository and add a make
+target to rebuild it.
+---
+ src/plugin.qmltypes | 187 ++++++++++++++++++++++++++++++++++++++++++++
+ src/src.pro         |  19 +----
+ 2 files changed, 191 insertions(+), 15 deletions(-)
+ create mode 100644 src/plugin.qmltypes
+
+diff --git a/src/plugin.qmltypes b/src/plugin.qmltypes
+new file mode 100644
+index 0000000..8481efe
+--- /dev/null
++++ b/src/plugin.qmltypes
+@@ -0,0 +1,187 @@
++import QtQuick.tooling 1.2
++
++// This file describes the plugin-supplied types contained in the library.
++// It is used for QML tooling purposes only.
++//
++// This file was auto-generated by:
++// 'qmlplugindump -notrelocatable Ubuntu.OnlineAccounts 0.1 .'
++
++Module {
++    dependencies: ["QtQuick 2.8"]
++    Component {
++        name: "OnlineAccounts::Account"
++        prototype: "QObject"
++        exports: ["Ubuntu.OnlineAccounts/Account 0.1"]
++        exportMetaObjectRevisions: [0]
++        Enum {
++            name: "RemovalOption"
++            values: {
++                "RemoveAccountOnly": 0,
++                "RemoveCredentials": 1
++            }
++        }
++        Enum {
++            name: "RemovalOptions"
++            values: {
++                "RemoveAccountOnly": 0,
++                "RemoveCredentials": 1
++            }
++        }
++        Property { name: "objectHandle"; type: "QObject"; isPointer: true }
++        Property { name: "enabled"; type: "bool"; isReadonly: true }
++        Property { name: "provider"; type: "QVariantMap"; isReadonly: true }
++        Property { name: "displayName"; type: "string"; isReadonly: true }
++        Property { name: "accountId"; type: "uint"; isReadonly: true }
++        Property { name: "accountServiceHandle"; type: "QObject"; isReadonly: true; isPointer: true }
++        Signal { name: "synced" }
++        Signal { name: "removed" }
++        Method {
++            name: "updateDisplayName"
++            Parameter { name: "displayName"; type: "string" }
++        }
++        Method {
++            name: "updateEnabled"
++            Parameter { name: "enabled"; type: "bool" }
++        }
++        Method { name: "sync" }
++        Method {
++            name: "remove"
++            Parameter { name: "options"; type: "RemovalOptions" }
++        }
++        Method { name: "remove" }
++    }
++    Component {
++        name: "OnlineAccounts::AccountService"
++        prototype: "QObject"
++        exports: ["Ubuntu.OnlineAccounts/AccountService 0.1"]
++        exportMetaObjectRevisions: [0]
++        Enum {
++            name: "ErrorCode"
++            values: {
++                "NoError": 0,
++                "NoAccountError": 1,
++                "UserCanceledError": 2,
++                "PermissionDeniedError": 3,
++                "NetworkError": 4,
++                "SslError": 5,
++                "InteractionRequiredError": 6
++            }
++        }
++        Property { name: "objectHandle"; type: "QObject"; isPointer: true }
++        Property { name: "enabled"; type: "bool"; isReadonly: true }
++        Property { name: "serviceEnabled"; type: "bool"; isReadonly: true }
++        Property { name: "provider"; type: "QVariantMap"; isReadonly: true }
++        Property { name: "service"; type: "QVariantMap"; isReadonly: true }
++        Property { name: "displayName"; type: "string"; isReadonly: true }
++        Property { name: "accountId"; type: "uint"; isReadonly: true }
++        Property { name: "settings"; type: "QVariantMap"; isReadonly: true }
++        Property { name: "authData"; type: "QVariantMap"; isReadonly: true }
++        Property { name: "autoSync"; type: "bool" }
++        Property { name: "credentials"; type: "QObject"; isPointer: true }
++        Signal {
++            name: "authenticated"
++            Parameter { name: "reply"; type: "QVariantMap" }
++        }
++        Signal {
++            name: "authenticationError"
++            Parameter { name: "error"; type: "QVariantMap" }
++        }
++        Method {
++            name: "authenticate"
++            Parameter { name: "sessionData"; type: "QVariantMap" }
++        }
++        Method { name: "authenticate" }
++        Method { name: "cancelAuthentication" }
++        Method {
++            name: "updateServiceEnabled"
++            Parameter { name: "enabled"; type: "bool" }
++        }
++        Method {
++            name: "updateSettings"
++            Parameter { name: "settings"; type: "QVariantMap" }
++        }
++    }
++    Component {
++        name: "OnlineAccounts::AccountServiceModel"
++        prototype: "QAbstractListModel"
++        exports: ["Ubuntu.OnlineAccounts/AccountServiceModel 0.1"]
++        exportMetaObjectRevisions: [0]
++        Property { name: "count"; type: "int"; isReadonly: true }
++        Property { name: "includeDisabled"; type: "bool" }
++        Property { name: "accountId"; type: "uint" }
++        Property { name: "account"; type: "QObject"; isPointer: true }
++        Property { name: "applicationId"; type: "string" }
++        Property { name: "provider"; type: "string" }
++        Property { name: "serviceType"; type: "string" }
++        Property { name: "service"; type: "string" }
++        Method {
++            name: "get"
++            type: "QVariant"
++            Parameter { name: "row"; type: "int" }
++            Parameter { name: "roleName"; type: "string" }
++        }
++    }
++    Component {
++        name: "OnlineAccounts::ApplicationModel"
++        prototype: "QAbstractListModel"
++        exports: ["Ubuntu.OnlineAccounts/ApplicationModel 0.1"]
++        exportMetaObjectRevisions: [0]
++        Property { name: "count"; type: "int"; isReadonly: true }
++        Property { name: "service"; type: "string" }
++        Method {
++            name: "get"
++            type: "QVariant"
++            Parameter { name: "row"; type: "int" }
++            Parameter { name: "roleName"; type: "string" }
++        }
++    }
++    Component {
++        name: "OnlineAccounts::Credentials"
++        prototype: "QObject"
++        exports: ["Ubuntu.OnlineAccounts/Credentials 0.1"]
++        exportMetaObjectRevisions: [0]
++        Property { name: "credentialsId"; type: "uint" }
++        Property { name: "caption"; type: "string" }
++        Property { name: "userName"; type: "string" }
++        Property { name: "secret"; type: "string" }
++        Property { name: "storeSecret"; type: "bool" }
++        Property { name: "acl"; type: "QStringList" }
++        Property { name: "methods"; type: "QVariantMap" }
++        Signal { name: "synced" }
++        Signal { name: "removed" }
++        Method { name: "sync" }
++        Method { name: "remove" }
++    }
++    Component {
++        name: "OnlineAccounts::Manager"
++        prototype: "QObject"
++        exports: ["Ubuntu.OnlineAccounts/Manager 0.1"]
++        isCreatable: false
++        isSingleton: true
++        exportMetaObjectRevisions: [0]
++        Method {
++            name: "loadAccount"
++            type: "QObject*"
++            Parameter { name: "accountId"; type: "uint" }
++        }
++        Method {
++            name: "createAccount"
++            type: "QObject*"
++            Parameter { name: "providerName"; type: "string" }
++        }
++    }
++    Component {
++        name: "OnlineAccounts::ProviderModel"
++        prototype: "QAbstractListModel"
++        exports: ["Ubuntu.OnlineAccounts/ProviderModel 0.1"]
++        exportMetaObjectRevisions: [0]
++        Property { name: "applicationId"; type: "string" }
++        Property { name: "count"; type: "int"; isReadonly: true }
++        Method {
++            name: "get"
++            type: "QVariant"
++            Parameter { name: "row"; type: "int" }
++            Parameter { name: "roleName"; type: "string" }
++        }
++    }
++}
+diff --git a/src/src.pro b/src/src.pro
+index 8b26639..abfc851 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -61,22 +61,11 @@ PLUGIN_INSTALL_BASE = $$[QT_INSTALL_QML]/$$replace(API_URI, \\., /)
+ target.path = $${PLUGIN_INSTALL_BASE}
+ INSTALLS += target
+ 
+-qmldir.files = $${DESTDIR}/qmldir
++qmldir.files = $${DESTDIR}/qmldir plugin.qmltypes
+ qmldir.path = $${PLUGIN_INSTALL_BASE}
+ INSTALLS += qmldir
+ 
+-generateQmlTypes.output = $${DESTDIR}/plugin.qmltypes
+-generateQmlTypes.input = QML_PLUGINS
+-generateQmlTypes.commands = export LD_PRELOAD=${QMAKE_FILE_IN}; $$[QT_INSTALL_BINS]/qmlplugindump -notrelocatable $${API_URI} 0.1 . > ${QMAKE_FILE_OUT}
+-generateQmlTypes.name = Generate ${QMAKE_FILE_OUT}
+-generateQmlTypes.CONFIG += no_link
+-generateQmlTypes.variable_out = QML_TYPES
+-QMAKE_EXTRA_COMPILERS += generateQmlTypes
+-
+ QML_PLUGINS += $${DESTDIR}/lib$${TARGET}.so
+-
+-qmltypes.path = $${PLUGIN_INSTALL_BASE}
+-qmltypes.files = $${DESTDIR}/plugin.qmltypes
+-qmltypes.depends = $${DESTDIR}/plugin.qmltypes
+-qmltypes.CONFIG += no_check_exist
+-INSTALLS += qmltypes
++qmltypes.commands = export LD_PRELOAD=$${QML_PLUGINS}; $$[QT_INSTALL_BINS]/qmlplugindump -notrelocatable $${API_URI} 0.1 . > $$PWD/plugin.qmltypes
++qmltypes.depends = $${QML_PLUGINS}
++QMAKE_EXTRA_TARGETS += qmltypes
+-- 
+2.22.2
+
diff --git a/0003-Fix-compilation-with-Qt-5.13.patch b/0003-Fix-compilation-with-Qt-5.13.patch
new file mode 100644
index 0000000..0adae29
--- /dev/null
+++ b/0003-Fix-compilation-with-Qt-5.13.patch
@@ -0,0 +1,72 @@
+From 69e17dec5add40655cd9334ec7ad4eef13fed8a4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jonah=20Br=C3=BCchert?= <jbb.prv at gmx.de>
+Date: Wed, 5 Jun 2019 13:28:44 +0200
+Subject: [PATCH] Fix compilation with Qt 5.13
+
+---
+ src/account-service-model.cpp | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/src/account-service-model.cpp b/src/account-service-model.cpp
+index 45795c5..deb157e 100644
+--- a/src/account-service-model.cpp
++++ b/src/account-service-model.cpp
+@@ -183,7 +183,7 @@ AccountServiceModelPrivate::addServicesFromAccount(Accounts::Account *account)
+             newModelItems.append(accountService);
+     }
+ 
+-    qSort(newModelItems.begin(), newModelItems.end(), sortFunction);
++    std::sort(newModelItems.begin(), newModelItems.end(), sortFunction);
+     addItems(newModelItems);
+ }
+ 
+@@ -211,7 +211,7 @@ void AccountServiceModelPrivate::addItems(const AccountServices &added)
+     foreach (Accounts::AccountService *accountService, added) {
+         // Find where the item should be inserted
+         AccountServices::iterator i =
+-            qLowerBound(modelItems.begin(), modelItems.end(),
++            std::lower_bound(modelItems.begin(), modelItems.end(),
+                         accountService, sortFunction);
+         int index = i - modelItems.begin();
+         addedIndexes[index]++;
+@@ -253,7 +253,7 @@ AccountServiceModelPrivate::removeItems(const AccountServices &removed)
+         removedIndexes.append(index);
+     }
+     // sort the indexes from highest to lower, and start updating the list
+-    qSort(removedIndexes.begin(), removedIndexes.end(), qGreater<int>());
++    std::sort(removedIndexes.begin(), removedIndexes.end(), std::greater<int>());
+     int first = -1;
+     int last = -1;
+     foreach (int index, removedIndexes) {
+@@ -281,7 +281,7 @@ AccountServiceModelPrivate::removeItems(const AccountServices &removed)
+ 
+ void AccountServiceModelPrivate::sortItems()
+ {
+-    qSort(modelItems.begin(), modelItems.end(), sortFunction);
++    std::sort(modelItems.begin(), modelItems.end(), sortFunction);
+ }
+ 
+ void AccountServiceModelPrivate::update()
+@@ -809,7 +809,8 @@ QVariant AccountServiceModel::data(const QModelIndex &index, int role) const
+         ret = accountService->enabled();
+         break;
+     case AccountServiceRole:
+-        qWarning("accountService role is deprecated, use accountServiceHandle");
++        qWarning() << "accountService role is deprecated, use accountServiceHandle";
++	/* FALLTHRU */
+     case AccountServiceHandleRole:
+         object = accountService;
+         break;
+@@ -817,7 +818,8 @@ QVariant AccountServiceModel::data(const QModelIndex &index, int role) const
+         ret = accountService->account()->id();
+         break;
+     case AccountRole:
+-        qWarning("account role is deprecated, use accountHandle");
++        qWarning() << "account role is deprecated, use accountHandle";
++	/* FALLTHRU */
+     case AccountHandleRole:
+         object = accountService->account();
+         break;
+-- 
+2.22.2
+
diff --git a/0004-Fix-build-failure-with-GCC-12.patch b/0004-Fix-build-failure-with-GCC-12.patch
new file mode 100644
index 0000000..abe820f
--- /dev/null
+++ b/0004-Fix-build-failure-with-GCC-12.patch
@@ -0,0 +1,30 @@
+From 6bfa9d24363e28971839d86925d9de3d7aef512c Mon Sep 17 00:00:00 2001
+From: Sam James <sam at gentoo.org>
+Date: Wed, 14 Sep 2022 22:40:30 +0100
+Subject: [PATCH] Fix build failure with GCC 12 (missing <algorithms> include)
+
+Needed for std::sort.
+
+Bug: https://bugs.gentoo.org/870157
+Fixes: 69e17dec5add40655cd9334ec7ad4eef13fed8a4
+Signed-off-by: Sam James <sam at gentoo.org>
+---
+ src/account-service-model.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/account-service-model.cpp b/src/account-service-model.cpp
+index deb157e..20a445c 100644
+--- a/src/account-service-model.cpp
++++ b/src/account-service-model.cpp
+@@ -20,6 +20,8 @@
+ #include "debug.h"
+ #include "manager.h"
+ 
++#include <algorithm>
++
+ #include <Accounts/Account>
+ #include <Accounts/AccountService>
+ #include <Accounts/Application>
+-- 
+GitLab
+
diff --git a/0005-examples_rename-Ubuntu.Components-to-Lomiri.Components.patch b/0005-examples_rename-Ubuntu.Components-to-Lomiri.Components.patch
new file mode 100644
index 0000000..cf1e27a
--- /dev/null
+++ b/0005-examples_rename-Ubuntu.Components-to-Lomiri.Components.patch
@@ -0,0 +1,27 @@
+From 0958edaf69789889ba9a88ef4c691a4009908b09 Mon Sep 17 00:00:00 2001
+From: Alberto Mardegan <mardy at users.sourceforge.net>
+Date: Thu, 16 Dec 2021 22:55:28 +0300
+Subject: [PATCH] examples: rename Ubuntu.Components to Lomiri.Components
+
+---
+ examples/ubuntu-sdk-view.qml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/examples/ubuntu-sdk-view.qml b/examples/ubuntu-sdk-view.qml
+index 935a7f3..2b53125 100644
+--- a/examples/ubuntu-sdk-view.qml
++++ b/examples/ubuntu-sdk-view.qml
+@@ -15,8 +15,8 @@
+  */
+ 
+ import QtQuick 2.0
+-import Ubuntu.Components 0.1
+-import Ubuntu.Components.ListItems 0.1 as ListItem
++import Lomiri.Components 0.1
++import Lomiri.Components.ListItems 0.1 as ListItem
+ import Ubuntu.OnlineAccounts 0.1
+ 
+ MainView {
+-- 
+GitLab
+
diff --git a/0006-Rename-QML-plugin-to-SSO.OnlineAccounts.patch b/0006-Rename-QML-plugin-to-SSO.OnlineAccounts.patch
new file mode 100644
index 0000000..4f8979c
--- /dev/null
+++ b/0006-Rename-QML-plugin-to-SSO.OnlineAccounts.patch
@@ -0,0 +1,455 @@
+From da3496e54cfa6e35020695a390c9eee422f51c78 Mon Sep 17 00:00:00 2001
+From: Guido Berhoerster <guido+ubports at berhoerster.name>
+Date: Tue, 20 Sep 2022 08:44:11 +0200
+Subject: [PATCH] Rename QML plugin to SSO.OnlineAccounts
+
+---
+ doc/index.qdoc                |  2 +-
+ examples/create-account.qml   |  2 +-
+ examples/simple-view.qml      |  2 +-
+ examples/ubuntu-sdk-view.qml  |  2 +-
+ src/account-service-model.cpp |  2 +-
+ src/account-service.cpp       |  2 +-
+ src/account.cpp               |  2 +-
+ src/accounts.qdoc             |  4 +--
+ src/application-model.cpp     |  2 +-
+ src/application.cpp           |  2 +-
+ src/credentials.cpp           |  2 +-
+ src/manager.cpp               |  2 +-
+ src/provider-model.cpp        |  2 +-
+ src/src.pro                   |  2 +-
+ tests/tst_plugin.cpp          | 54 +++++++++++++++++------------------
+ 15 files changed, 42 insertions(+), 42 deletions(-)
+
+diff --git a/doc/index.qdoc b/doc/index.qdoc
+index 9de17ce..d5aa26f 100644
+--- a/doc/index.qdoc
++++ b/doc/index.qdoc
+@@ -28,6 +28,6 @@ deployed, with different scopes, UI flows and security policies, it's
+ unpractical to present here a tutorial or a developer guide: for that, the
+ developer is invited to consult the documentation provided by the SDK in use.
+ 
+-This pages contain the reference documentation for the \l{Ubuntu OnlineAccounts}{API} and \l{Manifest files}{manifest files}
++This pages contain the reference documentation for the \l{Accounts SSO OnlineAccounts}{API} and \l{Manifest files}{manifest files}
+ used by this module.
+  */
+diff --git a/examples/create-account.qml b/examples/create-account.qml
+index 9bc9f12..339e7f4 100644
+--- a/examples/create-account.qml
++++ b/examples/create-account.qml
+@@ -15,7 +15,7 @@
+  */
+ 
+ import QtQuick 2.0
+-import Ubuntu.OnlineAccounts 0.1
++import SSO.OnlineAccounts 0.1
+ 
+ Rectangle {
+     width: 400
+diff --git a/examples/simple-view.qml b/examples/simple-view.qml
+index 69bc6f1..bf2246a 100644
+--- a/examples/simple-view.qml
++++ b/examples/simple-view.qml
+@@ -15,7 +15,7 @@
+  */
+ 
+ import QtQuick 2.0
+-import Ubuntu.OnlineAccounts 0.1
++import SSO.OnlineAccounts 0.1
+ 
+ Rectangle {
+     width: 400
+diff --git a/examples/ubuntu-sdk-view.qml b/examples/ubuntu-sdk-view.qml
+index 2b53125..5d9dd6e 100644
+--- a/examples/ubuntu-sdk-view.qml
++++ b/examples/ubuntu-sdk-view.qml
+@@ -17,7 +17,7 @@
+ import QtQuick 2.0
+ import Lomiri.Components 0.1
+ import Lomiri.Components.ListItems 0.1 as ListItem
+-import Ubuntu.OnlineAccounts 0.1
++import SSO.OnlineAccounts 0.1
+ 
+ MainView {
+     width: units.gu(60)
+diff --git a/src/account-service-model.cpp b/src/account-service-model.cpp
+index 20a445c..600127b 100644
+--- a/src/account-service-model.cpp
++++ b/src/account-service-model.cpp
+@@ -435,7 +435,7 @@ void AccountServiceModelPrivate::onAccountServiceEnabled(bool enabled)
+ 
+ /*!
+  * \qmltype AccountServiceModel
+- * \inqmlmodule Ubuntu.OnlineAccounts 0.1
++ * \inqmlmodule SSO.OnlineAccounts 0.1
+  * \ingroup Ubuntu
+  *
+  * \brief A model of the user's Online Accounts
+diff --git a/src/account-service.cpp b/src/account-service.cpp
+index 81ad155..fc98db1 100644
+--- a/src/account-service.cpp
++++ b/src/account-service.cpp
+@@ -85,7 +85,7 @@ void AccountService::syncIfDesired()
+ 
+ /*!
+  * \qmltype AccountService
+- * \inqmlmodule Ubuntu.OnlineAccounts 0.1
++ * \inqmlmodule SSO.OnlineAccounts 0.1
+  * \ingroup Ubuntu
+  *
+  * \brief Represents an instance of a service in an Online Accounts
+diff --git a/src/account.cpp b/src/account.cpp
+index 7212b7a..fb1a3f6 100644
+--- a/src/account.cpp
++++ b/src/account.cpp
+@@ -29,7 +29,7 @@ using namespace OnlineAccounts;
+ 
+ /*!
+  * \qmltype Account
+- * \inqmlmodule Ubuntu.OnlineAccounts 0.1
++ * \inqmlmodule SSO.OnlineAccounts 0.1
+  * \ingroup Ubuntu
+  *
+  * \brief Represents an instance of an online account.
+diff --git a/src/accounts.qdoc b/src/accounts.qdoc
+index c6a887b..0318e71 100644
+--- a/src/accounts.qdoc
++++ b/src/accounts.qdoc
+@@ -15,7 +15,7 @@
+  */
+ 
+ /*!
+-    \qmlmodule Ubuntu.OnlineAccounts 0.1
++    \qmlmodule SSO.OnlineAccounts 0.1
+ 
+-    \title Ubuntu OnlineAccounts
++    \title SSO.OnlineAccounts
+ */
+diff --git a/src/application-model.cpp b/src/application-model.cpp
+index eadc330..c10b462 100644
+--- a/src/application-model.cpp
++++ b/src/application-model.cpp
+@@ -27,7 +27,7 @@ using namespace OnlineAccounts;
+ 
+ /*!
+  * \qmltype ApplicationModel
+- * \inqmlmodule Ubuntu.OnlineAccounts 0.1
++ * \inqmlmodule SSO.OnlineAccounts 0.1
+  * \ingroup Ubuntu
+  *
+  * \brief A model of the applications using online accounts.
+diff --git a/src/application.cpp b/src/application.cpp
+index f2b3466..babc5ce 100644
+--- a/src/application.cpp
++++ b/src/application.cpp
+@@ -24,7 +24,7 @@ using namespace OnlineAccounts;
+ 
+ /*!
+  * \qmltype Application
+- * \inqmlmodule Ubuntu.OnlineAccounts 0.1
++ * \inqmlmodule SSO.OnlineAccounts 0.1
+  * \ingroup Ubuntu
+  *
+  * \brief Represents a client application of Online Accounts.
+diff --git a/src/credentials.cpp b/src/credentials.cpp
+index 19234c2..4a4d659 100644
+--- a/src/credentials.cpp
++++ b/src/credentials.cpp
+@@ -24,7 +24,7 @@ using namespace OnlineAccounts;
+ 
+ /*!
+  * \qmltype Credentials
+- * \inqmlmodule Ubuntu.OnlineAccounts 0.1
++ * \inqmlmodule SSO.OnlineAccounts 0.1
+  * \ingroup Ubuntu
+  *
+  * \brief Holds the account's credentials
+diff --git a/src/manager.cpp b/src/manager.cpp
+index e91cc84..7145168 100644
+--- a/src/manager.cpp
++++ b/src/manager.cpp
+@@ -39,7 +39,7 @@ QSharedPointer<Accounts::Manager> SharedManager::instance()
+ 
+ /*!
+  * \qmltype Manager
+- * \inqmlmodule Ubuntu.OnlineAccounts 0.1
++ * \inqmlmodule SSO.OnlineAccounts 0.1
+  * \ingroup Ubuntu
+  *
+  * \brief The account manager
+diff --git a/src/provider-model.cpp b/src/provider-model.cpp
+index 0646c2c..88a4db2 100644
+--- a/src/provider-model.cpp
++++ b/src/provider-model.cpp
+@@ -28,7 +28,7 @@ using namespace OnlineAccounts;
+ 
+ /*!
+  * \qmltype ProviderModel
+- * \inqmlmodule Ubuntu.OnlineAccounts 0.1
++ * \inqmlmodule SSO.OnlineAccounts 0.1
+  * \ingroup Ubuntu
+  *
+  * \brief A model of the account providers
+diff --git a/src/src.pro b/src/src.pro
+index abfc851..2873593 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -3,7 +3,7 @@ include(../common-project-config.pri)
+ TEMPLATE = lib
+ TARGET = Accounts
+ 
+-API_URI = "Ubuntu.OnlineAccounts"
++API_URI = "SSO.OnlineAccounts"
+ 
+ DESTDIR = $$replace(API_URI, \\., /)
+ 
+diff --git a/tests/tst_plugin.cpp b/tests/tst_plugin.cpp
+index f405954..0ba5df8 100644
+--- a/tests/tst_plugin.cpp
++++ b/tests/tst_plugin.cpp
+@@ -130,7 +130,7 @@ void PluginTest::testLoadPlugin()
+ {
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountServiceModel {}",
+                       QUrl());
+     QObject *object = component.create();
+@@ -144,7 +144,7 @@ void PluginTest::testEmptyModel()
+ 
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountServiceModel {}",
+                       QUrl());
+     QObject *object = component.create();
+@@ -221,7 +221,7 @@ void PluginTest::testModel()
+ 
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountServiceModel {}",
+                       QUrl());
+     QObject *object = component.create();
+@@ -376,7 +376,7 @@ void PluginTest::testModelSignals()
+ 
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountServiceModel {}",
+                       QUrl());
+     QObject *object = component.create();
+@@ -541,7 +541,7 @@ void PluginTest::testModelDisplayName()
+ 
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountServiceModel {\n"
+                       "  includeDisabled: true\n"
+                       "}",
+@@ -609,7 +609,7 @@ void PluginTest::testProviderModel()
+ 
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "ProviderModel {}",
+                       QUrl());
+     QObject *object = component.create();
+@@ -652,7 +652,7 @@ void PluginTest::testProviderModelWithApplication()
+ 
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "ProviderModel {\n"
+                       "  applicationId: \"mailer\"\n"
+                       "}",
+@@ -709,7 +709,7 @@ void PluginTest::testAccountService()
+     QQmlEngine engine;
+     engine.rootContext()->setContextProperty("accountService1", accountService1);
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountService { objectHandle: accountService1 }",
+                       QUrl());
+     QObject *qmlObject = component.create();
+@@ -811,7 +811,7 @@ void PluginTest::testAccountServiceUpdate()
+     QQmlEngine engine;
+     engine.rootContext()->setContextProperty("accountService", accountService);
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountService { objectHandle: accountService }",
+                       QUrl());
+     QObject *qmlObject = component.create();
+@@ -948,7 +948,7 @@ void PluginTest::testAuthentication()
+     QQmlEngine engine;
+     engine.rootContext()->setContextProperty("accountService1", accountService1);
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountService {\n"
+                       "  objectHandle: accountService1\n"
+                       "  function go() {\n"
+@@ -1028,7 +1028,7 @@ void PluginTest::testAuthenticationErrors()
+     QQmlEngine engine;
+     engine.rootContext()->setContextProperty("accountService1", accountService1);
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountService {\n"
+                       "  objectHandle: accountService1\n"
+                       "  function go() {\n"
+@@ -1087,7 +1087,7 @@ void PluginTest::testAuthenticationDeleted()
+     QQmlEngine engine;
+     engine.rootContext()->setContextProperty("accountService1", accountService1);
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountService { objectHandle: accountService1 }",
+                       QUrl());
+     QObject *qmlObject = component.create();
+@@ -1147,7 +1147,7 @@ void PluginTest::testAuthenticationCancel()
+     QQmlEngine engine;
+     engine.rootContext()->setContextProperty("accountService1", accountService1);
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountService { objectHandle: accountService1 }",
+                       QUrl());
+     QObject *qmlObject = component.create();
+@@ -1209,7 +1209,7 @@ void PluginTest::testAuthenticationWithCredentials()
+     QQmlEngine engine;
+     engine.rootContext()->setContextProperty("accountService", accountService);
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountService {\n"
+                       " id: account\n"
+                       " autoSync: false\n"
+@@ -1290,7 +1290,7 @@ void PluginTest::testAuthenticationMethods()
+     QQmlEngine engine;
+     engine.rootContext()->setContextProperty("accountService1", accountService1);
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountService {\n"
+                       "  objectHandle: accountService1\n"
+                       "}",
+@@ -1389,7 +1389,7 @@ void PluginTest::testManagerCreate()
+ {
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "Account { objectHandle: Manager.createAccount(\"cool\") }",
+                       QUrl());
+     QObject *qmlObject = component.create();
+@@ -1419,7 +1419,7 @@ void PluginTest::testManagerLoad()
+     QQmlEngine engine;
+     engine.rootContext()->setContextProperty("account1id", uint(account1->id()));
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "Account { objectHandle: Manager.loadAccount(account1id) }",
+                       QUrl());
+     QObject *qmlObject = component.create();
+@@ -1441,7 +1441,7 @@ void PluginTest::testAccountInvalid()
+ {
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "Account {}",
+                       QUrl());
+     QObject *qmlObject = component.create();
+@@ -1478,7 +1478,7 @@ void PluginTest::testAccount()
+ 
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "Account { objectHandle: Manager.createAccount(\"cool\") }",
+                       QUrl());
+     QObject *qmlObject = component.create();
+@@ -1543,7 +1543,7 @@ void PluginTest::testCredentials()
+ {
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "Credentials {"
+                       " userName: \"Smart User\"\n"
+                       " secret: \"Valuable password\"\n"
+@@ -1606,7 +1606,7 @@ void PluginTest::testCredentials()
+     QVERIFY(credentialsId != 0);
+ 
+     engine.rootContext()->setContextProperty("credsId", credentialsId);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "Credentials { credentialsId: credsId }",
+                       QUrl());
+     QObject *qmlObject2 = component.create();
+@@ -1686,7 +1686,7 @@ void PluginTest::testAccountCredentialsRemoval()
+     Q_FOREACH (AccountService *accountService, services) {
+         engine.rootContext()->setContextProperty("accountService", accountService);
+         QQmlComponent component(&engine);
+-        component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++        component.setData("import SSO.OnlineAccounts 0.1\n"
+                           "AccountService {\n"
+                           " id: account\n"
+                           " objectHandle: accountService\n"
+@@ -1723,7 +1723,7 @@ void PluginTest::testAccountCredentialsRemoval()
+ 
+     QQmlComponent accountComponent(&engine);
+     engine.rootContext()->setContextProperty("aid", accountId);
+-    accountComponent.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    accountComponent.setData("import SSO.OnlineAccounts 0.1\n"
+                              "Account {\n"
+                              "  objectHandle: Manager.loadAccount(aid)\n"
+                              "  function removeAccount1() {\n"
+@@ -1759,7 +1759,7 @@ void PluginTest::testAccountCredentialsRemoval()
+     Q_FOREACH (uint credentialsId, credentials) {
+         engine.rootContext()->setContextProperty("credsId", credentialsId);
+         QQmlComponent component(&engine);
+-        component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++        component.setData("import SSO.OnlineAccounts 0.1\n"
+                           "Credentials { credentialsId: credsId }",
+                           QUrl());
+         QObject *qmlCredentials = component.create();
+@@ -1792,7 +1792,7 @@ void PluginTest::testAccountServiceCredentials()
+     QQmlEngine engine;
+     engine.rootContext()->setContextProperty("accountService", accountService);
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountService {\n"
+                       " id: account\n"
+                       " objectHandle: accountService\n"
+@@ -1852,7 +1852,7 @@ void PluginTest::testApplicationModel()
+ {
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "ApplicationModel {}",
+                       QUrl());
+     QObject *qmlModel = component.create();
+@@ -1927,7 +1927,7 @@ void PluginTest::testUiPolicy()
+ 
+     QQmlEngine engine;
+     QQmlComponent component(&engine);
+-    component.setData("import Ubuntu.OnlineAccounts 0.1\n"
++    component.setData("import SSO.OnlineAccounts 0.1\n"
+                       "AccountService {\n"
+                       "  property var value: " + name.toUtf8() + "\n"
+                       "}",
+-- 
+GitLab
+
diff --git a/0007-Generate-plugin.qmltypes-during-build.patch b/0007-Generate-plugin.qmltypes-during-build.patch
new file mode 100644
index 0000000..1619ccc
--- /dev/null
+++ b/0007-Generate-plugin.qmltypes-during-build.patch
@@ -0,0 +1,230 @@
+From 4119d52cb969b57fcab63f6bdf543e73c9c17092 Mon Sep 17 00:00:00 2001
+From: Guido Berhoerster <guido+ubports at berhoerster.name>
+Date: Tue, 20 Sep 2022 11:30:46 +0200
+Subject: [PATCH] Generate plugin.qmltypes during build
+
+---
+ src/plugin.qmltypes | 187 --------------------------------------------
+ src/src.pro         |  11 ++-
+ 2 files changed, 7 insertions(+), 191 deletions(-)
+ delete mode 100644 src/plugin.qmltypes
+
+diff --git a/src/plugin.qmltypes b/src/plugin.qmltypes
+deleted file mode 100644
+index 8481efe..0000000
+--- a/src/plugin.qmltypes
++++ /dev/null
+@@ -1,187 +0,0 @@
+-import QtQuick.tooling 1.2
+-
+-// This file describes the plugin-supplied types contained in the library.
+-// It is used for QML tooling purposes only.
+-//
+-// This file was auto-generated by:
+-// 'qmlplugindump -notrelocatable Ubuntu.OnlineAccounts 0.1 .'
+-
+-Module {
+-    dependencies: ["QtQuick 2.8"]
+-    Component {
+-        name: "OnlineAccounts::Account"
+-        prototype: "QObject"
+-        exports: ["Ubuntu.OnlineAccounts/Account 0.1"]
+-        exportMetaObjectRevisions: [0]
+-        Enum {
+-            name: "RemovalOption"
+-            values: {
+-                "RemoveAccountOnly": 0,
+-                "RemoveCredentials": 1
+-            }
+-        }
+-        Enum {
+-            name: "RemovalOptions"
+-            values: {
+-                "RemoveAccountOnly": 0,
+-                "RemoveCredentials": 1
+-            }
+-        }
+-        Property { name: "objectHandle"; type: "QObject"; isPointer: true }
+-        Property { name: "enabled"; type: "bool"; isReadonly: true }
+-        Property { name: "provider"; type: "QVariantMap"; isReadonly: true }
+-        Property { name: "displayName"; type: "string"; isReadonly: true }
+-        Property { name: "accountId"; type: "uint"; isReadonly: true }
+-        Property { name: "accountServiceHandle"; type: "QObject"; isReadonly: true; isPointer: true }
+-        Signal { name: "synced" }
+-        Signal { name: "removed" }
+-        Method {
+-            name: "updateDisplayName"
+-            Parameter { name: "displayName"; type: "string" }
+-        }
+-        Method {
+-            name: "updateEnabled"
+-            Parameter { name: "enabled"; type: "bool" }
+-        }
+-        Method { name: "sync" }
+-        Method {
+-            name: "remove"
+-            Parameter { name: "options"; type: "RemovalOptions" }
+-        }
+-        Method { name: "remove" }
+-    }
+-    Component {
+-        name: "OnlineAccounts::AccountService"
+-        prototype: "QObject"
+-        exports: ["Ubuntu.OnlineAccounts/AccountService 0.1"]
+-        exportMetaObjectRevisions: [0]
+-        Enum {
+-            name: "ErrorCode"
+-            values: {
+-                "NoError": 0,
+-                "NoAccountError": 1,
+-                "UserCanceledError": 2,
+-                "PermissionDeniedError": 3,
+-                "NetworkError": 4,
+-                "SslError": 5,
+-                "InteractionRequiredError": 6
+-            }
+-        }
+-        Property { name: "objectHandle"; type: "QObject"; isPointer: true }
+-        Property { name: "enabled"; type: "bool"; isReadonly: true }
+-        Property { name: "serviceEnabled"; type: "bool"; isReadonly: true }
+-        Property { name: "provider"; type: "QVariantMap"; isReadonly: true }
+-        Property { name: "service"; type: "QVariantMap"; isReadonly: true }
+-        Property { name: "displayName"; type: "string"; isReadonly: true }
+-        Property { name: "accountId"; type: "uint"; isReadonly: true }
+-        Property { name: "settings"; type: "QVariantMap"; isReadonly: true }
+-        Property { name: "authData"; type: "QVariantMap"; isReadonly: true }
+-        Property { name: "autoSync"; type: "bool" }
+-        Property { name: "credentials"; type: "QObject"; isPointer: true }
+-        Signal {
+-            name: "authenticated"
+-            Parameter { name: "reply"; type: "QVariantMap" }
+-        }
+-        Signal {
+-            name: "authenticationError"
+-            Parameter { name: "error"; type: "QVariantMap" }
+-        }
+-        Method {
+-            name: "authenticate"
+-            Parameter { name: "sessionData"; type: "QVariantMap" }
+-        }
+-        Method { name: "authenticate" }
+-        Method { name: "cancelAuthentication" }
+-        Method {
+-            name: "updateServiceEnabled"
+-            Parameter { name: "enabled"; type: "bool" }
+-        }
+-        Method {
+-            name: "updateSettings"
+-            Parameter { name: "settings"; type: "QVariantMap" }
+-        }
+-    }
+-    Component {
+-        name: "OnlineAccounts::AccountServiceModel"
+-        prototype: "QAbstractListModel"
+-        exports: ["Ubuntu.OnlineAccounts/AccountServiceModel 0.1"]
+-        exportMetaObjectRevisions: [0]
+-        Property { name: "count"; type: "int"; isReadonly: true }
+-        Property { name: "includeDisabled"; type: "bool" }
+-        Property { name: "accountId"; type: "uint" }
+-        Property { name: "account"; type: "QObject"; isPointer: true }
+-        Property { name: "applicationId"; type: "string" }
+-        Property { name: "provider"; type: "string" }
+-        Property { name: "serviceType"; type: "string" }
+-        Property { name: "service"; type: "string" }
+-        Method {
+-            name: "get"
+-            type: "QVariant"
+-            Parameter { name: "row"; type: "int" }
+-            Parameter { name: "roleName"; type: "string" }
+-        }
+-    }
+-    Component {
+-        name: "OnlineAccounts::ApplicationModel"
+-        prototype: "QAbstractListModel"
+-        exports: ["Ubuntu.OnlineAccounts/ApplicationModel 0.1"]
+-        exportMetaObjectRevisions: [0]
+-        Property { name: "count"; type: "int"; isReadonly: true }
+-        Property { name: "service"; type: "string" }
+-        Method {
+-            name: "get"
+-            type: "QVariant"
+-            Parameter { name: "row"; type: "int" }
+-            Parameter { name: "roleName"; type: "string" }
+-        }
+-    }
+-    Component {
+-        name: "OnlineAccounts::Credentials"
+-        prototype: "QObject"
+-        exports: ["Ubuntu.OnlineAccounts/Credentials 0.1"]
+-        exportMetaObjectRevisions: [0]
+-        Property { name: "credentialsId"; type: "uint" }
+-        Property { name: "caption"; type: "string" }
+-        Property { name: "userName"; type: "string" }
+-        Property { name: "secret"; type: "string" }
+-        Property { name: "storeSecret"; type: "bool" }
+-        Property { name: "acl"; type: "QStringList" }
+-        Property { name: "methods"; type: "QVariantMap" }
+-        Signal { name: "synced" }
+-        Signal { name: "removed" }
+-        Method { name: "sync" }
+-        Method { name: "remove" }
+-    }
+-    Component {
+-        name: "OnlineAccounts::Manager"
+-        prototype: "QObject"
+-        exports: ["Ubuntu.OnlineAccounts/Manager 0.1"]
+-        isCreatable: false
+-        isSingleton: true
+-        exportMetaObjectRevisions: [0]
+-        Method {
+-            name: "loadAccount"
+-            type: "QObject*"
+-            Parameter { name: "accountId"; type: "uint" }
+-        }
+-        Method {
+-            name: "createAccount"
+-            type: "QObject*"
+-            Parameter { name: "providerName"; type: "string" }
+-        }
+-    }
+-    Component {
+-        name: "OnlineAccounts::ProviderModel"
+-        prototype: "QAbstractListModel"
+-        exports: ["Ubuntu.OnlineAccounts/ProviderModel 0.1"]
+-        exportMetaObjectRevisions: [0]
+-        Property { name: "applicationId"; type: "string" }
+-        Property { name: "count"; type: "int"; isReadonly: true }
+-        Method {
+-            name: "get"
+-            type: "QVariant"
+-            Parameter { name: "row"; type: "int" }
+-            Parameter { name: "roleName"; type: "string" }
+-        }
+-    }
+-}
+diff --git a/src/src.pro b/src/src.pro
+index 2873593..685fb7e 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -61,11 +61,14 @@ PLUGIN_INSTALL_BASE = $$[QT_INSTALL_QML]/$$replace(API_URI, \\., /)
+ target.path = $${PLUGIN_INSTALL_BASE}
+ INSTALLS += target
+ 
+-qmldir.files = $${DESTDIR}/qmldir plugin.qmltypes
++qmldir.files = $${DESTDIR}/qmldir
+ qmldir.path = $${PLUGIN_INSTALL_BASE}
+ INSTALLS += qmldir
+ 
+ QML_PLUGINS += $${DESTDIR}/lib$${TARGET}.so
+-qmltypes.commands = export LD_PRELOAD=$${QML_PLUGINS}; $$[QT_INSTALL_BINS]/qmlplugindump -notrelocatable $${API_URI} 0.1 . > $$PWD/plugin.qmltypes
+-qmltypes.depends = $${QML_PLUGINS}
+-QMAKE_EXTRA_TARGETS += qmltypes
++qmltypes_gen.commands = env LD_PRELOAD=$${QML_PLUGINS} $$[QT_INSTALL_BINS]/qmlplugindump -notrelocatable $${API_URI} 0.1 . > $(INSTALL_ROOT)$${PLUGIN_INSTALL_BASE}/plugin.qmltypes
++qmltypes_gen.path = $${PLUGIN_INSTALL_BASE}
++qmltypes_gen.depends = $${QML_PLUGINS}
++QMAKE_EXTRA_TARGETS += qmltypes_gen
++INSTALLS += qmltypes_gen
++
+-- 
+GitLab
+
diff --git a/0008-Use-C++17-when-building-for-Qt6.patch b/0008-Use-C++17-when-building-for-Qt6.patch
new file mode 100644
index 0000000..71e9cbe
--- /dev/null
+++ b/0008-Use-C++17-when-building-for-Qt6.patch
@@ -0,0 +1,32 @@
+From a7716cdc2702dc754f10e72918558a3fc7ccc461 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella at gmx.de>
+Date: Sat, 28 Oct 2023 18:23:18 +0200
+Subject: [PATCH] Use C++17 when building for Qt6
+
+---
+ common-project-config.pri | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/common-project-config.pri b/common-project-config.pri
+index 8f689d5..9e5f69e 100644
+--- a/common-project-config.pri
++++ b/common-project-config.pri
+@@ -6,8 +6,13 @@
+ QMAKE_CXXFLAGS += -Werror -Wno-write-strings
+ # Disable RTTI
+ QMAKE_CXXFLAGS += -fno-exceptions -fno-rtti
+-# Use C++11
+-QMAKE_CXXFLAGS += -std=c++11
++
++equals(QT_MAJOR_VERSION, 6) {
++    QMAKE_CXXFLAGS += -std=c++17
++} else {
++    QMAKE_CXXFLAGS += -std=c++11
++}
++
+ 
+ TOP_SRC_DIR     = $$PWD
+ TOP_BUILD_DIR   = $${TOP_SRC_DIR}/$${BUILD_DIR}
+-- 
+GitLab
+
diff --git a/0009-Remove-Werror.patch b/0009-Remove-Werror.patch
new file mode 100644
index 0000000..4bdd8b8
--- /dev/null
+++ b/0009-Remove-Werror.patch
@@ -0,0 +1,28 @@
+From 09a8a8a2325ce57318180076e6bb8f6147f0d830 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella at gmx.de>
+Date: Sat, 28 Oct 2023 18:24:01 +0200
+Subject: [PATCH] Remove -Werror
+
+It breaks the Qt6 build
+
+It should never be enabled by default anyway
+---
+ common-project-config.pri | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/common-project-config.pri b/common-project-config.pri
+index 9e5f69e..de5385f 100644
+--- a/common-project-config.pri
++++ b/common-project-config.pri
+@@ -3,7 +3,7 @@
+ #-----------------------------------------------------------------------------
+ 
+ # we don't like warnings...
+-QMAKE_CXXFLAGS += -Werror -Wno-write-strings
++QMAKE_CXXFLAGS += -Wno-write-strings
+ # Disable RTTI
+ QMAKE_CXXFLAGS += -fno-exceptions -fno-rtti
+ 
+-- 
+GitLab
+
diff --git a/0010-Find-signon_accounts-for-the-right-Qt-version.patch b/0010-Find-signon_accounts-for-the-right-Qt-version.patch
new file mode 100644
index 0000000..045dfd8
--- /dev/null
+++ b/0010-Find-signon_accounts-for-the-right-Qt-version.patch
@@ -0,0 +1,56 @@
+From 05e79ebbbf3784a87f72b7be571070125c10dfe3 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella at gmx.de>
+Date: Sat, 28 Oct 2023 18:24:20 +0200
+Subject: [PATCH] Find signon/accounts for the right Qt version
+
+---
+ src/src.pro          | 4 ++--
+ tests/mock/mock.pro  | 2 +-
+ tests/tst_plugin.pro | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/src.pro b/src/src.pro
+index 685fb7e..4ec4b77 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -18,8 +18,8 @@ QT += qml
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+ 
+ PKGCONFIG += \
+-    accounts-qt5 \
+-    libsignon-qt5
++    accounts-qt$$QT_MAJOR_VERSION \
++    libsignon-qt$$QT_MAJOR_VERSION
+ 
+ CONFIG(debug) {
+     DEFINES += \
+diff --git a/tests/mock/mock.pro b/tests/mock/mock.pro
+index cea48d7..df5e6c7 100644
+--- a/tests/mock/mock.pro
++++ b/tests/mock/mock.pro
+@@ -1,6 +1,6 @@
+ include(../../common-project-config.pri)
+ 
+-TARGET = signon-qt5
++TARGET = signon-qt$$QT_MAJOR_VERSION
+ TEMPLATE = lib
+ 
+ CONFIG += \
+diff --git a/tests/tst_plugin.pro b/tests/tst_plugin.pro
+index 4fd469b..28296eb 100644
+--- a/tests/tst_plugin.pro
++++ b/tests/tst_plugin.pro
+@@ -14,8 +14,8 @@ QT += \
+     testlib
+ 
+ PKGCONFIG += \
+-    accounts-qt5 \
+-    libsignon-qt5
++    accounts-qt$$QT_MAJOR_VERSION \
++    libsignon-qt$$QT_MAJOR_VERSION
+ 
+ SOURCES += \
+     tst_plugin.cpp
+-- 
+GitLab
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/accounts-qml-module.git/commitdiff/c2f2bc5f41b294746e2069bbd55d1939f8015576



More information about the pld-cvs-commit mailing list