summaryrefslogtreecommitdiff
path: root/games-emulation/dolphin
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-22 07:31:18 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-22 07:31:18 +0100
commit908778078736bd36f7a60a2d576d415cb8e000fa (patch)
treec6a4796c48b608c14dc7e9674cdbd38f905e3c15 /games-emulation/dolphin
parent185fa19bbf68a4d4dca534d2b46729207a177f16 (diff)
gentoo resync : 22.05.2021
Diffstat (limited to 'games-emulation/dolphin')
-rw-r--r--games-emulation/dolphin/Manifest2
-rw-r--r--games-emulation/dolphin/dolphin-5.0_p20210506.ebuild195
2 files changed, 197 insertions, 0 deletions
diff --git a/games-emulation/dolphin/Manifest b/games-emulation/dolphin/Manifest
index b9c78d3c0644..d44756fd1a07 100644
--- a/games-emulation/dolphin/Manifest
+++ b/games-emulation/dolphin/Manifest
@@ -1,4 +1,6 @@
DIST dolphin-5.0_p20200705.tar.gz 41580877 BLAKE2B 78fce8cb10543857633d66789999b0ebb8f195e10652b9316f3346d5c84797dea96a31f509f86cb9470b4b9677ca58c4a865494121277cd0bc7dcc93932da9f4 SHA512 8b1aed8c98ff7205d7b1716aea3faad0bfa3d1ff3fe3a616431a421ae62592a57887e18295276b7a0fee52d19e641b72d5dc00e071cefea7fbe40adc9f3f01a1
+DIST dolphin-5.0_p20210506.tar.gz 42098693 BLAKE2B bb9e5b5eb344bd944753c0198d5835109399fdfae46e6858833e5f279ff1979d39e0c512bedb96a91a1241fff525c6f945d16ce1a6b6cc22798490d73b853862 SHA512 5d23e9356995011a0e7b07622d58c8dddc5134a4ec83b3d9343b9eca8d0d2c200ea8c9a299c6aa2550ca74d8e28e258531368f7c167fe620053eb2a0f73b1f2f
EBUILD dolphin-5.0_p20200705.ebuild 4421 BLAKE2B b0598e6e1ab9d723c8fb0c8cf55c3f7ea10025be78c8c184ab8bd50d42995a84d9fe918fe187c24f955139033db80fe8ac30bfdacbbe32d97b9b007e43a3092b SHA512 79b8dd2d3fb337c67e7d59784f97ae26ca6575fc192fdef7307c3061fe4e620d597c753e6692f84341738b437c3d1a53dcf733113f6708eae44c0595d4628200
+EBUILD dolphin-5.0_p20210506.ebuild 4777 BLAKE2B 63029795ac224659226c921ddde2c395698017d009049363e38d191730915188863d623a88e5d0e5a9a88141c5aeb8d23fb7b5f3c900d4681c78a1d8b94a6363 SHA512 2606cf299d49f5e0108f62bfb3aa3670ee66393605313499375b63fde425d95760b75b67003296e0a89f8e9feaceabe05bcdb2f1837274dc4856321a22d2ac83
EBUILD dolphin-9999.ebuild 4790 BLAKE2B 7265a71932941ab75c1836237b380be893563c532e45e414d6880cb8d2e446ff53718a3b961b6eb1a3a04724a9e058f2cf432854d608e0ff6a79e8f01b87b638 SHA512 535fcef911387f2ee2f271a0b42ca36065030640728d745b96cdaae2c4744eda626c171576459d29abb6ee7d0ece31d64417029f39cd166ce7197945973bc5bc
MISC metadata.xml 856 BLAKE2B 982e3d9ee65ed158e831ccb72d144944eaab8efd8f535f120f2d9e14f8332a980244bb23ee7fe0ca6c1ca8b6f2cdc6c1c766439b4416e17fc8df93fc24ca7655 SHA512 994efa4a7b1504a2d02f4d470382c212f0b9c2f929bbc67483b1a4efa4e68d4422216737dca65977ad99afd26fb6772224f6b1902a0eb6b869f155cf010aff33
diff --git a/games-emulation/dolphin/dolphin-5.0_p20210506.ebuild b/games-emulation/dolphin/dolphin-5.0_p20210506.ebuild
new file mode 100644
index 000000000000..9ca2ed316a3a
--- /dev/null
+++ b/games-emulation/dolphin/dolphin-5.0_p20210506.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PLOCALES="ar ca cs da de el en es fa fr hr hu it ja ko ms nb nl pl pt pt_BR ro ru sr sv tr zh_CN zh_TW"
+PLOCALE_BACKUP="en"
+
+inherit cmake desktop xdg-utils l10n pax-utils
+
+if [[ ${PV} == *9999 ]]
+then
+ EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin"
+ inherit git-r3
+else
+ inherit vcs-snapshot
+ commit=eb5cd9be78c76b9ccbab9e5fbd1721ef6876cd68
+ SRC_URI="https://github.com/dolphin-emu/dolphin/archive/${commit}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+DESCRIPTION="Gamecube and Wii game emulator"
+HOMEPAGE="https://www.dolphin-emu.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="alsa bluetooth discord-presence doc +evdev ffmpeg log lto profile pulseaudio +qt5 systemd upnp vulkan"
+
+RDEPEND="
+ dev-libs/hidapi:0=
+ >=dev-libs/libfmt-7.1:0=
+ dev-libs/lzo:2=
+ dev-libs/pugixml:0=
+ media-libs/libpng:0=
+ media-libs/libsfml
+ media-libs/mesa[egl]
+ net-libs/enet:1.3
+ net-libs/mbedtls:0=
+ net-misc/curl:0=
+ sys-libs/readline:0=
+ sys-libs/zlib:0=
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ virtual/libusb:1
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib )
+ bluetooth? ( net-wireless/bluez )
+ evdev? (
+ dev-libs/libevdev
+ virtual/udev
+ )
+ ffmpeg? ( media-video/ffmpeg:= )
+ profile? ( dev-util/oprofile )
+ pulseaudio? ( media-sound/pulseaudio )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ systemd? ( sys-apps/systemd:0= )
+ upnp? ( net-libs/miniupnpc )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+# vulkan-loader required for vulkan backend which can be selected
+# at runtime.
+RDEPEND="${RDEPEND}
+ vulkan? ( media-libs/vulkan-loader )"
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Remove all the bundled libraries that support system-installed
+ # preference. See CMakeLists.txt for conditional 'add_subdirectory' calls.
+ local KEEP_SOURCES=(
+ Bochs_disasm
+ FreeSurround
+
+ # vulkan's API is not backwards-compatible:
+ # new release dropped VK_PRESENT_MODE_RANGE_SIZE_KHR
+ # but dolphin still relies on it, bug #729832
+ Vulkan
+
+ cpp-optparse
+ # no support for for using system library
+ glslang
+ imgui
+
+ # not packaged, tiny header library
+ rangeset
+
+ # FIXME: xxhash can't be found by cmake
+ xxhash
+ # no support for for using system library
+ minizip
+ # soundtouch uses shorts, not floats
+ soundtouch
+ cubeb
+ discord-rpc
+ # Their build set up solely relies on the build in gtest.
+ gtest
+ # gentoo's version requires exception support.
+ # dolphin disables exceptions and fails the build.
+ picojson
+ # No code to detect shared library.
+ zstd
+ )
+ local s
+ for s in "${KEEP_SOURCES[@]}"; do
+ mv -v "Externals/${s}" . || die
+ done
+ einfo "removing sources: $(echo Externals/*)"
+ rm -r Externals/* || die "Failed to delete Externals dir."
+ for s in "${KEEP_SOURCES[@]}"; do
+ mv -v "${s}" "Externals/" || die
+ done
+
+ 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
+
+ # About 50% compile-time speedup
+ use vulkan || sed -i -e '/Externals\/glslang/d' CMakeLists.txt
+
+ # Remove dirty suffix: needed for netplay
+ sed -i -e 's/--dirty/&=""/' CMakeLists.txt
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # Use ccache only when user did set FEATURES=ccache (or similar)
+ # not when ccache binary is present in system (automagic).
+ -DCCACHE_BIN=CCACHE_BIN-NOTFOUND
+ -DENABLE_ALSA=$(usex alsa)
+ -DENABLE_BLUEZ=$(usex bluetooth)
+ -DENABLE_EVDEV=$(usex evdev)
+ -DENCODE_FRAMEDUMPS=$(usex ffmpeg)
+ -DENABLE_LLVM=OFF
+ -DENABLE_LTO=$(usex lto)
+ -DENABLE_PULSEAUDIO=$(usex pulseaudio)
+ -DENABLE_QT=$(usex qt5)
+ -DENABLE_SDL=OFF # not supported: #666558
+ -DENABLE_VULKAN=$(usex vulkan)
+ -DFASTLOG=$(usex log)
+ -DOPROFILING=$(usex profile)
+ -DUSE_DISCORD_PRESENCE=$(usex discord-presence)
+ -DUSE_SHARED_ENET=ON
+ -DUSE_UPNP=$(usex upnp)
+
+ # Undo cmake.eclass's defaults.
+ # All dolphin's libraries are private
+ # and rely on circular dependency resolution.
+ -DBUILD_SHARED_LIBS=OFF
+
+ # Avoid warning spam around unset variables.
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_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
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}