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 +
