summaryrefslogtreecommitdiff
path: root/net-im
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2024-07-12 18:43:00 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2024-07-12 19:33:34 +0200
commit10ac26c2343096ba8c54808b4336623e2a166baa (patch)
tree97896d9588624fbddeda7002adf849ceabfb1be4 /net-im
parentmail-client/claws-mail: Stabilize 3.21.0-r1 amd64, #935895 (diff)
downloadgentoo-10ac26c2343096ba8c54808b4336623e2a166baa.tar.gz
gentoo-10ac26c2343096ba8c54808b4336623e2a166baa.tar.bz2
gentoo-10ac26c2343096ba8c54808b4336623e2a166baa.zip
net-im/tokodon: Re-add IUSE mpvqt
Upstream commit e55359ddc139c2a6296b67990dee47478a4fadc8 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'net-im')
-rw-r--r--net-im/tokodon/files/tokodon-24.05.2-enable-exceptions.patch34
-rw-r--r--net-im/tokodon/metadata.xml1
-rw-r--r--net-im/tokodon/tokodon-24.05.2-r2.ebuild59
3 files changed, 94 insertions, 0 deletions
diff --git a/net-im/tokodon/files/tokodon-24.05.2-enable-exceptions.patch b/net-im/tokodon/files/tokodon-24.05.2-enable-exceptions.patch
new file mode 100644
index 000000000000..bc48595b2838
--- /dev/null
+++ b/net-im/tokodon/files/tokodon-24.05.2-enable-exceptions.patch
@@ -0,0 +1,34 @@
+From e55359ddc139c2a6296b67990dee47478a4fadc8 Mon Sep 17 00:00:00 2001
+From: Joshua Goins <josh@redstrate.com>
+Date: Fri, 12 Jul 2024 12:00:43 -0400
+Subject: [PATCH] Enable C++ exceptions even when building with QtMultimedia
+
+This is also needed in blurhash.cpp, which breaks in certain system
+configurations that don't enable exceptions by default. Now it's turned
+on regardless of the USE_QTMULTIMEDIA CMake option.
+
+I also added a note for future people to discover why this is turned on.
+---
+ src/CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index bca2cc094..73a8345ed 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -361,9 +361,11 @@ else()
+ utils/mpvplayer.h
+ )
+ target_link_libraries(tokodon_static PUBLIC MpvQt::MpvQt)
+- target_compile_options(tokodon_static PRIVATE -fexceptions)
+ endif()
+
++# NOTE: Needed for MPV, but also for blurhash.cpp. We can look into making this more selective lter.
++target_compile_options(tokodon_static PRIVATE -fexceptions)
++
+ if (USE_QTWEBVIEW)
+ qt_target_qml_sources(tokodon_static
+ QML_FILES
+--
+GitLab
+
diff --git a/net-im/tokodon/metadata.xml b/net-im/tokodon/metadata.xml
index 3eddf8899b4b..0f8aab73a8f4 100644
--- a/net-im/tokodon/metadata.xml
+++ b/net-im/tokodon/metadata.xml
@@ -10,6 +10,7 @@
<remote-id type="kde-invent">network/tokodon</remote-id>
</upstream>
<use>
+ <flag name="mpv">Use <pkg>media-libs/mpvqt</pkg> instead of <pkg>dev-qt/qtmultimedia</pkg> for video playback (default)</flag>
<flag name="webengine">Use <pkg>dev-qt/qtwebengine</pkg> for built-in authentication page (default is external browser)</flag>
</use>
</pkgmetadata>
diff --git a/net-im/tokodon/tokodon-24.05.2-r2.ebuild b/net-im/tokodon/tokodon-24.05.2-r2.ebuild
new file mode 100644
index 000000000000..2bb862164ec8
--- /dev/null
+++ b/net-im/tokodon/tokodon-24.05.2-r2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+KFMIN=6.3.0
+QTMIN=6.6.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Mastodon client for Plasma and Plasma Mobile"
+HOMEPAGE="https://apps.kde.org/tokodon/"
+
+LICENSE="CC-BY-SA-4.0 GPL-2+ GPL-3+ || ( LGPL-2.1+ LGPL-3+ ) MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="+mpv webengine"
+
+# TODO: Add kunifiedpush support once packaged (cd01eb31d1ec298d4c1e10d25a0781d799161bfc)
+DEPEND="
+ >=dev-libs/kirigami-addons-1.1.0:6
+ >=dev-libs/qtkeychain-0.14.1-r1:=[qt6]
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=dev-qt/qtwebsockets-${QTMIN}:6
+ >=kde-frameworks/breeze-icons-${KFMIN}:*
+ >=kde-frameworks/kcolorscheme-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/purpose-${KFMIN}:6
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+ mpv? ( media-libs/mpvqt )
+ !mpv? ( >=dev-qt/qtmultimedia-${QTMIN}:6[qml] )
+ webengine? ( >=dev-qt/qtwebview-${QTMIN}:6 )
+"
+RDEPEND="${DEPEND}
+ >=kde-frameworks/kitemmodels-${KFMIN}:6
+ >=kde-frameworks/sonnet-${KFMIN}:6[qml]
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}/${P}-enable-exceptions.patch" ) # bug 935363
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_QTMULTIMEDIA=$(usex !mpv)
+ $(cmake_use_find_package webengine Qt6WebView) # "only makes sense on mobile"
+ )
+
+ ecm_src_configure
+}