aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2023-12-07 22:39:59 +0100
committerSam James <sam@gentoo.org>2023-12-17 12:04:13 +0000
commit77a694c68a78037c636f476d4781aaa0e0dea902 (patch)
tree5022f49fe42d54121be6776d169c03de6e8700bc /net-libs
parentmedia-sound/amarok: Cleanup metadata.xml (diff)
downloadkde-77a694c68a78037c636f476d4781aaa0e0dea902.tar.gz
kde-77a694c68a78037c636f476d4781aaa0e0dea902.tar.bz2
kde-77a694c68a78037c636f476d4781aaa0e0dea902.zip
net-libs/signond: add 9999 w/ IUSE qt5,qt6 [WIP]
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/signond/files/signond-8.60-buildsystem.patch39
-rw-r--r--net-libs/signond/files/signond-8.60-unused-dep.patch38
-rw-r--r--net-libs/signond/files/signond-8.61-consistent-paths.patch288
-rw-r--r--net-libs/signond/metadata.xml12
-rw-r--r--net-libs/signond/signond-9999.ebuild118
5 files changed, 495 insertions, 0 deletions
diff --git a/net-libs/signond/files/signond-8.60-buildsystem.patch b/net-libs/signond/files/signond-8.60-buildsystem.patch
new file mode 100644
index 0000000000..a38f845884
--- /dev/null
+++ b/net-libs/signond/files/signond-8.60-buildsystem.patch
@@ -0,0 +1,39 @@
+From 32e001d760dc1a7f884d7dc3a6e6883bd76e2f55 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 28 Jun 2020 21:37:30 +0200
+Subject: [PATCH 1/3] Fix buildsystem
+
+- Disable examples
+- Disable static lib
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ lib/SignOn/SignOn.pro | 4 +---
+ src/plugins/plugins.pro | 1 -
+ 2 files changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/lib/SignOn/SignOn.pro b/lib/SignOn/SignOn.pro
+index f6a1d61..28af041 100644
+--- a/lib/SignOn/SignOn.pro
++++ b/lib/SignOn/SignOn.pro
+@@ -1,7 +1,5 @@
+ TEMPLATE = subdirs
+ CONFIG += ordered
+-SUBDIRS = \
+- libsignon-qt-shared.pro \
+- libsignon-qt-static.pro
++SUBDIRS = libsignon-qt-shared.pro
+
+ include(doc/doc.pri)
+diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
+index dfccc4a..ca1c1ae 100644
+--- a/src/plugins/plugins.pro
++++ b/src/plugins/plugins.pro
+@@ -1,4 +1,3 @@
+ TEMPLATE = subdirs
+ SUBDIRS = password \
+- example \
+ test
+--
+2.27.0
+
diff --git a/net-libs/signond/files/signond-8.60-unused-dep.patch b/net-libs/signond/files/signond-8.60-unused-dep.patch
new file mode 100644
index 0000000000..54b5ce26f4
--- /dev/null
+++ b/net-libs/signond/files/signond-8.60-unused-dep.patch
@@ -0,0 +1,38 @@
+From 5814507706210031432a4ff727231bb1082576d5 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 28 Jun 2020 21:43:09 +0200
+Subject: [PATCH 2/3] Drop unused Qt5Xml dependency
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ src/signond/signond.pro | 1 -
+ tests/signond-tests/signond-tests.pri | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/src/signond/signond.pro b/src/signond/signond.pro
+index 60ee5e7..211dab6 100644
+--- a/src/signond/signond.pro
++++ b/src/signond/signond.pro
+@@ -4,7 +4,6 @@ TEMPLATE = app
+ TARGET = signond
+ QT += core \
+ sql \
+- xml \
+ network \
+ dbus
+
+diff --git a/tests/signond-tests/signond-tests.pri b/tests/signond-tests/signond-tests.pri
+index 1bbd5a1..950baaa 100644
+--- a/tests/signond-tests/signond-tests.pri
++++ b/tests/signond-tests/signond-tests.pri
+@@ -6,7 +6,6 @@ CONFIG += \
+ QT += core \
+ sql \
+ testlib \
+- xml \
+ network \
+ dbus
+
+--
+2.27.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 0000000000..16e0276a4e
--- /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
new file mode 100644
index 0000000000..5fdf45f73b
--- /dev/null
+++ b/net-libs/signond/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </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-9999.ebuild b/net-libs/signond/signond-9999.ebuild
new file mode 100644
index 0000000000..5982a22663
--- /dev/null
+++ b/net-libs/signond/signond-9999.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2023 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.gz -> ${P}.tar.gz"
+ 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"
+IUSE="doc +qt5 qt6 test"
+
+# 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 )
+ qt6? ( dev-qt/qtbase:6[test] )
+ )
+"
+BDEPEND="
+ doc? (
+ app-doc/doxygen[dot]
+ || (
+ dev-qt/qttools:6[assistant]
+ dev-qt/qthelp:5
+ )
+ )
+"
+
+PATCHES=(
+ "${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"
+}
+
+src_configure() {
+ my_src_configure() {
+ 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() {
+ multibuild_foreach_variant default
+}
+
+src_install() {
+ multibuild_foreach_variant emake INSTALL_ROOT="${D}" install
+}