pythonPackages.lightgbm: fix build on darwin
This commit is contained in:
parent
d90215a12b
commit
ed23412520
@ -1,10 +1,11 @@
|
|||||||
{ lib
|
{ stdenv
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
, cmake
|
, cmake
|
||||||
, numpy
|
, numpy
|
||||||
, scipy
|
, scipy
|
||||||
, scikitlearn
|
, scikitlearn
|
||||||
|
, llvmPackages ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
@ -20,6 +21,19 @@ buildPythonPackage rec {
|
|||||||
cmake
|
cmake
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# we never actually explicitly call the install command so this is the only way
|
||||||
|
# to inject these options to it - however, openmp-library doesn't appear to have
|
||||||
|
# any effect, so we have to inject it into NIX_LDFLAGS manually below
|
||||||
|
postPatch = stdenv.lib.optionalString stdenv.cc.isClang ''
|
||||||
|
cat >> setup.cfg <<EOF
|
||||||
|
|
||||||
|
[install]
|
||||||
|
openmp-include-dir=${llvmPackages.openmp}/include
|
||||||
|
openmp-library=${llvmPackages.openmp}/lib/libomp.dylib
|
||||||
|
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
numpy
|
numpy
|
||||||
scipy
|
scipy
|
||||||
@ -28,6 +42,8 @@ buildPythonPackage rec {
|
|||||||
|
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
export HOME=$(mktemp -d)
|
export HOME=$(mktemp -d)
|
||||||
|
'' + stdenv.lib.optionalString stdenv.cc.isClang ''
|
||||||
|
export NIX_LDFLAGS="$NIX_LDFLAGS -L${llvmPackages.openmp}/lib -lomp"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# The pypi package doesn't distribute the tests from the GitHub
|
# The pypi package doesn't distribute the tests from the GitHub
|
||||||
@ -35,10 +51,10 @@ buildPythonPackage rec {
|
|||||||
# `make check`.
|
# `make check`.
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework";
|
description = "A fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework";
|
||||||
homepage = https://github.com/Microsoft/LightGBM;
|
homepage = https://github.com/Microsoft/LightGBM;
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with lib.maintainers; [ teh costrouc ];
|
maintainers = with maintainers; [ teh costrouc ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user