commit:     0533f63362c539f9b91e05c2bd39f9b0bcd20218
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 31 20:05:41 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 31 20:07:19 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0533f633

kde-misc/basket: add 2.49b_p20250829

Bug: https://bugs.gentoo.org/954003
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-misc/basket/Manifest                           |   1 +
 kde-misc/basket/basket-2.49b_p20250829.ebuild      |  74 ++++++++
 .../files/basket-2.49b_p20250829-no-phonon.patch   | 187 +++++++++++++++++++++
 3 files changed, 262 insertions(+)

diff --git a/kde-misc/basket/Manifest b/kde-misc/basket/Manifest
index 8155de402367..f118d76bb8f7 100644
--- a/kde-misc/basket/Manifest
+++ b/kde-misc/basket/Manifest
@@ -1,2 +1,3 @@
 DIST basket-2.49b_p20241215-a9741c3e.tar.gz 5880369 BLAKE2B 
565efb770f4ec30d3ba847375f63b878f5fb57b5bf2d66e550fac739d199df6940190059afb308a541e0df0c4a830374790d43fa5e90f2ab1548810b39bc4a5f
 SHA512 
e09419a50dd2c19e6e0c54d15bb08c9ea048c3bea6cfe4bbf0c684a5337c1989d4af9f575a2a9c73413bae44c7cca7ed1a2bebee500d9f4d0b96e52bf5a9e02b
 DIST basket-2.49b_p20241215-patchset.tar.xz 7448 BLAKE2B 
9a4a80acd7b9b2f71b87fb07acddebb1f9fb1e2d78db6b922c6ac5376694126ceb6ff423b12cbc0843ef0280206b85dd395a70efad2df814266f3082df8d5f78
 SHA512 
7e9c555af1c735dbbd2b1d095668802cc1ca63a0780eb0727ed58ef9f93cf9bdf08139f387cc23e024f9eccc931b42af0c6694728051751031bac8452692aa70
+DIST basket-2.49b_p20250829-0f587b13.tar.gz 5986165 BLAKE2B 
2e31babc734de122594b2c62bcfad25d6fa7cf2a27674b168a22af35ed91354d74386b42187bfade38c1037da69aeb5a86d85dba81b68cf904a48f00ed27214e
 SHA512 
af6b5b8a897bfb24c631fa258eaa744314b405dcd70a19dc6cc54feffaf0286f4c6f00a8db43693fe339f683808c4156b2c7715328e7755b5a4a767ccf2da57e

diff --git a/kde-misc/basket/basket-2.49b_p20250829.ebuild 
b/kde-misc/basket/basket-2.49b_p20250829.ebuild
new file mode 100644
index 000000000000..ebb95e52d875
--- /dev/null
+++ b/kde-misc/basket/basket-2.49b_p20250829.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+ECM_HANDBOOK="optional"
+KDE_ORG_COMMIT=0f587b130bd7a16244736840ba43d34587edc96f
+KFMIN=6.9.0
+QTMIN=6.8.1
+inherit ecm kde.org xdg
+
+DESCRIPTION="Multiple information organizer - a DropDrawers clone"
+HOMEPAGE="https://userbase.kde.org/BasKet 
https://invent.kde.org/utilities/basket";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="crypt git"
+
+COMMON_DEPEND="
+       >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets,xml]
+       >=dev-qt/qtmultimedia-${QTMIN}:6
+       >=kde-frameworks/karchive-${KFMIN}:6
+       >=kde-frameworks/kcmutils-${KFMIN}:6
+       >=kde-frameworks/kcodecs-${KFMIN}:6
+       >=kde-frameworks/kcolorscheme-${KFMIN}:6
+       >=kde-frameworks/kcompletion-${KFMIN}:6
+       >=kde-frameworks/kconfig-${KFMIN}:6
+       >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+       >=kde-frameworks/kcoreaddons-${KFMIN}:6
+       >=kde-frameworks/kcrash-${KFMIN}:6
+       >=kde-frameworks/kdbusaddons-${KFMIN}:6
+       >=kde-frameworks/kfilemetadata-${KFMIN}:6
+       >=kde-frameworks/kglobalaccel-${KFMIN}:6
+       >=kde-frameworks/kguiaddons-${KFMIN}:6
+       >=kde-frameworks/ki18n-${KFMIN}:6
+       >=kde-frameworks/kiconthemes-${KFMIN}:6
+       >=kde-frameworks/kio-${KFMIN}:6
+       >=kde-frameworks/kjobwidgets-${KFMIN}:6
+       >=kde-frameworks/knotifications-${KFMIN}:6
+       >=kde-frameworks/kparts-${KFMIN}:6
+       >=kde-frameworks/kservice-${KFMIN}:6
+       >=kde-frameworks/ktextwidgets-${KFMIN}:6
+       >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+       >=kde-frameworks/kwindowsystem-${KFMIN}:6
+       >=kde-frameworks/kxmlgui-${KFMIN}:6
+       crypt? ( app-crypt/gpgme:= )
+       git? ( dev-libs/libgit2:= )
+"
+DEPEND="${COMMON_DEPEND}
+       >=dev-qt/qtbase-${QTMIN}:6[concurrent]
+"
+RDEPEND="${COMMON_DEPEND}
+       !${CATEGORY}/${PN}:5
+"
+BDEPEND="git? ( virtual/pkgconfig )"
+
+# https://invent.kde.org/utilities/basket/-/merge_requests/57
+PATCHES=( "${FILESDIR}/${P}-no-phonon.patch" )
+
+src_prepare() {
+       cmake_src_prepare
+       # https://invent.kde.org/utilities/basket/-/merge_requests/58
+       sed -e "/^find_package(X11/s/^/# /" -i CMakeLists.txt || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DENABLE_GPG=$(usex crypt)
+               $(cmake_use_find_package git Libgit2)
+       )
+       ecm_src_configure
+}

diff --git a/kde-misc/basket/files/basket-2.49b_p20250829-no-phonon.patch 
b/kde-misc/basket/files/basket-2.49b_p20250829-no-phonon.patch
new file mode 100644
index 000000000000..b7f2f4e1048b
--- /dev/null
+++ b/kde-misc/basket/files/basket-2.49b_p20250829-no-phonon.patch
@@ -0,0 +1,187 @@
+From c5d3fc72659bed35507eba9e3655df51aa86cc2f Mon Sep 17 00:00:00 2001
+From: Jack Hill <[email protected]>
+Date: Wed, 9 Jul 2025 20:50:02 +0100
+Subject: [PATCH] Port from Phonon to Qt Multimedia
+
+---
+ .kde-ci.yml         |  1 -
+ CMakeLists.txt      |  4 +---
+ src/CMakeLists.txt  |  2 +-
+ src/notecontent.cpp | 32 ++++++++++++++++++++------------
+ src/notecontent.h   | 11 ++++-------
+ 5 files changed, 26 insertions(+), 24 deletions(-)
+
+diff --git a/.kde-ci.yml b/.kde-ci.yml
+index a87a4f37..9bd25b55 100644
+--- a/.kde-ci.yml
++++ b/.kde-ci.yml
+@@ -27,7 +27,6 @@ Dependencies:
+     'frameworks/kwidgetsaddons': '@latest-kf6'
+     'frameworks/kwindowsystem': '@latest-kf6'
+     'frameworks/kxmlgui': '@latest-kf6'
+-    'libraries/phonon': '@latest'
+ 
+ Options:
+   require-passing-tests-on: ['Linux', 'FreeBSD', 'Windows']
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b095f871..2bb10d4b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,6 +90,7 @@ find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS
+     Core
+     DBus
+     Gui
++    Multimedia
+     Widgets
+     Xml
+     Core5Compat
+@@ -125,9 +126,6 @@ set_package_properties(KF6DocTools PROPERTIES DESCRIPTION
+     TYPE OPTIONAL
+ )
+ 
+-
+-find_package(Phonon4Qt6 REQUIRED)
+-
+ if (GPGME_FOUND)
+     MESSAGE(STATUS "FOUND GPG")
+     set(HAVE_LIBGPGME 1)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index edad9b11..3cf53991 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -58,7 +58,6 @@ qt_add_resources(basket_RESOURCES ../basket.qrc)
+ add_library(LibBasket SHARED ${libbasket_SRCS} ${basket_FORM_HDRS} 
${basket_RESOURCES})
+ 
+ target_link_libraries(LibBasket
+-    ${PHONON_LIBRARY}
+     ${GPGME_VANILLA_LIBRARIES}
+     KF6::Archive
+     KF6::ConfigWidgets
+@@ -80,6 +79,7 @@ target_link_libraries(LibBasket
+     KF6::WindowSystem
+     KF6::XmlGui
+     Qt::Core
++    Qt::Multimedia
+ )
+ 
+ set_target_properties(LibBasket PROPERTIES
+diff --git a/src/notecontent.cpp b/src/notecontent.cpp
+index a153a6df..6c10fa21 100644
+--- a/src/notecontent.cpp
++++ b/src/notecontent.cpp
+@@ -6,7 +6,9 @@
+ 
+ #include "notecontent.h"
+ 
++#include <QAudioOutput>
+ #include <QLocale>
++#include <QMediaPlayer>
+ #include <QMimeData>
+ #include <QMimeDatabase>
+ #include <QTextBlock>
+@@ -35,9 +37,6 @@
+ #include <KLocalizedString>
+ #include <KService>
+ 
+-#include <phonon/AudioOutput>
+-#include <phonon/MediaObject>
+-
+ #include "basketscene.h"
+ #include "common.h"
+ #include "config.h"
+@@ -1615,16 +1614,25 @@ SoundContent::SoundContent(Note *parent, const QString 
&fileName)
+     : FileContent(parent, fileName)
+ {
+     SoundContent::setFileName(fileName);
+-    music = new Phonon::MediaObject(this);
+-    music->setCurrentSource(Phonon::MediaSource(fullPathUrl()));
+-    auto *audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this);
+-    Phonon::createPath(music, audioOutput);
+-    connect(music, &Phonon::MediaObject::stateChanged, this, 
&SoundContent::stateChanged);
++    music = new QMediaPlayer(this);
++    music->setAudioOutput(new QAudioOutput(music));
++    connect(music, &QMediaPlayer::playbackStateChanged, this, 
&SoundContent::stateChanged);
+ }
+ 
+-void SoundContent::stateChanged(int newState, int oldState)
++void SoundContent::stateChanged(int newState)
+ {
+-    qDebug() << "stateChanged " << oldState << " to " << newState;
++    qDebug() << "stateChanged to " << newState;
++}
++
++bool SoundContent::loadFromFile(bool lazyLoad)
++{
++    if (lazyLoad) {
++        return false;
++    }
++
++    setFileName(fileName()); // File changed: get new file preview!
++    music->setSource(fullPathUrl());
++    return true;
+ }
+ 
+ QString SoundContent::zoneTip(int zone)
+@@ -1637,13 +1645,13 @@ void SoundContent::setHoveredZone(int oldZone, int 
newZone)
+     if (newZone == Note::Custom0 || newZone == Note::Content) {
+         // Start the sound preview:
+         if (oldZone != Note::Custom0 && oldZone != Note::Content) { // Don't 
restart if it was already in one of those zones
+-            if (music->state() == 1) {
++            if (music->playbackState() != QMediaPlayer::PlayingState) {
+                 music->play();
+             }
+         }
+     } else {
+         //       Stop the sound preview, if it was started:
+-        if (music->state() != 1) {
++        if (music->playbackState() != QMediaPlayer::StoppedState) {
+             music->stop();
+             //          delete music;//TODO implement this in slot connected 
with music alted signal
+             //          music = 0;
+diff --git a/src/notecontent.h b/src/notecontent.h
+index 68b94651..cbebacce 100644
+--- a/src/notecontent.h
++++ b/src/notecontent.h
+@@ -19,6 +19,7 @@
+ 
+ class QBuffer;
+ class QColor;
++class QMediaPlayer;
+ class QMimeData;
+ class QMovie;
+ class QPainter;
+@@ -37,11 +38,6 @@ namespace KIO
+ class PreviewJob;
+ }
+ 
+-namespace Phonon
+-{
+-class MediaObject;
+-}
+-
+ class BasketScene;
+ struct FilterData;
+ class Note;
+@@ -549,6 +545,7 @@ public:
+     QString editToolTipText() const override;
+     // Complex Generic Methods:
+     QString cssClass() const override;
++    bool loadFromFile(bool lazyLoad) override;
+     // Custom Zones:
+     QString zoneTip(int zone) override;
+     void setHoveredZone(int oldZone, int newZone) override;
+@@ -561,9 +558,9 @@ public:
+     {
+         return LinkLook::soundLook;
+     }
+-    Phonon::MediaObject *music;
++    QMediaPlayer *music;
+ private Q_SLOTS:
+-    void stateChanged(int, int);
++    void stateChanged(int);
+ };
+ 
+ /** Real implementation of link notes:
+-- 
+GitLab
+

Reply via email to