summary refs log tree commit diff
path: root/pkgs/development/libraries/xgboost/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/xgboost/default.nix')
-rw-r--r--pkgs/development/libraries/xgboost/default.nix11
1 files changed, 7 insertions, 4 deletions
diff --git a/pkgs/development/libraries/xgboost/default.nix b/pkgs/development/libraries/xgboost/default.nix
index 6f296bb40b9..7865724efa4 100644
--- a/pkgs/development/libraries/xgboost/default.nix
+++ b/pkgs/development/libraries/xgboost/default.nix
@@ -2,6 +2,7 @@
 , avxSupport ? false
 , cudaSupport ? false, cudatoolkit
 , ncclSupport ? false, nccl
+, llvmPackages
 }:
 
 assert ncclSupport -> cudaSupport;
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp;
 
   buildInputs = lib.optional cudaSupport cudatoolkit
                 ++ lib.optional ncclSupport nccl;
@@ -27,10 +28,12 @@ stdenv.mkDerivation rec {
   cmakeFlags = lib.optionals cudaSupport [ "-DUSE_CUDA=ON" "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" ]
                ++ lib.optional ncclSupport "-DUSE_NCCL=ON";
 
-  installPhase = ''
+  installPhase = let
+    libname = if stdenv.isDarwin then "libxgboost.dylib" else "libxgboost.so";
+  in ''
     mkdir -p $out
     cp -r ../include $out
-    install -Dm755 ../lib/libxgboost.so $out/lib/libxgboost.so
+    install -Dm755 ../lib/${libname} $out/lib/${libname}
     install -Dm755 ../xgboost $out/bin/xgboost
   '';
 
@@ -38,7 +41,7 @@ stdenv.mkDerivation rec {
     description = "Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library";
     homepage = https://github.com/dmlc/xgboost;
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
     maintainers = with maintainers; [ abbradar ];
   };
 }