atlas: update to version 3.10.1

This patch fixes issue #297.
This commit is contained in:
Peter Simons
2013-02-06 11:31:49 +01:00
parent f921baec94
commit 3334f33daf
2 changed files with 35 additions and 9 deletions

View File

@@ -1,27 +1,32 @@
{ stdenv, fetchurl, gfortran, tolerateCpuTimingInaccuracy ? true, shared ? false }:
let
version = "3.10.1";
optionalString = stdenv.lib.optionalString;
optional = stdenv.lib.optional;
in
stdenv.mkDerivation {
name = "atlas-3.9.67";
name = "atlas-${version}";
src = fetchurl {
url = mirror://sourceforge/math-atlas/atlas3.9.67.tar.bz2;
sha256 = "06xxlv440z8a3qmfrh17p28girv71c6awvpw5vhpspr0pcsgk1pa";
url = "mirror://sourceforge/math-atlas/atlas${version}.tar.bz2";
sha256 = "11ncgdc7kzb2y2gqb3sgarm5saj9fr07r3h2yh2h5bja429b85d2";
};
# Atlas aborts the build if it detects that some kind of CPU frequency
# scaling is active on the build machine because that feature offsets the
# performance timings. We ignore that check, however, because with binaries
# being pre-built on Hydra those timings aren't accurate for the local
# machine in the first place.
patches = optional tolerateCpuTimingInaccuracy ./disable-timing-accuracy-check.patch;
# Configure outside of the source directory.
preConfigure = '' mkdir build; cd build; configureScript=../configure; '';
# * -fPIC allows to build atlas inside shared objects, as octave does.
#
# * Atlas aborts the build if it detects that some kind of CPU frequency
# scaling is active on the build machine because that feature offsets the
# performance timings. We ignore that check, however, because with binaries
# being pre-built on Hydra those timings aren't accurate for the local
# machine in the first place.
# * Atlas detects the cpu and does some tricks. For example, notices the
# hydra AMD Family 10h computer, and uses a SSE trick for it (bit 17 of MXCSR)
# available, for what I know, only in that family. So we hardcode K7
@@ -33,7 +38,6 @@ stdenv.mkDerivation {
configureFlags = "-Fa alg -fPIC -t 0"
+ optionalString stdenv.isi686 " -b 32 -A 18 -V 1"
+ optionalString stdenv.isx86_64 " -A 31 -V 192"
+ optionalString tolerateCpuTimingInaccuracy " -Si cputhrchk 0"
+ optionalString shared " --shared "
;