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/, media-sound/xmms2/files/
Date: Sun,  1 Jul 2018 21:27:40 +0000 (UTC)	[thread overview]
Message-ID: <1530480238.c249fe51047dbe5bc689bda6a98e3d47bb1aa387.slyfox@gentoo> (raw)

commit:     c249fe51047dbe5bc689bda6a98e3d47bb1aa387
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  1 21:23:58 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Jul  1 21:23:58 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c249fe51

media-sound/xmms2: install perl modules into /usr, not /usr/local

$ perl -MConfig -e 'print "$Config{archlib}\n"'
/usr/lib64/perl5/5.24.3/x86_64-linux
$ perl -MConfig -e 'print "$Config{sitearch}\n"'
/usr/local/lib64/perl5/5.24.3/x86_64-linux

Package-Manager: Portage-2.3.41, Repoman-2.3.9

 .../files/xmms2-0.8_p20161122-perl-no-local.patch  |  17 ++
 media-sound/xmms2/xmms2-0.8_p20161122-r4.ebuild    | 297 +++++++++++++++++++++
 2 files changed, 314 insertions(+)

diff --git a/media-sound/xmms2/files/xmms2-0.8_p20161122-perl-no-local.patch b/media-sound/xmms2/files/xmms2-0.8_p20161122-perl-no-local.patch
new file mode 100644
index 00000000000..af18825ac00
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.8_p20161122-perl-no-local.patch
@@ -0,0 +1,17 @@
+Install perl modules into /usr, not /usr/local.
+
+$ perl -MConfig -e 'print "$Config{archlib}\n"'
+/usr/lib64/perl5/5.24.3/x86_64-linux
+$ perl -MConfig -e 'print "$Config{sitearch}\n"'
+/usr/local/lib64/perl5/5.24.3/x86_64-linux
+--- a/waflib/Tools/perl.py
++++ b/waflib/Tools/perl.py
+@@ -75,7 +75,7 @@ def check_perl_ext_devel(self):
+ 	env.EXTUTILS_TYPEMAP=cfg_lst('$Config{privlib}/ExtUtils/typemap')
+ 	env.XSUBPP=find_xsubpp()
+ 	if not getattr(Options.options,'perlarchdir',None):
+-		env.ARCHDIR_PERL=cfg_str('$Config{sitearch}')
++		env.ARCHDIR_PERL=cfg_str('$Config{archlib}')
+ 	else:
+ 		env.ARCHDIR_PERL=getattr(Options.options,'perlarchdir')
+ 	env.perlext_PATTERN='%s.'+cfg_str('$Config{dlext}')

diff --git a/media-sound/xmms2/xmms2-0.8_p20161122-r4.ebuild b/media-sound/xmms2/xmms2-0.8_p20161122-r4.ebuild
new file mode 100644
index 00000000000..44013523f07
--- /dev/null
+++ b/media-sound/xmms2/xmms2-0.8_p20161122-r4.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="ruby23 ruby24 ruby25"
+
+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 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 )
+		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
+	eapply "${FILESDIR}/${PN}"-0.8_p20161122-perl-no-local.patch
+	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
+					"DISABLED	gvfs" # obsolete #647604
+					"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-07-01 21:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-01 21:27 Sergei Trofimovich [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-24 11:01 [gentoo-commits] repo/gentoo:master commit in: media-sound/xmms2/, media-sound/xmms2/files/ Ionen Wolkens
2020-04-14  8:41 James Le Cuirot
2020-01-28 19:58 Sergei Trofimovich
2017-11-04 18:14 Sergei Trofimovich
2016-04-02 12:04 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=1530480238.c249fe51047dbe5bc689bda6a98e3d47bb1aa387.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