# Maintainer:
# Contributor: Storm Dragon <stormdragon2976@gmail.com>
# Contributor: Aaron 'venisonslurpee' Laursen <venisonslurpee@gmail.com>
# Contributor: Christopher Rosell <chrippa@tanuki.se>
# Contributor: lh <jarryson@gmail.com>
# Contributor: Sebastian Schwarz <seschwar@gmail.com>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Xilon <xilon@gmail.com>

pkgname=xmms2
pkgver=0.8DrO_o.949.gca15e830
_commit=ca15e830bd1b18e26772657b0a057cfedb91d2eb
pkgrel=18
pkgdesc="X-platform Music Multiplexing System 2"
arch=(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)
          'smbclient: direct CIFS/SMB access'
          'speex: Speex support'
          'wavpack: WavPack support')
depends=(glib2)
makedepends=("${_depends[@]%%:*}" libpulse python2 git)
optdepends=("${_depends[@]}" 'pulseaudio: PulseAudio output')
source=(git://git.xmms2.org/xmms2/xmms2-devel.git#commit=${_commit}
        git://git.xmms2.org/xmms2/xmms2-tutorial.git
        git://git.xmms2.org/xmms2/s4.git
        tmpfiles.conf
        sysusers.conf
        system.service
        user.service)
sha256sums=('SKIP'
            'SKIP'
            'SKIP'
            '13e3e2720e21d048d776156f8ab17c40d05b70437823da00b3c4cc2e7f7ecf7f'
            'a37e35dedd48fb8fbc2c97d79be8a3d3c3b00191826f6046f730f649cd67812a'
            'a159b18c5959cfe76ca87990ff6879d082bfe9a4c6d674c493461f7f2781f348'
            '76f1a06b81cec0f5942430401998f6c8cd9cb95d798f97b854f88afd73ffe61d')

pkgver() {
    cd xmms2-devel
    git describe --always | sed 's/-/./g'
}

prepare() {
    cd xmms2-devel
    git submodule init
    git config submodule.doc/tutorial.url "$srcdir"/xmms2-tutorial
    git config submodule.src/lib/s4.url "$srcdir"/s4
    git submodule update
    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 xmms2-devel
    CXXFLAGS="-Wall" CFLAGS="-Wall" python2 ./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
    python2 ./waf build
}

package() {
    cd xmms2-devel
    python2 ./waf --destdir="$pkgdir" install
    install -Dm0644 "$srcdir/sysusers.conf" \
            "$pkgdir/usr/lib/sysusers.d/xmms2.conf"
    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
}
