Merge pull request #243385 from nviets/lightgbm4

lightgbm: 3.3.5 -> 4.1.0

authored by

Rick van Schijndel and committed by
GitHub
91ac36c5 af4ba9ec

+23 -15
+23 -15
pkgs/development/libraries/lightgbm/default.nix
··· 1 1 { config, stdenv, lib, fetchFromGitHub, cmake, gtest, doCheck ? true 2 - , cudaSupport ? config.cudaSupport, openclSupport ? false, mpiSupport ? false, javaWrapper ? false, hdfsSupport ? false 3 - , rLibrary ? false, cudaPackages, opencl-headers, ocl-icd, boost, llvmPackages, openmpi, openjdk, swig, hadoop, R, rPackages }: 2 + , cudaSupport ? config.cudaSupport or false, openclSupport ? false 3 + , mpiSupport ? false, javaWrapper ? false, hdfsSupport ? false, pythonLibrary ? false 4 + , rLibrary ? false, cudaPackages, opencl-headers, ocl-icd, boost 5 + , llvmPackages, openmpi, openjdk, swig, hadoop, R, rPackages, pandoc }: 4 6 5 7 assert doCheck -> mpiSupport != true; 6 8 assert openclSupport -> cudaSupport != true; ··· 21 23 # in \ 22 24 # rWrapper.override{ packages = [ lgbm ]; }" 23 25 pname = lib.optionalString rLibrary "r-" + pnameBase; 24 - version = "3.3.5"; 26 + version = "4.1.0"; 25 27 26 28 src = fetchFromGitHub { 27 29 owner = "microsoft"; 28 30 repo = pnameBase; 29 31 rev = "v${version}"; 30 32 fetchSubmodules = true; 31 - hash = "sha256-QRuBbMVtD5J5ECw+bAp57bWaRc/fATMcTq+AKikhj1I="; 33 + hash = "sha256-AhXe/Mlor/i0y84wI9jVPKSnyVbSyAV52Y4yiNm7yLQ="; 32 34 }; 33 35 34 36 nativeBuildInputs = [ cmake ] ··· 38 40 ++ lib.optionals hdfsSupport [ hadoop ] 39 41 ++ lib.optionals (hdfsSupport || javaWrapper) [ openjdk ] 40 42 ++ lib.optionals javaWrapper [ swig ] 41 - ++ lib.optionals rLibrary [ R ]; 43 + ++ lib.optionals rLibrary [ R pandoc ]; 42 44 43 45 buildInputs = [ gtest ] 44 46 ++ lib.optional cudaSupport cudaPackages.cudatoolkit; 45 47 46 48 propagatedBuildInputs = lib.optionals rLibrary [ 47 49 rPackages.data_table 50 + rPackages.rmarkdown 48 51 rPackages.jsonlite 49 52 rPackages.Matrix 50 53 rPackages.R6 ··· 62 65 external_libs/compute/include/boost/compute/cl_ext.hpp \ 63 66 --replace "include <OpenCL/" "include <CL/" 64 67 substituteInPlace build_r.R \ 68 + --replace "shQuote(normalizePath" "shQuote(type = 'cmd', string = normalizePath" \ 65 69 --replace "file.path(getwd(), \"lightgbm_r\")" "'$out/tmp'" \ 66 70 --replace \ 67 71 "install_args <- c(\"CMD\", \"INSTALL\", \"--no-multiarch\", \"--with-keep.source\", tarball)" \ ··· 74 78 ++ lib.optionals mpiSupport [ "-DUSE_MPI=ON" ] 75 79 ++ lib.optionals hdfsSupport [ 76 80 "-DUSE_HDFS=ON" 77 - "-DHDFS_LIB=${hadoop}/lib/hadoop-3.3.1/lib/native/libhdfs.so" 78 - "-DHDFS_INCLUDE_DIR=${hadoop}/lib/hadoop-3.3.1/include" ] 79 - ++ lib.optionals javaWrapper [ "-DUSE_SWIG=ON" ] 80 - ++ lib.optionals rLibrary [ "-D__BUILD_FOR_R=ON" ]; 81 + "-DHDFS_LIB=${hadoop}/lib/hadoop-${hadoop.version}/lib/native/libhdfs.so" 82 + "-DHDFS_INCLUDE_DIR=${hadoop}/lib/hadoop-${hadoop.version}/include" ] 83 + ++ lib.optionals javaWrapper [ 84 + "-DUSE_SWIG=ON" 85 + # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ 86 + "-DCMAKE_SKIP_BUILD_RPATH=ON" ] 87 + ++ lib.optionals rLibrary [ "-D__BUILD_FOR_R=ON" ] 88 + ++ lib.optionals pythonLibrary [ "-D__BUILD_FOR_PYTHON=ON" ]; 81 89 82 90 configurePhase = lib.optionals rLibrary '' 83 91 export R_LIBS_SITE="$out/library:$R_LIBS_SITE''${R_LIBS_SITE:+:}" ··· 98 106 mkdir -p $out/bin 99 107 cp -r ../include $out 100 108 install -Dm755 ../lib_lightgbm.so $out/lib/lib_lightgbm.so 109 + '' + lib.optionalString (!rLibrary && !pythonLibrary) '' 101 110 install -Dm755 ../lightgbm $out/bin/lightgbm 102 111 '' + lib.optionalString javaWrapper '' 103 112 cp -r java $out 104 113 cp -r com $out 105 114 cp -r lightgbmlib.jar $out 106 115 '' + '' 107 - '' + lib.optionalString javaWrapper '' 108 - cp -r java $out 109 - cp -r com $out 110 - cp -r lightgbmlib.jar $out 111 116 '' + lib.optionalString rLibrary '' 112 117 mkdir $out 113 118 mkdir $out/tmp 114 119 mkdir $out/library 115 120 mkdir $out/library/lightgbm 116 121 '' + lib.optionalString (rLibrary && (!openclSupport)) '' 117 - Rscript build_r.R 122 + Rscript build_r.R \ 123 + -j$NIX_BUILD_CORES 118 124 rm -rf $out/tmp 119 125 '' + lib.optionalString (rLibrary && openclSupport) '' 120 126 Rscript build_r.R --use-gpu \ 121 127 --opencl-library=${ocl-icd}/lib/libOpenCL.so \ 122 - --boost-librarydir=${boost} 128 + --opencl-include-dir=${opencl-headers}/include \ 129 + --boost-librarydir=${boost} \ 130 + -j$NIX_BUILD_CORES 123 131 rm -rf $out/tmp 124 132 '' + '' 125 133 runHook postInstall