Files
nixpkgs/pkgs/development/libraries/science/math/libtorch/test/default.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

65 lines
1.2 KiB
Nix

{
lib,
stdenv,
cmake,
libtorch-bin,
linkFarm,
symlinkJoin,
cudaSupport,
cudaPackages ? { },
}:
let
inherit (cudaPackages) cudatoolkit cudnn;
cudatoolkit_joined = symlinkJoin {
name = "${cudatoolkit.name}-unsplit";
paths = [
cudatoolkit.out
cudatoolkit.lib
];
};
# We do not have access to /run/opengl-driver/lib in the sandbox,
# so use a stub instead.
cudaStub = linkFarm "cuda-stub" [
{
name = "libcuda.so.1";
path = "${cudatoolkit}/lib/stubs/libcuda.so";
}
];
in
stdenv.mkDerivation {
pname = "libtorch-test";
version = libtorch-bin.version;
src = lib.fileset.toSource {
root = ./.;
fileset = lib.fileset.unions [
./CMakeLists.txt
./test.cpp
];
};
nativeBuildInputs = [ cmake ];
buildInputs = [ libtorch-bin ] ++ lib.optionals cudaSupport [ cudnn ];
cmakeFlags = lib.optionals cudaSupport [ "-DCUDA_TOOLKIT_ROOT_DIR=${cudatoolkit_joined}" ];
doCheck = true;
installPhase = ''
touch $out
'';
checkPhase =
lib.optionalString cudaSupport ''
LD_LIBRARY_PATH=${cudaStub}''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \
''
+ ''
./test
'';
}