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"
+}

Reply via email to