diff --git a/emulators/yuzu-qt5/Makefile b/emulators/yuzu-qt5/Makefile index 4bf1dce65d16..456d42c3f25d 100644 --- a/emulators/yuzu-qt5/Makefile +++ b/emulators/yuzu-qt5/Makefile @@ -1,10 +1,10 @@ # $FreeBSD$ -PORTREVISION= 2 +PORTREVISION= 0 PKGNAMESUFFIX= -qt5 MASTERDIR= ${.CURDIR}/../yuzu OPTIONS_SLAVE= QT5 .include "${MASTERDIR}/Makefile" diff --git a/emulators/yuzu/Makefile b/emulators/yuzu/Makefile index 7190e4e319ca..d2773104681f 100644 --- a/emulators/yuzu/Makefile +++ b/emulators/yuzu/Makefile @@ -1,97 +1,112 @@ # $FreeBSD$ PORTNAME= yuzu -PORTVERSION= s20201218 -PORTREVISION?= 2 +PORTVERSION= s20210222 +PORTREVISION?= 0 CATEGORIES= emulators PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES+= 905e8016a04e.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/1340 +PATCHFILES+= 09efade03619.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/1340 +PATCHFILES+= 91076a814ff2.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/4836 +PATCHFILES+= ec7337d1da05.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5896 +PATCHFILES+= 4c1e00b7780f.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5896 +PATCHFILES+= 1d703019d37a.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5896 +PATCHFILES+= 96dc85f79b0b.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5896 +PATCHFILES+= 8ab3e2366b32.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5896 +PATCHFILES+= c279e3ad6104.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5896 +PATCHFILES+= 9b429b84617c.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5896 +PATCHFILES+= cc4650cc8a84.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5896 +PATCHFILES+= 4233c859a602.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5896 +PATCHFILES+= c8880a62d365.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5896 +PATCHFILES+= 71526ecfc743.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5984 +PATCHFILES+= 1841ca4b9b7b.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/5984 MAINTAINER= jbeich@FreeBSD.org COMMENT= Nintendo Switch emulator/debugger LICENSE= APACHE20 BSD3CLAUSE GPLv2+ ISCL LGPL21+ LGPL3+ MIT UNLICENSE LICENSE_COMB= multi LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/externals/inih/inih/LICENSE.txt LICENSE_FILE_GPLv2+ = ${WRKSRC}/license.txt LICENSE_FILE_ISCL= ${WRKSRC}/externals/cubeb/LICENSE LICENSE_FILE_LGPL21+ = ${_LICENSE_STORE}/LGPL21 # soundtouch LICENSE_FILE_LGPL3+ = ${_LICENSE_STORE}/LGPL3 # sirit LICENSE_FILE_MIT= ${WRKSRC}/externals/sirit/externals/SPIRV-Headers/LICENSE ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 ONLY_FOR_ARCHS_REASON= requires int128 BUILD_DEPENDS= catch>0:devel/catch \ - nlohmann-json>0:devel/nlohmann-json + nlohmann-json>0:devel/nlohmann-json \ + glslangValidator:graphics/glslang LIB_DEPENDS= liblz4.so:archivers/liblz4 \ libzstd.so:archivers/zstd \ libopus.so:audio/opus \ libboost_context.so:devel/boost-libs \ - libfmt.so:devel/libfmt \ libavcodec.so:multimedia/ffmpeg USE_GITHUB= yes GH_ACCOUNT= yuzu-emu -GH_TAGNAME= 0b47f7a46 +GH_TAGNAME= ae876ed04 GH_TUPLE= DarkLordZach:mbedtls:a280e60:mbedtls/externals/mbedtls \ KhronosGroup:SPIRV-Headers:2c51218:SPIRV_Headers/externals/sirit/externals/SPIRV-Headers \ KhronosGroup:Vulkan-Headers:v1.2.145:Vulkan_Headers/externals/Vulkan-Headers \ - MerryMage:dynarmic:r3-242-g0e1112b7:dynarmic/externals/dynarmic \ + MerryMage:dynarmic:r4-106-gcafa6876:dynarmic/externals/dynarmic \ ReinUsesLisp:sirit:eefca56:sirit/externals/sirit \ arsenm:sanitizers-cmake:aab6948:sanitizers_cmake/externals/cubeb/cmake/sanitizers-cmake \ citra-emu:ext-soundtouch:060181e:soundtouch/externals/soundtouch \ + fmtlib:fmt:7.1.2:fmt/externals/fmt \ herumi:xbyak:v5.96:xbyak/externals/xbyak \ nih-at:libzip:rel-1-5-2-93-g89bd6d63:libzip/externals/libzip/libzip \ kinetiknz:cubeb:cubeb-0.2-1298-g8d53747:cubeb/externals/cubeb \ benhoyt:inih:r52:inih/externals/inih/inih USES= cmake compiler:c++17-lang localbase:ldflags sdl ssl +USE_GCC= yes:build # libc++ lacks std::atomic_ref, std::ranges USE_SDL= sdl2 CMAKE_OFF= ENABLE_GNUTLS ENABLE_MBEDTLS +LDFLAGS+= -static-libstdc++ # avoid libc++ conflict, requires files/patch-fmt LDFLAGS+= -Wl,--as-needed # Qt5Network TEST_TARGET= test OPTIONS_DEFINE= ALSA PULSEAUDIO JACK SNDIO VULKAN OPTIONS_DEFAULT=PULSEAUDIO JACK SNDIO VULKAN OPTIONS_MULTI= GUI OPTIONS_MULTI_GUI= QT5 SDL OPTIONS_SLAVE?= SDL OPTIONS_EXCLUDE:= ${OPTIONS_MULTI_GUI} ALSA_BUILD_DEPENDS= alsa-lib>0:audio/alsa-lib ALSA_CMAKE_BOOL= USE_ALSA JACK_BUILD_DEPENDS= jackit>0:audio/jack JACK_CMAKE_BOOL= USE_JACK PULSEAUDIO_BUILD_DEPENDS=pulseaudio>0:audio/pulseaudio PULSEAUDIO_CMAKE_BOOL= USE_PULSE SNDIO_BUILD_DEPENDS= sndio>0:audio/sndio SNDIO_CMAKE_BOOL= USE_SNDIO SDL_CMAKE_BOOL= ENABLE_SDL2 -SDL_PLIST_FILES=bin/${PORTNAME}-cmd \ - bin/${PORTNAME}-tester +SDL_PLIST_FILES=bin/${PORTNAME}-cmd QT5_USES= desktop-file-utils qt:5 shared-mime-info QT5_USE= QT=qmake_build,buildtools_build,linguisttools_build,concurrent_build,core,gui,webengine,widgets QT5_CMAKE_BOOL= ENABLE_QT ENABLE_QT_TRANSLATION YUZU_USE_QT_WEB_ENGINE QT5_PLIST_FILES=bin/${PORTNAME} \ share/applications/${PORTNAME}.desktop \ share/icons/hicolor/scalable/apps/${PORTNAME}.svg \ share/mime/packages/${PORTNAME}.xml VULKAN_DESC= Vulkan renderer VULKAN_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader post-patch: @${REINPLACE_CMD} -e '/check_submodules_present()/d' \ ${WRKSRC}/CMakeLists.txt @${REINPLACE_CMD} -e 's/@GIT_BRANCH@/master/' \ -e 's/@GIT_DESC@/${GH_TAGNAME}/' \ ${WRKSRC}/src/common/scm_rev.cpp.in .include diff --git a/emulators/yuzu/distinfo b/emulators/yuzu/distinfo index 8c720309286a..41b9873a53a7 100644 --- a/emulators/yuzu/distinfo +++ b/emulators/yuzu/distinfo @@ -1,27 +1,55 @@ -TIMESTAMP = 1608278232 -SHA256 (yuzu-emu-yuzu-s20201218-0b47f7a46_GH0.tar.gz) = be57025587658949cfc5a7584014c7eea2785012fc82b1ff23a64395d1383bb9 -SIZE (yuzu-emu-yuzu-s20201218-0b47f7a46_GH0.tar.gz) = 4062898 +TIMESTAMP = 1613995950 +SHA256 (yuzu-emu-yuzu-s20210222-ae876ed04_GH0.tar.gz) = 116099a9c7766a5d9d756ed9db8460ffe09e74a2b3d72713901f8a5eda73ff69 +SIZE (yuzu-emu-yuzu-s20210222-ae876ed04_GH0.tar.gz) = 3575796 SHA256 (DarkLordZach-mbedtls-a280e60_GH0.tar.gz) = 4fc6ddc256bc75b975fd5ad8bb7d31ff79c62d49daafb0108585c9ef80c6c5a7 SIZE (DarkLordZach-mbedtls-a280e60_GH0.tar.gz) = 2283313 SHA256 (KhronosGroup-SPIRV-Headers-2c51218_GH0.tar.gz) = 08f70947b69e17c7e322156adcd471cf02b4b3f63e7baf8ee0f02d32603ac5ff SIZE (KhronosGroup-SPIRV-Headers-2c51218_GH0.tar.gz) = 280829 SHA256 (KhronosGroup-Vulkan-Headers-v1.2.145_GH0.tar.gz) = c8656969f0dc33f5f544b9449f02d66b7c9de67e6e58376c1cd4999694ab8517 SIZE (KhronosGroup-Vulkan-Headers-v1.2.145_GH0.tar.gz) = 766896 -SHA256 (MerryMage-dynarmic-r3-242-g0e1112b7_GH0.tar.gz) = f552cb543bd8937dc145a780e6a11925f510b90b6fe281db44de93e74db07654 -SIZE (MerryMage-dynarmic-r3-242-g0e1112b7_GH0.tar.gz) = 1646910 +SHA256 (MerryMage-dynarmic-r4-106-gcafa6876_GH0.tar.gz) = 80ac3c503a56e4b66f5482ee579114e3b859c2d57dd6cf16c78bd25635571f82 +SIZE (MerryMage-dynarmic-r4-106-gcafa6876_GH0.tar.gz) = 1677235 SHA256 (ReinUsesLisp-sirit-eefca56_GH0.tar.gz) = cc95e8155e14e596526c378d0a3cc2bb4bfe7da68773a79f224d48f89b20685a SIZE (ReinUsesLisp-sirit-eefca56_GH0.tar.gz) = 22035 SHA256 (arsenm-sanitizers-cmake-aab6948_GH0.tar.gz) = d9009e17948aff769a6f6e16b52d4d8752c5cc2cab1e9c381d3a31fd1a680b58 SIZE (arsenm-sanitizers-cmake-aab6948_GH0.tar.gz) = 7240 SHA256 (citra-emu-ext-soundtouch-060181e_GH0.tar.gz) = a593ab188e4feaeef8376c27b554cc413986efc777c195e44c6d3d223de9a63c SIZE (citra-emu-ext-soundtouch-060181e_GH0.tar.gz) = 59514 +SHA256 (fmtlib-fmt-7.1.2_GH0.tar.gz) = 4119a1c34dff91631e1d0a3707428f764f1ea22fe3cd5e70af5b4ccd5513831c +SIZE (fmtlib-fmt-7.1.2_GH0.tar.gz) = 769401 SHA256 (herumi-xbyak-v5.96_GH0.tar.gz) = 727f15d3ed786cae255ebfed1829a84a357c0e4856c6304456d77f1b56c3d2c6 SIZE (herumi-xbyak-v5.96_GH0.tar.gz) = 226999 SHA256 (nih-at-libzip-rel-1-5-2-93-g89bd6d63_GH0.tar.gz) = 63050daee06c5bcf0f8fd82103e3e84e83772f3a646f42bfa3851afc7aca4ce1 SIZE (nih-at-libzip-rel-1-5-2-93-g89bd6d63_GH0.tar.gz) = 1211650 SHA256 (kinetiknz-cubeb-cubeb-0.2-1298-g8d53747_GH0.tar.gz) = b5cd93de1ca5c9810594a8ec9ac4a3f7c0014cb5d90827034839405a82553fba SIZE (kinetiknz-cubeb-cubeb-0.2-1298-g8d53747_GH0.tar.gz) = 218055 SHA256 (benhoyt-inih-r52_GH0.tar.gz) = 439cff9ce9a8afc52d08772ac3e93b3cecd79c7707f871fb4534fb3a48201880 SIZE (benhoyt-inih-r52_GH0.tar.gz) = 16808 -SHA256 (905e8016a04e.patch) = cecc02f098917ee236ace0a350f37a9ffbb4aae92232f6c105a520476f7b23b5 -SIZE (905e8016a04e.patch) = 2545 +SHA256 (09efade03619.patch) = 096e4ed92b58e788be04766774b8eedc958d490fd5df35e51a239253ca1f8180 +SIZE (09efade03619.patch) = 2551 +SHA256 (91076a814ff2.patch) = 6060de2a8ae4fb5f3f244daccc42d3bce7d6ee42918234f1f2720ac36f12cb6b +SIZE (91076a814ff2.patch) = 10992 +SHA256 (ec7337d1da05.patch) = fc6f8cc5fe86ed588d9d4115da88cc16c04a2a7fbcea851486f33c334cae3a24 +SIZE (ec7337d1da05.patch) = 5944 +SHA256 (4c1e00b7780f.patch) = 5520cdfc27951b72661ab7777e9cc6b551d8f30e6f9ec22e4544b25eab367c83 +SIZE (4c1e00b7780f.patch) = 11749 +SHA256 (1d703019d37a.patch) = 2b578d68cd96416c13f073238628691f63abecf6d2e6ab906d293062799075ca +SIZE (1d703019d37a.patch) = 6472 +SHA256 (96dc85f79b0b.patch) = bdd39790b87ae771d94e03be730ac17db69427fa538d84724e555f4149b77e29 +SIZE (96dc85f79b0b.patch) = 21980 +SHA256 (8ab3e2366b32.patch) = d4cb57b295840b0a6553dec300acbaa40c212bd235481bfefac78e5ca855645a +SIZE (8ab3e2366b32.patch) = 11925 +SHA256 (c279e3ad6104.patch) = 528ae5a9f06f06116863dae30918ea471a98522515ba43248ff53cbbf33d766e +SIZE (c279e3ad6104.patch) = 6679 +SHA256 (9b429b84617c.patch) = 69b45a549a7b584276a6592c19f8434bde8b06173d93435c5c467995141678d4 +SIZE (9b429b84617c.patch) = 3670 +SHA256 (cc4650cc8a84.patch) = 48b09c977205f7107c4f26aae0a76797dc4702ab4a6af7db961d7cbad025d81f +SIZE (cc4650cc8a84.patch) = 4700 +SHA256 (4233c859a602.patch) = 1ceafe906bc4a70f54450c3c80eafb0f443fe3165a232770c94a0a0f961352ac +SIZE (4233c859a602.patch) = 6093 +SHA256 (c8880a62d365.patch) = f0873e838ac50206850d3673712a7d25d187003ff280f02379d5e23ead90221c +SIZE (c8880a62d365.patch) = 4616 +SHA256 (71526ecfc743.patch) = 0566bbe52e35aeb1e842f57831ef510b22de5e36eb6b8eeb3a5d666bd6113d1b +SIZE (71526ecfc743.patch) = 1674 +SHA256 (1841ca4b9b7b.patch) = 47f52e7538c18d6b6c6e3b8929cb3a0231a0ab648f8f5532403750b13d3f1628 +SIZE (1841ca4b9b7b.patch) = 1570 diff --git a/emulators/yuzu/files/patch-fmt b/emulators/yuzu/files/patch-fmt new file mode 100644 index 000000000000..d57b3cdc7856 --- /dev/null +++ b/emulators/yuzu/files/patch-fmt @@ -0,0 +1,72 @@ +Partially revert https://github.com/yuzu-emu/yuzu/commit/bc30a591ba72 + +/usr/local/bin/ld: src/yuzu/CMakeFiles/yuzu.dir/about_dialog.cpp.o: in function `AboutDialog::AboutDialog(QWidget*)': +about_dialog.cpp:(.text+0x3d3): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: src/yuzu/CMakeFiles/yuzu.dir/applets/web_browser.cpp.o: in function `QtNXWebEngineView::LoadExtractedFonts()': +web_browser.cpp:(.text+0x14e7): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: src/yuzu/CMakeFiles/yuzu.dir/configuration/config.cpp.o: in function `Config::Initialize(std::__cxx11::basic_string, std::allocator > const&)': +config.cpp:(.text+0x11064): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: config.cpp:(.text+0x111cc): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: config.cpp:(.text+0x1136c): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: src/yuzu/CMakeFiles/yuzu.dir/configuration/configure_per_game.cpp.o:configure_per_game.cpp:(.text+0x1348): more undefined references to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' follow +/usr/local/bin/ld: src/core/libcore.a(core.cpp.o): in function `void fmt::v7::detail::format_value(fmt::v7::detail::buffer&, Loader::ResultStatus const&, fmt::v7::detail::locale_ref)': +core.cpp:(.text._ZN3fmt2v76detail12format_valueIcN6Loader12ResultStatusEEEvRNS1_6bufferIT_EERKT0_NS1_10locale_refE[_ZN3fmt2v76detail12format_valueIcN6Loader12ResultStatusEEEvRNS1_6bufferIT_EERKT0_NS1_10locale_refE]+0x10f): undefined reference to `std::locale fmt::v7::detail::locale_ref::get() const' +/usr/local/bin/ld: src/core/libcore.a(key_manager.cpp.o): in function `Core::Crypto::KeyManager::SetKey(Core::Crypto::S128KeyType, std::array, unsigned long, unsigned long)': +key_manager.cpp:(.text+0x6d22): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: key_manager.cpp:(.text+0x6e8f): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: key_manager.cpp:(.text+0x6fc1): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: key_manager.cpp:(.text+0x7057): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: key_manager.cpp:(.text+0x709d): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: src/core/libcore.a(key_manager.cpp.o):key_manager.cpp:(.text+0x70e3): more undefined references to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' follow +/usr/local/bin/ld: src/core/libcore.a(boxcat.cpp.o): in function `void fmt::v7::detail::value, char> >::format_custom_arg >(void const*, fmt::v7::basic_format_parse_context&, fmt::v7::basic_format_context, char>&)': +boxcat.cpp:(.text+0x4492): undefined reference to `std::locale fmt::v7::detail::locale_ref::get() const' +/usr/local/bin/ld: src/core/libcore.a(boxcat.cpp.o): in function `Service::BCAT::Boxcat::Client::DownloadInternal(std::__cxx11::basic_string, std::allocator > const&, unsigned int, std::__cxx11::basic_string, std::allocator > const&)': +boxcat.cpp:(.text+0x4fc4): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: src/core/libcore.a(boxcat.cpp.o): in function `Service::BCAT::SynchronizeInternal(Service::AM::Applets::AppletManager&, std::function (unsigned long)>, Service::BCAT::TitleIDVersion, Service::BCAT::ProgressServiceBackend&, std::optional, std::allocator > >)': +boxcat.cpp:(.text+0x5c80): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: boxcat.cpp:(.text+0x5d4b): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: src/core/libcore.a(boxcat.cpp.o): in function `Service::BCAT::Boxcat::GetLaunchParameter(Service::BCAT::TitleIDVersion)': +boxcat.cpp:(.text+0x6e98): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: boxcat.cpp:(.text+0x70ac): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: src/core/libcore.a(bis_factory.cpp.o):bis_factory.cpp:(.text+0xacf): more undefined references to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' follow +/usr/local/bin/ld: externals/dynarmic/src/libdynarmic.a(basic_block.cpp.o): in function `void fmt::v7::detail::format_value(fmt::v7::detail::buffer&, Dynarmic::IR::LocationDescriptor const&, fmt::v7::detail::locale_ref)': +basic_block.cpp:(.text._ZN3fmt2v76detail12format_valueIcN8Dynarmic2IR18LocationDescriptorEEEvRNS1_6bufferIT_EERKT0_NS1_10locale_refE[_ZN3fmt2v76detail12format_valueIcN8Dynarmic2IR18LocationDescriptorEEEvRNS1_6bufferIT_EERKT0_NS1_10locale_refE]+0x10f): undefined reference to `std::locale fmt::v7::detail::locale_ref::get() const' +/usr/local/bin/ld: externals/dynarmic/src/libdynarmic.a(location_descriptor.cpp.o): in function `Dynarmic::IR::operator<<(std::ostream&, Dynarmic::IR::LocationDescriptor const&)': +location_descriptor.cpp:(.text+0x37): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: externals/dynarmic/src/libdynarmic.a(a32_emit_x64.cpp.o): in function `Dynarmic::Backend::X64::A32EmitX64::LocationDescriptorToFriendlyName[abi:cxx11](Dynarmic::IR::LocationDescriptor const&) const': +a32_emit_x64.cpp:(.text+0x69c): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: externals/dynarmic/src/libdynarmic.a(a32_emit_x64.cpp.o): in function `Dynarmic::Backend::X64::A32EmitX64::GenFastmemFallbacks()': +a32_emit_x64.cpp:(.text+0x4f76): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: a32_emit_x64.cpp:(.text+0x5366): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: externals/dynarmic/src/libdynarmic.a(a64_emit_x64.cpp.o): in function `Dynarmic::Backend::X64::A64EmitX64::LocationDescriptorToFriendlyName[abi:cxx11](Dynarmic::IR::LocationDescriptor const&) const': +a64_emit_x64.cpp:(.text+0x65): undefined reference to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' +/usr/local/bin/ld: externals/dynarmic/src/libdynarmic.a(a64_emit_x64.cpp.o):a64_emit_x64.cpp:(.text+0x533d): more undefined references to `fmt::v7::detail::vformat[abi:cxx11](fmt::v7::basic_string_view, fmt::v7::format_args)' follow +/usr/local/bin/ld: externals/dynarmic/src/libdynarmic.a(microinstruction.cpp.o): in function `void fmt::v7::detail::format_value(fmt::v7::detail::buffer&, Dynarmic::IR::Opcode const&, fmt::v7::detail::locale_ref)': +microinstruction.cpp:(.text._ZN3fmt2v76detail12format_valueIcN8Dynarmic2IR6OpcodeEEEvRNS1_6bufferIT_EERKT0_NS1_10locale_refE[_ZN3fmt2v76detail12format_valueIcN8Dynarmic2IR6OpcodeEEEvRNS1_6bufferIT_EERKT0_NS1_10locale_refE]+0x10f): undefined reference to `std::locale fmt::v7::detail::locale_ref::get() const' +/usr/local/bin/ld: externals/dynarmic/src/libdynarmic.a(microinstruction.cpp.o): in function `void fmt::v7::detail::format_value(fmt::v7::detail::buffer&, Dynarmic::IR::Type const&, fmt::v7::detail::locale_ref)': +microinstruction.cpp:(.text._ZN3fmt2v76detail12format_valueIcN8Dynarmic2IR4TypeEEEvRNS1_6bufferIT_EERKT0_NS1_10locale_refE[_ZN3fmt2v76detail12format_valueIcN8Dynarmic2IR4TypeEEEvRNS1_6bufferIT_EERKT0_NS1_10locale_refE]+0x10f): undefined reference to `std::locale fmt::v7::detail::locale_ref::get() const' +collect2: error: ld returned 1 exit status + +--- CMakeLists.txt.orig 2021-02-22 04:23:45 UTC ++++ CMakeLists.txt +@@ -165,7 +165,6 @@ macro(yuzu_find_packages) + set(REQUIRED_LIBS + # Cmake Pkg Prefix Version Conan Pkg + "Catch2 2.13 catch2/2.13.0" +- "fmt 7.1 fmt/7.1.2" + # can't use until https://github.com/bincrafters/community/issues/1173 + #"libzip 1.5 libzip/1.5.2@bincrafters/stable" + "lz4 1.8 lz4/1.9.2" +--- externals/CMakeLists.txt.orig 2021-02-22 04:23:45 UTC ++++ externals/CMakeLists.txt +@@ -15,6 +15,10 @@ endif() + add_library(catch-single-include INTERFACE) + target_include_directories(catch-single-include INTERFACE catch/single_include) + ++# libfmt ++add_subdirectory(fmt) ++add_library(fmt::fmt ALIAS fmt) ++ + # Dynarmic + if (ARCHITECTURE_x86_64) + set(DYNARMIC_TESTS OFF)