summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2024-01-12 14:20:12 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2024-01-12 14:20:12 +0000
commit57733a4d1604d4d99c4a5cfb246a3127307202b5 (patch)
treedb91aed8f11a931111e6ccb36792f244729c1668
parent2024-01-12 14:05:18 UTC (diff)
parentmedia-sound/sidplayfp: bump to 1.6.2, dropped 1.6.1 (diff)
downloadgentoo-57733a4d1604d4d99c4a5cfb246a3127307202b5.tar.gz
gentoo-57733a4d1604d4d99c4a5cfb246a3127307202b5.tar.bz2
gentoo-57733a4d1604d4d99c4a5cfb246a3127307202b5.zip
Merge updates from master
-rw-r--r--dev-python/twisted/twisted-23.10.0.ebuild2
-rw-r--r--dev-vcs/git/git-2.43.0.ebuild2
-rw-r--r--gnustep-apps/gshisen/gshisen-1.3.0-r2.ebuild4
-rw-r--r--gnustep-apps/preview/preview-0.9-r1.ebuild4
-rw-r--r--gnustep-libs/netclasses/netclasses-1.1.0-r1.ebuild4
-rw-r--r--media-sound/sidplayfp/Manifest2
-rw-r--r--media-sound/sidplayfp/sidplayfp-2.6.2.ebuild (renamed from media-sound/sidplayfp/sidplayfp-2.6.1.ebuild)0
-rw-r--r--media-sound/strawberry/Manifest1
-rw-r--r--media-sound/strawberry/strawberry-1.0.23.ebuild121
-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--net-libs/accounts-qt/metadata.xml3
-rw-r--r--net-libs/signon-ui/Manifest1
-rw-r--r--net-libs/signon-ui/metadata.xml2
-rw-r--r--net-libs/signon-ui/signon-ui-0.15_p20231016.ebuild83
-rw-r--r--net-libs/signond/Manifest1
-rw-r--r--net-libs/signond/files/0001-Don-t-forward-declare-QStringList.patch35
-rw-r--r--net-libs/signond/files/0002-Remove-usage-of-Q_EXTERN_C.patch28
-rw-r--r--net-libs/signond/files/0003-Port-from-QProcess-pid-to-processId.patch32
-rw-r--r--net-libs/signond/files/0004-Port-away-from-deprecated-QString-SplitBehavior.patch38
-rw-r--r--net-libs/signond/files/0005-Port-away-from-QtContainer-toSet.patch94
-rw-r--r--net-libs/signond/files/0006-Port-away-from-deprecated-QMap-unite.patch53
-rw-r--r--net-libs/signond/files/0007-Add-Qt6-CI.patch91
-rw-r--r--net-libs/signond/files/0008-Use-return-instead-of-reference-for-DBus-output-para.patch57
-rw-r--r--net-libs/signond/files/0009-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch202
-rw-r--r--net-libs/signond/files/0010-Fix-plugin-datastream-in-Qt6.patch33
-rw-r--r--net-libs/signond/files/0011-Port-away-from-deprecated-QProcess-signal.patch30
-rw-r--r--net-libs/signond/files/signond-8.61-consistent-paths.patch288
-rw-r--r--net-libs/signond/metadata.xml1
-rw-r--r--net-libs/signond/signond-8.61-r100.ebuild145
-rw-r--r--profiles/package.mask3
-rw-r--r--sys-apps/portage/portage-3.0.61-r1.ebuild2
38 files changed, 2012 insertions, 11 deletions
diff --git a/dev-python/twisted/twisted-23.10.0.ebuild b/dev-python/twisted/twisted-23.10.0.ebuild
index 0a420bcca51a..edb96fcce0dd 100644
--- a/dev-python/twisted/twisted-23.10.0.ebuild
+++ b/dev-python/twisted/twisted-23.10.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI+="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
IUSE="conch http2 serial ssl test"
RESTRICT="!test? ( test )"
diff --git a/dev-vcs/git/git-2.43.0.ebuild b/dev-vcs/git/git-2.43.0.ebuild
index 74ab28d2651c..9f89807860fb 100644
--- a/dev-vcs/git/git-2.43.0.ebuild
+++ b/dev-vcs/git/git-2.43.0.ebuild
@@ -50,7 +50,7 @@ if [[ ${PV} != *9999 ]]; then
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
fi
diff --git a/gnustep-apps/gshisen/gshisen-1.3.0-r2.ebuild b/gnustep-apps/gshisen/gshisen-1.3.0-r2.ebuild
index 10ec9ec20586..847ae524f9f3 100644
--- a/gnustep-apps/gshisen/gshisen-1.3.0-r2.ebuild
+++ b/gnustep-apps/gshisen/gshisen-1.3.0-r2.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
@@ -13,4 +13,4 @@ S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
diff --git a/gnustep-apps/preview/preview-0.9-r1.ebuild b/gnustep-apps/preview/preview-0.9-r1.ebuild
index 727f32123ad6..c20b51cfc697 100644
--- a/gnustep-apps/preview/preview-0.9-r1.ebuild
+++ b/gnustep-apps/preview/preview-0.9-r1.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
@@ -12,7 +12,7 @@ S="${WORKDIR}/${PN/p/P}"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="~amd64 ~ppc x86"
PATCHES=(
# Fix compilation, patch from debian
diff --git a/gnustep-libs/netclasses/netclasses-1.1.0-r1.ebuild b/gnustep-libs/netclasses/netclasses-1.1.0-r1.ebuild
index 0aac0c11cc62..cad0d22d189c 100644
--- a/gnustep-libs/netclasses/netclasses-1.1.0-r1.ebuild
+++ b/gnustep-libs/netclasses/netclasses-1.1.0-r1.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
@@ -9,7 +9,7 @@ DESCRIPTION="Asynchronous networking library for GNUstep"
HOMEPAGE="https://gap.nongnu.org/talksoup/"
SRC_URI="https://savannah.nongnu.org/download/gap/${P}.tar.gz"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ~ppc ~x86"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
diff --git a/media-sound/sidplayfp/Manifest b/media-sound/sidplayfp/Manifest
index 071a8b70344c..8e098279e143 100644
--- a/media-sound/sidplayfp/Manifest
+++ b/media-sound/sidplayfp/Manifest
@@ -1,3 +1,3 @@
DIST sidplayfp-2.5.0.tar.gz 249111 BLAKE2B 6ac126ee1f26e2dafe649d1bc64fd053ac6762277996dcbc6704dbda788bd2b3d3d2810aba48a8d9fd62ae92f70773cc93a657198c414327ea18fc074da35c96 SHA512 271d1ef216ace5294084997dc902f74411679b24dd3426248c70004468c0525077f0d6cf187f24715d1b6465abf82236b328904b7c06d4e0f87e159594be6427
DIST sidplayfp-2.5.1.tar.gz 244863 BLAKE2B 463a8716f0a1f310780aec559ebb1128749cc0cc97da254d422552859450cf1e721510b1706a59181e2ca1bf1575a68cfec96f688b164c289ae06a1b045b46dd SHA512 f7c13171d163cf49a2e2b1c485255bd80a3ebdd157343489ac5915e2190c325da327dd1c9413fc9daf6c7d8183c01473d2fc35ca38bfe516515780c464187199
-DIST sidplayfp-2.6.1.tar.gz 246992 BLAKE2B 06ef8241592e8cd8fa60bc721b1a4c509a04f4fecddc7ef2e32ee3f75b5ddc2b54c3c346b9019d12fc5bad92ac2439a37160dd228e28ba55cb639db7255d1a38 SHA512 373005106cd2b1f67a2fcbbf3a24d9140e8ac63432c84f5e3de4d209e5c80a3d0e23f6349dec0ad6bc6ed781aedc29445ffc0a665241f4e83b0e34d23fce2c14
+DIST sidplayfp-2.6.2.tar.gz 246903 BLAKE2B 1e59d2ebbe9fad40b321502283a4972ceb3fe92b9f50426a619def42d9a5304d203919f9894d3a003ea01c3430e0f8420f581fc2afa007a998bcdd707b818948 SHA512 eb9a074acc5b50dff539ca7bfc4b43d0a66d0f1ed31ae4165db1f7a804e16fb8f69ce0be4f885d45f219899e4909460412dd726c8fa052e1dc16124c26cee093
diff --git a/media-sound/sidplayfp/sidplayfp-2.6.1.ebuild b/media-sound/sidplayfp/sidplayfp-2.6.2.ebuild
index 622dd37d0372..622dd37d0372 100644
--- a/media-sound/sidplayfp/sidplayfp-2.6.1.ebuild
+++ b/media-sound/sidplayfp/sidplayfp-2.6.2.ebuild
diff --git a/media-sound/strawberry/Manifest b/media-sound/strawberry/Manifest
index d82ad6691bf0..8b06769dda28 100644
--- a/media-sound/strawberry/Manifest
+++ b/media-sound/strawberry/Manifest
@@ -1 +1,2 @@
DIST strawberry-1.0.22.tar.xz 11279480 BLAKE2B a5f8909dd779b3dcd3bea91f28792eede604531be7d18a7e30503e7d0da737f75b570ee0b382613c848b72145b3b4534196deb20e3c9fe83b0716e454b4e686b SHA512 d94c0b0f90ad404a62ad02ba1fc63090a043ab48dca3ca099dd72af29691bfa16ddf11cb62d540f8af51794270eda119cc0805d2204458ed8ce40164948486bd
+DIST strawberry-1.0.23.tar.xz 11297440 BLAKE2B 4110a19ac27a254ec778bc46592f4b1b00ea8cb077a231d5dc0bb69c8ef78aca02a15339b888812c7cb31540f61647e2c8b15d416c68c4da4690407ac851dec4 SHA512 f3249e97b2f0130dadf2a5fcfc128d7054accd6b86cf088a3a45549c584529aefbadaf09e9ed074af85c679495b03ad700e78f6952e913a40b38eaf7c77d5adb
diff --git a/media-sound/strawberry/strawberry-1.0.23.ebuild b/media-sound/strawberry/strawberry-1.0.23.ebuild
new file mode 100644
index 000000000000..f8b2ab43d52c
--- /dev/null
+++ b/media-sound/strawberry/strawberry-1.0.23.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic plocale xdg
+
+PLOCALES="ca cs de es es_AR es_ES es_MX fi fr hu id it ja ko nb nl pl pt_BR ru sv uk zh_CN"
+
+DESCRIPTION="Modern music player and library organizer based on Clementine and Qt"
+HOMEPAGE="https://www.strawberrymusicplayer.org/"
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/strawberrymusicplayer/strawberry"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/strawberrymusicplayer/strawberry/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="cdda debug +gstreamer icu ipod moodbar mtp pulseaudio +udisks vlc"
+
+BDEPEND="
+ dev-qt/linguist-tools:5
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+COMMON_DEPEND="
+ dev-db/sqlite:=
+ dev-libs/glib:2
+ dev-libs/protobuf:=
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5[ssl]
+ dev-qt/qtsql:5[sqlite]
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ media-libs/alsa-lib
+ media-libs/taglib
+ x11-libs/libX11
+ cdda? ( dev-libs/libcdio:= )
+ gstreamer? (
+ media-libs/chromaprint:=
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ icu? ( dev-libs/icu:= )
+ ipod? ( media-libs/libgpod )
+ moodbar? ( sci-libs/fftw:3.0 )
+ mtp? ( media-libs/libmtp )
+ pulseaudio? ( media-libs/libpulse )
+ vlc? ( media-video/vlc )
+"
+# Note: sqlite driver of dev-qt/qtsql is bundled, so no sqlite use is required; check if this can be overcome someway;
+RDEPEND="${COMMON_DEPEND}
+ gstreamer? (
+ media-plugins/gst-plugins-meta:1.0
+ media-plugins/gst-plugins-soup:1.0
+ media-plugins/gst-plugins-taglib:1.0
+ )
+ mtp? ( gnome-base/gvfs[mtp] )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="${COMMON_DEPEND}
+ dev-cpp/gtest
+ dev-libs/boost
+ dev-qt/qttest:5
+"
+
+DOCS=( Changelog README.md )
+
+REQUIRED_USE="
+ cdda? ( gstreamer )
+ || ( gstreamer vlc )
+"
+
+src_prepare() {
+ plocale_find_changes "src/translations" "" ".po"
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # spotify is not in portage
+ local mycmakeargs=(
+ -DBUILD_WERROR=OFF
+ # avoid automagically enabling of ccache (bug #611010)
+ -DCCACHE_EXECUTABLE=OFF
+ -DENABLE_GIO=ON
+ -DLINGUAS="$(plocale_get_locales)"
+ -DENABLE_AUDIOCD="$(usex cdda)"
+ -DENABLE_GSTREAMER="$(usex gstreamer)"
+ -DUSE_ICU="$(usex icu)"
+ -DENABLE_LIBGPOD="$(usex ipod)"
+ -DENABLE_LIBMTP="$(usex mtp)"
+ -DENABLE_LIBPULSE="$(usex pulseaudio)"
+ -DENABLE_MOODBAR="$(usex moodbar)"
+ -DENABLE_MUSICBRAINZ="$(usex gstreamer)"
+ -DENABLE_SONGFINGERPRINTING="$(usex gstreamer)"
+ -DENABLE_UDISKS2="$(usex udisks)"
+ -DENABLE_VLC="$(usex vlc)"
+ -DQT_VERSION_MAJOR=5
+ )
+
+ use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use gstreamer ; then
+ elog "Note that list of supported formats is controlled by media-plugins/gst-plugins-meta "
+ elog "USE flags. You may be interested in setting aac, flac, mp3, ogg or wavpack USE flags "
+ elog "depending on your preferences"
+ fi
+}
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/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>
diff --git a/net-libs/signon-ui/Manifest b/net-libs/signon-ui/Manifest
index 13dc394fd005..bb13961d15c1 100644
--- a/net-libs/signon-ui/Manifest
+++ b/net-libs/signon-ui/Manifest
@@ -1 +1,2 @@
DIST signon-ui-0.15_p20171022.tar.bz2 55849 BLAKE2B 6b97b3f673fb4494c7e32dc345f6c4697acdb19305b9459fe954d88983e4666211926921dac70829435706cdd9a41f36d36241a73905b2a795873c2894ffa8d7 SHA512 d0a4ca222de00abf4000905d917799fc6f9e04a2c3f49d0d0882dc4e90fdbcde14da91f355d10f8a3feac03661febd321ea6de1df227fa5a3c404eaefa7c2d60
+DIST signon-ui-0.15_p20231016.tar.bz2 55078 BLAKE2B eff35b2b311c4b923148656ad7512418ee6e19607babd02f2bc8bff9d6f2f5cfdc37c7030fb842b65b25c310f6e44f76a73b9d0a4569af52f7661b0eb09da2f2 SHA512 c26be8921c5d2a559bd62793f3eca19184c236c2e2649728631d60d2781f4b4457f63bbd35238cb274ff3a7747220688688f0880df8db0e78ccaf6f126d6e86e
diff --git a/net-libs/signon-ui/metadata.xml b/net-libs/signon-ui/metadata.xml
index fbd0d6ae95b8..634eccaeb0b9 100644
--- a/net-libs/signon-ui/metadata.xml
+++ b/net-libs/signon-ui/metadata.xml
@@ -6,6 +6,6 @@
<name>Gentoo KDE Project</name>
</maintainer>
<upstream>
- <remote-id type="launchpad">signon-ui</remote-id>
+ <remote-id type="gitlab">accounts-sso/signon-ui</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-libs/signon-ui/signon-ui-0.15_p20231016.ebuild b/net-libs/signon-ui/signon-ui-0.15_p20231016.ebuild
new file mode 100644
index 000000000000..5d48ec22cb82
--- /dev/null
+++ b/net-libs/signon-ui/signon-ui-0.15_p20231016.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils
+
+if [[ ${PV} = *9999* ]] ; then
+ EGIT_REPO_URI="https://gitlab.com/accounts-sso/signon-ui.git/"
+ inherit git-r3
+else
+ COMMIT=eef943f0edf3beee8ecb85d4a9dae3656002fc24
+ SRC_URI="https://gitlab.com/accounts-sso/${PN}/-/archive/${COMMIT}/${PN}-${COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Online accounts signon UI"
+HOMEPAGE="https://gitlab.com/accounts-sso/signon-ui"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+IUSE="qt6 test"
+
+RESTRICT="test"
+
+COMMON_DEPEND="
+ dev-libs/glib:2
+ !qt6? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5[ssl]
+ dev-qt/qtwebengine:5
+ dev-qt/qtwidgets:5
+ >=net-libs/accounts-qt-1.16-r1[qt5]
+ >=net-libs/signond-8.61-r1[qt5]
+ )
+ qt6? (
+ dev-qt/qtbase:6[dbus,gui,network,ssl,widgets]
+ dev-qt/qtdeclarative:6
+ dev-qt/qtwebengine:6
+ >=net-libs/accounts-qt-1.16-r1[qt6]
+ >=net-libs/signond-8.61-r1[qt6]
+ )
+ net-libs/libproxy
+ x11-libs/libnotify
+"
+RDEPEND="${COMMON_DEPEND}
+ !qt6? ( dev-qt/qtwebchannel:5 )
+ qt6? ( dev-qt/qtwebchannel:6 )
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ !qt6? ( dev-qt/qttest:5 )
+ )
+"
+
+PATCHES=(
+ # thanks to openSUSE
+ "${FILESDIR}/${PN}-0.15_p20171022-webengine-cachedir-path.patch"
+ "${FILESDIR}/${PN}-0.15_p20171022-fix-username-field-reading.patch"
+ # downstream
+ "${FILESDIR}/${PN}-0.15_p20171022-drop-fno-rtti.patch"
+ "${FILESDIR}/${PN}-0.15_p20171022-disable-tests.patch"
+)
+
+src_configure() {
+ if use qt6; then
+ eqmake6 PREFIX="${EPREFIX}"/usr
+ else
+ eqmake5 PREFIX="${EPREFIX}"/usr
+ fi
+}
+
+src_compile() {
+ emake -j1
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" -j1 install
+}
diff --git a/net-libs/signond/Manifest b/net-libs/signond/Manifest
index 9e1ac2b6a93d..f62f3f43ee5a 100644
--- a/net-libs/signond/Manifest
+++ b/net-libs/signond/Manifest
@@ -1 +1,2 @@
+DIST signond-8.61.tar.bz2 203066 BLAKE2B 2f78e08143d346777ab3517ef6b76b54ab1b17efa6d15b2c5a16487c2e11f38c88cb2820bff8dd04deb334d0c178c16bd061c0eba694c5edfb0e31411581648a SHA512 95e83bc672792ec10493f1f456788af7e8051ce0bed6b047b6b6f5fa9ac019dd3392063152930be49cf68d590567fd7467c544d642cc58624b1aabdc0b405258
DIST signond-8.61.tar.gz 282965 BLAKE2B 8ab8f4ac3f8416ef9c1b8d8c73057ffcf0024a7e3cf6c2fa97a3119826f6c655b215e2530137c199e60e9e9518b0858fa1a23a3f107c71751f33d2a34898a610 SHA512 1652ee8e97d6aee036075f5416909649c5848e33c3c71f367176f3e5d6f9c360fd7a46c65ba877d58b3ae8fb8df0712938c5e073409ba945d66d8afeacfd6f72
diff --git a/net-libs/signond/files/0001-Don-t-forward-declare-QStringList.patch b/net-libs/signond/files/0001-Don-t-forward-declare-QStringList.patch
new file mode 100644
index 000000000000..015280921652
--- /dev/null
+++ b/net-libs/signond/files/0001-Don-t-forward-declare-QStringList.patch
@@ -0,0 +1,35 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From 65a9af6663738c5e169a1779b8d0106c6223e96e Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Tue, 5 Jul 2022 17:36:19 +0200
+Subject: [PATCH 01/11] Don't forward-declare QStringList
+
+It doesn't work with Qt6
+---
+ lib/plugins/SignOn/authpluginif.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/plugins/SignOn/authpluginif.h b/lib/plugins/SignOn/authpluginif.h
+index 7b3243c..9cfc527 100644
+--- a/lib/plugins/SignOn/authpluginif.h
++++ b/lib/plugins/SignOn/authpluginif.h
+@@ -31,6 +31,7 @@
+ #include <QtCore/qobject.h>
+ #include <QtCore/qpointer.h>
+ #include <QtCore/qplugin.h>
++#include <QtCore/qstringlist.h>
+
+ #include <QVariantMap>
+ #include <SignOn/sessiondata.h>
+@@ -39,7 +40,6 @@
+
+ QT_BEGIN_NAMESPACE
+ class QString;
+-class QStringList;
+ class QByteArray;
+ class QVariant;
+ QT_END_NAMESPACE
+--
+2.43.0
+
diff --git a/net-libs/signond/files/0002-Remove-usage-of-Q_EXTERN_C.patch b/net-libs/signond/files/0002-Remove-usage-of-Q_EXTERN_C.patch
new file mode 100644
index 000000000000..6f0e11ef1da8
--- /dev/null
+++ b/net-libs/signond/files/0002-Remove-usage-of-Q_EXTERN_C.patch
@@ -0,0 +1,28 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From afef34ba90f525081226b49be76dd53aa158967d Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Tue, 5 Jul 2022 17:37:00 +0200
+Subject: [PATCH 02/11] Remove usage of Q_EXTERN_C
+
+It doesn't exist in Qt6 any more
+---
+ lib/plugins/SignOn/authpluginif.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/plugins/SignOn/authpluginif.h b/lib/plugins/SignOn/authpluginif.h
+index 9cfc527..cad5d35 100644
+--- a/lib/plugins/SignOn/authpluginif.h
++++ b/lib/plugins/SignOn/authpluginif.h
+@@ -73,7 +73,7 @@ enum AuthPluginState {
+ }
+
+ #define SIGNON_DECL_AUTH_PLUGIN(pluginclass) \
+- Q_EXTERN_C AuthPluginInterface *auth_plugin_instance() \
++ extern "C" AuthPluginInterface *auth_plugin_instance() \
+ SIGNON_PLUGIN_INSTANCE(pluginclass)
+
+ /*!
+--
+2.43.0
+
diff --git a/net-libs/signond/files/0003-Port-from-QProcess-pid-to-processId.patch b/net-libs/signond/files/0003-Port-from-QProcess-pid-to-processId.patch
new file mode 100644
index 000000000000..ea1b7e715208
--- /dev/null
+++ b/net-libs/signond/files/0003-Port-from-QProcess-pid-to-processId.patch
@@ -0,0 +1,32 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From a089361356e73bcd721f14314ec9745bbf28c5be Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Tue, 5 Jul 2022 17:37:34 +0200
+Subject: [PATCH 03/11] Port from QProcess::pid to ::processId
+
+The former is deprecated
+---
+ src/signond/pluginproxy.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/signond/pluginproxy.cpp b/src/signond/pluginproxy.cpp
+index d31c712..582aef4 100644
+--- a/src/signond/pluginproxy.cpp
++++ b/src/signond/pluginproxy.cpp
+@@ -125,10 +125,10 @@ PluginProxy::~PluginProxy()
+
+ if (!m_process->waitForFinished(PLUGINPROCESS_STOP_TIMEOUT))
+ {
+- if (m_process->pid()) {
++ if (m_process->processId()) {
+ qCritical() << "The signon plugin seems to ignore kill(), "
+ "killing it from command line";
+- QString killProcessCommand(QString::fromLatin1("kill -9 %1").arg(m_process->pid()));
++ QString killProcessCommand(QString::fromLatin1("kill -9 %1").arg(m_process->processId()));
+ QProcess::execute(killProcessCommand);
+ }
+ }
+--
+2.43.0
+
diff --git a/net-libs/signond/files/0004-Port-away-from-deprecated-QString-SplitBehavior.patch b/net-libs/signond/files/0004-Port-away-from-deprecated-QString-SplitBehavior.patch
new file mode 100644
index 000000000000..7bf3fe2db650
--- /dev/null
+++ b/net-libs/signond/files/0004-Port-away-from-deprecated-QString-SplitBehavior.patch
@@ -0,0 +1,38 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From b48507f58d66356fbcdd349d14e6e145a4a60bbd Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Tue, 5 Jul 2022 17:38:08 +0200
+Subject: [PATCH 04/11] Port away from deprecated QString::SplitBehavior
+
+---
+ src/signond/signonidentityinfo.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/signond/signonidentityinfo.cpp b/src/signond/signonidentityinfo.cpp
+index a5ae15d..bf7985f 100644
+--- a/src/signond/signonidentityinfo.cpp
++++ b/src/signond/signonidentityinfo.cpp
+@@ -27,6 +27,7 @@
+ #include <QDBusArgument>
+ #include <QDataStream>
+ #include <QDebug>
++#include <QtGlobal>
+
+ namespace SignonDaemonNS {
+
+@@ -104,7 +105,11 @@ bool SignonIdentityInfo::checkMethodAndMechanism(const QString &method,
+ * mechanisms is allowed.
+ */
+ QStringList mechanisms =
++#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
++ mechanism.split(QLatin1Char(' '), Qt::SkipEmptyParts);
++#else
+ mechanism.split(QLatin1Char(' '), QString::SkipEmptyParts);
++#endif
+
+ /* if the list is empty of it has only one element, then we already know
+ * that it didn't pass the previous checks */
+--
+2.43.0
+
diff --git a/net-libs/signond/files/0005-Port-away-from-QtContainer-toSet.patch b/net-libs/signond/files/0005-Port-away-from-QtContainer-toSet.patch
new file mode 100644
index 000000000000..94927fecaaa0
--- /dev/null
+++ b/net-libs/signond/files/0005-Port-away-from-QtContainer-toSet.patch
@@ -0,0 +1,94 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From 728bda378878e505ac6b7977306b6f3ffe9f53d6 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Tue, 5 Jul 2022 17:39:20 +0200
+Subject: [PATCH 05/11] Port away from QtContainer::toSet
+
+it's deprecated
+---
+ src/signond/signonsessioncore.cpp | 12 ++++++++++--
+ tests/signond-tests/databasetest.cpp | 24 +++++++++++++++++-------
+ 2 files changed, 27 insertions(+), 9 deletions(-)
+
+diff --git a/src/signond/signonsessioncore.cpp b/src/signond/signonsessioncore.cpp
+index 93a7328..bebf934 100644
+--- a/src/signond/signonsessioncore.cpp
++++ b/src/signond/signonsessioncore.cpp
+@@ -217,8 +217,16 @@ SignonSessionCore::queryAvailableMechanisms(const QStringList &wantedMechanisms)
+ if (!wantedMechanisms.size())
+ return m_plugin->mechanisms();
+
+- return m_plugin->mechanisms().toSet().
+- intersect(wantedMechanisms.toSet()).toList();
++ const QStringList mechanisms = m_plugin->mechanisms();
++#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
++ QSet<QString> mechanismSet(mechanisms.begin(), mechanisms.end());
++ QSet<QString> wantedMechanismSet(wantedMechanisms.begin(), wantedMechanisms.end());
++#else
++ QSet<QString> mechanismSet = mechanisms.toSet();
++ QSet<QString> wantedMechanismSet = wantedMechanisms.toSet();
++#endif
++
++ return mechanismSet.intersect(wantedMechanismSet).values();
+ }
+
+ void SignonSessionCore::process(const PeerContext &peerContext,
+diff --git a/tests/signond-tests/databasetest.cpp b/tests/signond-tests/databasetest.cpp
+index b5ee761..b22ba54 100644
+--- a/tests/signond-tests/databasetest.cpp
++++ b/tests/signond-tests/databasetest.cpp
+@@ -32,6 +32,15 @@
+ const QString dbFile = QLatin1String("/tmp/signon_test.db");
+ const QString secretsDbFile = QLatin1String("/tmp/signon_test_secrets.db");
+
++static QSet<QString> toSet(const QStringList &list)
++{
++#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
++ return QSet<QString>(list.begin(), list.end());
++#else
++ return list.toSet();
++#endif
++}
++
+ void TestDatabase::initTestCase()
+ {
+ QFile::remove(dbFile);
+@@ -353,17 +362,18 @@ void TestDatabase::updateCredentialsTest()
+
+ /* The sorting of the method's mechanisms might vary, so we cannot just
+ * compare the whole method map as a whole. */
+- QCOMPARE(retInfo.methods().keys().toSet(),
+- updateInfo.methods().keys().toSet());
++ QCOMPARE(toSet(retInfo.methods().keys()),
++ toSet(updateInfo.methods().keys()));
++
+ QMapIterator<QString, QStringList> it(retInfo.methods());
+ while (it.hasNext()) {
+ it.next();
+- QCOMPARE(it.value().toSet(), umethods.value(it.key()).toSet());
++ QCOMPARE(toSet(it.value()), toSet(umethods.value(it.key())));
+ }
+
+- QCOMPARE(retInfo.realms().toSet(), updateInfo.realms().toSet());
+- QCOMPARE(retInfo.accessControlList().toSet(),
+- updateInfo.accessControlList().toSet());
++ QCOMPARE(toSet(retInfo.realms()), toSet(updateInfo.realms()));
++ QCOMPARE(toSet(retInfo.accessControlList()),
++ toSet(updateInfo.accessControlList()));
+ }
+
+ void TestDatabase::removeCredentialsTest()
+@@ -658,8 +668,8 @@ void TestDatabase::credentialsOwnerSecurityTokenTest()
+ QString token = m_db->credentialsOwnerSecurityToken(id);
+ QCOMPARE(token, QLatin1String("AID::12345678"));
+ QStringList tokens = m_db->ownerList(id);
+- QCOMPARE(tokens.toSet(), testAcl.toSet());
+
++ QCOMPARE(toSet(tokens), toSet(testAcl));
+ }
+
+ QTEST_MAIN(TestDatabase)
+--
+2.43.0
+
diff --git a/net-libs/signond/files/0006-Port-away-from-deprecated-QMap-unite.patch b/net-libs/signond/files/0006-Port-away-from-deprecated-QMap-unite.patch
new file mode 100644
index 000000000000..b063361c243a
--- /dev/null
+++ b/net-libs/signond/files/0006-Port-away-from-deprecated-QMap-unite.patch
@@ -0,0 +1,53 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From b1e63bd07f4fcf1a47f142674889b157b4d68af8 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Mon, 1 Aug 2022 19:27:34 +0200
+Subject: [PATCH 06/11] Port away from deprecated QMap::unite
+
+---
+ src/signond/signonidentity.cpp | 3 +--
+ src/signond/signonsessioncoretools.cpp | 6 ++++++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/signond/signonidentity.cpp b/src/signond/signonidentity.cpp
+index 92ff476..aef4a97 100644
+--- a/src/signond/signonidentity.cpp
++++ b/src/signond/signonidentity.cpp
+@@ -288,8 +288,7 @@ void SignonIdentity::verifyUser(const QVariantMap &params,
+ }
+
+ //create ui request to ask password
+- QVariantMap uiRequest;
+- uiRequest.unite(params);
++ QVariantMap uiRequest = params;
+ uiRequest.insert(SSOUI_KEY_QUERYPASSWORD, true);
+ uiRequest.insert(SSOUI_KEY_USERNAME, info.userName());
+ uiRequest.insert(SSOUI_KEY_CAPTION, info.caption());
+diff --git a/src/signond/signonsessioncoretools.cpp b/src/signond/signonsessioncoretools.cpp
+index 8b74840..e856d1a 100644
+--- a/src/signond/signonsessioncoretools.cpp
++++ b/src/signond/signonsessioncoretools.cpp
+@@ -34,6 +34,7 @@ QVariantMap SignonDaemonNS::mergeVariantMaps(const QVariantMap &map1,
+ if (map1.isEmpty()) return map2;
+ if (map2.isEmpty()) return map1;
+
++#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
+ QVariantMap map = map1;
+ //map2 values will overwrite map1 values for the same keys.
+ QMapIterator<QString, QVariant> it(map2);
+@@ -43,6 +44,11 @@ QVariantMap SignonDaemonNS::mergeVariantMaps(const QVariantMap &map1,
+ map.remove(it.key());
+ }
+ return map.unite(map2);
++#else
++ QVariantMap map = map1;
++ map.insert(map2);
++ return map;
++#endif
+ }
+
+ /* --------------------- StoreOperation ---------------------- */
+--
+2.43.0
+
diff --git a/net-libs/signond/files/0007-Add-Qt6-CI.patch b/net-libs/signond/files/0007-Add-Qt6-CI.patch
new file mode 100644
index 000000000000..37891277d0de
--- /dev/null
+++ b/net-libs/signond/files/0007-Add-Qt6-CI.patch
@@ -0,0 +1,91 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From 10f791a62e229bcb5e3975c752bcd5519758240f Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Mon, 1 Aug 2022 19:37:41 +0200
+Subject: [PATCH 07/11] Add Qt6 CI
+
+---
+ .gitlab-ci.yml | 48 ++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 40 insertions(+), 8 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index 409f6e2..c784909 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -1,18 +1,14 @@
+-image: ubuntu:bionic
+-
+ cache:
+ key: apt-cache
+ paths:
+ - apt-cache/
+
+-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 qt5-default qtbase5-dev qtchooser pkg-config libqt5sql5-sqlite doxygen libdbus-1-dev
+- - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y dbus-test-runner libqtdbusmock1-dev libqtdbustest1-dev
+- - apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y lcov gcovr
+-
+ build_amd64:
+ stage: build
++ image: ubuntu:bionic
++ 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 qt5-default qtbase5-dev qtchooser pkg-config libqt5sql5-sqlite doxygen libdbus-1-dev
+ script:
+ - mkdir build
+ - cd build
+@@ -24,6 +20,10 @@ build_amd64:
+
+ test_amd64:
+ stage: test
++ image: ubuntu:bionic
++ 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 dbus-test-runner libqtdbusmock1-dev libqtdbustest1-dev lcov gcovr make qt5-qmake qt5-default qtbase5-dev qtchooser pkg-config libqt5sql5-sqlite doxygen libdbus-1-dev
+ script:
+ - find build | xargs touch # Avoid rebuilding
+ - cd build
+@@ -34,6 +34,38 @@ test_amd64:
+ paths:
+ - ./
+
++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
++ script:
++ - mkdir build
++ - cd build
++ - qmake6 CONFIG+=debug CONFIG+=coverage CONFIG+=enable-backup CONFIG+=enable-p2p ..
++ - make -j 4
++ 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
++ script:
++ - find build | xargs touch # Avoid rebuilding
++ - cd build
++ - make coverage-html
++ dependencies:
++ - build_amd64_qt6
++ artifacts:
++ paths:
++ - ./
++
+ pages:
+ stage: deploy
+ script:
+--
+2.43.0
+
diff --git a/net-libs/signond/files/0008-Use-return-instead-of-reference-for-DBus-output-para.patch b/net-libs/signond/files/0008-Use-return-instead-of-reference-for-DBus-output-para.patch
new file mode 100644
index 000000000000..38a92d1db289
--- /dev/null
+++ b/net-libs/signond/files/0008-Use-return-instead-of-reference-for-DBus-output-para.patch
@@ -0,0 +1,57 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From 929f34fb07e30e17fc6a6ec117207390675be03b Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Sat, 6 Aug 2022 15:46:16 +0200
+Subject: [PATCH 08/11] Use return instead of reference for DBus output
+ parameter
+
+From a DBus perspective it's the same but it seems to work better that way with Qt6
+---
+ src/signond/signondaemonadaptor.cpp | 7 ++++---
+ src/signond/signondaemonadaptor.h | 3 +--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/signond/signondaemonadaptor.cpp b/src/signond/signondaemonadaptor.cpp
+index a407175..0f01d34 100644
+--- a/src/signond/signondaemonadaptor.cpp
++++ b/src/signond/signondaemonadaptor.cpp
+@@ -63,17 +63,18 @@ SignonDaemonAdaptor::registerObject(const QDBusConnection &connection,
+ return QDBusObjectPath(path);
+ }
+
+-void SignonDaemonAdaptor::registerNewIdentity(const QString &applicationContext,
+- QDBusObjectPath &objectPath)
++QDBusObjectPath SignonDaemonAdaptor::registerNewIdentity(const QString &applicationContext)
+ {
+ Q_UNUSED(applicationContext);
+
+ SignonIdentity *identity = m_parent->registerNewIdentity();
+
+ QDBusConnection dbusConnection(parentDBusContext().connection());
+- objectPath = registerObject(dbusConnection, identity);
++ QDBusObjectPath objectPath = registerObject(dbusConnection, identity);
+
+ SignonDisposable::destroyUnused();
++
++ return objectPath;
+ }
+
+ void SignonDaemonAdaptor::securityErrorReply()
+diff --git a/src/signond/signondaemonadaptor.h b/src/signond/signondaemonadaptor.h
+index c51a6b8..639a135 100644
+--- a/src/signond/signondaemonadaptor.h
++++ b/src/signond/signondaemonadaptor.h
+@@ -49,8 +49,7 @@ public:
+ { return *static_cast<QDBusContext *>(m_parent); }
+
+ public Q_SLOTS:
+- void registerNewIdentity(const QString &applicationContext,
+- QDBusObjectPath &objectPath);
++ QDBusObjectPath registerNewIdentity(const QString &applicationContext);
+ void getIdentity(const quint32 id, const QString &applicationContext,
+ QDBusObjectPath &objectPath,
+ QVariantMap &identityData);
+--
+2.43.0
+
diff --git a/net-libs/signond/files/0009-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch b/net-libs/signond/files/0009-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch
new file mode 100644
index 000000000000..dd180898cd34
--- /dev/null
+++ b/net-libs/signond/files/0009-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch
@@ -0,0 +1,202 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From 9b439d09712fe31cbb9b3f30a6cbc75cbbc11d20 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Fri, 7 Apr 2023 16:10:31 +0200
+Subject: [PATCH 09/11] Adjust buildsystem to include correct Qt Major version
+ number
+
+---
+ common-project-config.pri | 4 ++--
+ lib/SignOn/SignOnQt5Config.cmake.in | 2 +-
+ lib/SignOn/SignOnQt6Config.cmake.in | 7 +++++++
+ lib/SignOn/SignOnQt6ConfigVersion.cmake.in | 10 ++++++++++
+ lib/SignOn/libsignon-qt.pri | 2 +-
+ lib/SignOn/libsignon-qt6.pc.in | 11 +++++++++++
+ .../signon-plugins-common/signon-plugins-common.pc.in | 2 +-
+ lib/plugins/signon-plugins.pc.in | 2 +-
+ lib/signond/SignOn/SignOnExtension.pc.in | 2 +-
+ tests/libsignon-qt-tests/libsignon-qt-tests.pro | 2 +-
+ tests/signond-tests/identity-tool.pro | 2 +-
+ .../mock-ac-plugin/identity-ac-helper.pro | 2 +-
+ tests/signond-tests/signond-tests.pri | 2 +-
+ 13 files changed, 39 insertions(+), 11 deletions(-)
+ create mode 100644 lib/SignOn/SignOnQt6Config.cmake.in
+ create mode 100644 lib/SignOn/SignOnQt6ConfigVersion.cmake.in
+ create mode 100644 lib/SignOn/libsignon-qt6.pc.in
+
+diff --git a/common-project-config.pri b/common-project-config.pri
+index abe6cf6..af5f425 100644
+--- a/common-project-config.pri
++++ b/common-project-config.pri
+@@ -29,8 +29,8 @@ DEFINES += DEBUG_ENABLED
+ DEFINES += NO_SIGNON_USER
+
+ # Library name for CMake and pkg-config
+-LIBSIGNON = libsignon-qt5
+-CMAKE_BASENAME = SignOnQt5
++LIBSIGNON = libsignon-qt$${QT_MAJOR_VERSION}
++CMAKE_BASENAME = SignOnQt$${QT_MAJOR_VERSION}
+
+ #-----------------------------------------------------------------------------
+ # setup the installation prefix
+diff --git a/lib/SignOn/SignOnQt5Config.cmake.in b/lib/SignOn/SignOnQt5Config.cmake.in
+index 523fffb..128ee8d 100644
+--- a/lib/SignOn/SignOnQt5Config.cmake.in
++++ b/lib/SignOn/SignOnQt5Config.cmake.in
+@@ -4,4 +4,4 @@
+
+ set(SIGNONQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
+ set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_LIBDIR}/lib$${TARGET}.a)
+-set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
+\ No newline at end of file
++set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
+diff --git a/lib/SignOn/SignOnQt6Config.cmake.in b/lib/SignOn/SignOnQt6Config.cmake.in
+new file mode 100644
+index 0000000..128ee8d
+--- /dev/null
++++ b/lib/SignOn/SignOnQt6Config.cmake.in
+@@ -0,0 +1,7 @@
++# SIGNONQT_INCLUDE_DIRS - The libsignon-qt include directories
++# SIGNONQT_LIBRARIES - The libraries needed to use libsignon-qt
++# SIGNONQT_LIBRARIES_STATIC - The static version of libsignon-qt
++
++set(SIGNONQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
++set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_LIBDIR}/lib$${TARGET}.a)
++set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
+diff --git a/lib/SignOn/SignOnQt6ConfigVersion.cmake.in b/lib/SignOn/SignOnQt6ConfigVersion.cmake.in
+new file mode 100644
+index 0000000..616cd60
+--- /dev/null
++++ b/lib/SignOn/SignOnQt6ConfigVersion.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/lib/SignOn/libsignon-qt.pri b/lib/SignOn/libsignon-qt.pri
+index 1458c50..a318fe8 100644
+--- a/lib/SignOn/libsignon-qt.pri
++++ b/lib/SignOn/libsignon-qt.pri
+@@ -2,7 +2,7 @@ include( ../../common-project-config.pri )
+ include( ../../common-vars.pri )
+ TEMPLATE = lib
+
+-TARGET = signon-qt5
++TARGET = signon-qt$${QT_MAJOR_VERSION}
+
+ # Input
+ public_headers += \
+diff --git a/lib/SignOn/libsignon-qt6.pc.in b/lib/SignOn/libsignon-qt6.pc.in
+new file mode 100644
+index 0000000..6a1bcb1
+--- /dev/null
++++ b/lib/SignOn/libsignon-qt6.pc.in
+@@ -0,0 +1,11 @@
++prefix=$$INSTALL_PREFIX
++exec_prefix=${prefix}
++libdir=$$INSTALL_LIBDIR
++includedir=${prefix}/include
++
++Name: libsignon-qt6
++Description: Client library for the Single Sign On daemon, Qt6 bindings.
++Version: $$PROJECT_VERSION
++Libs: -L${libdir} -lsignon-qt6
++Requires: Qt6Core
++Cflags: -I${includedir}/signon-qt6 -I${includedir}/signon-qt6/SignOn
+diff --git a/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in b/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
+index 3d7f3db..8cbc9d4 100644
+--- a/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
++++ b/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
+@@ -6,5 +6,5 @@ plugin_includedir=${includedir}/signon-plugins/SignOn
+ Name: signon-plugins-common
+ Description: SignonPluginsCommon
+ Version: $$PROJECT_VERSION
+-Libs.private: -L/usr/lib -lQt5Core
++Libs.private: -L/usr/lib -lQt$${QT_MAJOR_VERSION}Core
+ Cflags: -I${includedir}/signon-plugins -I${includedir}/signon-plugins/SignOn
+diff --git a/lib/plugins/signon-plugins.pc.in b/lib/plugins/signon-plugins.pc.in
+index 5be38df..8849e5a 100644
+--- a/lib/plugins/signon-plugins.pc.in
++++ b/lib/plugins/signon-plugins.pc.in
+@@ -8,6 +8,6 @@ Name: signon-plugins
+ Description: SignonPlugins
+ Version: $$PROJECT_VERSION
+ Requires: $${LIBSIGNON}
+-Libs.private: -L/usr/lib -lQt5Core
++Libs.private: -L/usr/lib -lQt$${QT_MAJOR_VERSION}Core
+ Cflags: -I${includedir}/signon-plugins -I${includedir}/signon-plugins/SignOn
+ Libs: -lsignon-plugins
+diff --git a/lib/signond/SignOn/SignOnExtension.pc.in b/lib/signond/SignOn/SignOnExtension.pc.in
+index e439284..ce7ad9c 100644
+--- a/lib/signond/SignOn/SignOnExtension.pc.in
++++ b/lib/signond/SignOn/SignOnExtension.pc.in
+@@ -7,6 +7,6 @@ plugindir=$$SIGNOND_EXTENSIONS_DIR
+ Name: SignOnExtension
+ Description: SignOn extension development
+ Version: $$PROJECT_VERSION
+-Requires: Qt5Core
++Requires: Qt$${QT_MAJOR_VERSION}Core
+ Libs: -L${libdir} -lsignon-extension
+ Cflags: -I${includedir}/signon-extension
+diff --git a/tests/libsignon-qt-tests/libsignon-qt-tests.pro b/tests/libsignon-qt-tests/libsignon-qt-tests.pro
+index 4dd6ce4..7e44272 100644
+--- a/tests/libsignon-qt-tests/libsignon-qt-tests.pro
++++ b/tests/libsignon-qt-tests/libsignon-qt-tests.pro
+@@ -10,7 +10,7 @@ QT += \
+ testlib
+ QT -= gui
+
+-LIBS *= -lsignon-qt5
++LIBS *= -lsignon-qt$${QT_MAJOR_VERSION}
+ QMAKE_LIBDIR += $${TOP_BUILD_DIR}/lib/SignOn
+ QMAKE_RPATHDIR = $${QMAKE_LIBDIR}
+
+diff --git a/tests/signond-tests/identity-tool.pro b/tests/signond-tests/identity-tool.pro
+index c90e046..3a99e9d 100644
+--- a/tests/signond-tests/identity-tool.pro
++++ b/tests/signond-tests/identity-tool.pro
+@@ -6,7 +6,7 @@ TARGET = identity-tool
+ QT += core
+ QT -= gui
+
+-LIBS += -lsignon-qt5
++LIBS += -lsignon-qt$${QT_MAJOR_VERSION}
+
+ QMAKE_LIBDIR += \
+ $${TOP_BUILD_DIR}/lib/signond/SignOn \
+diff --git a/tests/signond-tests/mock-ac-plugin/identity-ac-helper.pro b/tests/signond-tests/mock-ac-plugin/identity-ac-helper.pro
+index 2dac5ad..b78e691 100644
+--- a/tests/signond-tests/mock-ac-plugin/identity-ac-helper.pro
++++ b/tests/signond-tests/mock-ac-plugin/identity-ac-helper.pro
+@@ -6,7 +6,7 @@ TARGET = identity-ac-helper
+ QT += core
+ QT -= gui
+
+-LIBS += -lsignon-qt5
++LIBS += -lsignon-qt$${QT_MAJOR_VERSION}
+
+ QMAKE_LIBDIR += \
+ $${TOP_BUILD_DIR}/lib/signond/SignOn \
+diff --git a/tests/signond-tests/signond-tests.pri b/tests/signond-tests/signond-tests.pri
+index cbdfae3..74fa5b4 100644
+--- a/tests/signond-tests/signond-tests.pri
++++ b/tests/signond-tests/signond-tests.pri
+@@ -11,7 +11,7 @@ QT -= gui
+
+ LIBS += \
+ -lsignon-extension \
+- -lsignon-qt5
++ -lsignon-qt$${QT_MAJOR_VERSION}
+
+ QMAKE_LIBDIR += \
+ $${TOP_BUILD_DIR}/lib/signond/SignOn \
+--
+2.43.0
+
diff --git a/net-libs/signond/files/0010-Fix-plugin-datastream-in-Qt6.patch b/net-libs/signond/files/0010-Fix-plugin-datastream-in-Qt6.patch
new file mode 100644
index 000000000000..0cc5a3f31925
--- /dev/null
+++ b/net-libs/signond/files/0010-Fix-plugin-datastream-in-Qt6.patch
@@ -0,0 +1,33 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From f4e9e3b541027eb0a360d4e3de27ac48b67411eb Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Sun, 15 Oct 2023 17:14:47 +0200
+Subject: [PATCH 10/11] Fix plugin datastream in Qt6
+
+We send the size of the to-be-sent data to the datastream
+
+In Qt6 QByteArray::size() is 64 bit, but the other side reads it as int, breaking the communication
+
+Cast the size to int to avoid that
+---
+ lib/plugins/signon-plugins-common/SignOn/blobiohandler.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lib/plugins/signon-plugins-common/SignOn/blobiohandler.cpp b/lib/plugins/signon-plugins-common/SignOn/blobiohandler.cpp
+index d156659..fe35031 100644
+--- a/lib/plugins/signon-plugins-common/SignOn/blobiohandler.cpp
++++ b/lib/plugins/signon-plugins-common/SignOn/blobiohandler.cpp
+@@ -63,7 +63,8 @@ bool BlobIOHandler::sendData(const QVariantMap &map)
+
+ QDataStream stream(m_writeChannel);
+ QByteArray ba = variantMapToByteArray(map);
+- stream << ba.size();
++ // in Qt6 QByteArray::size() is 64 bit, but the receiving side expects int
++ stream << static_cast<int>(ba.size());
+
+ QVector<QByteArray> pages = pageByteArray(ba);
+ for (int i = 0; i < pages.count(); ++i)
+--
+2.43.0
+
diff --git a/net-libs/signond/files/0011-Port-away-from-deprecated-QProcess-signal.patch b/net-libs/signond/files/0011-Port-away-from-deprecated-QProcess-signal.patch
new file mode 100644
index 000000000000..d3948b55f29d
--- /dev/null
+++ b/net-libs/signond/files/0011-Port-away-from-deprecated-QProcess-signal.patch
@@ -0,0 +1,30 @@
+https://gitlab.com/accounts-sso/signond/-/merge_requests/36
+
+From c8ad98249af541514ff7a81634d3295e712f1a39 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Sun, 15 Oct 2023 17:15:00 +0200
+Subject: [PATCH 11/11] Port away from deprecated QProcess signal
+
+---
+ src/signond/pluginproxy.cpp | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/signond/pluginproxy.cpp b/src/signond/pluginproxy.cpp
+index 582aef4..2b9b28d 100644
+--- a/src/signond/pluginproxy.cpp
++++ b/src/signond/pluginproxy.cpp
+@@ -99,8 +99,9 @@ PluginProxy::PluginProxy(QString type, QObject *parent):
+ */
+ connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)),
+ this, SLOT(onExit(int, QProcess::ExitStatus)));
+- connect(m_process, SIGNAL(error(QProcess::ProcessError)),
+- this, SLOT(onError(QProcess::ProcessError)));
++
++ connect(m_process, &PluginProcess::errorOccurred,
++ this, &PluginProxy::onError);
+ }
+
+ PluginProxy::~PluginProxy()
+--
+2.43.0
+
diff --git a/net-libs/signond/files/signond-8.61-consistent-paths.patch b/net-libs/signond/files/signond-8.61-consistent-paths.patch
new file mode 100644
index 000000000000..16e0276a4e02
--- /dev/null
+++ b/net-libs/signond/files/signond-8.61-consistent-paths.patch
@@ -0,0 +1,288 @@
+From 62ce2305081075a53836999441214f03d37b50b5 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 28 Jun 2020 21:44:42 +0200
+Subject: [PATCH 3/3] Consistent overrideable install paths
+
+At least signon-plugins.pc and signon-plugins-common.pc were getting it wrong.
+
+This patch is converting absolute INSTALL_LIBDIR to LIBDIR relative beneath
+INSTALL_PREFIX.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ common-installs-config.pri | 2 +-
+ common-pkgconfig.pri | 2 +-
+ common-project-config.pri | 30 +++++++++----------
+ lib/SignOn/SignOnQt5Config.cmake.in | 6 ++--
+ lib/SignOn/SignOnQt6Config.cmake.in | 6 ++--
+ lib/SignOn/libsignon-qt.pc.in | 2 +-
+ lib/SignOn/libsignon-qt.pri | 2 +-
+ lib/SignOn/libsignon-qt5.pc.in | 2 +-
+ lib/SignOn/libsignon-qt6.pc.in | 2 +-
+ .../signon-plugins-common.pc.in | 4 +--
+ lib/plugins/signon-plugins.pc.in | 4 +--
+ lib/signond/SignOn/SignOnExtension.pc.in | 2 +-
+ lib/signond/signond.pc.in | 2 +-
+ src/extensions/cryptsetup/cryptsetup.pro | 2 +-
+ src/plugins/plugins.pri | 4 +--
+ 13 files changed, 32 insertions(+), 32 deletions(-)
+
+diff --git a/common-installs-config.pri b/common-installs-config.pri
+index 69c5ae8..b72477a 100644
+--- a/common-installs-config.pri
++++ b/common-installs-config.pri
+@@ -18,7 +18,7 @@ contains( TEMPLATE, app ) {
+ # default installation target for libraries
+ #-----------------------------------------------------------------------------
+ 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 606f70b..1185559 100644
+--- a/common-project-config.pri
++++ b/common-project-config.pri
+@@ -57,36 +57,36 @@ exists( meego-release ) {
+ ARCH = $$system(uname -m)
+ }
+
+-linux-g++-64|linux-icc-64: INSTALL_LIBDIR = $${INSTALL_PREFIX}/lib64
+-else: linux-g++-32|linux-icc-32: INSTALL_LIBDIR = $${INSTALL_PREFIX}/lib32
+-else: INSTALL_LIBDIR = $${INSTALL_PREFIX}/lib
++linux-g++-64|linux-icc-64: DEFAULT_LIBDIR = lib64
++else: linux-g++-32|linux-icc-32: DEFAULT_LIBDIR = lib32
++else: DEFAULT_LIBDIR = lib
+
+ # default library directory can be overriden by defining LIBDIR when
+ # running qmake
+ isEmpty( LIBDIR ) {
++ LIBDIR = $${DEFAULT_LIBDIR}
+ message("====")
+- message("==== NOTE: To override the library installation path run: `qmake LIBDIR=/custom/path'")
+- message("==== (current installation path is `$${INSTALL_LIBDIR}')")
++ message("==== NOTE: To override the library dir beneath INSTALL_PREFIX run: `qmake LIBDIR=customdir'")
++ message("==== (current library dir is `$${LIBDIR}`, install path `$${INSTALL_PREFIX}/$${LIBDIR}')")
+ } else {
+- INSTALL_LIBDIR = $${LIBDIR}
+ message("====")
+- message("==== library install path set to `$${INSTALL_LIBDIR}'")
++ message("==== library dir set to `$${LIBDIR}`, install path `$${INSTALL_PREFIX}/$${LIBDIR}'")
+ }
+
+-isEmpty ( CMAKE_CONFIG_PATH ) {
+- CMAKE_CONFIG_PATH = $${INSTALL_LIBDIR}/cmake/$${CMAKE_BASENAME}
++isEmpty ( CMAKE_MODULE_DIR ) {
++ CMAKE_MODULE_DIR = $${LIBDIR}/cmake/$${CMAKE_BASENAME}
+ 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}')")
++ message("==== NOTE: To override the cmake module dir beneath INSTALL_PREFIX run: `qmake CMAKE_MODULE_DIR=customdir'")
++ message("==== (current cmake module dir is `$${CMAKE_MODULE_DIR}`, install path `$${INSTALL_PREFIX}/$${CMAKE_MODULE_DIR}')")
+ } else {
+ message("====")
+- message("==== cmake module install path set to `$${CMAKE_CONFIG_PATH}'")
++ message("==== cmake module dir set to `$${CMAKE_MODULE_DIR}', install path `$${INSTALL_PREFIX}/$${CMAKE_MODULE_DIR}')")
+ }
+
+ # Default directory for signond extensions
+ _EXTENSIONS = $$(SIGNOND_EXTENSIONS_DIR)
+ isEmpty(_EXTENSIONS) {
+- SIGNOND_EXTENSIONS_DIR = $${INSTALL_LIBDIR}/signon/extensions
++ SIGNOND_EXTENSIONS_DIR = $${INSTALL_PREFIX}/$${LIBDIR}/signon/extensions
+ } else {
+ SIGNOND_EXTENSIONS_DIR = $$_EXTENSIONS
+ }
+@@ -94,7 +94,7 @@ SIGNOND_EXTENSIONS_DIR_QUOTED = \\\"$$SIGNOND_EXTENSIONS_DIR\\\"
+
+ _PLUGINS = $$(SIGNOND_PLUGINS_DIR)
+ isEmpty(_PLUGINS) {
+- SIGNOND_PLUGINS_DIR = $${INSTALL_LIBDIR}/signon
++ SIGNOND_PLUGINS_DIR = $${INSTALL_PREFIX}/$${LIBDIR}/signon
+ } else {
+ SIGNOND_PLUGINS_DIR = $$_PLUGINS
+ }
+@@ -102,7 +102,7 @@ SIGNOND_PLUGINS_DIR_QUOTED = \\\"$$SIGNOND_PLUGINS_DIR\\\"
+
+ # Note that you have to CONFIG+=install_tests in order to install tests
+ isEmpty(TESTDIR) {
+- INSTALL_TESTDIR = $${INSTALL_LIBDIR}/signon
++ INSTALL_TESTDIR = $${INSTALL_PREFIX}/$${LIBDIR}/signon
+ } else {
+ INSTALL_TESTDIR = $${TESTDIR}
+ }
+diff --git a/lib/SignOn/SignOnQt5Config.cmake.in b/lib/SignOn/SignOnQt5Config.cmake.in
+index 523fffb..7105315 100644
+--- a/lib/SignOn/SignOnQt5Config.cmake.in
++++ b/lib/SignOn/SignOnQt5Config.cmake.in
+@@ -2,6 +2,6 @@
+ # SIGNONQT_LIBRARIES - The libraries needed to use libsignon-qt
+ # SIGNONQT_LIBRARIES_STATIC - The static version of libsignon-qt
+
+-set(SIGNONQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
+-set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_LIBDIR}/lib$${TARGET}.a)
+-set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
++set(SIGNONQT_LIBRARIES $${INSTALL_PREFIX}/$${LIBDIR}/lib$${TARGET}.so)
++set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_PREFIX}/$${LIBDIR}/lib$${TARGET}.a)
++set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
+--- a/lib/SignOn/SignOnQt6Config.cmake.in
++++ b/lib/SignOn/SignOnQt6Config.cmake.in
+@@ -2,6 +2,6 @@
+ # SIGNONQT_LIBRARIES - The libraries needed to use libsignon-qt
+ # SIGNONQT_LIBRARIES_STATIC - The static version of libsignon-qt
+
+-set(SIGNONQT_LIBRARIES $${INSTALL_LIBDIR}/lib$${TARGET}.so)
+-set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_LIBDIR}/lib$${TARGET}.a)
++set(SIGNONQT_LIBRARIES $${INSTALL_PREFIX}/$${LIBDIR}/lib$${TARGET}.so)
++set(SIGNONQT_LIBRARIES_STATIC $${INSTALL_PREFIX}/$${LIBDIR}/lib$${TARGET}.a)
+ set(SIGNONQT_INCLUDE_DIRS $${INSTALL_PREFIX}/include/$${TARGET})
+
+diff --git a/lib/SignOn/libsignon-qt.pc.in b/lib/SignOn/libsignon-qt.pc.in
+index 26f0f5b..c614541 100644
+--- a/lib/SignOn/libsignon-qt.pc.in
++++ b/lib/SignOn/libsignon-qt.pc.in
+@@ -1,6 +1,6 @@
+ prefix=$$INSTALL_PREFIX
+ exec_prefix=${prefix}
+-libdir=$$INSTALL_LIBDIR
++libdir=${prefix}/$$LIBDIR
+ includedir=${prefix}/include
+
+ Name: libsignon-qt
+diff --git a/lib/SignOn/libsignon-qt.pri b/lib/SignOn/libsignon-qt.pri
+index 1458c50..d80f8bb 100644
+--- a/lib/SignOn/libsignon-qt.pri
++++ b/lib/SignOn/libsignon-qt.pri
+@@ -79,6 +79,6 @@ QMAKE_SUBSTITUTES += $${CMAKE_BASENAME}Config.cmake.in \
+ $${CMAKE_BASENAME}ConfigVersion.cmake.in
+ cmake_modules.files = $${CMAKE_BASENAME}Config.cmake \
+ $${CMAKE_BASENAME}ConfigVersion.cmake
+-cmake_modules.path = $${CMAKE_CONFIG_PATH}
++cmake_modules.path = $${INSTALL_PREFIX}/$${CMAKE_MODULE_DIR}
+
+ INSTALLS += cmake_modules
+diff --git a/lib/SignOn/libsignon-qt5.pc.in b/lib/SignOn/libsignon-qt5.pc.in
+index 2181359..5d98b6d 100644
+--- a/lib/SignOn/libsignon-qt5.pc.in
++++ b/lib/SignOn/libsignon-qt5.pc.in
+@@ -1,6 +1,6 @@
+ prefix=$$INSTALL_PREFIX
+ exec_prefix=${prefix}
+-libdir=$$INSTALL_LIBDIR
++libdir=${prefix}/$$LIBDIR
+ includedir=${prefix}/include
+
+ Name: libsignon-qt5
+--- a/lib/SignOn/libsignon-qt6.pc.in
++++ b/lib/SignOn/libsignon-qt6.pc.in
+@@ -1,6 +1,6 @@
+ prefix=$$INSTALL_PREFIX
+ exec_prefix=${prefix}
+-libdir=$$INSTALL_LIBDIR
++libdir=${prefix}/$$LIBDIR
+ includedir=${prefix}/include
+
+ Name: libsignon-qt6
+diff --git a/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in b/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
+index 3d7f3db..2240789 100644
+--- a/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
++++ b/lib/plugins/signon-plugins-common/signon-plugins-common.pc.in
+@@ -1,10 +1,10 @@
+ prefix=$$INSTALL_PREFIX
+ exec_prefix=${prefix}
+-libdir=$$INSTALL_LIBDIR
++libdir=${prefix}/$$LIBDIR
+ includedir=${prefix}/include
+ plugin_includedir=${includedir}/signon-plugins/SignOn
+ Name: signon-plugins-common
+ Description: SignonPluginsCommon
+ Version: $$PROJECT_VERSION
+-Libs.private: -L/usr/lib -lQt$${QT_MAJOR_VERSION}Core
++Libs.private: -L${libdir} -lQt$${QT_MAJOR_VERSION}Core
+ Cflags: -I${includedir}/signon-plugins -I${includedir}/signon-plugins/SignOn
+diff --git a/lib/plugins/signon-plugins.pc.in b/lib/plugins/signon-plugins.pc.in
+index 5be38df..2e3c087 100644
+--- a/lib/plugins/signon-plugins.pc.in
++++ b/lib/plugins/signon-plugins.pc.in
+@@ -1,6 +1,6 @@
+ prefix=$$INSTALL_PREFIX
+ exec_prefix=${prefix}
+-libdir=$$INSTALL_LIBDIR
++libdir=${prefix}/$$LIBDIR
+ includedir=${prefix}/include
+ plugin_includedir=${includedir}/signon-plugins/SignOn
+ plugindir=$$SIGNOND_PLUGINS_DIR
+@@ -8,6 +8,6 @@ Name: signon-plugins
+ Description: SignonPlugins
+ Version: $$PROJECT_VERSION
+ Requires: $${LIBSIGNON}
+-Libs.private: -L/usr/lib -lQt$${QT_MAJOR_VERSION}Core
++Libs.private: -L${libdir} -lQt$${QT_MAJOR_VERSION}Core
+ Cflags: -I${includedir}/signon-plugins -I${includedir}/signon-plugins/SignOn
+ Libs: -lsignon-plugins
+diff --git a/lib/signond/SignOn/SignOnExtension.pc.in b/lib/signond/SignOn/SignOnExtension.pc.in
+index e439284..8fc669c 100644
+--- a/lib/signond/SignOn/SignOnExtension.pc.in
++++ b/lib/signond/SignOn/SignOnExtension.pc.in
+@@ -1,6 +1,6 @@
+ prefix=$$INSTALL_PREFIX
+ exec_prefix=${prefix}
+-libdir=$$INSTALL_LIBDIR
++libdir=${prefix}/$$LIBDIR
+ includedir=${prefix}/include
+ plugindir=$$SIGNOND_EXTENSIONS_DIR
+
+diff --git a/lib/signond/signond.pc.in b/lib/signond/signond.pc.in
+index a7b5036..9ec0b1a 100644
+--- a/lib/signond/signond.pc.in
++++ b/lib/signond/signond.pc.in
+@@ -1,6 +1,6 @@
+ prefix=$$INSTALL_PREFIX
+ exec_prefix=${prefix}
+-libdir=$$INSTALL_LIBDIR
++libdir=${prefix}/$$LIBDIR
+ includedir=${prefix}/include
+
+ Name: signond-dev
+diff --git a/src/extensions/cryptsetup/cryptsetup.pro b/src/extensions/cryptsetup/cryptsetup.pro
+index f4b6e53..2657b47 100644
+--- a/src/extensions/cryptsetup/cryptsetup.pro
++++ b/src/extensions/cryptsetup/cryptsetup.pro
+@@ -41,6 +41,6 @@ LIBS += \
+
+ include( $${TOP_SRC_DIR}/common-installs-config.pri )
+
+-target.path = $${INSTALL_LIBDIR}/signon/extensions
++target.path = $${INSTALL_PREFIX}/$${LIBDIR}/signon/extensions
+ INSTALLS += target
+
+diff --git a/src/plugins/plugins.pri b/src/plugins/plugins.pri
+index 2c03e74..ea2fcb2 100644
+--- a/src/plugins/plugins.pri
++++ b/src/plugins/plugins.pri
+@@ -27,7 +27,7 @@ QMAKE_CXXFLAGS += -fno-exceptions \
+
+ headers.path = $${INSTALL_PREFIX}/include/signon-plugins
+
+-pkgconfig.path = $${INSTALL_LIBDIR}/pkgconfig
++pkgconfig.path = $${INSTALL_PREFIX}/$${LIBDIR}/pkgconfig
+
+-target.path = $${INSTALL_LIBDIR}/signon
++target.path = $${INSTALL_PREFIX}/$${LIBDIR}/signon
+ INSTALLS = target
+--
+2.27.0
diff --git a/net-libs/signond/metadata.xml b/net-libs/signond/metadata.xml
index 0f84f0aea6de..5fdf45f73ba9 100644
--- a/net-libs/signond/metadata.xml
+++ b/net-libs/signond/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:signond_project:signond</remote-id>
+ <remote-id type="gitlab">accounts-sso/signond</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-libs/signond/signond-8.61-r100.ebuild b/net-libs/signond/signond-8.61-r100.ebuild
new file mode 100644
index 000000000000..c647513e3bd4
--- /dev/null
+++ b/net-libs/signond/signond-8.61-r100.ebuild
@@ -0,0 +1,145 @@
+# 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/signond.git/"
+ EGIT_BRANCH="qt6"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.com/accounts-sso/${PN}/-/archive/VERSION_${PV}/${PN}-VERSION_${PV}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${PN}-VERSION_${PV}"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Signon daemon for libaccounts-glib"
+HOMEPAGE="https://gitlab.com/accounts-sso"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+# The qt5/qt6 situation is complicated: https://gitlab.com/accounts-sso/signon-plugin-oauth2/-/merge_requests/28#note_1689621252
+# 1) the library is coinstallable for qt5/qt6
+# 2) signond (the daemon) must be built for only one Qt version, matching the
+# Qt version of all consumer plugins.
+IUSE="doc +qt5 qt6 test"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+# tests are brittle; they all pass when stars align, bug 727666
+RESTRICT="test !test? ( test )"
+
+RDEPEND="
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtsql:5
+ )
+ qt6? ( dev-qt/qtbase:6[dbus,gui,network,sql] )
+ net-libs/libproxy
+"
+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-Don-t-forward-declare-QStringList.patch
+ "${FILESDIR}"/0002-Remove-usage-of-Q_EXTERN_C.patch
+ "${FILESDIR}"/0003-Port-from-QProcess-pid-to-processId.patch
+ "${FILESDIR}"/0004-Port-away-from-deprecated-QString-SplitBehavior.patch
+ "${FILESDIR}"/0005-Port-away-from-QtContainer-toSet.patch
+ "${FILESDIR}"/0006-Port-away-from-deprecated-QMap-unite.patch
+ "${FILESDIR}"/0007-Add-Qt6-CI.patch
+ "${FILESDIR}"/0008-Use-return-instead-of-reference-for-DBus-output-para.patch
+ "${FILESDIR}"/0009-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch
+ "${FILESDIR}"/0010-Fix-plugin-datastream-in-Qt6.patch
+ "${FILESDIR}"/0011-Port-away-from-deprecated-QProcess-signal.patch
+ "${FILESDIR}/${PN}-8.60-buildsystem.patch"
+ "${FILESDIR}/${PN}-8.60-unused-dep.patch" # bug 727346
+ "${FILESDIR}/${PN}-8.61-consistent-paths.patch" # bug 701142
+)
+
+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 "/QHG_LOCATION/s|qhelpgenerator|${qhelpgeneratorpath}/&|" \
+ -i {lib/plugins/,lib/SignOn/,}doc/doxy.conf || die
+
+ # install docs to correct location
+ sed -e "s|share/doc/\$\${PROJECT_NAME}|share/doc/${PF}|" \
+ -i doc/doc.pri || die
+ sed -e "/^documentation.path = /c\documentation.path = \$\${INSTALL_PREFIX}/share/doc/${PF}/\$\${TARGET}/" \
+ -i lib/plugins/doc/doc.pri || die
+ sed -e "/^documentation.path = /c\documentation.path = \$\${INSTALL_PREFIX}/share/doc/${PF}/libsignon-qt/" \
+ -i lib/SignOn/doc/doc.pri || die
+
+ use doc || sed -e "/include(\s*doc\/doc.pri\s*)/d" \
+ -i signon.pro lib/SignOn/SignOn.pro lib/plugins/plugins.pro || die
+
+ use test || sed -e '/^SUBDIRS/s/tests//' \
+ -i signon.pro || die "couldn't disable tests"
+
+ multibuild_copy_sources
+}
+
+src_configure() {
+ my_src_configure() {
+ cd "${BUILD_DIR}" || die
+
+ local myqmakeargs=(
+ PREFIX="${EPREFIX}"/usr
+ LIBDIR=$(get_libdir)
+ )
+
+ if [[ ${MULTIBUILD_VARIANT} == qt6 ]]; then
+ eqmake6 "${myqmakeargs[@]}"
+ else
+ eqmake5 "${myqmakeargs[@]}"
+ 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/profiles/package.mask b/profiles/package.mask
index 546cc8cbb3c6..f28642ec5444 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -410,6 +410,9 @@ dev-python/ruamel-std-pathlib
~media-libs/pulseaudio-qt-1.4.0
~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
+=net-libs/signond-8.61-r100
~sys-auth/polkit-qt-0.175.0
# Hans de Graaff <graaff@gentoo.org> (2023-12-17)
diff --git a/sys-apps/portage/portage-3.0.61-r1.ebuild b/sys-apps/portage/portage-3.0.61-r1.ebuild
index 36c0d5fdf384..5b395c27b844 100644
--- a/sys-apps/portage/portage-3.0.61-r1.ebuild
+++ b/sys-apps/portage/portage-3.0.61-r1.ebuild
@@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="GPL-2"