commit: 34604c216c8bfac8fa6708d76ed9cc49dfaa5131 Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Wed Jun 25 09:38:52 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu Jun 26 15:28:32 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34604c21
media-sound/strawberry: add 1.2.11 add/rm useflags/features : add discord with a useflag/local-desc, dev-libs/rapidjson. move udisks to optfeature, because dbus is only required for building. handle debug with usex and delete flag-o-matic. add streamtagreader with dev-cpp/sparsehash and media-libs/taglib, on by default because playing stream is not optional and sparsehash is depless. deps : add media-libs/gst-plugins-good (spectrum plugin) for the useflag moodbar. add x11-libs/libX11 for the useflag X (X11 global shortcuts). kde requires dbus for building, delete kf/kglobalaccel (runtime call only). remove media-plugins/gst-plugins-taglib, only required for lameenc (id3v2mux). remove gettext, no longer required since 1.2.1. output : gstreamer is always required (oss, jack, pulse, alsa, pipewire). so adding gst-plugins-base[alsa?] and gst-plugins-pulse. strictly, alsa useflag (ENABLE_ALSA) handles alsa-plugin/integration, optional, which makes strawberry link against alsa-lib. It doesn't really matter. it's almost the same with pulseaudio. remove the old comment for bundle sqlitedriver, removed since 0.1.3 Bug 925505 for libebur is resolved since 7e737b5 : > loudness? ( media-libs/libebur128 ) > -DENABLE_EBUR128="$(usex loudness)" Closes: https://bugs.gentoo.org/925505 Closes: https://bugs.gentoo.org/958969 Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/42748 Signed-off-by: Sam James <sam <AT> gentoo.org> media-sound/strawberry/Manifest | 1 + .../files/strawberry-1.2.11-unforce_alsa.patch | 18 ++++ media-sound/strawberry/metadata.xml | 1 + media-sound/strawberry/strawberry-1.2.11.ebuild | 119 +++++++++++++++++++++ 4 files changed, 139 insertions(+) diff --git a/media-sound/strawberry/Manifest b/media-sound/strawberry/Manifest index ac75cf94035c..0e2a772e4f87 100644 --- a/media-sound/strawberry/Manifest +++ b/media-sound/strawberry/Manifest @@ -1 +1,2 @@ +DIST strawberry-1.2.11.tar.xz 11458100 BLAKE2B b455eebf0aac6559aadd0515ef3a57953f3f1fc8c377f6640ef3faaed44c1cbeedb0b52ad992fbcad4293be0ba01bc393d192c96231156d697c269dc3382d039 SHA512 22e351e9ce6504120495465224e27295a093c09b747cd97b8e00062ca987d9400ad39514bae4aca96a851c68d1e5c354491f7efe65561a970e4a32da4e40920c DIST strawberry-1.2.7.tar.xz 11487296 BLAKE2B 9fac1cdaf2c3945eeaa433400212f00d9b9548e80113cbd61a21e9d878caf6a1b04c1bc4627b04b88f9a9c2739f320226cfcad2c7067cb324c5a7ef8ab53804d SHA512 a343abd9c45002acee37d253001181c939c9d9ebe7a888c0f5c436f610825e601b0ed2c789b372b8f07f60e8d5ce8b9f7d6e715f8a0d1a3fb77e7b8260192f4b diff --git a/media-sound/strawberry/files/strawberry-1.2.11-unforce_alsa.patch b/media-sound/strawberry/files/strawberry-1.2.11-unforce_alsa.patch new file mode 100644 index 000000000000..1c7974e01ab5 --- /dev/null +++ b/media-sound/strawberry/files/strawberry-1.2.11-unforce_alsa.patch @@ -0,0 +1,18 @@ +Make alsa optional +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ca53957..7305e85 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -165,11 +165,7 @@ if(NOT Boost_FOUND) + endif() + find_package(ICU COMPONENTS uc i18n REQUIRED) + if(UNIX AND NOT APPLE) +- if(LINUX) +- find_package(ALSA REQUIRED) +- else() +- find_package(ALSA) +- endif() ++ find_package(ALSA) + find_package(X11 COMPONENTS X11_xcb) + endif() + pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) diff --git a/media-sound/strawberry/metadata.xml b/media-sound/strawberry/metadata.xml index 466d6bb678cb..c65efde3bdef 100644 --- a/media-sound/strawberry/metadata.xml +++ b/media-sound/strawberry/metadata.xml @@ -7,6 +7,7 @@ </maintainer> <use> <flag name="chromaprint">Enables audio fingerprinting support with <pkg>media-libs/chromaprint</pkg></flag> + <flag name="discord">Enables Discord Rich Presence</flag> <flag name="loudness">Enable loudness normalisation according to the EBU R128 standard using <pkg>media-libs/libebur128</pkg></flag> <flag name="moodbar">Enable moodbar support</flag> <flag name="streaming">Enable Online Streaming Support</flag> diff --git a/media-sound/strawberry/strawberry-1.2.11.ebuild b/media-sound/strawberry/strawberry-1.2.11.ebuild new file mode 100644 index 000000000000..de32a81150f5 --- /dev/null +++ b/media-sound/strawberry/strawberry-1.2.11.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake optfeature virtualx xdg + +DESCRIPTION="Modern music player and library organizer based on Clementine and Qt" +HOMEPAGE="https://www.strawberrymusicplayer.org/" +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/strawberrymusicplayer/strawberry" + inherit git-r3 +else + SRC_URI="https://github.com/strawberrymusicplayer/strawberry/releases/download/${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="alsa cdda chromaprint +dbus debug discord kde +loudness ipod moodbar mtp +pulseaudio streaming test X" +RESTRICT="!test? ( test )" +REQUIRED_USE="kde? ( dbus )" + +COMMON_DEPEND=" + dev-db/sqlite:3 + dev-libs/glib:2 + dev-libs/icu:= + dev-libs/kdsingleapplication[qt6(+)] + dev-qt/qtbase:6[concurrent,dbus?,gui,network,ssl,sql,sqlite,widgets,X?] + media-libs/taglib:= + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0[alsa?] + alsa? ( media-libs/alsa-lib ) + cdda? ( dev-libs/libcdio:= ) + chromaprint? ( media-libs/chromaprint:= ) + ipod? ( + media-libs/libgpod + x11-libs/gdk-pixbuf:2 + ) + loudness? ( media-libs/libebur128:= ) + moodbar? ( sci-libs/fftw:3.0= ) + mtp? ( media-libs/libmtp:= ) + pulseaudio? ( media-libs/libpulse ) + X? ( x11-libs/libX11 ) +" +# gst-plugins-good provides spectrum plugin for moodbar +RDEPEND="${COMMON_DEPEND} + media-plugins/gst-plugins-meta:1.0 + moodbar? ( media-libs/gst-plugins-good:1.0 ) + pulseaudio? ( media-plugins/gst-plugins-pulse:1.0 ) +" +DEPEND="${COMMON_DEPEND} + dev-cpp/sparsehash + dev-libs/boost + discord? ( dev-libs/rapidjson ) + test? ( dev-cpp/gtest ) +" +BDEPEND=" + dev-qt/qttools:6[linguist] + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.2.11-unforce_alsa.patch +) + +DOCS=( Changelog README.md ) + +src_configure() { + # spotify is not in portage (gst-plugins-rs) + local mycmakeargs=( + $(cmake_use_find_package test GTest) + $(cmake_use_find_package X X11) + -DBUILD_WERROR=OFF + # avoid automagically enabling of ccache (bug #611010) + -DCCACHE_EXECUTABLE=OFF + -DENABLE_GIO=ON + -DENABLE_GIO_UNIX=ON + # depends on sparsehash and taglib + # enabled by default because stream reading is not optional + -DENABLE_STREAMTAGREADER=ON + -DENABLE_ALSA="$(usex alsa)" + -DENABLE_PULSE="$(usex pulseaudio)" + -DENABLE_DBUS="$(usex dbus)" + -DENABLE_MPRIS2="$(usex dbus)" + -DENABLE_UDISKS2="$(usex dbus)" + -DENABLE_DEBUG_OUTPUT="$(usex debug)" + -DENABLE_DISCORD_RPC="$(usex discord)" + -DENABLE_KGLOBALACCEL_GLOBALSHORTCUTS=$(usex kde) + -DENABLE_SONGFINGERPRINTING="$(usex chromaprint)" + -DENABLE_MUSICBRAINZ="$(usex chromaprint)" + -DENABLE_X11_GLOBALSHORTCUTS="$(usex X)" + -DENABLE_AUDIOCD="$(usex cdda)" + -DENABLE_MTP="$(usex mtp)" + -DENABLE_GPOD="$(usex ipod)" + -DENABLE_MOODBAR="$(usex moodbar)" + -DENABLE_EBUR128="$(usex loudness)" + -DENABLE_SUBSONIC="$(usex streaming)" + -DENABLE_TIDAL="$(usex streaming)" + -DENABLE_QOBUZ="$(usex streaming)" + -DENABLE_SPOTIFY="$(usex streaming)" + ) + + cmake_src_configure +} + +src_test() { + virtx cmake_build run_strawberry_tests +} + +pkg_postinst() { + xdg_pkg_postinst + + use dbus && optfeature "removable device detection" sys-fs/udisks + + elog "Note that list of supported formats is controlled by media-plugins/gst-plugins-meta " + elog "USE flags. You may be interested in setting aac, flac, mp3, ogg or wavpack USE flags " + elog "depending on your preferences" +}
