Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.2 kB · 83 lines
Nix
at flake-libs
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384{ lib, stdenv, buildPythonPackage, autoPatchelfHook, onnxruntime, coloredlogs, numpy, packaging, oneDNN, re2,
}:
# onnxruntime requires an older protobuf.# Doing an override in protobuf in the python-packages set# can give you a functioning Python package but note not# all Python packages will be compatible then.## Because protobuf is not always needed we remove it# as a runtime dependency from our wheel.## We do include here the non-Python protobuf so the shared libs# link correctly. If you do also want to include the Python# protobuf, you can add it to your Python env, but be aware# the version likely mismatches with what is used here.
buildPythonPackage { inherit (onnxruntime) pname version; format = "wheel"; src = onnxruntime.dist;
unpackPhase = '' cp -r $src dist chmod +w dist '';
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
# This project requires fairly large dependencies such as sympy which we really don't always need. pythonRemoveDeps = [ "flatbuffers" "protobuf" "sympy" ];
# Libraries are not linked correctly. buildInputs = [ oneDNN re2 onnxruntime.protobuf
# https://github.com/NixOS/nixpkgs/pull/357656 patches the onnx lib to ${pkgs.onnxruntime}/lib # but these files are copied into this package too. If the original non-python onnxruntime # package is GC-ed, cuda support in this python package will break. # Two options, rebuild onnxruntime twice with the different paths hard-coded, or just hold a runtime # dependency between the two. Option 2, because onnxruntime takes forever to build with cuda support. onnxruntime ] ++ lib.optionals onnxruntime.passthru.cudaSupport ( with onnxruntime.passthru.cudaPackages; [ libcublas # libcublasLt.so.XX libcublas.so.XX libcurand # libcurand.so.XX libcufft # libcufft.so.XX cudnn # libcudnn.soXX cuda_cudart # libcudart.so.XX nccl # libnccl.so.XX ] );
propagatedBuildInputs = [ coloredlogs # flatbuffers numpy packaging # protobuf # sympy ];
meta = onnxruntime.meta;}