summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-emulation/mgba/Manifest1
-rw-r--r--games-emulation/mgba/mgba-0.9.0.ebuild127
2 files changed, 128 insertions, 0 deletions
diff --git a/games-emulation/mgba/Manifest b/games-emulation/mgba/Manifest
index fa524dd0ce27..4a0dd13b79bb 100644
--- a/games-emulation/mgba/Manifest
+++ b/games-emulation/mgba/Manifest
@@ -1,3 +1,4 @@
DIST mgba-0.7.3.tar.gz 11228977 BLAKE2B 2b70bb97470558e6c10391b782f0f80e0466b2f16df07971ed378801d359157692ce56c61f4432640ed679d43dc2445a1ea45b3402c1b488fb534213d8594271 SHA512 131f850699f17a7496f7428b85b50f38b99acec4c87d5d28ba4e3af94f095a1b6d177ea731838b2971362b46c52accef9cbec98433ecfaccc080371092c7d789
DIST mgba-0.8.3.tar.gz 12013512 BLAKE2B 750c1bcb5cfe30e6e0965a16dbdb91b4dbf9f6b1068b7a9c343932c9b7b08c2b6aef4f7f4f38ee5d4e3ebb73d0f55222c78654be777858f36bd452b5f732e76c SHA512 8154cec08f9ab4fc7cedc7988ed8ee320ad076666e2958b4fa0620801398081aa4808b61dbafd2e7c4b9ff0edfbb761e013fd7117206e81478a6c09ef91e2a5a
DIST mgba-0.8.4.tar.gz 12347906 BLAKE2B 7cea3bc3d291df5ac430685d261de1817798d24abbc2ea4d1fbffb55083ba130a80b6baec75513d616523daf28d0a74a53b5a1a657c1420b73caf6c5058093f8 SHA512 fe9c022211d03eb8a5db23901b2f99a5ee75a40f104e5edb2c6fd1a2860a37d9a3ba8d3b724b35ef958840986dd09002c58740a176290b415826e1a345d90390
+DIST mgba-0.9.0.tar.gz 12804761 BLAKE2B 3598fe30f0bb26eaece5e60d1fd2e69026cb230a9fd4d05ccac83817597489e3e637cab125f37a9affa7183b388dc86c6e1fa1cdfb87e369d09d4120e0cd0387 SHA512 a7ea7ebb3c04c3b79293b029de7152cb1581c2e09204a14f9b35af09234ceca32a359c726b5419db6a3573dd4e0f04f3f1546f44056b05d8f66312ca158936f8
diff --git a/games-emulation/mgba/mgba-0.9.0.ebuild b/games-emulation/mgba/mgba-0.9.0.ebuild
new file mode 100644
index 000000000000..82e8d32e7713
--- /dev/null
+++ b/games-emulation/mgba/mgba-0.9.0.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake desktop xdg
+
+DESCRIPTION="Game Boy Advance emulator written in C"
+HOMEPAGE="https://mgba.io"
+if [[ "${PV}" == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mgba-emu/mgba.git"
+else
+ MY_PV="${PV/_beta/-b}"
+ SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+ [[ "${PV}" == *_beta* ]] || \
+ KEYWORDS="~amd64 ~arm64 ~x86"
+ S="${WORKDIR}/${PN}-${MY_PV}"
+fi
+LICENSE="MPL-2.0"
+SLOT="0"
+IUSE="debug discord elf ffmpeg gles2 gles3 opengl qt5 +sdl sqlite"
+REQUIRED_USE="|| ( qt5 sdl )
+ qt5? ( opengl )"
+
+RDEPEND="
+ media-libs/libpng:0=
+ sys-libs/zlib[minizip]
+ elf? ( dev-libs/elfutils )
+ ffmpeg? ( media-video/ffmpeg:= )
+ opengl? ( media-libs/libglvnd )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtwidgets:5
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ sdl? ( media-libs/libsdl2[X,sound,joystick,video,opengl?] )
+ sqlite? ( dev-db/sqlite:3 )
+"
+DEPEND="${RDEPEND}
+ gles2? ( media-libs/libglvnd )
+ gles3? ( media-libs/libglvnd )
+"
+
+src_prepare() {
+ xdg_environment_reset
+ cmake_src_prepare
+
+ # Get rid of any bundled stuff we don't want
+ local pkg
+ for pkg in libpng lzma sqlite3 zlib ; do
+ rm -r src/third-party/${pkg} || die
+ done
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DBUILD_GL="$(usex opengl)"
+ -DBUILD_GLES2="$(usex gles2)"
+ -DBUILD_GLES3="$(usex gles3)"
+ -DBUILD_PYTHON=OFF
+ -DBUILD_QT="$(usex qt5)"
+ -DBUILD_SDL="$(usex sdl)"
+ -DBUILD_SHARED=ON
+ # test suite fails to build (>=0.6.0)
+ -DBUILD_SUITE=OFF
+ -DBUILD_TEST=OFF
+ -DM_CORE_GB=ON
+ -DM_CORE_GBA=ON
+ -DUSE_DEBUGGERS="$(usex debug)"
+ -DUSE_DISCORD_RPC="$(usex discord)"
+ -DUSE_EDITLINE="$(usex debug)"
+ -DUSE_ELF="$(usex elf)"
+ -DUSE_EPOXY=OFF
+ -DUSE_FFMPEG="$(usex ffmpeg)"
+ -DUSE_GDB_STUB="$(usex debug)"
+ -DUSE_LIBZIP=OFF
+ -DUSE_LZMA=OFF
+ -DUSE_MINIZIP=ON
+ -DUSE_PNG=ON
+ -DUSE_SQLITE3="$(usex sqlite)"
+ -DUSE_ZLIB=ON
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+}
+
+src_install() {
+ if use qt5 ; then
+ dobin ${BUILD_DIR}/qt/${PN}-qt
+ doman doc/${PN}-qt.6
+ domenu res/${PN}-qt.desktop
+ for size in 16 24 32 48 64 96 128 256 ; do
+ newicon -s ${size} res/${PN}-${size}.png ${PN}.png
+ done
+ fi
+ if use sdl ; then
+ doman doc/${PN}.6
+ newbin ${BUILD_DIR}/sdl/${PN} ${PN}-sdl
+ fi
+
+ dolib.so ${BUILD_DIR}/lib${PN}.so*
+}
+
+pkg_preinst() {
+ if use qt5 ; then
+ xdg_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ if use qt5 ; then
+ xdg_pkg_postinst
+ fi
+}
+
+pkg_postrm() {
+ if use qt5 ; then
+ xdg_pkg_postrm
+ fi
+}