signalbackup-tools: 20241220 -> 20250106 (#371523)
[NixPkgs.git] / pkgs / development / tools / iaca / 2.1.nix
blobdea1cbd9d76e14992054648160bbc33292bfd6f2
2   lib,
3   stdenv,
4   makeWrapper,
5   requireFile,
6   gcc,
7   unzip,
8 }:
10 # v2.1: last version with NHM/WSM arch support
11 stdenv.mkDerivation rec {
12   pname = "iaca";
13   version = "2.1";
14   src = requireFile {
15     name = "iaca-version-${version}-lin64.zip";
16     sha256 = "11s1134ijf66wrc77ksky9mnb0lq6ml6fzmr86a6p6r5xclzay2m";
17     url = "https://software.intel.com/en-us/articles/intel-architecture-code-analyzer-download";
18   };
19   unpackCmd = ''${unzip}/bin/unzip "$src" -x __MACOSX/ __MACOSX/iaca-lin64/ __MACOSX/iaca-lin64/._.DS_Store'';
20   nativeBuildInputs = [ makeWrapper ];
21   installPhase = ''
22     mkdir -p $out/bin $out/lib
23     cp bin/iaca $out/bin/
24     cp lib/* $out/lib
25   '';
26   preFixup =
27     let
28       libPath = lib.makeLibraryPath [
29         stdenv.cc.cc
30         gcc
31       ];
32     in
33     ''
34       patchelf \
35           --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 \
36           --set-rpath $out/lib:"${libPath}" \
37           $out/bin/iaca
38     '';
39   postFixup = "wrapProgram $out/bin/iaca --set LD_LIBRARY_PATH $out/lib";
40   meta = with lib; {
41     description = "Intel Architecture Code Analyzer";
42     homepage = "https://software.intel.com/en-us/articles/intel-architecture-code-analyzer/";
43     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
44     license = licenses.unfree;
45     platforms = [ "x86_64-linux" ];
46     maintainers = with maintainers; [ kazcw ];
47   };