Date: Thu, 11 Jul 2024 10:54:21 GMT From: Ganael LAPLANCHE <martymac@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 64e2bf7a6a25 - main - emulators/duckstation: Update to 20240614 Message-ID: <202407111054.46BAsLQ0088011@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by martymac: URL: https://cgit.FreeBSD.org/ports/commit/?id=64e2bf7a6a258b0afcb83faa8b7dfe143295e3ba commit 64e2bf7a6a258b0afcb83faa8b7dfe143295e3ba Author: Ganael LAPLANCHE <martymac@FreeBSD.org> AuthorDate: 2024-07-11 10:48:18 +0000 Commit: Ganael LAPLANCHE <martymac@FreeBSD.org> CommitDate: 2024-07-11 10:54:00 +0000 emulators/duckstation: Update to 20240614 Also, add missing dependencies + disable Vulkan support for now (Duckstation needs a patched version of shaderc and cannot use graphics/shaderc from ports yet). --- emulators/duckstation/Makefile | 27 ++++++++---- emulators/duckstation/distinfo | 6 +-- .../files/patch-dep-cubeb-CMakeLists.txt | 30 ++++++++++++++ .../files/patch-dep-discord-rpc-CMakeLists.txt | 11 +++++ .../duckstation/files/patch-relocate-resources.txt | 48 +++++++--------------- .../files/patch-src-util-CMakeLists.txt | 11 +++++ .../files/patch-src-util-platform_misc_unix.cpp | 20 +++++++++ emulators/duckstation/pkg-plist | 48 +++++++++++++++++++++- 8 files changed, 155 insertions(+), 46 deletions(-) diff --git a/emulators/duckstation/Makefile b/emulators/duckstation/Makefile index f538cb20608c..851bd5fbdd33 100644 --- a/emulators/duckstation/Makefile +++ b/emulators/duckstation/Makefile @@ -1,5 +1,5 @@ PORTNAME= duckstation -PORTVERSION= 20240125 +PORTVERSION= 20240614 DISTVERSIONPREFIX= v CATEGORIES= emulators @@ -12,30 +12,41 @@ LICENSE= GPLv3 NOT_FOR_ARCHS= i386 NOT_FOR_ARCHS_REASON= src/common/fastjmp.cpp:186:2: error: Unknown platform -LIB_DEPENDS= libcurl.so:ftp/curl \ +LIB_DEPENDS= libzstd.so:archivers/zstd \ + libwebp.so:graphics/webp \ + libpng.so:graphics/png \ + libfreetype.so:print/freetype2 \ + libcurl.so:ftp/curl \ + libwayland-client.so:graphics/wayland \ + libwayland-egl.so:graphics/wayland \ libbacktrace.so:devel/libbacktrace \ - libxkbcommon.so:x11/libxkbcommon \ libpulse.so:audio/pulseaudio \ libjack.so:audio/jack \ libsndio.so:audio/sndio \ - libdbus-1.so:devel/dbus + libdbus-1.so:devel/dbus \ + libxkbcommon.so:x11/libxkbcommon # XXX Necessary for Qt6/FindWrapVulkanHeaders.cmake -BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers +#BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers -USES= cmake compiler:c++20-lang gl pkgconfig qt:6 sdl xorg +USES= cmake compiler:c++20-lang gl jpeg kde:5 pkgconfig qt:6 sdl xorg USE_GITHUB= yes GH_ACCOUNT= stenzek # See: https://github.com/stenzek/duckstation/commits/latest -GH_TAGNAME= a38d692 +GH_TAGNAME= v0.1-6937 USE_GL= egl USE_SDL= sdl2 USE_XORG= ice x11 xext xrandr xrender USE_QT= base tools +USE_KDE= ecm:build +# XXX Vulkan support needs libshaderc_shared.so:graphics/shaderc but +# Duckstation embeds its own -patched/incompatible- version +# (see: scripts/shaderc-changes.patch) so we just disable it for now. CMAKE_ARGS+= \ - -DDUCKSTATION_APPLICATION_DIR_PATH:STRING=${DATADIR} + -DDUCKSTATION_APPLICATION_DIR_PATH:STRING=${DATADIR} \ + -DENABLE_VULKAN:BOOL=OFF # - Program and resources are copied from target dir ${CONFIGURE_WRKSRC}/bin # because only necessary resources are installed there diff --git a/emulators/duckstation/distinfo b/emulators/duckstation/distinfo index 6b7e6ff11e85..d95a853d7969 100644 --- a/emulators/duckstation/distinfo +++ b/emulators/duckstation/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1706300245 -SHA256 (stenzek-duckstation-v20240125-a38d692_GH0.tar.gz) = 4b1fcecfeba05f0921d65beb7331fcbedde6f4e13eb9ed7cf7f9275c15c36c8e -SIZE (stenzek-duckstation-v20240125-a38d692_GH0.tar.gz) = 13984655 +TIMESTAMP = 1720199749 +SHA256 (stenzek-duckstation-v20240614-v0.1-6937_GH0.tar.gz) = 6f7aff4484fa8aa67bb84f6be6f6d04c9097c5cb45b80a7667bf2999a062231d +SIZE (stenzek-duckstation-v20240614-v0.1-6937_GH0.tar.gz) = 13548770 diff --git a/emulators/duckstation/files/patch-dep-cubeb-CMakeLists.txt b/emulators/duckstation/files/patch-dep-cubeb-CMakeLists.txt new file mode 100644 index 000000000000..1dd09f688586 --- /dev/null +++ b/emulators/duckstation/files/patch-dep-cubeb-CMakeLists.txt @@ -0,0 +1,30 @@ +--- dep/cubeb/CMakeLists.txt.orig 2024-06-14 05:59:32 UTC ++++ dep/cubeb/CMakeLists.txt +@@ -15,6 +15,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) ++set(CMAKE_REQUIRED_INCLUDES "${CMAKE_INSTALL_PREFIX}/include") + + set(CMAKE_CXX_WARNING_LEVEL 4) + if(NOT MSVC) +@@ -33,8 +34,10 @@ add_library(cubeb + src/cubeb_strings.c + src/cubeb_utils.cpp + ) +-target_include_directories(cubeb +- PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include> ++target_include_directories(cubeb PUBLIC ++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> ++ $<BUILD_INTERFACE:${CMAKE_INSTALL_PREFIX}/include> ++ $<INSTALL_INTERFACE:include> + ) + + add_library(speex OBJECT subprojects/speex/resample.c) +@@ -178,4 +181,4 @@ endif() + endif() + endif() + endif() +-endif() +\ No newline at end of file ++endif() diff --git a/emulators/duckstation/files/patch-dep-discord-rpc-CMakeLists.txt b/emulators/duckstation/files/patch-dep-discord-rpc-CMakeLists.txt new file mode 100644 index 000000000000..983c74832dbc --- /dev/null +++ b/emulators/duckstation/files/patch-dep-discord-rpc-CMakeLists.txt @@ -0,0 +1,11 @@ +--- dep/discord-rpc/CMakeLists.txt.orig 2024-06-14 05:59:32 UTC ++++ dep/discord-rpc/CMakeLists.txt +@@ -25,7 +25,7 @@ elseif(APPLE) + src/connection_unix.cpp + src/discord_register_osx.m + ) +-elseif(LINUX OR FREEBSD) ++elseif(CMAKE_SYSTEM_NAME MATCHES "(Linux|FreeBSD)") + target_sources(discord-rpc PRIVATE + src/connection_unix.cpp + src/discord_register_linux.cpp diff --git a/emulators/duckstation/files/patch-relocate-resources.txt b/emulators/duckstation/files/patch-relocate-resources.txt index 412399c8770c..9288b4e70807 100644 --- a/emulators/duckstation/files/patch-relocate-resources.txt +++ b/emulators/duckstation/files/patch-relocate-resources.txt @@ -1,20 +1,21 @@ Allow relocation of resource files and translations ---- CMakeLists.txt.orig 2023-10-16 12:57:57 UTC +--- CMakeLists.txt.orig 2024-06-14 05:59:32 UTC +++ CMakeLists.txt -@@ -44,6 +44,9 @@ endif() - endif() - endif() +@@ -34,6 +34,10 @@ include(DuckStationBuildOptions) + # Build options. Depends on system attributes. + include(DuckStationBuildOptions) +if(DEFINED DUCKSTATION_APPLICATION_DIR_PATH) + add_compile_definitions(DUCKSTATION_APPLICATION_DIR_PATH="${DUCKSTATION_APPLICATION_DIR_PATH}") +endif() - - # Required libraries. - if(ENABLE_SDL2) ---- src/duckstation-qt/qthost.cpp.orig 2023-11-20 14:04:38 UTC ++ + # Set _DEBUG macro for Debug builds. + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG") +--- src/duckstation-qt/qthost.cpp.orig 2024-06-14 05:59:32 UTC +++ src/duckstation-qt/qthost.cpp -@@ -259,6 +259,10 @@ void QtHost::SetResourcesDirectory() +@@ -503,6 +503,10 @@ void QtHost::SetResourcesDirectory() void QtHost::SetResourcesDirectory() { @@ -25,38 +26,17 @@ Allow relocation of resource files and translations #ifndef __APPLE__ // On Windows/Linux, these are in the binary directory. EmuFolders::Resources = Path::Combine(EmuFolders::AppRoot, "resources"); -@@ -266,6 +270,7 @@ void QtHost::SetResourcesDirectory() - // On macOS, this is in the bundle resources directory. - EmuFolders::Resources = Path::Canonicalize(Path::Combine(EmuFolders::AppRoot, "../Resources")); - #endif -+#endif // DUCKSTATION_APPLICATION_DIR_PATH - } - - void QtHost::SetDataDirectory() ---- src/duckstation-nogui/nogui_host.cpp.orig 2023-10-16 12:57:57 UTC -+++ src/duckstation-nogui/nogui_host.cpp -@@ -156,6 +156,10 @@ void NoGUIHost::SetResourcesDirectory() - - void NoGUIHost::SetResourcesDirectory() - { -+#ifdef DUCKSTATION_APPLICATION_DIR_PATH -+ // Resources' path specified at compile time -+ EmuFolders::Resources = Path::Canonicalize(DUCKSTATION_APPLICATION_DIR_PATH "/resources"); -+#else - #ifndef __APPLE__NOT_USED // Not using bundles yet. - // On Windows/Linux, these are in the binary directory. - EmuFolders::Resources = Path::Combine(EmuFolders::AppRoot, "resources"); -@@ -163,6 +167,7 @@ void NoGUIHost::SetResourcesDirectory() +@@ -510,6 +514,7 @@ void QtHost::SetResourcesDirectory() // On macOS, this is in the bundle resources directory. EmuFolders::Resources = Path::Canonicalize(Path::Combine(EmuFolders::AppRoot, "../Resources")); #endif +#endif // DUCKSTATION_APPLICATION_DIR_PATH } - void NoGUIHost::SetDataDirectory() ---- src/duckstation-qt/qttranslations.cpp.orig 2023-10-16 12:57:57 UTC + bool QtHost::SetDataDirectory() +--- src/duckstation-qt/qttranslations.cpp.orig 2024-06-14 05:59:32 UTC +++ src/duckstation-qt/qttranslations.cpp -@@ -73,11 +73,15 @@ void QtHost::InstallTranslator() +@@ -80,11 +80,15 @@ void QtHost::InstallTranslator(QWidget* dialog_parent) FixLanguageName(QString::fromStdString(Host::GetBaseStringSettingValue("Main", "Language", GetDefaultLanguage()))); // install the base qt translation first diff --git a/emulators/duckstation/files/patch-src-util-CMakeLists.txt b/emulators/duckstation/files/patch-src-util-CMakeLists.txt new file mode 100644 index 000000000000..003ca38b6151 --- /dev/null +++ b/emulators/duckstation/files/patch-src-util-CMakeLists.txt @@ -0,0 +1,11 @@ +--- src/util/CMakeLists.txt.orig 2024-06-14 05:59:32 UTC ++++ src/util/CMakeLists.txt +@@ -114,7 +114,7 @@ if(ENABLE_OPENGL) + target_link_libraries(util PRIVATE "opengl32.lib") + endif() + +- if(LINUX OR FREEBSD OR ANDROID) ++ if(CMAKE_SYSTEM_NAME MATCHES "(Linux|FreeBSD|Android)") + target_sources(util PRIVATE + opengl_context_egl.cpp + opengl_context_egl.h diff --git a/emulators/duckstation/files/patch-src-util-platform_misc_unix.cpp b/emulators/duckstation/files/patch-src-util-platform_misc_unix.cpp new file mode 100644 index 000000000000..68e543b0fdaa --- /dev/null +++ b/emulators/duckstation/files/patch-src-util-platform_misc_unix.cpp @@ -0,0 +1,20 @@ +--- src/util/platform_misc_unix.cpp.orig 2024-06-14 05:59:32 UTC ++++ src/util/platform_misc_unix.cpp +@@ -134,6 +134,7 @@ size_t PlatformMisc::GetRuntimeCacheLineSize() + + size_t PlatformMisc::GetRuntimeCacheLineSize() + { ++#if defined(__linux__) + int l1i = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); + int l1d = sysconf(_SC_LEVEL1_ICACHE_LINESIZE); + int res = (l1i > l1d) ? l1i : l1d; +@@ -152,6 +153,9 @@ size_t PlatformMisc::GetRuntimeCacheLineSize() + } + + return (res > 0) ? static_cast<size_t>(res) : 0; ++#else ++ return HOST_CACHE_LINE_SIZE; ++#endif + } + + bool PlatformMisc::PlaySoundAsync(const char* path) diff --git a/emulators/duckstation/pkg-plist b/emulators/duckstation/pkg-plist index 4abe24de4993..fe2f56ae1d59 100644 --- a/emulators/duckstation/pkg-plist +++ b/emulators/duckstation/pkg-plist @@ -2,6 +2,7 @@ bin/duckstation-qt share/applications/duckstation.desktop share/pixmaps/duckstation.png %%DATADIR%%/resources/chtdb.txt +%%DATADIR%%/resources/discdb.yaml %%DATADIR%%/resources/fonts/LICENSE.txt %%DATADIR%%/resources/fonts/Roboto-Regular.ttf %%DATADIR%%/resources/fonts/RobotoMono-Medium.ttf @@ -12,6 +13,10 @@ share/pixmaps/duckstation.png %%DATADIR%%/resources/fullscreenui/PAL.png %%DATADIR%%/resources/fullscreenui/address-book-new.png %%DATADIR%%/resources/fullscreenui/applications-system.png +%%DATADIR%%/resources/fullscreenui/back-icon.png +%%DATADIR%%/resources/fullscreenui/desktop-mode.png +%%DATADIR%%/resources/fullscreenui/drive-cdrom.png +%%DATADIR%%/resources/fullscreenui/exit.png %%DATADIR%%/resources/fullscreenui/media-cdrom.png %%DATADIR%%/resources/fullscreenui/multimedia-player.png %%DATADIR%%/resources/fullscreenui/star-0.png @@ -20,8 +25,10 @@ share/pixmaps/duckstation.png %%DATADIR%%/resources/fullscreenui/star-3.png %%DATADIR%%/resources/fullscreenui/star-4.png %%DATADIR%%/resources/fullscreenui/star-5.png +%%DATADIR%%/resources/fullscreenui/start-bios.png +%%DATADIR%%/resources/fullscreenui/start-file.png %%DATADIR%%/resources/gamecontrollerdb.txt -%%DATADIR%%/resources/gamedb.json +%%DATADIR%%/resources/gamedb.yaml %%DATADIR%%/resources/images/cover-placeholder.png %%DATADIR%%/resources/images/crosshair.png %%DATADIR%%/resources/images/duck.png @@ -32,10 +39,18 @@ share/pixmaps/duckstation.png %%DATADIR%%/resources/shaders/crt-lottes.glsl %%DATADIR%%/resources/shaders/dolphinfx/bloom.glsl %%DATADIR%%/resources/shaders/dolphinfx/celshading.glsl +%%DATADIR%%/resources/shaders/dolphinfx/crt/CRT-EASYMODE.glsl +%%DATADIR%%/resources/shaders/dolphinfx/crt/CRT-HYLLIAN.glsl +%%DATADIR%%/resources/shaders/dolphinfx/crt/ZFAST-CRT-COMPOSITE.glsl +%%DATADIR%%/resources/shaders/dolphinfx/edge-smoothing/DDT.glsl +%%DATADIR%%/resources/shaders/dolphinfx/edge-smoothing/XBR.glsl +%%DATADIR%%/resources/shaders/dolphinfx/interpolation/JINC2.glsl +%%DATADIR%%/resources/shaders/dolphinfx/pixel-art/PIXELLATE.glsl %%DATADIR%%/resources/shaders/dolphinfx/scanlines.glsl %%DATADIR%%/resources/shaders/reshade/README.md %%DATADIR%%/resources/shaders/reshade/REFERENCE.md %%DATADIR%%/resources/shaders/reshade/Shaders/Blending.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/CRT-Guest-HD.fx %%DATADIR%%/resources/shaders/reshade/Shaders/CRT-NewPixie.fx %%DATADIR%%/resources/shaders/reshade/Shaders/CRTLottes2.fx %%DATADIR%%/resources/shaders/reshade/Shaders/Daltonize.fx @@ -47,7 +62,37 @@ share/pixmaps/duckstation.png %%DATADIR%%/resources/shaders/reshade/Shaders/ReShade.fxh %%DATADIR%%/resources/shaders/reshade/Shaders/ReShadeUI.fxh %%DATADIR%%/resources/shaders/reshade/Shaders/TriDither.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale.fx +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/bind-shader-params.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/bloom-functions.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/blur-functions.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/derived-settings-and-constants.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/downsampling-functions.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/gamma-management.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/geometry-functions.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/helper-functions-and-macros.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/phosphor-mask-calculations.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/quad-pixel-communication.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/scanline-functions.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/special-functions.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/tex2Dantialias.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/lib/user-settings.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/shaders/bloom.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/shaders/blurring.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/shaders/brightpass.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/shaders/content-box.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/shaders/deinterlace.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/shaders/electron-beams.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/shaders/geometry-aa-last-pass.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/shaders/input-blurring.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/shaders/phosphor-mask.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/shaders/shared-objects.fxh +%%DATADIR%%/resources/shaders/reshade/Shaders/crt-royale/version-number.fxh %%DATADIR%%/resources/shaders/reshade/Shaders/scanlines-abs.fx +%%DATADIR%%/resources/shaders/reshade/Textures/CRT-LUT-1.png +%%DATADIR%%/resources/shaders/reshade/Textures/CRT-LUT-2.png +%%DATADIR%%/resources/shaders/reshade/Textures/CRT-LUT-3.png +%%DATADIR%%/resources/shaders/reshade/Textures/CRT-LUT-4.png %%DATADIR%%/resources/shaders/reshade/Textures/FontAtlas.png %%DATADIR%%/resources/shaders/reshade/Textures/crt-newpixie/crtframe.png %%DATADIR%%/resources/shaders/reshade/Textures/lut.png @@ -67,6 +112,7 @@ share/pixmaps/duckstation.png %%DATADIR%%/translations/duckstation-qt_es.qm %%DATADIR%%/translations/duckstation-qt_fr.qm %%DATADIR%%/translations/duckstation-qt_he.qm +%%DATADIR%%/translations/duckstation-qt_id.qm %%DATADIR%%/translations/duckstation-qt_it.qm %%DATADIR%%/translations/duckstation-qt_ja.qm %%DATADIR%%/translations/duckstation-qt_ko.qm
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202407111054.46BAsLQ0088011>