mgba-0.7.1.recipe revision d6d448e3
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="5"
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:libavutil$secondaryArchSuffix
33	lib:libedit$secondaryArchSuffix
34	lib:libncurses$secondaryArchSuffix
35	lib:libpng16$secondaryArchSuffix
36	lib:libQt5Core$secondaryArchSuffix
37	lib:libQt5Gui$secondaryArchSuffix
38	lib:libQt5Multimedia$secondaryArchSuffix
39	lib:libQt5Network$secondaryArchSuffix
40	lib:libQt5Widgets$secondaryArchSuffix
41# If you have come here to upgrade mGBA to use SDL2, know this:
42# Haiku's SDL2 port is (at time of writing) TOTALLY INCOMPATIBLE with
43# Qt and cannot be run in the same binary as it, as both create
44# BApplication objects independent of the other.
45# SDL1.2 checks if one already exists first, so it's OK.
46	lib:libSDL_1.2$secondaryArchSuffix
47	lib:libswscale$secondaryArchSuffix
48	lib:libswresample$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:libavutil$secondaryArchSuffix
58	devel:libedit$secondaryArchSuffix
59	devel:libncurses$secondaryArchSuffix
60	devel:libpng16$secondaryArchSuffix
61	devel:libQt5Core$secondaryArchSuffix
62	devel:libQt5Gui$secondaryArchSuffix
63	devel:libQt5Multimedia$secondaryArchSuffix
64	devel:libQt5Network$secondaryArchSuffix
65	devel:libQt5Widgets$secondaryArchSuffix
66	devel:libSDL_1.2$secondaryArchSuffix
67	devel:libswscale$secondaryArchSuffix
68	devel:libswresample$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