From 7475b12169f459dec709c7e25c46abc4e393d4b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sun, 18 Apr 2021 10:53:22 +0200 Subject: [PATCH] cudnn_cudatoolkit: accept `hash` attribute for SRI hashes --- .../libraries/science/math/cudnn/default.nix | 2 +- .../libraries/science/math/cudnn/generic.nix | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix index d8e68a48cbf..f5518813cdc 100644 --- a/pkgs/development/libraries/science/math/cudnn/default.nix +++ b/pkgs/development/libraries/science/math/cudnn/default.nix @@ -58,7 +58,7 @@ in rec { # 8.1.0 is compatible with CUDA 11.0, 11.1, and 11.2: # https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions srcName = "cudnn-11.2-linux-x64-v8.1.1.33.tgz"; - sha256 = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo="; + hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo="; }; cudnn_cudatoolkit_11_1 = cudnn_cudatoolkit_11_0.override { diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix index d9c19e6790c..f5a4fac1a90 100644 --- a/pkgs/development/libraries/science/math/cudnn/generic.nix +++ b/pkgs/development/libraries/science/math/cudnn/generic.nix @@ -1,8 +1,11 @@ { version , srcName -, sha256 +, hash ? null +, sha256 ? null }: +assert (hash != null) || (sha256 != null); + { stdenv , lib , cudatoolkit @@ -22,11 +25,13 @@ stdenv.mkDerivation { name = "cudatoolkit-${cudatoolkit.majorVersion}-cudnn-${version}"; inherit version; - src = fetchurl { + + src = let + hash_ = if hash != null then { inherit hash; } else { inherit sha256; }; + in fetchurl ({ # URL from NVIDIA docker containers: https://gitlab.com/nvidia/cuda/blob/centos7/7.0/runtime/cudnn4/Dockerfile url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/${srcName}"; - inherit sha256; - }; + } // hash_); nativeBuildInputs = [ addOpenGLRunpath ];