summaryrefslogtreecommitdiff
path: root/games-emulation/mgba
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-09 15:43:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-09 15:43:36 +0100
commit2719f73b6813d11d13a9650cdd2ab8ec6e69385d (patch)
tree8c816148bcbd22757d892089c989ae614eae4f5a /games-emulation/mgba
parent0f558761aa2dee1017b4751e4017205e015a9560 (diff)
gentoo resync : 09.07.2022
Diffstat (limited to 'games-emulation/mgba')
-rw-r--r--games-emulation/mgba/Manifest9
-rw-r--r--games-emulation/mgba/files/mgba-0.9.3-ffmpeg5.patch14
-rw-r--r--games-emulation/mgba/metadata.xml1
-rw-r--r--games-emulation/mgba/mgba-0.9.3-r1.ebuild132
-rw-r--r--games-emulation/mgba/mgba-0.9.3-r2.ebuild92
-rw-r--r--games-emulation/mgba/mgba-0.9.3.ebuild128
-rw-r--r--games-emulation/mgba/mgba-9999.ebuild148
7 files changed, 161 insertions, 363 deletions
diff --git a/games-emulation/mgba/Manifest b/games-emulation/mgba/Manifest
index 7875b19e01e3..80df47a8a742 100644
--- a/games-emulation/mgba/Manifest
+++ b/games-emulation/mgba/Manifest
@@ -1,8 +1,7 @@
-AUX mgba-0.9.3-ffmpeg5.patch 4952 BLAKE2B a6f03faafb0316516aba79bb5c6e7c474124ea4259c34456bc28cb4aa86543da7ddfed363256160294293f4882e3116076400c042caf7e1f31811739f8fd86dd SHA512 5badf11d8d24ed2cb13c45e7ff9d56159c63b2557076fe92ade4d0b7051bfcd0f8b9fc3c8bf95faf5612789c9aa6609fc8e0c11b6e9a00816f2a17b72a3c183c
+AUX mgba-0.9.3-ffmpeg5.patch 4576 BLAKE2B ffce6592f2ff469a97831dd9ed8ede27bbe070ba0434545b4ff477f0f8652a15d320b205d227d3b21043127e60a4f7f326ea6c062d8bc04645b87d9af71cebdd SHA512 cce9ddd1d5bed70f1b996948afb31b5c827ccb0e2878fb032a65543551925e4a6d6a7f72a0380156b1f8a6e3720d3479d5e5e45026f7860c29fba022fd4df3d5
DIST mgba-0.9.2.tar.gz 12761919 BLAKE2B f0f3ca5f47d38c8018541426a229d52a2ebc9e47dc07fe4b739bde3f7ef2a4d75e6db5ca5f8dfaee01ae9648035f24c9d02556078b0b5eb51aefecfc9305432d SHA512 ea9868c104996c44a2fcfdf9d3f4d6177b853dec478ab7a2dd19a0f127b597a887150200bfbf14de593328217ff5493ca675bfcb4f0b2ee6a5097e0cdf0e2997
DIST mgba-0.9.3.tar.gz 12763090 BLAKE2B 7d9ff6fc7bdff5d734540b74893a888d400b4bb6e1ce5b3b2a856239db8798ac76b8535dc770330d0451e2568a6d402558eeef27d643c0d5d3454441f45cf09b SHA512 da65b3c7ec32d732163f129c4fd38949ae2da2980beb3257bf6def5e35534a27b6d30309bb3c9a8d651642f99e1a45db7a8577c8dbf5472153d4551167471b3a
EBUILD mgba-0.9.2.ebuild 2665 BLAKE2B e51a4a1dc11165c34f868fcb158d17993ce353340347753a30c29e8b154e64fca74ace2f62f669cac8cdec75712a29ac9ca776921a41c14a1630a130e3e491f3 SHA512 b1c3537ec21c54f620106f738099ada4f987cce85021f1b74d91e8966be9a423d38ffc0970c94beac604a4bcadcb21a8f53c59c82852a4915ac22a2c3747c363
-EBUILD mgba-0.9.3-r1.ebuild 2729 BLAKE2B 7986a68ce6802698b0a1f5e95887d8906bfb513f6f716bf9748633492a63b6f7877c2332d3bcbe8f12d7dca28bea5c59c16cb66ea02291a7482375bf2854b16b SHA512 bb866d0984c0b718a4f34c6409569ae99deb21b8f7aa64219ce6969124c6f11231f09e1664f1bfac5282acd8fccd18a2d1700b28b7060427b29c224047902981
-EBUILD mgba-0.9.3.ebuild 2667 BLAKE2B 6ecc15660f152df0260a517a385ec261e6902be59193e8b0cb8bdfe53d3d480e9150402e9350fa72603bd4004d08a8bc25d334b1253688c2ff46aad9b01d5253 SHA512 cc35bed7f09990ccbbc881acfd1a7e2673012e7e04aadd3fa9e739b123a7eef8989ed6893b729ce0a69642ccba8c692b780899d931881240178666821af444f0
-EBUILD mgba-9999.ebuild 2667 BLAKE2B 6ecc15660f152df0260a517a385ec261e6902be59193e8b0cb8bdfe53d3d480e9150402e9350fa72603bd4004d08a8bc25d334b1253688c2ff46aad9b01d5253 SHA512 cc35bed7f09990ccbbc881acfd1a7e2673012e7e04aadd3fa9e739b123a7eef8989ed6893b729ce0a69642ccba8c692b780899d931881240178666821af444f0
-MISC metadata.xml 633 BLAKE2B b875463eced72f4eaf75479126cac68bd9eebbdf4607852afe1906d1760ac03a2f4ab130f72998390923953f6a42b8ebc8889e3c02ad8d33fd8dc30de5055b44 SHA512 e69b1ace1cfe6aef1ba7df73b5846782f623aad78c5f62cabce380d0e12639c782b8828bf72826ecea695e84277a64609d6007ab37e5a00b2479ec8605ca9b5a
+EBUILD mgba-0.9.3-r2.ebuild 2200 BLAKE2B e71cd0e5bd55406a48a723b8fba9d3f3fa2c627d0e8f8b6b3be7f85259e3200e0aeb84c12dbe32c7629b68b49e5dff1154213b119a490b100082147110797c4c SHA512 93eeb2b17b614f6a16e13a556e3781d13f53eda6da0e4c895e30758df3abb22282c024dd7730aca19928d22f26698cac694a8f13c94f83ccdfbf7042919a2572
+EBUILD mgba-9999.ebuild 2483 BLAKE2B 8ed68ea62f61ea0446de6af955230f351cf958ecde411ccdb79bfebe0c7e9ea652afbbd33e26efc422bbd158e00cc29324073f378acd2c7d7aa15cbb6cad5778 SHA512 c026ff1d8c75e5ac8e3aa9576c1967e9e9d3835fab7210e47bf19ce76ca5eec6ec1691bfac2d22ceb4c5c134d60e9a3b8eeb68179cd3f01c80a66ad4f071e71c
+MISC metadata.xml 686 BLAKE2B 14edb52fcb9e889ba151f05141d2f0b866a27ddb87943ee99a71223c747ae72423cbda0a8646b32ea175c13a67305bbba01c5062e3f73efba636f2d4a744de55 SHA512 3d671e43a9c0991131cce93bcc4b3c4da32fd67ebdbc57b404eafc4f235b3ad7af1417801bd84578d76553829b3ebfeb29d5a7f9871d11812e681759a2232698
diff --git a/games-emulation/mgba/files/mgba-0.9.3-ffmpeg5.patch b/games-emulation/mgba/files/mgba-0.9.3-ffmpeg5.patch
index cf4f6f56a2d4..6b8d55c377ea 100644
--- a/games-emulation/mgba/files/mgba-0.9.3-ffmpeg5.patch
+++ b/games-emulation/mgba/files/mgba-0.9.3-ffmpeg5.patch
@@ -1,15 +1,9 @@
-From cdc753516798882a805db1d2042dbce8313382bf Mon Sep 17 00:00:00 2001
+https://bugs.gentoo.org/834374
+
+https://github.com/mgba-emu/mgba/commit/cdc753516798882a805db1d2042dbce8313382bf
From: Ryan Tandy <ryan@nardis.ca>
Date: Thu, 3 Feb 2022 19:02:52 -0800
Subject: [PATCH] FFmpeg: Support FFmpeg 5.0
-
----
- src/feature/ffmpeg/ffmpeg-decoder.c | 3 ++-
- src/feature/ffmpeg/ffmpeg-encoder.c | 25 ++++++++++++++-----------
- 2 files changed, 16 insertions(+), 12 deletions(-)
-
-diff --git a/src/feature/ffmpeg/ffmpeg-decoder.c b/src/feature/ffmpeg/ffmpeg-decoder.c
-index c3bb6d1c5c..daa47fbf2c 100644
--- a/src/feature/ffmpeg/ffmpeg-decoder.c
+++ b/src/feature/ffmpeg/ffmpeg-decoder.c
@@ -5,6 +5,7 @@
@@ -29,8 +23,6 @@ index c3bb6d1c5c..daa47fbf2c 100644
struct AVCodecContext* context = NULL;
if (type == AVMEDIA_TYPE_VIDEO && decoder->videoStream < 0) {
decoder->video = avcodec_alloc_context3(NULL);
-diff --git a/src/feature/ffmpeg/ffmpeg-encoder.c b/src/feature/ffmpeg/ffmpeg-encoder.c
-index ad76ca57b2..be6bd3af5e 100644
--- a/src/feature/ffmpeg/ffmpeg-encoder.c
+++ b/src/feature/ffmpeg/ffmpeg-encoder.c
@@ -12,6 +12,9 @@
diff --git a/games-emulation/mgba/metadata.xml b/games-emulation/mgba/metadata.xml
index e99f6fd576d4..9e784de51af0 100644
--- a/games-emulation/mgba/metadata.xml
+++ b/games-emulation/mgba/metadata.xml
@@ -10,6 +10,7 @@
<flag name="elf">Enable the use of elf utils via <pkg>dev-libs/elfutils</pkg></flag>
<flag name="gles2">Build OpenGL ES 2.x RenderSystem</flag>
<flag name="gles3">Build OpenGL ES 3.x RenderSystem</flag>
+ <flag name="libretro">Build libretro port</flag>
</use>
<upstream>
<remote-id type="github">mgba-emu/mgba</remote-id>
diff --git a/games-emulation/mgba/mgba-0.9.3-r1.ebuild b/games-emulation/mgba/mgba-0.9.3-r1.ebuild
deleted file mode 100644
index 8ac2d817bb04..000000000000
--- a/games-emulation/mgba/mgba-0.9.3-r1.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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 ~ppc64 ~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]
- debug? ( dev-libs/libedit )
- 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 )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-ffmpeg5.patch" #834374
-)
-
-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
-}
diff --git a/games-emulation/mgba/mgba-0.9.3-r2.ebuild b/games-emulation/mgba/mgba-0.9.3-r2.ebuild
new file mode 100644
index 000000000000..4d806f22f62f
--- /dev/null
+++ b/games-emulation/mgba/mgba-0.9.3-r2.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mgba-emu/mgba.git"
+else
+ SRC_URI="https://github.com/mgba-emu/mgba/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Game Boy Advance Emulator"
+HOMEPAGE="https://mgba.io/"
+
+LICENSE="MPL-2.0 BSD LGPL-2.1+ public-domain discord? ( MIT )"
+SLOT="0/9"
+IUSE="debug discord elf ffmpeg gles2 gles3 gui libretro opengl +sdl sqlite test"
+# gles2/gles3 opengl require can be lifted in next version (bug #835039)
+REQUIRED_USE="
+ || ( gui sdl )
+ gles2? ( opengl )
+ gles3? ( opengl )
+ gui? ( || ( gles2 opengl ) )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ media-libs/libpng:=
+ sys-libs/zlib:=[minizip]
+ debug? ( dev-libs/libedit )
+ elf? ( dev-libs/elfutils )
+ ffmpeg? ( media-video/ffmpeg:= )
+ gles2? ( media-libs/libglvnd )
+ gles3? ( media-libs/libglvnd )
+ opengl? ( media-libs/libglvnd )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ )
+ sdl? ( media-libs/libsdl2[sound,joystick,opengl?,video] )
+ sqlite? ( dev-db/sqlite:3 )"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ffmpeg5.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CINEMA=$(usex test)
+ -DBUILD_GL=$(usex opengl)
+ -DBUILD_GLES2=$(usex gles2)
+ -DBUILD_GLES3=$(usex gles3)
+ -DBUILD_LIBRETRO=$(usex libretro)
+ -DBUILD_QT=$(usex gui)
+ -DBUILD_SDL=$(usex sdl)
+ -DBUILD_SUITE=$(usex test)
+ -DMARKDOWN=OFF #752048
+ -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=ON
+ -DUSE_MINIZIP=ON
+ -DUSE_PNG=ON
+ -DUSE_SQLITE3=$(usex sqlite)
+ -DUSE_ZLIB=ON
+ $(usev libretro -DLIBRETRO_LIBDIR="${EPREFIX}"/usr/$(get_libdir)/libretro)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ use !test || rm "${ED}"/usr/bin/mgba-cinema || die
+
+ rm -r "${ED}"/usr/share/doc/${PF}/{LICENSE,licenses} || die
+}
diff --git a/games-emulation/mgba/mgba-0.9.3.ebuild b/games-emulation/mgba/mgba-0.9.3.ebuild
deleted file mode 100644
index bfc1bea7e039..000000000000
--- a/games-emulation/mgba/mgba-0.9.3.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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]
- debug? ( dev-libs/libedit )
- 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
-}
diff --git a/games-emulation/mgba/mgba-9999.ebuild b/games-emulation/mgba/mgba-9999.ebuild
index bfc1bea7e039..c7121c11ef4a 100644
--- a/games-emulation/mgba/mgba-9999.ebuild
+++ b/games-emulation/mgba/mgba-9999.ebuild
@@ -3,126 +3,100 @@
EAPI=8
-inherit cmake desktop xdg
+LUA_COMPAT=( lua5-{3..4} )
+inherit cmake lua-single xdg
-DESCRIPTION="Game Boy Advance emulator written in C"
-HOMEPAGE="https://mgba.io"
-if [[ "${PV}" == 9999 ]] ; then
+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}"
+ SRC_URI="https://github.com/mgba-emu/mgba/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
-LICENSE="MPL-2.0"
-SLOT="0"
-IUSE="debug discord elf ffmpeg gles2 gles3 opengl qt5 +sdl sqlite"
-REQUIRED_USE="|| ( qt5 sdl )
- qt5? ( opengl )"
+
+DESCRIPTION="Game Boy Advance Emulator"
+HOMEPAGE="https://mgba.io/"
+
+LICENSE="MPL-2.0 BSD LGPL-2.1+ public-domain discord? ( MIT )"
+SLOT="0/10"
+IUSE="debug discord elf ffmpeg gles2 gles3 gui libretro lua opengl +sdl sqlite test"
+REQUIRED_USE="
+ || ( gui sdl )
+ gui? ( || ( gles2 gles3 opengl ) )
+ lua? ( ${LUA_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
RDEPEND="
- media-libs/libpng:0=
- sys-libs/zlib[minizip]
+ media-libs/libpng:=
+ sys-libs/zlib:=[minizip]
debug? ( dev-libs/libedit )
elf? ( dev-libs/elfutils )
ffmpeg? ( media-video/ffmpeg:= )
+ gles2? ( media-libs/libglvnd )
+ gles3? ( media-libs/libglvnd )
+ lua? ( ${LUA_DEPS} )
opengl? ( media-libs/libglvnd )
- qt5? (
+ gui? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
+ dev-qt/qtnetwork: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
+ sdl? ( media-libs/libsdl2[sound,joystick,opengl?,video] )
+ sqlite? ( dev-db/sqlite:3 )"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )"
+BDEPEND="lua? ( virtual/pkgconfig )"
- # 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
+pkg_setup() {
+ use lua && lua-single_pkg_setup
}
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)"
+ -DBUILD_CINEMA=$(usex test)
+ -DBUILD_GL=$(usex opengl)
+ -DBUILD_GLES2=$(usex gles2)
+ -DBUILD_GLES3=$(usex gles3)
+ -DBUILD_LIBRETRO=$(usex libretro)
+ -DBUILD_QT=$(usex gui)
+ -DBUILD_SDL=$(usex sdl)
+ -DBUILD_SUITE=$(usex test)
+ -DENABLE_SCRIPTING=$(usex lua)
+ -DMARKDOWN=OFF #752048
+ -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_FFMPEG=$(usex ffmpeg)
+ -DUSE_GDB_STUB=$(usex debug)
-DUSE_LIBZIP=OFF
- -DUSE_LZMA=OFF
+ -DUSE_LZMA=ON
-DUSE_MINIZIP=ON
-DUSE_PNG=ON
- -DUSE_SQLITE3="$(usex sqlite)"
+ -DUSE_SQLITE3=$(usex sqlite)
-DUSE_ZLIB=ON
+ $(usev libretro -DLIBRETRO_LIBDIR="${EPREFIX}"/usr/$(get_libdir)/libretro)
)
- cmake_src_configure
-}
+ use lua && mycmakeargs+=( -DUSE_LUA=$(ver_cut 1-2 $(lua_get_version)) )
-src_compile() {
- cmake_src_compile
+ cmake_src_configure
}
-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
+src_test() {
+ # CMakeLists.txt forces SKIP_RPATH=ON when PREFIX=/usr
+ local -x LD_LIBRARY_PATH=${BUILD_DIR}:${LD_LIBRARY_PATH}
- dolib.so "${BUILD_DIR}"/lib${PN}.so*
+ cmake_src_test
}
-pkg_preinst() {
- if use qt5 ; then
- xdg_pkg_preinst
- fi
-}
+src_install() {
+ cmake_src_install
-pkg_postinst() {
- if use qt5 ; then
- xdg_pkg_postinst
- fi
-}
+ use !test || rm "${ED}"/usr/bin/mgba-cinema || die
-pkg_postrm() {
- if use qt5 ; then
- xdg_pkg_postrm
- fi
+ rm -r "${ED}"/usr/share/doc/${PF}/{LICENSE,licenses} || die
}