include-what-you-use: 0.19 -> 0.21
also add a compiler-wrapper similar to clang-tools so it can find dependencies in nix-shell environments.
This commit is contained in:
parent
6f6435de1c
commit
f37be82593
3 changed files with 39 additions and 3 deletions
|
@ -3,11 +3,11 @@
|
|||
stdenv.mkDerivation rec {
|
||||
pname = "include-what-you-use";
|
||||
# Also bump llvmPackages in all-packages.nix to the supported version!
|
||||
version = "0.19";
|
||||
version = "0.21";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/downloads/${pname}-${version}.src.tar.gz";
|
||||
hash = "sha256-KxAVe2DqCK3AjjiWtJIcc/yt1exOtlKymjQSnVAeXuA=";
|
||||
hash = "sha256-ajUZGf+JvafJXIlUcmAYaNs9qrlqlYs44DYokNWHYLY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -17,11 +17,21 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = with llvmPackages; [ cmake llvm.dev llvm python3 ];
|
||||
buildInputs = with llvmPackages; [ libclang clang-unwrapped python3 ];
|
||||
|
||||
clang = llvmPackages.clang;
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_PREFIX_PATH=${llvmPackages.llvm.dev}" ];
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace $out/bin/iwyu_tool.py \
|
||||
--replace "'include-what-you-use'" "'$out/bin/include-what-you-use'"
|
||||
|
||||
|
||||
mv $out/bin/include-what-you-use $out/bin/.include-what-you-use-unwrapped
|
||||
mv $out/bin/iwyu_tool.py $out/bin/.iwyu_tool.py-unwrapped
|
||||
substituteAll ${./wrapper} $out/bin/include-what-you-use
|
||||
ln -s $out/bin/include-what-you-use $out/bin/iwyu_tool.py
|
||||
chmod +x $out/bin/include-what-you-use
|
||||
patchShebangs $out/bin/include-what-you-use
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
26
pkgs/development/tools/analysis/include-what-you-use/wrapper
Executable file
26
pkgs/development/tools/analysis/include-what-you-use/wrapper
Executable file
|
@ -0,0 +1,26 @@
|
|||
#!/bin/sh
|
||||
|
||||
buildcpath() {
|
||||
local path after
|
||||
while (( $# )); do
|
||||
case $1 in
|
||||
-isystem)
|
||||
shift
|
||||
path=$path${path:+':'}$1
|
||||
;;
|
||||
-idirafter)
|
||||
shift
|
||||
after=$after${after:+':'}$1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
echo $path${after:+':'}$after
|
||||
}
|
||||
|
||||
export CPATH=${CPATH}${CPATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE} \
|
||||
$(<@clang@/nix-support/libc-cflags)):@clang@/resource-root/include
|
||||
export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}${CPLUS_INCLUDE_PATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE} \
|
||||
$(<@clang@/nix-support/libcxx-cxxflags) \
|
||||
$(<@clang@/nix-support/libc-cflags)):@clang@/resource-root/include
|
||||
exec -a "$0" @out@/bin/.$(basename $0)-unwrapped "$@"
|
|
@ -19390,7 +19390,7 @@ with pkgs;
|
|||
img = callPackage ../development/tools/img { };
|
||||
|
||||
include-what-you-use = callPackage ../development/tools/analysis/include-what-you-use {
|
||||
llvmPackages = llvmPackages_15;
|
||||
llvmPackages = llvmPackages_17;
|
||||
};
|
||||
|
||||
indent = callPackage ../development/tools/misc/indent { };
|
||||
|
|
Loading…
Reference in a new issue