From 7f706a07d27b4d44dcc55cf4c832fe8d98569214 Mon Sep 17 00:00:00 2001 From: Manuel Frischknecht Date: Sun, 26 Nov 2023 19:46:45 +0100 Subject: kapacitor: fix build of embedded `libflux` dependency with current rust The embedded `libflux` dependency of `kapacitor` fails to build with more current rust tooling due to an unneeded `.clone()` call that is promoted into an error message by a strict linting build config. This introduces a patch that removes the offending method call. The issue is already resolved upstream, but even the current `kapacitor` version still depends on this specific version of `libflux` [1], and the respective git commit contains a lot of other (automated) changes [2], so cherry-picking the patch via a GitHub URL seems even more brittle. [1]: https://github.com/influxdata/kapacitor/blob/v1.7.1/go.mod#L26 [2]: https://github.com/influxdata/flux/commit/e7f7023848929e16ad5bd3b41d217847bd4fd72b#diff-96572e971d9e19b54290a434debbf7db054b21c9ce19035159542756ffb8ab87 (cherry picked from commit 8e6e709ca1fcdb1d3a75b117c90cce769cd6b65a) --- pkgs/servers/monitoring/kapacitor/default.nix | 10 ++++++++++ .../kapacitor/fix-linting-error-on-unneeded-clone.patch | 13 +++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/servers/monitoring/kapacitor/fix-linting-error-on-unneeded-clone.patch (limited to 'pkgs/servers') diff --git a/pkgs/servers/monitoring/kapacitor/default.nix b/pkgs/servers/monitoring/kapacitor/default.nix index 4adaefa053cb9..663407f712f95 100644 --- a/pkgs/servers/monitoring/kapacitor/default.nix +++ b/pkgs/servers/monitoring/kapacitor/default.nix @@ -20,6 +20,16 @@ let hash = "sha256-v9MUR+PcxAus91FiHYrMN9MbNOTWewh7MT6/t/QWQcM="; }; patches = [ + # This fixes a linting error due to an unneeded call to `.clone()` + # that gets enforced by a strict `deny(warnings)` build config. + # This is already fixed with newer versions of `libflux`, but it + # has been changed in a giant commit with a lot of autmated changes: + # https://github.com/influxdata/flux/commit/e7f7023848929e16ad5bd3b41d217847bd4fd72b#diff-96572e971d9e19b54290a434debbf7db054b21c9ce19035159542756ffb8ab87 + # + # Can be removed as soon as kapacitor depends on a newer version of `libflux`, cf: + # https://github.com/influxdata/kapacitor/blob/v1.7.0/go.mod#L26 + ./fix-linting-error-on-unneeded-clone.patch + # https://github.com/influxdata/flux/pull/5273 # fix compile error with Rust 1.64 (fetchpatch { diff --git a/pkgs/servers/monitoring/kapacitor/fix-linting-error-on-unneeded-clone.patch b/pkgs/servers/monitoring/kapacitor/fix-linting-error-on-unneeded-clone.patch new file mode 100644 index 0000000000000..23391f0f4f384 --- /dev/null +++ b/pkgs/servers/monitoring/kapacitor/fix-linting-error-on-unneeded-clone.patch @@ -0,0 +1,13 @@ +diff --git a/flux-core/src/semantic/flatbuffers/types.rs b/flux-core/src/semantic/flatbuffers/types.rs +index c3eecf06..9baf4070 100644 +--- a/flux-core/src/semantic/flatbuffers/types.rs ++++ b/flux-core/src/semantic/flatbuffers/types.rs +@@ -715,7 +715,7 @@ mod tests { + + fn test_serde(expr: &'static str) { + // let want = parser::parse(expr).unwrap(); +- let mut p = parser::Parser::new(expr.clone()); ++ let mut p = parser::Parser::new(expr); + + let typ_expr = p.parse_type_expression(); + if let Err(err) = ast::check::check(ast::walk::Node::TypeExpression(&typ_expr)) { -- cgit 1.4.1