summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-10-07 19:07:58 -0400
committerIonen Wolkens <ionen@gentoo.org>2024-10-07 19:39:02 -0400
commitf87a36b16fdd8cb554fa216ddc76e5b8b2725f22 (patch)
tree27975fe645fde5d30f01cd2fc40d037ba1c73f43 /media-sound/xmms2
parentkde-apps/marble: Add missing IUSE dbus cmake arg (diff)
downloadgentoo-f87a36b16fdd8cb554fa216ddc76e5b8b2725f22.tar.gz
gentoo-f87a36b16fdd8cb554fa216ddc76e5b8b2725f22.tar.bz2
gentoo-f87a36b16fdd8cb554fa216ddc76e5b8b2725f22.zip
media-sound/xmms2: add 0.9.4
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'media-sound/xmms2')
-rw-r--r--media-sound/xmms2/Manifest1
-rw-r--r--media-sound/xmms2/xmms2-0.9.4.ebuild216
2 files changed, 217 insertions, 0 deletions
diff --git a/media-sound/xmms2/Manifest b/media-sound/xmms2/Manifest
index e525b78e09a6..c0ea42aaa81c 100644
--- a/media-sound/xmms2/Manifest
+++ b/media-sound/xmms2/Manifest
@@ -1 +1,2 @@
DIST xmms2-0.9.3.tar.xz 1741548 BLAKE2B 19a99d66d3b6991811c1124b76becaa05d04602a84725ca166141947272a3a033545a2e315a70751e8fab83a9b3b16235f1e408dd13caac0a8e7cbf9e8101e34 SHA512 03f2f6b66a35a8e80fdba3afb2a550c19ce2b7b6d53c63c7a735eb787f79b27a325b0715a31544e87c86e386f54a5a9a89aa3a9e81ae5ed29e362bd7b5bfa1ad
+DIST xmms2-0.9.4.tar.xz 1741996 BLAKE2B edb8dfb78d9a4cba19a209f9f5740fcf43c2b295ff3907ad8fa36689f19142e3b86e57ea9bd3ce97a04bd2284c4dd7be45c94510f3004f5ee655f6c5b88a898f SHA512 71075d41a49983624b87d5c80b0d58283fe53146ecad9b8d37d96545881bfec4e6de30eb1463fad37a8f8a3f3ebb58c12e10eecd998d9aaff7f3c1bdaef83bc9
diff --git a/media-sound/xmms2/xmms2-0.9.4.ebuild b/media-sound/xmms2/xmms2-0.9.4.ebuild
new file mode 100644
index 000000000000..d430c17a2f2d
--- /dev/null
+++ b/media-sound/xmms2/xmms2-0.9.4.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="threads(+)"
+inherit flag-o-matic optfeature perl-functions python-single-r1 waf-utils
+
+DESCRIPTION="X(cross)platform Music Multiplexing System, next generation of the XMMS player"
+HOMEPAGE="https://github.com/XMMS2"
+SRC_URI="https://github.com/xmms2/xmms2-devel/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~loong ~ppc ~riscv ~x86"
+
+# IUSE static map to be passed to --with-{optionals,plugins}=opt1,opt2,...
+# flag:opt = `usev flag opt`, opt = `usev opt`, :opt = `echo opt`
+# (if have a use for some of these disabled features, please file a bug)
+XMMS2_OPTIONALS=(
+ cxx:xmmsclient++,xmmsclient++-glib :launcher mlib-update:medialib-updater
+ :nycli perl :pixmaps python server:s4 test:tests libvisual:vistest
+ # disabled: et,mdns,migrate-collections,ruby,sqlite2s4,xmmsclient-cf,xmmsclient-ecore
+)
+XMMS2_PLUGINS=(
+ aac:faad airplay alsa ao :asx cdda :cue curl :diskwrite :equalizer
+ ffmpeg:apefile,asf,avcodec,flv,tta :file flac fluidsynth:fluidsynth,mid1,midsquash
+ gme :html ices :icymetaint :id3v2 jack :karaoke :m3u mac +mad modplug
+ mp3:mpg123 :mp4 musepack :normalize :null :nulstripper opus oss :pls
+ pulseaudio:pulse :replaygain samba sid sndfile speex tremor vocoder +vorbis
+ :wave wavpack :xml xml:rss,xspf zeroconf:daap
+ # disabled: coreaudio,gvfs,mms,nms,ofa,sc68,sun,waveout
+)
+
+IUSE="
+ ${XMMS2_OPTIONALS[@]%:*}
+ ${XMMS2_PLUGINS[@]%:*}
+ +server
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ test? ( server )
+"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ dev-libs/glib:2
+ sys-libs/readline:=
+ libvisual? (
+ media-libs/libsdl[opengl,video]
+ media-libs/libvisual:0.4
+ )
+ server? (
+ aac? ( media-libs/faad2 )
+ airplay? ( dev-libs/openssl:= )
+ alsa? ( media-libs/alsa-lib )
+ ao? ( media-libs/libao )
+ cdda? (
+ dev-libs/libcdio-paranoia:=
+ dev-libs/libcdio:=
+ media-libs/libdiscid
+ )
+ curl? ( net-misc/curl )
+ ffmpeg? ( media-video/ffmpeg:= )
+ flac? ( media-libs/flac:= )
+ fluidsynth? ( media-sound/fluidsynth:= )
+ gme? ( media-libs/game-music-emu )
+ ices? (
+ media-libs/libogg
+ media-libs/libshout
+ media-libs/libvorbis
+ )
+ jack? ( virtual/jack )
+ mac? ( <=media-sound/mac-4.12 )
+ mad? ( media-libs/libmad )
+ modplug? ( media-libs/libmodplug )
+ mp3? ( media-sound/mpg123-base )
+ musepack? ( media-sound/musepack-tools )
+ opus? ( media-libs/opusfile )
+ pulseaudio? ( media-libs/libpulse )
+ samba? ( net-fs/samba )
+ sid? ( media-libs/libsidplay:2 )
+ sndfile? ( media-libs/libsndfile )
+ speex? (
+ media-libs/libogg
+ media-libs/speex
+ )
+ tremor? ( media-libs/tremor )
+ vocoder? (
+ media-libs/libsamplerate
+ sci-libs/fftw:3.0=
+ )
+ vorbis? ( media-libs/libvorbis )
+ wavpack? ( media-sound/wavpack )
+ xml? ( dev-libs/libxml2 )
+ zeroconf? (
+ net-dns/avahi[mdnsresponder-compat]
+ net-misc/curl
+ )
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ perl? (
+ dev-lang/perl
+ dev-perl/glib-perl
+ virtual/perl-Carp
+ virtual/perl-IO
+ virtual/perl-Scalar-List-Utils
+ )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
+ )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ cxx? ( dev-libs/boost )
+ test? ( dev-util/cunit )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ perl? ( dev-perl/Pod-Parser )
+ python? ( $(python_gen_cond_dep 'dev-python/cython[${PYTHON_USEDEP}]') )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ avcodec_free_frame # succcessfully detects that this is gone in newer ffmpeg
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.1-cpp-client.patch
+ "${FILESDIR}"/${PN}-0.9.1-faad.patch
+)
+
+src_prepare() {
+ default
+
+ # meant to be configured, but give a default for out-of-the-box midi
+ sed -e "s|/path/to/.*sf2|${EPREFIX}/usr/share/sounds/sf2/FluidR3_GM.sf2|" \
+ -i src/plugins/fluidsynth/fluidsynth.c || die
+}
+
+src_configure() {
+ filter-lto # `xmms2 add somefile` breaks with lto + fortify=2
+
+ local wafargs=(
+ --boost-includes="${ESYSROOT}"/usr/include
+ --with-target-platform="${CHOST}"
+ --without-valgrind
+ )
+
+ xmms2_flag() {
+ local IFS=:
+ set -- ${1#+}
+
+ if [[ ${1} ]]; then
+ usev ${1} ,${2:-${1}}
+ else
+ echo ,${2}
+ fi
+ }
+
+ local flag optionals plugins
+
+ if use server; then
+ for flag in "${XMMS2_PLUGINS[@]}"; do
+ plugins+=$(xmms2_flag ${flag})
+ done
+ else
+ wafargs+=( --without-xmms2d )
+ fi
+
+ for flag in "${XMMS2_OPTIONALS[@]}"; do
+ optionals+=$(xmms2_flag ${flag})
+ done
+
+ wafargs+=(
+ # pass even if empty to avoid automagic
+ --with-optionals=${optionals:1}
+ --with-plugins=${plugins:1}
+ )
+
+ if use perl; then
+ perl_set_version
+ wafargs+=( --with-perl-archdir="${ARCH_LIB}" )
+ fi
+
+ waf-utils_src_configure "${wafargs[@]}"
+}
+
+src_compile() {
+ waf-utils_src_compile --notests
+}
+
+src_test() {
+ waf-utils_src_compile --alltests
+}
+
+src_install() {
+ local DOCS=( AUTHORS README.mdown *.ChangeLog )
+ waf-utils_src_install --without-ldconfig --notests
+
+ use libvisual && dobin _build_/src/clients/vistest/xmms2-libvisual
+
+ use python && python_optimize
+
+ # to avoid editing waftools/man.py (use find given not always installed)
+ find "${ED}" -type f -name '*.gz' -exec gzip -d {} + || die
+}
+
+pkg_postinst() {
+ use fluidsynth && optfeature "the default MIDI soundfont" media-sound/fluid-soundfont
+}