final: prev: let lib = final.lib; fixLLVM = pkg: let stdenv = pkg.stdenv or final.stdenv; isCross = stdenv.hostPlatform != stdenv.buildPlatform; in pkg.overrideAttrs (old: if !isCross then {} else { cmakeFlags = let flags = old.cmakeFlags or []; filtered = builtins.filter (f: !(lib.hasPrefix "-DLLVM_TABLEGEN=" f)) flags; tblgen = "${final.buildPackages.llvmPackages_9.llvm}/bin/llvm-tblgen"; in filtered ++ [ "-DLLVM_TABLEGEN=${tblgen}" ]; }); in { llvmPackages_9 = prev.llvmPackages_9 // { llvm = fixLLVM prev.llvmPackages_9.llvm; }; llvm_9 = final.llvmPackages_9.llvm; }