From 2c46f7a938d5ee1ced9acd6538bc8e1241d7eedd 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. (cherry picked from commit 5b15ea1e00e33223d52c3aabb821de402265b326) --- 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,