nixpkgs/pkgs/development/python-modules/xgboost/default.nix
Andrew Dunham 92a77abd31 xgboost: Enable building on Darwin (#37046)
* xgboost: Enable building on Darwin

* Review feedback: pass `xgboost` to the python package
2018-03-15 04:17:55 +03:00

35 lines
744 B
Nix

{ stdenv
, lib
, pkgs
, buildPythonPackage
, nose
, scipy
, xgboost
}:
buildPythonPackage rec {
name = "xgboost-${version}";
inherit (xgboost) version src meta;
propagatedBuildInputs = [ scipy ];
checkInputs = [ nose ];
postPatch = let
libname = if stdenv.isDarwin then "libxgboost.dylib" else "libxgboost.so";
in ''
cd python-package
sed "s/CURRENT_DIR = os.path.dirname(__file__)/CURRENT_DIR = os.path.abspath(os.path.dirname(__file__))/g" -i setup.py
sed "/^LIB_PATH.*/a LIB_PATH = [os.path.relpath(LIB_PATH[0], CURRENT_DIR)]" -i setup.py
cat <<EOF >xgboost/libpath.py
def find_lib_path():
return ["${xgboost}/lib/${libname}"]
EOF
'';
postInstall = ''
rm -rf $out/xgboost
'';
}