Thursday, April 04, 2024

Re: UPDATE: Dolphin 20230722

On Thu, Apr 04, 2024 at 05:01:07PM -0400, Brad Smith wrote:
> On Thu, Apr 04, 2024 at 05:54:52AM -0400, Brad Smith wrote:
> > Here is an update to Dolphin 20230722 snapshot.
> >
> > I thought I had sent this out.
> >
> > This fixes the Minizip and mGBA build issues Klemens had pointed out.
>
> I have converted the setup to using DIST_TUPLE.
>
> More testing welcome.

Fix a typo.


Index: Makefile
===================================================================
RCS file: /cvs/ports/emulators/dolphin/Makefile,v
retrieving revision 1.19
diff -u -p -u -p -r1.19 Makefile
--- Makefile 24 Apr 2023 11:40:38 -0000 1.19
+++ Makefile 4 Apr 2024 21:09:21 -0000
@@ -1,69 +1,114 @@
USE_WXNEEDED = Yes
-ONLY_FOR_ARCHS = amd64
+ONLY_FOR_ARCHS = aarch64 amd64

COMMENT-main = Nintendo GameCube and Wii emulator with GUI
COMMENT-nogui = Nintendo GameCube and Wii emulator

-V = 5.0.0.20190621
-DISTNAME = dolphin-emu-${V}
-PKGNAME = dolphin-${V}
-REVISION-main = 4
-REVISION-nogui = 4
-
-MULTI_PACKAGES = -main -nogui
-
-.include <bsd.port.arch.mk>
-
-GH_ACCOUNT = dolphin-emu
-GH_PROJECT = dolphin
-GH_COMMIT = 981925a831e28d3967104e1a64dd8fa9b382660a
+PKGNAME = dolphin-5.0.0.20230722
+DIST_TUPLE += github dolphin-emu dolphin \
+ 8c2a1c191e138d24ec5d525e6cb2532fae376b58 . # GPLv2
+
+# Externals/
+DIST_TUPLE += github dolphin-emu ext-win-qt \
+ 495517af2b922c10c24f543e0fd6ea3ddf774e50 \
+ Externals/Qt # GPLv2
+DIST_TUPLE += github mgba-emu mgba \
+ 008a6f3f237bb7cb86b43386cc5c160e97053704 \
+ Externals/mGBA/mgba # MPL
+DIST_TUPLE += github dolphin-emu ext-win-ffmpeg \
+ 9bc087fbca36ce5a85eb4fd73f0c73813593e5a2 \
+ Externals/FFmpeg-bin # LGPLv2+
+DIST_TUPLE += github libusb libusb \
+ 43107c84e4a5f6b15c296eff8cc3578100f35dce \
+ Externals/libusb/libusb # LGPLv2+
+DIST_TUPLE += github KhronosGroup SPIRV-Cross \
+ 06407561ece7d7e78544112189f3eee13adf9959 \
+ Externals/spirv_cross/SPIRV-Cross # Apache 2.0
+DIST_TUPLE += github libsdl-org SDL \
+ 1fa6142903b88007c7b77d324ee78fad9966871a \
+ Externals/SDL/SDL # Zlib
+DIST_TUPLE += github zlib-ng zlib-ng \
+ 8026095224080a8c426d1b720d30a2851d13ea72 \
+ Externals/zlib-ng/zlib-ng # Zlib
+DIST_TUPLE += github randy408 libspng \
+ adc94393dbeddf9e027d1b2dfff7c1bab975224e \
+ Externals/libspng/libspng # BSD
+DIST_TUPLE += github GPUOpen-LibrariesAndSDKs VulkanMemoryAllocator \
+ 5677097bafb8477097c6e3354ce68b7a44fd01a4 \
+ Externals/VulkanMemoryAllocator # MIT
+DIST_TUPLE += github mozilla cubeb \
+ 67db4cbc18581c8a6d8ea935af9854ed9729e7a7 \
+ Externals/cubeb/cubeb # ISC
+# slightly older implot to build with older Dolphin
+DIST_TUPLE += github epezent implot \
+ d87512353495e7760e7fda7566a05beef7627d8f \
+ Externals/implot/implot # MIT
+DIST_TUPLE += github google googletest \
+ 61db1e1740a828d9df94fd167a9eb4137cd6def2 \
+ Externals/gtest # BSD
+# slightly older rcheevos to build with older Dolphin
+DIST_TUPLE += github RetroAchievements rcheevos \
+ 0cdc7f8e9592e0741c07729a34d49a55e6c5e290 \
+ Externals/rcheevos/rcheevos # MIT
+DIST_TUPLE += github bylaws libadrenotools \
+ deec5f75ee1a8ccbe32c8780b1d17284fc87b0f1 \
+ Externals/libadrenotools # BSD

CATEGORIES = emulators

+MULTI_PACKAGES = -main -nogui
+
# GPLv2+
PERMIT_PACKAGE = Yes

cWANTLIB = EGL GL GLU ICE SDL2 SM X11 Xext Xi Xrandr avcodec \
- avformat avutil c curl hidapi-libusb iconv intl lzo2 \
- m mbedcrypto mbedtls mbedx509 miniupnpc png pthread \
- pugixml sfml-network sfml-system sndio swscale \
- usb-1.0 z ${COMPILER_LIBCXX}
-
-WANTLIB-main = ${cWANTLIB} Qt5Core Qt5Gui Qt5Widgets
-WANTLIB-nogui = ${cWANTLIB}
+ avformat avutil bz2 c curl fmt hidapi-libusb iconv \
+ lzma lzo2 m mbedcrypto mbedtls mbedx509 miniupnpc \
+ minizip pthread pugixml sfml-network sfml-system \
+ speexdsp spng swscale swresample usb-1.0 zstd \
+ ${COMPILER_LIBCXX}

-COMPILER = base-clang ports-gcc base-gcc
+WANTLIB-main = ${cWANTLIB} Qt6Core Qt6Gui Qt6Widgets
+WANTLIB-nogui = ${cWANTLIB}

MODULES = devel/cmake
-TEST_DEPENDS = devel/gtest
+
BUILD_DEPENDS = devel/gettext,-tools \
- devel/fmt
+ x11/qt6/qtsvg
LIB_DEPENDS-nogui = archivers/lzo2 \
+ archivers/minizip \
+ archivers/zstd \
comms/libhidapi \
converters/libiconv \
- devel/gettext,-runtime \
+ devel/fmt \
devel/libusb1 \
devel/sdl2 \
graphics/ffmpeg \
- graphics/png \
+ graphics/libspng \
multimedia/sfml \
net/curl \
net/miniupnp/miniupnpc \
security/polarssl \
textproc/pugixml
LIB_DEPENDS-main = ${LIB_DEPENDS-nogui} \
- x11/qt5/qtbase
+ x11/qt6/qtbase
RUN_DEPENDS-main = ${RUN_DEPENDS-nogui} \
devel/desktop-file-utils \
emulators/dolphin,-nogui \
x11/gtk+4,-guic
-CONFIGURE_ARGS += -Dmandir:=${PREFIX}/man \
- -DENABLE_ALSA=OFF \
+
+COMPILER = base-clang
+
+CONFIGURE_ARGS += -DENABLE_ALSA=OFF \
-DENABLE_PULSEAUDIO=OFF \
-DENABLE_LLVM=OFF \
- -DQt5_DIR="${LOCALBASE}/lib/qt5/cmake/Qt5" \
- -DUSE_DISCORD_PRESENCE=OFF
-TEST_TARGET = unittests
+ -DENABLE_LTO=ON \
+ -DENABLE_TESTS=OFF \
+ -DENABLE_VULKAN=OFF \
+ -DUSE_DISCORD_PRESENCE=OFF \
+ -DUSE_SANITIZERS=OFF \
+ -DUSE_SYSTEM_LIBMGBA=OFF \
+ -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON

MODCMAKE_LDFLAGS = -L${X11BASE}/lib -L${LOCALBASE}/lib

Index: distinfo
===================================================================
RCS file: /cvs/ports/emulators/dolphin/distinfo,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 distinfo
--- distinfo 8 Mar 2020 02:15:51 -0000 1.3
+++ distinfo 4 Apr 2024 21:09:21 -0000
@@ -1,2 +1,30 @@
-SHA256 (dolphin-emu-5.0.0.20190621-981925a8.tar.gz) = NU3/NTFnFtmsOaj8OqC2NtZdbrmL4+gnsoHgKKiaZvI=
-SIZE (dolphin-emu-5.0.0.20190621-981925a8.tar.gz) = 38837330
+SHA256 (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-5677097bafb8477097c6e3354ce68b7a44fd01a4.tar.gz) = H1ufUl0e9X+/zi+FsTi0VxIet1wmpFGvZKljP8YmuhM=
+SHA256 (KhronosGroup-SPIRV-Cross-06407561ece7d7e78544112189f3eee13adf9959.tar.gz) = fgDvqwGuXx07Ade1ZVCyTYcZjhNO27WH63TyrJYFrts=
+SHA256 (RetroAchievements-rcheevos-0cdc7f8e9592e0741c07729a34d49a55e6c5e290.tar.gz) = tz13fq0l4yJWMR3XVe00/obTYiEEHHo25+T1Ohhu5pM=
+SHA256 (bylaws-libadrenotools-deec5f75ee1a8ccbe32c8780b1d17284fc87b0f1.tar.gz) = o6augsMi1ZiwdoJ9EIZTT0f5/s7Xs2eDiQFTy6+e2YA=
+SHA256 (dolphin-emu-dolphin-8c2a1c191e138d24ec5d525e6cb2532fae376b58.tar.gz) = TEPPg5voL5TSwfTrO2pM6ai1hCFSKjRviXSTyCMZfvE=
+SHA256 (dolphin-emu-ext-win-ffmpeg-9bc087fbca36ce5a85eb4fd73f0c73813593e5a2.tar.gz) = yYzYdIDrLVja3JYdx5JWlmlN5KIR0wiSEn/h3HwJJ4U=
+SHA256 (dolphin-emu-ext-win-qt-495517af2b922c10c24f543e0fd6ea3ddf774e50.tar.gz) = 0l6BYA4Uxz8Ikq/C93dfENrESO0KCSSYLMdnc1udUv0=
+SHA256 (epezent-implot-d87512353495e7760e7fda7566a05beef7627d8f.tar.gz) = uFsnzegIFsbsvWM5Dly50+pWIRpjVkNyt6f4n+W3aps=
+SHA256 (google-googletest-61db1e1740a828d9df94fd167a9eb4137cd6def2.tar.gz) = nvyjUqk4Sp38sV/7ci5UEyQlDlFbyGLZg5qXieEVrhs=
+SHA256 (libsdl-org-SDL-1fa6142903b88007c7b77d324ee78fad9966871a.tar.gz) = 30cRhUtJIr7niAcNkjHbXLTwgSiuPoYlXNWEiScNdm0=
+SHA256 (libusb-libusb-43107c84e4a5f6b15c296eff8cc3578100f35dce.tar.gz) = zheMAiG67bEvUGhL4Wa1aX1GvUumG8Lf9HnfQvZq/LQ=
+SHA256 (mgba-emu-mgba-008a6f3f237bb7cb86b43386cc5c160e97053704.tar.gz) = YKmci6h7fSqYHMmqNJ0BmNe837bR4L5/4Ry0+5VtDX0=
+SHA256 (mozilla-cubeb-67db4cbc18581c8a6d8ea935af9854ed9729e7a7.tar.gz) = B3g6LlBJo9ptT90mipet3PTZ5JSG8b9CUqh0sAWH9gc=
+SHA256 (randy408-libspng-adc94393dbeddf9e027d1b2dfff7c1bab975224e.tar.gz) = CD+7/RUZ2S3uLRpDOHS2lg/5SLGzoXjOaBwHLLqbs5w=
+SHA256 (zlib-ng-zlib-ng-8026095224080a8c426d1b720d30a2851d13ea72.tar.gz) = CbWguZk12lDPPXBDTWTYaG6Fn6vFxqwqHNShrqt18Co=
+SIZE (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-5677097bafb8477097c6e3354ce68b7a44fd01a4.tar.gz) = 898925
+SIZE (KhronosGroup-SPIRV-Cross-06407561ece7d7e78544112189f3eee13adf9959.tar.gz) = 1794731
+SIZE (RetroAchievements-rcheevos-0cdc7f8e9592e0741c07729a34d49a55e6c5e290.tar.gz) = 610547
+SIZE (bylaws-libadrenotools-deec5f75ee1a8ccbe32c8780b1d17284fc87b0f1.tar.gz) = 88081
+SIZE (dolphin-emu-dolphin-8c2a1c191e138d24ec5d525e6cb2532fae376b58.tar.gz) = 20544404
+SIZE (dolphin-emu-ext-win-ffmpeg-9bc087fbca36ce5a85eb4fd73f0c73813593e5a2.tar.gz) = 14871857
+SIZE (dolphin-emu-ext-win-qt-495517af2b922c10c24f543e0fd6ea3ddf774e50.tar.gz) = 100540982
+SIZE (epezent-implot-d87512353495e7760e7fda7566a05beef7627d8f.tar.gz) = 137760
+SIZE (google-googletest-61db1e1740a828d9df94fd167a9eb4137cd6def2.tar.gz) = 872810
+SIZE (libsdl-org-SDL-1fa6142903b88007c7b77d324ee78fad9966871a.tar.gz) = 7806917
+SIZE (libusb-libusb-43107c84e4a5f6b15c296eff8cc3578100f35dce.tar.gz) = 406233
+SIZE (mgba-emu-mgba-008a6f3f237bb7cb86b43386cc5c160e97053704.tar.gz) = 14939866
+SIZE (mozilla-cubeb-67db4cbc18581c8a6d8ea935af9854ed9729e7a7.tar.gz) = 230911
+SIZE (randy408-libspng-adc94393dbeddf9e027d1b2dfff7c1bab975224e.tar.gz) = 159232
+SIZE (zlib-ng-zlib-ng-8026095224080a8c426d1b720d30a2851d13ea72.tar.gz) = 2405631
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: patches/patch-CMakeLists_txt
diff -N patches/patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt 11 Mar 2022 18:59:34 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-use devel/gtest instead of this bundled gtest, which fails to compile
-use system devel/fmt instead of bundled fmt
-
-Index: CMakeLists.txt
---- CMakeLists.txt.orig
-+++ CMakeLists.txt
-@@ -530,7 +530,6 @@ if (_M_X86)
- add_subdirectory(Externals/Bochs_disasm)
- endif()
- add_subdirectory(Externals/cpp-optparse)
--add_subdirectory(Externals/fmt EXCLUDE_FROM_ALL)
- add_subdirectory(Externals/glslang)
- add_subdirectory(Externals/imgui)
-
-@@ -748,8 +747,6 @@ include_directories("${PROJECT_BINARY_DIR}/Source/Core
- # Unit testing.
- #
- if(ENABLE_TESTS)
-- message(STATUS "Using static gtest from Externals")
-- add_subdirectory(Externals/gtest EXCLUDE_FROM_ALL)
- else()
- message(STATUS "Unit tests are disabled")
- endif()
Index: patches/patch-Externals_Bochs_disasm_CMakeLists_txt
===================================================================
RCS file: patches/patch-Externals_Bochs_disasm_CMakeLists_txt
diff -N patches/patch-Externals_Bochs_disasm_CMakeLists_txt
--- patches/patch-Externals_Bochs_disasm_CMakeLists_txt 11 Mar 2022 18:59:34 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-link against intl
-
-Index: Externals/Bochs_disasm/CMakeLists.txt
---- Externals/Bochs_disasm/CMakeLists.txt.orig
-+++ Externals/Bochs_disasm/CMakeLists.txt
-@@ -16,3 +16,5 @@ target_include_directories(bdisasm
- PUBLIC
- ${CMAKE_CURRENT_SOURCE_DIR}
- )
-+
-+target_link_libraries(bdisasm intl)
Index: patches/patch-Externals_glslang_glslang_Include_PoolAlloc_h
===================================================================
RCS file: patches/patch-Externals_glslang_glslang_Include_PoolAlloc_h
diff -N patches/patch-Externals_glslang_glslang_Include_PoolAlloc_h
--- patches/patch-Externals_glslang_glslang_Include_PoolAlloc_h 11 Mar 2022 18:59:34 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-fix clang 10 build (error: 'operator=' is a private member)
-
-Index: Externals/glslang/glslang/Include/PoolAlloc.h
---- Externals/glslang/glslang/Include/PoolAlloc.h.orig
-+++ Externals/glslang/glslang/Include/PoolAlloc.h
-@@ -304,7 +304,6 @@ class pool_allocator { (public)
- size_type max_size() const { return static_cast<size_type>(-1) / sizeof(T); }
- size_type max_size(int size) const { return static_cast<size_type>(-1) / size; }
-
-- void setAllocator(TPoolAllocator* a) { allocator = *a; }
- TPoolAllocator& getAllocator() const { return allocator; }
-
- protected:
Index: patches/patch-Externals_soundtouch_SoundTouch_cpp
===================================================================
RCS file: /cvs/ports/emulators/dolphin/patches/patch-Externals_soundtouch_SoundTouch_cpp,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-Externals_soundtouch_SoundTouch_cpp
--- patches/patch-Externals_soundtouch_SoundTouch_cpp 11 Mar 2022 18:59:34 -0000 1.3
+++ patches/patch-Externals_soundtouch_SoundTouch_cpp 4 Apr 2024 21:09:21 -0000
@@ -1,7 +1,7 @@
Index: Externals/soundtouch/SoundTouch.cpp
--- Externals/soundtouch/SoundTouch.cpp.orig
+++ Externals/soundtouch/SoundTouch.cpp
-@@ -75,7 +75,7 @@
+@@ -68,7 +68,7 @@
#include <math.h>
#include <stdio.h>

Index: patches/patch-Externals_soundtouch_SoundTouch_h
===================================================================
RCS file: /cvs/ports/emulators/dolphin/patches/patch-Externals_soundtouch_SoundTouch_h,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-Externals_soundtouch_SoundTouch_h
--- patches/patch-Externals_soundtouch_SoundTouch_h 11 Mar 2022 18:59:34 -0000 1.3
+++ patches/patch-Externals_soundtouch_SoundTouch_h 4 Apr 2024 21:09:21 -0000
@@ -1,11 +1,12 @@
Avoid picking up SoundTouch.h from audio/soundtouch if installed.
+
CMakeLists.txt: "Unable to use system soundtouch library: We require shorts, not
floats"

Index: Externals/soundtouch/SoundTouch.h
--- Externals/soundtouch/SoundTouch.h.orig
+++ Externals/soundtouch/SoundTouch.h
-@@ -69,8 +69,8 @@
+@@ -62,8 +62,8 @@
//
////////////////////////////////////////////////////////////////////////////////

Index: patches/patch-Source_Core_AudioCommon_AudioStretcher_h
===================================================================
RCS file: /cvs/ports/emulators/dolphin/patches/patch-Source_Core_AudioCommon_AudioStretcher_h,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 patch-Source_Core_AudioCommon_AudioStretcher_h
--- patches/patch-Source_Core_AudioCommon_AudioStretcher_h 11 Mar 2022 18:59:34 -0000 1.2
+++ patches/patch-Source_Core_AudioCommon_AudioStretcher_h 4 Apr 2024 21:09:21 -0000
@@ -1,12 +1,12 @@
Index: Source/Core/AudioCommon/AudioStretcher.h
--- Source/Core/AudioCommon/AudioStretcher.h.orig
+++ Source/Core/AudioCommon/AudioStretcher.h
-@@ -6,7 +6,7 @@
+@@ -5,7 +5,7 @@

#include <array>

--#include <soundtouch/SoundTouch.h>
-+#include <soundtouch/ExtSoundTouch.h>
+-#include <SoundTouch.h>
++#include <ExtSoundTouch.h>

namespace AudioCommon
{
Index: patches/patch-Source_Core_Common_CMakeLists_txt
===================================================================
RCS file: patches/patch-Source_Core_Common_CMakeLists_txt
diff -N patches/patch-Source_Core_Common_CMakeLists_txt
--- patches/patch-Source_Core_Common_CMakeLists_txt 11 Mar 2022 18:59:34 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-fmt::fmt => fmt, to use system lib
-
-Index: Source/Core/Common/CMakeLists.txt
---- Source/Core/Common/CMakeLists.txt.orig
-+++ Source/Core/Common/CMakeLists.txt
-@@ -132,7 +132,7 @@ target_link_libraries(common
- PUBLIC
- ${CMAKE_THREAD_LIBS_INIT}
- enet
-- fmt::fmt
-+ fmt
- ${MBEDTLS_LIBRARIES}
-
- PRIVATE
Index: patches/patch-Source_Core_Core_CMakeLists_txt
===================================================================
RCS file: patches/patch-Source_Core_Core_CMakeLists_txt
diff -N patches/patch-Source_Core_Core_CMakeLists_txt
--- patches/patch-Source_Core_Core_CMakeLists_txt 11 Mar 2022 18:59:34 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-Index: Source/Core/Core/CMakeLists.txt
---- Source/Core/Core/CMakeLists.txt.orig
-+++ Source/Core/Core/CMakeLists.txt
-@@ -557,7 +557,7 @@ PUBLIC
- videovulkan
-
- PRIVATE
-- fmt::fmt
-+ fmt
- ${LZO}
- ZLIB::ZLIB
- )
Index: patches/patch-Source_Core_Core_ConfigManager_cpp
===================================================================
RCS file: patches/patch-Source_Core_Core_ConfigManager_cpp
diff -N patches/patch-Source_Core_Core_ConfigManager_cpp
--- patches/patch-Source_Core_Core_ConfigManager_cpp 11 Mar 2022 18:59:34 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,27 +0,0 @@
-Disable Fastmem by default. This is an option for fast, but unsafe
-memory use by the JIT that triggers SIGSEGV by design that is meant to
-be caught and then replaced by the emulator. However, on OpenBSD this
-just results in segfault on start of dolphin. Therefore set it to
-'false' by default.
-
-Index: Source/Core/Core/ConfigManager.cpp
---- Source/Core/Core/ConfigManager.cpp.orig
-+++ Source/Core/Core/ConfigManager.cpp
-@@ -479,7 +479,7 @@ void SConfig::LoadCoreSettings(IniFile& ini)
- core->Get("CPUCore", &cpu_core, PowerPC::CPUCore::Interpreter);
-

No comments:

Post a Comment