cudnnPackages: Remove statically linked .a files.

This commit is contained in:
Dennis Gosnell 2021-03-09 14:04:39 +09:00 committed by Dennis Gosnell
parent 86ee8dd8ff
commit e3c1c3b35b

View file

@ -8,6 +8,14 @@
, 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 {
@ -23,6 +31,8 @@ stdenv.mkDerivation {
nativeBuildInputs = [ addOpenGLRunpath ];
installPhase = ''
runHook preInstall
function fixRunPath {
p=$(patchelf --print-rpath $1)
patchelf --set-rpath "''${p:+$p:}${lib.makeLibraryPath [ stdenv.cc.cc ]}:\$ORIGIN/" $1
@ -35,6 +45,10 @@ stdenv.mkDerivation {
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.