# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>

pkgname=rhythmbox
pkgver=3.4.4
pkgrel=4
pkgdesc="Music playback and management application"
arch=(x86_64)
license=(GPL)
url="https://wiki.gnome.org/Apps/Rhythmbox"
depends=(dconf gst-plugins-base gst-plugins-good libsoup json-glib libnotify
         libpeas media-player-info totem-plparser tdb python-gobject libgudev
         grilo)
makedepends=(itstool intltool brasero gobject-introspection vala libdmapsharing
             lirc libgpod libmtp zeitgeist gtk-doc yelp-tools git)
checkdepends=(check xorg-server-xvfb)
optdepends=('gst-plugins-ugly: Extra media codecs'
            'gst-plugins-bad: Extra media codecs'
            'gst-libav: Extra media codecs'
            'brasero: Audio CD Recorder plugin'
            'libdmapsharing: DAAP Music Sharing plugin'
            'grilo-plugins: Grilo media browser plugin'
            'lirc: LIRC plugin'
            'libgpod: Portable Players - iPod plugin'
            'libmtp: Portable Players - MTP plugin'
            'gvfs-mtp: Portable Players - Android plugin'
            'zeitgeist: Zeitgeist logging plugin')
_commit=473a28752bfd6260d74f41e3b0d737f71495f4a8  # tags/v3.4.4^0
source=("git+https://gitlab.gnome.org/GNOME/rhythmbox.git#commit=$_commit")
sha512sums=('SKIP')

pkgver() {
  cd $pkgname
  git describe --tags | sed 's/^v//;s/-/+/g'
}

prepare() {
  cd $pkgname

  # https://bugs.archlinux.org/task/68537
  git cherry-pick -n 3360f18d15cd6fabcadac56bc07d4ca133fa661f

  NOCONFIGURE=1 ./autogen.sh
}

build() {
  cd $pkgname
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --libexecdir=/usr/lib/rhythmbox \
    --disable-browser-plugin \
    --disable-static \
    --disable-more-warnings \
    --enable-daap \
    --enable-gtk-doc \
    --enable-python \
    --enable-vala \

  # https://bugzilla.gnome.org/show_bug.cgi?id=655517
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool

  make
}

check() (
  cd $pkgname
  glib-compile-schemas "${GSETTINGS_SCHEMA_DIR:=$PWD/data}"
  export GSETTINGS_SCHEMA_DIR GSETTINGS_BACKEND=memory CK_TIMEOUT_MULTIPLIER=3
  xvfb-run -s '-nolisten local' make check
)

package() {
  cd $pkgname
  make DESTDIR="$pkgdir" install
  rm -r "$pkgdir/usr/lib/rhythmbox/sample-plugins"
}
