UPDATE: citra

Brad Smith <[email protected]>
Newsgroups gmane.os.openbsd.ports
Message-ID <[email protected]>
Fix building Citra with LLVM 22.


Index: Makefile
===================================================================
RCS file: /cvs/ports/emulators/citra/Makefile,v
retrieving revision 1.41
diff -u -p -u -p -r1.41 Makefile
--- Makefile	10 Aug 2026 23:07:20 -0000	1.41
+++ Makefile	11 Aug 2026 01:52:16 -0000
@@ -1,7 +1,5 @@
-BROKEN-amd64 =	fails to build after move to LLVM 22
-
 # ships a dynarmic copy, and dynarmic only supports x86-64 and AArch64
-ONLY_FOR_ARCHS =	amd64 arm64
+ONLY_FOR_ARCHS =	aarch64 amd64
 
 USE_WXNEEDED =	Yes
 
@@ -11,7 +9,7 @@ DISTNAME =	citra-unified-source-20240303
 
 V =		2104
 PKGNAME =	citra-0.0.0.${V}
-REVISION =	6
+REVISION =	7
 
 CATEGORIES =	emulators
 
@@ -22,12 +20,13 @@ PERMIT_PACKAGE =	Yes
 
 USE_NOBTCFI =	Yes
 
-WANTLIB += ${COMPILER_LIBCXX} GL Qt6Concurrent Qt6Core Qt6DBus
-WANTLIB += Qt6Gui Qt6Multimedia Qt6Network Qt6Widgets SDL2 SoundTouch
-WANTLIB += boost_chrono-mt boost_container-mt boost_iostreams-mt
-WANTLIB += boost_locale-mt boost_random-mt boost_regex-mt boost_serialization-mt
-WANTLIB += boost_thread-mt c crypto cryptopp enet
-WANTLIB += fmt m openal ssl usb-1.0 xkbcommon
+WANTLIB += ${COMPILER_LIBCXX} GL Qt6Concurrent Qt6Core Qt6DBus Qt6Gui
+WANTLIB += Qt6Multimedia Qt6Network Qt6Widgets SDL2 SoundTouch
+WANTLIB += boost_atomic-mt boost_charconv-mt boost_chrono-mt
+WANTLIB += boost_container-mt boost_date_time-mt boost_iostreams-mt
+WANTLIB += boost_locale-mt boost_random-mt boost_regex-mt
+WANTLIB += boost_serialization-mt boost_thread-mt c crypto cryptopp
+WANTLIB += enet fmt m openal ssl usb-1.0 xkbcommon
 
 # ffmpeg is loaded via dlopen(3) when dumping recorded gameplay video
 WANTLIB += avcodec avdevice avfilter avformat avutil swresample swscale
@@ -89,7 +88,7 @@ WRKDIST =		${WRKDIR}/${DISTNAME}
 
 CXXFLAGS +=		-I${LOCALBASE}/include
 
-ppost-extract:
+post-extract:
 	rm -r ${WRKSRC}/externals/cryptopp-cmake \
 		${WRKSRC}/externals/dynarmic/externals/catch/src/catch2 \
 		${WRKSRC}/externals/dynarmic/externals/fmt
Index: patches/patch-externals_dynarmic_externals_mcl_include_mcl_mp_typelist_lift_sequence_hpp
===================================================================
RCS file: patches/patch-externals_dynarmic_externals_mcl_include_mcl_mp_typelist_lift_sequence_hpp
diff -N patches/patch-externals_dynarmic_externals_mcl_include_mcl_mp_typelist_lift_sequence_hpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-externals_dynarmic_externals_mcl_include_mcl_mp_typelist_lift_sequence_hpp	11 Aug 2026 01:52:16 -0000
@@ -0,0 +1,16 @@
+- Fix building with LLVM 22
+
+Index: externals/dynarmic/externals/mcl/include/mcl/mp/typelist/lift_sequence.hpp
+--- externals/dynarmic/externals/mcl/include/mcl/mp/typelist/lift_sequence.hpp.orig
++++ externals/dynarmic/externals/mcl/include/mcl/mp/typelist/lift_sequence.hpp
+@@ -15,8 +15,8 @@ namespace detail {
+ template<class VL>
+ struct lift_sequence_impl;
+ 
+-template<class T, template<class, T...> class VLT, T... values>
+-struct lift_sequence_impl<VLT<T, values...>> {
++template<class T, T... values>
++struct lift_sequence_impl<std::integer_sequence<T, values...>> {
+     using type = list<std::integral_constant<T, values>...>;
+ };
+
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.