lol
at 17.09-beta 64 lines 1.6 kB view raw
1{ 2 stdenv, 3 fetchurl, 4 gfortran, 5 cmake, 6 python2, 7 atlas ? null, 8 shared ? false 9}: 10let 11 atlasMaybeShared = if atlas != null then atlas.override { inherit shared; } 12 else null; 13 usedLibExtension = if shared then ".so" else ".a"; 14 inherit (stdenv.lib) optional optionals concatStringsSep; 15 inherit (builtins) hasAttr attrNames; 16 version = "3.4.1"; 17in 18 19stdenv.mkDerivation rec { 20 name = "liblapack-${version}"; 21 src = fetchurl { 22 url = "http://www.netlib.org/lapack/lapack-${version}.tgz"; 23 sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f"; 24 }; 25 26 propagatedBuildInputs = [ atlasMaybeShared ]; 27 buildInputs = [ gfortran cmake ]; 28 nativeBuildInputs = [ python2 ]; 29 30 cmakeFlags = [ 31 "-DUSE_OPTIMIZED_BLAS=ON" 32 "-DCMAKE_Fortran_FLAGS=-fPIC" 33 ] 34 ++ (optionals (atlas != null) [ 35 "-DBLAS_ATLAS_f77blas_LIBRARY=${atlasMaybeShared}/lib/libf77blas${usedLibExtension}" 36 "-DBLAS_ATLAS_atlas_LIBRARY=${atlasMaybeShared}/lib/libatlas${usedLibExtension}" 37 ]) 38 ++ (optional shared "-DBUILD_SHARED_LIBS=ON") 39 # If we're on darwin, CMake will automatically detect impure paths. This switch 40 # prevents that. 41 ++ (optional stdenv.isDarwin "-DCMAKE_OSX_SYSROOT:PATH=''") 42 ; 43 44 doCheck = ! shared; 45 46 checkPhase = " 47 sed -i 's,^#!.*,#!${python2.interpreter},' lapack_testing.py 48 ctest 49 "; 50 51 enableParallelBuilding = true; 52 53 passthru = { 54 blas = atlas; 55 }; 56 57 meta = with stdenv.lib; { 58 inherit version; 59 description = "Linear Algebra PACKage"; 60 homepage = http://www.netlib.org/lapack/; 61 license = licenses.bsd3; 62 platforms = platforms.all; 63 }; 64}