Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / vowpalwabbit / default.nix
blobaae1d3fdf237106e3d7c136ebbe927d44ef93cbc
1 { stdenv
2 , lib
3 , fetchPypi
4 , buildPythonPackage
5 , cmake
6 , python
7 , zlib
8 , ncurses
9 , docutils
10 , pygments
11 , numpy
12 , scipy
13 , scikit-learn
14 , spdlog
15 , fmt
16 , rapidjson
19 buildPythonPackage rec {
20   pname = "vowpalwabbit";
21   version = "9.9.0";
22   format = "setuptools";
24   src = fetchPypi{
25     inherit pname version;
26     hash = "sha256-YCg2EI4rhEMwcVEzx9ES8Z3CoCddeUFVk4lZ0nuQJUc=";
27   };
29   nativeBuildInputs = [
30     cmake
31   ];
33   buildInputs = [
34     docutils
35     ncurses
36     pygments
37     python.pkgs.boost
38     zlib.dev
39     spdlog
40     fmt
41     rapidjson
42   ];
44   # As we disable configure via cmake, pass explicit global options to enable
45   # spdlog and fmt packages
46   setupPyGlobalFlags = [ "--cmake-options=\"-DSPDLOG_SYS_DEP=ON;-DFMT_SYS_DEP=ON\"" ];
48   propagatedBuildInputs = [
49     numpy
50     scikit-learn
51     scipy
52   ];
54   # Python build script uses CMake, but we don't want CMake to do the
55   # configuration.
56   dontUseCmakeConfigure = true;
58   # Python ctypes.find_library uses DYLD_LIBRARY_PATH.
59   preConfigure = lib.optionalString stdenv.isDarwin ''
60     export DYLD_LIBRARY_PATH="${python.pkgs.boost}/lib"
61   '';
63   checkPhase = ''
64     # check-manifest requires a git clone, not a tarball
65     # check-manifest --ignore "Makefile,PACKAGE.rst,*.cc,tox.ini,tests*,examples*,src*"
66     ${python.interpreter} setup.py check -ms
67   '';
69   meta = with lib; {
70     description = "Vowpal Wabbit is a fast machine learning library for online learning, and this is the python wrapper for the project.";
71     homepage    = "https://github.com/JohnLangford/vowpal_wabbit";
72     license     = licenses.bsd3;
73     broken      = stdenv.isAarch64;
74     maintainers = with maintainers; [ teh ];
75   };