Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
3.5 kB · 158 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159{ lib, stdenv, buildPythonPackage, cmake, fetchFromGitHub, gtest, nbval, numpy, parameterized, protobuf_21, pybind11, pytestCheckHook, pythonOlder, tabulate, typing-extensions, abseil-cpp, google-re2, pillow, protobuf,}:
let gtestStatic = gtest.override { static = true; };inbuildPythonPackage rec { pname = "onnx"; version = "1.16.1"; format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub { owner = pname; repo = pname; rev = "refs/tags/v${version}"; hash = "sha256-I1wwfn91hdH3jORIKny0Xc73qW2P04MjkVCgcaNnQUE="; };
build-system = [ cmake pybind11 ];
buildInputs = [ abseil-cpp protobuf google-re2 gtestStatic pillow ];
dependencies = [ protobuf_21 protobuf numpy typing-extensions ];
nativeCheckInputs = [ nbval parameterized pytestCheckHook tabulate ];
postPatch = '' chmod +x tools/protoc-gen-mypy.sh.in patchShebangs tools/protoc-gen-mypy.sh.in
substituteInPlace setup.py \ --replace 'setup_requires.append("pytest-runner")' ""
# prevent from fetching & building own gtest substituteInPlace CMakeLists.txt \ --replace 'include(googletest)' "" substituteInPlace cmake/unittest.cmake \ --replace 'googletest)' ')' '';
preConfigure = '' # Set CMAKE_INSTALL_LIBDIR to lib explicitly, because otherwise it gets set # to lib64 and cmake incorrectly looks for the protobuf library in lib64 export CMAKE_ARGS="-DCMAKE_INSTALL_LIBDIR=lib -DONNX_USE_PROTOBUF_SHARED_LIBS=ON" export CMAKE_ARGS+=" -Dgoogletest_STATIC_LIBRARIES=${gtestStatic}/lib/libgtest.a -Dgoogletest_INCLUDE_DIRS=${lib.getDev gtestStatic}/include" export ONNX_BUILD_TESTS=1 '';
preBuild = '' export MAX_JOBS=$NIX_BUILD_CORES '';
# The executables are just utility scripts that aren't too important postInstall = '' rm -r $out/bin '';
# The setup.py does all the configuration dontUseCmakeConfigure = true;
preCheck = '' export HOME=$(mktemp -d)
# detecting source dir as a python package confuses pytest mv onnx/__init__.py onnx/__init__.py.hidden '';
pytestFlagsArray = [ "onnx/test" "onnx/examples" ];
disabledTests = [ # attempts to fetch data from web "test_bvlc_alexnet_cpu" "test_densenet121_cpu" "test_inception_v1_cpu" "test_inception_v2_cpu" "test_resnet50_cpu" "test_shufflenet_cpu" "test_squeezenet_cpu" "test_vgg19_cpu" "test_zfnet512_cpu" ] ++ lib.optionals stdenv.isAarch64 [ # AssertionError: Output 0 of test 0 in folder "test__pytorch_converted_Conv2d_depthwise_padded" "test__pytorch_converted_Conv2d_dilated" "test_dft" "test_dft_axis" # AssertionError: Mismatch in test 'test_Conv2d_depthwise_padded' "test_xor_bcast4v4d" # AssertionError: assert 1 == 0 "test_ops_tested" ];
disabledTestPaths = [ # Unexpected output fields from running code: {'stderr'} "onnx/examples/np_array_tensorproto.ipynb" ];
__darwinAllowLocalNetworking = true;
postCheck = '' # run "cpp" tests .setuptools-cmake-build/onnx_gtests '';
pythonImportsCheck = [ "onnx" ];
meta = with lib; { description = "Open Neural Network Exchange"; homepage = "https://onnx.ai"; license = licenses.asl20; maintainers = with maintainers; [ acairncross ]; };}