summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2018-03-05 04:55:24 +0300
committerNikolay Amiantov <ab@fmap.me>2018-03-05 04:55:26 +0300
commiteaed0ec08eb11de3fc4c560066d665dde380e742 (patch)
treec8cea1003eacc06c8dcf202223ec96fbc039114b /pkgs
parentf03c5eb88a4f180b05d34ba18a3b2d58e71c7383 (diff)
downloadnixlib-eaed0ec08eb11de3fc4c560066d665dde380e742.tar
nixlib-eaed0ec08eb11de3fc4c560066d665dde380e742.tar.gz
nixlib-eaed0ec08eb11de3fc4c560066d665dde380e742.tar.bz2
nixlib-eaed0ec08eb11de3fc4c560066d665dde380e742.tar.lz
nixlib-eaed0ec08eb11de3fc4c560066d665dde380e742.tar.xz
nixlib-eaed0ec08eb11de3fc4c560066d665dde380e742.tar.zst
nixlib-eaed0ec08eb11de3fc4c560066d665dde380e742.zip
xgboost: 0.60 -> 0.7
Fixes build error.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/xgboost/default.nix26
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix2
3 files changed, 24 insertions, 8 deletions
diff --git a/pkgs/development/libraries/xgboost/default.nix b/pkgs/development/libraries/xgboost/default.nix
index e37991367e6f..6f296bb40b90 100644
--- a/pkgs/development/libraries/xgboost/default.nix
+++ b/pkgs/development/libraries/xgboost/default.nix
@@ -1,23 +1,37 @@
-{ stdenv, fetchgit }:
+{ stdenv, lib, fetchgit, cmake
+, avxSupport ? false
+, cudaSupport ? false, cudatoolkit
+, ncclSupport ? false, nccl
+}:
+
+assert ncclSupport -> cudaSupport;
 
 stdenv.mkDerivation rec {
   name = "xgboost-${version}";
-  version = "0.60";
+  version = "0.7";
 
   # needs submodules
   src = fetchgit {
     url = "https://github.com/dmlc/xgboost";
     rev = "refs/tags/v${version}";
-    sha256 = "0536vfl59n9vlagl1cpdl06c9y19dscwhwdzvi27zk5nc5qb6rdq";
+    sha256 = "1wxh020l4q037hc5z7vgxflb70l41a97anl8g6y4wxb74l5zv61l";
   };
 
   enableParallelBuilding = true;
 
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = lib.optional cudaSupport cudatoolkit
+                ++ lib.optional ncclSupport nccl;
+
+  cmakeFlags = lib.optionals cudaSupport [ "-DUSE_CUDA=ON" "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" ]
+               ++ lib.optional ncclSupport "-DUSE_NCCL=ON";
+
   installPhase = ''
     mkdir -p $out
-    cp -r include $out
-    install -Dm755 lib/libxgboost.so $out/lib/libxgboost.so
-    install -Dm755 xgboost $out/bin/xgboost
+    cp -r ../include $out
+    install -Dm755 ../lib/libxgboost.so $out/lib/libxgboost.so
+    install -Dm755 ../xgboost $out/bin/xgboost
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 970a6d4b18d4..7c8d18856956 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11732,7 +11732,9 @@ with pkgs;
 
   xalanc = callPackage ../development/libraries/xalanc {};
 
-  xgboost = callPackage ../development/libraries/xgboost { };
+  xgboost = callPackage ../development/libraries/xgboost {
+    cudaSupport = config.cudaSupport or false;
+  };
 
   xgeometry-select = callPackage ../tools/X11/xgeometry-select { };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 21233675680e..0ebe122636c8 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -20286,7 +20286,7 @@ EOF
     inherit (pkgs.xgboost) version src meta;
 
     propagatedBuildInputs = with self; [ scipy ];
-    buildInputs = with self; [ nose ];
+    checkInputs = with self; [ nose ];
 
     postPatch = ''
       cd python-package