aboutsummaryrefslogtreecommitdiffstats
path: root/testing/mgba/APKBUILD
blob: 7bdb8cf78d918318085504b0580dba5ffafe1976 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Contributor: Alexander Edland <alpine@ocv.me>
# Maintainer: Alexander Edland <alpine@ocv.me>
pkgname=mgba
pkgver=0.6.3
pkgrel=0
pkgdesc="Game Boy Advance Emulator"
url="https://github.com/mgba-emu/mgba"
arch="all"
license="MPL-2.0"
depends=""
depends_dev=""
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"
install=""
subpackages="$pkgname-doc $pkgname-py:_py"
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
	no-rpath.patch
	python3.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 \
		-DBUILD_PYTHON: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-x86_64-3.*)" \
	LD_LIBRARY_PATH="$builddir/build" \
	ZIPFILE="$srcdir/cpu_instrs.zip" \
	/bin/sh "$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"
	
	# add desktop file
	local _apps="$pkgdir/usr/share/applications"
	mkdir -p "$_apps"
	cp "$startdir/mgba-qt.desktop" "$_apps"/
}

_py() {
	depends="py3-cffi py3-cached-property"
	
	cd "$builddir/build/python"
	local _bdir=$(echo lib.linux-x86_64-3.*)
	local _pyver=${_bdir##*-}
	local _dest="$subpkgdir/usr/lib/python$_pyver/site-packages"
	
	mkdir -p "$_dest"
	mv $_bdir/mgba/ "$_dest/"
}

sha512sums="d646af7869dbcf8df671a75ecfd8c270950c013b826b23b94bacae43a77243786f198725e1b9bf17827d1ffcf6a8eef70091d53ea878bfb2450472485f42f233  mgba-0.6.3.tar.gz
ea4a1de976e2188c3720d7b8e6f75f67feaede37473826343f9b0a03fe76405e84305384ceee1bc56a4e8131cab432b63320d4c0b120a6c81425af8f0bfbd234  cpu_instrs.zip
8fefd97e66b63bc660abab2a5d0f29b96b41022e12e53af9841c97dd8d74dddde9c1ac7b56a7f5d7346aa42671767ce3794ecccf66142262116e740a21f6ef03  no-rpath.patch
7e2ac69620f0118d429afbb6ae905be1e81c80c5eb83118b74ab65f3db81f25823098475d32add624e4424fdac0f882f18c4b42673719eb278160805330148c8  python3.patch
f77d1e3a35521f29e9caaebb6b010e497602a467963b95b155f67d39c129d8a1bd6acdbce1a10bf25e68ac38de0e4079deb92c710afccc8a2c4841820d3f9119  mgba-qt.desktop"