diff options
Diffstat (limited to 'games-emulation/mgba/mgba-9999.ebuild')
-rw-r--r-- | games-emulation/mgba/mgba-9999.ebuild | 142 |
1 files changed, 53 insertions, 89 deletions
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 } |