Date: Wednesday, September 23, 2015 @ 13:30:56 Author: spupykin Revision: 141526
upgpkg: xmms2 0.8DrO_o.882.g942b17f-1 upd Added: xmms2/trunk/install.sh xmms2/trunk/system.service xmms2/trunk/tmpfiles.conf xmms2/trunk/user.service Modified: xmms2/trunk/PKGBUILD Deleted: xmms2/trunk/ffmpeg2.0.patch xmms2/trunk/remove-problem-depr.patch xmms2/trunk/xmms2.install xmms2/trunk/xmms2d.conf xmms2/trunk/xmms2d.service ---------------------------+ PKGBUILD | 187 +++++++++++++++++++++++--------------------- ffmpeg2.0.patch | 37 -------- install.sh | 12 ++ remove-problem-depr.patch | 26 ------ system.service | 17 ++++ tmpfiles.conf | 2 user.service | 13 +++ xmms2.install | 3 xmms2d.conf | 31 ------- xmms2d.service | 12 -- 10 files changed, 143 insertions(+), 197 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-09-23 09:17:11 UTC (rev 141525) +++ PKGBUILD 2015-09-23 11:30:56 UTC (rev 141526) @@ -1,108 +1,119 @@ -# $Id$ # Maintainer: Sergej Pupykin <pupykin.s+a...@gmail.com> +# Contributor: Storm Dragon <stormdragon2...@gmail.com> +# Contributor: Aaron 'venisonslurpee' Laursen <venisonslur...@gmail.com> +# Contributor: Christopher Rosell <chri...@tanuki.se> +# Contributor: lh <jarry...@gmail.com> +# Contributor: Sebastian Schwarz <sesch...@gmail.com> +# Contributor: Sergej Pupykin <pupykin.s+a...@gmail.com> +# Contributor: Xilon <xi...@gmail.com> pkgname=xmms2 -pkgver=0.8DrO_o -pkgrel=35 -pkgdesc="complete rewrite of the popular music player" -arch=('i686' 'x86_64') -url="http://xmms2.org/" -license=('LGPL') -backup=('etc/conf.d/xmms2d.conf') -depends=('sqlite' 'libmad') -makedepends=('alsa-lib' 'boost' 'curl' 'faad2' 'ffmpeg' 'fftw' 'flac' 'glib2' - 'jack' 'libao' 'libmms' 'libmpcdec' 'libofa' 'libsamplerate' 'libshout' - 'libdiscid' 'libcdio-paranoia' - 'libvorbis' 'libxml2' 'mpg123' 'perl' 'pulseaudio' 'pyrex' - 'ruby' 'smbclient' 'speex' 'wavpack' 'libmodplug' 'python' 'python2' 'libgme' 'avahi' - 'cython' 'cython2') -optdepends=('alsa-lib: ALSA audio output' - 'avahi: announce xmms2d via bonjour/mDNS/zeroconf' - 'boost: C++ language bindings' - 'curl: play HTTP streams' - 'faad2: AAC support' - 'ffmpeg: WMA, avcodec & avformat support' - 'fftw: calculations for visualization' - 'flac: FLAC support' - 'jack: JACK audio output' - 'libao: liboa audio output' - 'libgme: game-music-emu support' - 'libdiscid: cdda support' - 'libcdio-paranoia: cdda support' - 'libofa: MusicDNS fingerprinting' - 'libmms: play MMS streams' - 'libmodplug: to play MOD files' - 'libmpcdec: Musepack support' - 'libsamplerate: vocoder support' - 'libshout: Icecast audio output' - 'libvorbis: Ogg Vorbis support' - 'libxml2: XSPF and podcast support' - 'mpg123: alternative MP3 plugin' - 'perl: Perl language bindings' - 'pulseaudio: PulseAudio audio output' - 'pyrex: Python language bindings' - 'ruby: Ruby language bindings' - 'smbclient: direct CIFS/SMB access' - 'speex: Speex support' - 'wavpack: WavPack support') -# 'sidplay: to play a Commodore 64 music files AKA zaks' +pkgver=0.8DrO_o.882.g942b17f +pkgrel=1 +pkgdesc="X-platform Music Multiplexing System 2" +arch=(i686 x86_64) +url="https://xmms2.org/" +license=(GPL LGPL) +_depends=('alsa-lib: ALSA output' + 'avahi: announce xmms2d via bonjour/mDNS/zeroconf' + 'boost: C++ bindings' + 'curl: play HTTP streams' + 'cython: Python bindings' + 'faad2: AAC support' + 'ffmpeg: WMA, avcodec & avformat support' + 'fftw: visualization' + 'flac: FLAC support' + 'fluidsynth: MIDI support' + 'jack: JACK output' + 'libao: libao output' + 'libcdio-paranoia: CDDA support' + 'libdiscid: CDDA support' + 'libgme: support for various video game music formats' + 'libmad: MP3 support' + 'libmms: play MMS streams' + 'libmodplug: MOD support' + 'libmpcdec: Musepack support' + 'libofa: MusicDNS fingerprinting' + 'libsamplerate: vocoder support' + 'libshout: Icecast output' + 'libvorbis: Ogg Vorbis support' + 'libxml2: XSPF and podcast support' + 'mac: APE support' + 'mpg123: alternative MP3 support' + 'opusfile: Opus support' + 'perl: Perl bindings' + 'ruby: Ruby bindings' +# 'sidplay2-libs: support for C64 music files' # we do not have sidplay 2 series in repos; also it's # somehow connected with resid i guess(not in repos also) -conflicts=('xmms2-devel') -install=xmms2.install -source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2" - "xmms2d.conf" - "xmms2d.service" - "ffmpeg2.0.patch" - "remove-problem-depr.patch") -md5sums=('84d5c05a70bfd31ed392a4e3f701eaa3' - 'af13c937bf3c86b77ae6820107aab9b8' - '47e68461589578e8a99857746c5b6f29' - 'da84ec58c5711f3c4ecd932c3e6642d6' - '5f8559e8bdad1d943b6843d85b3667ad') + 'smbclient: direct CIFS/SMB access' + 'speex: Speex support' + 'wavpack: WavPack support') +depends=(glib2 readline) +makedepends=("${_depends[@]%%:*}" libpulse python2 git) +optdepends=("${_depends[@]}" 'oss: OSS output' 'pulseaudio: PulseAudio output') +provides=(xmms2) +conflicts=(xmms2 xmms2-devel) +install=install.sh +source=(git://git.xmms2.org/xmms2/xmms2-devel.git + tmpfiles.conf + system.service + user.service) +md5sums=('SKIP' + 'd3ab09ed8d1cf982468d1ceb141d4a9d' + '4b026ab80e853f24b5cf13b310afb83c' + 'f773f674882946065c02e36e9548eb00') +pkgver() { + cd "$srcdir/xmms2-devel" + git describe --always | sed 's/-/./g' +} + prepare() { - cd ${srcdir}/${pkgname}-${pkgver} - patch -Np1 -i ../ffmpeg2.0.patch - patch -Np1 -i ../remove-problem-depr.patch - - sed -i 's|#include <cdio/cdda.h>|#include <cdio/paranoia/cdda.h>|' src/plugins/cdda/cdda.c - sed -i 's|libsmbclient.h|samba-4.0/libsmbclient.h|' src/plugins/samba/{samba.c,wscript} - sed -i 's|modplug.h|libmodplug/modplug.h|' src/plugins/modplug/modplug.c - - # patch waf checks for ruby 2.2 - # https://code.google.com/p/waf/issues/detail?id=1524 - ./waf --help > /dev/null # an ugly way to unpack/patch waf bundle - sed -i 's| Config::| RbConfig::|' .waf*/waflib/Tools/ruby.py + cd "$srcdir/xmms2-devel" + git submodule update --init + sed -i '$a#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 /* 1 second of 48kHz 32bit audio */' src/plugins/avcodec/avcodec_compat.h + sed -i 's,#include <cdio/cdda.h>,#include <cdio/paranoia/cdda.h>,' src/plugins/cdda/cdda.c + sed -i 's,libsmbclient.h,samba-4.0/libsmbclient.h,' src/plugins/samba/{samba.c,wscript} + sed -i 's|Werror|Wno-error|g' waftools/*.py } build() { - cd ${srcdir}/${pkgname}-${pkgver} - ./waf configure --prefix=/usr \ - --with-optionals=python,launcher,xmmsclient++,xmmsclient++-glib,perl,ruby,nycli,pixmaps,et,mdns,medialib-updater \ - --with-ruby-archdir=`ruby -e 'puts RbConfig::CONFIG["vendorarchdir"]'` \ - --with-ruby-libdir=`ruby -e 'puts RbConfig::CONFIG["vendorlibdir"]'` \ - --with-perl-archdir=`perl -V:installvendorarch | cut -f2 -d\'` - ./waf build + cd "$srcdir/xmms2-devel" + CXXFLAGS="-Wall" CFLAGS="-Wall" ./waf configure --prefix=/usr --sbindir=/usr/bin --without-ldconfig \ + --with-ruby-archdir=`ruby -e 'puts RbConfig::CONFIG["vendorarchdir"]'` \ + --with-ruby-libdir=`ruby -e 'puts RbConfig::CONFIG["vendorlibdir"]'` \ + --with-perl-archdir=`perl -V:installvendorarch | cut -f2 -d\'` \ + --with-optionals=launcher,xmmsclient++,xmmsclient++-glib,perl,ruby,nycli,pixmaps,et,mdns,medialib-updater \ + --without-optionals=python + ./waf build } package() { - cd ${srcdir}/${pkgname}-${pkgver} - ./waf --destdir=${pkgdir} install + cd "$srcdir/xmms2-devel" + ./waf --destdir="$pkgdir" install + install -d -o46 -g46 "$pkgdir/var/lib/xmms2" + install -Dm0644 "$srcdir/tmpfiles.conf" \ + "$pkgdir/usr/lib/tmpfiles.d/xmms2.conf" + install -Dm0644 "$srcdir/system.service" \ + "$pkgdir/usr/lib/systemd/system/xmms2d.service" + install -Dm0644 "$srcdir/user.service" \ + "$pkgdir/usr/lib/systemd/user/xmms2d.service" - # python2 - ./waf distclean - PYTHON=/usr/bin/python2 ./waf configure --prefix=/usr --with-optionals=python --without-xmms2d - ./waf build - ./waf --destdir=${pkgdir} install + [ -d $pkgdir/usr/lib64 ] && \ + { mv $pkgdir/usr/lib64/* $pkgdir/usr/lib/; rmdir $pkgdir/usr/lib64; } || \ + true - install -Dm0644 $srcdir/xmms2d.conf ${pkgdir}/etc/conf.d/xmms2d.conf - install -Dm0644 $srcdir/xmms2d.service $pkgdir/usr/lib/systemd/system/xmms2d.service + # also install python2 bindings + #./waf distclean + #PYTHON=/usr/bin/python2 ./waf configure --prefix=/usr --with-optionals=python --without-xmms2d + #./waf build + #./waf --destdir="$pkgdir" install # template start; name=perl-binary-module-dependency; version=1; if [[ $(find "$pkgdir/usr/lib/perl5/" -name "*.so") ]]; then - _perlver_min=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]);') - _perlver_max=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]+1);') - depends+=("perl>=$_perlver_min" "perl<$_perlver_max") +_perlver_min=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]);') +_perlver_max=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]+1);') +depends+=("perl>=$_perlver_min" "perl<$_perlver_max") fi # template end; } Deleted: ffmpeg2.0.patch =================================================================== --- ffmpeg2.0.patch 2015-09-23 09:17:11 UTC (rev 141525) +++ ffmpeg2.0.patch 2015-09-23 11:30:56 UTC (rev 141526) @@ -1,37 +0,0 @@ -diff -rupN a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c ---- a/src/plugins/avcodec/avcodec.c 2011-10-20 21:26:08.000000000 +0200 -+++ b/src/plugins/avcodec/avcodec.c 2013-07-22 17:17:53.098385978 +0200 -@@ -134,7 +134,6 @@ xmms_avcodec_init (xmms_xform_t *xform) - - xmms_xform_private_data_set (xform, data); - -- avcodec_init (); - avcodec_register_all (); - - mimetype = xmms_xform_indata_get_str (xform, -@@ -200,7 +199,7 @@ xmms_avcodec_init (xmms_xform_t *xform) - } - } - -- data->codecctx = avcodec_alloc_context (); -+ data->codecctx = avcodec_alloc_context3 (NULL); - data->codecctx->sample_rate = data->samplerate; - data->codecctx->channels = data->channels; - data->codecctx->bit_rate = data->bitrate; -@@ -211,7 +210,7 @@ xmms_avcodec_init (xmms_xform_t *xform) - data->codecctx->codec_id = codec->id; - data->codecctx->codec_type = codec->type; - -- if (avcodec_open (data->codecctx, codec) < 0) { -+ if (avcodec_open2 (data->codecctx, codec, NULL) < 0) { - XMMS_DBG ("Opening decoder '%s' failed", codec->name); - goto err; - } else { -diff -rupN a/src/plugins/avcodec/avcodec_compat.h b/src/plugins/avcodec/avcodec_compat.h ---- a/src/plugins/avcodec/avcodec_compat.h 2011-10-20 21:26:08.000000000 +0200 -+++ b/src/plugins/avcodec/avcodec_compat.h 2013-07-22 17:16:15.841723560 +0200 -@@ -65,3 +65,4 @@ typedef struct AVPacket { - # define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO - #endif - -+#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 Added: install.sh =================================================================== --- install.sh (rev 0) +++ install.sh 2015-09-23 11:30:56 UTC (rev 141526) @@ -0,0 +1,12 @@ +post_install() { + getent group xmms2 > /dev/null || groupadd -r -g 46 xmms2 + getent passwd xmms2 > /dev/null || useradd -r -u 46 -g xmms2 -d /var/lib/xmms2 -s /bin/false -G audio xmms2 + usr/bin/systemd-tmpfiles --create xmms2.conf + true +} + +post_remove() { + getent passwd xmms2 > /dev/null && userdel xmms2 + getent group xmms2 > /dev/null && groupdel xmms2 + true +} Property changes on: xmms2/trunk/install.sh ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +LF \ No newline at end of property Deleted: remove-problem-depr.patch =================================================================== --- remove-problem-depr.patch 2015-09-23 09:17:11 UTC (rev 141525) +++ remove-problem-depr.patch 2015-09-23 11:30:56 UTC (rev 141526) @@ -1,26 +0,0 @@ -diff -wbBur xmms2-0.8DrO_o/src/clients/lib/python/xmmsapi.pyx xmms2-0.8DrO_o.q/src/clients/lib/python/xmmsapi.pyx ---- xmms2-0.8DrO_o/src/clients/lib/python/xmmsapi.pyx 2011-10-20 23:26:08.000000000 +0400 -+++ xmms2-0.8DrO_o.q/src/clients/lib/python/xmmsapi.pyx 2015-03-03 17:23:55.858103590 +0300 -@@ -1358,22 +1358,6 @@ - res = xmmsc_medialib_import_path(self.conn, <char *>p) - return self.create_result(cb, res) - -- @deprecated -- def medialib_path_import(self, path, cb = None, encoded=False): -- """ -- @deprecated -- Use medialib_import_path(path, ...) instead -- """ -- return self.medialib_import_path(self, path, cb=cb, encoded=encoded) -- -- @deprecated -- def medialib_path_import_encoded(self, path, cb = None): -- """ -- @deprecated -- Use medialib_import_path(path, ..., encoded=True) instead -- """ -- return self.medialib_import_path(self, path, cb=cb, encoded=True) -- - cpdef XmmsResult medialib_property_set(self, int id, key, value, source=None, cb=None): - """ - medialib_property_set(id, key, value, source=None, cb=None) -> XmmsResult Added: system.service =================================================================== --- system.service (rev 0) +++ system.service 2015-09-23 11:30:56 UTC (rev 141526) @@ -0,0 +1,17 @@ +[Unit] +Description=XMMS2 daemon +Documentation=man:xmms2-launcher(1) man:xmms2d(1) +Wants=fluidsynth.service +After=fluidsynth.service network.target sound.target + +[Service] +Type=forking +User=xmms2 +# Trick xmms2d into correctly using /var/lib/xmms2 for its configuration +Environment=XDG_CONFIG_HOME=/var/lib +PIDFile=%t/xmms2/xmms2d.pid +ExecStart=/usr/bin/xmms2-launcher -l /var/log/xmms2d.log -P %t/xmms2/xmms2d.pid +ExecStop=/usr/bin/xmms2 server shutdown + +[Install] +WantedBy=multi-user.target Added: tmpfiles.conf =================================================================== --- tmpfiles.conf (rev 0) +++ tmpfiles.conf 2015-09-23 11:30:56 UTC (rev 141526) @@ -0,0 +1,2 @@ +d /run/xmms2 0755 xmms2 xmms2 +f /var/log/xmms2d.log 0644 xmms2 xmms2 Added: user.service =================================================================== --- user.service (rev 0) +++ user.service 2015-09-23 11:30:56 UTC (rev 141526) @@ -0,0 +1,13 @@ +[Unit] +Description=XMMS2 daemon +Documentation=man:xmms2-launcher(1) man:xmms2d(1) +After=network.target sound.target + +[Service] +Type=forking +PIDFile=%t/xmms2d.pid +ExecStart=/usr/bin/xmms2-launcher -P %t/xmms2d.pid +ExecStop=/usr/bin/xmms2 server shutdown + +[Install] +WantedBy=default.target Deleted: xmms2.install =================================================================== --- xmms2.install 2015-09-23 09:17:11 UTC (rev 141525) +++ xmms2.install 2015-09-23 11:30:56 UTC (rev 141526) @@ -1,3 +0,0 @@ -pre_install() { - echo "-- DO NOT FORGET edit /etc/conf.d/xmms2.conf!" -} Deleted: xmms2d.conf =================================================================== --- xmms2d.conf 2015-09-23 09:17:11 UTC (rev 141525) +++ xmms2d.conf 2015-09-23 11:30:56 UTC (rev 141526) @@ -1,31 +0,0 @@ -# -# xmms2-launcher cmdline parameters -# -XMMS2_PARAMETERS="" - -# -# xmms2 user -# You may want to add user to run xmms or use your username -# -XMMS2_USER="xmms2user" - -# -# If you set XMMS2_USER to a different user than the one who will be controlling -# xmms2d using xmms2 clients, make sure that the clients are aware of the path to -# xmms2d's IPC socket, or they might not be able to connect. On failure to connect -# some clients will try to run xmms2d themselves. These xmms2d instances will of -# course run as the user running the client, and not as the one configured below. -# -# If an IPC path is specified on the command line to xmms2d (using -# XMMS2_PARAMETERS="-i tcp://127.0.0.1:9667" -# for instance) that will be used. If not, xmms2d will use the path from its -# configuration file which is typically in ~/.config/xmms2/xmms2.conf. If this -# fails, a unix socket at /tmp/xmms-ipc-[username] will be used, where username -# is of the user starting xmms2d. -# -# Clients typically try to get the ipc path from the XMMS_PATH environment variable, -# (which might be set by adding say 'export XMMS_PATH="tcp://127.0.0.1:9667"' to -# ~/.profile). If this fails they can check their configuration file (if they have -# one) and finally use unix:///tmp/xmms-ipc-[username], where username is of the user -# starting the client. Upon failing to connect some will try to start xmms2d themselves. -# Deleted: xmms2d.service =================================================================== --- xmms2d.service 2015-09-23 09:17:11 UTC (rev 141525) +++ xmms2d.service 2015-09-23 11:30:56 UTC (rev 141526) @@ -1,12 +0,0 @@ -[Unit] -Description=XMMS2 daemon -After=network.target remote-fs.target nss-lookup.target - -[Service] -Type=forking -EnvironmentFile=/etc/conf.d/xmms2d.conf -ExecStart=/bin/su -c '/usr/bin/xmms2-launcher $XMMS2_PARAMETERS &>/dev/null' - $XMMS2_USER -ExecStop=/bin/su -c '/usr/bin/xmms2 quit &>/dev/null' - $XMMS2_USER - -[Install] -WantedBy=multi-user.target