summary refs log tree commit diff
path: root/pkgs/development/tools/iaca/2.1.nix
blob: b2c764c5a8566fe62760b534f4bb4dcc3471a815 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{ stdenv, makeWrapper, requireFile, gcc, unzip }:
with stdenv.lib;

# v2.1: last version with NHM/WSM arch support
stdenv.mkDerivation {
  name = "iaca-2.1";
  src = requireFile {
    name = "iaca-version-2.1-lin64.zip";
    sha256 = "11s1134ijf66wrc77ksky9mnb0lq6ml6fzmr86a6p6r5xclzay2m";
    url = "https://software.intel.com/en-us/articles/intel-architecture-code-analyzer-download";
  };
  unpackCmd = ''${unzip}/bin/unzip "$src" -x __MACOSX/ __MACOSX/iaca-lin64/ __MACOSX/iaca-lin64/._.DS_Store'';
  nativeBuildInputs = [ makeWrapper ];
  installPhase = ''
    mkdir -p $out/bin $out/lib
    cp bin/iaca $out/bin/
    cp lib/* $out/lib
  '';
  preFixup = let libPath = makeLibraryPath [ stdenv.cc.cc.lib gcc ]; in ''
    patchelf \
        --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \
        --set-rpath $out/lib:"${libPath}" \
        $out/bin/iaca
  '';
  postFixup = ''wrapProgram $out/bin/iaca --set LD_LIBRARY_PATH $out/lib'';
  meta = {
    description = "Intel Architecture Code Analyzer";
    homepage = https://software.intel.com/en-us/articles/intel-architecture-code-analyzer/;
    license = licenses.unfree;
    platforms = [ "x86_64-linux" ];
    maintainers = with maintainers; [ kazcw ];
  };
}