summary refs log tree commit diff
path: root/pkgs/development/python-modules/lightgbm
diff options
context:
space:
mode:
authorRobert Scott <robert.scott@digital.cabinet-office.gov.uk>2019-07-13 19:02:06 +0100
committerRobert Scott <robert.scott@digital.cabinet-office.gov.uk>2019-07-13 19:02:06 +0100
commited23412520f4a38dac88b9b16f3c34b14428f9b5 (patch)
tree69df5d3a278d780c835a59d259660644ce01a360 /pkgs/development/python-modules/lightgbm
parentd90215a12bb55fff5f9e4e954ae49b1e872bdeff (diff)
downloadnixpkgs-ed23412520f4a38dac88b9b16f3c34b14428f9b5.tar
nixpkgs-ed23412520f4a38dac88b9b16f3c34b14428f9b5.tar.gz
nixpkgs-ed23412520f4a38dac88b9b16f3c34b14428f9b5.tar.bz2
nixpkgs-ed23412520f4a38dac88b9b16f3c34b14428f9b5.tar.lz
nixpkgs-ed23412520f4a38dac88b9b16f3c34b14428f9b5.tar.xz
nixpkgs-ed23412520f4a38dac88b9b16f3c34b14428f9b5.tar.zst
nixpkgs-ed23412520f4a38dac88b9b16f3c34b14428f9b5.zip
pythonPackages.lightgbm: fix build on darwin
Diffstat (limited to 'pkgs/development/python-modules/lightgbm')
-rw-r--r--pkgs/development/python-modules/lightgbm/default.nix22
1 files changed, 19 insertions, 3 deletions
diff --git a/pkgs/development/python-modules/lightgbm/default.nix b/pkgs/development/python-modules/lightgbm/default.nix
index fee314aa6c3..10dbcafd04b 100644
--- a/pkgs/development/python-modules/lightgbm/default.nix
+++ b/pkgs/development/python-modules/lightgbm/default.nix
@@ -1,10 +1,11 @@
-{ lib
+{ stdenv
 , buildPythonPackage
 , fetchPypi
 , cmake
 , numpy
 , scipy
 , scikitlearn
+, llvmPackages ? null
 }:
 
 buildPythonPackage rec {
@@ -20,6 +21,19 @@ buildPythonPackage rec {
     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 = [
     numpy
     scipy
@@ -28,6 +42,8 @@ buildPythonPackage rec {
 
   postConfigure = ''
     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
@@ -35,10 +51,10 @@ buildPythonPackage rec {
   # `make check`.
   doCheck = false;
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "A fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework";
     homepage = https://github.com/Microsoft/LightGBM;
     license = licenses.mit;
-    maintainers = with lib.maintainers; [ teh costrouc ];
+    maintainers = with maintainers; [ teh costrouc ];
   };
 }