From 62f16fe14300391312ba144b465b1c564dd1f6bc Mon Sep 17 00:00:00 2001 From: William Tan <1284324+Ninja3047@users.noreply.github.com> Date: Wed, 18 Mar 2026 17:00:15 -0400 Subject: [PATCH] fix: use full version for LLVM 15 clang resource dir LLVM 16+ changed the resource directory path from lib/clang/ (e.g. 15.0.7) to lib/clang/ (e.g. 16). Use release_version from nixpkgs to match the upstream nixpkgs clang wrapper logic (D125860). Co-Authored-By: Claude Opus 4.6 (1M context) --- flake.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index fef9f03a..d5b062d4 100644 --- a/flake.nix +++ b/flake.nix @@ -95,6 +95,11 @@ let llvmPkgs = pkgs.${"llvmPackages_${toString ver}"}; majorStr = toString ver; + # LLVM 16+ uses major-only version in resource dir (D125860) + clangVersion = + if lib.versionOlder llvmPkgs.release_version "16" + then llvmPkgs.release_version + else majorStr; in llvmPkgs.stdenv.mkDerivation { pname = "remill"; version = @@ -125,7 +130,7 @@ "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DCLANG_PATH:FILEPATH=${pkgs.writeShellScript "bc-clang" '' exec ${llvmPkgs.clang-unwrapped}/bin/clang++ \ - -resource-dir ${llvmPkgs.clang-unwrapped.lib}/lib/clang/${majorStr} \ + -resource-dir ${llvmPkgs.clang-unwrapped.lib}/lib/clang/${clangVersion} \ "$@" ''}" "-DGIT_FAIL_IF_NONZERO_EXIT=FALSE"