games-emulation/yuzu: treeclean

Upstream shutdown.

Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
This commit is contained in:
Viorel Munteanu
2024-03-07 15:01:29 +02:00
parent f39aedd0bc
commit f128f97d91
6 changed files with 0 additions and 672 deletions

View File

@@ -1,6 +0,0 @@
DIST yuzu-0_p20230202-compatibility_list.json 1701739 BLAKE2B 204502a6c8e2838b126c857d7b39cbcfe25a577515f2272d80185a9543e95c324e069d3f3de41564ca24aab5988d38725423691b3a3e6415ea87fd6772c30f1d SHA512 6f3809999cc5736c7cf3001b4485095dd00d2ad8d5d3459dea0aed006c3361731823a181adf94edd612ffdc8a6fb0c697f7f70cfb1402953c95a9fdd0faaae42
DIST yuzu-0_p20230202.tar.gz 5535753 BLAKE2B f9dbc43523a5745c3f73d18dc4f8b31811bb80fdc3ac362e584197e01db103324aa568143389cdba1d42d9639af88b49e24312f1ead085a6727afa6d470ca5b5 SHA512 faf597e0ed5837d3b358dfbb7d4cd8e535b4dc49be8781e556fc0b3677e48892c9c71c346bda49c5f6ac081502431480126c11b28a343bc5050341b8a384a7a2
DIST yuzu-discord-0_p20230202.tar.gz 2106929 BLAKE2B 6e40c938cca5ef3feb8dc65265ef1a4cd3db58c0bbea2fb3d3a4e70748c451ead54932857d761b942a7018dcf461e43bc10ee5eab7907730319675b49564260a SHA512 323b6c8828a2e18f7986aa968ab2ce7ed876196c726d5114a07a536091090f4bd6d4080d87e7fdc4f96dff55871002d8a9a7daa50febd49b75d066e9e363c7ce
DIST yuzu-dynarmic-0_p20230202.tar.gz 3582382 BLAKE2B 46df3546287e6b591e346009ab86c4db80ab19fd0493d057145c20a26c61c8ff85147acc4aac0de36386a18a003d291e4c8ab9a3b2664fe2f9537de74f8fa2ed SHA512 13b2da826bb1de5e610d92979af466bd404bee447f0200277e976797b31ed6844d20541c980ed3a7e5a9aef6fac2a5bc9cb94b37dcc46272c7b51bcb878c3fc6
DIST yuzu-sirit-0_p20230202.tar.gz 23853 BLAKE2B 4c4e69203a75cf849497e540bb0dcea694a72b4230f205b769447d3d11f7c0fb089ca262009396b9af55503d45b128edb1e99e438b89ab21ac842f789c5109a3 SHA512 43204596db5c6295cc8bdf9355fd71433fa5d1e28d9d8c01f12082d2cd8fb6f78e20d97b396e7bdf202afae2361386f1861a1012d2947569dcbb114996fc6b1d
DIST yuzu-xbyak-0_p20230202.tar.gz 249481 BLAKE2B 94eb81637f410ea88781cb3da94dfce4e4a6104458b0774d36c98f6cd2114f55772182f4535e502a5efa06290677fc67d0bac9db4effb7fa44a79561b16c1738 SHA512 87f6ba92a484738b3a75a4d2c5c7e3f4f9ca65cdc02f71b761dba72c8320a011dd38ea5350516d980b8370211977816de4c3357fc5ae8c9f0a86b4a595768c5e

View File

@@ -1,175 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 40ca8b1..c0f07e2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -553,3 +553,4 @@ if(ENABLE_QT AND UNIX AND NOT APPLE)
install(FILES "dist/org.yuzu_emu.yuzu.metainfo.xml"
DESTINATION "share/metainfo")
endif()
+find_package(Threads REQUIRED)
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index bd01f4c..a29dd5d 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -4,14 +4,6 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules")
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/externals/find-modules")
include(DownloadExternals)
-# xbyak
-if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
- add_library(xbyak INTERFACE)
- file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/xbyak/include)
- file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/xbyak/xbyak DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/xbyak/include)
- target_include_directories(xbyak SYSTEM INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/xbyak/include)
- target_compile_definitions(xbyak INTERFACE XBYAK_NO_OP_NAMES)
-endif()
# Dynarmic
if (ARCHITECTURE_x86_64)
@@ -29,12 +21,7 @@ endif()
# Glad
add_subdirectory(glad)
-# inih
-add_subdirectory(inih)
-# mbedtls
-add_subdirectory(mbedtls EXCLUDE_FROM_ALL)
-target_include_directories(mbedtls PUBLIC ./mbedtls/include)
# MicroProfile
add_library(microprofile INTERFACE)
@@ -76,7 +63,6 @@ endif()
# Cubeb
if(ENABLE_CUBEB)
set(BUILD_TESTS OFF CACHE BOOL "")
- add_subdirectory(cubeb EXCLUDE_FROM_ALL)
endif()
# DiscordRPC
@@ -86,7 +72,6 @@ if (USE_DISCORD_PRESENCE)
endif()
# Sirit
-add_subdirectory(sirit)
if (ENABLE_WEB_SERVICE)
find_package(OpenSSL 1.1)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 39ae573..e1e1277 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -107,7 +107,6 @@ else()
-Werror=switch
-Werror=uninitialized
-Werror=unused-function
- -Werror=unused-result
-Werror=unused-variable
-Wextra
-Wmissing-declarations
diff --git a/src/common/scm_rev.cpp.in b/src/common/scm_rev.cpp.in
index cc88994..61d5bd8 100644
--- a/src/common/scm_rev.cpp.in
+++ b/src/common/scm_rev.cpp.in
@@ -4,9 +4,9 @@
#include "common/scm_rev.h"
-#define GIT_REV "@GIT_REV@"
-#define GIT_BRANCH "@GIT_BRANCH@"
-#define GIT_DESC "@GIT_DESC@"
+#define GIT_REV "dfaab8f"
+#define GIT_BRANCH "master"
+#define GIT_DESC "dfaab8f"
#define BUILD_NAME "@REPO_NAME@"
#define BUILD_DATE "@BUILD_DATE@"
#define BUILD_FULLNAME "@BUILD_FULLNAME@"
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 32cc2f3..4c490a3 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -1,3 +1,7 @@
+find_path(MBEDTLS_INCLUDE_DIR NAMES mbedtls/ssl.h)
+find_library(MBEDTLS_LIB NAMES mbedtls)
+find_library(MBEDX509_LIB NAMES mbedx509)
+find_library(MBEDCRYPTO_LIB NAMES mbedcrypto)
add_library(core STATIC
arm/arm_interface.h
arm/arm_interface.cpp
@@ -781,7 +785,7 @@ endif()
create_target_directory_groups(core)
target_link_libraries(core PUBLIC common PRIVATE audio_core video_core)
-target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls Opus::Opus)
+target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls mbedcrypto mbedx509 Opus::Opus)
if (MINGW)
target_link_libraries(core PRIVATE ${MSWSOCK_LIBRARY})
endif()
diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index 14de7bc..e52caa0 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -240,7 +240,7 @@ target_link_options(video_core PRIVATE ${FFmpeg_LDFLAGS})
add_dependencies(video_core host_shaders)
target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE})
-target_include_directories(video_core PRIVATE sirit ../../externals/Vulkan-Headers/include)
+target_include_directories(video_core PRIVATE sirit /usr/include/vulkan/)
target_link_libraries(video_core PRIVATE sirit)
if (ENABLE_NSIGHT_AFTERMATH)
diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt
index 57e0e70..657db12 100644
--- a/src/yuzu/CMakeLists.txt
+++ b/src/yuzu/CMakeLists.txt
@@ -260,7 +260,7 @@ target_link_libraries(yuzu PRIVATE common core input_common video_core)
target_link_libraries(yuzu PRIVATE Boost::boost glad Qt::Widgets Qt::Multimedia)
target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
-target_include_directories(yuzu PRIVATE ../../externals/Vulkan-Headers/include)
+target_include_directories(yuzu PRIVATE /usr/include/vulkan/)
if (NOT WIN32)
target_include_directories(yuzu PRIVATE ${Qt5Gui_PRIVATE_INCLUDE_DIRS})
endif()
diff --git a/src/yuzu_cmd/CMakeLists.txt b/src/yuzu_cmd/CMakeLists.txt
index c8901f2..2a45006 100644
--- a/src/yuzu_cmd/CMakeLists.txt
+++ b/src/yuzu_cmd/CMakeLists.txt
@@ -1,4 +1,6 @@
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(INIH REQUIRED INIReader)
# Credits to Samantas5855 and others for this function.
function(create_resource file output filename)
@@ -28,7 +30,7 @@ add_executable(yuzu-cmd
create_target_directory_groups(yuzu-cmd)
target_link_libraries(yuzu-cmd PRIVATE common core input_common)
-target_link_libraries(yuzu-cmd PRIVATE inih glad)
+target_link_libraries(yuzu-cmd PRIVATE ${INIH_LIBRARIES} glad)
if (MSVC)
target_link_libraries(yuzu-cmd PRIVATE getopt)
endif()
@@ -37,7 +39,7 @@ target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} SDL2 Threads::Threa
create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon")
target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR})
-target_include_directories(yuzu-cmd PRIVATE ../../externals/Vulkan-Headers/include)
+target_include_directories(yuzu-cmd PRIVATE /usr/include/vulkan/)
if (YUZU_USE_EXTERNAL_SDL2)
target_compile_definitions(yuzu-cmd PRIVATE -DYUZU_USE_EXTERNAL_SDL2)
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp
index ad7f9d2..60f8a47 100644
--- a/src/yuzu_cmd/config.cpp
+++ b/src/yuzu_cmd/config.cpp
@@ -16,7 +16,7 @@
#pragma clang diagnostic pop
#endif
-#include <inih/cpp/INIReader.h>
+#include <INIReader.h>
#include "common/fs/file.h"
#include "common/fs/fs.h"
#include "common/fs/path_util.h"

View File

@@ -1,169 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8896fe0..f2a09e2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -216,7 +215,7 @@ find_package(ZLIB 1.2 REQUIRED)
find_package(zstd 1.5 REQUIRED)
if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS)
- find_package(Vulkan 1.3.238 REQUIRED)
+ find_package(Vulkan 1.3.236 REQUIRED)
endif()
if (ENABLE_LIBUSB)
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index 8532fd7..67bed9a 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -29,13 +29,7 @@ endif()
add_subdirectory(glad)
# inih
-if (NOT TARGET inih::INIReader)
- add_subdirectory(inih)
-endif()
-# mbedtls
-add_subdirectory(mbedtls EXCLUDE_FROM_ALL)
-target_include_directories(mbedtls PUBLIC ./mbedtls/include)
# MicroProfile
add_library(microprofile INTERFACE)
@@ -77,18 +71,8 @@ if (YUZU_USE_EXTERNAL_SDL2)
endif()
# ENet
-if (NOT TARGET enet::enet)
- add_subdirectory(enet EXCLUDE_FROM_ALL)
- target_include_directories(enet INTERFACE ./enet/include)
- add_library(enet::enet ALIAS enet)
-endif()
# Cubeb
-if (ENABLE_CUBEB AND NOT TARGET cubeb::cubeb)
- set(BUILD_TESTS OFF)
- add_subdirectory(cubeb EXCLUDE_FROM_ALL)
- add_library(cubeb::cubeb ALIAS cubeb)
-endif()
# DiscordRPC
if (USE_DISCORD_PRESENCE AND NOT TARGET DiscordRPC::discord-rpc)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c7283e8..123a745 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -101,11 +101,6 @@ if (MSVC)
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG /MANIFEST:NO /INCREMENTAL:NO /OPT:REF,ICF" CACHE STRING "" FORCE)
else()
add_compile_options(
- -Werror=all
- -Werror=extra
- -Werror=missing-declarations
- -Werror=shadow
- -Werror=unused
-Wno-attributes
-Wno-invalid-offsetof
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index 9884a4a..46df96b 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -177,7 +177,7 @@ endif()
create_target_directory_groups(common)
target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads)
-target_link_libraries(common PRIVATE lz4::lz4 zstd::zstd LLVM::Demangle)
+target_link_libraries(common PRIVATE lz4 zstd::zstd LLVM::Demangle)
if (YUZU_USE_PRECOMPILED_HEADERS)
target_precompile_headers(common PRIVATE precompiled_headers.h)
diff --git a/src/common/scm_rev.cpp.in b/src/common/scm_rev.cpp.in
index f0c124d..739c4a6 100644
--- a/src/common/scm_rev.cpp.in
+++ b/src/common/scm_rev.cpp.in
@@ -3,9 +3,9 @@
#include "common/scm_rev.h"
-#define GIT_REV "@GIT_REV@"
-#define GIT_BRANCH "@GIT_BRANCH@"
-#define GIT_DESC "@GIT_DESC@"
+#define GIT_REV "d5f6201"
+#define GIT_BRANCH "master"
+#define GIT_DESC "d5f6201"
#define BUILD_NAME "@REPO_NAME@"
#define BUILD_DATE "@BUILD_DATE@"
#define BUILD_FULLNAME "@BUILD_FULLNAME@"
diff --git a/src/dedicated_room/CMakeLists.txt b/src/dedicated_room/CMakeLists.txt
index 136109a..6a6924c 100644
--- a/src/dedicated_room/CMakeLists.txt
+++ b/src/dedicated_room/CMakeLists.txt
@@ -15,7 +15,7 @@ if (ENABLE_WEB_SERVICE)
target_link_libraries(yuzu-room PRIVATE web_service)
endif()
-target_link_libraries(yuzu-room PRIVATE mbedtls mbedcrypto)
+target_link_libraries(yuzu-room PRIVATE mbedtls mbedcrypto mbedx509 mbedcrypto)
if (MSVC)
target_link_libraries(yuzu-room PRIVATE getopt)
endif()
diff --git a/src/network/network.cpp b/src/network/network.cpp
index 6652a18..8513d52 100644
--- a/src/network/network.cpp
+++ b/src/network/network.cpp
@@ -3,7 +3,7 @@
#include "common/assert.h"
#include "common/logging/log.h"
-#include "enet/enet.h"
+#include <enet/enet.h>
#include "network/network.h"
namespace Network {
diff --git a/src/video_core/vulkan_common/vulkan_wrapper.cpp b/src/video_core/vulkan_common/vulkan_wrapper.cpp
index 486d4df..abad557 100644
--- a/src/video_core/vulkan_common/vulkan_wrapper.cpp
+++ b/src/video_core/vulkan_common/vulkan_wrapper.cpp
@@ -337,18 +337,6 @@ const char* ToString(VkResult result) noexcept {
return "VK_ERROR_VALIDATION_FAILED_EXT";
case VkResult::VK_ERROR_INVALID_SHADER_NV:
return "VK_ERROR_INVALID_SHADER_NV";
- case VkResult::VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR:
- return "VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR";
- case VkResult::VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR:
- return "VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR";
- case VkResult::VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR:
- return "VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR";
- case VkResult::VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR:
- return "VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR";
- case VkResult::VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR:
- return "VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR";
- case VkResult::VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR:
- return "VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR";
case VkResult::VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT:
return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT";
case VkResult::VK_ERROR_FRAGMENTATION_EXT:
diff --git a/src/yuzu_cmd/CMakeLists.txt b/src/yuzu_cmd/CMakeLists.txt
index 46eddf4..afbe9ff 100644
--- a/src/yuzu_cmd/CMakeLists.txt
+++ b/src/yuzu_cmd/CMakeLists.txt
@@ -1,4 +1,6 @@
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(INIH REQUIRED INIReader)
# SPDX-License-Identifier: GPL-2.0-or-later
# Credits to Samantas5855 and others for this function.
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 3eee1cf..8775f79 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -808,7 +808,7 @@ endif()
create_target_directory_groups(core)
target_link_libraries(core PUBLIC common PRIVATE audio_core network video_core)
-target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls Opus::opus)
+target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls mbedcrypto mbedx509 Opus::opus)
if (MINGW)
target_link_libraries(core PRIVATE ${MSWSOCK_LIBRARY})
endif()

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<name>Samuel Bauer</name>
<email>samuel.bauer@yahoo.fr</email>
</maintainer>
<use>
<flag name="compatibility-list">Downloads the latest compatibility list</flag>
<flag name="cubeb">Enables the cubeb audio backend</flag>
<flag name="discord">Enables Discord Rich Presence</flag>
<flag name="system-libfmt">Use system dev-libs/libfmt</flag>
<flag name="system-vulkan">Use system dev-util/vulkan-headers</flag>
<flag name="webengine">Use QtWebEngine for web applet implementation</flag>
<flag name="webservice">Enable web services (telemetry, etc.)</flag>
</use>
<upstream>
<remote-id type="github">yuzu-emu/yuzu-mainline</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -1,131 +0,0 @@
# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake toolchain-funcs xdg
DESCRIPTION="An emulator for Nintendo Switch"
HOMEPAGE="https://yuzu-emu.org"
SRC_URI="https://github.com/yuzu-emu/yuzu-mainline/archive/d5f6201521cdfd0be09a187d62f95d3a38f18c3e.tar.gz
-> ${P}.tar.gz
https://github.com/merryhime/dynarmic/archive/befe547d5631024a70d81d2ccee808bbfcb3854e.tar.gz
-> ${PN}-dynarmic-${PV}.tar.gz
https://github.com/herumi/xbyak/archive/a1ac3750f9a639b5a6c6d6c7da4259b8d6790989.tar.gz
-> ${PN}-xbyak-${PV}.tar.gz
https://github.com/yuzu-emu/sirit/archive/ab75463999f4f3291976b079d42d52ee91eebf3f.tar.gz -> ${PN}-sirit-${PV}.tar.gz
compatibility-list? (
https://gist.githubusercontent.com/mazes-80/e3f1518e67c3292656a9055ba338994f/raw/b975f96366294d9cf65f844ed8df9189a488463d/${P}-compatibility_list.json
)
discord? (
https://github.com/yuzu-emu/discord-rpc/archive/20cc99aeffa08a4834f156b6ab49ed68618cf94a.tar.gz
-> ${PN}-discord-${PV}.tar.gz
)"
# Dynarmic is not intended to be generic, it is tweaked to fit emulated processor
# TODO wait 'xbyak' waiting version bump. see #860816
LICENSE="|| ( Apache-2.0 GPL-2+ ) 0BSD BSD GPL-2+ ISC MIT
!system-vulkan? ( Apache-2.0 )"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+compatibility-list +cubeb discord +qt5 sdl +system-vulkan webengine webservice"
RDEPEND="
<net-libs/mbedtls-3.1[cmac]
>=app-arch/zstd-1.5
>=dev-libs/inih-52
>=dev-libs/libfmt-9:=
>=dev-libs/openssl-1.1:=
>=media-video/ffmpeg-4.3:=
>=net-libs/enet-1.3
app-arch/lz4:=
dev-libs/boost:=[context]
media-libs/opus
media-libs/vulkan-loader
sys-libs/zlib
virtual/libusb:1
cubeb? ( media-libs/cubeb )
qt5? (
>=dev-qt/qtcore-5.15:5
>=dev-qt/qtgui-5.15:5
>=dev-qt/qtmultimedia-5.15:5
>=dev-qt/qtwidgets-5.15:5
)
sdl? (
>=media-libs/libsdl2-2.0.18
)
"
DEPEND="${RDEPEND}
dev-cpp/cpp-httplib
dev-cpp/cpp-jwt
system-vulkan? ( >=dev-util/vulkan-headers-1.3.236 )
"
BDEPEND="
>=dev-cpp/nlohmann_json-3.8.0
dev-cpp/robin-map
dev-util/glslang
discord? ( >=dev-libs/rapidjson-1.1.0 )
"
S="${WORKDIR}"/yuzu-mainline-d5f6201521cdfd0be09a187d62f95d3a38f18c3e
PATCHES=( "${FILESDIR}/${P}.patch" )
REQUIRED_USE="|| ( qt5 sdl )"
pkg_setup() {
if tc-is-gcc; then
[[ "$(gcc-major-version)" -lt 11 ]] && \
die "You need gcc version 11 or clang to compile this package"
fi
}
src_unpack() {
default
mv "${WORKDIR}"/dynarmic*/* "${S}/externals/dynarmic" || die
mv "${WORKDIR}"/sirit*/* "${S}/externals/sirit" || die
mv "${WORKDIR}"/xbyak*/* "${S}/externals/xbyak" || die
if use discord; then
mv "${WORKDIR}"/discord*/* "${S}/externals/discord-rpc" || die
fi
}
src_prepare() {
# Allow skip submodule downloading
rm .gitmodules || die
if ! use discord; then
sed -i -e '/^if.*discord-rpc/,/^endif()/d' externals/CMakeLists.txt || die
else
# Unbundle discord rapidjson
sed -i -e '/NOT RAPIDJSONTEST/,/endif(NOT RAPIDJSONTEST)/d' \
-e '/find_file(RAPIDJSON/d' -e 's:\${RAPIDJSON}:"/usr/include/rapidjson":' \
externals/discord-rpc/CMakeLists.txt || die
fi
cmake_src_prepare
}
src_configure() {
local -a mycmakeargs=(
# Libraries are private and rely on circular dependency resolution.
-DBUILD_SHARED_LIBS=OFF # dynarmic
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=$(usex compatibility-list)
-DENABLE_CUBEB=$(usex cubeb)
-DENABLE_LIBUSB=ON
-DENABLE_QT=$(usex qt5)
-DENABLE_QT_TRANSLATION=$(usex qt5)
-DENABLE_SDL2=$(usex sdl)
-DENABLE_WEB_SERVICE=$(usex webservice)
-DSIRIT_USE_SYSTEM_SPIRV_HEADERS=yes
-DUSE_DISCORD_PRESENCE=$(usex discord)
-DYUZU_TESTS=OFF
-DYUZU_USE_EXTERNAL_VULKAN_HEADERS=$(use system-vulkan no yes)
-DYUZU_USE_EXTERNAL_SDL2=OFF
-DYUZU_USE_QT_WEB_ENGINE=$(usex webengine)
)
cmake_src_configure
if use compatibility-list; then
cp "${DISTDIR}"/${P}-compatibility_list.json "${BUILD_DIR}"/dist/compatibility_list/ || die
fi
}

View File

@@ -1,171 +0,0 @@
# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake git-r3 toolchain-funcs xdg
DESCRIPTION="An emulator for Nintendo Switch"
HOMEPAGE="https://yuzu-emu.org"
EGIT_REPO_URI="https://github.com/yuzu-emu/yuzu-mainline"
EGIT_SUBMODULES=( '-*' 'dynarmic' 'sirit' 'xbyak' 'tzdb_to_nx'
'externals/nx_tzdb/tzdb_to_nx/externals/tz/tz' 'VulkanMemoryAllocator' )
# Dynarmic is not intended to be generic, it is tweaked to fit emulated processor
# TODO wait 'xbyak' waiting version bump. see #860816
LICENSE="|| ( Apache-2.0 GPL-2+ ) 0BSD BSD GPL-2+ ISC MIT
!system-vulkan? ( Apache-2.0 )"
SLOT="0"
KEYWORDS=""
IUSE="+compatibility-list +cubeb discord +qt5 sdl +system-libfmt +system-vulkan test webengine +webservice"
RDEPEND="
<net-libs/mbedtls-3.1[cmac]
>=app-arch/zstd-1.5
>=dev-libs/inih-52
>=dev-libs/openssl-1.1:=
>=media-video/ffmpeg-4.3:=
>=net-libs/enet-1.3
app-arch/lz4:=
dev-libs/boost:=[context]
media-libs/opus
>=media-libs/vulkan-loader-1.3.274
sys-libs/zlib
virtual/libusb:1
cubeb? ( media-libs/cubeb )
qt5? (
>=dev-qt/qtcore-5.15:5
>=dev-qt/qtgui-5.15:5
>=dev-qt/qtmultimedia-5.15:5
>=dev-qt/qtwidgets-5.15:5
>=dev-qt/qtdbus-5.15:5
>=dev-qt/qtconcurrent-5.15:5
>=dev-qt/linguist-tools-5.15:5
webengine? ( >=dev-qt/qtwebengine-5.15:5 )
)
sdl? ( >=media-libs/libsdl2-2.28 )
system-libfmt? ( >=dev-libs/libfmt-9:= )
"
DEPEND="${RDEPEND}
dev-cpp/cpp-httplib
dev-cpp/cpp-jwt
system-vulkan? ( >=dev-util/vulkan-headers-1.3.274
dev-util/spirv-headers
x11-libs/libX11
)
test? ( >dev-cpp/catch-3:0 )
"
BDEPEND="
>=dev-cpp/nlohmann_json-3.8.0
dev-cpp/simpleini
dev-cpp/robin-map
dev-util/glslang
discord? ( >=dev-libs/rapidjson-1.1.0 )
"
REQUIRED_USE="|| ( qt5 sdl ) discord? ( webservice )"
RESTRICT="!test? ( test )"
pkg_setup() {
if tc-is-gcc; then
[[ "$(gcc-major-version)" -lt 11 ]] && \
die "You need gcc version 11 or clang to compile this package"
fi
}
src_unpack() {
if use discord; then
EGIT_SUBMODULES+=('discord-rpc')
fi
if use !system-vulkan; then
EGIT_SUBMODULES+=('Vulkan-Headers')
fi
if use test; then
EGIT_SUBMODULES+=('Catch2')
fi
git-r3_src_unpack
# Do not fetch via sources because this file always changes
use compatibility-list && curl https://api.yuzu-emu.org/gamedb/ > "${S}"/compatibility_list.json
}
src_prepare() {
# temporary fix
sed -i -e '/Werror/d' src/CMakeLists.txt || die
# Unbundle mbedtls
sed -i -e '/mbedtls/d' -e '/^if (NOT MSVC)/,/endif()/d' externals/CMakeLists.txt || die
sed -i -e 's/mbedtls/& mbedcrypto mbedx509/' \
src/dedicated_room/CMakeLists.txt \
src/core/CMakeLists.txt || die
# Workaround: GenerateSCMRev fails
sed -i -e "s/@GIT_BRANCH@/${EGIT_BRANCH:-master}/" \
-e "s/@GIT_REV@/$(git rev-parse --short HEAD)/" \
-e "s/@GIT_DESC@/$(git describe --always --long)/" \
src/common/scm_rev.cpp.in || die
if ! use discord; then
sed -i -e '/^if.*discord-rpc/,/^endif()/d' externals/CMakeLists.txt || die
else
# Unbundle discord rapidjson
sed -i -e '/NOT RAPIDJSONTEST/,/endif(NOT RAPIDJSONTEST)/d' \
-e '/find_file(RAPIDJSON/d' -e 's:\${RAPIDJSON}:"/usr/include/rapidjson":' \
externals/discord-rpc/CMakeLists.txt || die
fi
# Unbundle cubeb
sed -i '/^if.*cubeb/,/^endif()/d' externals/CMakeLists.txt || die
# Unbundle cpp-httplib
sed -i -e '/httplib/s/ 0.12//' CMakeLists.txt || die
sed -i -e '/^# httplib/,/^endif()/d' externals/CMakeLists.txt || die
# Unbundle enet
sed -i -e '/^if.*enet/,/^endif()/d' externals/CMakeLists.txt || die
sed -i -e '/enet\/enet\.h/{s/"/</;s/"/>/}' src/network/network.cpp || die
# LZ4 temporary fix: https://github.com/yuzu-emu/yuzu/pull/9054/commits/a8021f5a18bc5251aef54468fa6033366c6b92d9
sed -i 's/lz4::lz4/lz4/' src/common/CMakeLists.txt || die
if ! use system-libfmt; then # libfmt >= 9
sed -i '/fmt.*REQUIRED/d' CMakeLists.txt || die
fi
# Allow compiling using older glslang
if use system-vulkan -a has_version '<dev-util/glslang-1.3.256'; then
sed -i '/Vulkan/s/256/250/' CMakeLists.txt
fi
cmake_src_prepare
}
src_configure() {
local -a mycmakeargs=(
# Libraries are private and rely on circular dependency resolution.
-DBUILD_SHARED_LIBS=OFF # dynarmic
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=$(usex compatibility-list)
-DENABLE_CUBEB=$(usex cubeb)
-DENABLE_LIBUSB=ON
-DENABLE_QT=$(usex qt5)
-DENABLE_QT_TRANSLATION=$(usex qt5)
-DENABLE_SDL2=$(usex sdl)
-DENABLE_WEB_SERVICE=$(usex webservice)
-DSIRIT_USE_SYSTEM_SPIRV_HEADERS=$([ use system-vulkan ] && echo OFF || echo ON)
-DUSE_DISCORD_PRESENCE=$(usex discord)
-DYUZU_TESTS=$(usex test)
-DYUZU_USE_EXTERNAL_VULKAN_HEADERS=$([ use system-vulkan ] && echo ON || echo OFF)
-DYUZU_USE_EXTERNAL_SDL2=OFF
-DYUZU_CHECK_SUBMODULES=false
-DYUZU_USE_QT_WEB_ENGINE=$(usex webengine)
)
cmake_src_configure
# This would be better in src_unpack but it would be unlinked
if use compatibility-list; then
mv "${S}"/compatibility_list.json "${BUILD_DIR}"/dist/compatibility_list/ || die
fi
}