diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/xgboost')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/xgboost/default.nix | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/nixpkgs/pkgs/development/libraries/xgboost/default.nix b/nixpkgs/pkgs/development/libraries/xgboost/default.nix index b9f35d407b39..b4d668d5fba1 100644 --- a/nixpkgs/pkgs/development/libraries/xgboost/default.nix +++ b/nixpkgs/pkgs/development/libraries/xgboost/default.nix @@ -6,9 +6,8 @@ , gtest , doCheck ? true , cudaSupport ? config.cudaSupport or false -, cudatoolkit , ncclSupport ? false -, nccl +, cudaPackages , llvmPackages }: @@ -26,17 +25,30 @@ stdenv.mkDerivation rec { sha256 = "sha256-h7zcHCOxe1h7HRB6idtjf4HUBEoHC4V2pqbN9hpe00g="; }; - nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp; + nativeBuildInputs = [ + cmake + ] ++ lib.optionals stdenv.isDarwin [ + llvmPackages.openmp + ] ++ lib.optionals cudaSupport [ + cudaPackages.autoAddOpenGLRunpathHook + ]; - buildInputs = [ gtest ] ++ lib.optional cudaSupport cudatoolkit - ++ lib.optional ncclSupport nccl; + buildInputs = [ gtest ] ++ lib.optional cudaSupport cudaPackages.cudatoolkit + ++ lib.optional ncclSupport cudaPackages.nccl; cmakeFlags = lib.optionals doCheck [ "-DGOOGLE_TEST=ON" ] - ++ lib.optionals cudaSupport [ "-DUSE_CUDA=ON" "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" ] + ++ lib.optionals cudaSupport [ "-DUSE_CUDA=ON" "-DCUDA_HOST_COMPILER=${cudaPackages.cudatoolkit.cc}/bin/cc" ] + ++ lib.optionals (cudaSupport && lib.versionAtLeast cudaPackages.cudatoolkit.version "11.4.0") [ "-DBUILD_WITH_CUDA_CUB=ON" ] ++ lib.optionals ncclSupport [ "-DUSE_NCCL=ON" ]; inherit doCheck; + # By default, cmake build will run ctests with all checks enabled + # If we're building with cuda, we run ctest manually so that we can skip the GPU tests + checkPhase = lib.optionalString cudaSupport '' + ctest --force-new-ctest-process ${lib.optionalString cudaSupport "-E TestXGBoostLib"} + ''; + installPhase = let libname = "libxgboost${stdenv.hostPlatform.extensions.sharedLibrary}"; in '' |