diff --git a/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix b/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix new file mode 100644 index 000000000000..771d6227a86c --- /dev/null +++ b/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix @@ -0,0 +1,46 @@ +{ lib, stdenv, fetchFromGitHub, cmake, boost169, rapidjson, zlib }: + +stdenv.mkDerivation rec { + pname = "vowpal-wabbit"; + version = "8.9.2"; + + src = fetchFromGitHub { + owner = "VowpalWabbit"; + repo = "vowpal_wabbit"; + rev = version; + sha256 = "0ng1kip7sh3br85691xvszxd6lhv8nhfkgqkpwxd89wy85znzhmd"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + boost169 + rapidjson + zlib + ]; + + # -DBUILD_TESTS=OFF is set as both it saves time in the build and the default + # cmake flags appended by the builder include -DBUILD_TESTING=OFF for which + # this is the equivalent flag. + cmakeFlags = [ + "-DVW_INSTALL=ON" + "-DBUILD_TESTS=OFF" + "-DBUILD_JAVA=OFF" + "-DBUILD_PYTHON=OFF" + "-DUSE_LATEST_STD=ON" + "-DRAPIDJSON_SYS_DEP=ON" + ]; + + meta = with lib; { + broken = stdenv.isAarch32 || stdenv.isAarch64; + description = "Machine learning system focused on online reinforcement learning"; + homepage = "https://github.com/VowpalWabbit/vowpal_wabbit/"; + license = licenses.bsd3; + longDescription = '' + Machine learning system which pushes the frontier of machine learning with techniques such as online, + hashing, allreduce, reductions, learning2search, active, and interactive and reinforcement learning + ''; + maintainers = with maintainers; [ jackgerrits ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 218b2dc89ce1..14ef0ad7986a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3987,6 +3987,8 @@ in vorta = libsForQt5.callPackage ../applications/backup/vorta { }; + vowpal-wabbit = callPackage ../applications/science/machine-learning/vowpal-wabbit { }; + utahfs = callPackage ../applications/networking/utahfs { }; wakeonlan = callPackage ../tools/networking/wakeonlan { };