diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-04-28 14:39:00 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-06-10 08:52:36 +0000 |
commit | 693e64ef7421374338ddb1dc12b9573feec75972 (patch) | |
tree | 2526ac075d248699c35d63e04499890ee4381f5f /nixpkgs/pkgs/development/libraries/openvino | |
parent | 7014df2256694d97093d6f2bb1db340d346dea88 (diff) | |
parent | 8e4fe32876ca15e3d5eb3ecd3ca0b224417f5f17 (diff) | |
download | nixlib-693e64ef7421374338ddb1dc12b9573feec75972.tar nixlib-693e64ef7421374338ddb1dc12b9573feec75972.tar.gz nixlib-693e64ef7421374338ddb1dc12b9573feec75972.tar.bz2 nixlib-693e64ef7421374338ddb1dc12b9573feec75972.tar.lz nixlib-693e64ef7421374338ddb1dc12b9573feec75972.tar.xz nixlib-693e64ef7421374338ddb1dc12b9573feec75972.tar.zst nixlib-693e64ef7421374338ddb1dc12b9573feec75972.zip |
Merge commit '8e4fe32876ca15e3d5eb3ecd3ca0b224417f5f17'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/openvino')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/openvino/default.nix | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/openvino/default.nix b/nixpkgs/pkgs/development/libraries/openvino/default.nix new file mode 100644 index 000000000000..a083c06a334f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/openvino/default.nix @@ -0,0 +1,121 @@ +{ lib +, addOpenGLRunpath +, autoPatchelfHook +, stdenv +, fetchFromGitHub +, cmake +, git +, protobuf +, tbb +, opencv +, unzip +, shellcheck +, python +, enablePython ? false +}: + +let + + onnx_src = fetchFromGitHub { + owner = "onnx"; + repo = "onnx"; + rev = "v1.8.1"; + sha256 = "+1zNnZ4lAyVYRptfk0PV7koIX9FqcfD1Ah33qj/G2rA="; + }; + +in +stdenv.mkDerivation rec { + pname = "openvino"; + version = "2021.2"; + + src = fetchFromGitHub { + owner = "openvinotoolkit"; + repo = "openvino"; + rev = version; + sha256 = "pv4WTfY1U5GbA9Yj07UOLQifvVH3oDfWptxxYW5IwVQ="; + fetchSubmodules = true; + }; + + dontUseCmakeBuildDir = true; + + cmakeFlags = [ + "-DNGRAPH_USE_SYSTEM_PROTOBUF:BOOL=ON" + "-DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON" + "-DFETCHCONTENT_SOURCE_DIR_EXT_ONNX:STRING=${onnx_src}" + "-DENABLE_VPU:BOOL=OFF" + "-DTBB_DIR:STRING=${tbb}" + "-DENABLE_OPENCV:BOOL=ON" + "-DOPENCV:STRING=${opencv}" + "-DENABLE_GNA:BOOL=OFF" + "-DENABLE_SPEECH_DEMO:BOOL=OFF" + "-DBUILD_TESTING:BOOL=OFF" + "-DENABLE_CLDNN_TESTS:BOOL=OFF" + "-DNGRAPH_INTERPRETER_ENABLE:BOOL=ON" + "-DNGRAPH_TEST_UTIL_ENABLE:BOOL=OFF" + "-DNGRAPH_UNIT_TEST_ENABLE:BOOL=OFF" + "-DENABLE_SAMPLES:BOOL=OFF" + "-DENABLE_CPPLINT:BOOL=OFF" + ] ++ lib.optional enablePython [ + "-DENABLE_PYTHON:BOOL=ON" + ]; + + preConfigure = '' + # To make install openvino inside /lib instead of /python + substituteInPlace inference-engine/ie_bridges/python/CMakeLists.txt \ + --replace 'DESTINATION python/''${PYTHON_VERSION}/openvino' 'DESTINATION lib/''${PYTHON_VERSION}/site-packages/openvino' \ + --replace 'DESTINATION python/''${PYTHON_VERSION}' 'DESTINATION lib/''${PYTHON_VERSION}/site-packages/openvino' + substituteInPlace inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt \ + --replace 'python/''${PYTHON_VERSION}/openvino/inference_engine' 'lib/''${PYTHON_VERSION}/site-packages/openvino/inference_engine' + + # Used to download OpenCV based on Linux Distro and make it use system OpenCV + substituteInPlace inference-engine/cmake/dependencies.cmake \ + --replace 'include(linux_name)' ' ' \ + --replace 'if (ENABLE_OPENCV)' 'if (ENABLE_OPENCV AND NOT DEFINED OPENCV)' + + cmakeDir=$PWD + mkdir ../build + cd ../build + ''; + + autoPatchelfIgnoreMissingDeps = true; + + nativeBuildInputs = [ + cmake + autoPatchelfHook + addOpenGLRunpath + ]; + + buildInputs = [ + git + protobuf + opencv + unzip + python + tbb + shellcheck + ] ++ lib.optional enablePython (with python.pkgs; [ + cython + pybind11 + ]); + + postFixup = '' + # Link to OpenCL + find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do + addOpenGLRunpath "$lib" + done + ''; + + meta = with lib; { + description = "OpenVINO™ Toolkit repository"; + longDescription = '' + This toolkit allows developers to deploy pre-trained deep learning models through a high-level C++ Inference Engine API integrated with application logic. + + This open source version includes several components: namely Model Optimizer, nGraph and Inference Engine, as well as CPU, GPU, MYRIAD, + multi device and heterogeneous plugins to accelerate deep learning inferencing on Intel® CPUs and Intel® Processor Graphics. + It supports pre-trained models from the Open Model Zoo, along with 100+ open source and public models in popular formats such as Caffe*, TensorFlow*, MXNet* and ONNX*. + ''; + homepage = "https://docs.openvinotoolkit.org/"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ tfmoraes ]; + }; +} |