summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-01-12 13:09:45 +0000
committerSam James <sam@gentoo.org>2024-01-12 14:03:16 +0000
commitb9b5704e95fdbecdfe896938ed519df95878f3a5 (patch)
tree1f3f230ae70ed6410af2a2c246431fb05ca85359
parentnet-libs/signon-ui: update upstream metadata (diff)
downloadgentoo-b9b5704e95fdbecdfe896938ed519df95878f3a5.tar.gz
gentoo-b9b5704e95fdbecdfe896938ed519df95878f3a5.tar.bz2
gentoo-b9b5704e95fdbecdfe896938ed519df95878f3a5.zip
net-libs/accounts-qt: add 1.16_p20220803 (with Qt 6 support)
Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--net-libs/accounts-qt/Manifest1
-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--profiles/package.mask1
9 files changed, 662 insertions, 0 deletions
diff --git a/net-libs/accounts-qt/Manifest b/net-libs/accounts-qt/Manifest
index 08e0b3bdd343..3d17843c22ac 100644
--- a/net-libs/accounts-qt/Manifest
+++ b/net-libs/accounts-qt/Manifest
@@ -1 +1,2 @@
+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
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..4e26198caeb4
--- /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-doc/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/profiles/package.mask b/profiles/package.mask
index 4c31d8714ff8..f93c2d34fb91 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -411,6 +411,7 @@ dev-python/ruamel-std-pathlib
~net-libs/kdsoap-2.2.0
~net-libs/kdsoap-ws-discovery-client-0.3.0
~net-libs/signon-ui-0.15_p20231016
+~net-libs/accounts-qt-1.16_p20220803
~sys-auth/polkit-qt-0.175.0
# Hans de Graaff <graaff@gentoo.org> (2023-12-17)