63 lines
1.3 KiB
Nix
63 lines
1.3 KiB
Nix
{ stdenv
|
|
, fetchurl
|
|
, rpmextract
|
|
, autoPatchelfHook
|
|
, gcc
|
|
, intel-mpi
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
version = "${year}.${v_a}.${v_b}";
|
|
name = "intel-compiler-${version}";
|
|
|
|
passthru = {
|
|
CC = "icc";
|
|
CXX = "icpc";
|
|
};
|
|
|
|
# From Arch Linux PKGBUILD
|
|
dir_nr="17114";
|
|
year="2020";
|
|
v_a="4";
|
|
v_b="304";
|
|
update="4";
|
|
composer_xe_dir="compilers_and_libraries_${year}.${v_a}.${v_b}";
|
|
tgz="parallel_studio_xe_2020_update${update}_professional_edition.tgz";
|
|
|
|
src = fetchurl {
|
|
url = "https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/${dir_nr}/${tgz}";
|
|
sha256 = "1rn9kk5bjj0jfv853b09dxrx7kzvv8dlyzw3hl9ijx9mqr09lrzr";
|
|
};
|
|
|
|
buildInputs = [
|
|
rpmextract
|
|
autoPatchelfHook
|
|
gcc.cc.lib
|
|
gcc
|
|
intel-mpi
|
|
];
|
|
|
|
# The gcc package is required for building other programs
|
|
propagatedBuildInputs = [ gcc ];
|
|
|
|
installPhase = ''
|
|
pwd
|
|
ls -l rpm
|
|
rpmextract rpm/intel-icc-*.rpm
|
|
rpmextract rpm/intel-comp-*.rpm
|
|
rpmextract rpm/intel-c-comp-*.rpm
|
|
rpmextract rpm/intel-openmp*.rpm
|
|
rpmextract rpm/intel-ifort*.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/
|
|
cp -a compiler/lib/intel64_lin/* $out/lib/
|
|
ln -s lib $out/lib_lin
|
|
rm $out/lib/*.dbg
|
|
popd
|
|
'';
|
|
}
|