aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQyriad <qyriad@qyriad.me>2024-05-06 22:59:41 -0600
committerQyriad <qyriad@qyriad.me>2024-05-07 15:31:25 -0600
commit7e940cc1706397787c66aa8a52b3b8f96cfc2b5a (patch)
tree86e288c6cf1bcf9dea415cae0fa5da0c2c656c5c
parentaac32327d5d974cf03fee622558210a37bcdd0e6 (diff)
flake: fix devShell on i686-linux by disabling ClangBuildAnalyzer on it
ClangBuildAnalyzer doesn't build on i686-linux due to `long long int`/`size_t` conversion errors, so let's just exclude it from the devshell on that platform Change-Id: If1077a7b3860db4381999c8e304f6d4b2bc96a05
-rw-r--r--flake.nix7
-rw-r--r--misc/clangbuildanalyzer.nix3
2 files changed, 7 insertions, 3 deletions
diff --git a/flake.nix b/flake.nix
index 3dc9b3ac3..79ac9caea 100644
--- a/flake.nix
+++ b/flake.nix
@@ -408,9 +408,10 @@
pkgs.buildPackages.meson
pkgs.buildPackages.ninja
pkgs.buildPackages.cmake
-
- pkgs.buildPackages.clangbuildanalyzer
- ];
+ ]
+ ++
+ lib.optionals (lib.meta.availableOn pkgs.stdenv.hostPlatform pkgs.buildPackages.clangbuildanalyzer)
+ [ pkgs.buildPackages.clangbuildanalyzer ];
src = null;
diff --git a/misc/clangbuildanalyzer.nix b/misc/clangbuildanalyzer.nix
index cee8a0d77..d73fa8bbb 100644
--- a/misc/clangbuildanalyzer.nix
+++ b/misc/clangbuildanalyzer.nix
@@ -25,6 +25,9 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [ lf- ];
license = lib.licenses.unlicense;
platforms = lib.platforms.unix;
+ # `long long int` != `size_t`
+ # There's no convenient lib.platforms.32bit or anything, but it's easy enough to do ourselves.
+ badPlatforms = lib.filter (plat: (lib.systems.elaborate plat).is32bit) lib.platforms.all;
mainProgram = "ClangBuildAnalyzer";
};
})