public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sergei Trofimovich" <slyfox@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/xmms2/
Date: Mon,  5 Feb 2018 09:41:47 +0000 (UTC)	[thread overview]
Message-ID: <1517823703.f29596974cca3b7acb8ecea5d4fe9fc7a26467a5.slyfox@gentoo> (raw)

commit:     f29596974cca3b7acb8ecea5d4fe9fc7a26467a5
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Mon Feb  5 09:41:20 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Mon Feb  5 09:41:43 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2959697

media-sound/xmms2: use virtual/jack instead of media-sound/jack

Noticed and reported as working by korans!

Package-Manager: Portage-2.3.20, Repoman-2.3.6

 media-sound/xmms2/xmms2-0.8_p20161122-r2.ebuild | 297 ++++++++++++++++++++++++
 1 file changed, 297 insertions(+)

diff --git a/media-sound/xmms2/xmms2-0.8_p20161122-r2.ebuild b/media-sound/xmms2/xmms2-0.8_p20161122-r2.ebuild
new file mode 100644
index 00000000000..4471878ba15
--- /dev/null
+++ b/media-sound/xmms2/xmms2-0.8_p20161122-r2.ebuild
@@ -0,0 +1,297 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+USE_RUBY="ruby20 ruby21 ruby22"
+
+inherit eutils multiprocessing python-single-r1 ruby-single toolchain-funcs
+
+# generated as 'python2 ./utils/gen-tarball.py' from clean git tree
+MY_P="${P%_p*}DrO_o-949-gca15e830"
+
+DESCRIPTION="X(cross)platform Music Multiplexing System. Next generation of the XMMS player"
+HOMEPAGE="https://xmms2.org/wiki/Main_Page"
+#SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+SRC_URI="https://dev.gentoo.org/~slyfox/distfiles/${MY_P}.tar.bz2"
+LICENSE="GPL-2 LGPL-2.1"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~x86"
+
+IUSE="aac airplay +alsa ao asf cdda curl cxx ffmpeg flac fluidsynth gvfs ices
+jack mac mlib-update mms +mad modplug mp3 mp4 musepack ofa opus oss
+perl phonehome pulseaudio python ruby samba +server sid sndfile speex
+test valgrind +vorbis vocoder wavpack xml zeroconf"
+
+RDEPEND="server? (
+		>=dev-db/sqlite-3.3.4
+
+		aac? ( >=media-libs/faad2-2.0 )
+		airplay? ( dev-libs/openssl:0= )
+		alsa? ( media-libs/alsa-lib )
+		ao? ( media-libs/libao )
+		cdda? ( dev-libs/libcdio-paranoia
+			>=media-libs/libdiscid-0.1.1
+			>=media-sound/cdparanoia-3.9.8 )
+		curl? ( >=net-misc/curl-7.15.1 )
+		ffmpeg? ( virtual/ffmpeg )
+		flac? ( media-libs/flac )
+		fluidsynth? ( media-sound/fluidsynth )
+		gvfs? ( gnome-base/gnome-vfs )
+		ices? ( media-libs/libogg
+			media-libs/libshout
+			media-libs/libvorbis )
+		jack? ( virtual/jack )
+		mac? ( media-sound/mac )
+		mms? ( virtual/ffmpeg
+			>=media-libs/libmms-0.3 )
+		modplug? ( media-libs/libmodplug )
+		mad? ( media-libs/libmad )
+		mp3? ( >=media-sound/mpg123-1.5.1 )
+		musepack? ( media-sound/musepack-tools )
+		ofa? ( media-libs/libofa )
+		opus? ( media-libs/opus
+			media-libs/opusfile )
+		pulseaudio? ( media-sound/pulseaudio )
+		samba? ( >=net-fs/samba-4.2 )
+		sid? ( media-sound/sidplay
+			media-libs/resid )
+		sndfile? ( media-libs/libsndfile )
+		speex? ( media-libs/speex
+			media-libs/libogg )
+		vorbis? ( media-libs/libvorbis )
+		vocoder? ( sci-libs/fftw:3.0= media-libs/libsamplerate )
+		wavpack? ( media-sound/wavpack )
+		xml? ( dev-libs/libxml2 )
+		zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
+	)
+
+	>=dev-libs/glib-2.12.9
+	cxx? ( >=dev-libs/boost-1.32 )
+	perl? ( >=dev-lang/perl-5.8.8 )
+	python? ( ${PYTHON_DEPS} )
+	ruby? ( ${RUBY_DEPS} )
+"
+
+DEPEND="${RDEPEND}
+	dev-lang/python
+	virtual/pkgconfig
+	perl? ( dev-perl/Module-Build
+		virtual/perl-Module-Metadata )
+	python? ( >=dev-python/cython-0.15.1
+		dev-python/pyrex )
+	test? ( dev-util/cunit
+		valgrind? ( dev-util/valgrind ) )
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+	# used both for building xmms2 and
+	# optionally linking client library
+	# against python
+	python-single-r1_pkg_setup
+}
+
+# use_enable() is taken as proto
+# $1 - useflag
+# $2 - xmms2 option/plugin name (equals to $1 if not set)
+
+xmms2_flag() {
+	[[ -z $1 ]] && eerror "!!! empty arg. usage: xmms2_flag <USEFLAG> [<xmms2_flagname>]."
+
+	local UWORD=${2:-$1}
+
+	case $1 in
+		ENABLED)
+			echo ",${UWORD}"
+			;;
+		DISABLED)
+			;;
+		*)
+			use $1 && echo ",${UWORD}"
+			;;
+	esac
+}
+
+src_prepare() {
+	./waf # inflate waf
+	cd .waf* || die
+	# needs port
+	#epatch "${FILESDIR}/${PN}"-0.8DrO_o-waflib-fix-perl.patch #578778
+	cd "${S}"
+
+	eapply "${FILESDIR}/${PN}"-0.8-ffmpeg2.patch #536232
+
+	eapply "${FILESDIR}/${PN}"-0.8-rtvg.patch #424377
+
+	# required to build tarball from git tree
+	eapply "${FILESDIR}/${P}"-tarball.patch
+
+	# fix hash to be the same on LE/BE platforms
+	eapply "${FILESDIR}/${P}"-be-hash.patch
+
+	# handle mac-3 -> -4 API change
+	eapply "${FILESDIR}/${P}"-mac-4.patch
+
+	eapply_user
+}
+
+src_configure() {
+	# ./configure alike options.
+	local waf_params="--prefix=/usr \
+			--libdir=/usr/$(get_libdir) \
+			--with-target-platform=${CHOST} \
+			--mandir=/usr/share/man \
+			--infodir=/usr/share/info \
+			--datadir=/usr/share \
+			--sysconfdir=/etc \
+			--localstatedir=/var/lib"
+
+	local optionals=""
+	local plugins=""
+	if ! use server ; then
+		waf_params+=" --without-xmms2d"
+	else
+		# some fun static mappings:
+		local option_map=(	# USE		# sorted xmms2 option flag (same, as USE if empty)
+					"phonehome	et"
+					"ENABLED	launcher"
+					"mlib-update	medialib-updater"
+					"ENABLED	nycli"
+					"		perl"
+					"ENABLED	pixmaps"
+					"		python"
+					"		ruby"
+					"DISABLED	tests"
+					"DISABLED	vistest"
+					"cxx		xmmsclient++"
+					"cxx		xmmsclient++-glib"
+					"DISABLED	xmmsclient-cf"
+					"DISABLED	xmmsclient-ecore" # not in tree
+
+					"test		tests"
+				)
+
+		local plugin_map=(	# USE		# sorted xmms2 plugin flag (same, as USE if empty)
+					"		alsa"
+					"		airplay"
+					"		ao"
+					"ffmpeg		apefile"
+					"ffmpeg		avcodec"
+					"		asf"
+					"ENABLED	asx"
+					"		cdda"
+					"DISABLED	coreaudio" # MacOS only?
+					"		curl"
+					"ENABLED	cue"
+					"zeroconf	daap"
+					"ENABLED	diskwrite"
+					"ENABLED	equalizer"
+					"aac		faad"
+					"ENABLED	file"
+					"		flac"
+					"		fluidsynth"
+					"ffmpeg		flv"
+					"ffmpeg		tta"
+					"DISABLED	gme" # not in tree
+					"		gvfs"
+					"ENABLED	html"
+					"		ices"
+					"ENABLED	icymetaint"
+					"ENABLED	id3v2"
+					"		jack"
+					"ENABLED	karaoke"
+					"ENABLED	m3u"
+					"		mac"
+					"		mms"
+					"		mad"
+					"ENABLED	midsquash"
+					"		mp4" # bug #387961 (aac, mp3, ape can sit there)
+					"mp3		mpg123"
+					"		modplug"
+					"		musepack"
+					"DISABLED	nms" # not in tree
+					"ENABLED	normalize"
+					"ENABLED	null"
+					"ENABLED	nulstripper"
+					"		ofa"
+					"		opus"
+					"		oss"
+					"ENABLED	pls"
+					"pulseaudio	pulse"
+					"ENABLED	replaygain"
+					"xml		rss"
+					"		samba"
+					"DISABLED	sc68" #not in tree
+					"		sid"
+					"		sndfile"
+					"		speex"
+					"DISABLED	sun" # {Open,Net}BSD only
+					"DISABLED	tremor" # not in tree
+					"		vorbis"
+					"		vocoder"
+					"ffmpeg		tta"
+					"ENABLED	wave"
+					"DISABLED	waveout" # windows only
+					"		wavpack"
+					"xml		xspf"
+					"ENABLED	xml"
+				)
+
+		local option
+		for option in "${option_map[@]}"; do
+			optionals+=$(xmms2_flag $option)
+		done
+
+		local plugin
+		for plugin in "${plugin_map[@]}"; do
+			plugins+=$(xmms2_flag $plugin)
+		done
+	fi # ! server
+
+	# pass them explicitely even if empty as we try to avoid magic deps
+	waf_params+=" --with-optionals=${optionals:1}" # skip first ',' if yet
+	waf_params+=" --with-plugins=${plugins:1}"
+	waf_params+=" $(use_with valgrind)"
+
+	CC="$(tc-getCC)"         \
+	CPP="$(tc-getCPP)"       \
+	AR="$(tc-getAR)"         \
+	RANLIB="$(tc-getRANLIB)" \
+	CXX="$(tc-getCXX)"       \
+	    ./waf configure ${waf_params} || die "'waf configure' failed"
+}
+
+src_compile() {
+	# waf is very keen to run tests in build phase (bug #424377) but
+	# it does not bother running tests twice, so the hack below works:
+	./waf --verbose build || ./waf --verbose build || die "waf build failed"
+}
+
+src_test() {
+	# rerun tests
+	./waf --alltests || die "waf --alltests failed"
+}
+
+src_install() {
+	./waf --without-ldconfig --destdir="${D}" install || die "'waf install' failed"
+	dodoc AUTHORS TODO
+}
+
+pkg_postinst() {
+	elog "This version is built on experimental development code"
+	elog "If you encounter any errors report them at https://bugs.xmms2.org"
+	elog "and visit #xmms2 at irc://irc.freenode.net"
+	if use phonehome ; then
+		einfo ""
+		einfo "The phone-home client xmms2-et was activated"
+		einfo "This client sends anonymous usage-statistics to the xmms2"
+		einfo "developers which may help finding bugs"
+		einfo "Disable the phonehome useflag if you don't like that"
+	fi
+}


             reply	other threads:[~2018-02-05  9:41 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-05  9:41 Sergei Trofimovich [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-10-07 23:42 [gentoo-commits] repo/gentoo:master commit in: media-sound/xmms2/ Ionen Wolkens
2024-09-03 12:31 Ionen Wolkens
2023-10-15  0:49 Ionen Wolkens
2023-10-04 22:56 Ionen Wolkens
2023-10-04 22:44 Ionen Wolkens
2023-07-23 23:18 Ionen Wolkens
2023-06-02  6:54 Ionen Wolkens
2023-05-12 19:00 Ionen Wolkens
2023-04-20 10:37 WANG Xuerui
2023-04-19 15:14 Ionen Wolkens
2023-03-06 13:06 Arthur Zamarin
2023-03-06 12:51 Arthur Zamarin
2023-03-06 12:51 Arthur Zamarin
2023-02-11 20:47 Ionen Wolkens
2022-11-29 21:32 Ionen Wolkens
2022-11-29 21:19 Ionen Wolkens
2022-11-29 21:19 Ionen Wolkens
2022-09-27 23:46 Ionen Wolkens
2022-09-10  8:41 Sam James
2022-06-02 15:07 Ionen Wolkens
2022-05-30  6:57 Agostino Sarubbo
2022-05-29  7:22 Jakov Smolić
2022-05-29  7:22 Jakov Smolić
2022-04-18 14:38 Ionen Wolkens
2022-04-15  6:19 Arthur Zamarin
2022-04-14 19:36 Jakov Smolić
2022-04-14 19:36 Jakov Smolić
2022-03-16  3:42 Ionen Wolkens
2021-10-16 19:38 Andreas K. Hüttel
2021-09-21 16:35 Sam James
2021-09-19 22:12 Sam James
2021-09-19 21:35 Agostino Sarubbo
2021-09-19  4:59 Ionen Wolkens
2021-08-19 23:29 Ionen Wolkens
2021-08-19 22:50 Ionen Wolkens
2021-08-19 22:50 Ionen Wolkens
2021-08-19 22:50 Ionen Wolkens
2021-08-05 23:03 Ionen Wolkens
2021-08-04  9:01 Sergei Trofimovich
2021-07-09 17:33 Sergei Trofimovich
2021-06-05 10:50 Sergei Trofimovich
2021-05-15 13:58 Sergei Trofimovich
2020-11-10 23:49 Sergei Trofimovich
2020-10-15 23:05 Sergei Trofimovich
2020-07-22  9:02 Hans de Graaff
2020-05-29 22:13 Sergei Trofimovich
2020-05-12  6:39 Agostino Sarubbo
2020-05-11 11:28 Agostino Sarubbo
2020-05-09 22:37 Sergei Trofimovich
2020-04-26 10:35 David Seifert
2020-03-26  9:39 James Le Cuirot
2020-03-22 10:56 Agostino Sarubbo
2020-03-22 10:54 Agostino Sarubbo
2020-03-22 10:53 Agostino Sarubbo
2020-03-14 17:30 Sergei Trofimovich
2020-03-14 17:30 Sergei Trofimovich
2020-03-14 17:30 Sergei Trofimovich
2020-02-10 12:12 Michał Górny
2019-11-09 21:20 Sergei Trofimovich
2019-11-09 21:20 Sergei Trofimovich
2019-04-08 17:43 Hans de Graaff
2018-09-13 19:23 Tobias Klausmann
2018-09-07 23:46 Sergei Trofimovich
2018-08-18  3:52 Mikle Kolyada
2018-08-16  0:39 Thomas Deutschmann
2018-07-01 21:27 Sergei Trofimovich
2018-06-25 19:24 Hans de Graaff
2018-04-14  7:26 Hans de Graaff
2018-02-15 22:01 Sergei Trofimovich
2018-02-04 21:31 Sergei Trofimovich
2017-11-26 23:11 David Seifert
2017-11-12 10:00 Sergei Trofimovich
2017-09-20 21:49 James Le Cuirot
2017-07-29 21:26 Sergei Trofimovich
2017-07-16 11:08 Tobias Klausmann
2017-07-15 17:25 Tobias Klausmann
2017-07-04 21:56 Sergei Trofimovich
2017-06-21 21:24 James Le Cuirot
2016-12-20 15:51 Tobias Klausmann
2016-12-19 14:21 Lars Wendler
2016-11-11 10:22 Sergei Trofimovich
2016-10-02 12:37 Pacho Ramos
2016-09-26 15:22 Tobias Klausmann
2016-06-14 14:24 Sergei Trofimovich
2016-05-21  8:00 Sergei Trofimovich
2016-04-02  9:06 Sergei Trofimovich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1517823703.f29596974cca3b7acb8ecea5d4fe9fc7a26467a5.slyfox@gentoo \
    --to=slyfox@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox