diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-05-12 14:45:39 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-05-12 14:56:01 +0000 |
commit | eb7dadee9c0f903f1152f8dd4165453bfa48ccf4 (patch) | |
tree | a6bd66dcbec895aae167465672af08a1ca70f089 /nixpkgs/pkgs/build-support/alternatives | |
parent | 3879b925f5dae3a0eb5c98b10c1ac5a0e4d729a3 (diff) | |
parent | 683c68232e91f76386db979c461d8fbe2a018782 (diff) | |
download | nixlib-eb7dadee9c0f903f1152f8dd4165453bfa48ccf4.tar nixlib-eb7dadee9c0f903f1152f8dd4165453bfa48ccf4.tar.gz nixlib-eb7dadee9c0f903f1152f8dd4165453bfa48ccf4.tar.bz2 nixlib-eb7dadee9c0f903f1152f8dd4165453bfa48ccf4.tar.lz nixlib-eb7dadee9c0f903f1152f8dd4165453bfa48ccf4.tar.xz nixlib-eb7dadee9c0f903f1152f8dd4165453bfa48ccf4.tar.zst nixlib-eb7dadee9c0f903f1152f8dd4165453bfa48ccf4.zip |
Merge commit '683c68232e91f76386db979c461d8fbe2a018782'
Diffstat (limited to 'nixpkgs/pkgs/build-support/alternatives')
-rw-r--r-- | nixpkgs/pkgs/build-support/alternatives/blas/default.nix | 20 | ||||
-rw-r--r-- | nixpkgs/pkgs/build-support/alternatives/lapack/default.nix | 26 |
2 files changed, 23 insertions, 23 deletions
diff --git a/nixpkgs/pkgs/build-support/alternatives/blas/default.nix b/nixpkgs/pkgs/build-support/alternatives/blas/default.nix index 36708ce8841a..bdee6688a740 100644 --- a/nixpkgs/pkgs/build-support/alternatives/blas/default.nix +++ b/nixpkgs/pkgs/build-support/alternatives/blas/default.nix @@ -1,7 +1,7 @@ { lib, stdenv , lapack-reference, openblasCompat, openblas -, is64bit ? false -, blasProvider ? if is64bit then openblas else openblasCompat }: +, isILP64 ? false +, blasProvider ? if isILP64 then openblas else openblasCompat }: let blasFortranSymbols = [ @@ -31,12 +31,12 @@ let else stdenv.hostPlatform.extensions.sharedLibrary; - is64bit = blasProvider.blas64 or false; + isILP64 = blasProvider.blas64 or false; blasImplementation = lib.getName blasProvider; in -assert is64bit -> (blasImplementation == "openblas" && blasProvider.blas64) || blasImplementation == "mkl"; +assert isILP64 -> (blasImplementation == "openblas" && blasProvider.blas64) || blasImplementation == "mkl"; stdenv.mkDerivation { pname = "blas"; @@ -49,7 +49,7 @@ stdenv.mkDerivation { }; passthru = { - inherit is64bit; + inherit isILP64; provider = blasProvider; implementation = blasImplementation; }; @@ -58,10 +58,12 @@ stdenv.mkDerivation { dontConfigure = true; unpackPhase = "src=$PWD"; + dontPatchELF = true; + installPhase = ('' mkdir -p $out/lib $dev/include $dev/lib/pkgconfig - libblas="${lib.getLib blasProvider}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" + libblas="${lib.getLib blasProvider}/lib/libblas${canonicalExtension}" if ! [ -e "$libblas" ]; then echo "$libblas does not exist, ${blasProvider.name} does not provide libblas." @@ -98,7 +100,7 @@ Libs: -L$out/lib -lblas Cflags: -I$dev/include EOF - libcblas="${lib.getLib blasProvider}/lib/libcblas${stdenv.hostPlatform.extensions.sharedLibrary}" + libcblas="${lib.getLib blasProvider}/lib/libcblas${canonicalExtension}" if ! [ -e "$libcblas" ]; then echo "$libcblas does not exist, ${blasProvider.name} does not provide libcblas." @@ -132,6 +134,8 @@ Libs: -L$out/lib -lcblas EOF '' + stdenv.lib.optionalString (blasImplementation == "mkl") '' mkdir -p $out/nix-support - echo 'export MKL_INTERFACE_LAYER=${lib.optionalString is64bit "I"}LP64,GNU' > $out/nix-support/setup-hook + echo 'export MKL_INTERFACE_LAYER=${lib.optionalString isILP64 "I"}LP64,GNU' > $out/nix-support/setup-hook + ln -s $out/lib/libblas${canonicalExtension} $out/lib/libmkl_rt${stdenv.hostPlatform.extensions.sharedLibrary} + ln -sf ${blasProvider}/include/* $dev/include ''); } diff --git a/nixpkgs/pkgs/build-support/alternatives/lapack/default.nix b/nixpkgs/pkgs/build-support/alternatives/lapack/default.nix index 24c339042a2f..98b458b778a7 100644 --- a/nixpkgs/pkgs/build-support/alternatives/lapack/default.nix +++ b/nixpkgs/pkgs/build-support/alternatives/lapack/default.nix @@ -1,7 +1,7 @@ { lib, stdenv , lapack-reference, openblasCompat, openblas -, is64bit ? false -, lapackProvider ? if is64bit then openblas else openblasCompat }: +, isILP64 ? false +, lapackProvider ? if isILP64 then openblas else openblasCompat }: let @@ -14,7 +14,7 @@ let in -assert is64bit -> (lapackImplementation == "openblas" && lapackProvider.blas64) || lapackImplementation == "mkl"; +assert isILP64 -> (lapackImplementation == "openblas" && lapackProvider.blas64) || lapackImplementation == "mkl"; stdenv.mkDerivation { pname = "lapack"; @@ -27,7 +27,7 @@ stdenv.mkDerivation { }; passthru = { - inherit is64bit; + inherit isILP64; provider = lapackProvider; implementation = lapackImplementation; }; @@ -36,10 +36,12 @@ stdenv.mkDerivation { dontConfigure = true; unpackPhase = "src=$PWD"; + dontPatchELF = true; + installPhase = ('' mkdir -p $out/lib $dev/include $dev/lib/pkgconfig - liblapack="${lib.getLib lapackProvider}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" + liblapack="${lib.getLib lapackProvider}/lib/liblapack${canonicalExtension}" if ! [ -e "$liblapack" ]; then echo "$liblapack does not exist, ${lapackProvider.name} does not provide liblapack." @@ -52,10 +54,6 @@ stdenv.mkDerivation { '' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then '' patchelf --set-soname liblapack${canonicalExtension} $out/lib/liblapack${canonicalExtension} patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapack${canonicalExtension}):${lapackProvider}/lib" $out/lib/liblapack${canonicalExtension} -'' else if stdenv.hostPlatform.isDarwin then '' - install_name_tool -id liblapack${canonicalExtension} \ - -add_rpath ${lib.getLib lapackProvider}/lib \ - $out/lib/liblapack${canonicalExtension} '' else "") + '' if [ "$out/lib/liblapack${canonicalExtension}" != "$out/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then @@ -72,7 +70,7 @@ Cflags: -I$dev/include Libs: -L$out/lib -llapack EOF - liblapacke="${lib.getLib lapackProvider}/lib/liblapacke${stdenv.hostPlatform.extensions.sharedLibrary}" + liblapacke="${lib.getLib lapackProvider}/lib/liblapacke${canonicalExtension}" if ! [ -e "$liblapacke" ]; then echo "$liblapacke does not exist, ${lapackProvider.name} does not provide liblapacke." @@ -85,10 +83,6 @@ EOF '' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then '' patchelf --set-soname liblapacke${canonicalExtension} $out/lib/liblapacke${canonicalExtension} patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapacke${canonicalExtension}):${lib.getLib lapackProvider}/lib" $out/lib/liblapacke${canonicalExtension} -'' else if stdenv.hostPlatform.isDarwin then '' - install_name_tool -id liblapacke${canonicalExtension} \ - -add_rpath ${lib.getLib lapackProvider}/lib \ - $out/lib/liblapacke${canonicalExtension} '' else "") + '' if [ -f "$out/lib/liblapacke.so.3" ]; then @@ -106,6 +100,8 @@ Libs: -L$out/lib -llapacke EOF '' + stdenv.lib.optionalString (lapackImplementation == "mkl") '' mkdir -p $out/nix-support - echo 'export MKL_INTERFACE_LAYER=${lib.optionalString is64bit "I"}LP64,GNU' > $out/nix-support/setup-hook + echo 'export MKL_INTERFACE_LAYER=${lib.optionalString isILP64 "I"}LP64,GNU' > $out/nix-support/setup-hook + ln -s $out/lib/liblapack${canonicalExtension} $out/lib/libmkl_rt${stdenv.hostPlatform.extensions.sharedLibrary} + ln -sf ${lapackProvider}/include/* $dev/include ''); } |