From 6827e8d3e8ffd6c90b92d11bd9ded3ee2a227413 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 15 Nov 2025 22:12:24 +0000 Subject: [PATCH] libbladeRF: fix `clang` build Without the change the build fails as https://hydra.nixos.org/build/313370704: /private/tmp/nix-build-libbladeRF-2025.10.drv-0/source/host/utilities/bladeRF-cli/src/cmd/flash_image.c:71:35: error: overlapping comparisons always evaluate to true [-Werror,-Wtautological-overlap-compare] 71 | if (val[i] >= 'a' || val[i] <= 'f') { | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ --- pkgs/by-name/li/libbladeRF/clang-fix.patch | 12 ++++++++++++ pkgs/by-name/li/libbladeRF/package.nix | 5 +++++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/by-name/li/libbladeRF/clang-fix.patch diff --git a/pkgs/by-name/li/libbladeRF/clang-fix.patch b/pkgs/by-name/li/libbladeRF/clang-fix.patch new file mode 100644 index 000000000000..cb792e0cbc3e --- /dev/null +++ b/pkgs/by-name/li/libbladeRF/clang-fix.patch @@ -0,0 +1,12 @@ +Fix clang build: https://github.com/Nuand/bladeRF/pull/1045.patch +--- a/host/utilities/bladeRF-cli/src/cmd/flash_image.c ++++ b/host/utilities/bladeRF-cli/src/cmd/flash_image.c +@@ -68,7 +68,7 @@ static int handle_param(const char *param, char *val, + status = CLI_RET_INVPARAM; + } else { + for (i = 0; i < len && status == 0; i++) { +- if (val[i] >= 'a' || val[i] <= 'f') { ++ if (val[i] >= 'a' && val[i] <= 'f') { + val[i] -= 'a' - 'A'; + } else if (!((val[i] >= '0' && val[i] <= '9') || + (val[i] >= 'A' && val[i] <= 'F'))) { diff --git a/pkgs/by-name/li/libbladeRF/package.nix b/pkgs/by-name/li/libbladeRF/package.nix index 4ae2c179ad30..1e4d5089c2ce 100644 --- a/pkgs/by-name/li/libbladeRF/package.nix +++ b/pkgs/by-name/li/libbladeRF/package.nix @@ -26,6 +26,11 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + patches = [ + # fix clang build: https://github.com/Nuand/bladeRF/pull/1045 + ./clang-fix.patch + ]; + nativeBuildInputs = [ cmake pkg-config