# Contributor tomasgroth at yahoo.dk
# Contributor WarheadsSE <max@warheads.net>
# Contributor Romzetron <asromzek@gmail.com>
# Contributor Holzhaus <holthuis.jan@googlemail.com>

buildarch=4

pkgname=kodi-imx
pkgver=14.1
_codename=Helix
pkgrel=2
pkgdesc="A software media player and entertainment hub for digital media for select imx6 system"
arch=('armv7h')
url="http://kodi.tv"
license=('GPL' 'custom')
depends=(
	'python2-pillow' 'python2-pybluez' 'python2-simplejson' 'fribidi' 
	'lzo2' 'smbclient' 'libtiff' 'libva' 'libpng' 'libcdio' 'yajl' 
	'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' 'libssh' 
	'libmicrohttpd' 'sdl_image' 'python2' 'libass' 'libmpeg2' 'libmad' 
	'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'xorg-xdpyinfo' 'libbluray' 
	'libnfs' 'afpfs-ng' 'avahi' 'bluez-libs' 'tinyxml' 'libcec' 
	'libplist' 'swig' 'taglib' 'libxslt' 'shairplay-git' 
	'hicolor-icon-theme' 'libfslvpuwrap' 'gpu-viv-bin-mx6q-fb' 
	'libva' 'libcec-imx6' 'firmware-imx')
makedepends=(
	'boost' 'cmake' 'gperf' 'nasm' 'zip' 'udisks' 'upower' 'git' 
	'autoconf' 'java-environment')
optdepends=(
  'lirc: remote controller support'
  'udisks: automount external drives'
  'upower: used to trigger power management functionality'
  'unrar: access compressed files without unpacking them')
provides=("kodi")
conflicts=("xbmc" "kodi")
replaces=("xbmc-imx")
install="kodi.install"
source=("https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
        'kodi.service'
        'polkit.rules'
        'runkodi'
        'kodi.conf'
        'imx-spdif.conf'
        'imx-hdmi-soc.conf')

sha256sums=('a38059e292cf8523918834e49fcc2d688525ceb7951ddf7f5ee535f4147255d6'
            'b8cb9bc4fd7f21e197aeed88453c037d6e688f6e353c04b1f63052b6ba1f879c'
            '9ea592205023ba861603d74b63cdb73126c56372a366dc4cb7beb379073cbb96'
            'b7f9ef15f774fe9ddd9fa029a2032c2d7668be1095a0561640826f16cdd1ba00'
            'db6372248015fa4e663bf789e4f7121b5a9ade323f361994bbd6f135ce169123'
            '0e16e4d2ec0c0e1810fe1ad6a7c4dee99d6fc0f49502f0e836210f5dd537d92d'
            '6d9822d97b9e1268c04078f6c9b6316eb013f95f96f90034b51fa7473b9752ff')

_prefix=/usr

prepare() {
  cd "$srcdir/xbmc-$pkgver-$_codename"
    
  find -type f -name *.py -exec sed 's|^#!.*python$|#!/usr/bin/python2|' -i "{}" +
  sed 's|^#!.*python$|#!/usr/bin/python2|' -i tools/depends/native/rpl-native/rpl
	sed 's/python/python2/' -i tools/Linux/kodi.sh.in
}

build() {
  cd "$srcdir/xbmc-$pkgver-$_codename"

  # Bootstrapping Kodi
  MAKEFLAGS=-j1 ./bootstrap

  # Configuring Kodi
  export PYTHON_VERSION=2  # external python v2
  INCLUDES="-I/opt/fsl/include" 
  export CFLAGS="-Ofast -mfloat-abi=hard -mfpu=vfpv3-d16 -mtls-dialect=gnu -march=armv7-a -mtune=cortex-a9 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 $INCLUDES -Wl,-rpath,/opt/fsl/lib -L/opt/fsl/lib"
  export CPPFLAGS="-Ofast -mfloat-abi=hard -mfpu=vfpv3-d16 -mtls-dialect=gnu -march=armv7-a -mtune=cortex-a9 -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 $INCLUDES -Wl,-rpath,/opt/fsl/lib -L/opt/fsl/lib"
  export CXXFLAGS="-Ofast -mfloat-abi=hard -mfpu=vfpv3-d16 -mtls-dialect=gnu -march=armv7-a -mtune=cortex-a9 -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 $INCLUDES -Wl,-rpath,/opt/fsl/lib -L/opt/fsl/lib"
  export LDFLAGS="$LDFLAGS -L/opt/fsl/lib"

  #If build fails try uncommenting the line below first
  #export MAKEFLAGS="-j1"
 
  ./configure --prefix=$_prefix --exec-prefix=$_prefix  \
	  --disable-gl \
	  --enable-gles \
	  --disable-x11 \
	  --disable-sdl \
	  --enable-optimizations \
	  --disable-goom \
	  --disable-pulse \
	  --disable-vaapi \
	  --disable-vdpau \
	  --disable-xrandr \
	  --enable-airplay \
	  --enable-airtunes \
	  --enable-avahi \
	  --enable-libbluray \
	  --enable-dvdcss \
	  --disable-debug \
	  --disable-joystick \
	  --disable-mid \
	  --enable-nfs \
	  --disable-profiling \
	  --disable-projectm \
	  --enable-rsxs \
	  --enable-rtmp \
	  --disable-vaapi \
    --disable-openmax \
	  --enable-optical-drive \
	  --enable-texturepacker \
	  --with-lirc-device=/run/lirc/lircd \
	  --enable-codec=imxvpu \
	  --enable-libcec 
  
  make
}

package() {
  cd "$srcdir/xbmc-$pkgver-$_codename"
  # Running make install
  make DESTDIR="${pkgdir}" install

  # Licenses
  install -dm755 ${pkgdir}${_prefix}/share/licenses/${pkgname}
  for licensef in LICENSE.GPL copying.txt; do
		mv ${pkgdir}${_prefix}/share/doc/kodi/${licensef} \
			${pkgdir}${_prefix}/share/licenses/${pkgname}
  done

  install -Dm0644 $srcdir/kodi.service $pkgdir/usr/lib/systemd/system/kodi.service
  install -Dm0755 $srcdir/runkodi $pkgdir/usr/bin/runkodi
  install -Dm0644 $srcdir/kodi.conf $pkgdir/etc/tmpfiles.d/kodi.conf
  install -Dm0644 $srcdir/polkit.rules $pkgdir/usr/share/polkit-1/rules.d/10-kodi.rules
  chmod 0700 $pkgdir/usr/share/polkit-1/rules.d/
  
   # imx6-specific alsa conf
  install -Dm0644 $srcdir/imx-spdif.conf $pkgdir/usr/share/alsa/cards/imx-spdif.conf
  install -Dm0644 $srcdir/imx-hdmi-soc.conf $pkgdir/usr/share/alsa/cards/imx-hdmi-soc.conf
}