From 908b7c065638f1431cffbedf4dd3fe77bf8816cc Mon Sep 17 00:00:00 2001 From: Omar Vega Ramos Date: Thu, 22 Oct 2015 12:34:03 -0500 Subject: xmms2: add new package to [libre] --- libre/xmms2/PKGBUILD | 119 +++++++++++++++++++++++++++++++++++++++++++++ libre/xmms2/install.sh | 10 ++++ libre/xmms2/system.service | 17 +++++++ libre/xmms2/tmpfiles.conf | 2 + libre/xmms2/user.service | 13 +++++ 5 files changed, 161 insertions(+) create mode 100644 libre/xmms2/PKGBUILD create mode 100644 libre/xmms2/install.sh create mode 100644 libre/xmms2/system.service create mode 100644 libre/xmms2/tmpfiles.conf create mode 100644 libre/xmms2/user.service (limited to 'libre/xmms2') diff --git a/libre/xmms2/PKGBUILD b/libre/xmms2/PKGBUILD new file mode 100644 index 000000000..81515551a --- /dev/null +++ b/libre/xmms2/PKGBUILD @@ -0,0 +1,119 @@ +# Maintainer (Arch): Sergej Pupykin +# Contributor: (Arch) Storm Dragon +# Contributor (Arch): Aaron 'venisonslurpee' Laursen +# Contributor (Arch): Christopher Rosell +# Contributor (Arch): lh +# Contributor (Arch): Sebastian Schwarz +# Contributor (Arch): Sergej Pupykin +# Contributor (Arch): Xilon +# Maintainer: Omar Vega Ramos + +pkgname=xmms2 +pkgver=0.8DrO_o.882.g942b17f +pkgrel=2.parabola1 +pkgdesc="X-platform Music Multiplexing System 2, without nonfree mac recommendation" +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' + '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) + '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/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 ,#include ,' 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/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,sqlite2s4 \ + --without-optionals=python + ./waf build +} + +package() { + 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" + + [ -d $pkgdir/usr/lib64 ] && \ + { mv $pkgdir/usr/lib64/* $pkgdir/usr/lib/; rmdir $pkgdir/usr/lib64; } || \ + true + + # 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") +fi +# template end; +} diff --git a/libre/xmms2/install.sh b/libre/xmms2/install.sh new file mode 100644 index 000000000..ca4e13f14 --- /dev/null +++ b/libre/xmms2/install.sh @@ -0,0 +1,10 @@ +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_upgrade() { + post_install +} \ No newline at end of file diff --git a/libre/xmms2/system.service b/libre/xmms2/system.service new file mode 100644 index 000000000..f3e524d4e --- /dev/null +++ b/libre/xmms2/system.service @@ -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 diff --git a/libre/xmms2/tmpfiles.conf b/libre/xmms2/tmpfiles.conf new file mode 100644 index 000000000..61cd6a797 --- /dev/null +++ b/libre/xmms2/tmpfiles.conf @@ -0,0 +1,2 @@ +d /run/xmms2 0755 xmms2 xmms2 +f /var/log/xmms2d.log 0644 xmms2 xmms2 diff --git a/libre/xmms2/user.service b/libre/xmms2/user.service new file mode 100644 index 000000000..dc27ad150 --- /dev/null +++ b/libre/xmms2/user.service @@ -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 -- cgit v1.2.3