nixpkgs/pkgs/development/tools/iaca/2.1.nix
2018-04-10 17:24:46 +01:00

35 lines
1.3 KiB
Nix

{ stdenv, makeWrapper, requireFile, patchelf, gcc, unzip }:
assert stdenv.system == "x86_64-linux";
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 ];
};
}