diff --git a/pkgs/by-name/vo/vowpal-wabbit/package.nix b/pkgs/by-name/vo/vowpal-wabbit/package.nix index dec53f1606100a..106c0b2c17f11e 100644 --- a/pkgs/by-name/vo/vowpal-wabbit/package.nix +++ b/pkgs/by-name/vo/vowpal-wabbit/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, cmake, boost, eigen, @@ -13,32 +12,22 @@ stdenv.mkDerivation rec { pname = "vowpal-wabbit"; - version = "9.6.0"; + version = "9.10.0"; src = fetchFromGitHub { owner = "VowpalWabbit"; repo = "vowpal_wabbit"; - rev = version; - sha256 = "sha256-iSsxpeTRZjIhZaYBeoKLHl9j1aBIXWjONmAInmKvU/I="; + tag = version; + hash = "sha256-HKxhEB4ph2tOWgvYngYTcv0OCMISj3KqZpP2zsEUPs0="; + fetchSubmodules = true; }; - patches = [ - # Fix x86_64-linux build by adding missing include - # https://github.com/VowpalWabbit/vowpal_wabbit/pull/4275 - (fetchpatch { - url = "https://github.com/VowpalWabbit/vowpal_wabbit/commit/0cb410dfc885ca1ecafd1f8a962b481574fb3b82.patch"; - sha256 = "sha256-bX3eJ+vMTEMAo3EiESQTDryBP0h2GtnMa/Fz0rTeaNY="; - }) - - # Fix gcc-13 build: - # https://github.com/VowpalWabbit/vowpal_wabbit/pull/4657 - (fetchpatch { - name = "gcc-13.patch"; - url = "https://github.com/VowpalWabbit/vowpal_wabbit/commit/a541d85a66088d2b74fa2562d32fecb68af33c58.patch"; - includes = [ "vowpalwabbit/core/include/vw/core/named_labels.h" ]; - hash = "sha256-JAuLDe5JtlE7/043RSIKM20Qr77rmuE0rVg/DGc95MY="; - }) - ]; + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace-fail "set(VW_CXX_STANDARD 11)" "set(VW_CXX_STANDARD 14)" + substituteInPlace ext_libs/ext_libs.cmake \ + --replace-fail "add_library(RapidJSON INTERFACE)" "" + ''; nativeBuildInputs = [ cmake ]; @@ -61,15 +50,15 @@ stdenv.mkDerivation rec { "-DVW_EIGEN_SYS_DEP=ON" ]; - meta = with lib; { + meta = { description = "Machine learning system focused on online reinforcement learning"; homepage = "https://github.com/VowpalWabbit/vowpal_wabbit/"; - license = licenses.bsd3; + license = lib.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; + maintainers = with lib.maintainers; [ jackgerrits ]; + platforms = lib.platforms.unix; }; }