From 6c3175a04289d9564cc1572a6b336ae8430591a3 Mon Sep 17 00:00:00 2001 From: MathewHDYT <48954742+MathewHDYT@users.noreply.github.com> Date: Sat, 24 May 2025 16:57:44 +0200 Subject: [PATCH] smatch: fix build by applying custom fix --- pkgs/by-name/sm/smatch/package.nix | 1 + pkgs/by-name/sm/smatch/remove_const.patch | 32 +++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/by-name/sm/smatch/remove_const.patch diff --git a/pkgs/by-name/sm/smatch/package.nix b/pkgs/by-name/sm/smatch/package.nix index b373f462a365..fe6514e15d92 100644 --- a/pkgs/by-name/sm/smatch/package.nix +++ b/pkgs/by-name/sm/smatch/package.nix @@ -29,6 +29,7 @@ stdenv.mkDerivation { ]; nativeBuildInputs = [ pkg-config ]; + patches = [ ./remove_const.patch ]; buildInputs = [ diff --git a/pkgs/by-name/sm/smatch/remove_const.patch b/pkgs/by-name/sm/smatch/remove_const.patch new file mode 100644 index 000000000000..6f2416d69187 --- /dev/null +++ b/pkgs/by-name/sm/smatch/remove_const.patch @@ -0,0 +1,32 @@ +diff --git a/smatch.h b/smatch.h +index 36ae3497..ceb1907c 100644 +--- a/smatch.h ++++ b/smatch.h +@@ -1375,7 +1375,7 @@ bool buf_comp_has_bytes(struct expression *buf, struct expression *var); + bool buf_comp2_has_bytes(struct expression *buf_expr, struct expression *var); + + /* smatch_untracked_param.c */ +-void mark_untracked(struct expression *expr, int param, const char *key, const char *value); ++void mark_untracked(struct expression *expr, int param, char *key, char *value); + void add_untracked_param_hook(void (func)(struct expression *call, int param)); + void add_lost_param_hook(void (func)(struct expression *call, int param)); + void mark_all_params_untracked(int return_id, char *return_ranges, struct expression *expr); +diff --git a/smatch_untracked_param.c b/smatch_untracked_param.c +index 4bb3c244..d24958e7 100644 +--- a/smatch_untracked_param.c ++++ b/smatch_untracked_param.c +@@ -120,12 +120,12 @@ free: + + } + +-void mark_untracked(struct expression *expr, int param, const char *key, const char *value) ++void mark_untracked(struct expression *expr, int param, char *key, char *value) + { + mark_untracked_lost(expr, param, key, UNTRACKED_PARAM); + } + +-void mark_lost(struct expression *expr, int param, const char *key, const char *value) ++void mark_lost(struct expression *expr, int param, char *key, char *value) + { + mark_untracked_lost(expr, param, key, LOST_PARAM); + }