diff options
author | Qyriad <qyriad@qyriad.me> | 2024-05-06 22:59:41 -0600 |
---|---|---|
committer | Qyriad <qyriad@qyriad.me> | 2024-05-07 15:31:25 -0600 |
commit | 7e940cc1706397787c66aa8a52b3b8f96cfc2b5a (patch) | |
tree | 86e288c6cf1bcf9dea415cae0fa5da0c2c656c5c | |
parent | aac32327d5d974cf03fee622558210a37bcdd0e6 (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.nix | 7 | ||||
-rw-r--r-- | misc/clangbuildanalyzer.nix | 3 |
2 files changed, 7 insertions, 3 deletions
@@ -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"; }; }) |