aboutsummaryrefslogtreecommitdiff
path: root/.patch
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-09-14 14:34:24 +0200
committercrueter <crueter@eden-emu.dev>2026-09-14 14:34:24 +0200
commit2b4184dd2bb33da081702263d59c3eadb299e673 (patch)
treed576406f4584d9334e25f31a842302472f953046 /.patch
parentd9159fefdd9e8850e550dd47cc59d7da999a2380 (diff)
Revert "[audio] Replace libopus with FFmpeg (#4169)" (#4419)
This reverts commit ff8368c6066faf3962e2f77af7da4954e2ff6a43. - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4419 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to '.patch')
-rw-r--r--.patch/opus/0001-disable-clang-runtime-neon.patch28
-rw-r--r--.patch/opus/0002-no-install.patch153
2 files changed, 181 insertions, 0 deletions
diff --git a/.patch/opus/0001-disable-clang-runtime-neon.patch b/.patch/opus/0001-disable-clang-runtime-neon.patch
new file mode 100644
index 0000000000..27a905c366
--- /dev/null
+++ b/.patch/opus/0001-disable-clang-runtime-neon.patch
@@ -0,0 +1,28 @@
+From cc15da16e533b2a801934eab2dfeaf3c3949a1dc Mon Sep 17 00:00:00 2001
+From: crueter <crueter@eden-emu.dev>
+Date: Mon, 8 Sep 2025 12:28:55 -0400
+Subject: [PATCH] [cmake] disable NEON runtime check on clang-cl
+
+When enabling runtime NEON checking for clang-cl, the linker would error out with `undefined symbol: __emit`, since clang doesn't actually implement this instruction. Therefore it makes sense to disable the runtime check by default on this platform, until either this is fixed or a clang-cl compatible intrinsic check is added (I don't have enough knowledge of MSVC to do this)
+---
+ cmake/OpusConfig.cmake | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/cmake/OpusConfig.cmake b/cmake/OpusConfig.cmake
+index e9319fbad..d0f459e88 100644
+--- a/cmake/OpusConfig.cmake
++++ b/cmake/OpusConfig.cmake
+@@ -71,7 +71,12 @@ elseif(OPUS_CPU_ARM AND NOT OPUS_DISABLE_INTRINSICS)
+ opus_detect_neon(COMPILER_SUPPORT_NEON)
+ if(COMPILER_SUPPORT_NEON)
+ option(OPUS_USE_NEON "Option to enable NEON" ON)
+- option(OPUS_MAY_HAVE_NEON "Does runtime check for neon support" ON)
++ if (MSVC AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
++ set(NEON_RUNTIME_CHECK_DEFAULT OFF)
++ else()
++ set(NEON_RUNTIME_CHECK_DEFAULT ON)
++ endif()
++ option(OPUS_MAY_HAVE_NEON "Does runtime check for neon support" ${NEON_RUNTIME_CHECK_DEFAULT})
+ option(OPUS_PRESUME_NEON "Assume target CPU has NEON support" OFF)
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
+ set(OPUS_PRESUME_NEON ON)
diff --git a/.patch/opus/0002-no-install.patch b/.patch/opus/0002-no-install.patch
new file mode 100644
index 0000000000..833a3e4178
--- /dev/null
+++ b/.patch/opus/0002-no-install.patch
@@ -0,0 +1,153 @@
+From bf455b67b4eaa446ffae5d25410b141b7b1b1082 Mon Sep 17 00:00:00 2001
+From: crueter <crueter@eden-emu.dev>
+Date: Mon, 8 Sep 2025 12:08:20 -0400
+Subject: [PATCH] [cmake] `OPUS_INSTALL` option; only default install if root
+ project
+
+Signed-off-by: crueter <crueter@eden-emu.dev>
+---
+ CMakeLists.txt | 112 ++++++++++++++++++++++++++++---------------------
+ 1 file changed, 64 insertions(+), 48 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fcf034b19..08b5e16f8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,6 +4,13 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+ include(OpusPackageVersion)
+ get_package_version(PACKAGE_VERSION PROJECT_VERSION)
+
++# root project detection
++if(DEFINED PROJECT_NAME)
++ set(root_project OFF)
++else()
++ set(root_project ON)
++endif()
++
+ project(Opus LANGUAGES C VERSION ${PROJECT_VERSION})
+
+ include(OpusFunctions)
+@@ -83,12 +90,16 @@ set(OPUS_DNN_FLOAT_DEBUG_HELP_STR "Run DNN computations as float for debugging p
+ option(OPUS_DNN_FLOAT_DEBUG ${OPUS_DNN_FLOAT_DEBUG_HELP_STR} OFF)
+ add_feature_info(OPUS_DNN_FLOAT_DEBUG OPUS_DNN_FLOAT_DEBUG ${OPUS_DNN_FLOAT_DEBUG_HELP_STR})
+
++set(OPUS_INSTALL_HELP_STR "Install Opus targets")
++option(OPUS_INSTALL ${OPUS_INSTALL_HELP_STR} ${root_project})
++add_feature_info(OPUS_INSTALL OPUS_INSTALL ${OPUS_INSTALL_HELP_STR})
++
+ set(OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR "install pkg-config module.")
+-option(OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR} ON)
++option(OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR} ${OPUS_INSTALL})
+ add_feature_info(OPUS_INSTALL_PKG_CONFIG_MODULE OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR})
+
+ set(OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR "install CMake package config module.")
+-option(OPUS_INSTALL_CMAKE_CONFIG_MODULE ${OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR} ON)
++option(OPUS_INSTALL_CMAKE_CONFIG_MODULE ${OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR} ${OPUS_INSTALL})
+ add_feature_info(OPUS_INSTALL_CMAKE_CONFIG_MODULE OPUS_INSTALL_CMAKE_CONFIG_MODULE ${OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR})
+
+ set(OPUS_DRED_HELP_STR "enable DRED.")
+@@ -613,53 +624,58 @@ if(OPUS_BUILD_FRAMEWORK)
+ OUTPUT_NAME Opus)
+ endif()
+
+-install(TARGETS opus
+- EXPORT OpusTargets
+- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+- FRAMEWORK DESTINATION ${CMAKE_INSTALL_PREFIX}
+- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/opus)
+-
+-if(OPUS_INSTALL_PKG_CONFIG_MODULE)
+- set(prefix ${CMAKE_INSTALL_PREFIX})
+- set(exec_prefix ${CMAKE_INSTALL_PREFIX})
+- set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
+- set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
+- set(VERSION ${PACKAGE_VERSION})
+- if(HAVE_LIBM)
+- set(LIBM "-lm")
++if (OPUS_INSTALL)
++ install(TARGETS opus
++ EXPORT OpusTargets
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ FRAMEWORK DESTINATION ${CMAKE_INSTALL_PREFIX}
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/opus)
++
++ if(OPUS_INSTALL_PKG_CONFIG_MODULE)
++ set(prefix ${CMAKE_INSTALL_PREFIX})
++ set(exec_prefix ${CMAKE_INSTALL_PREFIX})
++ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
++ set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
++ set(VERSION ${PACKAGE_VERSION})
++ if(HAVE_LIBM)
++ set(LIBM "-lm")
++ endif()
++ configure_file(opus.pc.in opus.pc)
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/opus.pc
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
++ endif()
++
++ if(OPUS_INSTALL_CMAKE_CONFIG_MODULE)
++ set(CPACK_GENERATOR TGZ)
++ include(CPack)
++ set(CMAKE_INSTALL_PACKAGEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
++ install(EXPORT OpusTargets
++ NAMESPACE Opus::
++ DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
++
++ include(CMakePackageConfigHelpers)
++
++ set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
++ configure_package_config_file(
++ ${PROJECT_SOURCE_DIR}/cmake/OpusConfig.cmake.in
++ OpusConfig.cmake
++ INSTALL_DESTINATION
++ ${CMAKE_INSTALL_PACKAGEDIR}
++ PATH_VARS
++ INCLUDE_INSTALL_DIR
++ INSTALL_PREFIX
++ ${CMAKE_INSTALL_PREFIX})
++
++ write_basic_package_version_file(OpusConfigVersion.cmake
++ VERSION ${PROJECT_VERSION}
++ COMPATIBILITY SameMajorVersion)
++
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OpusConfig.cmake
++ ${CMAKE_CURRENT_BINARY_DIR}/OpusConfigVersion.cmake
++ DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
+ endif()
+- configure_file(opus.pc.in opus.pc)
+- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/opus.pc
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+-endif()
+-
+-if(OPUS_INSTALL_CMAKE_CONFIG_MODULE)
+- set(CPACK_GENERATOR TGZ)
+- include(CPack)
+- set(CMAKE_INSTALL_PACKAGEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+- install(EXPORT OpusTargets
+- NAMESPACE Opus::
+- DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
+-
+- include(CMakePackageConfigHelpers)
+-
+- set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
+- configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/OpusConfig.cmake.in
+- OpusConfig.cmake
+- INSTALL_DESTINATION
+- ${CMAKE_INSTALL_PACKAGEDIR}
+- PATH_VARS
+- INCLUDE_INSTALL_DIR
+- INSTALL_PREFIX
+- ${CMAKE_INSTALL_PREFIX})
+- write_basic_package_version_file(OpusConfigVersion.cmake
+- VERSION ${PROJECT_VERSION}
+- COMPATIBILITY SameMajorVersion)
+- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OpusConfig.cmake
+- ${CMAKE_CURRENT_BINARY_DIR}/OpusConfigVersion.cmake
+- DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
+ endif()
+
+ if(OPUS_BUILD_PROGRAMS)