summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2023-12-07 10:35:39 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2023-12-07 20:32:28 +0100
commitdd11df76eced11c58a800052a3ae633d833df329 (patch)
tree5b4e364c0cfa0769d91f5ba69518eb93f2238cd0
parentafdc377389f60066687f5049e16561b5ec8f68ae (diff)
downloadkde-dd11df76eced11c58a800052a3ae633d833df329.tar.gz
kde-dd11df76eced11c58a800052a3ae633d833df329.tar.bz2
kde-dd11df76eced11c58a800052a3ae633d833df329.zip
net-libs/libquotient: Add IUSE=qt5,qt6
Closes: https://bugs.gentoo.org/914289 Thanks-to: Anton <anton.stay.connected@gmail.com> Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
-rw-r--r--net-libs/libquotient/Manifest1
-rw-r--r--net-libs/libquotient/files/libquotient-0.8.0-no-android.patch29
-rw-r--r--net-libs/libquotient/files/libquotient-0.8.0-no-tests.patch34
-rw-r--r--net-libs/libquotient/libquotient-0.8.1.2-r1.ebuild96
-rw-r--r--net-libs/libquotient/metadata.xml11
5 files changed, 171 insertions, 0 deletions
diff --git a/net-libs/libquotient/Manifest b/net-libs/libquotient/Manifest
new file mode 100644
index 00000000000..d9f576ea604
--- /dev/null
+++ b/net-libs/libquotient/Manifest
@@ -0,0 +1 @@
+DIST libquotient-0.8.1.2.tar.gz 730435 BLAKE2B 7c43bc394d46ddb600c683d771add48f9a20d205ce61796b27a34933521e38be2b3b331263ffc6bb00fd1197a195b295e3311d52d8d74cdfe51453954cb79ae1 SHA512 ff11f1e9093004461425179fcab630237bf1d28f6e5abe6486d657b455b560884047715fccff5b31f26275ffd423df787014aaac35c556eddb1842e8e68841ce
diff --git a/net-libs/libquotient/files/libquotient-0.8.0-no-android.patch b/net-libs/libquotient/files/libquotient-0.8.0-no-android.patch
new file mode 100644
index 00000000000..5b2e3412322
--- /dev/null
+++ b/net-libs/libquotient/files/libquotient-0.8.0-no-android.patch
@@ -0,0 +1,29 @@
+From ad928b9f34f5e6f42c8555a0a502c35de6cb86b5 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 3 Jan 2021 15:18:01 +0100
+Subject: [PATCH 1/2] Install EXPORT_ANDROID_MK only if(ANDROID)
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0a32ee4e..7e03085f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -387,7 +387,10 @@ install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/${QUOTIENT_LIB_NAME}/${QUOTIENT_LIB_NAME}ConfigVersion.cmake"
+ DESTINATION ${CMakeFilesLocation}
+ )
+-install(EXPORT_ANDROID_MK ${QUOTIENT_LIB_NAME}Targets DESTINATION ${CMAKE_INSTALL_DATADIR}/ndk-modules)
++
++if (ANDROID)
++ install(EXPORT_ANDROID_MK ${QUOTIENT_LIB_NAME}Targets DESTINATION ${CMAKE_INSTALL_DATADIR}/ndk-modules)
++endif ()
+
+ if (WIN32)
+ install(FILES mime/packages/freedesktop.org.xml DESTINATION mime/packages)
+--
+2.41.0
+
diff --git a/net-libs/libquotient/files/libquotient-0.8.0-no-tests.patch b/net-libs/libquotient/files/libquotient-0.8.0-no-tests.patch
new file mode 100644
index 00000000000..96fe1029c82
--- /dev/null
+++ b/net-libs/libquotient/files/libquotient-0.8.0-no-tests.patch
@@ -0,0 +1,34 @@
+From c35f062d1c9975ec0bdfdcbcdeb6b9973b73f86b Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sat, 24 Dec 2022 22:51:12 +0100
+Subject: [PATCH 2/2] Put Qt5Test dependency behind -DBUILD_TESTING
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7e03085f..f2ab0ae7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -92,7 +92,7 @@ else()
+ set(QtExtraModules "Multimedia") # See #483
+ endif()
+ string(REGEX REPLACE "^(.).*" "Qt\\1" Qt ${QtMinVersion}) # makes "Qt5" or "Qt6"
+-find_package(${Qt} ${QtMinVersion} REQUIRED Core Network Gui Test ${QtExtraModules})
++find_package(${Qt} ${QtMinVersion} REQUIRED Core Network Gui ${QtExtraModules})
+ get_filename_component(Qt_Prefix "${${Qt}_DIR}/../../../.." ABSOLUTE)
+
+ find_package(${Qt}Keychain REQUIRED)
+@@ -344,6 +344,7 @@ configure_file(${PROJECT_NAME}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${QUOTIENT_LIB_
+ # Configure testing
+
+ if (BUILD_TESTING)
++ find_package(${Qt}Test ${QtMinVersion} REQUIRED)
+ enable_testing()
+ add_subdirectory(quotest)
+ add_subdirectory(autotests)
+--
+2.41.0
+
diff --git a/net-libs/libquotient/libquotient-0.8.1.2-r1.ebuild b/net-libs/libquotient/libquotient-0.8.1.2-r1.ebuild
new file mode 100644
index 00000000000..2fca215979e
--- /dev/null
+++ b/net-libs/libquotient/libquotient-0.8.1.2-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake multibuild
+
+DESCRIPTION="Qt-based SDK to develop applications for Matrix"
+HOMEPAGE="https://github.com/quotient-im/libQuotient"
+SRC_URI="https://github.com/quotient-im/libQuotient/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/libQuotient-${PV}"
+
+LICENSE="LGPL-2+"
+SLOT="0/${PV}" # FIXME: check soname on next version bump
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+IUSE="+qt5 qt6 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/olm
+ dev-libs/openssl:=
+ qt5? (
+ dev-libs/qtkeychain:=[qt5(+)]
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtnetwork:5[ssl]
+ dev-qt/qtsql:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,network,sql,ssl]
+ dev-qt/qtmultimedia:6
+ dev-libs/qtkeychain:=[qt6(-)]
+ )
+"
+DEPEND="${RDEPEND}
+ test? (
+ qt5? (
+ dev-qt/qtconcurrent:5
+ dev-qt/qttest:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[concurrent]
+ )
+ )
+"
+
+PATCHES=(
+ # downstream patches
+ "${FILESDIR}"/${PN}-0.8.0-no-android.patch
+ "${FILESDIR}"/${PN}-0.8.0-no-tests.patch
+)
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DQuotient_ENABLE_E2EE=ON
+ )
+
+ if [[ ${MULTIBUILD_VARIANT} == qt6 ]]; then
+ mycmakeargs+=( -DBUILD_WITH_QT6=ON )
+ else
+ mycmakeargs+=( -DBUILD_WITH_QT6=OFF )
+ fi
+
+ use test && mycmakeargs+=(
+ -DQuotient_INSTALL_TESTS=OFF
+ )
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake_src_compile
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
+
+src_test() {
+ # https://github.com/quotient-im/libQuotient/issues/435
+ # testolmaccount requires network connection/server set up
+ local myctestargs=(
+ -j1
+ -E "(testolmaccount)"
+ )
+ multibuild_foreach_variant cmake_src_test
+}
diff --git a/net-libs/libquotient/metadata.xml b/net-libs/libquotient/metadata.xml
new file mode 100644
index 00000000000..046004b2670
--- /dev/null
+++ b/net-libs/libquotient/metadata.xml
@@ -0,0 +1,11 @@
+<?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="github">quotient-im/libQuotient</remote-id>
+ </upstream>
+</pkgmetadata>