fa5436e0a7
GitOrigin-RevId: e8057b67ebf307f01bdcc8fba94d94f75039d1f6
53 lines
1.1 KiB
Nix
53 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
pythonOlder,
|
|
cmake,
|
|
numpy,
|
|
scipy,
|
|
hatchling,
|
|
stdenv,
|
|
xgboost,
|
|
}:
|
|
|
|
buildPythonPackage {
|
|
pname = "xgboost";
|
|
format = "pyproject";
|
|
inherit (xgboost) version src meta;
|
|
|
|
disabled = pythonOlder "3.8";
|
|
|
|
nativeBuildInputs = [
|
|
cmake
|
|
hatchling
|
|
];
|
|
buildInputs = [ xgboost ];
|
|
propagatedBuildInputs = [
|
|
numpy
|
|
scipy
|
|
];
|
|
|
|
# Override existing logic for locating libxgboost.so which is not appropriate for Nix
|
|
prePatch =
|
|
let
|
|
libPath = "${xgboost}/lib/libxgboost${stdenv.hostPlatform.extensions.sharedLibrary}";
|
|
in
|
|
''
|
|
echo 'find_lib_path = lambda: ["${libPath}"]' > python-package/xgboost/libpath.py
|
|
'';
|
|
|
|
dontUseCmakeConfigure = true;
|
|
|
|
postPatch = ''
|
|
cd python-package
|
|
'';
|
|
|
|
# test setup tries to download test data with no option to disable
|
|
# (removing sklearn from nativeCheckInputs causes all previously enabled tests to be skipped)
|
|
# and are extremely cpu intensive anyway
|
|
doCheck = false;
|
|
|
|
pythonImportsCheck = [ "xgboost" ];
|
|
|
|
__darwinAllowLocalNetworking = true;
|
|
}
|