summary refs log tree commit diff
path: root/pkgs/development/libraries/xgboost
diff options
context:
space:
mode:
authorAndrew Dunham <andrew@du.nham.ca>2018-03-14 18:17:55 -0700
committerNikolay Amiantov <ab@fmap.me>2018-03-15 04:17:55 +0300
commit92a77abd31e6c252390b1baa8a25553909e3f344 (patch)
tree04490a34ccf4525cebb7adc66aff8f196e6edb9f /pkgs/development/libraries/xgboost
parent80582c600dadd6bd2a15f64a4e3e7da074adc71d (diff)
downloadnixpkgs-92a77abd31e6c252390b1baa8a25553909e3f344.tar
nixpkgs-92a77abd31e6c252390b1baa8a25553909e3f344.tar.gz
nixpkgs-92a77abd31e6c252390b1baa8a25553909e3f344.tar.bz2
nixpkgs-92a77abd31e6c252390b1baa8a25553909e3f344.tar.lz
nixpkgs-92a77abd31e6c252390b1baa8a25553909e3f344.tar.xz
nixpkgs-92a77abd31e6c252390b1baa8a25553909e3f344.tar.zst
nixpkgs-92a77abd31e6c252390b1baa8a25553909e3f344.zip
xgboost: Enable building on Darwin (#37046)
* xgboost: Enable building on Darwin

* Review feedback: pass `xgboost` to the python package
Diffstat (limited to 'pkgs/development/libraries/xgboost')
-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 0d86c862891..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 = [ "x86_64-linux" "i686-linux" ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
     maintainers = with maintainers; [ abbradar ];
   };
 }