summaryrefslogtreecommitdiff
path: root/net-libs/accounts-qt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-12 19:10:40 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-12 19:10:40 +0000
commit4fc30e4e13ecfbe29fbef3b5caf96218eab30b68 (patch)
tree76daccda237a1d7020464e1de2c699391c86cf92 /net-libs/accounts-qt
parent4c4e8e9bf6d1ef49be600d77fcbbd7be716aece7 (diff)
gentoo auto-resync : 12:01:2024 - 19:10:40
Diffstat (limited to 'net-libs/accounts-qt')
-rw-r--r--net-libs/accounts-qt/Manifest12
-rw-r--r--net-libs/accounts-qt/accounts-qt-1.16.ebuild4
-rw-r--r--net-libs/accounts-qt/accounts-qt-1.16_p20220803.ebuild127
-rw-r--r--net-libs/accounts-qt/files/0001-Port-away-from-deprecated-QList-toSet.patch92
-rw-r--r--net-libs/accounts-qt/files/0002-Add-Qt6-CI.patch137
-rw-r--r--net-libs/accounts-qt/files/0003-Use-undeprecated-Account-value.patch28
-rw-r--r--net-libs/accounts-qt/files/0004-Don-t-access-a-QString-out-of-bounds.patch42
-rw-r--r--net-libs/accounts-qt/files/0005-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch118
-rw-r--r--net-libs/accounts-qt/files/accounts-qt-1.16-libdir.patch116
-rw-r--r--net-libs/accounts-qt/metadata.xml3
10 files changed, 675 insertions, 4 deletions
diff --git a/net-libs/accounts-qt/Manifest b/net-libs/accounts-qt/Manifest
index aa059ec64072..5613f964c319 100644
--- a/net-libs/accounts-qt/Manifest
+++ b/net-libs/accounts-qt/Manifest
@@ -1,3 +1,11 @@
+AUX 0001-Port-away-from-deprecated-QList-toSet.patch 3641 BLAKE2B 25a036baf7ff4864d205d0eded66ef7651ed51a3608fa7f0a72e40eefa3331e3741718b0161fe5a882a6c08f382362c494ffa5f8546f57f2365d5f77fcf22d88 SHA512 26c84e920c772f346f82f8886a6d0ce05117ed1bfbafcba843486e0f22f4c49f806c475a3a73b3c76173e9409a3b17d1ce89a0148877bccf9e8808eda35b1796
+AUX 0002-Add-Qt6-CI.patch 5085 BLAKE2B 2dec34a0b6726a780e593fbb74745951041f3e6cbe6b95c15229bb6aefc8ecc5f6ecb6c6a8f3d81f84939bca45c45ad0edc8370f4c1ac2f35a8840ba72cf28ed SHA512 82c9fe0e377180b1f9014376f6cdba67985f003f7ed5bf967f6ad03b52e38169cf62cdc50f3306a7d9862b33dd62ca412bd871a4d465184a5c4fb6d1b751d631
+AUX 0003-Use-undeprecated-Account-value.patch 914 BLAKE2B 42b2483989abea47e96c6b450ab395ff8ad81c56932f422f7f3b378cf16af62eef1c5f1ac93ae6174cf2d25ba8724332714a44b3eb3919f2c3c8368467807e3e SHA512 6f5b5189246cf6ae3cb15a48878d95fff91563127c0888da784cc4fc126ba576214ae801bb24912e6d147d99b300629971c2a874a1087e7d0c3d20b0118b28e4
+AUX 0004-Don-t-access-a-QString-out-of-bounds.patch 1414 BLAKE2B 611ee017ba8db1440c9954bd6c58c724f8b790374a126658826157a61e4e5c5fe5493ee49371fbbb1e5abd638dbe1e8f26574d5266d80ca6a581870bd6f32c82 SHA512 5ccff28c1ab3951f093d4dcc0dad782b60118e7abc978564b60c1463efb683f9f495f6cf7e100d96fc28e60980ffd2a79ab6f1b471ff5fa15823c113003c0a7e
+AUX 0005-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch 4128 BLAKE2B 86f3a68616ee7919d8d0123ff3373583d5c6f52dd0a77d3fd480e8556d78a09643f0007d343a143c1c79005147a59febe80d23a0417446c4f62fb040ea0f2701 SHA512 5bb20f5086c10d68aae819314137b221c34fc8a57a7eed1c44b0e96e64e1cf973df82c19698487297c452f704769cb26ffeb799b8ec3e30c3d4741fb313b63fc
+AUX accounts-qt-1.16-libdir.patch 4809 BLAKE2B 50c73a04be62a4748278f7cf46a8c06286363b9929324863af079e4da2c487d36194231a06d15ccb159d0a1f668fcf1a1ad80330730bebc08f53d29bbaa499f0 SHA512 dde1e34655952e8ae0ade756d8ff8559b4049eed0d273c078043eafe24751edf57e66b6300ee875c28b56978ed502bef79186605b3bc73b752fb226ae2bda90d
+DIST accounts-qt-1.16_p20220803.tar.bz2 55304 BLAKE2B 3143894e0b0887cbcd07391330a6c5fc423b2d1609c3057b2ee921a8c3ae78d9c149c39f74c29b50cc5e28428bef31d8ed598ca76beacd3946d6f99109d24aa0 SHA512 c919cc2b70de5a0a288a942297480ee68568ab5f708a504801ce953193a5d7e30be159a517f1566c283436663052e6d0fbd6eef1386376cb3cba0144505318df
DIST accounts-qt-1.16a.tar.gz 64376 BLAKE2B 39abe10249efff2edeae1a8ce210be3ce06656311ed5a3a3fbcb847194ebbd8ec6e111ef070fb29a2a847591304cf22a7cb60e9d1178a201b886313c4c8aaadb SHA512 a2a65899a258ac41c67fe496ba14468a95615fe8cfc518b7aaf7d3e72e0088304c61f5d76d50bd26a95b5f56dea4d0191bf08ecead508286504161aa05b7a05b
-EBUILD accounts-qt-1.16.ebuild 1245 BLAKE2B 1e24188b096835f96e009dbf3a60a74c1036d1bda9fe40018afccb7f25e00aebf120c1683fbadd4fe601adcb4b25f4a69fb358a848119851b96e82d3458e85c8 SHA512 526fa6895c8534232bea65063643c33ccd25bcb12927480b8a6906f6bf78ca58c61d7a8f07c446f9c05e92c23825ab2e1d0c1aee7736eec012ddd27a30134701
-MISC metadata.xml 250 BLAKE2B f3e9395137ebb9adf46cd35c1b6156f82c04cfa94f964f6da24fe71eb560cf51b4f70ebfa10daaa4884400ec22782d819ab794dfd29e7a47559f07208397195d SHA512 78c4ff15eed76ba883b457be95dabd41e928a0e64a42b758b5eab4d8a95afca27d5ea6a7cfe0948de578b169153a05f08aadfce1ddd41a88732212a1e76e565f
+EBUILD accounts-qt-1.16.ebuild 1246 BLAKE2B c827ee70ba0344e152692559d76a6866840651083e509434c65cf997f4826669b6f173af24de9f58aa5f2690eee28a4150e7907655303ae654db113cdb7ff146 SHA512 bde1752c2640107c64286b5415294c71dab734eca555d259658d1d99ec89273a512f76396d02600b52fd54068b2a72c6497292a995a6453b967bc7f64d84cc93
+EBUILD accounts-qt-1.16_p20220803.ebuild 2967 BLAKE2B b380eb877d95f820de84466a2277d92ba4eb6cdcb055ea8a455bd041d754065f5129c39cb3347015a42867bd61afba7658b73c3b1774e9e574421e43a815e637 SHA512 b64f8268132e757305168ef7b48814f1b592d9131def5e4d7dab4fd97053cd7e403a4c48c9872759754f6f29fbe1d2b685eac6853ac75e3c8b8ff5543224b9d1
+MISC metadata.xml 342 BLAKE2B 220884a62a67c3bc3417a30099191a253c3af9144d30fb04bc6b495c9a665e167392d96421a707bdc9d7d3737781650e48839ec9db12047590a69e8b1704730f SHA512 2525b4cab71fe0a925d2acea96ec7a164f1df175f7699b9b26d30a2642559627790d264b147c40365162ce3dda67fbbde2ed8115bc42e4ed284b970658bb3779
diff --git a/net-libs/accounts-qt/accounts-qt-1.16.ebuild b/net-libs/accounts-qt/accounts-qt-1.16.ebuild
index 9614b92cac2c..e49f56bfcaae 100644
--- a/net-libs/accounts-qt/accounts-qt-1.16.ebuild
+++ b/net-libs/accounts-qt/accounts-qt-1.16.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -29,7 +29,7 @@ DEPEND="${RDEPEND}
"
BDEPEND="
doc? (
- app-doc/doxygen[dot]
+ app-text/doxygen[dot]
dev-qt/qthelp:5
)
"
diff --git a/net-libs/accounts-qt/accounts-qt-1.16_p20220803.ebuild b/net-libs/accounts-qt/accounts-qt-1.16_p20220803.ebuild
new file mode 100644
index 000000000000..d90c6af12cdd
--- /dev/null
+++ b/net-libs/accounts-qt/accounts-qt-1.16_p20220803.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils multibuild
+
+if [[ ${PV} = *9999* ]] ; then
+ EGIT_REPO_URI="https://gitlab.com/nicolasfella/lib${PN}.git/"
+ EGIT_BRANCH="qt6"
+ inherit git-r3
+else
+ COMMIT=c86db79be389601bf6798f815ca5b8f78a524156
+ if [[ -n ${COMMIT} ]] ; then
+ SRC_URI="https://gitlab.com/accounts-sso/lib${PN}/-/archive/${COMMIT}/lib${PN}-${COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/lib${PN}-${COMMIT}"
+ else
+ SRC_URI="https://gitlab.com/accounts-sso/lib${PN}/-/archive/VERSION_${PV}/lib${PN}-VERSION_${PV}.tar.bz2 -> ${P}a.tar.bz2"
+ S="${WORKDIR}/lib${PN}-VERSION_${PV}"
+ fi
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Qt bindings for libaccounts-glib"
+HOMEPAGE="https://accounts-sso.gitlab.io"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc +qt5 qt6 test"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+# dbus problems
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/glib:2
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtxml:5
+ )
+ qt6? ( dev-qt/qtbase:6[xml] )
+ >=net-libs/libaccounts-glib-1.23:=
+"
+DEPEND="${RDEPEND}
+ test? (
+ qt5? ( dev-qt/qttest:5 )
+ )
+"
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ || (
+ dev-qt/qttools:6[assistant]
+ dev-qt/qthelp:5
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/0001-Port-away-from-deprecated-QList-toSet.patch
+ "${FILESDIR}"/0002-Add-Qt6-CI.patch
+ "${FILESDIR}"/0003-Use-undeprecated-Account-value.patch
+ "${FILESDIR}"/0004-Don-t-access-a-QString-out-of-bounds.patch
+ "${FILESDIR}"/0005-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch
+ "${FILESDIR}/${PN}-1.16-libdir.patch"
+)
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_prepare() {
+ default
+
+ local qhelpgeneratorpath
+ if has_version "dev-qt/qttools:6[assistant]"; then
+ qhelpgeneratorpath="$(qt6_get_libdir)/qt6/libexec"
+ elif has_version "dev-qt/qthelp:5"; then
+ qhelpgeneratorpath="$(qt5_get_bindir)"
+ else
+ eerror "dev-qt/qttools:6[assistant] nor dev-qt/qthelp:5 available even though in deps(?)"
+ fi
+
+ sed -e "s|share/doc/\$\${PROJECT_NAME}|share/doc/${PF}|" \
+ -i doc/doc.pri || die
+ sed -e "/QHG_LOCATION/s|qhelpgenerator|${qhelpgeneratorpath}/&|" \
+ -i doc/doxy.conf || die
+ if ! use doc; then
+ sed -e "/include( doc\/doc.pri )/d" -i ${PN}.pro || die
+ fi
+ if ! use test; then
+ sed -e '/^SUBDIRS/s/tests//' \
+ -i accounts-qt.pro || die "couldn't disable tests"
+ fi
+
+ multibuild_copy_sources
+}
+
+src_configure() {
+ my_src_configure() {
+ cd "${BUILD_DIR}" || die
+
+ if [[ ${MULTIBUILD_VARIANT} == qt6 ]]; then
+ eqmake6 PREFIX="${EPREFIX}"/usr LIBDIR=$(get_libdir)
+ else
+ eqmake5 PREFIX="${EPREFIX}"/usr LIBDIR=$(get_libdir)
+ fi
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ my_src_compile() {
+ emake -C "${BUILD_DIR}"
+ }
+
+ multibuild_foreach_variant my_src_compile
+}
+
+src_install() {
+ my_src_install() {
+ emake -C "${BUILD_DIR}" INSTALL_ROOT="${D}" install
+ }
+
+ multibuild_foreach_variant my_src_install
+}
diff --git a/net-libs/accounts-qt/files/0001-Port-away-from-deprecated-QList-toSet.patch b/net-libs/accounts-qt/files/0001-Port-away-from-deprecated-QList-toSet.patch
new file mode 100644
index 000000000000..190178cc3030
--- /dev/null
+++ b/net-libs/accounts-qt/files/0001-Port-away-from-deprecated-QList-toSet.patch
@@ -0,0 +1,92 @@
+https://gitlab.com/accounts-sso/libaccounts-qt/-/merge_requests/21
+
+From 3107822e036300684c2bdf587838a110eea8ba30 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Mon, 1 Aug 2022 20:35:03 +0200
+Subject: [PATCH 1/5] Port away from deprecated QList::toSet
+
+---
+ tests/tst_libaccounts.cpp | 44 +++++++++++++++++++++++++++++----------
+ 1 file changed, 33 insertions(+), 11 deletions(-)
+
+diff --git a/tests/tst_libaccounts.cpp b/tests/tst_libaccounts.cpp
+index 471e3d5..efede91 100644
+--- a/tests/tst_libaccounts.cpp
++++ b/tests/tst_libaccounts.cpp
+@@ -326,11 +326,11 @@ void AccountsTest::testService()
+ QCOMPARE(service.description(), QStringLiteral("Test description"));
+ QCOMPARE(service.iconName(), QString("general_myservice"));
+ QCOMPARE(service.trCatalog(), QString("accounts"));
+- QStringList tags;
++ QSet<QString> tags;
+ tags << "email" << "e-mail";
+- QCOMPARE(service.tags(), tags.toSet());
++ QCOMPARE(service.tags(), tags);
+ // Called twice, because the second time it returns a cached result
+- QCOMPARE(service.tags(), tags.toSet());
++ QCOMPARE(service.tags(), tags);
+ QVERIFY(service.hasTag("email"));
+ QVERIFY(!service.hasTag("chat"));
+
+@@ -687,10 +687,15 @@ void AccountsTest::testAccountService()
+ spyChanged.clear();
+ spyEnabled.clear();
+
+- QStringList expectedChanges;
++ QSet<QString> expectedChanges;
+ expectedChanges << "parameters/server";
+ expectedChanges << "enabled";
+- QCOMPARE(m_accountServiceChangedFields.toSet(), expectedChanges.toSet());
++#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
++ QSet<QString> changedFields(m_accountServiceChangedFields.begin(), m_accountServiceChangedFields.end());
++#else
++ QSet<QString> changedFields = m_accountServiceChangedFields.toSet();
++#endif
++ QCOMPARE(changedFields, expectedChanges);
+
+ QCOMPARE(accountService->value("server").toString(),
+ UTF8("www.example.com"));
+@@ -727,17 +732,34 @@ void AccountsTest::testAccountService()
+
+
+ /* test some more APIs */
+- QStringList expectedList;
++ QSet<QString> expectedList;
+ expectedList << "server" << "fallback-conference-server" <<
+ "port" << "old-ssl";
+- QCOMPARE(accountService->childKeys().toSet(), expectedList.toSet());
+- QCOMPARE(accountService->childGroups().toSet(), QSet<QString>());
++#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
++ QStringList childKeysList = accountService->childKeys();
++ QSet<QString> childKeys(childKeysList.begin(), childKeysList.end());
++
++ QStringList childGroupsList = accountService->childGroups();
++ QSet<QString> childGroups(childGroupsList.begin(), childGroupsList.end());
++#else
++ QSet<QString> childKeys = accountService->childKeys().toSet();
++ QSet<QString> childGroups = accountService->childGroups().toSet();
++#endif
++
++ QCOMPARE(childKeys, expectedList);
++ QCOMPARE(childGroups, QSet<QString>());
+ QCOMPARE(accountService->contains("port"), true);
+ accountService->endGroup();
+
+- expectedList.clear();
+- expectedList << "parameters";
+- QCOMPARE(accountService->childGroups().toSet(), expectedList.toSet());
++ QSet<QString> expectedList2;
++ expectedList2 << "parameters";
++#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
++ QStringList childGroupsList2 = accountService->childGroups();
++ QSet<QString> childGroups2(childGroupsList2.begin(), childGroupsList2.end());
++#else
++ QSet<QString> childGroups2 = accountService->childGroups().toSet();
++#endif
++ QCOMPARE(childGroups2, expectedList2);
+
+ /* Remove one key */
+ accountService->remove("parameters/port");
+--
+2.43.0
+
diff --git a/net-libs/accounts-qt/files/0002-Add-Qt6-CI.patch b/net-libs/accounts-qt/files/0002-Add-Qt6-CI.patch
new file mode 100644
index 000000000000..f8383b5f8a43
--- /dev/null
+++ b/net-libs/accounts-qt/files/0002-Add-Qt6-CI.patch
@@ -0,0 +1,137 @@
+https://gitlab.com/accounts-sso/libaccounts-qt/-/merge_requests/21
+
+From d00f7346b091b885ba0ea3f6055e74a173fd0034 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Mon, 17 Oct 2022 23:33:16 +0200
+Subject: [PATCH 2/5] Add Qt6 CI
+
+---
+ .gitlab-ci.yml | 80 +++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 66 insertions(+), 14 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index 95d5a92..f8b5bf6 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -1,5 +1,3 @@
+-image: ubuntu:bionic
+-
+ cache:
+ key: apt-cache
+ paths:
+@@ -13,23 +11,19 @@ stages:
+ - test
+ - deploy
+
+-before_script:
+- - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
+- - PACKAGES+=" wget" # for downloading dependencies
+- - PACKAGES+=" libglib2.0-dev libsqlite3-dev libxml2-dev gtk-doc-tools libgirepository1.0-dev gobject-introspection libxml2-utils python3-gi python-gi-dev valac check python3-pip" # for libaccounts-glib
+- - |
+- apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y \
+- qt5-qmake qttools5-dev-tools qtbase5-dev qtchooser pkg-config doxygen \
+- $PACKAGES
+- - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y dbus-test-runner lcov gcovr
+- - pip3 install meson ninja
+-
+-
+ build_dependencies:
++ image: ubuntu:bionic
+ stage: deps
+ artifacts:
+ paths:
+ - staging
++ before_script:
++ - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
++ - PACKAGES+=" wget" # for downloading dependencies
++ - PACKAGES+=" libglib2.0-dev libsqlite3-dev libxml2-dev gtk-doc-tools libgirepository1.0-dev gobject-introspection libxml2-utils python3-gi python-gi-dev valac check python3-pip" # for libaccounts-glib
++ - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y $PACKAGES
++ - pip3 install meson ninja
++
+ script:
+ - STAGING="$PWD/staging"
+
+@@ -52,7 +46,15 @@ build_dependencies:
+
+
+ build_amd64:
++ image: ubuntu:bionic
+ stage: build
++ before_script:
++ - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
++ - |
++ apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y \
++ qt5-qmake qttools5-dev-tools qtbase5-dev qtchooser pkg-config doxygen wget libglib2.0-dev libsqlite3-dev libxml2-dev gtk-doc-tools libgirepository1.0-dev gobject-introspection libxml2-utils python3-gi python-gi-dev valac check python3-pip
++ - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y dbus-test-runner lcov gcovr
++
+ script:
+ - STAGING="$PWD/staging"
+ - export PKG_CONFIG_PATH="$STAGING/lib/pkgconfig:$PKG_CONFIG_PATH"
+@@ -69,7 +71,16 @@ build_amd64:
+ - build/
+
+ test_amd64:
++ image: ubuntu:bionic
+ stage: test
++ before_script:
++ - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
++ - PACKAGES+=" wget" # for downloading dependencies
++ - |
++ apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y \
++ qt5-qmake qttools5-dev-tools qtbase5-dev qtchooser pkg-config doxygen \
++ $PACKAGES
++ - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y dbus-test-runner lcov gcovr
+ script:
+ - STAGING="$PWD/staging"
+ - export LD_LIBRARY_PATH="$STAGING/lib:$LD_LIBRARY_PATH"
+@@ -83,6 +94,47 @@ test_amd64:
+ paths:
+ - build/
+
++build_amd64_qt6:
++ stage: build
++ image: ubuntu:jammy
++ before_script:
++ - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
++ - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y qmake6 qt6-base-dev pkg-config libqt6sql6-sqlite doxygen libdbus-1-dev g++ make libglib2.0-dev gtk-doc-tools libgirepository1.0-dev gobject-introspection libxml2-utils python3-gi python-gi-dev valac check python3-pip libsqlite3-dev libxml2-dev
++ script:
++ - STAGING="$PWD/staging"
++ - find $STAGING
++ - export PKG_CONFIG_PATH="$STAGING/lib/pkgconfig:$PKG_CONFIG_PATH"
++ - export LD_LIBRARY_PATH="$STAGING/lib:$LD_LIBRARY_PATH"
++ - mkdir build
++ - cd build
++ - qmake6 CONFIG+=debug CONFIG+=coverage ..
++ - make -j 4
++ dependencies:
++ - build_dependencies
++ artifacts:
++ paths:
++ - build/
++
++test_amd64_qt6:
++ stage: test
++ image: ubuntu:jammy
++ before_script:
++ - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
++ - export DEBIAN_FRONTEND=noninteractive
++ - apt-get update -yq && apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y dbus-test-runner libqtdbusmock1-dev libqtdbustest1-dev lcov gcovr make qmake6 qt6-base-dev pkg-config libqt6sql6-sqlite doxygen libdbus-1-dev g++ make libsqlite3-dev libxml2-dev libglib2.0-dev
++ script:
++ - STAGING="$PWD/staging"
++ - export LD_LIBRARY_PATH="$STAGING/lib:$LD_LIBRARY_PATH"
++ - find build | xargs touch # Avoid rebuilding
++ - cd build
++ - make coverage-html
++ dependencies:
++ - build_dependencies
++ - build_amd64_qt6
++ artifacts:
++ paths:
++ - ./
++
+ pages:
+ stage: deploy
+ script:
+--
+2.43.0
+
diff --git a/net-libs/accounts-qt/files/0003-Use-undeprecated-Account-value.patch b/net-libs/accounts-qt/files/0003-Use-undeprecated-Account-value.patch
new file mode 100644
index 000000000000..7a8cb85b009e
--- /dev/null
+++ b/net-libs/accounts-qt/files/0003-Use-undeprecated-Account-value.patch
@@ -0,0 +1,28 @@
+https://gitlab.com/accounts-sso/libaccounts-qt/-/merge_requests/21
+
+From 102cf562f9d143de2f93ba40f8448c1d531c2c7b Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Tue, 18 Oct 2022 01:40:05 +0200
+Subject: [PATCH 3/5] Use undeprecated Account::value
+
+---
+ tests/tst_libaccounts.cpp | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/tests/tst_libaccounts.cpp b/tests/tst_libaccounts.cpp
+index efede91..d12091c 100644
+--- a/tests/tst_libaccounts.cpp
++++ b/tests/tst_libaccounts.cpp
+@@ -516,8 +516,7 @@ void AccountsTest::testAccountValue()
+ QTRY_COMPARE(synced.count(), 1);
+
+ /* check that the values we wrote are retrieved successfully */
+- QVariant val = QVariant::String;
+- account->value(QString("test"), val);
++ QVariant val = account->value(QString("test"));
+ QCOMPARE(val.toString(), QString("value"));
+
+ SettingSource source;
+--
+2.43.0
+
diff --git a/net-libs/accounts-qt/files/0004-Don-t-access-a-QString-out-of-bounds.patch b/net-libs/accounts-qt/files/0004-Don-t-access-a-QString-out-of-bounds.patch
new file mode 100644
index 000000000000..e342139cbb5d
--- /dev/null
+++ b/net-libs/accounts-qt/files/0004-Don-t-access-a-QString-out-of-bounds.patch
@@ -0,0 +1,42 @@
+https://gitlab.com/accounts-sso/libaccounts-qt/-/merge_requests/21
+
+From 3c4d5fa1f53cd66c9870b799e8518980176547b2 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Tue, 18 Oct 2022 02:03:59 +0200
+Subject: [PATCH 4/5] Don't access a QString out-of-bounds
+
+This asserts in Qt6
+---
+ Accounts/account-service.cpp | 2 +-
+ Accounts/account.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Accounts/account-service.cpp b/Accounts/account-service.cpp
+index e6c04f2..d8d4304 100644
+--- a/Accounts/account-service.cpp
++++ b/Accounts/account-service.cpp
+@@ -335,7 +335,7 @@ void AccountService::endGroup()
+ Q_D(AccountService);
+ d->prefix = d->prefix.section(slash, 0, -3,
+ QString::SectionIncludeTrailingSep);
+- if (d->prefix[0] == slash) d->prefix.remove(0, 1);
++ if (!d->prefix.isEmpty() && d->prefix[0] == slash) d->prefix.remove(0, 1);
+ }
+
+ /*!
+diff --git a/Accounts/account.cpp b/Accounts/account.cpp
+index 2e40c60..104611a 100644
+--- a/Accounts/account.cpp
++++ b/Accounts/account.cpp
+@@ -548,7 +548,7 @@ void Account::endGroup()
+ {
+ d->prefix = d->prefix.section(slash, 0, -3,
+ QString::SectionIncludeTrailingSep);
+- if (d->prefix[0] == slash) d->prefix.remove(0, 1);
++ if (!d->prefix.isEmpty() && d->prefix[0] == slash) d->prefix.remove(0, 1);
+ }
+
+ /*!
+--
+2.43.0
+
diff --git a/net-libs/accounts-qt/files/0005-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch b/net-libs/accounts-qt/files/0005-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch
new file mode 100644
index 000000000000..904e7d5aa1ad
--- /dev/null
+++ b/net-libs/accounts-qt/files/0005-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch
@@ -0,0 +1,118 @@
+https://gitlab.com/accounts-sso/libaccounts-qt/-/merge_requests/21
+
+From 18557f7def9af8f4a9e0e93e9f575ae11e5066aa Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Fri, 7 Apr 2023 15:49:22 +0200
+Subject: [PATCH 5/5] Adjust buildsystem to include correct Qt Major version
+ number
+
+---
+ Accounts/Accounts.pro | 4 ++--
+ Accounts/AccountsQt5Config.cmake.in | 2 +-
+ Accounts/AccountsQt6Config.cmake.in | 5 +++++
+ Accounts/AccountsQt6ConfigVersion.cmake.in | 10 ++++++++++
+ Accounts/accounts-qt6.pc.in | 15 +++++++++++++++
+ tests/tst_libaccounts.pro | 2 +-
+ 6 files changed, 34 insertions(+), 4 deletions(-)
+ create mode 100644 Accounts/AccountsQt6Config.cmake.in
+ create mode 100644 Accounts/AccountsQt6ConfigVersion.cmake.in
+ create mode 100644 Accounts/accounts-qt6.pc.in
+
+diff --git a/Accounts/Accounts.pro b/Accounts/Accounts.pro
+index 13804ee..da62da7 100644
+--- a/Accounts/Accounts.pro
++++ b/Accounts/Accounts.pro
+@@ -3,7 +3,7 @@ include( ../common-project-config.pri )
+ include( ../common-vars.pri )
+
+ TEMPLATE = lib
+-TARGET = accounts-qt5
++TARGET = accounts-qt$${QT_MAJOR_VERSION}
+
+ # Input
+ public_headers = \
+@@ -45,7 +45,7 @@ QT -= gui
+
+ INCLUDEPATH += $${TOP_SRC_DIR}
+
+-CMAKE_BASENAME = AccountsQt5
++CMAKE_BASENAME = AccountsQt$${QT_MAJOR_VERSION}
+
+ PKGCONFIG += \
+ glib-2.0 \
+diff --git a/Accounts/AccountsQt5Config.cmake.in b/Accounts/AccountsQt5Config.cmake.in
+index 55a8964..746f689 100644
+--- a/Accounts/AccountsQt5Config.cmake.in
++++ b/Accounts/AccountsQt5Config.cmake.in
+@@ -2,4 +2,4 @@
+ # ACCOUNTSQT_LIBRARIES - The libraries needed to use libaccounts-qt
+
+ set(ACCOUNTSQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
+-set(ACCOUNTSQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET}/)
+\ No newline at end of file
++set(ACCOUNTSQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET}/)
+diff --git a/Accounts/AccountsQt6Config.cmake.in b/Accounts/AccountsQt6Config.cmake.in
+new file mode 100644
+index 0000000..55a8964
+--- /dev/null
++++ b/Accounts/AccountsQt6Config.cmake.in
+@@ -0,0 +1,5 @@
++# ACCOUNTSQT_INCLUDE_DIRS - The libaccounts-qt include directories
++# ACCOUNTSQT_LIBRARIES - The libraries needed to use libaccounts-qt
++
++set(ACCOUNTSQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
++set(ACCOUNTSQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET}/)
+\ No newline at end of file
+diff --git a/Accounts/AccountsQt6ConfigVersion.cmake.in b/Accounts/AccountsQt6ConfigVersion.cmake.in
+new file mode 100644
+index 0000000..616cd60
+--- /dev/null
++++ b/Accounts/AccountsQt6ConfigVersion.cmake.in
+@@ -0,0 +1,10 @@
++set(PACKAGE_VERSION $${PROJECT_VERSION})
++
++if(\"${PACKAGE_VERSION}\" VERSION_LESS \"${PACKAGE_FIND_VERSION}\" )
++ set(PACKAGE_VERSION_COMPATIBLE FALSE)
++else(\"${PACKAGE_VERSION}\" VERSION_LESS \"${PACKAGE_FIND_VERSION}\" )
++ set(PACKAGE_VERSION_COMPATIBLE TRUE)
++ if( \"${PACKAGE_FIND_VERSION}\" STREQUAL \"${PACKAGE_VERSION}\")
++ set(PACKAGE_VERSION_EXACT TRUE)
++ endif( \"${PACKAGE_FIND_VERSION}\" STREQUAL \"${PACKAGE_VERSION}\")
++endif(\"${PACKAGE_VERSION}\" VERSION_LESS \"${PACKAGE_FIND_VERSION}\" )
+diff --git a/Accounts/accounts-qt6.pc.in b/Accounts/accounts-qt6.pc.in
+new file mode 100644
+index 0000000..c625b2e
+--- /dev/null
++++ b/Accounts/accounts-qt6.pc.in
+@@ -0,0 +1,15 @@
++prefix=$$INSTALL_PREFIX
++exec_prefix=${prefix}
++libdir=$$INSTALL_LIBDIR
++includedir=${prefix}/include/accounts-qt6
++servicefilesdir=${prefix}/share/accounts/services
++servicetypefilesdir=${prefix}/share/accounts/service-types
++providerfilesdir=${prefix}/share/accounts/providers
++
++Name: libaccounts-qt6
++Description: Accounts Library
++Version: $$PROJECT_VERSION
++Libs: -L${libdir} -laccounts-qt6
++Requires: Qt6Core Qt6Xml
++Cflags: -I${includedir}
++
+diff --git a/tests/tst_libaccounts.pro b/tests/tst_libaccounts.pro
+index a5b91fe..9992c0b 100644
+--- a/tests/tst_libaccounts.pro
++++ b/tests/tst_libaccounts.pro
+@@ -9,7 +9,7 @@ QT = \
+ testlib \
+ xml
+
+-LIBS += -laccounts-qt5
++LIBS += -laccounts-qt$${QT_MAJOR_VERSION}
+
+ INCLUDEPATH += $${TOP_SRC_DIR}
+ QMAKE_LIBDIR += \
+--
+2.43.0
+
diff --git a/net-libs/accounts-qt/files/accounts-qt-1.16-libdir.patch b/net-libs/accounts-qt/files/accounts-qt-1.16-libdir.patch
new file mode 100644
index 000000000000..dfcbe71938b1
--- /dev/null
+++ b/net-libs/accounts-qt/files/accounts-qt-1.16-libdir.patch
@@ -0,0 +1,116 @@
+From e3882382b2e98bce5be07baf23771856828123fc Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Thu, 7 Dec 2023 23:20:32 +0100
+Subject: [PATCH] Make LIBDIR configurable
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ Accounts/AccountsQt5Config.cmake.in | 2 +-
+ Accounts/AccountsQt6Config.cmake.in | 4 ++--
+ Accounts/accounts-qt5.pc.in | 2 +-
+ Accounts/accounts-qt6.pc.in | 2 +-
+ common-installs-config.pri | 2 +-
+ common-pkgconfig.pri | 2 +-
+ common-project-config.pri | 6 +++---
+ 7 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/Accounts/AccountsQt5Config.cmake.in b/Accounts/AccountsQt5Config.cmake.in
+index 746f689..9280a7d 100644
+--- a/Accounts/AccountsQt5Config.cmake.in
++++ b/Accounts/AccountsQt5Config.cmake.in
+@@ -1,5 +1,5 @@
+ # ACCOUNTSQT_INCLUDE_DIRS - The libaccounts-qt include directories
+ # ACCOUNTSQT_LIBRARIES - The libraries needed to use libaccounts-qt
+
+-set(ACCOUNTSQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
++set(ACCOUNTSQT_LIBRARIES $${INSTALL_PREFIX}/$${LIBDIR}/lib$${TARGET}.so)
+ set(ACCOUNTSQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET}/)
+diff --git a/Accounts/AccountsQt6Config.cmake.in b/Accounts/AccountsQt6Config.cmake.in
+index 55a8964..9280a7d 100644
+--- a/Accounts/AccountsQt6Config.cmake.in
++++ b/Accounts/AccountsQt6Config.cmake.in
+@@ -1,5 +1,5 @@
+ # ACCOUNTSQT_INCLUDE_DIRS - The libaccounts-qt include directories
+ # ACCOUNTSQT_LIBRARIES - The libraries needed to use libaccounts-qt
+
+-set(ACCOUNTSQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
+-set(ACCOUNTSQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET}/)
+\ No newline at end of file
++set(ACCOUNTSQT_LIBRARIES $${INSTALL_PREFIX}/$${LIBDIR}/lib$${TARGET}.so)
++set(ACCOUNTSQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET}/)
+diff --git a/Accounts/accounts-qt5.pc.in b/Accounts/accounts-qt5.pc.in
+index fbfcea8..faea96b 100644
+--- a/Accounts/accounts-qt5.pc.in
++++ b/Accounts/accounts-qt5.pc.in
+@@ -1,6 +1,6 @@
+ prefix=$$INSTALL_PREFIX
+ exec_prefix=${prefix}
+-libdir=$$INSTALL_LIBDIR
++libdir=${prefix}/$$LIBDIR
+ includedir=${prefix}/include/accounts-qt5
+ servicefilesdir=${prefix}/share/accounts/services
+ servicetypefilesdir=${prefix}/share/accounts/service-types
+diff --git a/Accounts/accounts-qt6.pc.in b/Accounts/accounts-qt6.pc.in
+index c625b2e..cdc0233 100644
+--- a/Accounts/accounts-qt6.pc.in
++++ b/Accounts/accounts-qt6.pc.in
+@@ -1,6 +1,6 @@
+ prefix=$$INSTALL_PREFIX
+ exec_prefix=${prefix}
+-libdir=$$INSTALL_LIBDIR
++libdir=${prefix}/$$LIBDIR
+ includedir=${prefix}/include/accounts-qt6
+ servicefilesdir=${prefix}/share/accounts/services
+ servicetypefilesdir=${prefix}/share/accounts/service-types
+diff --git a/common-installs-config.pri b/common-installs-config.pri
+index 82baf75..420accb 100644
+--- a/common-installs-config.pri
++++ b/common-installs-config.pri
+@@ -17,7 +17,7 @@ contains( TEMPLATE, app ) {
+ #-----------------------------------------------------------------------------
+ contains( TEMPLATE, lib ) {
+
+- target.path = $${INSTALL_LIBDIR}
++ target.path = $${INSTALL_PREFIX}/$${LIBDIR}
+ INSTALLS += target
+ message("====")
+ message("==== INSTALLS += target")
+diff --git a/common-pkgconfig.pri b/common-pkgconfig.pri
+index 975068a..9f010d3 100644
+--- a/common-pkgconfig.pri
++++ b/common-pkgconfig.pri
+@@ -3,7 +3,7 @@
+ !isEmpty(pkgconfig.files) {
+ QMAKE_SUBSTITUTES += $${pkgconfig.files}.in
+ pkgconfig.CONFIG = no_check_exist
+- pkgconfig.path = $${INSTALL_LIBDIR}/pkgconfig
++ pkgconfig.path = $${INSTALL_PREFIX}/$${LIBDIR}/pkgconfig
+ QMAKE_EXTRA_TARGETS += pkgconfig
+
+ QMAKE_CLEAN += $${pkgconfig.files}
+diff --git a/common-project-config.pri b/common-project-config.pri
+index b856961..0484e36 100644
+--- a/common-project-config.pri
++++ b/common-project-config.pri
+@@ -44,15 +44,15 @@ INSTALL_LIBDIR = $${INSTALL_PREFIX}/lib
+ isEmpty( LIBDIR ) {
+ message("====")
+ message("==== NOTE: To override the library installation path run: `qmake LIBDIR=/custom/path'")
+- message("==== (current installation path is `$${INSTALL_LIBDIR}')")
++ message("==== (current installation path is `$${INSTALL_PREFIX}/$${LIBDIR}')")
+ } else {
+ INSTALL_LIBDIR = $${LIBDIR}
+ message("====")
+- message("==== library install path set to `$${INSTALL_LIBDIR}'")
++ message("==== library install path set to `$${INSTALL_PREFIX}/$${LIBDIR}'")
+ }
+
+ isEmpty ( CMAKE_CONFIG_PATH ) {
+- CMAKE_CONFIG_PATH = $${INSTALL_LIBDIR}/cmake
++ CMAKE_CONFIG_PATH = $${INSTALL_PREFIX}/$${LIBDIR}/cmake
+ message("====")
+ message("==== NOTE: To override the cmake module installation path run: `qmake CMAKE_CONFIG_PATH=/custom/path'")
+ message("==== (current installation path is `$${CMAKE_CONFIG_PATH}')")
+--
+2.43.0
+
diff --git a/net-libs/accounts-qt/metadata.xml b/net-libs/accounts-qt/metadata.xml
index 8641e5bdd399..17eb6070226c 100644
--- a/net-libs/accounts-qt/metadata.xml
+++ b/net-libs/accounts-qt/metadata.xml
@@ -5,4 +5,7 @@
<email>kde@gentoo.org</email>
<name>Gentoo KDE Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="gitlab">accounts-sso/libaccounts-qt</remote-id>
+ </upstream>
</pkgmetadata>