1{
2 lib,
3 stdenv,
4 makeWrapper,
5 requireFile,
6 gcc,
7 unzip,
8}:
9
10# v2.1: last version with NHM/WSM arch support
11stdenv.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 };
48}