2019-06-16 20:59:06 +01:00
|
|
|
{ stdenv, lib, buildPythonPackage, fetchPypi, python, zlib, clang
|
2018-09-03 20:48:13 +01:00
|
|
|
, ncurses, pytest, docutils, pygments, numpy, scipy, scikitlearn }:
|
2017-02-15 16:49:49 +00:00
|
|
|
|
2018-06-23 14:27:58 +01:00
|
|
|
buildPythonPackage rec {
|
2017-05-27 10:25:35 +01:00
|
|
|
pname = "vowpalwabbit";
|
2019-10-24 07:47:51 +01:00
|
|
|
version = "8.7.0.post1";
|
2017-02-15 16:49:49 +00:00
|
|
|
|
2018-06-23 14:27:58 +01:00
|
|
|
src = fetchPypi{
|
|
|
|
inherit pname version;
|
2019-10-24 07:47:51 +01:00
|
|
|
sha256 = "de9529660858b380127b2bea335b41a29e8f264551315042300022eb4e6524ea";
|
2017-05-27 10:25:35 +01:00
|
|
|
};
|
2018-09-03 14:47:04 +01:00
|
|
|
|
|
|
|
# Should be fixed in next Python release after 8.5.0:
|
|
|
|
# https://github.com/JohnLangford/vowpal_wabbit/pull/1533
|
|
|
|
patches = [
|
|
|
|
./vowpal-wabbit-find-boost.diff
|
|
|
|
];
|
|
|
|
|
2017-05-27 10:25:35 +01:00
|
|
|
# vw tries to write some explicit things to home
|
|
|
|
# python installed: The directory '/homeless-shelter/.cache/pip/http'
|
|
|
|
preInstall = ''
|
|
|
|
export HOME=$PWD
|
|
|
|
'';
|
2017-02-15 16:49:49 +00:00
|
|
|
|
2019-03-11 23:49:01 +00:00
|
|
|
nativeBuildInputs = [ clang ];
|
|
|
|
buildInputs = [ python.pkgs.boost zlib.dev ncurses pytest docutils pygments ];
|
2018-06-23 14:27:58 +01:00
|
|
|
propagatedBuildInputs = [ numpy scipy scikitlearn ];
|
2017-02-15 16:49:49 +00:00
|
|
|
|
2018-09-03 20:48:13 +01:00
|
|
|
# Python ctypes.find_library uses DYLD_LIBRARY_PATH.
|
|
|
|
preConfigure = lib.optionalString stdenv.isDarwin ''
|
|
|
|
export DYLD_LIBRARY_PATH="${python.pkgs.boost}/lib"
|
|
|
|
'';
|
|
|
|
|
2017-05-27 10:25:35 +01:00
|
|
|
checkPhase = ''
|
|
|
|
# check-manifest requires a git clone, not a tarball
|
|
|
|
# check-manifest --ignore "Makefile,PACKAGE.rst,*.cc,tox.ini,tests*,examples*,src*"
|
2018-06-23 14:27:58 +01:00
|
|
|
${python.interpreter} setup.py check -mrs
|
2017-05-27 10:25:35 +01:00
|
|
|
'';
|
2017-02-15 16:49:49 +00:00
|
|
|
|
2017-05-27 10:25:35 +01:00
|
|
|
meta = with lib; {
|
|
|
|
description = "Vowpal Wabbit is a fast machine learning library for online learning, and this is the python wrapper for the project.";
|
|
|
|
homepage = https://github.com/JohnLangford/vowpal_wabbit;
|
|
|
|
license = licenses.bsd3;
|
2018-09-04 06:43:53 +01:00
|
|
|
broken = stdenv.isAarch64;
|
2017-05-27 10:25:35 +01:00
|
|
|
maintainers = with maintainers; [ teh ];
|
|
|
|
};
|
2017-02-15 16:49:49 +00:00
|
|
|
}
|