Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 cmake, 6 gfortran, 7 # Whether to build with ILP64 interface 8 blas64 ? false, 9}: 10 11stdenv.mkDerivation rec { 12 pname = "blas"; 13 version = "3.12.0"; 14 15 src = fetchurl { 16 url = "http://www.netlib.org/blas/${pname}-${version}.tgz"; 17 sha256 = "sha256-zMQbXQiOUNsAMDF66bDJrzdXEME5KsrR/iCWAtpaWq0="; 18 }; 19 20 passthru = { inherit blas64; }; 21 22 nativeBuildInputs = [ 23 cmake 24 gfortran 25 ]; 26 27 cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ] ++ lib.optional blas64 "-DBUILD_INDEX64=ON"; 28 29 postInstall = 30 let 31 canonicalExtension = 32 if stdenv.hostPlatform.isLinux then 33 "${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major version}" 34 else 35 stdenv.hostPlatform.extensions.sharedLibrary; 36 in 37 lib.optionalString blas64 '' 38 ln -s $out/lib/libblas64${canonicalExtension} $out/lib/libblas${canonicalExtension} 39 ''; 40 41 preFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' 42 for fn in $(find $out/lib -name "*.so*"); do 43 if [ -L "$fn" ]; then continue; fi 44 install_name_tool -id "$fn" "$fn" 45 done 46 ''; 47 48 meta = with lib; { 49 description = "Basic Linear Algebra Subprograms"; 50 license = licenses.publicDomain; 51 maintainers = [ maintainers.markuskowa ]; 52 homepage = "http://www.netlib.org/blas/"; 53 platforms = platforms.unix; 54 }; 55}