forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
games-emulation/dolphin: bump up to 5.0_p20210506
Reported-by: Toralf Förster Closes: https://bugs.gentoo.org/789609 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Sergei Trofimovich <[email protected]>
- Loading branch information
Sergei Trofimovich
committed
May 12, 2021
1 parent
9a9faf9
commit 48f3056
Showing
2 changed files
with
196 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST dolphin-5.0_p20200705.tar.gz 41580877 BLAKE2B 78fce8cb10543857633d66789999b0ebb8f195e10652b9316f3346d5c84797dea96a31f509f86cb9470b4b9677ca58c4a865494121277cd0bc7dcc93932da9f4 SHA512 8b1aed8c98ff7205d7b1716aea3faad0bfa3d1ff3fe3a616431a421ae62592a57887e18295276b7a0fee52d19e641b72d5dc00e071cefea7fbe40adc9f3f01a1 | ||
DIST dolphin-5.0_p20210506.tar.gz 42098693 BLAKE2B bb9e5b5eb344bd944753c0198d5835109399fdfae46e6858833e5f279ff1979d39e0c512bedb96a91a1241fff525c6f945d16ce1a6b6cc22798490d73b853862 SHA512 5d23e9356995011a0e7b07622d58c8dddc5134a4ec83b3d9343b9eca8d0d2c200ea8c9a299c6aa2550ca74d8e28e258531368f7c167fe620053eb2a0f73b1f2f |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} |