Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: games-emulation/mgba/
Date: Sun, 21 Apr 2019 00:49:18
Message-Id: 1555807737.5e075d04104eb7b69adbb2a8bff896c88959b4ee.polynomial-c@gentoo
1 commit: 5e075d04104eb7b69adbb2a8bff896c88959b4ee
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Sun Apr 21 00:48:57 2019 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Sun Apr 21 00:48:57 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e075d04
7
8 games-emulation/mgba: Added a live ebuild
9
10 Thanks-to: barul <barul <AT> barul.info>
11 Closes: https://bugs.gentoo.org/627876
12 Package-Manager: Portage-2.3.64, Repoman-2.3.12
13 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
14
15 games-emulation/mgba/mgba-9999.ebuild | 122 ++++++++++++++++++++++++++++++++++
16 1 file changed, 122 insertions(+)
17
18 diff --git a/games-emulation/mgba/mgba-9999.ebuild b/games-emulation/mgba/mgba-9999.ebuild
19 new file mode 100644
20 index 00000000000..013c485228b
21 --- /dev/null
22 +++ b/games-emulation/mgba/mgba-9999.ebuild
23 @@ -0,0 +1,122 @@
24 +# Copyright 1999-2019 Gentoo Authors
25 +# Distributed under the terms of the GNU General Public License v2
26 +
27 +EAPI=7
28 +
29 +inherit cmake-utils desktop xdg
30 +
31 +DESCRIPTION="Game Boy Advance emulator written in C"
32 +HOMEPAGE="https://mgba.io"
33 +if [[ "${PV}" == 9999 ]] ; then
34 + inherit git-r3
35 + EGIT_REPO_URI="https://github.com/mgba-emu/mgba.git"
36 +else
37 + SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
38 + KEYWORDS="~amd64 ~x86"
39 +fi
40 +LICENSE="MPL-2.0"
41 +SLOT="0"
42 +IUSE="debug elf ffmpeg imagemagick libav opengl qt5 +sdl sqlite"
43 +REQUIRED_USE="|| ( qt5 sdl )
44 + qt5? ( opengl )"
45 +
46 +RDEPEND="
47 + media-libs/libpng:0=
48 + sys-libs/zlib[minizip]
49 + elf? ( dev-libs/elfutils )
50 + ffmpeg? (
51 + libav? ( media-video/libav:= )
52 + !libav? ( media-video/ffmpeg:= )
53 + )
54 + imagemagick? ( media-gfx/imagemagick:= )
55 + opengl? ( virtual/opengl )
56 + qt5? (
57 + dev-qt/qtcore:5
58 + dev-qt/qtgui:5
59 + dev-qt/qtmultimedia:5
60 + dev-qt/qtwidgets:5
61 + opengl? ( dev-qt/qtopengl:5 )
62 + )
63 + sdl? ( media-libs/libsdl2[X,sound,joystick,video,opengl?] )
64 + sqlite? ( dev-db/sqlite:3 )
65 +"
66 +DEPEND="${RDEPEND}"
67 +
68 +src_prepare() {
69 + xdg_environment_reset
70 + cmake-utils_src_prepare
71 +
72 + # Get rid of any bundled stuff we don't want
73 + for pkg in libpng lzma sqlite3 zlib ; do
74 + rm -r src/third-party/${pkg} || die
75 + done
76 +}
77 +
78 +src_configure() {
79 + local mycmakeargs=(
80 + -DCMAKE_SKIP_RPATH=ON
81 + -DBUILD_GL="$(usex opengl)"
82 + -DBUILD_PYTHON=OFF
83 + -DBUILD_QT="$(usex qt5)"
84 + -DBUILD_SDL="$(usex sdl)"
85 + -DBUILD_SHARED=ON
86 + # test suite fails to build (>=0.6.0)
87 + -DBUILD_SUITE=OFF
88 + -DBUILD_TEST=OFF
89 + -DM_CORE_GB=ON
90 + -DM_CORE_GBA=ON
91 + -DUSE_DEBUGGERS="$(usex debug)"
92 + -DUSE_EDITLINE="$(usex debug)"
93 + -DUSE_ELF="$(usex elf)"
94 + -DUSE_EPOXY=OFF
95 + -DUSE_FFMPEG="$(usex ffmpeg)"
96 + -DUSE_GDB_STUB="$(usex debug)"
97 + -DUSE_LIBZIP=OFF
98 + -DUSE_LZMA=OFF
99 + -DUSE_MAGICK="$(usex imagemagick)"
100 + -DUSE_MINIZIP=ON
101 + -DUSE_PNG=ON
102 + -DUSE_SQLITE3="$(usex sqlite)"
103 + -DUSE_ZLIB=ON
104 + )
105 + cmake-utils_src_configure
106 +}
107 +
108 +src_compile() {
109 + cmake-utils_src_compile
110 +}
111 +
112 +src_install() {
113 + if use qt5 ; then
114 + dobin ../${P}_build/qt/${PN}-qt
115 + doman doc/${PN}-qt.6
116 + domenu res/${PN}-qt.desktop
117 + for size in 16 24 32 48 64 96 128 256 ; do
118 + newicon -s ${size} res/${PN}-${size}.png ${PN}.png
119 + done
120 + fi
121 + if use sdl ; then
122 + doman doc/${PN}.6
123 + newbin ../${P}_build/sdl/${PN} ${PN}-sdl
124 + fi
125 +
126 + dolib.so ../${P}_build/lib${PN}.so*
127 +}
128 +
129 +pkg_preinst() {
130 + if use qt5 ; then
131 + xdg_pkg_preinst
132 + fi
133 +}
134 +
135 +pkg_postinst() {
136 + if use qt5 ; then
137 + xdg_pkg_postinst
138 + fi
139 +}
140 +
141 +pkg_postrm() {
142 + if use qt5 ; then
143 + xdg_pkg_postrm
144 + fi
145 +}