File patched_nanobind_config.patch of Package python-onnx
--- onnx-1.20.0/CMakeLists.txt 2025-12-16 18:11:55.915034708 +0100
+++ onnx-1.20.0-patched/CMakeLists.txt 2025-12-18 16:46:00.284996306 +0100
@@ -467,8 +467,16 @@
target_compile_options(onnx_proto_object PUBLIC ${protobuf_warnings})
if(ONNX_BUILD_PYTHON)
- # find system nanobind
- find_package(nanobind)
+ # find system nanobind and create nanobind config dir
+ execute_process(
+ COMMAND "${Python_EXECUTABLE}" -m nanobind --cmake_dir
+ OUTPUT_VARIABLE NB_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ECHO STDOUT)
+ list(APPEND CMAKE_PREFIX_PATH "${NB_DIR}"
+ )
+ find_package(nanobind CONFIG REQUIRED)
+
+
if(NOT nanobind_FOUND)
include(FetchContent)
@@ -487,6 +495,7 @@
NB_STATIC NB_DOMAIN onnx STABLE_ABI FREE_THREADED LTO
"${ONNX_ROOT}/onnx/cpp2py_export.cc")
+ target_include_directories(nanobind ${AS_SYSINCLUDE} PUBLIC ${Python_INCLUDE_DIRS} ${NB_DIR}/include)
target_link_libraries(onnx_cpp2py_export PRIVATE $<BUILD_INTERFACE:onnx_object> $<BUILD_INTERFACE:onnx_proto_object>)
# Prevent "undefined symbol: _ZNSt10filesystem7__cxx114path14_M_split_cmptsEv"
# (std::filesystem::__cxx11::path::_M_split_cmpts()) on gcc 8