media-libs/lv2: arm stable wrt bug #705616
[gentoo.git] / games-emulation / mgba / mgba-0.8_beta1.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 inherit cmake desktop xdg
7
8 DESCRIPTION="Game Boy Advance emulator written in C"
9 HOMEPAGE="https://mgba.io"
10 if [[ "${PV}" == 9999 ]] ; then
11         inherit git-r3
12         EGIT_REPO_URI="https://github.com/mgba-emu/mgba.git"
13 else
14         MY_PV="${PV/_beta/-b}"
15         SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
16         [[ "${PV}" == *_beta* ]] || \
17         KEYWORDS="~amd64 ~x86"
18         S="${WORKDIR}/${PN}-${MY_PV}"
19 fi
20 LICENSE="MPL-2.0"
21 SLOT="0"
22 IUSE="debug elf ffmpeg imagemagick libav opengl qt5 +sdl sqlite"
23 REQUIRED_USE="|| ( qt5 sdl )
24                 qt5? ( opengl )"
25
26 RDEPEND="
27         media-libs/libpng:0=
28         sys-libs/zlib[minizip]
29         elf? ( dev-libs/elfutils )
30         ffmpeg? (
31                 libav? ( media-video/libav:= )
32                 !libav? ( media-video/ffmpeg:= )
33         )
34         imagemagick? ( media-gfx/imagemagick:= )
35         opengl? ( virtual/opengl )
36         qt5? (
37                 dev-qt/qtcore:5
38                 dev-qt/qtgui:5
39                 dev-qt/qtmultimedia:5
40                 dev-qt/qtwidgets:5
41                 opengl? ( dev-qt/qtopengl:5 )
42         )
43         sdl? ( media-libs/libsdl2[X,sound,joystick,video,opengl?] )
44         sqlite? ( dev-db/sqlite:3 )
45 "
46 DEPEND="${RDEPEND}"
47
48 src_prepare() {
49         xdg_environment_reset
50         cmake_src_prepare
51
52         # Get rid of any bundled stuff we don't want
53         for pkg in libpng lzma sqlite3 zlib ; do
54                 rm -r src/third-party/${pkg} || die
55         done
56 }
57
58 src_configure() {
59         local mycmakeargs=(
60                 -DCMAKE_SKIP_RPATH=ON
61                 -DBUILD_GL="$(usex opengl)"
62                 -DBUILD_PYTHON=OFF
63                 -DBUILD_QT="$(usex qt5)"
64                 -DBUILD_SDL="$(usex sdl)"
65                 -DBUILD_SHARED=ON
66                 # test suite fails to build (>=0.6.0)
67                 -DBUILD_SUITE=OFF
68                 -DBUILD_TEST=OFF
69                 -DM_CORE_GB=ON
70                 -DM_CORE_GBA=ON
71                 -DUSE_DEBUGGERS="$(usex debug)"
72                 -DUSE_EDITLINE="$(usex debug)"
73                 -DUSE_ELF="$(usex elf)"
74                 -DUSE_EPOXY=OFF
75                 -DUSE_FFMPEG="$(usex ffmpeg)"
76                 -DUSE_GDB_STUB="$(usex debug)"
77                 -DUSE_LIBZIP=OFF
78                 -DUSE_LZMA=OFF
79                 -DUSE_MAGICK="$(usex imagemagick)"
80                 -DUSE_MINIZIP=ON
81                 -DUSE_PNG=ON
82                 -DUSE_SQLITE3="$(usex sqlite)"
83                 -DUSE_ZLIB=ON
84         )
85         cmake_src_configure
86 }
87
88 src_compile() {
89         cmake_src_compile
90 }
91
92 src_install() {
93         if use qt5 ; then
94                 dobin ../${P}_build/qt/${PN}-qt
95                 doman doc/${PN}-qt.6
96                 domenu res/${PN}-qt.desktop
97                 for size in 16 24 32 48 64 96 128 256 ; do
98                         newicon -s ${size} res/${PN}-${size}.png ${PN}.png
99                 done
100         fi
101         if use sdl ; then
102                 doman doc/${PN}.6
103                 newbin ../${P}_build/sdl/${PN} ${PN}-sdl
104         fi
105
106         dolib.so ../${P}_build/lib${PN}.so*
107 }
108
109 pkg_preinst() {
110         if use qt5 ; then
111                 xdg_pkg_preinst
112         fi
113 }
114
115 pkg_postinst() {
116         if use qt5 ; then
117                 xdg_pkg_postinst
118         fi
119 }
120
121 pkg_postrm() {
122         if use qt5 ; then
123                 xdg_pkg_postrm
124         fi
125 }