Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / tensorrt / default.nix
blob2f3606d8562ecd1ba6a0adb4ba59658ec9879be8
1 { lib
2 , python
3 , autoAddDriverRunpath
4 , buildPythonPackage
5 , autoPatchelfHook
6 , unzip
7 , cudaPackages
8 }:
10 let
11   pyVersion = "${lib.versions.major python.version}${lib.versions.minor python.version}";
13 buildPythonPackage rec {
14   pname = "tensorrt";
15   version = lib.optionalString (cudaPackages ? tensorrt) cudaPackages.tensorrt.version;
17   src = cudaPackages.tensorrt.src;
19   format = "wheel";
20   # We unpack the wheel ourselves because of the odd packaging.
21   dontUseWheelUnpack = true;
23   nativeBuildInputs = [
24     unzip
25     autoPatchelfHook
26     autoAddDriverRunpath
27   ];
29   preUnpack = ''
30     mkdir -p dist
31     tar --strip-components=2 -xf "$src" --directory=dist \
32       "TensorRT-${version}/python/tensorrt-${version}-cp${pyVersion}-none-linux_x86_64.whl"
33   '';
35   sourceRoot = ".";
37   buildInputs = [
38     cudaPackages.cudnn
39     cudaPackages.tensorrt
40   ];
42   pythonImportsCheck = [
43     "tensorrt"
44   ];
46   meta = with lib; {
47     description = "Python bindings for TensorRT, a high-performance deep learning interface";
48     homepage = "https://developer.nvidia.com/tensorrt";
49     license = licenses.unfree;
50     platforms = [ "x86_64-linux" ];
51     maintainers = with maintainers; [ aidalgol ];
52     broken =
53       !(cudaPackages ? tensorrt)
54       || !(cudaPackages ? cudnn);
55   };