cudaPackages_12.cudatoolkit: fix after migrating to autoPatchelfHook

This commit is contained in:
Someone Serge 2023-04-06 14:43:04 +03:00
parent 868c289955
commit 221fe82378
No known key found for this signature in database
GPG Key ID: 7B0E3B1390D61DA4

View File

@ -37,6 +37,11 @@ args@
, freeglut
, libGLU
, libsForQt5
, libtiff
, qt6Packages
, rdma-core
, ucx
, rsync
}:
backendStdenv.mkDerivation rec {
@ -67,11 +72,14 @@ backendStdenv.mkDerivation rec {
nativeBuildInputs = [
perl
makeWrapper
rsync
addOpenGLRunpath
autoPatchelfHook
autoAddOpenGLRunpathHook
] ++ lib.optionals (lib.versionOlder version "11") [
libsForQt5.wrapQtAppsHook
] ++ lib.optionals (lib.versions.major version == "12") [
qt6Packages.wrapQtAppsHook
];
buildInputs = lib.optionals (lib.versionOlder version "11") [
libsForQt5.qt5.qtwebengine
@ -113,6 +121,13 @@ backendStdenv.mkDerivation rec {
unixODBC
alsa-lib
wayland
] ++ lib.optionals (lib.versions.major version == "12") [
(lib.getLib libtiff)
qt6Packages.qtwayland
rdma-core
ucx
xorg.libxshmfence
xorg.libxkbfile
];
# Prepended to runpaths by autoPatchelf.
@ -205,6 +220,13 @@ backendStdenv.mkDerivation rec {
mv pkg/builds/nsight_systems/target-linux-x64 $out/target-linux-x64
mv pkg/builds/nsight_systems/host-linux-x64 $out/host-linux-x64
''}
${lib.optionalString (lib.versions.major version == "12")
# error: auto-patchelf could not satisfy dependency libtiff.so.5 wanted by /nix/store/ivw2ss2ppafxww0f935dvqij5xkgvczz-cudatoolkit-12.0.1/host-linux-x64/Plugins/imageformats/libqtiff.so
# we only ship libtiff.so.6, so let's use qt plugins built by Nix.
# TODO: don't copy, come up with a symlink-based "merge"
''
rsync ${lib.getLib qt6Packages.qtimageformats}/lib/qt-6/plugins/ $out/host-linux-x64/Plugins/ -aP
''}
rm -f $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?