2020-07-01 17:58:29 +02:00
|
|
|
{ stdenv
|
|
|
|
, fetchurl
|
|
|
|
, rpmextract
|
|
|
|
, autoPatchelfHook
|
|
|
|
, gcc
|
2020-07-10 13:42:55 +02:00
|
|
|
, intel-mpi
|
2020-07-01 17:58:29 +02:00
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2020-07-02 15:32:52 +02:00
|
|
|
version = "${year}.${v_a}.${v_b}";
|
2020-07-01 17:58:29 +02:00
|
|
|
name = "intel-compiler-${version}";
|
|
|
|
|
|
|
|
# From Arch Linux PKGBUILD
|
2020-07-02 15:32:52 +02:00
|
|
|
dir_nr="16527";
|
2020-07-01 17:58:29 +02:00
|
|
|
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";
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/${dir_nr}/${tgz}";
|
|
|
|
sha256 = "1axblai5lmw9yqjaz7lvjraj5fsc7r37pklb9x3n1gdjfbgdh4gx";
|
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
rpmextract
|
|
|
|
autoPatchelfHook
|
|
|
|
gcc.cc.lib
|
2020-07-13 14:07:24 +02:00
|
|
|
gcc
|
2020-07-10 13:42:55 +02:00
|
|
|
intel-mpi
|
2020-07-01 17:58:29 +02:00
|
|
|
];
|
|
|
|
|
2020-07-13 14:07:24 +02:00
|
|
|
# The gcc package is required for building other programs
|
|
|
|
propagatedBuildInputs = [ gcc ];
|
|
|
|
|
2020-07-01 17:58:29 +02:00
|
|
|
installPhase = ''
|
|
|
|
rpmextract rpm/intel-icc-*.rpm
|
|
|
|
rpmextract rpm/intel-comp-*.rpm
|
|
|
|
rpmextract rpm/intel-c-comp-*.rpm
|
|
|
|
rpmextract rpm/intel-openmp*.rpm
|
2020-07-10 13:42:55 +02:00
|
|
|
rpmextract rpm/intel-ifort*.rpm
|
2020-07-01 17:58:29 +02:00
|
|
|
|
|
|
|
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/
|
2020-07-10 17:04:21 +02:00
|
|
|
ln -s lib $out/lib_lin
|
2020-07-01 17:58:29 +02:00
|
|
|
rm $out/lib/*.dbg
|
|
|
|
popd
|
|
|
|
'';
|
|
|
|
}
|