# Maintainer (arch): Levente Polyak <anthraxx@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
# Contributor: André Silva <emulatorman@hyperbola.info>
# Contributor: Márcio Silva <coadde@hyperbola.info>

# parabola changes and rationale:
#  - removed support for unrar und faac

pkgbase=mplayer
pkgname=('mplayer' 'mencoder')
pkgver=38157
pkgrel=3
pkgrel+=.parabola1
pkgdesc='Media player for GNU/Linux, without nonfree UnRAR and FAAC'
url='http://www.mplayerhq.hu/'
arch=('x86_64')
arch+=('i686' 'armv7h')
license=('GPL')
makedepends=('xorgproto' 'libxxf86vm' 'libmad' 'libxinerama' 'libmng' 'libxss'
             'smbclient' 'aalib' 'jack' 'libcaca' 'faad2' 'lirc' 'libxv'
             'libxvmc' 'enca' 'libdca' 'a52dec' 'libvpx' 'unzip' 'mesa'
             'live-media' 'yasm' 'git' 'mpg123' 'ladspa' 'libcdio' 'zlib'
             'libcdio-paranoia' 'subversion' 'x264' 'libx264.so' 'rtmpdump'
             'libdvdcss' 'libdvdread' 'libdvdnav' 'ffmpeg' 'giflib' 'libgif.so'
             'libbs2b' 'fribidi' 'opus' 'libvorbis' 'libvorbis.so' 'gsm'
             'libpulse' 'alsa-lib' 'glibc' 'libass' 'libass.so' 'libjpeg'
             'libpng' 'libogg' 'libtheora' 'libbluray' 'libbluray.so'
             'xvidcore' 'libxvidcore.so' 'ncurses' 'libncursesw.so'
             'fontconfig' 'freetype2' 'libx11' 'libxext' 'libvdpau' 'libgl'
             'lame' 'desktop-file-utils' 'ttf-font' 'openal' 'speex'
             'libmpeg2')
options=('!emptydirs')
source=(${pkgbase}-${pkgver}::"svn://svn.mplayerhq.hu/mplayer/trunk#revision=${pkgver}"
        mplayer.desktop
        include-samba-4.0.patch
        revert-icl-fixes.patch)
sha512sums=('SKIP'
            'd3c5cbf0035279c6f307e4e225473d7b77f9b56566537a26aa694e68446b9e3240333296da627ad5af83b04cc8f476d1a3f8c05e4cf81cd6e77153feb4ed74bc'
            '9debb8c58b996f6c716c22c86c720bf9dc49b4ee9b76c57519f791667ae1de2cc6f5add878fbf4ac02c6b6fd1865e1bcfa6105e75de4bf7ec596c338ed0cae99'
            '0cae0b26d3d97fd4c962962c43a481de20335369cbca406cadfc9bda1a0608b32f5374e76c477cb9a85bda83a568a1ed17126df224ae61579d0a402c1824aea8')

prepare() {
  cd ${pkgbase}-${pkgver}
  patch -p1 < "../include-samba-4.0.patch"
  patch -p0 < "../revert-icl-fixes.patch"
  # https://bugs.archlinux.org/task/62050
  sed -E "s|(#include <samba-4.0/libsmbclient.h>)|#include <time.h>\n\1|g" -i stream/stream_smb.c
  ./version.sh
}

build() {
  cd ${pkgbase}-${pkgver}

  # CPU detection doesn't work in ARM
  if [ "$CARCH" != "armv7h" ]; then
    extra=--enable-runtime-cpudetection
  fi

  if [ "$CARCH" = "x86_64" ]; then
    export CFLAGS="${CFLAGS/-march=x86-64/}"
    export CFLAGS="${CFLAGS/-mtune=generic/}"
  fi
  export LDFLAGS="${LDFLAGS/,O1/}"
  export LDFLAGS="${LDFLAGS/,--sort-common/}"
  ./configure --prefix=/usr \
    $extra \
    --disable-gui \
    --disable-arts \
    --disable-liblzo \
    --disable-libdv \
    --disable-musepack \
    --disable-esd \
    --disable-mga \
    --disable-ass-internal \
    --disable-faac \
    --disable-unrarexec \
    --disable-cdparanoia \
    --disable-ffmpeg_a \
    --enable-xvmc \
    --enable-radio \
    --enable-radio-capture \
    --enable-smb \
    --language=all \
    --confdir=/etc/mplayer \
    --extra-cflags="${CFLAGS} ${CPPFLAGS}" \
    --extra-ldflags="${LDFLAGS}"
  [[ "${CARCH}" = "i686" ]] && sed 's|-march=i486|-march=i686|g' -i config.mak
  make
}

package_mplayer() {
  pkgdesc='Media player for GNU/Linux, without nonfree UnRAR and FAAC'
  backup=('etc/mplayer/codecs.conf'
          'etc/mplayer/input.conf')
  depends=('desktop-file-utils' 'ttf-font' 'enca' 'libxss' 'a52dec' 'libvpx'
           'lirc' 'x264' 'libmng' 'libdca' 'aalib' 'libxinerama' 'smbclient'
           'jack' 'libmad' 'libcaca' 'libxxf86vm' 'faad2'
           'libxv' 'libxvmc' 'mpg123' 'libx11' 'libcdio' 'libcdio-paranoia'
           'rtmpdump' 'libdvdread' 'libdvdnav' 'ffmpeg' 'libbs2b' 'alsa-lib'
           'giflib' 'libgif.so' 'glibc' 'libass' 'libass.so' 'zlib' 'libjpeg'
           'libpng' 'libpulse' 'libogg' 'fribidi' 'libtheora' 'libvorbis'
           'libvorbis.so' 'libbluray' 'libbluray.so' 'xvidcore'
           'libxvidcore.so' 'ncurses' 'libncursesw.so' 'fontconfig' 'freetype2'
           'libxext' 'libvdpau' 'libgl' 'openal' 'speex' 'libmpeg2')

  cd ${pkgbase}-${pkgver}
  make DESTDIR="${pkgdir}" install-mplayer install-mplayer-man

  install -Dm 644 etc/{codecs.conf,input.conf,example.conf} "${pkgdir}/etc/mplayer"
  install -Dm 644 "${srcdir}/mplayer.desktop" -t "${pkgdir}/usr/share/applications"
  install -Dm 644 etc/mplayer256x256.png "${pkgdir}/usr/share/pixmaps/mplayer.png"
}

package_mencoder() {
  pkgdesc='Free command line video decoding, encoding and filtering tool, without nonfree FAAC'
  depends=('glibc' 'enca' 'a52dec' 'libvpx' 'x264' 'libx264.so' 'libmng' 'libdca'
           'smbclient' 'libmad' 'faad2' 'mpg123' 'libcdio'
           'libcdio-paranoia' 'rtmpdump' 'libdvdread' 'libdvdnav' 'ffmpeg'
           'libbs2b' 'ncurses' 'libncursesw.so' 'zlib' 'alsa-lib' 'fontconfig'
           'freetype2' 'fribidi' 'giflib' 'libgif.so' 'libvorbis'
           'libvorbis.so' 'libpng' 'libjpeg' 'libass' 'libass.so' 'lame'
           'libbluray' 'libbluray.so' 'libtheora' 'xvidcore' 'libxvidcore.so'
           'openal' 'speex' 'libmpeg2')

  make -C ${pkgbase}-${pkgver} DESTDIR="${pkgdir}" install-mencoder install-mencoder-man
  find "${pkgdir}/usr/share/man" -name mplayer.1 -exec rename mplayer.1 mencoder.1 {} +
}
