# $Id$
# Maintainer:  Jonathan Steel <jsteel at archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Duck Hunt <vaporeon@tfwno.gf>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - disable LTO
#  - build for GLES on !aarch64

pkgbase=mgba
pkgname=('libmgba' 'mgba-sdl' 'mgba-qt')
pkgver=0.4.0
pkgrel=1
arch=('i686' 'x86_64')
url='http://mgba.io'
license=('custom:MPL2')
makedepends=('cmake' 'qt5-multimedia' 'sdl2' 'zlib' 'libpng' 'libzip' 'libedit'
             'ffmpeg' 'imagemagick' 'desktop-file-utils')
install=$pkgbase.install
source=($pkgbase-$pkgver.tar.gz::https://github.com/mgba-emu/mgba/archive/$pkgver.tar.gz)
md5sums=('b37fcab5e7139b7c161d880576d2d1cc')

prepare() {
  [[ ! -d build ]] && mkdir build || rm -rf build
}

build() {
  cd build
  [[ $CARCH != "aarch64" ]] && CONFIG="-DBUILD_GL=OFF -DBUILD_GLES2=ON"
  cmake "$srcdir"/mgba-$pkgver -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_LTO=OFF $CONFIG
  make
}

package_libmgba() {
  pkgdesc='Shared library of mGBA'
  depends=('zlib' 'libpng' 'libzip' 'libedit' 'ffmpeg' 'imagemagick')

  cmake -DCOMPONENT=libmgba mgba-$pkgver -DCMAKE_INSTALL_PREFIX="$pkgdir/usr" \
    -P build/cmake_install.cmake
  install -Dm644 mgba-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}

package_mgba-sdl() {
  pkgdesc='A Nintendo Gameboy Advance Emulator focusing on both speed and accuracy'
  depends=('libmgba' 'sdl2')

  cmake -DCOMPONENT=mgba-sdl mgba-$pkgver -DCMAKE_INSTALL_PREFIX="$pkgdir/usr" \
    -P build/cmake_install.cmake

  install -d "$pkgdir"/usr/share/licenses/$pkgname
  ln -s /usr/share/licenses/libmgba/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}

package_mgba-qt() {
  pkgdesc='A Nintendo Gameboy Advance Emulator focusing on both speed and accuracy. Qt5 UI.'
  depends=('libmgba' 'qt5-multimedia' 'sdl2')

  cmake -DCOMPONENT=mgba-qt mgba-$pkgver -DCMAKE_INSTALL_PREFIX="$pkgdir/usr" \
    -P build/cmake_install.cmake

  desktop-file-install mgba-$pkgver/res/mgba-qt.desktop --dir "$pkgdir"/usr/share/applications/
  install -Dm644 mgba-$pkgver/res/mgba-256.png "$pkgdir"/usr/share/pixmaps/mgba.png

  install -d "$pkgdir"/usr/share/licenses/$pkgname
  ln -s /usr/share/licenses/libmgba/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}