%global with_npu 0 %define debug_package %{nil} Name: onnxruntime Version: 1.15.1 Release: 1 Summary: Cross-Platform Accelerated Machine Learning License: MIT URL: https://onnxruntime.ai/ Source0: https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.15.1.tar.gz Source1: abseil-cpp-20220623.1.zip Source2: date-2.4.1.zip Source3: flatbuffers-1.12.0.zip Source4: nsync-1.23.0.zip Source5: googletest-519beb0e52c842729b4b53731d27c0e0c32ab4a2.zip Source6: json-3.10.5.zip Source7: GSL-4.0.0.zip Source8: mp11-boost-1.79.0.zip Source9: pybind11-2.10.1.zip Source10: onnx-1.14.0.zip Source11: protobuf-21.12.zip Source12: cpuinfo-5916273f79a21551890fd3d56fc5375a78d1598d.zip Source13: re2-2022-06-01.zip Source14: SafeInt-ff15c6ada150a5018c5ef2172401cb4529eac9c0.zip Source15: onnxruntime.tar.gz.aa Source16: onnxruntime.tar.gz.ab BuildRoot: %{_buildrootdir} #编译所需包(按照文档写的) BuildRequires: cmake gcc gcc-c++ python3 git python-numpy python-packaging openssl openssl-devel iputils bash #安装所需包(感觉没啥需要的?) Requires: bash Provides: onnxruntime-python-API %description ONNX Runtime is a cross-platform machine-learning model accelerator, with a flexible interface to integrate hardware-specific libraries. ONNX Runtime can be used with models from PyTorch, Tensorflow/Keras, TFLite, scikit-learn, and other frameworks. %package -n onnxruntime-npu Summary: Cross-Platform Accelerated Machine Learning For NPU %description -n onnxruntime-npu ONNXRuntime npu %prep cat %{SOURCE15} %{SOURCE16} > %{SOURCE0} ll %{_sourcedir} %setup -q cp -r %{SOURCE1} %{_builddir} cp -r %{SOURCE2} %{_builddir} cp -r %{SOURCE3} %{_builddir} cp -r %{SOURCE4} %{_builddir} cp -r %{SOURCE5} %{_builddir} cp -r %{SOURCE6} %{_builddir} cp -r %{SOURCE7} %{_builddir} cp -r %{SOURCE8} %{_builddir} cp -r %{SOURCE9} %{_builddir} cp -r %{SOURCE10} %{_builddir} cp -r %{SOURCE11} %{_builddir} cp -r %{SOURCE12} %{_builddir} cp -r %{SOURCE13} %{_builddir} cp -r %{SOURCE14} %{_builddir} %build git init . && bash build.sh --config Release --build_shared_lib --parallel --compile_no_warning_as_error --skip_submodule_sync --allow_running_as_root --skip_tests --build_wheel --build_dir build/CPU #bash build.sh --config Release --build_shared_lib --parallel --compile_no_warning_as_error --skip_submodule_sync --allow_running_as_root --skip_tests --build_wheel --build_dir build/CPU %if %{with_npu} export CPLUS_INCLUDE_PATH=/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/include:$CPLUS_INCLUDE_PATH export CPLUS_INCLUDE_PATH=/usr/local/lib64/python3.9/site-packages/numpy/core/include:$CPLUS_INCLUDE_PATH ln -s /usr/local/Ascend/ascendtoolkit/latest/x86_64-Linux/1ib64/libascendcl.so /usr/lib/libascendcl.so ln -s /usr/local/Ascend/ascendtoolkit/latest/x86_64-Linux/1ib64//libfmk_onnx_parser.so /usr/lib//libfmk_onnx_parser.so ln -s /usr/local/Ascend/ascendtoolkit/latest/x86_64-Linux/1ib64/libacl_op_compiler.so /usr/lib/libacl_op_compiler.so pip install wheel source /usr/local/Ascend/ascend-toolkit/set_env.sh git init . && bash build.sh --config Release --build_shared_lib --use_cann --parallel --allow_running_as_root --skip_tests --build_wheel --build_dir build/NPU %endif %install if [ ! -d %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime ]; then mkdir -p %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime fi cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/backend %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/ cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/datasets %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/ cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/quantization %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/ cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/tools %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/ cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/transformers %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/ cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/__init__.py %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/ cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/LICENSE %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/ cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/Privacy.md %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/ cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/ThirdPartyNotices.txt %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/ cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/capi %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime/ #cp -r %{_builddir}/%{name}-%{version}/build/CPU/Release/onnxruntime/* %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime %if %{with_npu} if [ ! -d %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu ]; then mkdir -p %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu fi cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/backend %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/ cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/datasets %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/ cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/quantization %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/ cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/tools %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/ cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/transformers %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/ cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/__init__.py %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/ cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/LICENSE %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/ cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/Privacy.md %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/ cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/ThirdPartyNotices.txt %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/ cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/capi %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu/ #cp -r %{_builddir}/%{name}-%{version}/build/NPU/Release/onnxruntime/* %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}%{python3_sitelib}/onnxruntime_npu %endif %files %{python3_sitelib}/onnxruntime/backend %{python3_sitelib}/onnxruntime/datasets %{python3_sitelib}/onnxruntime/quantization %{python3_sitelib}/onnxruntime/tools %{python3_sitelib}/onnxruntime/transformers %{python3_sitelib}/onnxruntime/__init__.py %{python3_sitelib}/onnxruntime/LICENSE %{python3_sitelib}/onnxruntime/Privacy.md %{python3_sitelib}/onnxruntime/ThirdPartyNotices.txt %{python3_sitelib}/onnxruntime/capi %{python3_sitelib}/onnxruntime/__pycache__ %if %{with_npu} %files -n onnxruntime-npu %{python3_sitelib}/onnxruntime_npu/backend %{python3_sitelib}/onnxruntime_npu/datasets %{python3_sitelib}/onnxruntime_npu/quantization %{python3_sitelib}/onnxruntime_npu/tools %{python3_sitelib}/onnxruntime_npu/transformers %{python3_sitelib}/onnxruntime_npu/__init__.py %{python3_sitelib}/onnxruntime_npu/LICENSE %{python3_sitelib}/onnxruntime_npu/Privacy.md %{python3_sitelib}/onnxruntime_npu/ThirdPartyNotices.txt %{python3_sitelib}/onnxruntime_npu/capi %{python3_sitelib}/onnxruntime_npu/__pycache__ %endif %changelog * Fri Aug 10 2023 lisiwen <2022111134@bupt.edu.cn> - init package