at master 68 lines 2.1 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 llvmPackages, 6 cmake, 7 makeWrapper, 8 versionCheckHook, 9 gitUpdater, 10}: 11 12stdenv.mkDerivation (finalAttrs: { 13 pname = "clazy"; 14 version = "1.15"; 15 16 src = fetchFromGitHub { 17 owner = "KDE"; 18 repo = "clazy"; 19 tag = finalAttrs.version; 20 hash = "sha256-i/tqH2RHU+LwvMFI8ft92j0i04mQxLVIyrGXlqzMGWs="; 21 }; 22 23 buildInputs = [ 24 llvmPackages.llvm 25 llvmPackages.libclang 26 ]; 27 28 nativeBuildInputs = [ 29 cmake 30 makeWrapper 31 ]; 32 33 postInstall = '' 34 wrapProgram $out/bin/clazy \ 35 --suffix PATH : "${llvmPackages.clang}/bin/" \ 36 --suffix CPATH : "$(<${llvmPackages.clang}/nix-support/libc-cflags)" \ 37 --suffix CPATH : "${llvmPackages.clang}/resource-root/include" \ 38 --suffix CPLUS_INCLUDE_PATH : "$(<${llvmPackages.clang}/nix-support/libcxx-cxxflags)" \ 39 --suffix CPLUS_INCLUDE_PATH : "$(<${llvmPackages.clang}/nix-support/libc-cflags)" \ 40 --suffix CPLUS_INCLUDE_PATH : "${llvmPackages.clang}/resource-root/include" 41 42 wrapProgram $out/bin/clazy-standalone \ 43 --suffix CPATH : "$(<${llvmPackages.clang}/nix-support/libc-cflags)" \ 44 --suffix CPATH : "${llvmPackages.clang}/resource-root/include" \ 45 --suffix CPLUS_INCLUDE_PATH : "$(<${llvmPackages.clang}/nix-support/libcxx-cxxflags)" \ 46 --suffix CPLUS_INCLUDE_PATH : "$(<${llvmPackages.clang}/nix-support/libc-cflags)" \ 47 --suffix CPLUS_INCLUDE_PATH : "${llvmPackages.clang}/resource-root/include" 48 ''; 49 50 nativeInstallCheckInputs = [ 51 versionCheckHook 52 ]; 53 versionCheckProgramArg = "--version"; 54 doInstallCheck = true; 55 56 passthru = { 57 updateScript = gitUpdater { }; 58 }; 59 60 meta = { 61 description = "Qt-oriented static code analyzer based on the Clang framework"; 62 homepage = "https://github.com/KDE/clazy"; 63 changelog = "https://github.com/KDE/clazy/blob/${finalAttrs.version}/Changelog"; 64 license = lib.licenses.lgpl2Plus; 65 maintainers = [ lib.maintainers.cadkin ]; 66 platforms = lib.platforms.linux; 67 }; 68})