anchor.diff:  , cudatoolkit
   , fetchurl
   , addOpenGLRunpath
  +, # The distributed version of CUDNN includes both dynamically liked .so files,
  +  # as well as statically linked .a files.  However, CUDNN is quite large
  +  # (multiple gigabytes), so you can save some space in your nix store by
  +  # removing the statically linked libraries if you are not using them.
  +  #
  +  # Setting this to true removes the statically linked .a files.
  +  # Setting this to false keeps these statically linked .a files.
  +  removeStatic ? false
   }:
   
   stdenv.mkDerivation {
  
positive.code:   nativeBuildInputs = [ addOpenGLRunpath ];
  
    installPhase = ''
      function fixRunPath {
        p=$(patchelf --print-rpath $1)
        patchelf --set-rpath "''${p:+$p:}${lib.makeLibraryPath [ stdenv.cc.cc ]}:\$ORIGIN/" $1
  
negative.code:     mkdir -p $out
      cp -a include $out/include
      cp -a lib64 $out/lib64
    '' + lib.optionalString removeStatic ''
      rm -f $out/lib64/*.a
    '' + ''
      runHook postInstall
    '';
  
    # Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found.
  