mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-07-23 15:37:58 +02:00
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@parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/42748
Signed-off-by: Sam James <sam@gentoo.org>
119 lines
3.3 KiB
Bash
119 lines
3.3 KiB
Bash
# 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"
|
|
}
|