From 5b15ea1e00e33223d52c3aabb821de402265b326 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 7 Jun 2024 12:41:17 +0200 Subject: [PATCH] homebank: fix clang build Labels always require a statement behind that. GCC permits declarations for some reason, but it's against the standard and clang (rightfully) rejects this. Adding an empty statement to work around this. --- pkgs/applications/office/homebank/default.nix | 4 ++++ .../office/homebank/fix-clang-build.diff | 23 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/applications/office/homebank/fix-clang-build.diff diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix index 99aaa7fa3bfe..000942ff68bd 100644 --- a/pkgs/applications/office/homebank/default.nix +++ b/pkgs/applications/office/homebank/default.nix @@ -9,6 +9,10 @@ stdenv.mkDerivation rec { hash = "sha256-YMNf6v40GuyP7Z3ksKh13A9cFnTF9YBP9xkKbGxT3AE="; }; + patches = [ + ./fix-clang-build.diff + ]; + nativeBuildInputs = [ pkg-config wrapGAppsHook3 intltool ]; buildInputs = [ gtk libofx libsoup_3 gnome.adwaita-icon-theme]; diff --git a/pkgs/applications/office/homebank/fix-clang-build.diff b/pkgs/applications/office/homebank/fix-clang-build.diff new file mode 100644 index 000000000000..1b8c7fd359e2 --- /dev/null +++ b/pkgs/applications/office/homebank/fix-clang-build.diff @@ -0,0 +1,23 @@ +C Standard says in 6.8.1: + + labeled-statement: + identifier : statement + case constant-expression : statement + default : statement + +Notably, only expressions and no declarations are allowed. A common workaround for this +is adding an empty statement. + +diff --git a/src/rep-budget.c b/src/rep-budget.c +index eb5cce6..61e2e77 100644 +--- a/src/rep-budget.c ++++ b/src/rep-budget.c +@@ -255,7 +255,7 @@ gint tmpmode; + } + else + { +-libname: ++libname: ; + gchar *name; + + gtk_tree_model_get(model, iter,