commit: a49812f111833e93a6c6e8cb4ed8a5139a1a7314 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Wed Mar 26 19:02:29 2025 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Wed Mar 26 19:14:23 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a49812f1
media-sound/kasts: Fix dialog boxes w/ kde-frameworks/kirigami-6.12 See also: https://mail.kde.org/pipermail/distributions/2025-March/001570.html KDE-bug: https://bugs.kde.org/show_bug.cgi?id=501876 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> .../kasts/files/kasts-24.12.3-kirigami-6.12.patch | 159 +++++++++++++++++++++ media-sound/kasts/kasts-24.12.3-r1.ebuild | 53 +++++++ 2 files changed, 212 insertions(+) diff --git a/media-sound/kasts/files/kasts-24.12.3-kirigami-6.12.patch b/media-sound/kasts/files/kasts-24.12.3-kirigami-6.12.patch new file mode 100644 index 000000000000..c96c921776fe --- /dev/null +++ b/media-sound/kasts/files/kasts-24.12.3-kirigami-6.12.patch @@ -0,0 +1,159 @@ +From 39340fc3a24440dd4d42949a7b61be004e31e543 Mon Sep 17 00:00:00 2001 +From: Bart De Vries <[email protected]> +Date: Sun, 23 Mar 2025 14:17:37 +0100 +Subject: [PATCH] Fix dialog boxes after recent Kirigami updates + +BUG: 501876 +--- + src/qml/Desktop/DesktopPlayerControls.qml | 7 +-- + .../Settings/SynchronizationSettingsPage.qml | 49 +++++++++++-------- + src/qml/SyncPasswordOverlay.qml | 4 +- + 3 files changed, 33 insertions(+), 27 deletions(-) + +diff --git a/src/qml/Desktop/DesktopPlayerControls.qml b/src/qml/Desktop/DesktopPlayerControls.qml +index 513d33371..35d5ce327 100644 +--- a/src/qml/Desktop/DesktopPlayerControls.qml ++++ b/src/qml/Desktop/DesktopPlayerControls.qml +@@ -386,6 +386,8 @@ FocusScope { + + Kirigami.Dialog { + id: chapterOverlay ++ preferredWidth: Kirigami.Units.gridUnit * 30 ++ preferredHeight: Kirigami.Units.gridUnit * 25 + + showCloseButton: false + +@@ -396,13 +398,8 @@ FocusScope { + + currentIndex: -1 + +- implicitWidth: Kirigami.Units.gridUnit * 30 +- implicitHeight: Kirigami.Units.gridUnit * 25 +- + model: chapterModel + delegate: ChapterListDelegate { +- id: chapterDelegate +- width: chapterList.width + entry: AudioManager.entry ? AudioManager.entry : null + overlay: chapterOverlay + } +diff --git a/src/qml/Settings/SynchronizationSettingsPage.qml b/src/qml/Settings/SynchronizationSettingsPage.qml +index 7bed8a09c..9543bcbde 100644 +--- a/src/qml/Settings/SynchronizationSettingsPage.qml ++++ b/src/qml/Settings/SynchronizationSettingsPage.qml +@@ -227,37 +227,45 @@ Kirigami.ScrollablePage { + + title: i18nc("@label", "Select Sync Provider") + ++ property list<var> providerModel: [ ++ { ++ name: i18nc("@label", "gpodder.net"), ++ subtitle: i18nc("@label", "Synchronize with official gpodder.net server"), ++ iconName: "gpodder", ++ provider: Sync.GPodderNet ++ }, ++ { ++ name: i18nc("@label", "GPodder Nextcloud"), ++ subtitle: i18nc("@label", "Synchronize with GPodder Nextcloud app"), ++ iconName: "kaccounts-nextcloud", ++ provider: Sync.GPodderNextcloud ++ } ++ ] ++ + ColumnLayout { + spacing: 0 + + Repeater { + focus: syncProviderOverlay.visible + +- model: ListModel { +- id: providerModel +- } +- Component.onCompleted: { +- providerModel.append({"name": i18nc("@label", "gpodder.net"), +- "subtitle": i18nc("@label", "Synchronize with official gpodder.net server"), +- "icon": "gpodder", +- "provider": Sync.GPodderNet}); +- providerModel.append({"name": i18nc("@label", "GPodder Nextcloud"), +- "subtitle": i18nc("@label", "Synchronize with GPodder Nextcloud app"), +- "icon": "kaccounts-nextcloud", +- "provider": Sync.GPodderNextcloud}); +- } ++ model: syncProviderOverlay.providerModel ++ + delegate: Delegates.RoundedItemDelegate { + id: syncProviderRepeaterDelegate ++ required property string name ++ required property string iconName ++ required property string subtitle ++ required property var provider + Layout.fillWidth: true +- text: model.name +- icon.name: model.icon ++ text: name ++ icon.name: iconName + contentItem: Delegates.SubtitleContentItem { + itemDelegate: syncProviderRepeaterDelegate +- subtitle: model.subtitle ++ subtitle: subtitle + } + Keys.onReturnPressed: clicked() + onClicked: { +- Sync.provider = model.provider; ++ Sync.provider = provider; + syncProviderOverlay.close(); + syncLoginOverlay.open(); + } +@@ -268,7 +276,7 @@ Kirigami.ScrollablePage { + + Kirigami.Dialog { + id: syncLoginOverlay +- preferredWidth: Kirigami.Units.gridUnit * 25 ++ maximumWidth: Kirigami.Units.gridUnit * 30 + padding: Kirigami.Units.largeSpacing + + showCloseButton: true +@@ -288,7 +296,7 @@ Kirigami.ScrollablePage { + } + onRejected: syncLoginOverlay.close(); + +- Column { ++ ColumnLayout { + spacing: Kirigami.Units.largeSpacing + RowLayout { + width: parent.width +@@ -388,7 +396,8 @@ Kirigami.ScrollablePage { + + Kirigami.Dialog { + id: syncDeviceOverlay +- preferredWidth: Kirigami.Units.gridUnit * 25 ++ maximumWidth: Kirigami.Units.gridUnit * 30 ++ preferredWidth: Kirigami.Units.gridUnit * 30 + padding: Kirigami.Units.largeSpacing + + showCloseButton: true +diff --git a/src/qml/SyncPasswordOverlay.qml b/src/qml/SyncPasswordOverlay.qml +index 8c50ff1ff..82adef13e 100644 +--- a/src/qml/SyncPasswordOverlay.qml ++++ b/src/qml/SyncPasswordOverlay.qml +@@ -16,7 +16,7 @@ import org.kde.kasts.settings + Kirigami.Dialog { + id: syncPasswordOverlay + padding: Kirigami.Units.largeSpacing +- preferredWidth: Kirigami.Units.gridUnit * 20 ++ maximumWidth: Kirigami.Units.gridUnit * 25 + parent: applicationWindow().overlay + + showCloseButton: true +@@ -30,7 +30,7 @@ Kirigami.Dialog { + } + onRejected: syncPasswordOverlay.close(); + +- Column { ++ ColumnLayout { + spacing: Kirigami.Units.largeSpacing + RowLayout { + width: parent.width +-- +GitLab + diff --git a/media-sound/kasts/kasts-24.12.3-r1.ebuild b/media-sound/kasts/kasts-24.12.3-r1.ebuild new file mode 100644 index 000000000000..3554c0742ee7 --- /dev/null +++ b/media-sound/kasts/kasts-24.12.3-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KFMIN=6.7.0 +QTMIN=6.7.2 +inherit ecm gear.kde.org + +DESCRIPTION="Convergent podcast application for desktop and mobile" +HOMEPAGE="https://apps.kde.org/kasts/" + +LICENSE="GPL-2 GPL-2+ GPL-3+ BSD LGPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +IUSE="gstreamer vlc" + +DEPEND=" + dev-libs/kirigami-addons:6 + >=dev-libs/qtkeychain-0.14.2:=[qt6(+)] + >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,sql,widgets,xml] + >=dev-qt/qtdeclarative-${QTMIN}:6 + >=dev-qt/qtmultimedia-${QTMIN}:6 + >=dev-qt/qtsvg-${QTMIN}:6 + >=kde-frameworks/breeze-icons-${KFMIN}:6 + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/kcrash-${KFMIN}:6 + >=kde-frameworks/ki18n-${KFMIN}:6 + >=kde-frameworks/kirigami-${KFMIN}:6 + >=kde-frameworks/syndication-${KFMIN}:6 + >=kde-frameworks/threadweaver-${KFMIN}:6 + media-libs/taglib:= + gstreamer? ( + dev-libs/glib:2 + media-libs/gstreamer:1.0 + media-libs/gst-plugins-good:1.0 + ) + vlc? ( media-video/vlc:= ) +" +RDEPEND="${DEPEND}" +BDEPEND="gstreamer? ( virtual/pkgconfig )" + +PATCHES=( "${FILESDIR}/${P}-kirigami-6.12.patch" ) + +src_configure() { + local mycmakeargs=( + -DBUILD_EXAMPLE_PLAYER=OFF + -DBUILD_GSTREAMER_BACKEND=$(usex gstreamer) + $(cmake_use_find_package vlc LIBVLC) + ) + ecm_src_configure +}
