[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