From 7d1e163dbbb7dae2463acf3a3480f22868895f06 Mon Sep 17 00:00:00 2001 From: Alfred Wingate Date: Sat, 9 Jul 2022 19:51:41 +0300 Subject: [PATCH] net-libs/libquotient: treeclean Signed-off-by: Alfred Wingate --- net-libs/libquotient/Manifest | 2 - .../files/libquotient-0.6.3-no-android.patch | 29 ------ .../files/libquotient-0.6.3-no-tests.patch | 42 --------- .../libquotient-0.6.3-use-after-free.patch | 92 ------------------- .../files/libquotient-0.6.4-no-android.patch | 29 ------ .../files/libquotient-0.6.4-no-tests.patch | 42 --------- net-libs/libquotient/libquotient-0.6.3.ebuild | 50 ---------- net-libs/libquotient/libquotient-0.6.4.ebuild | 47 ---------- net-libs/libquotient/metadata.xml | 14 --- 9 files changed, 347 deletions(-) delete mode 100644 net-libs/libquotient/Manifest delete mode 100644 net-libs/libquotient/files/libquotient-0.6.3-no-android.patch delete mode 100644 net-libs/libquotient/files/libquotient-0.6.3-no-tests.patch delete mode 100644 net-libs/libquotient/files/libquotient-0.6.3-use-after-free.patch delete mode 100644 net-libs/libquotient/files/libquotient-0.6.4-no-android.patch delete mode 100644 net-libs/libquotient/files/libquotient-0.6.4-no-tests.patch delete mode 100644 net-libs/libquotient/libquotient-0.6.3.ebuild delete mode 100644 net-libs/libquotient/libquotient-0.6.4.ebuild delete mode 100644 net-libs/libquotient/metadata.xml diff --git a/net-libs/libquotient/Manifest b/net-libs/libquotient/Manifest deleted file mode 100644 index eca3bed..0000000 --- a/net-libs/libquotient/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST libquotient-0.6.3.tar.gz 559142 BLAKE2B 77ba0583a90e9d29d44ce9a70909d6b51462a1f16dbc2e9d321eb9d638329af41fe7b0c4f7569e5d46f3a9c12d32b1ef0b926c5e285bc3ed9b70ba6d4dbe8024 SHA512 a81d88b00edc2af8ad9a6a297f1d65ef5d96fb305f503b46f29381df1bb007b42e44b207fb649316c38c977a5b03c93f884407dccdc48ab066af6b004dd9a9d6 -DIST libquotient-0.6.4.tar.gz 559830 BLAKE2B 23a2d5bed5a5bcd30ffa00465291f5670d187d44991fe424bce5a2ce1ffc9d4fc09b0cc1e44e7b2b2470f82f6a3bcf4be2d6d9185d2952761a9a94d6f4fae2ce SHA512 6f505a697b6bd123004faaaae4ea6788ed985dafd965c5768cc838be98d6b27f65d5fb04c02d41c6a9ca2ce622acbd49264a9a14a99a087126d2852a926184ce diff --git a/net-libs/libquotient/files/libquotient-0.6.3-no-android.patch b/net-libs/libquotient/files/libquotient-0.6.3-no-android.patch deleted file mode 100644 index 5541f4d..0000000 --- a/net-libs/libquotient/files/libquotient-0.6.3-no-android.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d82cb1f43cab7976e25c6e9ff3e4ae17789ee11c Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner -Date: Sun, 3 Jan 2021 15:18:01 +0100 -Subject: [PATCH] Install EXPORT_ANDROID_MK only if(ANDROID) - -Signed-off-by: Andreas Sturmlechner ---- - CMakeLists.txt | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2ee1cb4..eec27c8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -321,7 +321,10 @@ install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake" - DESTINATION ${ConfigFilesLocation} - ) --install(EXPORT_ANDROID_MK ${PROJECT_NAME}Targets DESTINATION share/ndk-modules) -+ -+if (ANDROID) -+ install(EXPORT_ANDROID_MK ${PROJECT_NAME}Targets DESTINATION share/ndk-modules) -+endif () - - if (WIN32) - install(FILES mime/packages/freedesktop.org.xml DESTINATION mime/packages) --- -2.30.0 - diff --git a/net-libs/libquotient/files/libquotient-0.6.3-no-tests.patch b/net-libs/libquotient/files/libquotient-0.6.3-no-tests.patch deleted file mode 100644 index fb884e1..0000000 --- a/net-libs/libquotient/files/libquotient-0.6.3-no-tests.patch +++ /dev/null @@ -1,42 +0,0 @@ -From ff972d181f0f9e7bfa327c71450d55f951de27c1 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner -Date: Sun, 3 Jan 2021 15:05:59 +0100 -Subject: [PATCH] Put Qt5Test dependency behind -DQuotient_INSTALL_TESTS - -Signed-off-by: Andreas Sturmlechner ---- - CMakeLists.txt | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2ee1cb4..2a0908d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -58,7 +58,7 @@ else() - endforeach () - endif() - --find_package(Qt5 5.9 REQUIRED Network Gui Multimedia Test) -+find_package(Qt5 5.9 REQUIRED Network Gui Multimedia) - get_filename_component(Qt5_Prefix "${Qt5_DIR}/../../../.." ABSOLUTE) - - if (${PROJECT_NAME}_ENABLE_E2EE) -@@ -280,9 +280,12 @@ if (${PROJECT_NAME}_ENABLE_E2EE) - endif() - target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Network Qt5::Gui Qt5::Multimedia) - --set(TEST_BINARY quotest) --add_executable(${TEST_BINARY} ${tests_SRCS}) --target_link_libraries(${TEST_BINARY} Qt5::Core Qt5::Test ${PROJECT_NAME}) -+if(${PROJECT_NAME}_INSTALL_TESTS) -+ find_package(Qt5Test) -+ set(TEST_BINARY quotest) -+ add_executable(${TEST_BINARY} ${tests_SRCS}) -+ target_link_libraries(${TEST_BINARY} Qt5::Core Qt5::Test ${PROJECT_NAME}) -+endif() - - configure_file(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY NEWLINE_STYLE UNIX) - --- -2.30.0 - diff --git a/net-libs/libquotient/files/libquotient-0.6.3-use-after-free.patch b/net-libs/libquotient/files/libquotient-0.6.3-use-after-free.patch deleted file mode 100644 index 12046a1..0000000 --- a/net-libs/libquotient/files/libquotient-0.6.3-use-after-free.patch +++ /dev/null @@ -1,92 +0,0 @@ -From f286ef4c5b3c71510d6ef15e8cc12cada84f3682 Mon Sep 17 00:00:00 2001 -From: Nicolas Fella -Date: Sun, 27 Dec 2020 21:24:06 +0100 -Subject: [PATCH] Fix use-after-free of QNetworkReply in BaseJob - -Usually QNetworkAccessManager expects the user to delete the replies, but when the QNetworkAccessManager itself is deleted it deletes all pending replies (https://code.woboq.org/qt5/qtbase/src/network/access/qnetworkaccessmanager.cpp.html#529). - -This can lead to use-after-free crashes when d->reply is accessed. By putting the reply into a QPointer the exiting if(d->reply) checks can work properly. - -(cherry picked from commit 9d854e778d8d6ef8e03e1ea74fe958675b24fd45) ---- - lib/jobs/basejob.cpp | 33 +++++++++++++++++++-------------- - 1 file changed, 19 insertions(+), 14 deletions(-) - -diff --git a/lib/jobs/basejob.cpp b/lib/jobs/basejob.cpp -index 3fa1cd94..2ac942f5 100644 ---- a/lib/jobs/basejob.cpp -+++ b/lib/jobs/basejob.cpp -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -76,15 +77,6 @@ QDebug BaseJob::Status::dumpToLog(QDebug dbg) const - return dbg << ": " << message; - } - --struct NetworkReplyDeleter : public QScopedPointerDeleteLater { -- static inline void cleanup(QNetworkReply* reply) -- { -- if (reply && reply->isRunning()) -- reply->abort(); -- QScopedPointerDeleteLater::cleanup(reply); -- } --}; -- - template - constexpr auto make_array(Ts&&... items) - { -@@ -112,6 +104,16 @@ class BaseJob::Private { - retryTimer.setSingleShot(true); - } - -+ ~Private() -+ { -+ if (reply) { -+ if (reply->isRunning()) { -+ reply->abort(); -+ } -+ delete reply; -+ } -+ } -+ - void sendRequest(); - /*! \brief Parse the response byte array into JSON - * -@@ -140,7 +142,10 @@ class BaseJob::Private { - - QByteArrayList expectedKeys; - -- QScopedPointer reply; -+ // When the QNetworkAccessManager is destroyed it destroys all pending replies. -+ // Using QPointer allows us to know when that happend. -+ QPointer reply; -+ - Status status = Unprepared; - QByteArray rawResponse; - /// Contains a null document in case of non-JSON body (for a successful -@@ -315,16 +320,16 @@ void BaseJob::Private::sendRequest() - - switch (verb) { - case HttpVerb::Get: -- reply.reset(connection->nam()->get(req)); -+ reply = connection->nam()->get(req); - break; - case HttpVerb::Post: -- reply.reset(connection->nam()->post(req, requestData.source())); -+ reply = connection->nam()->post(req, requestData.source()); - break; - case HttpVerb::Put: -- reply.reset(connection->nam()->put(req, requestData.source())); -+ reply = connection->nam()->put(req, requestData.source()); - break; - case HttpVerb::Delete: -- reply.reset(connection->nam()->sendCustomRequest(req, "DELETE", requestData.source())); -+ reply = connection->nam()->sendCustomRequest(req, "DELETE", requestData.source()); - break; - } - } diff --git a/net-libs/libquotient/files/libquotient-0.6.4-no-android.patch b/net-libs/libquotient/files/libquotient-0.6.4-no-android.patch deleted file mode 100644 index 5541f4d..0000000 --- a/net-libs/libquotient/files/libquotient-0.6.4-no-android.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d82cb1f43cab7976e25c6e9ff3e4ae17789ee11c Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner -Date: Sun, 3 Jan 2021 15:18:01 +0100 -Subject: [PATCH] Install EXPORT_ANDROID_MK only if(ANDROID) - -Signed-off-by: Andreas Sturmlechner ---- - CMakeLists.txt | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2ee1cb4..eec27c8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -321,7 +321,10 @@ install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake" - DESTINATION ${ConfigFilesLocation} - ) --install(EXPORT_ANDROID_MK ${PROJECT_NAME}Targets DESTINATION share/ndk-modules) -+ -+if (ANDROID) -+ install(EXPORT_ANDROID_MK ${PROJECT_NAME}Targets DESTINATION share/ndk-modules) -+endif () - - if (WIN32) - install(FILES mime/packages/freedesktop.org.xml DESTINATION mime/packages) --- -2.30.0 - diff --git a/net-libs/libquotient/files/libquotient-0.6.4-no-tests.patch b/net-libs/libquotient/files/libquotient-0.6.4-no-tests.patch deleted file mode 100644 index fb884e1..0000000 --- a/net-libs/libquotient/files/libquotient-0.6.4-no-tests.patch +++ /dev/null @@ -1,42 +0,0 @@ -From ff972d181f0f9e7bfa327c71450d55f951de27c1 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner -Date: Sun, 3 Jan 2021 15:05:59 +0100 -Subject: [PATCH] Put Qt5Test dependency behind -DQuotient_INSTALL_TESTS - -Signed-off-by: Andreas Sturmlechner ---- - CMakeLists.txt | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2ee1cb4..2a0908d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -58,7 +58,7 @@ else() - endforeach () - endif() - --find_package(Qt5 5.9 REQUIRED Network Gui Multimedia Test) -+find_package(Qt5 5.9 REQUIRED Network Gui Multimedia) - get_filename_component(Qt5_Prefix "${Qt5_DIR}/../../../.." ABSOLUTE) - - if (${PROJECT_NAME}_ENABLE_E2EE) -@@ -280,9 +280,12 @@ if (${PROJECT_NAME}_ENABLE_E2EE) - endif() - target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Network Qt5::Gui Qt5::Multimedia) - --set(TEST_BINARY quotest) --add_executable(${TEST_BINARY} ${tests_SRCS}) --target_link_libraries(${TEST_BINARY} Qt5::Core Qt5::Test ${PROJECT_NAME}) -+if(${PROJECT_NAME}_INSTALL_TESTS) -+ find_package(Qt5Test) -+ set(TEST_BINARY quotest) -+ add_executable(${TEST_BINARY} ${tests_SRCS}) -+ target_link_libraries(${TEST_BINARY} Qt5::Core Qt5::Test ${PROJECT_NAME}) -+endif() - - configure_file(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY NEWLINE_STYLE UNIX) - --- -2.30.0 - diff --git a/net-libs/libquotient/libquotient-0.6.3.ebuild b/net-libs/libquotient/libquotient-0.6.3.ebuild deleted file mode 100644 index f3c2097..0000000 --- a/net-libs/libquotient/libquotient-0.6.3.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake - -DESCRIPTION="A Qt5 library to write cross-platform clients for Matrix" -HOMEPAGE="https://matrix.org/docs/projects/sdk/quotient" - -if [[ ${PV} == "9999" ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/quotient-im/"${PN}".git" -else - SRC_URI="https://github.com/quotient-im/libQuotient/archive/"${PV}".tar.gz -> "${P}".tar.gz" - KEYWORDS="~amd64" - S="${WORKDIR}/libQuotient-${PV}" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="e2e" - -DEPEND=" - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtmultimedia:5 - dev-qt/qtnetwork:5 - dev-qt/qttest:5 - e2e? ( dev-libs/libQtOlm ) -" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/${P}-use-after-free.patch # 0.6.x branch - # downstream patches - "${FILESDIR}"/${P}-no-android.patch - "${FILESDIR}"/${P}-no-tests.patch -) - -src_configure() { - local mycmakeargs=( - -DBUILD_SHARED_LIBS=ON - -DQuotient_ENABLE_E2EE=$(usex e2e) - -DUSE_INTREE_LIBQOLM=OFF - -DQuotient_INSTALL_TESTS=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON - ) - cmake_src_configure -} diff --git a/net-libs/libquotient/libquotient-0.6.4.ebuild b/net-libs/libquotient/libquotient-0.6.4.ebuild deleted file mode 100644 index 858c031..0000000 --- a/net-libs/libquotient/libquotient-0.6.4.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake - -DESCRIPTION="A Qt5 library to write cross-platform clients for Matrix" -HOMEPAGE="https://matrix.org/docs/projects/sdk/quotient" - -if [[ ${PV} == "9999" ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/quotient-im/"${PN}".git" -else - SRC_URI="https://github.com/quotient-im/libQuotient/archive/"${PV}".tar.gz -> "${P}".tar.gz" - KEYWORDS="~amd64" - S="${WORKDIR}/libQuotient-${PV}" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="e2e" - -DEPEND=" - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtmultimedia:5 - dev-qt/qtnetwork:5 - e2e? ( dev-libs/libQtOlm ) -" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/${P}-no-android.patch - "${FILESDIR}"/${P}-no-tests.patch -) - -src_configure() { - local mycmakeargs=( - -DBUILD_SHARED_LIBS=ON - -DQuotient_ENABLE_E2EE=$(usex e2e) - -DUSE_INTREE_LIBQOLM=OFF - -DQuotient_INSTALL_TESTS=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON - ) - cmake_src_configure -} diff --git a/net-libs/libquotient/metadata.xml b/net-libs/libquotient/metadata.xml deleted file mode 100644 index 2927734..0000000 --- a/net-libs/libquotient/metadata.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - -hedmoo@yahoo.com -Andreas Westman Dorcsak - - - quotient-im/libQuotient - - - Build with e2e encryption support - -