diff options
Diffstat (limited to 'games-emulation/dolphin')
-rw-r--r-- | games-emulation/dolphin/Manifest | 6 | ||||
-rw-r--r-- | games-emulation/dolphin/dolphin-5.0.ebuild | 191 | ||||
-rw-r--r-- | games-emulation/dolphin/dolphin-9999.ebuild | 198 | ||||
-rw-r--r-- | games-emulation/dolphin/metadata.xml | 22 |
4 files changed, 417 insertions, 0 deletions
diff --git a/games-emulation/dolphin/Manifest b/games-emulation/dolphin/Manifest new file mode 100644 index 000000000000..ce501f8b6ad4 --- /dev/null +++ b/games-emulation/dolphin/Manifest @@ -0,0 +1,6 @@ +DIST dolphin-5.0.zip 41802909 SHA256 f8c26bdea7a8329873bd2c485676ba5cbc1670faad3fef98f1d516254b4dd3a1 SHA512 36c4f371e066537331a9a8ec4a17befa278465cdebe258e1cbf1157752ba69bff9c1b8a6e8698bbb650aa257bd48b6b42ee9f61357904b09fd01738af8223d3a WHIRLPOOL 401d569e1b45a8873a2f7879a5d9c931228767be909c9ddde43d49394a79580c2ae0eccc29757f471565ad0554cd20e57c371393526d68b2c79f8570a2e2bd5c +EBUILD dolphin-5.0.ebuild 4663 SHA256 1aefc9ed28afd0c8ee384163d34c5c81fb77fa5a352cb8cb778174c39d3abcda SHA512 7ad78f21fc2bb0b9e1fe5a26f0568f068729da61ea2d531fb8f92b18ee4bdd0572b42a41baeac300f62a731ce41259d878390f3c9bb6ba6ff62c0ca90b05a74e WHIRLPOOL ffc4da5fd7e6d86101461e59dd359505b50ec24ae941e1c4dbd4b6632a9e7a579e2230dff3c2ec693afccfeee107fd521ab4c23e4b794081f51d90be0a67595e +EBUILD dolphin-9999.ebuild 4788 SHA256 f2368823f39cd855cb2ab00c10e84bf5e09792638ef9b0391d876eb12aa51228 SHA512 45bcc0bfbe7b1db17713f94a89be5df7146b720457ce4fe1f881ac981b4757c5e0125f9079b3fa10d4f313443919c469c790bfb095acbd107078fc2d6933f988 WHIRLPOOL 14bb65073b7c03fac6f6a302e964bfe16b7e3342b022d40e263630a0506e68d50000729e0a192aaa21e193a44ba1e00228904ad4863bdde061a2fbc5ffe39960 +MISC ChangeLog 5842 SHA256 f46477e7e0a6e1e2fe1e35567b56b366be9a10269c301eac30281c338a823067 SHA512 6017479eef9fb16a42142fe2ca868b1995ab3fe1d14e3591ecf6f838e6ad468aed2c360a902444938c655cbc76611da7fb3f79eb012372ad398e8809f8b33b47 WHIRLPOOL 5b31e2568fdb4b05f1115f82c5f20b34c137331285dc9b083f23c61a7ccfda402b69e12890384ac292ee8cbdfa7250b675eb42ad15c1ead8bc0f95a824054c95 +MISC ChangeLog-2015 7182 SHA256 f2d681450b8b0cc3da0d3b261bf1e8b8d59cc51a26def986b3ea500c8edf42a6 SHA512 e07600efbaeb4807d0ed6e804c70ad5747e2105ff5e55cd59960d54daad964e6856b12f2b2b4eb395abd8ba5a93fa58f42389fb9999cc0536ec18b4f14ebfb28 WHIRLPOOL f250ace5502a939104823c1f280dc5e2feb8edc40380729eb88b8b092dd441cc6b94de5494674c885fa49e64b02c6029277d8e2861912fc07cbbd8ff48354a6e +MISC metadata.xml 836 SHA256 ea856b6b9bb21e6d438fe204aab503a2d2965371d009adec134687799eb72c21 SHA512 7bdcb2ba2f3a1fa247080a08da495274bea1f61bec1a88e824ebd44fb7e21e74e7ef52855c1c6fba07f12b278df19c0014ba98a5b6ec50f62c08b0ee31e5fc6b WHIRLPOOL a00d300fa3325d96afac87af953cae5ea735d7efbd60f25044105e7a965c3840546c3c8bc422abf61bc82a0bbf079cb8f9df12b92fbbd53fe8ede808c25d5a18 diff --git a/games-emulation/dolphin/dolphin-5.0.ebuild b/games-emulation/dolphin/dolphin-5.0.ebuild new file mode 100644 index 000000000000..66b0fe9c7dab --- /dev/null +++ b/games-emulation/dolphin/dolphin-5.0.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PLOCALES="ar ca cs da_DK de el en es fa fr hr hu it ja ko ms_MY nb nl pl pt pt_BR ro_RO ru sr sv tr zh_CN zh_TW" +PLOCALE_BACKUP="en" +WX_GTK_VER="3.0" + +inherit cmake-utils eutils l10n pax-utils toolchain-funcs versionator wxwidgets + +SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${PV}.zip -> ${P}.zip" +KEYWORDS="amd64" + +DESCRIPTION="Gamecube and Wii game emulator" +HOMEPAGE="https://www.dolphin-emu.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="alsa ao bluetooth doc egl +evdev ffmpeg llvm log lto openal +pch portaudio profile pulseaudio qt5 sdl upnp +wxwidgets" + +RDEPEND=">=media-libs/libsfml-2.1 + >net-libs/enet-1.3.7 + >=net-libs/mbedtls-2.1.1 + dev-libs/lzo + media-libs/libpng:= + sys-libs/glibc + sys-libs/readline:= + sys-libs/zlib + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + virtual/libusb:1 + virtual/opengl + alsa? ( media-libs/alsa-lib ) + ao? ( media-libs/libao ) + bluetooth? ( net-wireless/bluez ) + egl? ( media-libs/mesa[egl] ) + evdev? ( + dev-libs/libevdev + virtual/udev + ) + ffmpeg? ( virtual/ffmpeg ) + llvm? ( sys-devel/llvm ) + openal? ( + media-libs/openal + media-libs/libsoundtouch + ) + portaudio? ( media-libs/portaudio ) + profile? ( dev-util/oprofile ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) + sdl? ( media-libs/libsdl2[haptic,joystick] ) + upnp? ( >=net-libs/miniupnpc-1.7 ) + wxwidgets? ( + dev-libs/glib:2 + x11-libs/gtk+:2 + x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] + ) + " +DEPEND="${RDEPEND} + >=dev-util/cmake-2.8.8 + >=sys-devel/gcc-4.9.0 + app-arch/zip + media-libs/freetype + sys-devel/gettext + virtual/pkgconfig + " + +pkg_pretend() { + + local ver=4.9.0 + local msg="${PN} needs at least GCC ${ver} set to compile." + + if [[ ${MERGE_TYPE} != binary ]]; then + if ! version_is_at_least ${ver} $(gcc-fullversion); then + eerror ${msg} + die ${msg} + fi + fi + +} + +src_prepare() { + + # Remove automatic dependencies to prevent building without flags enabled. + if use !alsa; then + sed -i -e '/include(FindALSA/d' CMakeLists.txt || die + fi + if use !ao; then + sed -i -e '/check_lib(AO/d' CMakeLists.txt || die + fi + if use !bluetooth; then + sed -i -e '/check_lib(BLUEZ/d' CMakeLists.txt || die + fi + if use !llvm; then + sed -i -e '/include(FindLLVM/d' CMakeLists.txt || die + fi + if use !openal; then + sed -i -e '/include(FindOpenAL/d' CMakeLists.txt || die + fi + if use !portaudio; then + sed -i -e '/CMAKE_REQUIRED_LIBRARIES portaudio/d' CMakeLists.txt || die + fi + if use !pulseaudio; then + sed -i -e '/check_lib(PULSEAUDIO/d' CMakeLists.txt || die + fi + + # Remove ALL the bundled libraries, aside from: + # - SOIL: The sources are not public. + # - Bochs-disasm: Don't know what it is. + # - gtest: Their build set up solely relies on the build in gtest. + # - xxhash: Not on the tree. + mv Externals/SOIL . || die + mv Externals/Bochs_disasm . || die + mv Externals/gtest . || die + mv Externals/xxhash . || die + rm -r Externals/* || die "Failed to delete Externals dir." + mv Bochs_disasm Externals || die + mv SOIL Externals || die + mv gtest Externals || die + mv xxhash Externals || die + + remove_locale() { + # Ensure preservation of the backup locale when no valid LINGUA is set + if [[ "${PLOCALE_BACKUP}" == "${1}" ]] && [[ "${PLOCALE_BACKUP}" == "$(l10n_get_locales)" ]]; then + return + else + rm "Languages/po/${1}.po" || die + fi + } + + l10n_find_plocales_changes "Languages/po/" "" '.po' + l10n_for_each_disabled_locale_do remove_locale +} + +src_configure() { + + if use wxwidgets; then + need-wxwidgets unicode + fi + + local mycmakeargs=( + "-DUSE_SHARED_ENET=ON" + $( cmake-utils_use ffmpeg ENCODE_FRAMEDUMPS ) + $( cmake-utils_use log FASTLOG ) + $( cmake-utils_use profile OPROFILING ) + $( cmake-utils_use_disable wxwidgets WX ) + $( cmake-utils_use_enable evdev EVDEV ) + $( cmake-utils_use_enable lto LTO ) + $( cmake-utils_use_enable pch PCH ) + $( cmake-utils_use_enable qt5 QT2 ) + $( cmake-utils_use_enable sdl SDL ) + $( cmake-utils_use_use egl EGL ) + $( cmake-utils_use_use upnp UPNP ) + ) + + cmake-utils_src_configure +} + +src_compile() { + + cmake-utils_src_compile +} +src_install() { + + cmake-utils_src_install + + dodoc Readme.md + if use doc; then + dodoc -r docs/ActionReplay docs/DSP docs/WiiMote + fi + + doicon -s 48 Data/dolphin-emu.png + doicon -s scalable Data/dolphin-emu.svg + doicon Data/dolphin-emu.svg +} + +pkg_postinst() { + # Add pax markings for hardened systems + pax-mark -m "${EPREFIX}"/usr/games/bin/"${PN}"-emu + + if ! use portaudio; then + ewarn "If you want microphone capabilities in dolphin-emu, rebuild with" + ewarn "USE=\"portaudio\"" + fi +} diff --git a/games-emulation/dolphin/dolphin-9999.ebuild b/games-emulation/dolphin/dolphin-9999.ebuild new file mode 100644 index 000000000000..b726d122197e --- /dev/null +++ b/games-emulation/dolphin/dolphin-9999.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PLOCALES="ar ca cs da_DK de el en es fa fr hr hu it ja ko ms_MY nb nl pl pt_BR pt ro_RO ru sr sv tr zh_CN zh_TW" +PLOCALE_BACKUP="en" +WX_GTK_VER="3.0" + +inherit cmake-utils eutils l10n pax-utils toolchain-funcs versionator wxwidgets + +if [[ ${PV} == 9999* ]] +then + EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin" + inherit git-r3 + KEYWORDS="" +else + SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${PV}.zip -> ${P}.zip" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Gamecube and Wii game emulator" +HOMEPAGE="https://www.dolphin-emu.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="alsa ao bluetooth doc egl +evdev ffmpeg llvm log lto openal +pch portaudio profile pulseaudio qt5 sdl upnp +wxwidgets" + +RDEPEND=">=media-libs/libsfml-2.1 + >net-libs/enet-1.3.7 + >=net-libs/mbedtls-2.1.1 + dev-libs/lzo + media-libs/libpng:= + sys-libs/glibc + sys-libs/readline:= + sys-libs/zlib + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + virtual/libusb:1 + virtual/opengl + alsa? ( media-libs/alsa-lib ) + ao? ( media-libs/libao ) + bluetooth? ( net-wireless/bluez ) + egl? ( media-libs/mesa[egl] ) + evdev? ( + dev-libs/libevdev + virtual/udev + ) + ffmpeg? ( virtual/ffmpeg ) + llvm? ( sys-devel/llvm ) + openal? ( + media-libs/openal + media-libs/libsoundtouch + ) + portaudio? ( media-libs/portaudio ) + profile? ( dev-util/oprofile ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) + sdl? ( media-libs/libsdl2[haptic,joystick] ) + upnp? ( >=net-libs/miniupnpc-1.7 ) + wxwidgets? ( + dev-libs/glib:2 + x11-libs/gtk+:2 + x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] + ) + " +DEPEND="${RDEPEND} + >=dev-util/cmake-2.8.8 + >=sys-devel/gcc-4.9.0 + app-arch/zip + media-libs/freetype + sys-devel/gettext + virtual/pkgconfig + " + +pkg_pretend() { + + local ver=4.9.0 + local msg="${PN} needs at least GCC ${ver} set to compile." + + if [[ ${MERGE_TYPE} != binary ]]; then + if ! version_is_at_least ${ver} $(gcc-fullversion); then + eerror ${msg} + die ${msg} + fi + fi + +} + +src_prepare() { + + # Remove automatic dependencies to prevent building without flags enabled. + if use !alsa; then + sed -i -e '/include(FindALSA/d' CMakeLists.txt || die + fi + if use !ao; then + sed -i -e '/check_lib(AO/d' CMakeLists.txt || die + fi + if use !bluetooth; then + sed -i -e '/check_lib(BLUEZ/d' CMakeLists.txt || die + fi + if use !llvm; then + sed -i -e '/include(FindLLVM/d' CMakeLists.txt || die + fi + if use !openal; then + sed -i -e '/include(FindOpenAL/d' CMakeLists.txt || die + fi + if use !portaudio; then + sed -i -e '/CMAKE_REQUIRED_LIBRARIES portaudio/d' CMakeLists.txt || die + fi + if use !pulseaudio; then + sed -i -e '/check_lib(PULSEAUDIO/d' CMakeLists.txt || die + fi + + # Remove ALL the bundled libraries, aside from: + # - SOIL: The sources are not public. + # - Bochs-disasm: Don't know what it is. + # - gtest: Their build set up solely relies on the build in gtest. + # - xxhash: Not on the tree. + mv Externals/SOIL . || die + mv Externals/Bochs_disasm . || die + mv Externals/gtest . || die + mv Externals/xxhash . || die + rm -r Externals/* || die "Failed to delete Externals dir." + mv Bochs_disasm Externals || die + mv SOIL Externals || die + mv gtest Externals || die + mv xxhash Externals || die + + remove_locale() { + # Ensure preservation of the backup locale when no valid LINGUA is set + if [[ "${PLOCALE_BACKUP}" == "${1}" ]] && [[ "${PLOCALE_BACKUP}" == "$(l10n_get_locales)" ]]; then + return + else + rm "Languages/po/${1}.po" || die + fi + } + + l10n_find_plocales_changes "Languages/po/" "" '.po' + l10n_for_each_disabled_locale_do remove_locale +} + +src_configure() { + + if use wxwidgets; then + need-wxwidgets unicode + fi + + local mycmakeargs=( + "-DUSE_SHARED_ENET=ON" + $( cmake-utils_use ffmpeg ENCODE_FRAMEDUMPS ) + $( cmake-utils_use log FASTLOG ) + $( cmake-utils_use profile OPROFILING ) + $( cmake-utils_use_disable wxwidgets WX ) + $( cmake-utils_use_enable evdev EVDEV ) + $( cmake-utils_use_enable lto LTO ) + $( cmake-utils_use_enable pch PCH ) + $( cmake-utils_use_enable qt5 QT2 ) + $( cmake-utils_use_enable sdl SDL ) + $( cmake-utils_use_use egl EGL ) + $( cmake-utils_use_use upnp UPNP ) + ) + + cmake-utils_src_configure +} + +src_compile() { + + cmake-utils_src_compile +} +src_install() { + + cmake-utils_src_install + + dodoc Readme.md + if use doc; then + dodoc -r docs/ActionReplay docs/DSP docs/WiiMote + fi + + doicon -s 48 Data/dolphin-emu.png + doicon -s scalable Data/dolphin-emu.svg + doicon Data/dolphin-emu.svg +} + +pkg_postinst() { + # Add pax markings for hardened systems + pax-mark -m "${EPREFIX}"/usr/games/bin/"${PN}"-emu + + if ! use portaudio; then + ewarn "If you want microphone capabilities in dolphin-emu, rebuild with" + ewarn "USE=\"portaudio\"" + fi +} diff --git a/games-emulation/dolphin/metadata.xml b/games-emulation/dolphin/metadata.xml new file mode 100644 index 000000000000..e5f72fa203b6 --- /dev/null +++ b/games-emulation/dolphin/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <use> + <flag name="egl">Enable EGL support</flag> + <flag name="evdev">Enable evdev input support</flag> + <flag name="llvm">Enable the LLVM-based disassembler for debugger mode</flag> + <flag name="log">Increase logging output</flag> + <flag name="lto">Add support for link-time optimizations.</flag> + </use> + <longdescription lang="en"> +Dolphin is a Gamecube and Wii emulator. Most games run perfectly or with minor +bugs. Games are playable at HD quality, with 1080p and more. + </longdescription> + <maintainer type="person"> + <email>twitch153@gentoo.org</email> + <name>Devan Franchini</name> + </maintainer> + <upstream> + <remote-id type="github">dolphin-emu/dolphin</remote-id> + </upstream> +</pkgmetadata> |