diff options
author | markuskowa <markus.kowalewski@gmail.com> | 2020-01-04 20:36:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-04 20:36:43 +0100 |
commit | 1c552615744a3206ecba7d8e0f3fbafb6b4d947c (patch) | |
tree | c47f89147b6ed003e9d22baab074d88d90153b2c /pkgs/development/libraries/science | |
parent | fa92f00dc39e9f2194517c22f0f4c5433f231f40 (diff) | |
parent | 153597a3203edcd08306a368fceb401966f2c04b (diff) | |
download | nixpkgs-1c552615744a3206ecba7d8e0f3fbafb6b4d947c.tar nixpkgs-1c552615744a3206ecba7d8e0f3fbafb6b4d947c.tar.gz nixpkgs-1c552615744a3206ecba7d8e0f3fbafb6b4d947c.tar.bz2 nixpkgs-1c552615744a3206ecba7d8e0f3fbafb6b4d947c.tar.lz nixpkgs-1c552615744a3206ecba7d8e0f3fbafb6b4d947c.tar.xz nixpkgs-1c552615744a3206ecba7d8e0f3fbafb6b4d947c.tar.zst nixpkgs-1c552615744a3206ecba7d8e0f3fbafb6b4d947c.zip |
Merge pull request #75526 from robertodr/more-mkl
Add GNU threading and Fortran libraries to MKL package
Diffstat (limited to 'pkgs/development/libraries/science')
-rw-r--r-- | pkgs/development/libraries/science/math/mkl/default.nix | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix index 382d2c303e3..604413c96d8 100644 --- a/pkgs/development/libraries/science/math/mkl/default.nix +++ b/pkgs/development/libraries/science/math/mkl/default.nix @@ -1,4 +1,4 @@ -{ stdenvNoCC, fetchurl, rpmextract, undmg, darwin }: +{ stdenvNoCC, fetchurl, rpmextract, undmg, darwin, enableStatic ? false }: /* For details on using mkl as a blas provider for python packages such as numpy, numexpr, scipy, etc., see the Python section of the NixPkgs manual. @@ -46,12 +46,28 @@ in stdenvNoCC.mkDerivation { tar xzvf $f done '' else '' - rpmextract rpm/intel-mkl-cluster-rt-${rpm-ver}.x86_64.rpm - rpmextract rpm/intel-mkl-common-c-${rpm-ver}.noarch.rpm + # Common stuff rpmextract rpm/intel-mkl-core-${rpm-ver}.x86_64.rpm + rpmextract rpm/intel-mkl-common-c-${rpm-ver}.noarch.rpm + rpmextract rpm/intel-mkl-common-f-${rpm-ver}.noarch.rpm + + # Dynamic libraries + rpmextract rpm/intel-mkl-cluster-rt-${rpm-ver}.x86_64.rpm rpmextract rpm/intel-mkl-core-rt-${rpm-ver}.x86_64.rpm + rpmextract rpm/intel-mkl-gnu-f-rt-${rpm-ver}.x86_64.rpm + rpmextract rpm/intel-mkl-gnu-rt-${rpm-ver}.x86_64.rpm + + # Intel OpenMP runtime rpmextract rpm/intel-openmp-${openmp-ver}.x86_64.rpm - ''; + '' + (if enableStatic then '' + # Static libraries + rpmextract rpm/intel-mkl-cluster-${rpm-ver}.x86_64.rpm + rpmextract rpm/intel-mkl-gnu-${rpm-ver}.x86_64.rpm + rpmextract rpm/intel-mkl-gnu-f-${rpm-ver}.x86_64.rpm + '' else '' + # Take care of installing dynamic-only PkgConfig files during the installPhase + '' + ); installPhase = '' for f in $(find . -name 'mkl*.pc') ; do @@ -80,16 +96,21 @@ in stdenvNoCC.mkDerivation { cp -r compilers_and_libraries_${version}/mac/mkl/bin/pkgconfig/* $out/lib/pkgconfig '' else '' mkdir -p $out/lib + cp license.txt $out/lib/ cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/include $out/ + mkdir -p $out/lib/pkgconfig + '') + + (if enableStatic then '' cp -r opt/intel/compilers_and_libraries_${version}/linux/compiler/lib/intel64_lin/* $out/lib/ cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/lib/intel64_lin/* $out/lib/ - cp license.txt $out/lib/ - - mkdir -p $out/lib/pkgconfig cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/bin/pkgconfig/* $out/lib/pkgconfig - ''); + '' else '' + cp -r opt/intel/compilers_and_libraries_${version}/linux/compiler/lib/intel64_lin/*.so* $out/lib/ + cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/lib/intel64_lin/*.so* $out/lib/ + cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/bin/pkgconfig/*dynamic*.pc $out/lib/pkgconfig + ''); # fixDarwinDylibName fails for libmkl_cdft_core.dylib because the # larger updated load commands do not fit. Use install_name_tool |