git: 9348eb2531cf - main - emulators/flycast: Update to 2.7 and unbreak

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Tue, 01 Sep 2026 04:55:38 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9348eb2531cf46fc237c23be31ad3b1a4e094042

commit 9348eb2531cf46fc237c23be31ad3b1a4e094042
Author:     Stefan Schlosser <bsdcode@disroot.org>
AuthorDate: 2026-08-19 19:59:25 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-09-01 04:53:49 +0000

    emulators/flycast: Update to 2.7 and unbreak
    
    Port changes:
    - Switch to net/asio130 to unbreak the build. This also guarantees a
      more stable update path for the flycast port, because newer versions
      of net/asio are constantly deprecating and removing APIs.
    - Unbreak on FreeBSD < 15 for newer DreamPicoPort submodule.
    - Unbundle several dependencies. This is accompanied with an
      EXTRACT_AFTER_ARGS block to exclude unbundled and unused deps, which
      ensures that these aren't accidently referenced by the build process.
    - Add LIBCDIO option, enabled by default. This enables CDROM support via
      libcdio. It was already available in previous flycast versions but was
      forgotten in the port.
    - Prevent searching for git via CMAKE_DISABLE_FIND_PACKAGE_Git.
    - Separate several blocks with newlines to improve readability.
    - Remove obsolete patches.
    
    Changelog:
    https://github.com/flyinghead/flycast/releases/tag/v2.7
    
    PR:             297689
    Reported by:    Stefan Schlosser <bsdcode@disroot.org> (maintainer)
---
 emulators/flycast/Makefile                         | 66 +++++++++++++++++-----
 emulators/flycast/distinfo                         | 26 +++++----
 emulators/flycast/files/patch-CMakeLists.txt       | 48 ++++++++++++----
 .../flycast/files/patch-core_network_dcnet.cpp     | 38 -------------
 .../files/patch-core_rend_vulkan_vmallocator.cpp   |  9 ---
 .../files/patch-core_rend_vulkan_vmallocator.h     | 38 -------------
 .../patch-core_rend_vulkan_vulkan__context.cpp     | 11 ----
 .../flycast/files/patch-core_sdl_dreampicoport.cpp | 11 ----
 emulators/flycast/pkg-plist                        |  4 --
 9 files changed, 104 insertions(+), 147 deletions(-)

diff --git a/emulators/flycast/Makefile b/emulators/flycast/Makefile
index 2ca88eb0fa24..0a1b1a51d60c 100644
--- a/emulators/flycast/Makefile
+++ b/emulators/flycast/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	flycast
 DISTVERSIONPREFIX=	v
-DISTVERSION=	2.6
-PORTREVISION=	3
+DISTVERSION=	2.7
 CATEGORIES=	emulators
 
 MAINTAINER=	bsdcode@disroot.org
@@ -11,36 +10,61 @@ WWW=		https://github.com/flyinghead/flycast
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BUILD_DEPENDS=	asio>0:net/asio \
+BUILD_DEPENDS=	asio130>0:net/asio130 \
+		glm>0:math/glm \
+		nlohmann-json>0:devel/nlohmann-json \
+		stb>0:devel/stb \
 		websocketpp>0:devel/websocketpp
+
 LIB_DEPENDS=	libchdr.so:devel/libchdr \
 		libcurl.so:ftp/curl \
+		libfreetype.so:print/freetype2 \
 		libminiupnpc.so:net/miniupnpc \
+		libxxhash.so:devel/xxhash \
 		libzip.so:archivers/libzip
 
 USES=		cmake compiler:c++20-lang pkgconfig sdl
+
 USE_GITHUB=	yes
 GH_ACCOUNT=	flyinghead
-GH_TUPLE=	GPUOpen-LibrariesAndSDKs:VulkanMemoryAllocator:1d8f600fd424278486eade7ed3e877c99f0846b1:VulkanMemoryAllocator/core/deps/VulkanMemoryAllocator \
-		OrangeFox86:DreamPicoPort-API:8ea3b90e508d4a27a6e3a9f111d88d690bff018c:DreamPicoPortAPI/core/deps/DreamPicoPort-API \
-		RetroAchievements:rcheevos:926e4608f8dca7989267c787bbefb3ab1c835ac5:rcheevos/core/deps/rcheevos \
+GH_TUPLE=	GPUOpen-LibrariesAndSDKs:VulkanMemoryAllocator:3aa921224c154a0d2c43912bc88e1c42ce1f7607:VulkanMemoryAllocator/core/deps/VulkanMemoryAllocator \
+		Grumbel:tinycmmc:50c49bf8a45f7c5ddb0c5f838a0fd6a00845a04d:tinycmmc/core/deps/tinygettext/external/tinycmmc \
+		OrangeFox86:DreamPicoPort-API:06ad02fcaaf79bf349c4c6985a4df2dd63349825:DreamPicoPortAPI/core/deps/DreamPicoPort-API \
+		RetroAchievements:rcheevos:f1417fbf2236936e8334533628b2948dfa4a46d0:rcheevos/core/deps/rcheevos \
+		flyinghead:tinygettext:41572a67f96013691685a38f0032f3c97aa34f79:tinygettext/core/deps/tinygettext \
 		herumi:xbyak:0d67fd1530016b7c56f3cd74b3fca920f4c3e2b4:xbyak/core/deps/xbyak \
-		paullouisageneau:libjuice:5948a4162d37bc213d6051b67ee2876ccc5a99a6:libjuice/core/deps/libjuice \
+		paullouisageneau:libjuice:f09cf92522de0b619a63d55d007b5466c7c14ad1:libjuice/core/deps/libjuice \
 		vinniefalco:LuaBridge:ade28532d998ada20048db7f5a649acaf66a4532:LuaBridge/core/deps/luabridge
-USE_SDL=	sdl2
 
-CMAKE_ON=	USE_HOST_LIBCHDR
+USE_SDL=	sdl2
 
-OPTIONS_DEFINE=		DOCS LUA OPENMP VULKAN
-OPTIONS_DEFAULT=	ALSA AO LUA OPENMP OSS VULKAN
+CMAKE_ON=	CMAKE_DISABLE_FIND_PACKAGE_Git \
+		USE_HOST_LIBCHDR
+
+CFLAGS+=	-DGLM_ENABLE_EXPERIMENTAL \
+		-I${LOCALBASE}/include/nlohmann \
+		-I${LOCALBASE}/include/stb
+
+EXTRACT_AFTER_ARGS=	--exclude ${GH_PROJECT_DEFAULT}-${GH_TAGNAME_EXTRACT}/core/deps/dirent \
+			--exclude ${GH_PROJECT_DEFAULT}-${GH_TAGNAME_EXTRACT}/core/deps/glm \
+			--exclude ${GH_PROJECT_DEFAULT}-${GH_TAGNAME_EXTRACT}/core/deps/implot \
+			--exclude ${GH_PROJECT_DEFAULT}-${GH_TAGNAME_EXTRACT}/core/deps/json \
+			--exclude ${GH_PROJECT_DEFAULT}-${GH_TAGNAME_EXTRACT}/core/deps/libretro-common \
+			--exclude ${GH_PROJECT_DEFAULT}-${GH_TAGNAME_EXTRACT}/core/deps/libunwind \
+			--exclude ${GH_PROJECT_DEFAULT}-${GH_TAGNAME_EXTRACT}/core/deps/libzip \
+			--exclude ${GH_PROJECT_DEFAULT}-${GH_TAGNAME_EXTRACT}/core/deps/miniupnpc \
+			--exclude ${GH_PROJECT_DEFAULT}-${GH_TAGNAME_EXTRACT}/core/deps/stb \
+			--exclude ${GH_PROJECT_DEFAULT}-${GH_TAGNAME_EXTRACT}/core/deps/xxHash \
+			--no-same-owner --no-same-permissions
+
+OPTIONS_DEFINE=		DOCS LIBCDIO LUA OPENMP VULKAN
+OPTIONS_DEFAULT=	ALSA AO LIBCDIO LUA OPENMP OSS VULKAN
 OPTIONS_GROUP=		AUDIO
 OPTIONS_GROUP_AUDIO=	ALSA AO OSS PULSEAUDIO
-
-# building with lua support fails on i386, see also
 # https://github.com/vinniefalco/LuaBridge/issues/302
 OPTIONS_EXCLUDE_i386=	LUA
 
-VULKAN_DESC=	Build with Vulkan support
+LIBCDIO_DESC=	CDROM support via libcdio
 
 ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
 ALSA_CMAKE_BOOL=	USE_ALSA
@@ -48,6 +72,9 @@ ALSA_CMAKE_BOOL=	USE_ALSA
 AO_LIB_DEPENDS=		libao.so:audio/libao
 AO_CMAKE_BOOL=		USE_LIBAO
 
+LIBCDIO_LIB_DEPENDS=	libcdio.so:sysutils/libcdio
+LIBCDIO_CMAKE_BOOL=	USE_LIBCDIO
+
 LUA_USES=		lua:52+
 LUA_CMAKE_BOOL=		USE_LUA
 
@@ -63,7 +90,16 @@ VULKAN_BUILD_DEPENDS=	glslang>0:graphics/glslang \
 VULKAN_CMAKE_BOOL=	USE_HOST_GLSLANG \
 			USE_VULKAN
 
+.include <bsd.port.pre.mk>
+
+# FreeBSD < 15: libusb lacks required APIs
+.if ${OSVERSION} < 1500000
+CMAKE_OFF+=	USE_DREAMPICOPORT
+.else
+CMAKE_ON+=	USE_DREAMPICOPORT
+.endif
+
 post-install-DOCS-on:
 	(cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/emulators/flycast/distinfo b/emulators/flycast/distinfo
index 12c564bdb6c0..8ab08f96f8d8 100644
--- a/emulators/flycast/distinfo
+++ b/emulators/flycast/distinfo
@@ -1,15 +1,19 @@
-TIMESTAMP = 1768252493
-SHA256 (flyinghead-flycast-v2.6_GH0.tar.gz) = 7765c0932e8f12e7cdb70db059efce5569c9880a5c0f4c00458fe108d49d36d9
-SIZE (flyinghead-flycast-v2.6_GH0.tar.gz) = 34604053
-SHA256 (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-1d8f600fd424278486eade7ed3e877c99f0846b1_GH0.tar.gz) = 04b278f5a185ef75a7ea988e0e76ddd0b2f2186bf56dd90625159972a47dcb3b
-SIZE (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-1d8f600fd424278486eade7ed3e877c99f0846b1_GH0.tar.gz) = 962421
-SHA256 (OrangeFox86-DreamPicoPort-API-8ea3b90e508d4a27a6e3a9f111d88d690bff018c_GH0.tar.gz) = 01810b682b985376395013a6833073abf2d401d7fdbae3f551c4b58a6de48cd1
-SIZE (OrangeFox86-DreamPicoPort-API-8ea3b90e508d4a27a6e3a9f111d88d690bff018c_GH0.tar.gz) = 32385
-SHA256 (RetroAchievements-rcheevos-926e4608f8dca7989267c787bbefb3ab1c835ac5_GH0.tar.gz) = 11e5fc43c4676289ff4637c04a9f43070235006d826c363628dcb194d5182ebd
-SIZE (RetroAchievements-rcheevos-926e4608f8dca7989267c787bbefb3ab1c835ac5_GH0.tar.gz) = 434643
+TIMESTAMP = 1787848234
+SHA256 (flyinghead-flycast-v2.7_GH0.tar.gz) = 4899c0c5abd10dd78c5668db8e4a596bf4d541407694e7c198d0452e17d084cc
+SIZE (flyinghead-flycast-v2.7_GH0.tar.gz) = 35763464
+SHA256 (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-3aa921224c154a0d2c43912bc88e1c42ce1f7607_GH0.tar.gz) = 5935dc47d8659bb681f1b7218f903ec171d10c39509752fd64eb2c9daf601ced
+SIZE (GPUOpen-LibrariesAndSDKs-VulkanMemoryAllocator-3aa921224c154a0d2c43912bc88e1c42ce1f7607_GH0.tar.gz) = 1002898
+SHA256 (Grumbel-tinycmmc-50c49bf8a45f7c5ddb0c5f838a0fd6a00845a04d_GH0.tar.gz) = 1b4799491613b5d73c7c04669fd356b4901a4064e655852f10ca01c0282a8b37
+SIZE (Grumbel-tinycmmc-50c49bf8a45f7c5ddb0c5f838a0fd6a00845a04d_GH0.tar.gz) = 11068
+SHA256 (OrangeFox86-DreamPicoPort-API-06ad02fcaaf79bf349c4c6985a4df2dd63349825_GH0.tar.gz) = 892d4cabc3e76ae96f2a9d57e7c9e4d278cd34a7dab5c52299f5634169ef8e22
+SIZE (OrangeFox86-DreamPicoPort-API-06ad02fcaaf79bf349c4c6985a4df2dd63349825_GH0.tar.gz) = 33261
+SHA256 (RetroAchievements-rcheevos-f1417fbf2236936e8334533628b2948dfa4a46d0_GH0.tar.gz) = 4f1f7b58abb8ff33865186a7f57827de68f04486ed7684217abd6b0b535a9764
+SIZE (RetroAchievements-rcheevos-f1417fbf2236936e8334533628b2948dfa4a46d0_GH0.tar.gz) = 445804
+SHA256 (flyinghead-tinygettext-41572a67f96013691685a38f0032f3c97aa34f79_GH0.tar.gz) = 1ceb1c0f77caaf500806cdd8a14e122762e43ce3a399a2aa228dfc0174ede709
+SIZE (flyinghead-tinygettext-41572a67f96013691685a38f0032f3c97aa34f79_GH0.tar.gz) = 69459
 SHA256 (herumi-xbyak-0d67fd1530016b7c56f3cd74b3fca920f4c3e2b4_GH0.tar.gz) = 18aa05ac8e4bd5f5cb52c5481b86ba02cac395ad8cdbec6fe5acac94ad546dc8
 SIZE (herumi-xbyak-0d67fd1530016b7c56f3cd74b3fca920f4c3e2b4_GH0.tar.gz) = 293437
-SHA256 (paullouisageneau-libjuice-5948a4162d37bc213d6051b67ee2876ccc5a99a6_GH0.tar.gz) = 5703c044e0b28f16c791a35025281ae04e89e1d8f874e5eddb85641024e7e4ed
-SIZE (paullouisageneau-libjuice-5948a4162d37bc213d6051b67ee2876ccc5a99a6_GH0.tar.gz) = 107376
+SHA256 (paullouisageneau-libjuice-f09cf92522de0b619a63d55d007b5466c7c14ad1_GH0.tar.gz) = d91af546a5a2949e5a897c02f510a10b85ad97113d3609f22247fe2c8e4d2f34
+SIZE (paullouisageneau-libjuice-f09cf92522de0b619a63d55d007b5466c7c14ad1_GH0.tar.gz) = 108342
 SHA256 (vinniefalco-LuaBridge-ade28532d998ada20048db7f5a649acaf66a4532_GH0.tar.gz) = bbbcac836b368f25675b3063a199b7684fc2119e63fb2b631f11f14372ca7ead
 SIZE (vinniefalco-LuaBridge-ade28532d998ada20048db7f5a649acaf66a4532_GH0.tar.gz) = 1199189
diff --git a/emulators/flycast/files/patch-CMakeLists.txt b/emulators/flycast/files/patch-CMakeLists.txt
index 982c7e25d45d..6f61bbc26fb8 100644
--- a/emulators/flycast/files/patch-CMakeLists.txt
+++ b/emulators/flycast/files/patch-CMakeLists.txt
@@ -1,15 +1,43 @@
---- CMakeLists.txt.orig	2026-01-07 13:28:32 UTC
+--- CMakeLists.txt.orig	2026-08-14 22:37:38 UTC
 +++ CMakeLists.txt
-@@ -488,7 +488,7 @@ if(NOT LIBRETRO)
+@@ -448,13 +448,16 @@ endif()
+ 	endif()
+ endif()
+ 
++find_package(PkgConfig REQUIRED)
++
+ option(BUILD_SHARED_LIBS "Build shared library" OFF)
+ set(XXHASH_BUILD_XXHSUM OFF CACHE BOOL "Build the xxhsum binary")
+-add_subdirectory(core/deps/xxHash/cmake_unofficial)
++pkg_check_modules(libxxhash REQUIRED IMPORTED_TARGET libxxhash)
++add_library(xxHash::xxhash ALIAS PkgConfig::libxxhash)
+ target_link_libraries(${PROJECT_NAME} PRIVATE xxHash::xxhash)
  
- 			# DreamPicoPort-API
- 			option(DREAMPICOPORT_ADD_LIBUSB "Add internal libusb library" OFF) # Already included above, when applicable
--			add_subdirectory(core/deps/DreamPicoPort-API)
-+			add_subdirectory(core/deps/DreamPicoPort-API EXCLUDE_FROM_ALL)
- 			target_link_libraries(${PROJECT_NAME} PRIVATE dream_pico_port_api)
- 		endif()
+ option(BUILD_SHARED_LIBS "Build shared library" OFF)
+-add_subdirectory(core/deps/glm)
++find_package(glm REQUIRED)
+ target_link_libraries(${PROJECT_NAME} PRIVATE glm::glm)
  
-@@ -1001,8 +1001,11 @@ if(NOT LIBRETRO)
+ if(USE_VULKAN)
+@@ -491,7 +494,7 @@ if(NOT LIBRETRO)
+ 	endif()
+ 
+ 	if(NOT ANDROID AND NOT IOS)
+-		if (NOT NINTENDO_SWITCH)
++		if (NOT NINTENDO_SWITCH AND USE_DREAMPICOPORT)
+ 			# DreamLink enabled for non-mobile Linux, MacOS, and Windows
+ 			target_compile_definitions(${PROJECT_NAME} PRIVATE USE_DREAMLINK_DEVICES=1)
+ 			set(USE_DREAMLINK_DEVICES ON) # Must be set before adding core/sdl
+@@ -903,7 +906,7 @@ if(NOT LIBRETRO)
+ 	set(FT_DISABLE_BZIP2 ON CACHE BOOL "" FORCE)
+ 	set(FT_DISABLE_HARFBUZZ ON CACHE BOOL "" FORCE)
+ 	set(FT_DISABLE_BROTLI ON CACHE BOOL "" FORCE)
+-	add_subdirectory(core/deps/freetype EXCLUDE_FROM_ALL)
++	find_package(freetype REQUIRED)
+ 	if(WINDOWS_STORE)
+ 		target_compile_definitions(freetype PRIVATE _WINRT_DLL)
+ 	endif()
+@@ -1053,8 +1056,11 @@ if(NOT LIBRETRO)
  			core/deps/rcheevos/src/rhash/aes.c
  			core/deps/rcheevos/src/rhash/cdreader.c
  			core/deps/rcheevos/src/rhash/hash.c
@@ -23,7 +51,7 @@
  	target_include_directories(${PROJECT_NAME} PRIVATE core/deps/rcheevos/include)
  	target_compile_definitions(${PROJECT_NAME} PRIVATE USE_RACHIEVEMENTS RC_DISABLE_LUA)
  endif()
-@@ -1080,8 +1083,7 @@ if(USE_VULKAN)
+@@ -1088,8 +1094,7 @@ if(USE_VULKAN)
  		target_compile_definitions(${PROJECT_NAME} PUBLIC VK_USE_PLATFORM_METAL_EXT)
  	endif()
  
diff --git a/emulators/flycast/files/patch-core_network_dcnet.cpp b/emulators/flycast/files/patch-core_network_dcnet.cpp
deleted file mode 100644
index cf7c76d929cf..000000000000
--- a/emulators/flycast/files/patch-core_network_dcnet.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
---- core/network/dcnet.cpp.orig	2025-07-18 15:30:48 UTC
-+++ core/network/dcnet.cpp
-@@ -222,7 +222,7 @@ class EthSocket (private)
- 	}
- 
- private:
--	using iterator = asio::buffers_iterator<asio::const_buffers_1>;
-+	using iterator = asio::buffers_iterator<asio::const_buffer>;
- 
- 	std::pair<iterator, bool>
- 	static packetMatcher(iterator begin, iterator end)
-@@ -502,7 +502,7 @@ class AccessPointFinder (private)
- 	{
- 		std::error_code e;
- 		socket.close(e);
--		timer.cancel(e);
-+		timer.cancel();
- 		if (ec) {
- 			handler(ec, {}, {});
- 		}
-@@ -584,7 +584,7 @@ class DCNetThread (public)
- 	{
- 		if (io_context == nullptr || pppSocket == nullptr)
- 			return;
--		io_context->post([this, v]() {
-+		asio::post([this, v]() {
- 			pppSocket->send(v);
- 		});
- 	}
-@@ -593,7 +593,7 @@ class DCNetThread (public)
- 		if (io_context != nullptr && ethSocket != nullptr)
- 		{
- 			std::vector<u8> vbuf(frame, frame + len);
--			io_context->post([this, vbuf]() {
-+			asio::post([this, vbuf]() {
- 				ethSocket->send(vbuf.data(), vbuf.size());
- 			});
- 		}
diff --git a/emulators/flycast/files/patch-core_rend_vulkan_vmallocator.cpp b/emulators/flycast/files/patch-core_rend_vulkan_vmallocator.cpp
deleted file mode 100644
index cf15ae93245a..000000000000
--- a/emulators/flycast/files/patch-core_rend_vulkan_vmallocator.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
---- core/rend/vulkan/vmallocator.cpp.orig	2024-11-10 23:58:20 UTC
-+++ core/rend/vulkan/vmallocator.cpp
-@@ -71,5 +71,5 @@ void VMAllocator::Init(vk::PhysicalDevice physicalDevi
- #endif
- 
- 	VkResult rc = vmaCreateAllocator(&allocatorInfo, &allocator);
--	vk::resultCheck(static_cast<vk::Result>(rc), "vmaCreateAllocator failed");
-+	vk::detail::resultCheck(static_cast<vk::Result>(rc), "vmaCreateAllocator failed");
- }
diff --git a/emulators/flycast/files/patch-core_rend_vulkan_vmallocator.h b/emulators/flycast/files/patch-core_rend_vulkan_vmallocator.h
deleted file mode 100644
index 7bb55bc9b568..000000000000
--- a/emulators/flycast/files/patch-core_rend_vulkan_vmallocator.h
+++ /dev/null
@@ -1,38 +0,0 @@
---- core/rend/vulkan/vmallocator.h.orig	2024-11-10 23:58:42 UTC
-+++ core/rend/vulkan/vmallocator.h
-@@ -64,7 +64,7 @@ class Allocation (public)
- 			return allocInfo.pMappedData;
- 		void *p;
- 		VkResult res = vmaMapMemory(allocator, allocation, &p);
--		vk::resultCheck(static_cast<vk::Result>(res), "vmaMapMemory failed");
-+		vk::detail::resultCheck(static_cast<vk::Result>(res), "vmaMapMemory failed");
- 		VkMemoryPropertyFlags flags;
- 		vmaGetMemoryTypeProperties(allocator, allocInfo.memoryType, &flags);
- 		if ((flags & VK_MEMORY_PROPERTY_HOST_CACHED_BIT) && (flags & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT) == 0)
-@@ -114,7 +114,7 @@ class VMAllocator (public)
- 		VmaAllocation vmaAllocation;
- 		VmaAllocationInfo allocInfo;
- 		VkResult rc = vmaAllocateMemory(allocator, (VkMemoryRequirements*)&memoryRequirements, &allocCreateInfo, &vmaAllocation, &allocInfo);
--		vk::resultCheck(static_cast<vk::Result>(rc), "vmaAllocateMemory failed");
-+		vk::detail::resultCheck(static_cast<vk::Result>(rc), "vmaAllocateMemory failed");
- 		return Allocation(allocator, vmaAllocation, allocInfo);
- 	}
- 
-@@ -123,7 +123,7 @@ class VMAllocator (public)
- 		VmaAllocation vmaAllocation;
- 		VmaAllocationInfo allocInfo;
- 		VkResult rc = vmaAllocateMemoryForImage(allocator, (VkImage)image, &allocCreateInfo, &vmaAllocation, &allocInfo);
--		vk::resultCheck(static_cast<vk::Result>(rc), "vmaAllocateMemoryForImage failed");
-+		vk::detail::resultCheck(static_cast<vk::Result>(rc), "vmaAllocateMemoryForImage failed");
- 		vmaBindImageMemory(allocator, vmaAllocation, (VkImage)image);
- 
- 		return Allocation(allocator, vmaAllocation, allocInfo);
-@@ -134,7 +134,7 @@ class VMAllocator (public)
- 		VmaAllocation vmaAllocation;
- 		VmaAllocationInfo allocInfo;
- 		VkResult rc = vmaAllocateMemoryForBuffer(allocator, (VkBuffer)buffer, &allocCreateInfo, &vmaAllocation, &allocInfo);
--		vk::resultCheck(static_cast<vk::Result>(rc), "vmaAllocateMemoryForBuffer failed");
-+		vk::detail::resultCheck(static_cast<vk::Result>(rc), "vmaAllocateMemoryForBuffer failed");
- 		vmaBindBufferMemory(allocator, vmaAllocation, (VkBuffer)buffer);
- 
- 		return Allocation(allocator, vmaAllocation, allocInfo);
diff --git a/emulators/flycast/files/patch-core_rend_vulkan_vulkan__context.cpp b/emulators/flycast/files/patch-core_rend_vulkan_vulkan__context.cpp
deleted file mode 100644
index 262d2395ceaf..000000000000
--- a/emulators/flycast/files/patch-core_rend_vulkan_vulkan__context.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- core/rend/vulkan/vulkan_context.cpp.orig	2026-01-12 20:26:48 UTC
-+++ core/rend/vulkan/vulkan_context.cpp
-@@ -148,7 +148,7 @@ bool VulkanContext::InitInstance(const char** extensio
- #if defined(__ANDROID__) && HOST_CPU == CPU_ARM64
- 		vkGetInstanceProcAddr = loadVulkanDriver();
- #else
--		static vk::DynamicLoader dl;
-+		static vk::detail::DynamicLoader dl;
- 		vkGetInstanceProcAddr = dl.getProcAddress<PFN_vkGetInstanceProcAddr>("vkGetInstanceProcAddr");
- #endif
- 		if (vkGetInstanceProcAddr == nullptr) {
diff --git a/emulators/flycast/files/patch-core_sdl_dreampicoport.cpp b/emulators/flycast/files/patch-core_sdl_dreampicoport.cpp
deleted file mode 100644
index db83b1031110..000000000000
--- a/emulators/flycast/files/patch-core_sdl_dreampicoport.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- core/sdl/dreampicoport.cpp.orig	2026-01-12 19:16:59 UTC
-+++ core/sdl/dreampicoport.cpp
-@@ -120,7 +120,7 @@ class DreamPicoPortSerialHandler (public)
- 		std::this_thread::sleep_for(std::chrono::milliseconds(500));
- 
- 		serial_handler = asio::serial_port(io_context);
--		io_context.reset();
-+		io_context.restart();
- 
- 		std::string serial_device = "";
- 
diff --git a/emulators/flycast/pkg-plist b/emulators/flycast/pkg-plist
index 00557a03fc4a..c052877657ea 100644
--- a/emulators/flycast/pkg-plist
+++ b/emulators/flycast/pkg-plist
@@ -1,10 +1,6 @@
 bin/flycast
 share/applications/flycast.desktop
-%%PORTDOCS%%%%DOCSDIR%%/DreamCast_Specs.md
 %%PORTDOCS%%%%DOCSDIR%%/Dynarec Architecture.md
-%%PORTDOCS%%%%DOCSDIR%%/Naomi_Overview.md
-%%PORTDOCS%%%%DOCSDIR%%/Notable game bugs.md
-%%PORTDOCS%%%%DOCSDIR%%/microphone support notes.txt
 %%PORTDOCS%%%%DOCSDIR%%/neil_corlett_aica_notes.txt
 share/icons/hicolor/128x128/apps/flycast.png
 share/icons/hicolor/16x16/apps/flycast.png