diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2024-10-07 19:07:58 -0400 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2024-10-07 19:39:02 -0400 |
commit | f87a36b16fdd8cb554fa216ddc76e5b8b2725f22 (patch) | |
tree | 27975fe645fde5d30f01cd2fc40d037ba1c73f43 /media-sound/xmms2 | |
parent | kde-apps/marble: Add missing IUSE dbus cmake arg (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | media-sound/xmms2/xmms2-0.9.4.ebuild | 216 |
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 +} |