From 752d6256e5204b958b0ef7905675a940b5e9172f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 12 May 2022 16:42:50 +0300 Subject: gentoo resync : 12.05.2022 --- media-sound/xmms2/Manifest | 10 +- .../xmms2/files/xmms2-0.8_p20201016-ffmpeg5.patch | 2 + .../xmms2/files/xmms2-0.9.1-cpp-client.patch | 13 ++ media-sound/xmms2/files/xmms2-0.9.1-faad.patch | 13 ++ media-sound/xmms2/files/xmms2-0.9.1-rtvg.patch | 23 ++ media-sound/xmms2/metadata.xml | 1 - media-sound/xmms2/xmms2-0.8_p20201016-r1.ebuild | 236 --------------------- media-sound/xmms2/xmms2-0.9.1.ebuild | 224 +++++++++++++++++++ 8 files changed, 282 insertions(+), 240 deletions(-) create mode 100644 media-sound/xmms2/files/xmms2-0.9.1-cpp-client.patch create mode 100644 media-sound/xmms2/files/xmms2-0.9.1-faad.patch create mode 100644 media-sound/xmms2/files/xmms2-0.9.1-rtvg.patch delete mode 100644 media-sound/xmms2/xmms2-0.8_p20201016-r1.ebuild create mode 100644 media-sound/xmms2/xmms2-0.9.1.ebuild (limited to 'media-sound/xmms2') diff --git a/media-sound/xmms2/Manifest b/media-sound/xmms2/Manifest index 4f095edb3832..0c6689b107bc 100644 --- a/media-sound/xmms2/Manifest +++ b/media-sound/xmms2/Manifest @@ -2,10 +2,14 @@ AUX xmms2-0.8-rtvg.patch 1358 BLAKE2B 1544ae0719b02ad94c19239d7ad3b16d3df3a29e1a AUX xmms2-0.8_p20161122-cpp-client.patch 624 BLAKE2B fd08746e4ce3c83a1cfed7a6794e169f435da2a1fdf639ae2d948109a22526a5a68f03f1dfabeaabc022dda8b403d08b2cf3c6944429b1b748ee75ac69840caf SHA512 19af5f465c1e48a9ca780b6cad1348eb6fc315b05923f0d4ded7c6972e2cbb3213ad8adf994e13c80c1d69c47bee97660fccad85c9b98ab9752a0ff9f930ea7c AUX xmms2-0.8_p20161122-faad.patch 629 BLAKE2B e2dc8964d1002ff55be736e6b0370f946e9d8dbdeaab8f9f50bebce210b431894174e80fbba8bc77c79f048c69d8ece85585395840a09fce6b58fdaaf404494f SHA512 7a40d77cefcc483e6ee24a672b30ddd9f763e642bbac6baf88c315ea4a1aea9c87212627fd641f6107f76ab3185a762129ed02c2f090b2264f89016fe4ff2d5f AUX xmms2-0.8_p20161122-mac-4.patch 1215 BLAKE2B 746bcf75ce5b1f73ecb4023e776080674da5781d122f988ddb719ccdfb1da95fb632242004096a79861c0a9f0a3a49734a86bd8ac4c0541d3b3742cd722c8d44 SHA512 14b46640163f1d651e310d1bf08ec190a7449615c574952c19fa2c7f86215d83d3ee6d6cbe0f665a5fdd44ec44e44bc339a480ce753f16f2b49a4206dde1c12b -AUX xmms2-0.8_p20201016-ffmpeg5.patch 3705 BLAKE2B 9726bb58d45e71d72386bb76dabb9fc22a9a9dc10ed587406754ad1c524a2867215fcd0cc06884a7a8e2bdb39a79e3b2ebe465cbb54d49cacb5aa6a98760be63 SHA512 b9e02481914e8a29662358b71cd05145d942cdaed62ef357669f3d31d2579f1e7e5c5b9f21534e26beaa1dfc1b9396f3ab696bcb64a6bc706f5a300fc5ea0467 +AUX xmms2-0.8_p20201016-ffmpeg5.patch 3751 BLAKE2B 4ef9c4a1a9bf74491a9a099266b8b727ef9f0b6d6a5d05e2370932281e14a3f76a004fd1f24fe9457a9a1b6d6740ca14f7749385567ec148823b4d428c4ee677 SHA512 c18ed39ffe7d9bab5a4fa5cac25d90dbfad9d127baf8bc84adc9c25481a3ebf5267ec2848919ca340153ed384941c48121b2c6f820c7bfad2455bd17c8f68d4a +AUX xmms2-0.9.1-cpp-client.patch 503 BLAKE2B b8127c72ab8830cb0c4ca45c5c7887f194f5cbe0999167f8eadd803df75ecaaaf3b4246d691be1b6106dbede0b3293747fa6d1cfc5f151968dd26065aa9e3b15 SHA512 3b5703614a3afe49cadaf74b2d5e9d436232af62dc60248f929961806ab058ed8b06df0fd9ec0f958e2b454e3be75028117fc9c7a071bef1f9d2aa5496c448c5 +AUX xmms2-0.9.1-faad.patch 437 BLAKE2B 832db481404d470d347ee73ae04064d5ce423aca2a4a7681a80301e33522245429306e26eb200f9e111de60e2fa5341478f51282ee8c2264cf3b60a79b83a797 SHA512 7b5380762e311e1479073ca922343ce5d0dbfe2b3ab0f9218e2d85d52d8a37e301a6bb7bdfc0603b3f72578421df0ff335edb8bd9ea20e485cc1037a2197c62c +AUX xmms2-0.9.1-rtvg.patch 1076 BLAKE2B cb0eee29a4245850f2455fd7b12845017ddd2453d48d903386fcc083e4429389fb50b2fd296ebac41e101e68d7f030b646e65b2e493f351c91ec81a9672f6f77 SHA512 113b90339f4afc99f54eeb6776354c471ffa0d4e60d3525150ed2020af3d95dcca89aeaa849cd216c54f0d6eaf712f157c08145901a89b4cb0460c752c526e40 DIST waf-2.0.22.tar.bz2 687244 BLAKE2B feea82e7e6aaba1187f368aa00025f206a7217196de9be7a97ca6aa8882823decd79db38dda4f1f25e81541eaa44edf029eea8d57e28f7d31b94d9ee93201ea9 SHA512 a3a275fd4c81c7b7385c2da001f3924d272105b8f33839265ebbb38708051b7cb13b9b9019e84325707d04513de0c13b032b1ad21458aec6586d10df4ed8d5f5 DIST xmms2-0.8_p20201016.tar.gz 1720185 BLAKE2B e1cad8ed2ece9d8ce905ffe86de53bb4010639d83fd15700eefccf190034577ff8666f3557bfb23741ed8400eba1e6246ef28ff21c4dbbe499239da945befc74 SHA512 0e73771f56c341e5dea15451457426958217de3ac19cad1924c11740f96feb69e385242a27a9cf9258841ed4e6538c12e135492f715bfae6976b31fb358508bf +DIST xmms2-0.9.1.tar.bz2 1940773 BLAKE2B 4044499c2ffc55e66d5836e2e36360486b970ff05f0dc17b62e65111c06cfcc84f58c74427b1afa4455b4e0bdb7784dc8840cc84411bc57cb7b9f0cac4e46359 SHA512 a7d42202571d7eb5d9da4c9f5d55d2f6e072df52892080d6cc4349f66a55f5fece510c9872be9814dd5b258d0c59e2704ea8497c2d3be515c510d602c17b703a DIST xmms2-s4-0.8_p20201016.tar.gz 184231 BLAKE2B 0676f89b743e265af01593c215c609ae48ea368d861fd28b022b4124a00852182686a46ebf90ac44a10343f86ba5c398c47fd85e2688971b2b4445f3c3843af5 SHA512 f510141ca792893feba2c00d9bc437f492fdce7c29b12c9a8432792ca5a1703cc7068e1a9f4641abd50b320fefb5867fb5bc58a58b0b0272cf75828c764f94ed -EBUILD xmms2-0.8_p20201016-r1.ebuild 5876 BLAKE2B c200ded0045be9be4ce10c1434f6f1bc104344f893e62187159bc77f23cc745c30b3f45ed828e7e2814b70ed7b6a482bcbdb00d22f963aa283c40970747c3954 SHA512 0ad122574b7fcb2ad60c5ee0a898612a0beef3d661c7267336d52a589dab269dccfcdeb00c2cfd153113f72455aa1d8f9dddd6d9f7e3ccff13b40768d60ea4cd EBUILD xmms2-0.8_p20201016-r2.ebuild 5910 BLAKE2B 857f8877eed08b63640483f312fa99d9a626f2f32988f525c156d5416d1b3812740c63086a59cb0aadef6aaf51f4685706ff4ad1fadb30aadb063f8c0b3bd09e SHA512 4837be50ebf0560e263aa54bd98d462140e63a86456942f42efeb4869897274b5f5b5a643a80df67482ee755ed8230406d102db15cfa7d16b18526b52bd3b24d -MISC metadata.xml 1529 BLAKE2B 0f5c762b0325e767ba28410bd6838960e84df8a8f30ceda76833809b21b4e109f01caa2c4c5e234aacd4697f9a0a43d8fc1012f62261b8a1e9e458e2530b9dfe SHA512 be88d429da72efc944841bbb11c85dd6e746201eae90c20cc588bb5c42958315fc23bb9388396e971f0bc2069d4eb6dd9189b9c8f4c7cf4f343ca491f9d744be +EBUILD xmms2-0.9.1.ebuild 5505 BLAKE2B bb5d03e6b8dc67a3d5329d28d64553ef4aa60b2e11d9cd334054b8ca887af77e38cae215751ee136a57b058a0b0a3af7d5bf5cc322c4629918ac204e9da19395 SHA512 8eee7a7d1831a0b75eafec174b42cc197b76735eac11f7af1213db695d9d07e4bf36fafeaa6ffc6f4c63b244130f9b8b00ce07808203a53e57ebb4b7242cc837 +MISC metadata.xml 1437 BLAKE2B 7f3c3cd1d134ee5c24a9dc1990108012640b366a587832eda270bcef2bca91777f9358a067d351f9ac83c118680b60af2955a3f195a6adc20eb84dc334553fb8 SHA512 0533f6c30210a6c2f06cefd833df6fbd8ebfcc510e6bf05133210a57d7d05e45875d829555011b6827b8fc440cb0779f85d4ca17dd3e862cf0519e874e0d8c9f diff --git a/media-sound/xmms2/files/xmms2-0.8_p20201016-ffmpeg5.patch b/media-sound/xmms2/files/xmms2-0.8_p20201016-ffmpeg5.patch index 14f999643241..b338e57cdfca 100644 --- a/media-sound/xmms2/files/xmms2-0.8_p20201016-ffmpeg5.patch +++ b/media-sound/xmms2/files/xmms2-0.8_p20201016-ffmpeg5.patch @@ -1,6 +1,8 @@ Lazy migration from audio4 that's missing in ffmpeg5, may not be entirely right but tested to play at least .tta/.wma properly. +https://github.com/xmms2/xmms2-devel/pull/11 + Bug: https://bugs.gentoo.org/834398 Signed-off-by: Ionen Wolkens --- a/src/plugins/avcodec/avcodec.c diff --git a/media-sound/xmms2/files/xmms2-0.9.1-cpp-client.patch b/media-sound/xmms2/files/xmms2-0.9.1-cpp-client.patch new file mode 100644 index 000000000000..491c6fb9771d --- /dev/null +++ b/media-sound/xmms2/files/xmms2-0.9.1-cpp-client.patch @@ -0,0 +1,13 @@ +https://github.com/xmms2/xmms2-devel/pull/5 +From: Sergei Trofimovich +Date: Thu, 6 Dec 2018 07:19:08 +0000 +Subject: [PATCH] OTHER: fix c++ client dangling reference +--- a/src/include/xmmsclient/xmmsclient++/mainloop.h ++++ b/src/include/xmmsclient/xmmsclient++/mainloop.h +@@ -42,5 +42,5 @@ + * mainloop, not start it! + */ +- MainloopInterface( xmmsc_connection_t* conn ) : ++ MainloopInterface( xmmsc_connection_t*& conn ) : + running_( false ), conn_( conn ) { } + diff --git a/media-sound/xmms2/files/xmms2-0.9.1-faad.patch b/media-sound/xmms2/files/xmms2-0.9.1-faad.patch new file mode 100644 index 000000000000..6c282ed6d0a4 --- /dev/null +++ b/media-sound/xmms2/files/xmms2-0.9.1-faad.patch @@ -0,0 +1,13 @@ +This line has stopped working since security fixes in the faad 2.9.0 +release. XMMS2 upstream were informed via IRC but have yet to act on +it. I've run XMMS2 with this patch for months without issue. + +-- Chewi +--- a/src/plugins/faad/faad.c ++++ b/src/plugins/faad/faad.c +@@ -243,5 +243,4 @@ + * it frame 1. + */ +- NeAACDecPostSeekReset (data->decoder, 1); + + /* FIXME: Because for HE AAC files some versions of libfaad return the wrong diff --git a/media-sound/xmms2/files/xmms2-0.9.1-rtvg.patch b/media-sound/xmms2/files/xmms2-0.9.1-rtvg.patch new file mode 100644 index 000000000000..86f48ca066dc --- /dev/null +++ b/media-sound/xmms2/files/xmms2-0.9.1-rtvg.patch @@ -0,0 +1,23 @@ +Add knob to control valgrind usage during tests. +https://bugs.gentoo.org/424377 +--- a/waftools/unittest.py ++++ b/waftools/unittest.py +@@ -147,5 +147,6 @@ + def configure(conf): + conf.load("waf_unit_test") +- conf.find_program("valgrind", var="VALGRIND", mandatory=False) ++ if conf.options.enable_valgrind is True: ++ conf.find_program("valgrind", var="VALGRIND", mandatory=False) + conf.find_program("lcov", var="LCOV", mandatory=False) + conf.find_program("genhtml", var="GENHTML", mandatory=False) +--- a/wscript ++++ b/wscript +@@ -624,4 +624,8 @@ + opt.add_option('--without-ldconfig', action='store_false', + dest='ldconfig', help="Don't run ldconfig after install") ++ opt.add_option('--with-valgrind', action='store_true', default=None, ++ dest='enable_valgrind', help="Run testsuite under valgrind (if present).") ++ opt.add_option('--without-valgrind', action='store_false', default=None, ++ dest='enable_valgrind', help="Don't run testsuite under valgrind.") + + opt.recurse("src/xmms") diff --git a/media-sound/xmms2/metadata.xml b/media-sound/xmms2/metadata.xml index 7f08040bab7a..cbdd35464dea 100644 --- a/media-sound/xmms2/metadata.xml +++ b/media-sound/xmms2/metadata.xml @@ -7,7 +7,6 @@ Support for airplay format - Support for Advanced Systems Format (ASF) by using bundled libasf Enable fluidsynth support (MIDI) Support for various game audio formats using media-libs/game-music-emu Icecast source output plugin diff --git a/media-sound/xmms2/xmms2-0.8_p20201016-r1.ebuild b/media-sound/xmms2/xmms2-0.8_p20201016-r1.ebuild deleted file mode 100644 index 8672d4ed5099..000000000000 --- a/media-sound/xmms2/xmms2-0.8_p20201016-r1.ebuild +++ /dev/null @@ -1,236 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) -inherit multiprocessing optfeature perl-functions python-single-r1 toolchain-funcs - -XMMS2_COMMIT="46da10f0e20c53fd2b40843617ed182c0cba4ebb" -S4_COMMIT="652ac581df7a0bca04334da397f8bb4f86eb7b59" -WAF_VER="2.0.22" - -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/archive/${XMMS2_COMMIT}.tar.gz -> ${P}.tar.gz - https://github.com/xmms2/s4/archive/${S4_COMMIT}.tar.gz -> ${PN}-s4-${PV}.tar.gz - https://waf.io/waf-${WAF_VER}.tar.bz2" -S="${WORKDIR}/${PN}-devel-${XMMS2_COMMIT}" - -LICENSE="GPL-2+ LGPL-2.1+" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm 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` -XMMS2_OPTIONALS=( - cxx:xmmsclient++,xmmsclient++-glib :launcher mlib-update:medialib-updater - :nycli perl :pixmaps python server:s4 test:tests - # disabled: et,mdns,migrate-collections,ruby,sqlite2s4,vistest,xmmsclient-cf,xmmsclient-ecore -) -XMMS2_PLUGINS=( - aac:faad airplay alsa ao asf :asx cdda :cue curl :diskwrite :equalizer - ffmpeg:apefile,avcodec,flv,tta :file flac fluidsynth:fluidsynth,mid1,midsquash - gme :html ices :icymetaint :id3v2 jack :karaoke :m3u mac +mad mms modplug - mp3:mpg123 :mp4 musepack :normalize :null :nulstripper ofa opus oss :pls - pulseaudio:pulse :replaygain samba sid sndfile speex tremor vocoder +vorbis - :wave wavpack :xml xml:rss,xspf zeroconf:daap - # disabled: coreaudio,gvfs,nms,sc68,sun,waveout -) - -IUSE=" - ${XMMS2_OPTIONALS[@]%:*} - ${XMMS2_PLUGINS[@]%:*} - +server valgrind" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="!test? ( test ) !server? ( test )" - -COMMON_DEPEND=" - dev-libs/glib:2 - sys-libs/readline:= - 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 ) - mad? ( media-libs/libmad ) - mms? ( - media-libs/libmms - media-video/ffmpeg:= - ) - modplug? ( media-libs/libmodplug ) - mp3? ( media-sound/mpg123 ) - musepack? ( media-sound/musepack-tools ) - ofa? ( - dev-libs/expat - media-libs/libofa - sci-libs/fftw:3.0= - ) - opus? ( - media-libs/libogg - media-libs/opus - media-libs/opusfile - ) - pulseaudio? ( media-sound/pulseaudio ) - 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 - ) - ) - python? ( virtual/libcrypt:= )" -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}]') ) - test? ( valgrind? ( dev-util/valgrind ) )" - -PATCHES=( - "${FILESDIR}"/${PN}-0.8-rtvg.patch - "${FILESDIR}"/${PN}-0.8_p20161122-mac-4.patch - "${FILESDIR}"/${PN}-0.8_p20161122-cpp-client.patch - "${FILESDIR}"/${PN}-0.8_p20161122-faad.patch -) - -src_prepare() { - rmdir src/lib/s4 && mv ../s4-${S4_COMMIT} src/lib/s4 || die - mv ../waf-${WAF_VER}/waf{,lib} . || die - - default - - sed -e "s|/path/to/.*sf2|${EPREFIX}/usr/share/sounds/sf2/FluidR3_GM.sf2|" \ - -i src/plugins/fluidsynth/fluidsynth.c || die -} - -src_configure() { - local waf=( - ./waf configure - --prefix="${EPREFIX}"/usr - --libdir="${EPREFIX}"/usr/$(get_libdir) - --boost-includes="${ESYSROOT}"/usr/include # needed for prefix - --with-custom-version="%(version)s (git commit: ${XMMS2_COMMIT:0:8})" - --with-target-platform="${CHOST}" - ) - - 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 - waf+=( --without-xmms2d ) - fi - - for flag in "${XMMS2_OPTIONALS[@]}"; do - optionals+=$(xmms2_flag ${flag}) - done - - waf+=( - # pass even if empty to avoid automagic - --with-optionals=${optionals:1} - --with-plugins=${plugins:1} - ) - - if use perl; then - perl_set_version - waf+=( --with-perl-archdir="${ARCH_LIB}" ) - fi - - if use valgrind; then - if valgrind true &>/dev/null; then - waf+=( --with-valgrind ) - else - ewarn "valgrind was disabled due to failing a basic sanity check" #807271 - fi - fi - - tc-export AR CC CXX - - echo "${waf[*]}" - "${waf[@]}" || die -} - -src_compile() { - ./waf build -j$(makeopts_jobs) --verbose --notests || die -} - -src_test() { - ./waf --alltests || die -} - -src_install() { - ./waf install --destdir="${D}" --without-ldconfig --notests || die - - einstalldocs - - use python && python_optimize - - # to avoid editing waftools/man.py (use find given not always installed) - find "${ED}" -name '*.gz' -exec gzip -d {} + || die -} - -pkg_postinst() { - use fluidsynth && optfeature "the default MIDI soundfont" media-sound/fluid-soundfont -} diff --git a/media-sound/xmms2/xmms2-0.9.1.ebuild b/media-sound/xmms2/xmms2-0.9.1.ebuild new file mode 100644 index 000000000000..3352a282436e --- /dev/null +++ b/media-sound/xmms2/xmms2-0.9.1.ebuild @@ -0,0 +1,224 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit multiprocessing optfeature perl-functions python-single-r1 toolchain-funcs + +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.bz2" + +LICENSE="GPL-2+ LGPL-2.1+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~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 fill a bug) +XMMS2_OPTIONALS=( + cxx:xmmsclient++,xmmsclient++-glib :launcher mlib-update:medialib-updater + :nycli perl :pixmaps python server:s4 test:tests + # disabled: et,mdns,migrate-collections,ruby,sqlite2s4,vistest,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 mms modplug + mp3:mpg123 :mp4 musepack :normalize :null :nulstripper ofa opus oss :pls + pulseaudio:pulse :replaygain samba sid sndfile speex tremor vocoder +vorbis + :wave wavpack :xml xml:rss,xspf zeroconf:daap + # disabled: coreaudio,gvfs,nms,sc68,sun,waveout +) + +IUSE=" + ${XMMS2_OPTIONALS[@]%:*} + ${XMMS2_PLUGINS[@]%:*} + +server valgrind" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test ) !server? ( test )" + +COMMON_DEPEND=" + dev-libs/glib:2 + sys-libs/readline:= + 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 ) + mad? ( media-libs/libmad ) + mms? ( + media-libs/libmms + media-video/ffmpeg:= + ) + modplug? ( media-libs/libmodplug ) + mp3? ( media-sound/mpg123 ) + musepack? ( media-sound/musepack-tools ) + ofa? ( + dev-libs/expat + media-libs/libofa + sci-libs/fftw:3.0= + ) + opus? ( + media-libs/libogg + media-libs/opus + media-libs/opusfile + ) + pulseaudio? ( || ( media-libs/libpulse media-sound/pulseaudio ) ) + 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}]') ) + test? ( valgrind? ( dev-util/valgrind ) )" + +PATCHES=( + "${FILESDIR}"/${PN}-0.9.1-cpp-client.patch + "${FILESDIR}"/${PN}-0.9.1-faad.patch + "${FILESDIR}"/${PN}-0.9.1-rtvg.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() { + local waf=( + ./waf configure + --prefix="${EPREFIX}"/usr + --libdir="${EPREFIX}"/usr/$(get_libdir) + --boost-includes="${ESYSROOT}"/usr/include # needed for prefix + --with-target-platform="${CHOST}" + ) + + 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 + waf+=( --without-xmms2d ) + fi + + for flag in "${XMMS2_OPTIONALS[@]}"; do + optionals+=$(xmms2_flag ${flag}) + done + + waf+=( + # pass even if empty to avoid automagic + --with-optionals=${optionals:1} + --with-plugins=${plugins:1} + ) + + if use perl; then + perl_set_version + waf+=( --with-perl-archdir="${ARCH_LIB}" ) + fi + + if use valgrind; then + if valgrind true &>/dev/null; then + waf+=( --with-valgrind ) + else + ewarn "valgrind was disabled due to failing a basic sanity check" #807271 + fi + fi + + tc-export AR CC CXX + + echo "${waf[*]}" + "${waf[@]}" || die +} + +src_compile() { + ./waf build -j$(makeopts_jobs) --verbose --notests || die +} + +src_test() { + ./waf --alltests || die +} + +src_install() { + ./waf install --destdir="${D}" --without-ldconfig --notests || die + + dodoc AUTHORS README.mdown *.ChangeLog + + use python && python_optimize + + # to avoid editing waftools/man.py (use find given not always installed) + find "${ED}" -name '*.gz' -exec gzip -d {} + || die +} + +pkg_postinst() { + use fluidsynth && optfeature "the default MIDI soundfont" media-sound/fluid-soundfont +} -- cgit v1.2.3