mgba-0.7.1.recipe revision f69c3ef4
1SUMMARY="A new Game Boy, Game Boy Color, and Game Boy Advance emulator written in C"
2DESCRIPTION="mGBA is a new generation of Game Boy Advance emulator. The project \
3started in April 2013 with the goal of being fast enough to run on lower end \
4hardware than other emulators support, without sacrificing accuracy or \
5portability. Even in the initial version, games generally played without \
6problems. mGBA has only gotten better since then, and now boasts being the \
7most accurate GBA emulator around.
8
9Other goals include accurate enough emulation to provide a development \
10environment for homebrew software, a good workflow for tool-assist runners, \
11and a modern feature set for emulators that older emulators may not support."
12HOMEPAGE="https://mgba.io"
13COPYRIGHT="2013-2017 Jeffrey Pfau"
14LICENSE="MPL v2.0"
15REVISION="3"
16SOURCE_URI="https://github.com/mgba-emu/mgba/archive/$portVersion.tar.gz"
17CHECKSUM_SHA256="665fbae8bcfaf3e3f4b83267ce5800b00b98f4bacbb36fc412e3829020019cf4"
18
19ARCHITECTURES="!x86_gcc2 x86 x86_64"
20SECONDARY_ARCHITECTURES="x86"
21
22PROVIDES="
23	mgba$secondaryArchSuffix = $portVersion
24	cmd:mgba$secondaryArchSuffix = $portVersion
25	cmd:mgba_qt$secondaryArchSuffix = $portVersion
26	lib:libmgba$secondaryArchSuffix = $portVersion
27	"
28REQUIRES="
29	haiku$secondaryArchSuffix
30	lib:libavcodec$secondaryArchSuffix
31	lib:libavformat$secondaryArchSuffix
32	lib:libavresample$secondaryArchSuffix
33	lib:libavutil$secondaryArchSuffix
34	lib:libedit$secondaryArchSuffix
35	lib:libncurses$secondaryArchSuffix
36	lib:libpng16$secondaryArchSuffix
37	lib:libQt5Core$secondaryArchSuffix
38	lib:libQt5Gui$secondaryArchSuffix
39	lib:libQt5Multimedia$secondaryArchSuffix
40	lib:libQt5Network$secondaryArchSuffix
41	lib:libQt5Widgets$secondaryArchSuffix
42# If you have come here to upgrade mGBA to use SDL2, know this:
43# Haiku's SDL2 port is (at time of writing) TOTALLY INCOMPATIBLE with
44# Qt and cannot be run in the same binary as it, as both create
45# BApplication objects independent of the other.
46# SDL1.2 checks if one already exists first, so it's OK.
47	lib:libSDL_1.2$secondaryArchSuffix
48	lib:libswscale$secondaryArchSuffix
49	lib:libz$secondaryArchSuffix
50	lib:libzip$secondaryArchSuffix
51	"
52
53BUILD_REQUIRES="
54	haiku${secondaryArchSuffix}_devel
55	devel:libavcodec$secondaryArchSuffix
56	devel:libavformat$secondaryArchSuffix
57	devel:libavresample$secondaryArchSuffix
58	devel:libavutil$secondaryArchSuffix
59	devel:libedit$secondaryArchSuffix
60	devel:libncurses$secondaryArchSuffix
61	devel:libpng16$secondaryArchSuffix
62	devel:libQt5Core$secondaryArchSuffix
63	devel:libQt5Gui$secondaryArchSuffix
64	devel:libQt5Multimedia$secondaryArchSuffix
65	devel:libQt5Network$secondaryArchSuffix
66	devel:libQt5Widgets$secondaryArchSuffix
67	devel:libSDL_1.2$secondaryArchSuffix
68	devel:libswscale$secondaryArchSuffix
69	devel:libz$secondaryArchSuffix
70	devel:libzip$secondaryArchSuffix
71	"
72BUILD_PREREQUIRES="
73	cmd:cmake
74	cmd:gcc$secondaryArchSuffix
75	cmd:ld$secondaryArchSuffix
76	cmd:lrelease$secondaryArchSuffix >= 5
77	cmd:ninja
78	cmd:pkg_config$secondaryArchSuffix
79	"
80
81BUILD()
82{
83	cmake . -GNinja -DBUILD_GL=OFF $cmakeDirArgs
84	ninja $jobArgs
85}
86
87INSTALL()
88{
89	ninja install
90	addAppDeskbarSymlink $binDir/mgba-qt "mGBA"
91}
92