diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix index 2df39b330c45..016864abed8c 100644 --- a/pkgs/development/libraries/science/math/mkl/default.nix +++ b/pkgs/development/libraries/science/math/mkl/default.nix @@ -1,4 +1,12 @@ -{ stdenvNoCC, fetchurl, rpmextract, undmg, darwin, enableStatic ? false }: +{ stdenvNoCC +, fetchurl +, pkgconfig +, 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. @@ -44,6 +52,10 @@ in stdenvNoCC.mkDerivation { else [ rpmextract ]; + installCheckInputs = [ pkgconfig ]; + + doInstallCheck = true; + buildPhase = if stdenvNoCC.isDarwin then '' for f in Contents/Resources/pkg/*.tgz; do tar xzvf $f @@ -77,6 +89,7 @@ in stdenvNoCC.mkDerivation { bn=$(basename $f) substituteInPlace $f \ --replace "prefix=/mkl" "prefix=$out" \ + --replace $\{MKLROOT} "$out" \ --replace "lib/intel64_lin" "lib" done @@ -139,6 +152,11 @@ in stdenvNoCC.mkDerivation { install_name_tool -change @rpath/libtbbmalloc.dylib $out/lib/libtbbmalloc.dylib $out/lib/libtbbmalloc_proxy.dylib ''; + # Validate pkgconfig files, since they break often on updates. + installCheckPhase = '' + pkg-config --validate $out/lib/pkgconfig/*.pc + ''; + # Per license agreement, do not modify the binary dontStrip = true; dontPatchELF = true;