diff options
author | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2012-02-21 21:43:44 +0000 |
---|---|---|
committer | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2012-02-21 21:43:44 +0000 |
commit | 5e2de19cc1ad78d942c82c2a8ee389482015a4f0 (patch) | |
tree | 254a119422a837c6ef3c3a9a232883ec9e13c22d /pkgs/development/libraries/science/math/liblapack | |
parent | 8cb96ff7b221c309f8f69db839fb851b06af1207 (diff) |
Fixing octave, so plot(1) works.
Linking octave with clapack did not work.
I updated lapack, and additionally I build it with atlas, instead of blas. That should give
better performance. I don't know if atlas builds everywhere though.
On the other hand, maybe some programs linking with liblapack will fail. We'll have to check
the hydra reports.
I plan to remove clapack; liblapack provides a C interface too.
svn path=/nixpkgs/trunk/; revision=32464
Diffstat (limited to 'pkgs/development/libraries/science/math/liblapack')
-rw-r--r-- | pkgs/development/libraries/science/math/liblapack/blas-link.patch | 24 | ||||
-rw-r--r-- | pkgs/development/libraries/science/math/liblapack/default.nix | 69 |
2 files changed, 13 insertions, 80 deletions
diff --git a/pkgs/development/libraries/science/math/liblapack/blas-link.patch b/pkgs/development/libraries/science/math/liblapack/blas-link.patch deleted file mode 100644 index e1ff853a291a..000000000000 --- a/pkgs/development/libraries/science/math/liblapack/blas-link.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Naur lapack-3.2.old/SRC/Makefile lapack-3.2/SRC/Makefile ---- lapack-3.2.old/SRC/Makefile 2009-02-04 11:33:35.006839507 +0100 -+++ lapack-3.2/SRC/Makefile 2009-02-04 11:33:51.987551506 +0100 -@@ -367,7 +367,7 @@ - $(ALLAUX) - - ../$(LAPACKLIB): $(ALLOBJ) $(ALLXOBJ) -- $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) $(ALLXOBJ) -+ $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) $(ALLXOBJ) ${BLASLIB} - $(RANLIB) $@ - - single: $(SLASRC) $(ALLAUX) $(SCLAUX) -diff -Naur lapack-3.2.old/TESTING/MATGEN/Makefile lapack-3.2/TESTING/MATGEN/Makefile ---- lapack-3.2.old/TESTING/MATGEN/Makefile 2009-02-04 11:35:10.426806473 +0100 -+++ lapack-3.2/TESTING/MATGEN/Makefile 2009-02-04 11:34:42.850565181 +0100 -@@ -60,7 +60,7 @@ - - ../../$(TMGLIB): $(SMATGEN) $(CMATGEN) $(SCATGEN) $(DMATGEN) \ - $(ZMATGEN) $(DZATGEN) -- $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) -+ $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) ${BLASLIB} - $(RANLIB) $@ - - single: $(SMATGEN) $(SCATGEN) diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix index a731360be562..acede395c84d 100644 --- a/pkgs/development/libraries/science/math/liblapack/default.nix +++ b/pkgs/development/libraries/science/math/liblapack/default.nix @@ -1,66 +1,23 @@ -{ stdenv, fetchurl, gfortran, blas }: +{ stdenv, fetchurl, gfortran, atlas, cmake }: stdenv.mkDerivation { - name = "liblapack-3.2.1"; + name = "liblapack-3.4.0"; src = fetchurl { - url = "http://www.netlib.org/lapack/lapack-3.2.1.tgz"; - sha256 = "5825f83971157001fd4235514afe8ff5fc16e1c06b2e872e442c242efd6c166d"; + url = "http://www.netlib.org/lapack/lapack-3.4.0.tgz"; + sha256 = "1sf30v1ps5icg67dvw5sbx5yhypx13am470gqg2f7l04f3wrw4x7"; }; - buildInputs = [gfortran blas]; - patches = [ ./blas-link.patch ]; + propagatedBuildInputs = [ atlas ]; + buildInputs = [ gfortran cmake ]; - configurePhase = '' - echo >make.inc "SHELL = ${stdenv.shell}" - echo >>make.inc "PLAT =" - echo >>make.inc "FORTRAN = gfortran" - echo >>make.inc "OPTS = -O2 -fPIC" - echo >>make.inc "DRVOPTS = \$(OPTS)" - echo >>make.inc "NOOPT = -O0 -fPIC" - echo >>make.inc "LOADER = gfortran" - echo >>make.inc "LOADOPTS =" - echo >>make.inc "TIMER = INT_ETIME" - echo >>make.inc "ARCH = gfortran" - echo >>make.inc "ARCHFLAGS = -shared -o" - echo >>make.inc "RANLIB = echo" - echo >>make.inc "BLASLIB = -lblas" - echo >>make.inc "LAPACKLIB = liblapack.so.3" - echo >>make.inc "TMGLIB = libtmglib.so.3" - echo >>make.inc "EIGSRCLIB = libeigsrc.so.3" - echo >>make.inc "LINSRCLIB = liblinsrc.so.3" - ''; + cmakeFlags = [ + "-DUSE_OPTIMIZED_BLAS=ON" + "-DBLAS_ATLAS_f77blas_LIBRARY=${atlas}/lib/libf77blas.a" + "-DBLAS_ATLAS_atlas_LIBRARY=${atlas}/lib/libatlas.a" + "-DCMAKE_Fortran_FLAGS=-fPIC" + ]; - buildPhase = '' - make clean - make lib - echo >make.inc "SHELL = ${stdenv.shell}" - echo >>make.inc "PLAT =" - echo >>make.inc "FORTRAN = gfortran" - echo >>make.inc "OPTS = -O2 -fPIC" - echo >>make.inc "DRVOPTS = \$(OPTS)" - echo >>make.inc "NOOPT = -O0 -fPIC" - echo >>make.inc "LOADER = gfortran" - echo >>make.inc "LOADOPTS = " - echo >>make.inc "TIMER = INT_ETIME" - echo >>make.inc "ARCH = ar rcs" - echo >>make.inc "RANLIB = ranlib" - echo >>make.inc "BLASLIB = " - echo >>make.inc "ARCHFLAGS =" - echo >>make.inc "LAPACKLIB = liblapack.a" - echo >>make.inc "TMGLIB = tmglib.a" - echo >>make.inc "EIGSRCLIB = eigsrc.a" - echo >>make.inc "LINSRCLIB = linsrc.a" - make clean - make lib - ''; - - installPhase = '' - ensureDir "$out/lib" - install -m755 *.a* "$out/lib" - install -m755 *.so* "$out/lib" - ln -sf liblapack.so.3 "$out/lib/liblapack.so" - ln -sf libtmglib.so.3 "$out/lib/libtmglib.so" - ''; + enableParallelBuilding = true; meta = { description = "Linear Algebra PACKage"; |