| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 0.0.16 | 7 | ~amd64 | 0 |
# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake
DESCRIPTION="PS3 emulator and debugger."
HOMEPAGE="https://rpcs3.net/"
MY_SHA="v0.0.16"
ASMJIT_SHA="723f58581afc0f4cb16ba13396ff77e425896847"
CEREAL_SHA="60c69df968d1c72c998cd5f23ba34e2e3718a84b"
HIDAPI_SHA="8961cf86ebc4756992a7cd65c219c743e94bab19"
LLVM_SHA="716bb292ba3b4e5c0ceff72fee911ed2b53232cf"
YAML_CPP_SHA="6a211f0bc71920beef749e6c35d7d1bcc2447715"
WOLFSSL_SHA="39b5448601271b8d1deabde8a0d33dc64d2a94bd"
SPAN_SHA="9d7559aabdebf569cab3480a7ea2a87948c0ae47"
SRC_URI="https://github.com/RPCS3/rpcs3/archive/${MY_SHA}.tar.gz -> ${P}.tar.gz
https://github.com/RPCS3/llvm-mirror/archive/${LLVM_SHA}.tar.gz -> ${PN}-llvm-${LLVM_SHA:0:7}.tar.gz
https://github.com/asmjit/asmjit/archive/${ASMJIT_SHA}.tar.gz -> ${PN}-asmjit-${ASMJIT_SHA:0:7}.tar.gz
https://github.com/wolfSSL/wolfssl/archive/${WOLFSSL_SHA}.tar.gz -> ${PN}-wolfssl-${WOLFSSL_SHA:0:7}.tar.gz
https://github.com/RPCS3/hidapi/archive/${HIDAPI_SHA}.tar.gz -> ${PN}-hidapi-${HIDAPI_SHA:0:7}.tar.gz
https://github.com/RPCS3/yaml-cpp/archive/${YAML_CPP_SHA}.tar.gz -> ${PN}-yaml-cpp-${YAML_CPP_SHA:0:7}.tar.gz
https://github.com/RPCS3/cereal/archive/${CEREAL_SHA}.tar.gz -> ${PN}-cereal-${CEREAL_SHA:0:7}.tar.gz
https://github.com/tcbrindle/span/archive/${SPAN_SHA}.tar.gz -> ${PN}-span-${SPAN_SHA:0:7}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
IUSE="alsa faudio joystick +llvm pulseaudio vulkan wayland"
REQUIRED_USE="wayland? ( vulkan )"
DEPEND="dev-libs/pugixml
dev-libs/xxhash
dev-qt/qtcore:5
dev-qt/qtdbus
dev-qt/qtgui
dev-qt/qtnetwork:5
dev-qt/qtwidgets:5
dev-util/glslang
media-libs/libpng:*
media-libs/openal
media-video/ffmpeg
sys-libs/zlib
virtual/jpeg:=
virtual/opengl
alsa? ( media-libs/alsa-lib )
faudio? ( app-emulation/faudio )
joystick? ( dev-libs/libevdev )
pulseaudio? ( media-sound/pulseaudio )
vulkan? ( media-libs/vulkan-loader )
wayland? ( dev-libs/wayland )"
RDEPEND="${DEPEND} sys-devel/gdb"
BDEPEND=">=sys-devel/gcc-9"
S="${WORKDIR}/${PN}-${MY_SHA:1}"
PATCHES=(
"${FILESDIR}/${PN}-0001-allow-more-system-libs.patch"
"${FILESDIR}/${PN}-0003-add-missing-include-fix-branch-names.patch"
"${FILESDIR}/${PN}-0004-add-use_wayland.patch"
"${FILESDIR}/${PN}-0005-faudio.patch"
)
src_prepare() {
rmdir "${S}/llvm" || die
mv "${WORKDIR}/llvm-mirror-${LLVM_SHA}" "${S}/llvm" || die
rmdir "${S}/3rdparty/"{cereal,wolfssl,hidapi,yaml-cpp,span} || die
mv "${WORKDIR}/wolfssl-${WOLFSSL_SHA}" "${S}/3rdparty/wolfssl" || die
mv "${WORKDIR}/hidapi-${HIDAPI_SHA}" "${S}/3rdparty/hidapi" || die
mv "${WORKDIR}/yaml-cpp-${YAML_CPP_SHA}" "${S}/3rdparty/yaml-cpp" || die
mv "${WORKDIR}/cereal-${CEREAL_SHA}" "${S}/3rdparty/cereal" || die
mv "${WORKDIR}/span-${SPAN_SHA}" "${S}/3rdparty/span" || die
rmdir "${S}/asmjit" || die
mv "${WORKDIR}/asmjit-${ASMJIT_SHA}" "${S}/asmjit" || die
echo "#define RPCS3_GIT_VERSION \"0000-${MY_SHA}\"" > rpcs3/git-version.h
echo '#define RPCS3_GIT_BRANCH "master"' >> rpcs3/git-version.h
echo '#define RPCS3_GIT_VERSION_NO_UPDATE 1' >> rpcs3/git-version.h
sed -r \
-e 's/MATCHES "\^\(DEBUG\|RELEASE\|RELWITHDEBINFO\|MINSIZEREL\)\$/MATCHES "^(DEBUG|RELEASE|RELWITHDEBINFO|MINSIZEREL|GENTOO)/' \
-i "${S}/llvm/CMakeLists.txt" || die
sed -i -e '/find_program(CCACHE_FOUND/d' CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
-DBUILD_EXTERNAL=OFF
-DBUILD_LLVM_SUBMODULE=ON
-DUSE_PRECOMPILED_HEADERS=OFF
-DUSE_ALSA=$(usex alsa)
-DUSE_DISCORD_RPC=OFF
-DUSE_SYSTEM_FAUDIO=$(usex faudio)
-DUSE_LIBEVDEV=$(usex joystick)
-DUSE_NATIVE_INSTRUCTIONS=OFF
-DUSE_PULSE=$(usex pulseaudio)
-DUSE_SYSTEM_CURL=ON
-DUSE_SYSTEM_FFMPEG=ON
-DUSE_SYSTEM_GLSLANG=ON
-DUSE_SYSTEM_LIBPNG=ON
-DUSE_SYSTEM_PUGIXML=ON
-DUSE_SYSTEM_SPIRV_HEADERS=ON
-DUSE_SYSTEM_XXHASH=ON
-DUSE_SYSTEM_ZLIB=ON
-DUSE_SYS_LIBUSB=ON
-DUSE_VULKAN=$(usex vulkan)
-DUSE_WAYLAND=$(usex wayland)
-DWITH_LLVM=$(usex llvm)
)
cmake_src_configure
}
dev-libs/pugixml dev-libs/xxhash dev-qt/qtcore:5 dev-qt/qtdbus dev-qt/qtgui dev-qt/qtnetwork:5 dev-qt/qtwidgets:5 dev-util/glslang media-libs/libpng:* media-libs/openal media-video/ffmpeg sys-libs/zlib virtual/jpeg:= virtual/opengl alsa? ( media-libs/alsa-lib ) faudio? ( app-emulation/faudio ) joystick? ( dev-libs/libevdev ) pulseaudio? ( media-sound/pulseaudio ) vulkan? ( media-libs/vulkan-loader ) wayland? ( dev-libs/wayland )
dev-libs/pugixml dev-libs/xxhash dev-qt/qtcore:5 dev-qt/qtdbus dev-qt/qtgui dev-qt/qtnetwork:5 dev-qt/qtwidgets:5 dev-util/glslang media-libs/libpng:* media-libs/openal media-video/ffmpeg sys-libs/zlib virtual/jpeg:= virtual/opengl alsa? ( media-libs/alsa-lib ) faudio? ( app-emulation/faudio ) joystick? ( dev-libs/libevdev ) pulseaudio? ( media-sound/pulseaudio ) vulkan? ( media-libs/vulkan-loader ) wayland? ( dev-libs/wayland ) sys-devel/gdb
>=sys-devel/gcc-9
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | rpcs3-0.0.16.tar.gz | 8026911 bytes | https://github.com/RPCS3/rpcs3/archive/v0.0.16.tar.gz |