From 83e3441f1a8541e78d4dd0855d4cf5411789d65c Mon Sep 17 00:00:00 2001 From: sukanka Date: Fri, 4 Apr 2025 14:53:16 +0800 Subject: [PATCH 1/5] add citron-git --- archlinuxcn/citron-git/PKGBUILD | 127 ++++++++++++++++++++++++++++++ archlinuxcn/citron-git/lilac.yaml | 28 +++++++ 2 files changed, 155 insertions(+) create mode 100644 archlinuxcn/citron-git/PKGBUILD create mode 100644 archlinuxcn/citron-git/lilac.yaml diff --git a/archlinuxcn/citron-git/PKGBUILD b/archlinuxcn/citron-git/PKGBUILD new file mode 100644 index 000000000000..2d778c698bca --- /dev/null +++ b/archlinuxcn/citron-git/PKGBUILD @@ -0,0 +1,127 @@ +# Maintainer: username227 +_pkgname=Citron +pkgname=${_pkgname,,}-git +pkgver=0.6.1.canary.refresh.r14 +pkgrel=1 +pkgdesc="Nintendo Switch emulator forked from yuzu" +arch=(x86_64) +url=https://git.citron-emu.org/Citron/Citron +license=(GPL-3.0-or-later) +provides=('citron') +conflicts=('citron') +depends=('boost-libs' 'hicolor-icon-theme' 'sdl2' 'qt6-base' 'qt6-webengine' 'fmt' 'opus' 'lz4' 'openssl' 'zstd' + 'cubeb' 'enet' 'discord-rpc' 'cpp-httplib' 'enet' + 'dynarmic' +) +makedepends=('llvm' 'git' 'glslang' 'cmake' + 'xbyak' + # 'mbedtls' + 'qt6-tools' 'qt6-multimedia' 'libxkbcommon-x11' 'libzip' 'libfdk-aac' 'libinih' + 'vulkan-memory-allocator' 'vulkan-utility-libraries' 'ninja' 'graphviz' 'doxygen' 'boost' 'catch2' 'nlohmann-json' 'rapidjson' 'desktop-file-utils' 'robin-map' 'cpp-jwt' 'vulkan-headers' 'spirv-headers' 'dos2unix' 'clang' 'python' 'renderdoc' 'gamemode' 'perl' 'yasm' 'python-jsonschema' 'python-jinja') +optdepends=('qt6-wayland: for Wayland support') +source=( + git+${url}.git + git+https://github.com/yuzu-mirror/sirit.git#commit=ab75463 + git+https://github.com/yuzu-mirror/mbedtls.git#commit=8c88150 + ffmpeg::git+https://github.com/FFmpeg/FFmpeg.git#commit=99e2af4e78 + git+https://github.com/brofield/simpleini.git#commit=6048871ea9 + "https://github.com/lat9nq/tzdb_to_nx/releases/download/221202/221202.zip" +) +noextract=('221202.zip') +b2sums=('SKIP' + '91e4cd03d67c930b6d751ca19cf6fbaaba86084412bd13b172186387ea27b461457a3e19bc0af315c807839e64f91c865298678af748e2d6e07df2abc85430ed' + '6198d4eea1f6618d4bed5fc3e6103245d42080a1b7a327ae566c6cae609fde64819c8b67284ec6a79ad42afb1c07bb809411f9277ea3e03325ef1ddfa181c2d1' + 'ebc933862e140d108fa13328f8c4a6a3dbdf2a2155fbe9318c950fea2a700d0e64a646dcc96e9b54a68c2f261b1b2b12587a7fe0fc2490566e370a76a1470fc2' + 'fae42bb13f180ab991f6bfc8a45ea3df08ced1d77db77f54cf5a222f93ea468bd6fc0d36d65f9f3739e9813d77dbae31931948dc9afa28e884c53b8128c13c94' + '7bd0ff5ca80cf560344ae7edbfeb7c9466c096dc499a7348276cff5d30aa07464f7e2ea391ca9cedac0e21ba6f563169a8b38f2df729a230a0acfb1125ea1b66') +pkgver() { + cd "$srcdir/$_pkgname" + git describe --long --abbrev=7 --tags | sed 's/\([^-]*\)-g.*/r\1/;s/-/./g;s/^v//g' +} + +prepare() { + local submods=( + sirit + simpleini + mbedtls + ) + + for pro in ${submods[@]}; do + if [ -d $srcdir/$_pkgname/externals/${pro} ]; then + cp -rf ${srcdir}/${pro}/* $srcdir/$_pkgname/externals/${pro} + else + cp -rf ${srcdir}/${pro} $srcdir/$_pkgname/externals/${pro} + fi + done + + cp -rf ffmpeg/* $srcdir/$_pkgname/externals/ffmpeg/ffmpeg + cd $srcdir/$_pkgname + sed -i CMakeLists.txt \ + -e '/-DBOOST_ASIO_DISABLE_CONCEPTS/d' \ + -e 's/1.4.307/1.4.304/g' \ + -e '/target_compile_options/d' \ + -e '/add_subdirectory(externals)/d' \ + -e 's|^add\_subdirectory(src)|add_subdirectory(externals)\n add_subdirectory(src)#|g' + sed -i src/CMakeLists.txt \ + -e 's|-Werror=shadow$|-Wno-error=shadow|g' \ + -e 's|-Werror=unused$|-Wno-error=unused|g' + + sed -i src/video_core/host_shaders/CMakeLists.txt \ + -e 's/--quiet //g' \ + -e 's#${SPIRV_HEADER_FILE} ${SOURCE_FILE}#${SPIRV_HEADER_FILE} ${SOURCE_FILE} 2>/dev/null#g' + sed -i -e 's| (%2)||' src/${_pkgname,,}/aboutdialog.ui + sed -i -e 's|io_service|io_context|g' src/input_common/drivers/udp_client.cpp src/tests/input_common/calibration_configuration_job.cpp + sed -i -e 's|u64|std::uint64_t|g' src/citron/discord_impl.h + sed -i -e "s|https://github.com/lat9nq/tzdb_to_nx/releases/download/\${NX_TZDB_VERSION}|file://${srcdir}|g" externals/nx_tzdb/CMakeLists.txt + + perl -0777 -i.original -pe 's/(\s*target_compile_options\(video_core PRIVATE\s*-Wno-sign-conversion)/$1\n -msse4.1/igs' src/video_core/CMakeLists.txt + + # see dynarmic 6.7.0 changelog + sed -i src/core/arm/dynarmic/arm_dynarmic_{32,64}.cpp \ + -e '/fastmem_pointer/s/nullptr/std::nullopt/g' \ + -e 's|page_table->fastmem_arena;|(page_table->fastmem_arena != nullptr) ? std::optional{reinterpret_cast(page_table->fastmem_arena)} : std::nullopt;|g' +} + +build() { + export CC=clang + export CXX=clang++ + + local cmake_args=( + -GNinja + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON + -DTITLE_BAR_FORMAT_IDLE="$_pkgname $pkgver" + -DTITLE_BAR_FORMAT_RUNNING="$_pkgname $pkgver | {3}" + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_BUILD_TYPE=Release + -DCITRON_ENABLE_COMPATIBILITY_REPORTING=OFF + -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF + -DCITRON_USE_QT_WEB_ENGINE=ON + -DUSE_DISCORD_PRESENCE=ON + -DENABLE_QT_TRANSLATION=ON + -DCITRON_USE_BUNDLED_FFMPEG=OFF + -DCITRON_USE_BUNDLED_QT=OFF + -DCITRON_USE_EXTERNAL_SDL2=OFF + -DCITRON_CHECK_SUBMODULES=OFF + -DCITRON_USE_EXTERNAL_VULKAN_HEADERS=OFF + -DCITRON_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES=OFF + -DCITRON_USE_FASTER_LD=OFF + -DCITRON_USE_PRECOMPILED_HEADERS=OFF + -DCITRON_USE_QT_MULTIMEDIA=ON + # download timezone data from our zip file. + -DCITRON_DOWNLOAD_TIME_ZONE_DATA=ON + -DCITRON_TESTS=OFF + -DSIRIT_USE_SYSTEM_SPIRV_HEADERS=ON + -DUSE_SYSTEM_QT=ON + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 + ) + install -d build + cmake -S ${_pkgname} -B build "${cmake_args[@]}" + ninja -C build + +} + +package() { + install -Dm644 $srcdir/${_pkgname}/dist/72-${_pkgname,,}-input.rules -t ${pkgdir}/usr/lib/udev/rules.d/ + DESTDIR="$pkgdir/" ninja -C $srcdir/build install + +} diff --git a/archlinuxcn/citron-git/lilac.yaml b/archlinuxcn/citron-git/lilac.yaml new file mode 100644 index 000000000000..b01ff570d35f --- /dev/null +++ b/archlinuxcn/citron-git/lilac.yaml @@ -0,0 +1,28 @@ +# This file is auto-generated by n2y + +maintainers: + - github: sukanka + email: su975853527@gmail.com + +build_prefix: extra-x86_64 + +pre_build: vcs_update + +post_build: git_pkgbuild_commit + +repo_depends: + - discord-rpc-git + - cubeb-git + - cpp-httplib + - cpp-jwt + - vulkan-memory-allocator-git + +update_on: + - source: alpm + alpm: fmt + repo: extra + - source: alpm + alpm: openssl + - alias: boost + - source: vcs + vcs: git+https://git.citron-emu.org/Citron/Citron.git From 91bd7941aaed7886a4f310882cbb9cfa3838b218 Mon Sep 17 00:00:00 2001 From: sukanka Date: Fri, 4 Apr 2025 18:58:10 +0800 Subject: [PATCH 2/5] add missing repo depends --- archlinuxcn/citron-git/lilac.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/archlinuxcn/citron-git/lilac.yaml b/archlinuxcn/citron-git/lilac.yaml index b01ff570d35f..172e5981c08e 100644 --- a/archlinuxcn/citron-git/lilac.yaml +++ b/archlinuxcn/citron-git/lilac.yaml @@ -16,6 +16,8 @@ repo_depends: - cpp-httplib - cpp-jwt - vulkan-memory-allocator-git + - xbyak + - dynarmic update_on: - source: alpm From 3ee3c1ae930a9b245d3c21f6f45182455f902ec3 Mon Sep 17 00:00:00 2001 From: sukanka Date: Fri, 4 Apr 2025 22:00:59 +0800 Subject: [PATCH 3/5] citron-git: add xbyak back. otherwise we will get runtime error --- archlinuxcn/citron-git/PKGBUILD | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/archlinuxcn/citron-git/PKGBUILD b/archlinuxcn/citron-git/PKGBUILD index 2d778c698bca..e28adac6c221 100644 --- a/archlinuxcn/citron-git/PKGBUILD +++ b/archlinuxcn/citron-git/PKGBUILD @@ -9,20 +9,20 @@ url=https://git.citron-emu.org/Citron/Citron license=(GPL-3.0-or-later) provides=('citron') conflicts=('citron') -depends=('boost-libs' 'hicolor-icon-theme' 'sdl2' 'qt6-base' 'qt6-webengine' 'fmt' 'opus' 'lz4' 'openssl' 'zstd' - 'cubeb' 'enet' 'discord-rpc' 'cpp-httplib' 'enet' - 'dynarmic' -) +depends=('boost-libs' 'hicolor-icon-theme' 'sdl2' 'qt6-base' 'qt6-webengine' 'fmt' 'opus' 'lz4' 'openssl' 'zstd' 'cubeb' 'enet' 'discord-rpc' 'cpp-httplib' 'dynarmic') makedepends=('llvm' 'git' 'glslang' 'cmake' - 'xbyak' - # 'mbedtls' + # 'xbyak' 'mbedtls' + # with xbyak we got the runtime err: terminate called after throwing an instance of 'Xbyak::Error' what(): bad size of register 'qt6-tools' 'qt6-multimedia' 'libxkbcommon-x11' 'libzip' 'libfdk-aac' 'libinih' - 'vulkan-memory-allocator' 'vulkan-utility-libraries' 'ninja' 'graphviz' 'doxygen' 'boost' 'catch2' 'nlohmann-json' 'rapidjson' 'desktop-file-utils' 'robin-map' 'cpp-jwt' 'vulkan-headers' 'spirv-headers' 'dos2unix' 'clang' 'python' 'renderdoc' 'gamemode' 'perl' 'yasm' 'python-jsonschema' 'python-jinja') + 'vulkan-memory-allocator' 'vulkan-utility-libraries' + 'ninja' 'graphviz' 'doxygen' 'boost' 'catch2' 'nlohmann-json' 'rapidjson' 'robin-map' 'cpp-jwt' 'vulkan-headers' 'spirv-headers' 'clang' 'python' 'renderdoc' + 'gamemode' 'perl' 'yasm' 'python-jsonschema' 'python-jinja') optdepends=('qt6-wayland: for Wayland support') source=( git+${url}.git git+https://github.com/yuzu-mirror/sirit.git#commit=ab75463 git+https://github.com/yuzu-mirror/mbedtls.git#commit=8c88150 + git+https://github.com/herumi/xbyak.git#commit=a1ac3750f9 ffmpeg::git+https://github.com/FFmpeg/FFmpeg.git#commit=99e2af4e78 git+https://github.com/brofield/simpleini.git#commit=6048871ea9 "https://github.com/lat9nq/tzdb_to_nx/releases/download/221202/221202.zip" @@ -31,6 +31,7 @@ noextract=('221202.zip') b2sums=('SKIP' '91e4cd03d67c930b6d751ca19cf6fbaaba86084412bd13b172186387ea27b461457a3e19bc0af315c807839e64f91c865298678af748e2d6e07df2abc85430ed' '6198d4eea1f6618d4bed5fc3e6103245d42080a1b7a327ae566c6cae609fde64819c8b67284ec6a79ad42afb1c07bb809411f9277ea3e03325ef1ddfa181c2d1' + '10564f981204fe52c4c737a5c98ff4431e156ea0936355ee999656b7564329531fe832dfbf742642c33fbb86ab95b2a082dcd9415ef91b9089e282f535f10057' 'ebc933862e140d108fa13328f8c4a6a3dbdf2a2155fbe9318c950fea2a700d0e64a646dcc96e9b54a68c2f261b1b2b12587a7fe0fc2490566e370a76a1470fc2' 'fae42bb13f180ab991f6bfc8a45ea3df08ced1d77db77f54cf5a222f93ea468bd6fc0d36d65f9f3739e9813d77dbae31931948dc9afa28e884c53b8128c13c94' '7bd0ff5ca80cf560344ae7edbfeb7c9466c096dc499a7348276cff5d30aa07464f7e2ea391ca9cedac0e21ba6f563169a8b38f2df729a230a0acfb1125ea1b66') @@ -44,6 +45,7 @@ prepare() { sirit simpleini mbedtls + xbyak ) for pro in ${submods[@]}; do From 66c1ac43881b17dffa57846e3800a6e43b0d4fb4 Mon Sep 17 00:00:00 2001 From: sukanka Date: Sat, 5 Apr 2025 17:22:18 +0800 Subject: [PATCH 4/5] citron-git: use system ffmpeg and mbedtls, and clean dependencies --- archlinuxcn/citron-git/PKGBUILD | 60 ++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/archlinuxcn/citron-git/PKGBUILD b/archlinuxcn/citron-git/PKGBUILD index e28adac6c221..732e666d4345 100644 --- a/archlinuxcn/citron-git/PKGBUILD +++ b/archlinuxcn/citron-git/PKGBUILD @@ -1,7 +1,8 @@ # Maintainer: username227 _pkgname=Citron +_xbyak_tag=7.24.2 pkgname=${_pkgname,,}-git -pkgver=0.6.1.canary.refresh.r14 +pkgver=0.6.1.canary.refresh.r15 pkgrel=1 pkgdesc="Nintendo Switch emulator forked from yuzu" arch=(x86_64) @@ -9,30 +10,37 @@ url=https://git.citron-emu.org/Citron/Citron license=(GPL-3.0-or-later) provides=('citron') conflicts=('citron') -depends=('boost-libs' 'hicolor-icon-theme' 'sdl2' 'qt6-base' 'qt6-webengine' 'fmt' 'opus' 'lz4' 'openssl' 'zstd' 'cubeb' 'enet' 'discord-rpc' 'cpp-httplib' 'dynarmic') -makedepends=('llvm' 'git' 'glslang' 'cmake' - # 'xbyak' 'mbedtls' - # with xbyak we got the runtime err: terminate called after throwing an instance of 'Xbyak::Error' what(): bad size of register +depends=('boost-libs' 'hicolor-icon-theme' 'sdl2' 'qt6-base' 'qt6-webengine' 'fmt' 'opus' 'lz4' + 'openssl' 'zstd' 'cubeb' 'enet' 'discord-rpc' 'cpp-httplib' 'dynarmic' 'mbedtls2' 'ffmpeg' +) +makedepends=('llvm' 'git' 'glslang' 'cmake' 'ninja' 'perl' 'clang' 'qt6-tools' 'qt6-multimedia' 'libxkbcommon-x11' 'libzip' 'libfdk-aac' 'libinih' - 'vulkan-memory-allocator' 'vulkan-utility-libraries' - 'ninja' 'graphviz' 'doxygen' 'boost' 'catch2' 'nlohmann-json' 'rapidjson' 'robin-map' 'cpp-jwt' 'vulkan-headers' 'spirv-headers' 'clang' 'python' 'renderdoc' - 'gamemode' 'perl' 'yasm' 'python-jsonschema' 'python-jinja') + 'vulkan-memory-allocator' 'vulkan-utility-libraries' 'vulkan-headers' 'spirv-headers' + 'boost' 'nlohmann-json' 'robin-map' 'cpp-jwt' 'gamemode' 'python' 'renderdoc' + + # 'xbyak' + # with xbyak we get the runtime err: + # terminate called after throwing an instance of 'Xbyak::Error' what(): bad size of register + + # for documentation + # 'doxygen' 'python-jinja' 'python-jsonschema' 'graphviz' + + # for testing + # 'catch2' +) optdepends=('qt6-wayland: for Wayland support') source=( git+${url}.git git+https://github.com/yuzu-mirror/sirit.git#commit=ab75463 - git+https://github.com/yuzu-mirror/mbedtls.git#commit=8c88150 - git+https://github.com/herumi/xbyak.git#commit=a1ac3750f9 - ffmpeg::git+https://github.com/FFmpeg/FFmpeg.git#commit=99e2af4e78 + git+https://github.com/herumi/xbyak.git#tag=v${_xbyak_tag:-7.22} + # citron use xbyak v6.68 by default, but v7.22 is okay git+https://github.com/brofield/simpleini.git#commit=6048871ea9 "https://github.com/lat9nq/tzdb_to_nx/releases/download/221202/221202.zip" ) noextract=('221202.zip') b2sums=('SKIP' '91e4cd03d67c930b6d751ca19cf6fbaaba86084412bd13b172186387ea27b461457a3e19bc0af315c807839e64f91c865298678af748e2d6e07df2abc85430ed' - '6198d4eea1f6618d4bed5fc3e6103245d42080a1b7a327ae566c6cae609fde64819c8b67284ec6a79ad42afb1c07bb809411f9277ea3e03325ef1ddfa181c2d1' - '10564f981204fe52c4c737a5c98ff4431e156ea0936355ee999656b7564329531fe832dfbf742642c33fbb86ab95b2a082dcd9415ef91b9089e282f535f10057' - 'ebc933862e140d108fa13328f8c4a6a3dbdf2a2155fbe9318c950fea2a700d0e64a646dcc96e9b54a68c2f261b1b2b12587a7fe0fc2490566e370a76a1470fc2' + 'c3cd6fdac08d04ff996a082d51b87c98a46a0c07b17cf1c9e794c4fbb284860e6355c7c4d7b41a66293d8181ec17a18dac772fac384a324b6e7e144540430ac5' 'fae42bb13f180ab991f6bfc8a45ea3df08ced1d77db77f54cf5a222f93ea468bd6fc0d36d65f9f3739e9813d77dbae31931948dc9afa28e884c53b8128c13c94' '7bd0ff5ca80cf560344ae7edbfeb7c9466c096dc499a7348276cff5d30aa07464f7e2ea391ca9cedac0e21ba6f563169a8b38f2df729a230a0acfb1125ea1b66') pkgver() { @@ -44,7 +52,6 @@ prepare() { local submods=( sirit simpleini - mbedtls xbyak ) @@ -56,7 +63,6 @@ prepare() { fi done - cp -rf ffmpeg/* $srcdir/$_pkgname/externals/ffmpeg/ffmpeg cd $srcdir/$_pkgname sed -i CMakeLists.txt \ -e '/-DBOOST_ASIO_DISABLE_CONCEPTS/d' \ @@ -66,27 +72,41 @@ prepare() { -e 's|^add\_subdirectory(src)|add_subdirectory(externals)\n add_subdirectory(src)#|g' sed -i src/CMakeLists.txt \ -e 's|-Werror=shadow$|-Wno-error=shadow|g' \ - -e 's|-Werror=unused$|-Wno-error=unused|g' - + -e 's|-Werror=unused$|-Wno-error=unused|g' \ + -e 's|include_directories(.|include_directories(. /usr/include/mbedtls2|g' \ + -e '/include_directories/a link_directories(/usr/lib/mbedtls2)' + sed -i src/${_pkgname,,}_cmd/CMakeLists.txt \ + -e "/target_include_directories(${_pkgname,,}-cmd/a target_link_libraries(${_pkgname,,}-cmd PRIVATE mbedtls mbedcrypto)" + sed -i src/${_pkgname,,}/CMakeLists.txt \ + -e "/target_sources(${_pkgname,,}/i target_link_libraries(${_pkgname,,} PRIVATE mbedtls mbedcrypto)" sed -i src/video_core/host_shaders/CMakeLists.txt \ -e 's/--quiet //g' \ -e 's#${SPIRV_HEADER_FILE} ${SOURCE_FILE}#${SPIRV_HEADER_FILE} ${SOURCE_FILE} 2>/dev/null#g' sed -i -e 's| (%2)||' src/${_pkgname,,}/aboutdialog.ui sed -i -e 's|io_service|io_context|g' src/input_common/drivers/udp_client.cpp src/tests/input_common/calibration_configuration_job.cpp - sed -i -e 's|u64|std::uint64_t|g' src/citron/discord_impl.h + sed -i -e 's|u64|std::uint64_t|g' src/${_pkgname,,}/discord_impl.h sed -i -e "s|https://github.com/lat9nq/tzdb_to_nx/releases/download/\${NX_TZDB_VERSION}|file://${srcdir}|g" externals/nx_tzdb/CMakeLists.txt perl -0777 -i.original -pe 's/(\s*target_compile_options\(video_core PRIVATE\s*-Wno-sign-conversion)/$1\n -msse4.1/igs' src/video_core/CMakeLists.txt - # see dynarmic 6.7.0 changelog sed -i src/core/arm/dynarmic/arm_dynarmic_{32,64}.cpp \ -e '/fastmem_pointer/s/nullptr/std::nullopt/g' \ -e 's|page_table->fastmem_arena;|(page_table->fastmem_arena != nullptr) ? std::optional{reinterpret_cast(page_table->fastmem_arena)} : std::nullopt;|g' + + # this line causes crash, introduced in commit 54173384271 + sed -i externals/xbyak/xbyak/xbyak.h \ + -e '/if (!(type & T_ALLOW_DIFF_SIZE) && r1.isREG() && r2.isREG() && r1.getBit() != r2.getBit()) XBYAK_THROW(ERR_BAD_SIZE_OF_REGISTER)/d' + # system mbedtls + sed -i externals/CMakeLists.txt \ + -e '/add_subdirectory(mbedtls)/c pkg_check_modules(MbedTLS REQUIRED IMPORTED_TARGET GLOBAL mbedtls mbedcrypto)' \ + -e '/target_include_directories(mbedtls/d' \ + -e '/^ *target_compile_options(mbedcrypto/,/)/ { s/^/#/ }' } build() { export CC=clang export CXX=clang++ + export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/lib/mbedtls2/pkgconfig local cmake_args=( -GNinja From 6c61a2f8cbf4cc38087dc52f6e4b8e4d0ef3a3cb Mon Sep 17 00:00:00 2001 From: sukanka Date: Sat, 3 May 2025 16:32:10 +0800 Subject: [PATCH 5/5] fix for boost 1.88 --- archlinuxcn/citron-git/PKGBUILD | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/archlinuxcn/citron-git/PKGBUILD b/archlinuxcn/citron-git/PKGBUILD index 732e666d4345..80e9aab4ad1a 100644 --- a/archlinuxcn/citron-git/PKGBUILD +++ b/archlinuxcn/citron-git/PKGBUILD @@ -2,11 +2,11 @@ _pkgname=Citron _xbyak_tag=7.24.2 pkgname=${_pkgname,,}-git -pkgver=0.6.1.canary.refresh.r15 +pkgver=0.6.1.canary.refresh.r53 pkgrel=1 pkgdesc="Nintendo Switch emulator forked from yuzu" arch=(x86_64) -url=https://git.citron-emu.org/Citron/Citron +url=https://git.citron-emu.org/citron/emu license=(GPL-3.0-or-later) provides=('citron') conflicts=('citron') @@ -30,7 +30,7 @@ makedepends=('llvm' 'git' 'glslang' 'cmake' 'ninja' 'perl' 'clang' ) optdepends=('qt6-wayland: for Wayland support') source=( - git+${url}.git + Citron::git+${url}.git git+https://github.com/yuzu-mirror/sirit.git#commit=ab75463 git+https://github.com/herumi/xbyak.git#tag=v${_xbyak_tag:-7.22} # citron use xbyak v6.68 by default, but v7.22 is okay @@ -66,7 +66,7 @@ prepare() { cd $srcdir/$_pkgname sed -i CMakeLists.txt \ -e '/-DBOOST_ASIO_DISABLE_CONCEPTS/d' \ - -e 's/1.4.307/1.4.304/g' \ + -e 's/1.4.313/1.4.309/g' \ -e '/target_compile_options/d' \ -e '/add_subdirectory(externals)/d' \ -e 's|^add\_subdirectory(src)|add_subdirectory(externals)\n add_subdirectory(src)#|g' @@ -101,6 +101,14 @@ prepare() { -e '/add_subdirectory(mbedtls)/c pkg_check_modules(MbedTLS REQUIRED IMPORTED_TARGET GLOBAL mbedtls mbedcrypto)' \ -e '/target_include_directories(mbedtls/d' \ -e '/^ *target_compile_options(mbedcrypto/,/)/ { s/^/#/ }' + # boost 1.88 + sed -i src/core/debugger/debugger.cpp \ + -e 's|#include *|#include |g' \ + -e 's/\bboost::process::async_pipe\b/boost::process::v1::async_pipe/g' + # no member named 'use_nce' in 'Settings::Values', so we just use false to replace this in a || expression + sed -i src/citron/configuration/configure_system.cpp \ + -e 's|setting->Id() == Settings::values.use_nce.Id()|false|g' + } build() {