Add intel compiler

This commit is contained in:
2020-07-01 17:58:29 +02:00
parent 9ca29d5cf8
commit 1f36743459
5 changed files with 121 additions and 39 deletions

View File

@@ -1,40 +1,29 @@
{ stdenv
, fetchurl
, rpmextract
{
stdenv
, gcc
, nanos6
, icc-unwrapped
, wrapCCWith
, libstdcxxHook
, intel-license
}:
stdenv.mkDerivation rec {
version = "2019.1.217";
name = "intel-compiler-${version}";
let
targetConfig = stdenv.targetPlatform.config;
inherit gcc;
in wrapCCWith rec {
cc = icc-unwrapped;
extraPackages = [ libstdcxxHook ];
extraBuildCommands = ''
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
echo "-L${gcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
# From Arch Linux PKGBUILD
dir_nr="16526";
year="2020";
v_a="1";
v_b="217";
update="1";
composer_xe_dir="compilers_and_libraries_${year}.${v_a}.${v_b}";
tgz="parallel_studio_xe_2020_update${update}_cluster_edition.tgz";
# sha256-/RHY3nKyvWBHT4vOe0Y+TLsiVZabnq8k9olXWqKiq6s=
src = fetchurl {
url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/${dir_nr}/${tgz}";
sha256 = "1axblai5lmw9yqjaz7lvjraj5fsc7r37pklb9x3n1gdjfbgdh4gx";
};
echo "export INTEL_LICENSE_FILE=${intel-license}" \
>> $out/nix-support/setup-hook
buildInputs = [
rpmextract
];
installPhase = ''
rpmextract rpm/intel-icc-*.rpm
rpmextract rpm/intel-comp-*.rpm
mkdir -p $out/{bin,lib,include}
pushd ./opt/intel/${composer_xe_dir}/linux/
cp -a bin/intel64/* $out/bin/
cp -a compiler/include/* $out/include/
popd
# Create the wrappers for icc and icpc
wrap icc $wrapper $ccPath/icc
wrap icpc $wrapper $ccPath/icpc
'';
}