forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
media-sound/xmms2: bump up to 0.8_p20161122, latest snapshot
This bump is a snapshot of a xmms2-devel/master git branch. Devel tree has fixes like: - waf bump (ruby-2.1 support) - ffmpeg/libav upstream patches - new plugins - new s4 storage as a database (instead of sqlite) - many other things It's a a bit hard to backport patches to 6 years old release. Reported-by: Toralf Förster Bug: https://bugs.gentoo.org/618850 Package-Manager: Portage-2.3.6, Repoman-2.3.2
- Loading branch information
Sergei Trofimovich
committed
May 20, 2017
1 parent
7ce38b3
commit 88e32c6
Showing
5 changed files
with
374 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST xmms2-0.8DrO_o-949-gca15e830.tar.bz2 1928653 SHA256 58bd62f1e3ca83d4d82ad6854ee769b97238fc1c89967262c0e9e9e20e35092e SHA512 affd7fdd259cdb952e972b62f24ab8eb6afd2c87786254a7ae81adffdcfe1454dcf2fb95811a8b90db74dba84918526fd8c920e11582b36aa48725f293c73edb WHIRLPOOL 438d33793b808dd151b27ac51af9998b819ffc03cbc0ce789d693192f8aa5cab3c48402ef83f2b8fe1442dd9130248f561b1fe466168c0569c2e017ee1a0ede3 | ||
DIST xmms2-0.8DrO_o.tar.bz2 1670726 SHA256 c77e41e7bd5788889d5a2f78331ca8c748b8721bd2e59f36c36ad4c7cae8694a SHA512 478103d80264c0cb32912e828f74d0f5b2f10fe310f530a87ebecda7ca547a69e238cd572788f90bda29494494160d459fa6d1356b4fb87c7a8f0bf02e3b75f8 WHIRLPOOL 741dd85b8c065eea799675588a8d4c389c47fa3dcf129a9fd799bb5da0ffcb1eeffa45cfaca40af7c505908818b5e7960c1a54e947f53358edeb43841f2eaa5c |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
diff --git a/utils/gen-changelog.py b/utils/gen-changelog.py | ||
index b539088a..301c0461 100755 | ||
--- a/utils/gen-changelog.py | ||
+++ b/utils/gen-changelog.py | ||
@@ -1,4 +1,4 @@ | ||
-#!/usr/bin/python | ||
+#!/usr/bin/python2 | ||
from subprocess import check_output | ||
import os | ||
|
||
diff --git a/utils/gen-tarball.py b/utils/gen-tarball.py | ||
index 2ae2a4d1..09ed5074 100755 | ||
--- a/utils/gen-tarball.py | ||
+++ b/utils/gen-tarball.py | ||
@@ -1,4 +1,4 @@ | ||
-#!/usr/bin/env python | ||
+#!/usr/bin/env python2 | ||
from subprocess import check_output, call | ||
import tarfile | ||
import os | ||
@@ -40,15 +40,19 @@ def add_files(ball, prefix, template, files): | ||
|
||
VERSION = check_output(["git", "describe"]).strip() | ||
|
||
+# TODO: derive paths from submodule configuration | ||
TUTORIAL_DIR="doc/tutorial" | ||
+S4_DIR="src/lib/s4" | ||
|
||
PREFIX="xmms2-%s" % VERSION | ||
PREFIX_TUTORIAL="%s/%s" % (PREFIX, TUTORIAL_DIR) | ||
+PREFIX_S4="%s/%s" % (PREFIX, S4_DIR) | ||
|
||
DIST_DIR="dist" | ||
DIST_XMMS2="%s/xmms2-%s.tar" % (DIST_DIR, VERSION) | ||
DIST_XMMS2_BZ2="%s/xmms2-%s.tar.bz2" % (DIST_DIR, VERSION) | ||
DIST_TUTORIAL="%s/xmms2-tutorial-%s.tar" % (DIST_DIR, VERSION) | ||
+DIST_S4="%s/xmms2-tutorial-%s.tar" % (DIST_DIR, VERSION) | ||
|
||
if not os.path.exists(DIST_DIR): | ||
os.mkdir(DIST_DIR) | ||
@@ -62,6 +66,9 @@ if os.path.exists(DIST_XMMS2_BZ2): | ||
if os.path.exists(DIST_TUTORIAL): | ||
os.unlink(DIST_TUTORIAL) | ||
|
||
+if os.path.exists(DIST_S4): | ||
+ os.unlink(DIST_S4) | ||
+ | ||
# Tar up XMMS2 | ||
call("git archive --format=tar --prefix=%s/ HEAD > %s" % (PREFIX, DIST_XMMS2), shell=True) | ||
|
||
@@ -69,9 +76,11 @@ call("git archive --format=tar --prefix=%s/ HEAD > %s" % (PREFIX, DIST_XMMS2), s | ||
call("git submodule init", shell=True) | ||
call("git submodule update", shell=True) | ||
call("git --git-dir=%s/.git archive --format=tar --prefix=%s/ HEAD > %s" % (TUTORIAL_DIR, PREFIX_TUTORIAL, DIST_TUTORIAL), shell=True) | ||
+call("git --git-dir=%s/.git archive --format=tar --prefix=%s/ HEAD > %s" % (S4_DIR, PREFIX_S4, DIST_S4), shell=True) | ||
|
||
-# Append the tutorials to the XMMS2 archive | ||
+# Append the tutorials and s4 to the XMMS2 archive | ||
call("tar -Af %s %s" % (DIST_XMMS2, DIST_TUTORIAL), shell=True) | ||
+call("tar -Af %s %s" % (DIST_XMMS2, DIST_S4), shell=True) | ||
|
||
# Append ChangeLog and a summary of all file hashes." | ||
add_files(DIST_XMMS2, PREFIX, get_template(DIST_XMMS2, os.path.join(PREFIX, "wscript")), [ | ||
diff --git a/utils/gen-tree-hashes.py b/utils/gen-tree-hashes.py | ||
index 7f8b9e4f..9d27adb0 100755 | ||
--- a/utils/gen-tree-hashes.py | ||
+++ b/utils/gen-tree-hashes.py | ||
@@ -1,4 +1,4 @@ | ||
-#!/usr/bin/env python | ||
+#!/usr/bin/env python2 | ||
from subprocess import check_output | ||
from operator import itemgetter | ||
import os | ||
@@ -21,3 +21,4 @@ def collect_hashes(*paths): | ||
|
||
print check_output("git describe", shell=True) | ||
print collect_hashes(".", "doc/tutorial") | ||
+print collect_hashes(".", "src/lib/s4") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,292 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
# waf fails on python3_5: AttributeError: Can't pickle local object 'Context.__init__.<locals>.node_class' | ||
PYTHON_COMPAT=( python{2_7,3_4} ) | ||
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="http://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 ~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? ( >=media-sound/jack-audio-connection-kit-0.101.1 ) | ||
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 | ||
|
||
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 http://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 | ||
} |