# Contributor: Alexander Edland # Maintainer: Alexander Edland pkgname=mgba pkgver=0.6.3 pkgrel=2 pkgdesc="Game Boy Advance Emulator" url="https://github.com/mgba-emu/mgba" arch="all !s390x" license="MPL-2.0" makedepends="cmake qt5-qtmultimedia-dev qt5-qtbase-dev qt5-qttools-dev sdl-dev libzip-dev zlib-dev libpng-dev ffmpeg-dev imagemagick-dev libepoxy-dev cmocka-dev libedit-dev py3-virtualenv python3-dev" checkdepends="py3-cffi py3-cached-property" subpackages="$pkgname-doc $pkgname-qt:_qt" source="mgba-$pkgver.tar.gz::https://github.com/mgba-emu/mgba/archive/$pkgver.tar.gz http://gbdev.gg8.se/files/roms/blargg-gb-tests/cpu_instrs.zip test-py.sh no-rpath.patch python3.patch mgba-qt5.11.patch mgba-qt.desktop" builddir="$srcdir/mgba-$pkgver" build() { cd "$builddir" # declaration mismatch in include/mgba/core/thread.h export CPPFLAGS="$CPPFLAGS -fno-strict-aliasing" mkdir build cd build cmake \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib \ -DBUILD_TEST:BOOL=ON \ -DBUILD_SUITE:BOOL=ON \ .. make } check() { cd "$builddir/build" ./mgba-suite # test python bindings by executing an open source ROM # for DMG-01 (OG gameboy) and exporting a png screenshot # PYTHONPATH="$PWD/$(echo python/lib.linux-*-3.*)" \ # LD_LIBRARY_PATH="$builddir/build" \ # ZIPFILE="$srcdir/cpu_instrs.zip" \ # "$startdir/test-py.sh" } package() { cd "$builddir/build" make install DESTDIR="$pkgdir" # delete test files rm "$pkgdir/usr/bin/mgba-fuzz" rm "$pkgdir/usr/bin/tbl-fuzz" # delete config cruft rm "$pkgdir/usr/include/mgba/flags.h" rmdir -p "$pkgdir/usr/include/mgba" || : } _py() { pkgdesc="Python3 bindings for the mGBA emulator" depends="py3-cffi py3-cached-property" cd "$builddir/build/python" local bdir=$(echo lib.linux-*-3.*) local pyver=${bdir##*-} local dest="$subpkgdir/usr/lib/python$pyver/site-packages" mkdir -p "$dest" mv $bdir/mgba/ "$dest" } _qt() { pkgdesc="Qt5 frontend for the mGBA emulator" local bin="$subpkgdir/usr/bin" local apps="$subpkgdir/usr/share/applications" mkdir -p "$bin" "$apps" mv "$pkgdir/usr/bin/mgba-qt" "$bin" cp "$startdir/mgba-qt.desktop" "$apps" } sha512sums="d646af7869dbcf8df671a75ecfd8c270950c013b826b23b94bacae43a77243786f198725e1b9bf17827d1ffcf6a8eef70091d53ea878bfb2450472485f42f233 mgba-0.6.3.tar.gz ea4a1de976e2188c3720d7b8e6f75f67feaede37473826343f9b0a03fe76405e84305384ceee1bc56a4e8131cab432b63320d4c0b120a6c81425af8f0bfbd234 cpu_instrs.zip 239d985e6379495569bcc5c9fe15ab913585029d9979cc6b2cdd23ff49cb1426f9b90c763b3314cac888c599951e54c2584ee69280158b615aa64ad188f1e1ad test-py.sh 8fefd97e66b63bc660abab2a5d0f29b96b41022e12e53af9841c97dd8d74dddde9c1ac7b56a7f5d7346aa42671767ce3794ecccf66142262116e740a21f6ef03 no-rpath.patch 7e2ac69620f0118d429afbb6ae905be1e81c80c5eb83118b74ab65f3db81f25823098475d32add624e4424fdac0f882f18c4b42673719eb278160805330148c8 python3.patch eb3095f1cdde968bbde3c83c84fee9f773d138806c15302492e0d37fd67c13783dbd9d63b306d969ca444152e1e3d342ba59e160bfc78dc123d1fd1f3f90c19b mgba-qt5.11.patch f77d1e3a35521f29e9caaebb6b010e497602a467963b95b155f67d39c129d8a1bd6acdbce1a10bf25e68ac38de0e4079deb92c710afccc8a2c4841820d3f9119 mgba-qt.desktop"