diff options
Diffstat (limited to 'games-emulation')
-rw-r--r-- | games-emulation/mgba/metadata.xml | 1 | ||||
-rw-r--r-- | games-emulation/mgba/mgba-0.9.3-r2.ebuild | 92 | ||||
-rw-r--r-- | games-emulation/mgba/mgba-9999.ebuild | 142 |
3 files changed, 146 insertions, 89 deletions
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-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-9999.ebuild b/games-emulation/mgba/mgba-9999.ebuild index bfc1bea7e039..76e7916549ff 100644 --- a/games-emulation/mgba/mgba-9999.ebuild +++ b/games-emulation/mgba/mgba-9999.ebuild @@ -3,126 +3,90 @@ EAPI=8 -inherit cmake desktop xdg +inherit cmake 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 opengl +sdl sqlite test" +REQUIRED_USE=" + || ( gui sdl ) + gui? ( || ( gles2 gles3 opengl ) )" +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 ) 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 - - # 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 -} + sdl? ( media-libs/libsdl2[sound,joystick,opengl?,video] ) + sqlite? ( dev-db/sqlite:3 )" +DEPEND=" + ${RDEPEND} + test? ( dev-util/cmocka )" 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) + -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 -} -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 } |