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