summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorKaz Wesley <keziahw@gmail.com>2018-04-10 16:24:46 +0000
committerJörg Thalheim <Mic92@users.noreply.github.com>2018-04-10 17:24:46 +0100
commit87fd6c1f26e55f68f933fde8fce23a1f4af86984 (patch)
tree9d46e1586d78ea28c3e43cf38f80aaba80838d4b /pkgs
parent1d129ed65f473adffce894825d9bd410ebd91e26 (diff)
downloadnixlib-87fd6c1f26e55f68f933fde8fce23a1f4af86984.tar
nixlib-87fd6c1f26e55f68f933fde8fce23a1f4af86984.tar.gz
nixlib-87fd6c1f26e55f68f933fde8fce23a1f4af86984.tar.bz2
nixlib-87fd6c1f26e55f68f933fde8fce23a1f4af86984.tar.lz
nixlib-87fd6c1f26e55f68f933fde8fce23a1f4af86984.tar.xz
nixlib-87fd6c1f26e55f68f933fde8fce23a1f4af86984.tar.zst
nixlib-87fd6c1f26e55f68f933fde8fce23a1f4af86984.zip
iaca: init at 3.0, 2.1 (#38659)
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/tools/iaca/2.1.nix34
-rw-r--r--pkgs/development/tools/iaca/3.0.nix25
-rw-r--r--pkgs/top-level/all-packages.nix4
3 files changed, 63 insertions, 0 deletions
diff --git a/pkgs/development/tools/iaca/2.1.nix b/pkgs/development/tools/iaca/2.1.nix
new file mode 100644
index 000000000000..c434fd5a7dec
--- /dev/null
+++ b/pkgs/development/tools/iaca/2.1.nix
@@ -0,0 +1,34 @@
+{ 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 ];
+  };
+}
diff --git a/pkgs/development/tools/iaca/3.0.nix b/pkgs/development/tools/iaca/3.0.nix
new file mode 100644
index 000000000000..025dfc56721d
--- /dev/null
+++ b/pkgs/development/tools/iaca/3.0.nix
@@ -0,0 +1,25 @@
+{ stdenv, requireFile, patchelf, unzip }:
+assert stdenv.system == "x86_64-linux";
+with stdenv.lib;
+
+stdenv.mkDerivation {
+  name = "iaca-3.0";
+  src = requireFile {
+    name = "iaca-version-v3.0-lin64.zip";
+    sha256 = "0qd81bxg269cwwvfmdp266kvhcl3sdvhrkfqdrbmanawk0w7lvp1";
+    url = "https://software.intel.com/en-us/articles/intel-architecture-code-analyzer-download";
+  };
+  unpackCmd = ''${unzip}/bin/unzip "$src"'';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp iaca $out/bin
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/bin/iaca
+  '';
+  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 ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d76325e2d861..914f0e54c02d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7905,6 +7905,10 @@ with pkgs;
 
   hyenae = callPackage ../tools/networking/hyenae { };
 
+  iaca_2_1 = callPackage ../development/tools/iaca/2.1.nix { };
+  iaca_3_0 = callPackage ../development/tools/iaca/3.0.nix { };
+  iaca = iaca_3_0;
+
   icestorm = callPackage ../development/tools/icestorm { };
 
   icmake = callPackage ../development/tools/build-managers/icmake { };