diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-01-12 19:10:40 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-01-12 19:10:40 +0000 |
commit | 4fc30e4e13ecfbe29fbef3b5caf96218eab30b68 (patch) | |
tree | 76daccda237a1d7020464e1de2c699391c86cf92 /net-libs/signond | |
parent | 4c4e8e9bf6d1ef49be600d77fcbbd7be716aece7 (diff) |
gentoo auto-resync : 12:01:2024 - 19:10:40
Diffstat (limited to 'net-libs/signond')
16 files changed, 1145 insertions, 4 deletions
diff --git a/net-libs/signond/Manifest b/net-libs/signond/Manifest index 3cc137862204..52e41685b128 100644 --- a/net-libs/signond/Manifest +++ b/net-libs/signond/Manifest @@ -1,6 +1,20 @@ +AUX 0001-Don-t-forward-declare-QStringList.patch 922 BLAKE2B 5b9f98a56b486687d412e019cd5fe571ec8dc7957026c425b8bc110d610004e6ef425423a9b59b318e2c0c0e3d51c3f3dbd7677d23effa02afcf33d7252a5c80 SHA512 8d7e96e6d6932bdf79ea06257065ad78ad62fdea00d920a83477667355e7e337f9bb2e69e7a224891da43db7a29a00b778aecb6b73a30188463e3dcdf61b67de +AUX 0002-Remove-usage-of-Q_EXTERN_C.patch 881 BLAKE2B 19dcd03bec6fee196ef95a0ed917bda4cdd455c46182ef94427676b6750534e1645c592531a52cf6377ebe2a69b8cf7f0ae74f99f203f315b7e5a0d1f793592b SHA512 b87bf6dec65dce1abf6bac356eb054d1e86299c52ab41e34793ba6d854d1e813012f2b761064aa5865c6386ff4ef32158120007f263a82349c63e38223682ad3 +AUX 0003-Port-from-QProcess-pid-to-processId.patch 1252 BLAKE2B 710e6c36c5ffe0d937c70e4279bca0f97850e7bdd984c581811bfe79ebc004eb5bb3aa8653c24d9e6575c5f278213cdd87c95461cd74b2038c0e9b7e2578ba1d SHA512 3512cecd02c40e214390ade363415ed7a7980391192a2666f054053568c115a138efdef3507cf80bd6ec500e6602a1d58b143168f741aeeafb105b995931f212 +AUX 0004-Port-away-from-deprecated-QString-SplitBehavior.patch 1206 BLAKE2B f1353bdb77bb1203651afc41f1412814fc0ac8f5019d062bea47133f260d9f1797de20b0d0b7bed0b545a6f10d313946893dbedeba39ac1db6d4e6c202bdcbf0 SHA512 83bbe883375322b07227e8ecd0a46dfc8904504663a36f7e95ad15bae41cdf653cebd5c71cfcc8bc75ada6ea6cc6643a9ca38628f5e50b05fd07f97c3c675e92 +AUX 0005-Port-away-from-QtContainer-toSet.patch 3541 BLAKE2B 4d3e9e448c8d5641cbb5291ec9fa41776bb28ad686604f2f22a81c4063c022c9e6d87ecda319fe5f650cd2e8112fa798ae18c6d53eda854ecececb07f1041c19 SHA512 f6d6b1e694d2a022915cb1eb944b4f1f6bbb81a3555e460c16c9e406dbd33e16ffe6d0640edb5e0d0f8139762b256443d8f12a98481a63ed74df50d2e8a96fc8 +AUX 0006-Port-away-from-deprecated-QMap-unite.patch 1898 BLAKE2B 73f5a5c7402d8086c7d62f6d6d57d23a953c14f43929d02165b0ea332756cf2c372449cdf0647622b07916c697185525bb0a8d93eacf6046f86573eb9a5a3ebd SHA512 e5282891209715c903417769dcff3e4d73d22c9c6019365d8d3e5f77f93331aa1a342d240e26e21898f7ba59cb211a0dec6dd45f5fa801886daa30cb3c4d4848 +AUX 0007-Add-Qt6-CI.patch 3165 BLAKE2B cea7b292791a0b6c2144c7384770e3c57e5f5e6284a98f5e24d7ea8e0b10a7c7166239d4ba3974d9f880da8012fd46f6b551bbdda494078efe6363c79a29e894 SHA512 3f12fe5295c89535da57ff7ab74cc5afa394370a11e3898b5a4913656027937243b58d5439f1ab177bca0977f55f7b6e873c7122892174a71235ab208d3b8c84 +AUX 0008-Use-return-instead-of-reference-for-DBus-output-para.patch 2234 BLAKE2B 99dc90bf2ef45e744c9208a1655dd76a42255572d560b55be34fc809ec4635484611a5910b4f735b0a500e3ee317d43724db6f2b441c0a18c4c4a61d3508d6fa SHA512 659e8d0d660f42fb165644eb8a507dbc7e18a2ac6c78c538b446530641eacfdf1f0999b251277179e4bbec2887c85b29c8721d1b4e7d36a7d350b197991aeb71 +AUX 0009-Adjust-buildsystem-to-include-correct-Qt-Major-versi.patch 8052 BLAKE2B c78f4a2ce0db9ba6e57c70c0c23af2debf1b892af40d71f128fc55820cd234bb2aafb61a7f9c93becc6e60d10c6ac723706f13e13d7275b0717fd52153be9baf SHA512 06e68df7689d7ce98672e5166e033633934a68eb126f93f0c0b3f7b58cd198a8afafe5a67719f1f0c26be1115b65db045c9338dc2b36890aad46ea9d66a5e883 +AUX 0010-Fix-plugin-datastream-in-Qt6.patch 1299 BLAKE2B 5262c989f40bb5c1a518cbb91eb361d54461c5441d81cdda000af69504c1c508f432668fa2fa8ab6e573f992bfabac6df2f0c04758b1be8ab572cbcb81c0ba6d SHA512 a90e5ef3b6b947efbd321f917c96d4318bbd191f53fff3fe15434b5140e7eb23170e321e7362c8f7ecfbbab409d69adaee1fe0c856298716a48e273a836e7c2f +AUX 0011-Port-away-from-deprecated-QProcess-signal.patch 1023 BLAKE2B 0452a1e31bb9d6178c208360a9c52435ccaa37a4309ca250d074c26b40a14f9e52f9c4419f9f4398232bc39f5dfcef9e20674f8a18dec599307ccda244ca1382 SHA512 317cfec1071f8ed693f308a1139b73b2da244a037e6380d9268436c61f7c3dd7dd3c7bacec73e11a8e9dcaab76efd00af4f2c25127708a2191c87f014574ec86 AUX signond-8.60-buildsystem.patch 1004 BLAKE2B 6a9ae7cc9c2750ffb5eb6495dc47c2118bb7d7babf8f253f168be73cf03934d00a875c99048b1985716d7c1f2ac3a2543bd988939e76631aff8e852a464b4589 SHA512 73ac6551d9c1bb37e331baad427d3770a913ab52833f3112f825a5a28647752f925a40c12bf72a79c0c9b93aacbaca5f357a21a48eae4f1f24341cfeb1ce5b57 AUX signond-8.60-consistent-paths.patch 10627 BLAKE2B 853cc9816469c0b47c8ecab941c1ade09aa2567a6cbe99012da42d479d35d304eeb869700e4fc9f0623191735c1e445aa2046b904ef151cbc048dda00e3c7cd4 SHA512 3c285e57843d458fb30e21f607dc7edf3009d7bcf68c2641188b1ded4cd44d589541b754803a687adf92b2de11417bf3411c0cf2bfdcd6c7375e32bc1948edfe AUX signond-8.60-unused-dep.patch 984 BLAKE2B 67ec450053f294eec1be87411ab11dd14d3e6c9895a794b0aa6f08a433763f2aa246908bf8c8345639b98cf5be3a06670dfc200a238ce9582e37e186f88759c0 SHA512 b54a59c580436dfac3e469dd733557ddd1857f78fb992693f19c58683baed99e91193ca5c62cda9e974b7db48791c46156427a1c0043a24ec03c4594018fe697 +AUX signond-8.61-consistent-paths.patch 11609 BLAKE2B 2ad71837dfd949b79b7a5e9501567027b552860be43d94176c19df7a551835e4f5cd00c7661ace881416a38faa61f6aa09c1dfff7ab1b56a063445c701fbf930 SHA512 7869361c25766fbbb2973cae38251c85d19a15fb0bb7c1c5d578c792c50e7b16006ecff889fb6a47d5c7ef9ebbaa2ec029859373e1ddbf19456ad4f56c77f839 +DIST signond-8.61.tar.bz2 203066 BLAKE2B 2f78e08143d346777ab3517ef6b76b54ab1b17efa6d15b2c5a16487c2e11f38c88cb2820bff8dd04deb334d0c178c16bd061c0eba694c5edfb0e31411581648a SHA512 95e83bc672792ec10493f1f456788af7e8051ce0bed6b047b6b6f5fa9ac019dd3392063152930be49cf68d590567fd7467c544d642cc58624b1aabdc0b405258 DIST signond-8.61.tar.gz 282965 BLAKE2B 8ab8f4ac3f8416ef9c1b8d8c73057ffcf0024a7e3cf6c2fa97a3119826f6c655b215e2530137c199e60e9e9518b0858fa1a23a3f107c71751f33d2a34898a610 SHA512 1652ee8e97d6aee036075f5416909649c5848e33c3c71f367176f3e5d6f9c360fd7a46c65ba877d58b3ae8fb8df0712938c5e073409ba945d66d8afeacfd6f72 -EBUILD signond-8.61.ebuild 1879 BLAKE2B ce22fc81dc02ecba686e0f8ebc488db1ea4902726f152e61ff3cc0c4b5b40a87779c87d33d004eedfc88303835129d2890497ad29be2bbadfe3ebebb07d3d22c SHA512 2f4ccfab279d57f209abb6747b85134c366a5a3e18fc8c627e3309f2dacd383fc55e6cd1df14214403532eba808dbb3b19a7040ef0d758f2da81ba1536bc36b0 -MISC metadata.xml 342 BLAKE2B 36843bfd50bb1f3e09556d60159cf3a352e8a7df8ae175c0c09f54a7e6f9256c31a2eb55b888eda8fddab8cf2052dec969be1cf521faf38c833d61b365d35957 SHA512 0f85a1d8b631a35b0a545f89d767c8c84407f2d0fe3f0350fb7276752e0fc268ffff559d705a415f7375112c6873a4a7d99acaea9d7b725233bcd9360adbc8b7 +EBUILD signond-8.61-r100.ebuild 4028 BLAKE2B bfbd9d1c6080f3146a29a8c6d112cb158ba8d672f065edda28670ba47f3a48a2ece84a146bec12eb730e0eefe61443c45eeb6151e08f9ce80ded514122e95382 SHA512 d9aeefea474c6f2d891224a4e12d5c6431c6de49150ee6c77fb59d789e78d7a32c09ec526cbcb387e6d1b45db3bba07ded0ce7489bcf1d495a2ab8b5e40dfc96 +EBUILD signond-8.61.ebuild 1880 BLAKE2B bfa2e3f0a9fae3aab6bd9411bb7b538178015ac0f6ed0f3a51f6167bb5ce5bc77297b17f35a04a07d19201a71452253862010fb55236e05a7354ca3f8deda4d6 SHA512 97e4fa0fe413f1555e503840ecc141ef3abd1e1352bdd0413471a831edd362cdd1ce1fc83fd8226b61ad8d30e99093e25cc91c310e6c95f0f57272a92c17f2c6 +MISC metadata.xml 402 BLAKE2B cbca0310ab027fc70e2c6f3c4fc84a4de8847d4899ed19e848796279c0b03b9ffcc59269487def4b3e6298adfb095a9cf3417a1c7bf083efa30a8894ecfa858f SHA512 1831ad67394a82c3839fb80196982f3252e2bc9c7cf116c782d731a7d315e97cc2e6a299e951f73f92d2a4598a33c7251d8a68c47102c6186344b61486a72515 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 ¶ms, + } + + //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..3a6494c050a6 --- /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-text/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/net-libs/signond/signond-8.61.ebuild b/net-libs/signond/signond-8.61.ebuild index ced161610711..e1079e2ed2f8 100644 --- a/net-libs/signond/signond-8.61.ebuild +++ b/net-libs/signond/signond-8.61.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 @@ -31,7 +31,7 @@ DEPEND="${RDEPEND} " BDEPEND=" doc? ( - app-doc/doxygen[dot] + app-text/doxygen[dot] dev-qt/qthelp:5 ) " |