update oneapi and add fortran into stdenv

This commit is contained in:
陈浩南 2024-09-22 13:45:18 +08:00
parent 21f7f432cd
commit 7370c1d1ef

View File

@ -32,10 +32,10 @@
let let
v = { v = {
hpckit = "2023.1.0"; hpckit = "2023.2.0";
compiler = "2023.1.0"; compiler = "2023.2.0";
tbb = "2021.9.0"; tbb = "2021.10.0";
mpi = "2021.9.0"; mpi = "2021.10.0";
}; };
aptPackageIndex = stdenv.mkDerivation { aptPackageIndex = stdenv.mkDerivation {
@ -208,7 +208,7 @@ let
phases = [ "installPhase" "fixupPhase" ]; phases = [ "installPhase" "fixupPhase" ];
dontStrip = true; dontStrip = true;
autoPatchelfIgnoreMissingDeps = [ "libsycl.so.6" ]; autoPatchelfIgnoreMissingDeps = [ "libsycl.so.6" "libze_loader.so.1" ];
installPhase = '' installPhase = ''
mkdir -p $out/{bin,lib,include} mkdir -p $out/{bin,lib,include}
@ -314,6 +314,11 @@ let
"intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-common-${version}" "intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-common-${version}"
"intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-runtime-${version}" "intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-runtime-${version}"
"intel-oneapi-compiler-dpcpp-cpp-classic-fortran-shared-runtime-${version}" "intel-oneapi-compiler-dpcpp-cpp-classic-fortran-shared-runtime-${version}"
# fortran ifx fpp
"intel-oneapi-compiler-fortran-${version}"
"intel-oneapi-compiler-fortran-common-${version}"
"intel-oneapi-compiler-fortran-runtime-${version}"
]; ];
# From https://aur.archlinux.org/packages/intel-oneapi-compiler: # From https://aur.archlinux.org/packages/intel-oneapi-compiler:
# - intel-oneapi-compiler-cpp-eclipse-cfg-2023.0.0-25370_all.deb # - intel-oneapi-compiler-cpp-eclipse-cfg-2023.0.0-25370_all.deb
@ -338,6 +343,7 @@ let
# - intel-oneapi-openmp-common-2023.0.0-2023.0.0-25370_all.deb # - intel-oneapi-openmp-common-2023.0.0-2023.0.0-25370_all.deb
buildInputs = [ buildInputs = [
intel-mpi
intel-compiler-shared intel-compiler-shared
rsync rsync
libffi_3_3 libffi_3_3
@ -353,6 +359,7 @@ let
phases = [ "installPhase" "fixupPhase" ]; phases = [ "installPhase" "fixupPhase" ];
dontStrip = true; dontStrip = true;
langFortran = true;
installPhase = '' installPhase = ''
mkdir -p $out/{bin,lib} mkdir -p $out/{bin,lib}
@ -382,6 +389,8 @@ let
# Manuals # Manuals
rsync -a documentation/en/man/common/ $out/share/man/ rsync -a documentation/en/man/common/ $out/share/man/
popd popd
ln -s $out/lib $out/lib_lin
''; '';
}; };
@ -417,12 +426,14 @@ let
extraBuild = '' extraBuild = ''
wrap icx $wrapper $ccPath/icx wrap icx $wrapper $ccPath/icx
wrap icpx $wrapper $ccPath/icpx wrap icpx $wrapper $ccPath/icpx
wrap ifx $wrapper $ccPath/ifx
echo "-isystem ${cc}/include/icx" >> $out/nix-support/cc-cflags echo "-isystem ${cc}/include/icx" >> $out/nix-support/cc-cflags
echo "--gcc-toolchain=${mygcc.cc}" >> $out/nix-support/cc-cflags echo "--gcc-toolchain=${mygcc.cc}" >> $out/nix-support/cc-cflags
''; '';
extraInstall = '' extraInstall = ''
export named_cc="icx" export named_cc="icx"
export named_cxx="icpx" export named_cxx="icpx"
export named_fc=ifx
''; '';
}; };