commit:     b9b5704e95fdbecdfe896938ed519df95878f3a5
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 12 13:09:45 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jan 12 14:03:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b9b5704e

net-libs/accounts-qt: add 1.16_p20220803 (with Qt 6 support)

Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-libs/accounts-qt/Manifest                      |   1 +
 .../accounts-qt/accounts-qt-1.16_p20220803.ebuild  | 127 +++++++++++++++++++
 ...001-Port-away-from-deprecated-QList-toSet.patch |  92 ++++++++++++++
 net-libs/accounts-qt/files/0002-Add-Qt6-CI.patch   | 137 +++++++++++++++++++++
 .../0003-Use-undeprecated-Account-value.patch      |  28 +++++
 ...0004-Don-t-access-a-QString-out-of-bounds.patch |  42 +++++++
 ...dsystem-to-include-correct-Qt-Major-versi.patch | 118 ++++++++++++++++++
 .../files/accounts-qt-1.16-libdir.patch            | 116 +++++++++++++++++
 profiles/package.mask                              |   1 +
 9 files changed, 662 insertions(+)

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 <[email protected]>
+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 <[email protected]>
+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 <[email protected]>
+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 <[email protected]>
+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 <[email protected]>
+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 <[email protected]>
+Date: Thu, 7 Dec 2023 23:20:32 +0100
+Subject: [PATCH] Make LIBDIR configurable
+
+Signed-off-by: Andreas Sturmlechner <[email protected]>
+---
+ 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 <[email protected]> (2023-12-17)

Reply via email to