diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-emulation/dolphin | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'games-emulation/dolphin')
-rw-r--r-- | games-emulation/dolphin/Manifest | 2 | ||||
-rw-r--r-- | games-emulation/dolphin/dolphin-4.0-r2.ebuild | 154 | ||||
-rw-r--r-- | games-emulation/dolphin/dolphin-4.0.2-r7.ebuild | 155 | ||||
-rw-r--r-- | games-emulation/dolphin/dolphin-9999.ebuild | 156 | ||||
-rw-r--r-- | games-emulation/dolphin/files/dolphin-emu-3.5-gcc-4.8.patch | 211 | ||||
-rw-r--r-- | games-emulation/dolphin/metadata.xml | 15 |
6 files changed, 693 insertions, 0 deletions
diff --git a/games-emulation/dolphin/Manifest b/games-emulation/dolphin/Manifest new file mode 100644 index 000000000000..e12772892c44 --- /dev/null +++ b/games-emulation/dolphin/Manifest @@ -0,0 +1,2 @@ +DIST dolphin-4.0.2.zip 28261421 SHA256 f20c824ee83c3a495fd019747d2f8254477b94c135415b386142f89716d05d66 SHA512 5b1931a133fd431b8f03f47c4c1cfe89f752de17f792e2729421df439564d15a8e35b17e82e31cef99230157de4aa16b2572b28ad67f23ca23c5492972df2938 WHIRLPOOL 48dcc47de02e6aa25e5318bc2564df1ab510210556e3e7c9442f405abd04879b8cff85afb5f1fa7a36364902a472f18bf5fa8da3a9db59b915d41d4e60f3b235 +DIST dolphin-4.0.zip 23439392 SHA256 a698caf05f47a55c30e09d0aab053a412df683de2e139a6348156b03c502a0ec SHA512 02e366c2fa95ab5f37b0a66b94a5b56a632ef81e13febd982d6385cfaf7fa3edb4364180d4b8312e82bc7b8f150d02cde10248996f6a12286a20d684024aca20 WHIRLPOOL 0cb7b28b911111f4b7bf93c56f2dd31d080e7e0418fb53d9cc9093ca995d2c99a1fa7d5d82111e2c8db363e2b07384be39ec0062ab0252233f480b8e45e9304e diff --git a/games-emulation/dolphin/dolphin-4.0-r2.ebuild b/games-emulation/dolphin/dolphin-4.0-r2.ebuild new file mode 100644 index 000000000000..a326e47d88fa --- /dev/null +++ b/games-emulation/dolphin/dolphin-4.0-r2.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +WX_GTK_VER="2.9" + +inherit cmake-utils eutils pax-utils toolchain-funcs versionator wxwidgets games + +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 ffmpeg +lzo openal opengl openmp portaudio pulseaudio" + +RESTRICT="mirror" + +RDEPEND=">=media-libs/glew-1.6 + >=media-libs/libsdl-1.2[joystick] + <media-libs/libsfml-2.0 + >=net-libs/miniupnpc-1.8 + sys-libs/readline:= + x11-libs/libXext + x11-libs/libXrandr + alsa? ( media-libs/alsa-lib ) + ao? ( media-libs/libao ) + bluetooth? ( net-wireless/bluez ) + ffmpeg? ( virtual/ffmpeg ) + lzo? ( dev-libs/lzo ) + openal? ( media-libs/openal ) + opengl? ( virtual/opengl ) + portaudio? ( media-libs/portaudio ) + pulseaudio? ( media-sound/pulseaudio ) + " +DEPEND="${RDEPEND} + app-arch/zip + media-gfx/nvidia-cg-toolkit + media-libs/freetype + media-libs/libsoundtouch + >=sys-devel/gcc-4.6.0 + x11-libs/wxGTK:2.9 + " + +pkg_pretend() { + + local ver=4.6.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 !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. + # - CLRun: Part of OpenCL + # - polarssl: Currently fails the check as is. + mv Externals/SOIL . || die + mv Externals/Bochs_disasm . || die + mv Externals/CLRun . || die + mv Externals/polarssl . || die + rm -r Externals/* || die + mv polarssl Externals || die + mv CLRun Externals || die + mv Bochs_disasm Externals || die + mv SOIL Externals || die + + # Add call for FindX11 as FindOpenGL does not include it implicitly + # anymore for >=cmake-3.2. For more info, see: + # https://public.kitware.com/Bug/print_bug_page.php?bug_id=15268 + if has_version ">=dev-util/cmake-3.2"; then + sed -i -e '/if(NOT ANDROID)/a include(FindX11)' CMakeLists.txt || die + + # Fix syntax warnings in FindMiniupnpc.cmake + sed -i -e 's/\"\"/\\\"\\\"/g' CMakeTests/FindMiniupnpc.cmake || die + fi +} + +src_configure() { + + local mycmakeargs=( + "-DDOLPHIN_WC_REVISION=${PV}" + "-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}" + "-Dprefix=${GAMES_PREFIX}" + "-Ddatadir=${GAMES_DATADIR}/${PN}" + "-Dplugindir=$(games_get_libdir)/${PN}" + $( cmake-utils_use ffmpeg ENCODE_FRAMEDUMPS ) + $( cmake-utils_use openmp OPENMP ) + ) + + cmake-utils_src_configure +} + +src_compile() { + + cmake-utils_src_compile +} + +src_install() { + + cmake-utils_src_install + + dodoc Readme.txt + if use doc; then + dodoc -r docs/ActionReplay docs/DSP docs/WiiMote + fi + + doicon Source/Core/DolphinWX/resources/Dolphin.xpm + make_desktop_entry "dolphin-emu" "Dolphin" "Dolphin" "Game;" + + prepgamesdirs +} + +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-4.0.2-r7.ebuild b/games-emulation/dolphin/dolphin-4.0.2-r7.ebuild new file mode 100644 index 000000000000..c85c5fc3a4e6 --- /dev/null +++ b/games-emulation/dolphin/dolphin-4.0.2-r7.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +WX_GTK_VER="3.0" + +inherit cmake-utils eutils pax-utils toolchain-funcs versionator wxwidgets games + +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 ffmpeg +lzo openal opengl openmp portaudio pulseaudio" + +RESTRICT="mirror" + +RDEPEND=">=media-libs/glew-1.6 + <media-libs/libsfml-2.0 + >=net-libs/miniupnpc-1.8 + media-libs/libsdl2[haptic,joystick] + sys-libs/readline:= + x11-libs/libXext + x11-libs/libXrandr + alsa? ( media-libs/alsa-lib ) + ao? ( media-libs/libao ) + bluetooth? ( net-wireless/bluez ) + ffmpeg? ( virtual/ffmpeg + !!>=media-video/libav-10 ) + lzo? ( dev-libs/lzo ) + openal? ( media-libs/openal ) + opengl? ( virtual/opengl ) + portaudio? ( media-libs/portaudio ) + pulseaudio? ( media-sound/pulseaudio ) + " +DEPEND="${RDEPEND} + app-arch/zip + media-gfx/nvidia-cg-toolkit + media-libs/freetype + media-libs/libsoundtouch + >=sys-devel/gcc-4.6.0 + x11-libs/wxGTK:${WX_GTK_VER} + " + +pkg_pretend() { + + local ver=4.6.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 !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. + # - CLRun: Part of OpenCL + # - polarssl: Currently fails the check as is. + mv Externals/SOIL . || die + mv Externals/Bochs_disasm . || die + mv Externals/CLRun . || die + mv Externals/polarssl . || die + rm -r Externals/* || die + mv polarssl Externals || die + mv CLRun Externals || die + mv Bochs_disasm Externals || die + mv SOIL Externals || die + + # Add call for FindX11 as FindOpenGL does not include it implicitly + # anymore for >=cmake-3.2. For more info, see: + # https://public.kitware.com/Bug/print_bug_page.php?bug_id=15268 + if has_version ">=dev-util/cmake-3.2"; then + sed -i -e '/if(NOT ANDROID)/a include(FindX11)' CMakeLists.txt || die + + # Fix syntax warnings in FindMiniupnpc.cmake + sed -i -e 's/\"\"/\\\"\\\"/g' CMakeTests/FindMiniupnpc.cmake || die + fi +} + +src_configure() { + + local mycmakeargs=( + "-DDOLPHIN_WC_REVISION=${PV}" + "-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}" + "-Dprefix=${GAMES_PREFIX}" + "-Ddatadir=${GAMES_DATADIR}/${PN}" + "-Dplugindir=$(games_get_libdir)/${PN}" + $( cmake-utils_use ffmpeg ENCODE_FRAMEDUMPS ) + $( cmake-utils_use openmp OPENMP ) + ) + + cmake-utils_src_configure +} + +src_compile() { + + cmake-utils_src_compile +} + +src_install() { + + cmake-utils_src_install + + dodoc Readme.txt + if use doc; then + dodoc -r docs/ActionReplay docs/DSP docs/WiiMote + fi + + doicon Source/Core/DolphinWX/resources/Dolphin.xpm + make_desktop_entry "dolphin-emu" "Dolphin" "Dolphin" "Game;" + + prepgamesdirs +} + +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..8271dd58f0bf --- /dev/null +++ b/games-emulation/dolphin/dolphin-9999.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +WX_GTK_VER="3.0" + +inherit cmake-utils eutils pax-utils toolchain-funcs versionator wxwidgets games + +if [[ ${PV} == 9999* ]] +then + EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin" + inherit git-r3 + KEYWORDS="" +else + SRC_URI="http://${PN}-emu.googlecode.com/files/${P}-src.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 ffmpeg lto +lzo openal opengl openmp portaudio pulseaudio" + +RDEPEND=">=media-libs/glew-1.10 + >=media-libs/libsfml-2.1 + >=net-libs/miniupnpc-1.8 + sys-libs/readline:= + x11-libs/libXext + x11-libs/libXrandr + media-libs/libsdl2[haptic,joystick] + net-libs/polarssl[havege] + alsa? ( media-libs/alsa-lib ) + ao? ( media-libs/libao ) + bluetooth? ( net-wireless/bluez ) + ffmpeg? ( virtual/ffmpeg + !!>=media-video/libav-10 ) + lzo? ( dev-libs/lzo ) + openal? ( media-libs/openal ) + opengl? ( virtual/opengl ) + portaudio? ( media-libs/portaudio ) + pulseaudio? ( media-sound/pulseaudio ) + " +DEPEND="${RDEPEND} + app-arch/zip + media-gfx/nvidia-cg-toolkit + media-libs/freetype + media-libs/libsoundtouch + >net-libs/enet-1.3.7 + >=sys-devel/gcc-4.9.0 + x11-libs/wxGTK:${WX_GTK_VER} + " + +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 !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. + # - GL: A custom gl.h file is used. + # - 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/GL . || 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 GL Externals || die + mv gtest Externals || die + mv xxhash Externals || die +} + +src_configure() { + + local mycmakeargs=( + "-DDOLPHIN_WC_REVISION=${PV}" + "-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}" + "-Dprefix=${GAMES_PREFIX}" + "-Ddatadir=${GAMES_DATADIR}/${PN}" + "-Dplugindir=$(games_get_libdir)/${PN}" + "-DUSE_SHARED_ENET=ON" + $( cmake-utils_use ffmpeg ENCODE_FRAMEDUMPS ) + $( cmake-utils_use_enable lto LTO ) + $( cmake-utils_use openmp OPENMP ) + ) + + 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 Installer/dolphin-emu.xpm + make_desktop_entry "dolphin-emu" "Dolphin Emulator" "dolphin-emu" "Game;Emulator;" + + prepgamesdirs +} + +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/files/dolphin-emu-3.5-gcc-4.8.patch b/games-emulation/dolphin/files/dolphin-emu-3.5-gcc-4.8.patch new file mode 100644 index 000000000000..98b128f90542 --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-emu-3.5-gcc-4.8.patch @@ -0,0 +1,211 @@ +--- Externals/Bochs_disasm/PowerPCDisasm.cpp 2013-05-04 10:01:04.218490222 +0200 ++++ Externals/Bochs_disasm/PowerPCDisasm.cpp 2013-05-04 10:01:19.159459773 +0200 +@@ -580,7 +580,7 @@ + if (me < mb) + mask = ~mask; + //rotate the mask so it can be applied to source reg +- return _rotl(mask, 32 - r); ++ return __rotl(mask, 32 - r); + } + + +--- Source/Core/Common/Src/CommonFuncs.h 2013-05-04 10:01:04.139490384 +0200 ++++ Source/Core/Common/Src/CommonFuncs.h 2013-05-04 10:02:18.181339068 +0200 +@@ -65,7 +65,7 @@ + #endif + #define ARRAYSIZE(A) (sizeof(A)/sizeof((A)[0])) + +-inline u32 _rotl(u32 x, int shift) { ++inline u32 __rotl(u32 x, int shift) { + shift &= 31; + if (!shift) return x; + return (x << shift) | (x >> (32 - shift)); +@@ -76,7 +76,7 @@ + return (x << n) | (x >> (64 - n)); + } + +-inline u32 _rotr(u32 x, int shift) { ++inline u32 __rotr(u32 x, int shift) { + shift &= 31; + if (!shift) return x; + return (x >> shift) | (x << (32 - shift)); +--- Source/Core/Common/Src/Hash.cpp 2013-05-04 10:01:04.140490382 +0200 ++++ Source/Core/Common/Src/Hash.cpp 2013-05-04 10:01:19.161459756 +0200 +@@ -362,15 +362,15 @@ + inline void bmix32(u32 & h1, u32 & h2, u32 & k1, u32 & k2, u32 & c1, u32 & c2) + { + k1 *= c1; +- k1 = _rotl(k1,11); ++ k1 = __rotl(k1,11); + k1 *= c2; + h1 ^= k1; + h1 += h2; + +- h2 = _rotl(h2,17); ++ h2 = __rotl(h2,17); + + k2 *= c2; +- k2 = _rotl(k2,11); ++ k2 = __rotl(k2,11); + k2 *= c1; + h2 ^= k2; + h2 += h1; +--- Source/Core/Core/Src/ARDecrypt.cpp 2013-05-04 10:01:04.193490273 +0200 ++++ Source/Core/Core/Src/ARDecrypt.cpp 2013-05-04 10:01:19.161459756 +0200 +@@ -270,26 +270,26 @@ + { + u32 tmp; + +- *val = _rotl(*val,4); ++ *val = __rotl(*val,4); + + tmp = ((*addr^*val)&0xF0F0F0F0); + *addr ^= tmp; +- *val = _rotr((*val^tmp),0x14); ++ *val = __rotr((*val^tmp),0x14); + + tmp = ((*addr^*val)&0xFFFF0000); + *addr ^= tmp; +- *val = _rotr((*val^tmp),0x12); ++ *val = __rotr((*val^tmp),0x12); + + tmp = ((*addr^*val)&0x33333333); + *addr ^= tmp; +- *val = _rotr((*val^tmp),6); ++ *val = __rotr((*val^tmp),6); + + tmp = ((*addr^*val)&0x00FF00FF); + *addr ^= tmp; +- *val = _rotl((*val^tmp),9); ++ *val = __rotl((*val^tmp),9); + + tmp = ((*addr^*val)&0xAAAAAAAA); +- *addr = _rotl((*addr^tmp),1); ++ *addr = __rotl((*addr^tmp),1); + *val ^= tmp; + } + +@@ -297,27 +297,27 @@ + { + u32 tmp; + +- *val = _rotr(*val,1); ++ *val = __rotr(*val,1); + + tmp = ((*addr^*val)&0xAAAAAAAA); + *val ^= tmp; +- *addr = _rotr((*addr^tmp),9); ++ *addr = __rotr((*addr^tmp),9); + + tmp = ((*addr^*val)&0x00FF00FF); + *val ^= tmp; +- *addr = _rotl((*addr^tmp),6); ++ *addr = __rotl((*addr^tmp),6); + + tmp = ((*addr^*val)&0x33333333); + *val ^= tmp; +- *addr = _rotl((*addr^tmp),0x12); ++ *addr = __rotl((*addr^tmp),0x12); + + tmp = ((*addr^*val)&0xFFFF0000); + *val ^= tmp; +- *addr = _rotl((*addr^tmp),0x14); ++ *addr = __rotl((*addr^tmp),0x14); + + tmp = ((*addr^*val)&0xF0F0F0F0); + *val ^= tmp; +- *addr = _rotr((*addr^tmp),4); ++ *addr = __rotr((*addr^tmp),4); + } + + void decryptcode(u32 *seeds, u32 *code) +@@ -330,11 +330,11 @@ + unscramble1(&addr,&val); + while (i < 32) + { +- tmp = (_rotr(val,4)^seeds[i++]); ++ tmp = (__rotr(val,4)^seeds[i++]); + tmp2 = (val^seeds[i++]); + addr ^= (table6[tmp&0x3F]^table4[(tmp>>8)&0x3F]^table2[(tmp>>16)&0x3F]^table0[(tmp>>24)&0x3F]^table7[tmp2&0x3F]^table5[(tmp2>>8)&0x3F]^table3[(tmp2>>16)&0x3F]^table1[(tmp2>>24)&0x3F]); + +- tmp = (_rotr(addr,4)^seeds[i++]); ++ tmp = (__rotr(addr,4)^seeds[i++]); + tmp2 = (addr^seeds[i++]); + val ^= (table6[tmp&0x3F]^table4[(tmp>>8)&0x3F]^table2[(tmp>>16)&0x3F]^table0[(tmp>>24)&0x3F]^table7[tmp2&0x3F]^table5[(tmp2>>8)&0x3F]^table3[(tmp2>>16)&0x3F]^table1[(tmp2>>24)&0x3F]); + } +--- Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_Integer.cpp 2013-05-04 10:01:04.187490286 +0200 ++++ Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_Integer.cpp 2013-05-04 10:01:19.162459748 +0200 +@@ -194,21 +194,21 @@ + void Interpreter::rlwimix(UGeckoInstruction _inst) + { + u32 mask = Helper_Mask(_inst.MB,_inst.ME); +- m_GPR[_inst.RA] = (m_GPR[_inst.RA] & ~mask) | (_rotl(m_GPR[_inst.RS],_inst.SH) & mask); ++ m_GPR[_inst.RA] = (m_GPR[_inst.RA] & ~mask) | (__rotl(m_GPR[_inst.RS],_inst.SH) & mask); + if (_inst.Rc) Helper_UpdateCR0(m_GPR[_inst.RA]); + } + + void Interpreter::rlwinmx(UGeckoInstruction _inst) + { + u32 mask = Helper_Mask(_inst.MB,_inst.ME); +- m_GPR[_inst.RA] = _rotl(m_GPR[_inst.RS],_inst.SH) & mask; ++ m_GPR[_inst.RA] = __rotl(m_GPR[_inst.RS],_inst.SH) & mask; + if (_inst.Rc) Helper_UpdateCR0(m_GPR[_inst.RA]); + } + + void Interpreter::rlwnmx(UGeckoInstruction _inst) + { + u32 mask = Helper_Mask(_inst.MB,_inst.ME); +- m_GPR[_inst.RA] = _rotl(m_GPR[_inst.RS], m_GPR[_inst.RB] & 0x1F) & mask; ++ m_GPR[_inst.RA] = __rotl(m_GPR[_inst.RS], m_GPR[_inst.RB] & 0x1F) & mask; + + if (_inst.Rc) Helper_UpdateCR0(m_GPR[_inst.RA]); + } +--- Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp 2013-05-04 10:01:04.185490290 +0200 ++++ Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp 2013-05-04 10:01:19.190459657 +0200 +@@ -1672,7 +1672,7 @@ + { + unsigned result = (int)gpr.R(s).offset; + if (inst.SH != 0) +- result = _rotl(result, inst.SH); ++ result = __rotl(result, inst.SH); + result &= Helper_Mask(inst.MB, inst.ME); + gpr.SetImmediate32(a, result); + if (inst.Rc) +@@ -1739,7 +1739,7 @@ + if (gpr.R(a).IsImm() && gpr.R(s).IsImm()) + { + u32 mask = Helper_Mask(inst.MB,inst.ME); +- gpr.SetImmediate32(a, ((u32)gpr.R(a).offset & ~mask) | (_rotl((u32)gpr.R(s).offset,inst.SH) & mask)); ++ gpr.SetImmediate32(a, ((u32)gpr.R(a).offset & ~mask) | (__rotl((u32)gpr.R(s).offset,inst.SH) & mask)); + if (inst.Rc) + { + ComputeRC(gpr.R(a)); +@@ -1824,7 +1824,7 @@ + u32 mask = Helper_Mask(inst.MB, inst.ME); + if (gpr.R(b).IsImm() && gpr.R(s).IsImm()) + { +- gpr.SetImmediate32(a, _rotl((u32)gpr.R(s).offset, (u32)gpr.R(b).offset & 0x1F) & mask); ++ gpr.SetImmediate32(a, __rotl((u32)gpr.R(s).offset, (u32)gpr.R(b).offset & 0x1F) & mask); + if (inst.Rc) + { + ComputeRC(gpr.R(a)); +--- Source/Core/Core/Src/PowerPC/Jit64IL/IR.cpp 2013-05-04 10:01:04.188490284 +0200 ++++ Source/Core/Core/Src/PowerPC/Jit64IL/IR.cpp 2013-05-04 10:01:19.191459655 +0200 +@@ -248,7 +248,7 @@ + return 0; + case Rol: + if (isImm(*getOp2(I))) { +- return _rotl(ComputeKnownZeroBits(getOp1(I)), ++ return __rotl(ComputeKnownZeroBits(getOp1(I)), + GetImmValue(getOp2(I))); + } + default: +@@ -844,7 +844,7 @@ + InstLoc IRBuilder::FoldRol(InstLoc Op1, InstLoc Op2) { + if (isImm(*Op2)) { + if (isImm(*Op1)) +- return EmitIntConst(_rotl(GetImmValue(Op1), ++ return EmitIntConst(__rotl(GetImmValue(Op1), + GetImmValue(Op2))); + if (!(GetImmValue(Op2) & 31)) return Op1; + } diff --git a/games-emulation/dolphin/metadata.xml b/games-emulation/dolphin/metadata.xml new file mode 100644 index 000000000000..41ce06585e8a --- /dev/null +++ b/games-emulation/dolphin/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<use> + <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> + <email>twitch153@gentoo.org</email> + <name>Devan Franchini</name> + </maintainer> +</pkgmetadata> |