aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2021-12-05 00:48:44 +0000
committerJan Beich <jbeich@FreeBSD.org>2021-12-19 00:18:47 +0000
commit17cb2a53a15921784151b80a1a259e0d67084726 (patch)
tree2760f7a1317c864035878a1e15f22dc99c744d07
parentadacebd7f3c5fc413562e664ff3bd2b4b96623fc (diff)
downloadports-17cb2a53a15921784151b80a1a259e0d67084726.tar.gz
ports-17cb2a53a15921784151b80a1a259e0d67084726.zip
emulators/yuzu: update to s20211218
Changes: https://github.com/yuzu-emu/yuzu/compare/a2fb5a13b...8e33cf1c2 (cherry picked from commit 097b6241bb4225dd747d75a58e26205b9d2c5eaa)
-rw-r--r--emulators/yuzu/Makefile23
-rw-r--r--emulators/yuzu/distinfo14
-rw-r--r--emulators/yuzu/files/patch-CMakeLists.txt4
-rw-r--r--emulators/yuzu/files/patch-sdl226
4 files changed, 46 insertions, 21 deletions
diff --git a/emulators/yuzu/Makefile b/emulators/yuzu/Makefile
index 7f24330a7670..6226dbf181a8 100644
--- a/emulators/yuzu/Makefile
+++ b/emulators/yuzu/Makefile
@@ -1,11 +1,15 @@
PORTNAME= yuzu
-PORTVERSION= s20211203
+PORTVERSION= s20211218
PORTREVISION?= 0
CATEGORIES= emulators
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES+= 6904f055db88.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/6598 mainline-merge
PATCHFILES+= e919bea9c84e.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/7346 mainline-merge
+PATCHFILES+= 16e5fc080281.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/7497 mainline-merge
+PATCHFILES+= 57909b727b2e.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/7497 mainline-merge
+PATCHFILES+= 1a9576fdffd5.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/7602
+PATCHFILES+= e57b13ad948e.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/7602
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Nintendo Switch emulator/debugger
@@ -34,7 +38,7 @@ LIB_DEPENDS= liblz4.so:archivers/liblz4 \
USE_GITHUB= yes
GH_ACCOUNT= yuzu-emu
-GH_TAGNAME= a2fb5a13b
+GH_TAGNAME= 8e33cf1c2
GH_TUPLE= yuzu-emu:mbedtls:v2.16.9-115-g8c88150ca:mbedtls/externals/mbedtls \
KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-32-ga3fdfe8:SPIRV_Headers/externals/sirit/externals/SPIRV-Headers \
KhronosGroup:Vulkan-Headers:v1.2.180:Vulkan_Headers/externals/Vulkan-Headers \
@@ -48,16 +52,17 @@ GH_TUPLE= yuzu-emu:mbedtls:v2.16.9-115-g8c88150ca:mbedtls/externals/mbedtls \
kinetiknz:cubeb:cubeb-0.2-1345-g773f16b:cubeb/externals/cubeb \
yhirose:cpp-httplib:v0.9.0-5-g9648f95:cpp_httplib/externals/cpp-httplib
-USES= cmake:testing compiler:c++17-lang localbase:ldflags sdl ssl
+USES= cmake:testing compiler:c++17-lang localbase:ldflags pkgconfig sdl ssl
USE_GCC= yes:build # libc++ lacks std::atomic_ref, std::ranges
USE_SDL= sdl2
-CMAKE_ON= Boost_USE_STATIC_LIBS LIBVA_FOUND
+CMAKE_ON= Boost_USE_STATIC_LIBS
+CMAKE_ON+= BUNDLE_SPEEX # only used by cubeb tests
CMAKE_OFF= YUZU_USE_EXTERNAL_SDL2 ENABLE_GNUTLS ENABLE_MBEDTLS
LDFLAGS+= -static-libstdc++ # avoid libc++ conflict, requires files/patch-fmt
LDFLAGS+= -Wl,--as-needed # Qt5Network
-OPTIONS_DEFINE= ALSA PULSEAUDIO JACK SNDIO VULKAN
-OPTIONS_DEFAULT=PULSEAUDIO JACK SNDIO VULKAN
+OPTIONS_DEFINE= ALSA PULSEAUDIO JACK SNDIO VAAPI VULKAN
+OPTIONS_DEFAULT=PULSEAUDIO JACK SNDIO VAAPI VULKAN
OPTIONS_MULTI= GUI
OPTIONS_MULTI_GUI= QT5 SDL
OPTIONS_SLAVE?= SDL
@@ -86,6 +91,8 @@ QT5_PLIST_FILES=bin/${PORTNAME} \
share/icons/hicolor/scalable/apps/${PORTNAME}.svg \
share/mime/packages/${PORTNAME}.xml
+VAAPI_LIB_DEPENDS= libva.so:multimedia/libva
+
VULKAN_DESC= Vulkan renderer
VULKAN_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader
@@ -102,4 +109,8 @@ post-patch:
-e 's/@GIT_DESC@/${GH_TAGNAME}/' \
${WRKSRC}/src/common/scm_rev.cpp.in
+post-patch-VAAPI-off:
+ @${REINPLACE_CMD} -i .nova '/pkg_check.*libva/d' \
+ ${WRKSRC}/CMakeLists.txt
+
.include <bsd.port.mk>
diff --git a/emulators/yuzu/distinfo b/emulators/yuzu/distinfo
index 345a3b773c60..a2d60e9b84f9 100644
--- a/emulators/yuzu/distinfo
+++ b/emulators/yuzu/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1638576500
-SHA256 (yuzu-emu-yuzu-s20211203-a2fb5a13b_GH0.tar.gz) = f71128fb99da0fc7be5592c0ce0d74ec1350704fab3c74624f81054d66b9776c
-SIZE (yuzu-emu-yuzu-s20211203-a2fb5a13b_GH0.tar.gz) = 4461169
+TIMESTAMP = 1639860795
+SHA256 (yuzu-emu-yuzu-s20211218-8e33cf1c2_GH0.tar.gz) = 485e773e26e78da1d0db2a45bd5caa0b9f4d8f1570d8081b58ecb1420ae944ac
+SIZE (yuzu-emu-yuzu-s20211218-8e33cf1c2_GH0.tar.gz) = 4470238
SHA256 (yuzu-emu-mbedtls-v2.16.9-115-g8c88150ca_GH0.tar.gz) = 8cd6d075b4da0ad5fb995eb37390e2e6088be8d41ab1cdfc7e7e4256bd991450
SIZE (yuzu-emu-mbedtls-v2.16.9-115-g8c88150ca_GH0.tar.gz) = 2679189
SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-32-ga3fdfe8_GH0.tar.gz) = bd629d6296dd374eb2aeff923c75895ba0f3ce6448dad89763930e65b954e0cb
@@ -29,3 +29,11 @@ SHA256 (6904f055db88.patch) = 587a818f7099e38b7103db5e5b43019e60e1cdc28a450df5b6
SIZE (6904f055db88.patch) = 4650
SHA256 (e919bea9c84e.patch) = e132ba798a1e5e660bc43c3a524113898036f4cee6f7cc7c65a83b0e10170a42
SIZE (e919bea9c84e.patch) = 3248
+SHA256 (16e5fc080281.patch) = c637e6e08ae9532a519dcba399fece8569a0300ce1aa9540acfc3ebc7a23e03a
+SIZE (16e5fc080281.patch) = 6022
+SHA256 (57909b727b2e.patch) = fce8dcf7d0581eea20fbd9a911568d501a4a6c32c48a476e588fe462f48569be
+SIZE (57909b727b2e.patch) = 586
+SHA256 (1a9576fdffd5.patch) = a987a79f49f6225a6277c892185115c2bde6ecda42e00e021f41ed40a7948f6c
+SIZE (1a9576fdffd5.patch) = 643
+SHA256 (e57b13ad948e.patch) = aff024986deac68b78c527d61c368d6d2ae4513b8c27bd28f080c62956e75178
+SIZE (e57b13ad948e.patch) = 855
diff --git a/emulators/yuzu/files/patch-CMakeLists.txt b/emulators/yuzu/files/patch-CMakeLists.txt
index a96aa821af30..43638c95a8bc 100644
--- a/emulators/yuzu/files/patch-CMakeLists.txt
+++ b/emulators/yuzu/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
yuzu (Qt) currently needs SDL for input
---- CMakeLists.txt.orig 2021-08-14 09:28:59 UTC
+--- CMakeLists.txt.orig 2021-12-06 23:09:30 UTC
+++ CMakeLists.txt
@@ -395,7 +395,10 @@ if (ENABLE_SDL2)
target_include_directories(SDL2 INTERFACE "${SDL2_INCLUDE_DIR}")
@@ -11,7 +11,7 @@ yuzu (Qt) currently needs SDL for input
+endif()
+
+if (NOT YUZU_USE_BUNDLED_SDL2 AND NOT YUZU_USE_EXTERNAL_SDL2)
- find_package(SDL2 2.0.16 REQUIRED)
+ find_package(SDL2 2.0.18 REQUIRED)
# Some installations don't set SDL2_LIBRARIES
@@ -407,7 +410,6 @@ if (ENABLE_SDL2)
diff --git a/emulators/yuzu/files/patch-sdl2 b/emulators/yuzu/files/patch-sdl2
index 2eb05a0a0049..2a55b9750e86 100644
--- a/emulators/yuzu/files/patch-sdl2
+++ b/emulators/yuzu/files/patch-sdl2
@@ -2,24 +2,24 @@ https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252371
CMake Error at CMakeLists.txt:397 (find_package):
Could not find a configuration file for package "SDL2" that is compatible
- with requested version "2.0.16".
+ with requested version "2.0.18".
The following configuration files were considered but not accepted:
/usr/local/lib/cmake/SDL2/sdl2-config.cmake, version: 2.0.12
---- CMakeLists.txt.orig 2021-08-14 09:28:59 UTC
+--- CMakeLists.txt.orig 2021-12-06 23:09:30 UTC
+++ CMakeLists.txt
@@ -398,7 +398,7 @@ if (ENABLE_SDL2)
endif()
if (NOT YUZU_USE_BUNDLED_SDL2 AND NOT YUZU_USE_EXTERNAL_SDL2)
-- find_package(SDL2 2.0.16 REQUIRED)
+- find_package(SDL2 2.0.18 REQUIRED)
+ find_package(SDL2 2.0.12 REQUIRED)
# Some installations don't set SDL2_LIBRARIES
if("${SDL2_LIBRARIES}" STREQUAL "")
---- src/input_common/drivers/sdl_driver.cpp.orig 2021-11-27 10:52:08 UTC
+--- src/input_common/drivers/sdl_driver.cpp.orig 2021-12-18 10:33:07 UTC
+++ src/input_common/drivers/sdl_driver.cpp
@@ -39,6 +39,7 @@ class SDLJoystick { (public)
}
@@ -51,7 +51,7 @@ CMake Error at CMakeLists.txt:397 (find_package):
}
+#endif
- BasicMotion GetMotion() {
+ const BasicMotion& GetMotion() const {
return motion;
@@ -362,6 +366,7 @@ void SDLDriver::HandleGameControllerEvent(const SDL_Ev
}
@@ -69,8 +69,8 @@ CMake Error at CMakeLists.txt:397 (find_package):
case SDL_JOYDEVICEREMOVED:
LOG_DEBUG(Input, "Controller removed with Instance_ID {}", event.jdevice.which);
CloseJoystick(SDL_JoystickFromInstanceID(event.jdevice.which));
-@@ -392,7 +398,7 @@ SDLDriver::SDLDriver(const std::string& input_engine_)
-
+@@ -390,7 +396,7 @@ void SDLDriver::CloseJoysticks() {
+ SDLDriver::SDLDriver(std::string input_engine_) : InputEngine(std::move(input_engine_)) {
if (!Settings::values.enable_raw_input) {
// Disable raw input. When enabled this setting causes SDL to die when a web applet opens
- SDL_SetHint(SDL_HINT_JOYSTICK_RAWINPUT, "0");
@@ -78,7 +78,7 @@ CMake Error at CMakeLists.txt:397 (find_package):
}
// Prevent SDL from adding undesired axis
-@@ -400,7 +406,7 @@ SDLDriver::SDLDriver(const std::string& input_engine_)
+@@ -398,12 +404,12 @@ SDLDriver::SDLDriver(std::string input_engine_) : Inpu
// Enable HIDAPI rumble. This prevents SDL from disabling motion on PS4 and PS5 controllers
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE, "1");
@@ -87,7 +87,13 @@ CMake Error at CMakeLists.txt:397 (find_package):
SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, "1");
// Use hidapi driver for joycons. This will allow joycons to be detected as a GameController and
-@@ -670,6 +676,7 @@ ButtonBindings SDLDriver::GetNintendoButtonBinding(
+ // not a generic one
+- SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS, "1");
++ SDL_SetHint("SDL_JOYSTICK_HIDAPI_JOY_CONS", "1");
+
+ // Disable hidapi driver for xbox. Already default on Windows, this causes conflict with native
+ // driver on Linux.
+@@ -672,6 +678,7 @@ ButtonBindings SDLDriver::GetNintendoButtonBinding(
auto sl_button = SDL_CONTROLLER_BUTTON_LEFTSHOULDER;
auto sr_button = SDL_CONTROLLER_BUTTON_RIGHTSHOULDER;
@@ -95,7 +101,7 @@ CMake Error at CMakeLists.txt:397 (find_package):
if (joystick->IsJoyconLeft()) {
sl_button = SDL_CONTROLLER_BUTTON_PADDLE2;
sr_button = SDL_CONTROLLER_BUTTON_PADDLE4;
-@@ -678,6 +685,7 @@ ButtonBindings SDLDriver::GetNintendoButtonBinding(
+@@ -680,6 +687,7 @@ ButtonBindings SDLDriver::GetNintendoButtonBinding(
sl_button = SDL_CONTROLLER_BUTTON_PADDLE3;
sr_button = SDL_CONTROLLER_BUTTON_PADDLE1;
}