lol
1{ stdenv, fetchurl, gfortran }:
2
3stdenv.mkDerivation {
4 name = "blas-20110419";
5 src = fetchurl {
6 url = "http://www.netlib.org/blas/blas.tgz";
7 sha256 = "1d931d91byv2svydpj2ipjh1f2sm1h9ns8ik2w5fwaa8qinxz1za";
8 };
9
10 buildInputs = [gfortran];
11
12 configurePhase = ''
13 echo >make.inc "SHELL = ${stdenv.shell}"
14 echo >>make.inc "PLAT = _LINUX"
15 echo >>make.inc "FORTRAN = gfortran"
16 echo >>make.inc "OPTS = -O2 -fPIC"
17 echo >>make.inc "DRVOPTS = $$(OPTS)"
18 echo >>make.inc "NOOPT = -O0 -fPIC"
19 echo >>make.inc "LOADER = gfortran"
20 echo >>make.inc "LOADOPTS ="
21 echo >>make.inc "ARCH = gfortran"
22 echo >>make.inc "ARCHFLAGS = -shared -o"
23 echo >>make.inc "RANLIB = echo"
24 echo >>make.inc "BLASLIB = libblas.so.3.0.3"
25 '';
26
27 buildPhase = ''
28 make
29 echo >>make.inc "ARCHFLAGS = "
30 echo >>make.inc "BLASLIB = libblas.a"
31 echo >>make.inc "ARCH = ar rcs"
32 echo >>make.inc "RANLIB = ranlib"
33 make
34 '';
35
36 installPhase =
37 # FreeBSD's stdenv doesn't use Coreutils.
38 let dashD = if stdenv.isFreeBSD then "" else "-D"; in
39 (stdenv.lib.optionalString stdenv.isFreeBSD "mkdir -p $out/lib ;")
40 + ''
41 install ${dashD} -m755 libblas.a "$out/lib/libblas.a"
42 install ${dashD} -m755 libblas.so.3.0.3 "$out/lib/libblas.so.3.0.3"
43 ln -s libblas.so.3.0.3 "$out/lib/libblas.so.3"
44 ln -s libblas.so.3.0.3 "$out/lib/libblas.so"
45 '';
46
47 meta = {
48 description = "Basic Linear Algebra Subprograms";
49 license = stdenv.lib.licenses.publicDomain;
50 homepage = "http://www.netlib.org/blas/";
51 };
52}